/*
通用JS检验脚本
chknonull=yes			校验不允许为空
chkagree=yes			校验是否同意相关协议选择框是否打勾
chkconfirm=yes			询问是否要提交交易
mustcontain=" "			必须包含某一个字符
chkminlen="6"			输入最小长度
chkmaxlen="20" 			输入最大长度
chkminvalue="10" 		输入最小值
chkmaxvalue="100' 		输入的最大值
chktype="email"			校验邮箱
chktype="num"		校验数字
chktype="ip"		校验IP地址
chktype="dbname"		校验数据库名
chktype="ftpname"		校验ftp名
chktype="domain"		校验域名
chktype="domainchar"		校验只包含合半的域名字符[a-zA-Z0-9.-]
chktype="username"		校验用户名
chktype="postcode"		校验邮政编码
chktype="tel"			校验电话
chktype="qq"			校验QQ号码
chktype="cert"			校验身份证
chktype="chinese"		校验必须包含中文
chkrepass="userpass"	校验两次输入的密码一致,userpass第一次输入密码的输入框名称
*/
function formCheck(cform) {
	/*
	  FormCheck Function
	*/

	if(!cform) {
		alert("验证表格是空的!");
		return false;
	}

	var errors		= 0;
	var message		= "输入非法:\n";
	var controlmessages	= Array();

	if(cform.formmessage)
	{
		message = cform.formmessage + "\n";
	}

	for(i=0;i<cform.elements.length;i++) {
		// Get manual message for this input
		if(cform.elements[i].getAttribute('chkmsg'))
		  checkmessage = cform.elements[i].getAttribute('chkmsg')+"  ";
		else
		  checkmessage = "";
		// Get message

		// 1. 检查是否允许为空
		if(cform.elements[i].getAttribute('chknonull') && cform.elements[i].getAttribute('chknonull')=='yes') {
			if((cform.elements[i].value == '') || (cform.elements[i].value == ' ')) {
					  return chkerr(cform.elements[i],checkmessage+"不能为空");
				}
		}

		//客户确认询问
		if(cform.elements[i].getAttribute('chkconfirm') && cform.elements[i].getAttribute('chkconfirm')=='yes') {
			if ( window.confirm(checkmessage)==false)
				return false;
		}
		
		//检查必须包含的字符
		if(cform.elements[i].getAttribute('mustcontain') && cform.elements[i].getAttribute('mustcontain')!='') {
			if (cform.elements[i].value.indexOf(cform.elements[i].getAttribute('mustcontain'))<0){
				if (cform.elements[i].getAttribute('mustcontain')==" ")
					return chkerr(cform.elements[i],checkmessage+"必须包含空格");
				else
					return chkerr(cform.elements[i],checkmessage+"必须包含字符["+cform.elements[i].getAttribute('mustcontain')+"]");
			}
		}
		
		//检查同意协议
		if(cform.elements[i].getAttribute('chkagree') && cform.elements[i].getAttribute('chkagree')=='yes') {
			if (!cform.elements[i].checked){
				return chkerr(cform.elements[i],checkmessage);
			}
			
		}
		
		// 2. 输入类型检查
		if((cform.elements[i].getAttribute('chktype')) && (cform.elements[i].value)) 
		{
			if (inputCheck(cform.elements[i])==false){
				return false;	
			}
		}
		
		// END OF TYPE CONTROL
		
		// 3. 输入长度检查
		if((cform.elements[i].getAttribute('chkminlen')) && (cform.elements[i].value)) {
			if(cform.elements[i].value.length < cform.elements[i].getAttribute('chkminlen')) {
				 return chkerr(cform.elements[i],checkmessage+"不能小于["+cform.elements[i].getAttribute('chkminlen')+"]个字符");
			}
		}
		if((cform.elements[i].getAttribute('chkmaxlen')) && (cform.elements[i].value)) {
			if(cform.elements[i].value.length > cform.elements[i].getAttribute('chkmaxlen')) {
				return chkerr(cform.elements[i],checkmessage+"不能大于["+cform.elements[i].getAttribute('chkmaxlen')+"]个字符");
			}
		}
		// END OF LENGTH CONTROL

		// 3. 输入最大值,最小值检查
		if((cform.elements[i].getAttribute('chkminvalue')) && (cform.elements[i].value)) {
			if(cform.elements[i].value < cform.elements[i].getAttribute('chkminvalue')) {
				return chkerr(cform.elements[i],checkmessage+"不能小于["+cform.elements[i].getAttribute('chkminvalue')+"]");
			}
		}
		if((cform.elements[i].getAttribute('chkmaxvalue')) && (cform.elements[i].value)) {
			if(cform.elements[i].value > cform.elements[i].getAttribute('chkmaxvalue')) {
				return chkerr(cform.elements[i],checkmessage+"不能大于["+cform.elements[i].getAttribute('chkmaxvalue')+"]");
			}
		}
		
		//两次输入密码是否相同
		if(cform.elements[i].getAttribute('chkrepass') && cform.elements[i].getAttribute('chkrepass')!='') {
			for(j=0;j<cform.elements.length;j++)
				if (cform.elements[j].name==cform.elements[i].getAttribute('chkrepass'))
					if (cform.elements[j].value !=cform.elements[i].value) 
						return chkerr(cform.elements[i],"两次输入密码不一致");
						
		}
	
		// END OF MIN/MAX VALUE CONTROL
	} // END OF THE FOR LOOP

	return true;
}	


//function inputCheck(input,type) {
function inputCheck(obj) {
	/*
	  InputCheck Function
	*/
	var errors = 0;
	var expression='';
	var input ='';
	var type='';
	var checkmessage='';
	
	input = obj.value;
	type = obj.getAttribute('chktype');
	
	if(obj.getAttribute('chkmsg'))
	   checkmessage = obj.getAttribute('chkmsg')+"  ";
	else
	  	checkmessage = "";
	
			
	switch(type) {
		case 'email':
			expression	= /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
			checkmessage = checkmessage +"邮箱格式错";
		break;
		case 'text':
			expression	= "";
		break;
		case 'num':
			expression	= /^[0-9]+$/;
			checkmessage = checkmessage +"请输入数字";
		break;
		case 'date':
			expression	= /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
			checkmessage = checkmessage +"请输入合法的日期";
		break;
		case 'datedb':
			expression	= /^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$/;
			checkmessage = checkmessage +"请输入合法的日期";
		break;
		case 'datemysql':
			expression	= /^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$/;
			checkmessage = checkmessage +"请输入合法的日期";
		break;
		case 'ip':
			expression	= /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
		checkmessage = checkmessage +"请输入合法的IP";
		case 'IP':
			expression	= /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
		checkmessage = checkmessage +"请输入合法的IP";
		break;
		case 'dbname':
			expression	= /^[a-zA-Z0-9]{1,}$/ ;
			checkmessage = checkmessage +"请输入合法的数据库名";
		break;
		case 'ftpname':
			expression	= /^[a-zA-Z0-9]{1,}$/ ;
			checkmessage = checkmessage +"请输入合法的FTP名称";
		break;
		case 'postcode':
			expression	= /^[0-9][0-9]{5}$/ ;
			checkmessage = checkmessage +"请输入合法的邮政编码";
		break;
		case 'tel':
			expression	= /^[0-9]{7,13}$/ ;
			checkmessage = checkmessage +"请输入合法的电话号码";
		break;
		case 'username':
			expression	= /^[a-zA-Z0-9]{1,}$/ ;
			checkmessage = checkmessage +"请输入合法的用户名";
		break;
		case 'domain':
			expression	= /^[a-zA-Z0-9.-]{1,}[.][a-zA-Z0-9.-]{1,}$/ ;
			checkmessage = checkmessage +"请输入合法的域名";
		break;
		case 'domainchar':
			expression	= /^[a-zA-Z0-9.-]{1,}$/ ;
			checkmessage = checkmessage +"请输入合法的域名字符";
		break;
		case 'chinese':
			expression	= /[\u4E00-\u9FA5]/ ; 
			checkmessage = checkmessage +"必须包含中文";
		break;
		case 'nochinese':
			//expression	= /[\u4E00-\u9FA5]/ ; 
			//checkmessage = checkmessage +"不能包含中文";
			expression	= "";
		break;
		case 'qq':
			expression	= /[1-9][0-9]{4,}/ ;
			checkmessage = checkmessage +"请输入合法的QQ";
		break;
		case'cert':
			expression	= /^[0-9]{17}([0-9]|x)$/;
			checkmessage = checkmessage +"请输入合法的身份证号码";
		case '':
			expression	= "";
		break;
	}

	if((errors == 0) && (expression != '')) {
		if(!expression.exec(input))
		  errors++;
	}

	if(errors==0)
		return true;
	else
		return chkerr(obj,checkmessage)
		//return false;
}

function chkerr(obj,msg)
{
	alert(msg);
	if (obj){
		obj.focus();
	}
	return false;
}



function checkemail(name, data, allowednull)
{
  var datastr = data;
  var lefttrim = datastr.search(/\S/gi);
  
  if (lefttrim == -1) {
    if (allowednull) {
      return (true);
    } else {
      alert("请输入一个正确的E-mail地址！");
      return (false);
    }
  }
  var myRegExp = /[a-z0-9](([a-z0-9]|[_\-\.][a-z0-9])*)@([a-z0-9]([a-z0-9]|[_\-][a-z0-9])*)((\.[a-z0-9]([a-z0-9]|[_\-][a-z0-9])*)*)/gi;
  var answerind = datastr.search(myRegExp);
  var answerarr = datastr.match(myRegExp);
  
  if (answerind == 0 && answerarr[0].length == datastr.length)
  {
    return (true);
  }
  
  alert("请输入一个正确的E-mail地址！");
  return (false);
}

function IsTel(str,strname) {
  var l=str.length;
  var i,s;
  
  if (str == '' ) {
  	alert(strname + "不能为空");
	return (false);
	}
  
  if(isNaN(str))
	{
		alert(strname+'只能为数字');
		return false;
	}

  s=str.charAt(0);
  if (s=='0')
  {
  	//alert(strname+'第一位不能为0');
	//return false;
  }
  
  if (str.length <7 || str.length > 12)
  {
  	alert(strname+'只能为7至12位的数字');
	return false;
  }
  return (true);

}

function IsCh (str,strname)
{
var len;
var i;
if (str == '' ) {
  	alert(strname + "不能为空");
	return (false);
	}
  
  
for (i=0;i<str.length;i++)
{
if (str.charCodeAt(i)>255) return (true);
}
alert(strname+"必须含有汉字");
return (false);
}

function IsNotCh (str,strname)
{
var len;
var i;
if (str == '' ) {
  	alert(strname + "不能为空");
	return (false);
	}
for (i=0;i<str.length;i++)
{
if (str.charCodeAt(i)>255){ 
	alert(strname + "不能含有汉字");
	return (false);
}
}
return (true);
}

function IsPost(str,strname)
{
	var len;
	var i;
	if (str == '' ) {
  		alert(strname + "不能为空");
		return (false);
	}
	
	if(isNaN(str))
	{
		alert('邮政编码只能为数字');
		return false;
	}
	
	if (str.length != 6)
	{
		alert('邮政编码只能为6位数字');
		return false;
	}
	return true;
}

function checkDomain(str,strname)
{
	if(str=='')
	{
		alert(strname+'不能为空！');
		return false;
	}
	ii=0;
     bString="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.";
 	 while (ii<str.length) 
	 {
		
		if (bString.indexOf(str.substring(ii,ii+1))==-1) 
		{
			alert(strname+"必须是a-z A-Z 0-9 之间的字母和数字组合。");
			return false;
		}
		ii=ii+1;
     }
	 
	 if (str.indexOf(".")==-1) 
		{
			//alert(strname+"必须是包含域名后缀,如.com,.net,.cn等。");
			//return false;
		}
	return true;
}

function checkUser(str,strname)
{
	if(str=='')
	{
		alert(strname+'不能为空！');
		return false;
	}
	ii=0;
     bString="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._";
 	 while (ii<str.length) 
	 {
		
		if (bString.indexOf(str.substring(ii,ii+1))==-1) 
		{
			alert(strname+"必须是a-z A-Z 0-9 之间的字母和数字组合。");
			return false;
		}
		ii=ii+1;
     }
	 
	 if (str.indexOf(".")==-1) 
		{
			//alert(strname+"必须是包含域名后缀,如.com,.net,.cn等。");
			//return false;
		}
	return true;
}

function checkDbName(str,strname)
{
	if(str=='')
	{
		alert(strname+'不能为空！');
		return false;
	}
	ii=0;
     bString="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 	 while (ii<str.length) 
	 {
		
		if (bString.indexOf(str.substring(ii,ii+1))==-1) 
		{
			alert(strname+"必须是a-z A-Z 0-9 之间的字母和数字组合。");
			return false;
		}
		ii=ii+1;
     }
	 
	 if (!isNaN(str.substring(0,1)))
	 {
	 	alert(strname+"第一个字符不能为数字。");
		return false;
	 }
	 
	 if (!isNaN(str.substring(str.length-1,str.length)))
	 {
	 	alert(strname+"最后一个字符不能为数字。");
		return false;
	 }
	 
	 if (str.substring(0,1)=="_" )
	 {
	 	alert(strname+"第一个字符不能为下划线。");
			return false;
	 }
	 
	 if (str.substring(str.length-1,str.length)=="_" )
	 {
	 	alert(strname+"最后一个字符不能为下划线。");
			return false;
	 }
	return true;
}

function checkFtp(str,strname)
{
	if(str=='')
	{
		alert(strname+'不能为空！');
		return false;
	}
	ii=0;
     bString="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 	 while (ii<str.length) 
	 {
		
		if (bString.indexOf(str.substring(ii,ii+1))==-1) 
		{
			alert(strname+"必须是a-z A-Z 0-9 之间的字母和数字组合。");
			return false;
		}
		ii=ii+1;
     }
	 
	 if (str.length > 20)
	{
		alert(strname+"不能大于20位");
		return (false);
	}
	return true;
}

function checkPass(str,strname)
{
	var len;
	var i;
	if (str == '' ) {
  		alert(strname + "不能为空");
		return (false);
	}

	if (str.length < 6)
	{
		alert(strname+"不能小于6位");
		return (false);
	}
	
	bString="0123456789";
	ii=0;
	while (ii<str.length) 
	 {
		
		if (bString.indexOf(str.substring(ii,ii+1))==-1) 
		{
			return true;
		}
		ii=ii+1;
     }
	 //alert(strname+"不能全部为数字,必须包含其它字符");
	//return false;
	return true;
}



function autoprice(objname,numname,formname,strpre) {
var tmpa,tmpb,tmpn;
var objnamelist=objname.split(",");
tmpn=eval(formname+"."+numname+"");
//alert("tmpn="+tmpn.value);  
for (var j=0;j<objnamelist.length;j++)
{
var tmpname=objnamelist[j];
//alert("tmpa="+objnamelist[j]); 
tmpa=eval(formname+"."+strpre+tmpname+"_1");
if (typeof(tmpa)!="undefined" )
if (tmpa.value!="")
{
 for (var i=2;i<=tmpn.value;i=i+1) 
 	{
	tmpb=eval(formname+"."+strpre+tmpname+"_"+i);  
	if (typeof(tmpb)!="undefined")
		tmpb.value=tmpa.value*i;
	}
}
}
}


function contobuyprice(objname,num,formname,strpre,strpreC) {
var tmpa,tmpb,tmpn;
var objnamelist=objname.split(",");
for (var j=0;j<objnamelist.length;j++)
{
var tmpname=objnamelist[j];
 for (var i=1;i<=num;i=i+1) 
 	{
	tmpa=eval(formname+"."+strpre+tmpname+"_"+i);
	tmpb=eval(formname+"."+strpreC+tmpname+"_"+i);  
	if (typeof(tmpa)!="undefined")
	if (typeof(tmpb)!="undefined")
		tmpb.value=tmpa.value;
	}
}
}

function clearprice(objname,num,formname,strpre) {
var tmpa,tmpb,tmpn;
var objnamelist=objname.split(",");
for (var j=0;j<objnamelist.length;j++)
{
var tmpname=objnamelist[j];
for (var i=1;i<=num;i=i+1) 
 	{
	tmpb=eval(formname+"."+strpre+tmpname+"_"+i);  
	if (typeof(tmpb)!="undefined")
		tmpb.value="";
	}
}
}

function UrlDecode(str){ 
     var ret=""; 
     for(var i=0;i<str.length;i++){ 
      var chr = str.charAt(i); 
    if(chr == "+"){ 
      ret+=" "; 
    }else if(chr=="%"){ 
     var asc = str.substring(i+1,i+3); 
     if(parseInt("0x"+asc)>0x7f){ 
      ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6))); 
      i+=5; 
     }else{ 
      ret+=asc2str(parseInt("0x"+asc)); 
      i+=2; 
     } 
    }else{ 
      ret+= chr; 
    } 
     } 
     return ret; 
   } 

function createxmlhttp()
	{
		var xmlhttp=null
		
		try{
				xmlhttp= new ActiveXObject("Msxml2.XMLHTTP");
			}catch(e){
				try{
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				}catch(e){
					try{
						xmlhttp= new XMLHttpRequest();
					}catch(e){}
				}
			}	
		return(xmlhttp);	
		/*	
		try{
			   xmlhttp=new XMLHttpRequest();
		 }
		 catch(e){
				 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		 }
		return(xmlhttp);
		*/
	}
	
function winiisxmlhttp(sendurl,DataToSend)
{	
		var xmlhttp = createxmlhttp();
		xmlhttp.open("POST",sendurl,false);
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlhttp.send(DataToSend);
		//var strR=decodeURI(xmlhttp.responseText);
		var strR=unescape(xmlhttp.responseText);
		return (strR);
}
	
	
	


	
