function fob(n, d)
{
   var p,i,x;if(!d) d=document;
   if((p=n.indexOf("?"))>0&&parent.frames.length) 
   {
       d=parent.frames[n.substring(p+1)].document;
       n=n.substring(0,p);
   }
   if(!(x=d[n])&&d.all) 
   x=d.all[n];
   for (i=0;!x&&i<d.forms.length;i++) 
   x=d.forms[i][n];
   for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
   x=fob(n,d.layers[i].document); 
   return x;
} 	   

function cb()
{
   var a=cb.arguments;
   var name=fob(a[0]);
   e=document.forms(0).elements;
   if (name.checked==true)
   {
      for (i=0;i<e.length;i++)
      {
         e[i].checked=true;
      }
   }
   else
   {
      for (i=0;i<e.length;i++)
      {
         e[i].checked=false;
      }
   }
}

function vdf() 
{
   var i,j,name,value,message,length,type,a=vdf.arguments,cb_name;
   for (i=0; i<(a.length-2); i+=3) 
   {
       if (a[i].indexOf('#')!=-1)
       {
           name=fob(a[i].substr(0,a[i].indexOf('#')));
           cb_name=fob(a[i].substr((a[i].indexOf('#')+1),a[i].length));
       }
       else
       {
          name=fob(a[i]);
       }
       message=a[i+1];
       type=a[i+2];
       if (type!="r_time")
       {
          value=name.value.replace(/ +/g, "");
       }
       else
       {
		value=name.value;
		}
       if (name) 
       {
          if (type=="r_cb")
          {      
             e=document.forms(0).elements;
             var flag=false;
             for (i=0;i<e.length;i++)
             { 
                if (e[i]!=cb_name)
                {
                   if (e[i].checked==true)
                   {
                       flag=true;
                       break;
                   }
                }
                if (i==e.length-1)
                {
                    break;
                }
             }
             if (flag==false)
             {
                alert(message+"!\n");
                return false;
             }
          }
          if (type=="r_sl")
          {
            if (name.selected==false)
            {
                 alert(message+"!\n");
                 return false;
            }
          }
          if (type=="r") 
          {
             if (value=="")
             {
                 alert(message+"!\n");
                 name.focus();
                 name.select();
                 return false;
             }
          }
          
          if (type=="o_r") 
          {
             if (value=="")
             {
                 alert(message+"!\n");
                 return false;
             }
          }
         if (type=="r_china")
         {
             if (value.search(/^[\u4e00-\u9fa5]+$/)==-1) 
             {
                  alert(message+"!\n");
                  name.focus();
                  name.select();
                  return false;
             }
         }
         if (type=="r_num_char")
         {
             if (value=="")
             {
                  alert(message+"!\n");
                 name.focus();
                 name.select();
                 return false;
             }
             if (value.search(/^[0-9a-zA-Z]+$/)==-1) 
             {
                  alert(message+"!\n");
                 name.focus();
                 name.select();
                 return false;
             }
          }          
         if (type=="num")
         {
             if (value.search(/^[0-9]+$/)==-1 && value!="") 
             {
                  alert(message+"!\n");
                  name.focus();
                  name.select();
                  return false;
             }
         }
         if (type=="r_num")
         {
             if (value=="")
             {
                  alert(message+"!\n");
                  name.focus();
                 name.select();
                  return false;
             }
             if (value.search(/^[0-9]+$/)==-1) 
             {
                  alert(message+"!\n");
                  name.focus();
                 name.select();
                  return false;
             }
          }
          if (type.indexOf("r_num<")!=-1)
          {
              length=type.substring((type.indexOf('<')+1),type.length); 
   
              if (value=="")
              {
                  alert(message+"!\n");
                  name.focus();
                  name.select();
                  return false;
              }
              if (value.search(/^[0-9]+$/)==-1)
              {
                  alert(message+"!\n");
                  name.focus();
                  name.select();
                  return false;
              }
              if (value.length>length)
              {
                 alert(message+"!\n");
                 name.focus();
                 name.select();
                 return false;
              }
          }
          if (type.indexOf("r_num>")!=-1)
          {
	         length=type.substring((type.indexOf('>')+1),type.length); 
   
              if (value=="")
              {
                  alert(message+"!\n");
                  name.focus();
                  name.select();
                  return false;
              }
              if (value.search(/^[0-9]+$/)==-1)
              {
                  alert(message+"!\n");
                  name.focus();
                  name.select();
                  return false;
              }
              if (value.length<length)
              {
                 alert(message+"!\n");
                 name.focus();
                 name.select();
                 return false;
              }
          }		  
	      if (type.indexOf("r_num#<>")!=-1)
	      {
              length=type.substr((type.indexOf('>')+1),type.length);
              length=length.substr(0,length.lastIndexOf("-"));
	          length1=type.substring((type.indexOf('-')+1),type.length)
	          
              if (value=="")
	          {
		         alert(message+"!\n");
		         name.focus();
				 name.select();
				 return false;
			  }
			  if (value.search(/^[0-9]+$/)==-1)
			  {
				 alert(message+"!\n");
				 name.focus();
				 name.select();
				 return false;
			  }
			  
			  if (value.length<length || value.length>length1)
			  {
				 alert(message+"!\n");
				 name.focus();
				 name.select();
				 return false;
			  }
		  }
	      if (type.indexOf("email")!=-1)
	      {
	         if (name.value!="")
	         {
	             if (value.search(/^[_\.a-z0-9]+@[a-z0-9]+[\.][a-z0-9]{2,}$/i)==-1)
		         {
		             alert(message+"!\n");
     	    	     name.focus();
		             name.select();
		             return false;
		         }
	          }
	       }
			if (type.indexOf("r_email")!=-1)
			{
				if (name.value=="")
				{
				alert(message+"!\n");
				name.focus();
				name.select();
				return false;
				}
				if (value.search(/^[_\.a-z0-9]+@[a-z0-9]+[\.][a-z0-9]{2,}$/i)==-1)
				{
				alert(message+"!\n");
     	    			name.focus();
				name.select();
				return false;
				}
			}
	  
          if (type=="r_date")
          {
              flag=true; 
              getdate=value;         
              if (getdate.search(/^[0-9]{4}-(0[1-9]|[1-9]|1[0-2])-((0[1-9]|[1-9])|1[0-9]|2[0-9]|3[0-1])$/)==-1) // 判断输入格式时候正确
              {
                   flag=false;
               }
               else
               {
                    var year=getdate.substr(0,getdate.indexOf('-'))
					var transition_month=getdate.substr(0,getdate.lastIndexOf('-')); 
					var month=transition_month.substr(transition_month.lastIndexOf('-')+1,transition_month.length);
					if (month.indexOf('0')==0)
					{
					month=month.substr(1,month.length);
					}
					var day=getdate.substr(getdate.lastIndexOf('-')+1,getdate.length);
					if (day.indexOf('0')==0)
					{
					day=day.substr(1,day.length);
					}
                    if ((month==4 || month==6 || month==9 || month==11) && (day>30))
                    {
                    flag=false; 
                     }
					if (month==2)
					{
						if (LeapYear(year))
						{
							if (day>29 || day<1){ flag=false; }
						}
						else
						{
							if (day>28 || day<1){flag=false; }
						}
					}
					else
					{
					flag=true;
					}
			   }
          if (flag==false)
          {
              alert(message+"!\n");
              name.focus();
              name.select();
              return false;
          }
        }
          if (type=="r_time")
          {
              flag=true; 
              getdate=value;
              if (getdate.search(/^[0-9]{4}-(0[1-9]|[1-9]|1[0-2])-((0[1-9]|[1-9])|1[0-9]|2[0-9]|3[0-1]) ((0[1-9]|[1-9])|1[0-9]|2[0-4]):((0[1-9]|[1-9])|[1-5][0-9]):((0[1-9]|[1-9])|[1-5][0-9])$/)==-1) // 判断输入格式时候正确
              {
                   flag=false;
               }
               else
               {
                    var year=getdate.substr(0,getdate.indexOf('-'))
					var transition_month=getdate.substr(0,getdate.lastIndexOf('-')); 
					var month=transition_month.substr(transition_month.lastIndexOf('-')+1,transition_month.length);
					if (month.indexOf('0')==0)
					{
					month=month.substr(1,month.length);
					}
					var day=getdate.substr(getdate.lastIndexOf('-')+1,getdate.length);
					if (day.indexOf('0')==0)
					{
					day=day.substr(1,day.length);
					}
                    if ((month==4 || month==6 || month==9 || month==11) && (day>30))
                    { 
                        flag=false; 
                     }
					if (month==2)
					{
						if (LeapYear(year))
						{
							if (day>29 || day<1){ flag=false; }
						}
						else
						{
							if (day>28 || day<1){flag=false; }
						}
					}
					else
					{
					flag=true;
					}
			   }
          if (flag==false)
          {
              alert(message+"!\n");
              name.focus();
              name.select();
              return false;
          }
        }
function LeapYear(intYear) {
	if (intYear % 100 == 0) 
	{
		if (intYear % 400 == 0) { return true; }
	}
	else {
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}

	  if (type.indexOf("tel")!=-1)
	  {
	     if (name.value!="")
	     {
                 if (value.search(/^(\([0-9]{3}\)|[0-9]{3}-)[0-9]{8}$/)==-1 && value.search(/^(\([0-9]{4}\)|[0-9]{4}-)[0-9]{7}$/)==-1)
		 {
		    alert(message+"!\n");
     	    	    name.focus();
		    name.select();
		    return false;
		  }
	     }
	  }
	  if (type.indexOf("r_tel")!=-1)
	  {
	     if (name.value=="")
	     {
		    alert(message+"!\n");
		    name.focus();
		    name.select();
		    return false;
	     }
	     if (value.search(/^(\([0-9]{3}\)|[0-9]{3}-)[0-9]{8}$/)==-1 && value.search(/^(\([0-9]{4}\)|[0-9]{4}-)[0-9]{7}$/)==-1)
	     {
	        alert(message+"!\n");
     	    name.focus();
		    name.select();
		    return false;
	     }
	  }
	  if (type.indexOf("mod")!=-1)
	  {
	     if (name.value!="")
	     {
                if (value.search(/^[0-9]{11}$/)==-1)
		{
		   alert(message+"!\n");
     	    	   name.focus();
		   name.select();
		   return false;
		}
	     }
	   }

	   if (type.indexOf("r_mod")!=-1)
	   {
	      if (name.value=="")
	      {
		  alert(message+"!\n");
		  name.focus();
		  name.select();
		  return false;
	       }
	      if (value.search(/^[0-9]{11}$/)==-1)
	      {
		 alert(message+"!\n");
     	    	 name.focus();
		 name.select();
		 return false;
	       }
	   }
	   if (type.indexOf("r_city")!=-1)
	   {

	       if (name.value=="")
	       {
		  alert(message+"!\n");
		  name.focus();
		  name.select();
		  return false;
	       }
	   }
        }
    }
}

function popupwindow(obj)
	   {
	      x=event.screenX;
	      y=event.screenY;
	      var ret=window.showModalDialog("style/selectdate.htm","","dialogtop:"+y+"px;dialogleft:"+x+"px;dialogwidth:200px;dialogheight:200px;status:no");
	      if ((ret==null) ||(ret==""))
	      {
	         obj.value="";
	      }
	      else
	      {
	         obj.value=ret;
	      }
	   }

