var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz"
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var whitespace = " \t\n\r";
var decimalPointDelimiter = "."
var defaultEmptyOK = false

//15????????
var digit_int1 = 15;
//18??????
var digit_int2 = 18;


function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0
   } 
   return this
}

function isEmpty(s){   
	return ((s == null) || (s.length == 0))
}

function isWhitespace (s){   
	var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}

function isLetter (c){   
	return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) )
}

function isDigit (c){   
	return ((c >= "0") && (c <= "9"))
}

function isLetterOrDigit (c){   
	return (isLetter(c) || isDigit(c))
}

function isUserName(s){
	for (i=0;i<s.length;i++){
		var c = s.charAt(i);
		if (!isLetterOrDigit(c)&&(c!=".")&&(c!="_")){
			return false;
		}
	}
	return true;
}

function isInteger (s){   
	var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }
    return true;
}

function isLetterOfString(str){
	for(i = 0; i < str.length; i++){
		if (!isLetter(str.charAt(i))){
			return false;
			break;
		}
	}
	return true;
}

function isLetterOrDigitOfString(str){
	for(i = 0; i < str.length; i++){
		if (!isLetterOrDigit(str.charAt(i))){
			return false;
			break;
		}
	}
	return true;
}

function isSignedInteger (s){   
	if (isEmpty(s)) 
       if (isSignedInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedInteger.arguments[1] == true);
    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;
        if (isSignedInteger.arguments.length > 1)
            secondArg = isSignedInteger.arguments[1];
        if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") )
           startPos = 1;    
        return (isInteger(s.substring(startPos, s.length), secondArg))
    }
}

function isPositiveInteger (s){   
	var secondArg = defaultEmptyOK;
    if (isPositiveInteger.arguments.length > 1)
        secondArg = isPositiveInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) > 0) ) );
}

function isNonnegativeInteger (s){   
	var secondArg = defaultEmptyOK;
    if (isNonnegativeInteger.arguments.length > 1)
        secondArg = isNonnegativeInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) >= 0) ) );
}

function isNegativeInteger (s){   
	var secondArg = defaultEmptyOK;
    if (isNegativeInteger.arguments.length > 1)
        secondArg = isNegativeInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) < 0) ) );
}

function isNonpositiveInteger (s){   
	var secondArg = defaultEmptyOK;
    if (isNonpositiveInteger.arguments.length > 1)
        secondArg = isNonpositiveInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) <= 0) ) );
}

function isAlphabetic (s){   
	var i;
    if (isEmpty(s)) 
       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphabetic.arguments[1] == true);
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (!isLetter(c))
        return false;
    }
    return true;
}

function isAlphanumeric (s){   
	var i;
    if (isEmpty(s)) 
       if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphanumeric.arguments[1] == true);
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (! (isLetter(c) || isDigit(c) ) )
        return false;
    }
    return true;
}

function isEmail (s){  
	 if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);   
    if (isWhitespace(s)) return false;    
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@")){ 
    	i++
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    while ((i < sLength) && (s.charAt(i) != ".")){ 
    	i++
    }
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}

function trim( trimString )
{
	var strResult = "";
	
	if( trimString == null || trimString.length == 0 )
		return strResult;	
	strResult = leftTrim( trimString );
	strResult = rightTrim( strResult );	
	return strResult;
}

var defaultEmptyOK = false;    

function getSex(num){	
    if(isIdCardNo(num) == true){
    	  var len = getIdCardLength(num);  
	  if (len == digit_int1) {
	     if (isEven(num.charAt(14))){
	     	return 0 ;
	     }else{
	        return 1;
	     } 
	  } else if (len == digit_int2) {
	     if (isEven(num.charAt(16))){
	     	return 0 ;
	     }else{
	        return 1;
	     }
	  }
     }		
}

function isEven(num){	  
    if(num%2 == 0){
    	return true;
     }else {
     	return false;
     }
}

function getBirthday(num){
    if(isIdCardNo(num) == true){
    	var len = getIdCardLength(num);
        if (len == digit_int1 || len == digit_int2){
        	re = getIdCardRegExp(num);
        }  
          var a = num.match(re);
	  if (len==digit_int1)
	  {
	    return new Date("19"+a[3]+"/"+a[4]+"/"+a[5]); 
	  }
	  else
	  {
	    return new Date(a[3]+"/"+a[4]+"/"+a[5]);
	  }
    }	
}

function getIdCardLength(num){
	return num.length;
}

function getIdCardRegExp(num){
	var re = null;
	var len = getIdCardLength(num);
	if (len == digit_int1){
	   re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
	} else if (len == digit_int2){
	   re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\0|0|1|2|3|4|5|6|7|8|9|x|X)$/);
	}
	return re;
}

function isNaN1(num){
	var len = getIdCardLength(num);        
	if (len == digit_int1){
           if (!isInteger(num)) {alert("????????????????????"); return false;}	 
	} else if (len == digit_int2){
	   if (!isInteger(num.substring(0,17))) {
	   	alert("????????????????????"); return false;
	   } else {
              var t_num = num.charAt(17);
              if (t_num != "X" &&  t_num != "x" && !isInteger(t_num) ) {
               alert("????????????????????");
               return false;
              }
           }   
	}
	
	return true;
}

function isIdCardNo(num){      	
      	if(isWhitespace(num)){
             alert("????????????????????????");
             return false;
      	}     	
        var len = num.length, re;  
        if (len == digit_int1 || len == digit_int2){
               if(!isNaN1(num)){
                   return false;
               }
        	re = getIdCardRegExp(num);
        } else {
        	alert("????????????????????"); return false;
        }
        var a = num.match(re);
        if (a != null){
          if (len==digit_int1)
          {
            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);            
            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
          }else{
            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
          }
          if (!B) {alert("????????????????????"); return false;}
        }     
        return true;
      }

function isDateStringNew(sDate){	
	var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]
	var year, month, day
	if (sDate.length != 8) 
		return false
	if(!sDate.match(/^\d*$/)) 
	return false;
	year = parseFloat(sDate.substring(0,4));
	month = parseFloat(sDate.substring(4,6));
	day= parseFloat(sDate.substring(6,8));

	if (year < 1900 || year > 2100) 
		return false
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) 
		iaMonthDays[1]=29;
	if (month < 1 || month > 12) 
		return false
	if (day < 1 || day > iaMonthDays[month - 1]) 
		return false
	return true
}

function strlen(str){
		var len;
		var i;
		str = str = str.replace(/(^\s*)|(\s*$)/g, "");
		len = 0;
		for (i=0;i<str.length;i++){
			if (str.charCodeAt(i)>255) 
				len+=2; 
			else 
				len++;
		}
		return len;
}

function stringlen(str){
		var len;
		var i;
		str = str = str.replace(/(^\s*)|(\s*$)/g, "");
		len = 0;
		for (i=0;i<str.length;i++){
				len++;
		}
		return len;
}

function popwin(par,height,width){
	return showModalDialog(par,null,"dialogHeight: "+height+"px; dialogWidth: "+width+"px; center: yes; help: no; resizeable: no; status: no;");

}

function checkUserID(str){
	var holdWord = ["info","admin","tearch","service","postmaster","course","mba","wswire","icxo","education"]
	for(i=0;i<holdWord.length;i++){
		if (str.toLowerCase().indexOf(holdWord[i]) !=-1){
			return false;
		}
	}
	return true;
}

function printpage(m_printpage1){
   //document.stylesheets(1)= 
   var newstr = document.all.item(m_printpage1).innerHTML;
   //newwindow = window.open();
   //newwindow.document.body.innerHTML = newstr;
   //newwindow.document.write("<input type='button' value='????' onclick='window.print()'/>")
   var oldstr = document.body.innerHTML;
   
   document.body.innerHTML = newstr;
   document.all.item("pic").style.display="block";
   window.print(); 
   //document.stylesheets(1)=NaN;
   document.body.innerHTML = oldstr;
   
   
   return false;
}


		function   myTrim(str)   
 		 {
          return   str.replace(/^\s+/,'').replace(/\s+$/,'');   
  		}
  		function isMobil(s) {   
			var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;   
			if (!patrn.exec(s)) return false  ;
			return true  ;
		}  
		   	
    	function isRegisterUserName(s){   
				var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){3,15}$/;   
				if (!patrn.exec(s)) return false  
				return true  
		}
		
		function isPasswd(s){   
				var patrn=/^(\w){5,19}$/;   
				if (!patrn.exec(s)) return false  
				return true  
		} 
		
		 function isTel(s) {   
					var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,16})+$/;   
					if (!patrn.exec(s)) return false  
					return true  
			}  


     		function isNum(f){
	     		if(isNaN(f)){ 
	 				  
	   					//document.login.imgcode.focus(); 
	   					return false; 
					}else{
						return true;
					}			
				}	



