function getLength(str) {
	
	var n = 0 ;
	var s;
	if (str == null ||str =="") return n= 0  ;
	for (var i = 0;i < str.length;i++) {
		s = str.charCodeAt(i);
		if (s >= 128) n = n + 2;
		else n ++;
	}
	
	return n;
}
function check() {
if(isLengthTrim(document.form1.name.value,2,50,'真实姓名不能为空！','真实姓名必须 为 2-50 个字符!')==false)return false;
if(isLengthTrim(document.form1.phone.value,6,20,'电话不能为空！','电话必须 为 6-20 个数字!')==false)return false;
if(isLengthTrim(document.form1.address.value,2,100,'通讯地址不能为空！','通讯地址必须 为 2-100 个字符!')==false)return false;
if(getLength(document.form1.zipcode.value)!=6) {alert('邮编必须为 6 位数字!'); return false;}
if(isLengthTrim(document.form1.company.value,2,100,'公司名称不能为空！','公司名称必须 为 2-100 个字符!')==false)return false;
if(isLengthTrim(document.form1.position.value,2,20,'职位不能为空！','职位必须 为 2-20 个字符!')==false)return false;
if(isLengthTrim(document.form1.caddress.value,2,200,'公司地址不能为空！','公司地址必须 为 2-200 个字符!')==false)return false;
return true;
}
function getLengthTrim(str) {
	
	var n = 0 ;
	var s;
	var sTrim=trim(str);
	if (sTrim == null ||sTrim =="") return n= 0  ;
	for (var i = 0;i < sTrim.length;i++) {
		s = sTrim.charCodeAt(i);
		if (s >= 128) n = n + 2;
		else n ++;
	}
	
	return n;
}

function isLengthTrim(str,min,max,Message1,Message2){
    var n = getLengthTrim(str);
	if(n==0){
		alert(Message1);
		//{0}????????????????????
		return false  ;}
	if(n<min||n>max){
		alert(Message2);
		//{0}????????????{1}??{2}??????????????
		return false  ;}
    return true;
}


function isLength(str,min,max,Message1,Message2){
    var n = getLength(str);
	if(n==0){
		alert(Message1);
		//{0}????????????????????
		return false  ;}
	if(n<min||n>max){
		alert(Message2);
		//{0}????????????{1}??{2}??????????????
		return false  ;}
    return true;
}

function isFloat(in_value,min,max,Message1,Message2){
    var n = checkFloat (in_value);
	if(n==false){
		alert(Message1);
		return false  ;}
	var tmp = parseFloat(in_value);
	if(tmp<min||tmp>max){
		alert(Message2);
		return false  ;}
    return true;
}

function isInt(in_value,min,max,Message1,Message2){
    var n = checkIntAdvanced (in_value);
	if(n==false){
		alert(Message1);
		//{0}????????????????????????????
		return false  ;}
	var tmp = parseInt(in_value, 10);	
	if(tmp<min||tmp>max){
		alert(Message2);
		//{0}??????????{1}??{2}??????????????
		return false  ;}
    return true;
}
function isPositiveInt(in_value){
	var n = checkIntAdvanced(in_value);
	if(n==false)
		return false;
	var tmp = parseInt(in_value,10);
	if(tmp<=0)
		return false;
    if (getLengthTrim(in_value) > 10) {return false;}
	return true;
}


function checkFloat (in_value){
	var str = in_value.toString();
	if(str.length == 0) return false;
	var tmp = parseFloat(str);
	if(isNaN(tmp)||tmp!=str){
		return false;
	}
	return true;
}

function checkInt (in_value){
   var str = in_value.toString();
	if(str.length == 0) return false;
	var tmp = parseInt(str, 10);
	if(isNaN(tmp)||tmp!=str){
	 
		return false;
	}
	
	return true;
}

function checkIntAdvanced(str) {
	var regExp=/^-?(\d+)$/;
	if(regExp.test(str)) return true;
	else return false;
}

function trim( trimString )
{
	var strResult = "";
	
	if( trimString == null || trimString.length == 0 )
		return strResult;
	
	strResult = leftTrim( trimString );
	strResult = rightTrim( strResult );
	
	return strResult;
}

function leftTrim( trimString )
{
	var strResult = "";
	var i = 0;
	
	if( trimString == null || trimString.length == 0 )
		return strResult;
	
	for( ; i < trimString.length; i++ )
	{
		var cCurrentChar = trimString.charAt(i);
		if( cCurrentChar == '\t' ||
			cCurrentChar == ' ' ||
			cCurrentChar == '\r' ||
			cCurrentChar == '\n' )
			continue;
		else
			break;		
	}
	
	strResult = trimString.substring( i, trimString.length );
	
	return strResult;
}

function rightTrim( trimString )
{
	var strResult = "";
	var i = 0;
	
	if( trimString == null || trimString.length == 0 )
		return strResult;
		
	for( i = trimString.length; i > 0; i-- )
	{
		var cCurrentChar = trimString.charAt(i-1);
		if( cCurrentChar == '\t' ||
			cCurrentChar == ' ' ||
			cCurrentChar == '\r' ||
			cCurrentChar == '\n' )
			continue;
		else
			break;		
	}
	
	strResult = trimString.substring( 0, i );
			
	return strResult;
}


function isEmail(emailStr) {
    var emailPat=/^(.+)@(.+)$/
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
    var validChars="\[^\\s" + specialChars + "\]"
    var quotedUser="(\"[^\"]*\")"
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
    var atom=validChars + '+'
    var word="(" + atom + "|" + quotedUser + ")"
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
    
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null) {
    	return false;
    }
    var user=matchArray[1];
    var domain=matchArray[2];
    
    if (user.match(userPat)==null) {
        return false;
    }
    
    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null) {
    	for (var i=1;i<=4;i++) {
    	    if (IPArray[i]>255) {
    		    return false;
    	    }
        }
        return true;
    }
    
    var domainArray=domain.match(domainPat);
    if (domainArray==null) {
        return false;
    }
    
    var atomPat=new RegExp(atom,"g");
    var domArr=domain.match(atomPat);
    var len=domArr.length;
    if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
       return false;
    }
    
    if (len<2) {
       return false;
    }
    
    return true;
}



function isDate(sDate,Message1,Message2,Message3){	
	var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31] ;
	var iaDate = new Array(3) ;
	var year, month, day  ;

	if (arguments.length != 1) return false  ;
	if (sDate.toString().length == 0) return true ;
	iaDate = sDate.toString().split("-")   ;
	if (iaDate.length > 3) {
			//alert('????????????YYYY-MM-DD ! ');
			alert(Message1);
			return false  ;
	}	
	if (iaDate[1].length > 2 || iaDate[2].length > 2) {
			//alert('????????????YYYY-MM-DD ! ');
			alert(Message1);
			return false  ;
	}		

	year = parseFloat(iaDate[0])  ;
	month = parseFloat(iaDate[1])  ;
	day=parseFloat(iaDate[2])  ;

	
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12) {
		//alert('????????????! ');
		alert(Message2);
		return false  ;
	}	
	if (day < 1 || day > iaMonthDays[month - 1]){
		//alert('????????????! ');
		alert(Message3);
		return false  ;
	}	
	return true  ;
}


function checkPhoneFax(phone){	

	var strResult = "";
	var i = 0;
	
	if( phone == null || phone == 0 )
		return true;
	
	for( ; i < phone.length; i++ )
	{
		var cCurrentChar = trimString.charAt(i);
		
	}
	

	
	return true  ;
}


function isDate1(strCheckDate,strMsg){
	if(!strCheckDate.match(/^\d{4}\-\d\d?\-\d\d?$/))
	{
	 alert(strMsg);
	 return false;
	}
	var ar=strCheckDate.replace(/\-0/g,"-").split("-");
	ar=new Array(parseInt(ar[0]),parseInt(ar[1])-1,parseInt(ar[2]));
	var d=new Date(ar[0],ar[1],ar[2]);
	 if (d.getFullYear()==ar[0] && d.getMonth()==ar[1] && d.getDate()==ar[2])
	 { return true;}
	 else
	 { 
	 	  alert(strMsg);
	 	  return false 
	 }
}

function checkDateEarlier(startDate,endDate) {
	if(!startDate.match(/^\d{4}\-\d\d?\-\d\d?$/) || !endDate.match(/^\d{4}\-\d\d?\-\d\d?$/)) {
		return false;
	}
	var ar=startDate.toString().split("-");
	var br=endDate.toString().split("-");
	if(ar[1].length==1) ar[1] = "0" + ar[1];
	if(ar[2].length==1) ar[2] = "0" + ar[2];
	if(br[1].length==1) br[1] = "0" + br[1];
	if(br[2].length==1) br[2] = "0" + br[2];
 	var tmp =parseInt(ar[0]+ar[1]+ar[2],10);
	var tmp2=parseInt(br[0]+br[1]+br[2],10);
	if(tmp<=tmp2)
		return true;
	return false;
}

		function isChinese(str,msg){
		var zz=/\W/g;
		var s=zz.test(str);
		if(s==true){
		alert(msg);
		return true;
		}
		if(s==false){
		return false;
		}
		}
		
		function hasSpc(str,msg){
		var zz=/\s/g;
		var s=zz.test(str);
		if(s==true){
		alert(msg);
		return true;
		}
		if(s==false){
		return false;
		}
		}
		
		function hasSpc2(str){
		var zz=/\s/g;
		var s=zz.test(str);
		if(s==true){
		return true;
		}
		if(s==false){
		return false;
		}
		}
		


function getCookieVal(offset)
{
var iEndStr=document.cookie.indexOf(";",offset);
if(iEndStr==-1)
iEndStr=document.cookie.length;
return unescape(document.cookie.substring(offset,iEndStr));
}
function getCookie(name)
{
var strArg=name+"=";
var iArgLength=strArg.length;
var iCookieLength=document.cookie.length;
var iIndex=0;
while(iIndex<iCookieLength)
{
var kIndex=iIndex+iArgLength;
if(document.cookie.substring(iIndex,kIndex)==strArg)
return getCookieVal(kIndex);
iIndex=document.cookie.indexOf(" ",iIndex)+1;
if(iIndex==0)
break;
}
return null;
}
function setCookie(name,value)
{
var strArgValue=setCookie.arguments;
var iArgLength=setCookie.arguments.length;
var expires=(2<iArgLength)?strArgValue[2]:null;
var path=(3<iArgLength)?strArgValue[3]:null;
var domain=(4<iArgLength)?strArgValue[4]:null;
var secure=(5<iArgLength)?strArgValue[5]:false;
document.cookie=name+"="+escape(value)+((expires==null)?"":(";expires="+expires.toGMTString()))+
((path==null)?"":(";path="+path))+((domain==null)?"":(";domain="+domain))+
((secure==true)?";secure":"");
}




function getCookieVal(offset)
{
var iEndStr=document.cookie.indexOf(";",offset);
if(iEndStr==-1)
iEndStr=document.cookie.length;
return unescape(document.cookie.substring(offset,iEndStr));
}
function getCookie(name)
{
var strArg=name+"=";
var iArgLength=strArg.length;
var iCookieLength=document.cookie.length;
var iIndex=0;
while(iIndex<iCookieLength)
{
var kIndex=iIndex+iArgLength;
if(document.cookie.substring(iIndex,kIndex)==strArg)
return getCookieVal(kIndex);
iIndex=document.cookie.indexOf(" ",iIndex)+1;
if(iIndex==0)
break;
}
return null;
}
function setCookie(name,value)
{
var strArgValue=setCookie.arguments;
var iArgLength=setCookie.arguments.length;
var expires=(2<iArgLength)?strArgValue[2]:null;
var path=(3<iArgLength)?strArgValue[3]:null;
var domain=(4<iArgLength)?strArgValue[4]:null;
var secure=(5<iArgLength)?strArgValue[5]:false;
document.cookie=name+"="+escape(value)+((expires==null)?"":(";expires="+expires.toGMTString()))+
((path==null)?"":(";path="+path))+((domain==null)?"":(";domain="+domain))+
((secure==true)?";secure":"");
}
		
