/**
* 对span的显示、隐藏
* <p><b>Example: </b><p>
* <p>showPage(HTML.ImageObject, HTML.SpanObject.ID)<p>
* @param img 显示图片的HTML对象
* @param spanID HTML中SPAN对象的ID
* @return 如果页面SPAN可见，则将其隐藏，并显示表示关闭的图片；反之
*/
function showPage(img,spanID){
	if(spanID.style.display==""){
		spanID.style.display="none";
		img.src="/ECHT/global/images/ui/iconPlus.gif";
	}
	else{
		spanID.style.display="";
		img.src="/ECHT/global/images/ui/iconMinus.gif";
	}
}


/*
 *字符转换成数字
 */
function charToNum(str)
{
	var rtnNum=0;
	var tStr=replace(str,",","");
	rtnNum=parseFloat(tStr);
	return rtnNum;
}

/*
 *数字转换成字符
 */
function numToChar(num)
{
	var rtnStr="";
	var rtnStr=formatNumber(num,'#,###.##');
	return rtnStr;
}

/**
* 替换字符串函数
* <p><b>Example: </b><p>
* <p>replace("Minim123Minim", "123", "Minim") returns "MinimMinimMinim"<p>
* @param strExpression 字符串表达式
* @param strFind 被替换的子字符串
* @param strReplaceWith 替换的目标字符串，即用strReplaceWith字符串替换掉strFind
* @return 返回替换后的字符串表达式
*/
function replace( strMain, strFind, strReplaceWith){
	var strReturn  = "";
    var intStartIndex = 0,
        intEndIndex   = 0;

    if(strMain==null || strMain == "")
      return "";

    while((intEndIndex=strMain.indexOf(strFind,intStartIndex))>-1)
    {
      strReturn = strReturn + strMain.substring(intStartIndex,intEndIndex) + strReplaceWith;
      intStartIndex = intEndIndex + strFind.length;
    }
    strReturn = strReturn + strMain.substring(intStartIndex,strMain.length);
    return strReturn;
}

/**
* 去掉字符串头尾空格
* <p><b>Example: </b><p>
* <p>trim(" Minim ") returns "Minim"<p>
* @param strValue 字符串表达式
* @return 头尾无空格的字符串表达式
*/
function trim(s){
	var strReturn;
	strReturn=s;

	while(strReturn.indexOf(" ")==0) strReturn=strReturn.substring(1);
	if(strReturn.length==0) return "";
	while(strReturn.lastIndexOf(" ")==strReturn.length-1){
		strReturn=strReturn.substring(0,strReturn.length-1);
		if(strReturn.length==0) return "";
	}
	return strReturn;
}
/**
* 禁止中文方法
* <p><b>Example: </b><p>
* <p>trim(" Minim ") returns "Minim"<p>
* @param strValue 页面的对象，在提交时候强制校验所有对象是否含有中文
* @return 真或者假
*/
function checkZh(obj){
	try{
		if(obj.value.length==0)
			return false;
		
		var val = obj.value;
		
		for(var i=0;i<val.length;i++){
//			alert(i+"==="+val.charAt(i));
//			alert(/^[\u4e00-\u9fa5]/.test(val.charAt(i)));
			if(/^[\u4e00-\u9fa5]/.test(val.charAt(i)))
				return true;
		}
		return false;
	}catch(oe){
		alert("checkZh error!");
	}
}

/*make regEpx model base on patternStr
 *模式方法,js脚本内部调用的公共方法
 */
function patternRegEpx(patternStr){
	
	var pattterns =new RegExp(patternStr);
	
	return pattterns;

}

/*type of obj value must be numbers
 *校验是否含有数字以外的其他字符
 */
function isNumAndCross(obj){
	var patternObj = patternRegEpx('[0-9]');
	//alert(patternObj);
	
	try{
		if(obj.value.length==0)
			return false;
		var val = obj.value;
		
		for(var i=0;i<val.length;i++){
			if(!patternObj.test(val.charAt(i)))
				return true;
		}
		return false;
	}catch(oe){
		//alert("您的输入有误!");
		return false;
		
	}
}

/*
 *校验电话号码（手机，固定电话）
 */
function checkPhone(s){ 
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/; 
//alert(reg.test(str));
return reg.test(s);
}

/*
 *校验电话号码（带区号的固定电话）
 */
function checkPhone2(s){ 
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{3,4}\-[0-9]{7,8}\-[0-9]{3,4}$)|(^[0-9]{3,4}\-[0-9]{7,8}\-[0-9]{5,6}$)|(^[0-9]{5,6}\-[0-9]{7,8}$)|(^[0-9]{5,6}\-[0-9]{7,8}\-[0-9]{3,4}$)|(^[0-9]{5,6}\-[0-9]{7,8}\-[0-9]{5,6}$)/; 
//alert(reg.test(str));
return reg.test(s);
}

/*
 *校验电话号码（带区号的固定电话，手机）
 */
function checkPhone3(s){ 
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{3,4}\-[0-9]{7,8}\-[0-9]{3,4}$)|(^[0-9]{3,4}\-[0-9]{7,8}\-[0-9]{5,6}$)|(^0{0,1}[0-9]{11}$)|(^[0-9]{5,6}\-[0-9]{7,8}$)|(^[0-9]{5,6}\-[0-9]{7,8}\-[0-9]{3,4}$)|(^[0-9]{5,6}\-[0-9]{7,8}\-[0-9]{5,6}$)/; 
//alert(reg.test(str));
return reg.test(s);
}

/*
 *校验电话号码（手机）
 */
function checkPhone4(s){ 
var str=s;
var reg=/(^0{0,1}[0-9]{11}$)/; 
//alert(reg.test(str));
return reg.test(s);
}

/*
 *校验姓名中只能输入汉字和英文字母
 */
function   checkName(obj){
	var obj=obj; 	  
	var reg=/^[\u4E00-\u9FA5|A-Za-z|\s*$|\.]*$/ig;   
 	return reg.test(obj);
}   

/*
 *校验电话
 */
function isPhoneAndCross(obj){
	var patternObj = patternRegEpx('[0-9-]');
	//alert(patternObj);
	
	try{
		if(obj.value.length==0)
			return false;
		var val = obj.value;
		
		for(var i=0;i<val.length;i++){
			if(!patternObj.test(val.charAt(i)))
				return true;
		}
		return false;
	}catch(oe){
		//alert("您的输入有误!");
		return false;
		
	}
}
/*
 *身份证
 */
function isIDAndCross(obj){
	var patternObj = patternRegEpx('[0-9,x,X]');
	//alert(patternObj);
	
	try{
		if(obj.value.length==0)
			return false;
		var val = obj.value;
		
		for(var i=0;i<val.length;i++){
			if(!patternObj.test(val.charAt(i)))
				return true;
		}
		return false;
	}catch(oe){
		//alert("您的输入有误!");
		return false;
		
	}
}
/*
 *其他证件的校验方法
 */
function isNoIDAndCrossOld(obj){
	var patternObj = patternRegEpx('[0-9,a-z,A-Z]');
	//alert(patternObj);
	
	try{
		if(obj.value.length==0)
			return false;
		var val = obj.value;
		
		for(var i=0;i<val.length;i++){
			if(!patternObj.test(val.charAt(i)))
				return true;
		}
		if(checkZh(obj))
			return true;
		return false;
	}catch(oe){
		//alert("您的输入有误!");
		return false;
		
	}
}
//验证其他证件号码中只包含数字，字母和汉字的校验
function  isNoIDAndCross(obj){
	var obj=obj; 	  
	var reg=/^[\u4E00-\u9FA5|A-Za-z0-9|\s*$|\.]*$/ig;
 	return reg.test(obj);
} 

/*
 *保单号不足15位就补足的方法，不返回值
 */
function addIdNoFifteen(object){ 	
	if(object.value.length<15){
		var zero="";
		for(var i=0;i<15-object.value.length;i++)
			zero="0"+zero;
		object.value=zero+object.value;
	}
}

/*
 *身份证的全部内部验证法（身份证的位数,性别与证件的一致，生日与证件的一致）
 */
function checkIdNoAll(IdNo,Sex,Birthday){  
	//验证证件号码位数
	if ((IdNo.length!=15) && (IdNo.length!=18))
  	{
    	alert("输入的身份证号位数有误!");
    	return false;
  	}
	var arrDate = Birthday.split("-");  
  	if (arrDate[1].length == 1) arrDate[1] = "0" + arrDate[1];
  	if (arrDate[2].length == 1) arrDate[2] = "0" + arrDate[2];
  	Birthday = arrDate[0] + "-" + arrDate[1] + "-" + arrDate[2];
 	if (Sex!="0" && Sex!="1")
  	{
  		alert("输入的性别不明确");
    	return false;
  	}
  	//15位的校验
  	if (IdNo.length==15)
  	{
    	tmpStr=IdNo.substring(6,12);
    	tmpStr= "19" + tmpStr; 
	    	
    	tmpStr= tmpStr.substring(0,4) + "-" + tmpStr.substring(4,6) + "-" + tmpStr.substring(6)
	  	
  		if ( Birthday == tmpStr ){
      		if (Sex=="0"){
      			tmpInt = parseInt(IdNo.substring(14));
		      	tmpInt = tmpInt % 2
		      	if (tmpInt==0)
			    {
				   	  alert("输入的性别与身份证号的信息不一致");
        			  return false;
      			}
      	    }
      	    else{
      			tmpInt = parseInt(IdNo.substring(14));      	
      			tmpInt = tmpInt % 2
      			if (tmpInt!=0)
      			{
			      	  alert("输入的性别与身份证号的信息不一致");
			          return false;
		      	}
		    }
    	}else{
      		alert("输入的生日与身份证号的信息不一致");
     		return false;
    	}return true;
  	}
  	//18位身份证号码的验证
  	if (IdNo.length==18)
  	{
  		tmpStr=IdNo.substring(6,14);  	  	
  		tmpStr= tmpStr.substring(0,4) + "-" + tmpStr.substring(4,6) + "-" + tmpStr.substring(6)

    	if ( Birthday == tmpStr )
    	{
      		if (Sex=="0")
      		{
      			tmpInt = parseInt(IdNo.substring(16,17));     	
      			tmpInt = tmpInt % 2
      			if (tmpInt==0)
      			{
      	  			alert("输入的性别与身份证号的信息不一致");
       	            return false;
      			}
      		}
      		else
      		{
      			tmpInt = parseInt(IdNo.substring(16,17));      	
		      	tmpInt = tmpInt % 2
		      	if (tmpInt!=0)
		      	{
			      	  alert("输入的性别与身份证号的信息不一致");
    			      return false;
      			}
      		}
    	}
	    else
	    {
	      	alert("输入的生日与身份证号的信息不一致");
			return false;
		}return true;					    
	}	
}

/*校验字符串内的字符是否含有-方法
 *
 */
function isAlpha(ch) {  
	if(ch == "-") return true;
	return false;
}

/*校验日期是否含有"-"方法,调用上面的方法
 *
 *
 */
function checkDate(da) {  
	var alpha = 0;
	var ch;
	for(var i=0;i<da.length;i++){
		ch = da.charAt(i);
		if(isAlpha(ch)) ++alpha;	
	} 
	//不包含"-"
	if(alpha ==0) {  
		return true;  
	}else {//包含"-"   
		return false;  
	}  
}

/*给日期补足“-”方法,不返回值
 *
 */
function addDateFormat(object){
	//给日期加上"-"
	if(checkDate(object.value)){
		if(object.value.length!=8){
			alert("输入的日期位数不正确。");
		  	return false;
		}else{
			object.value=object.value.substring(0,4)+"-"+object.value.substring(4,6)+"-"+object.value.substring(6,8);
			return true;
		}
	}return true;
}

/*日期格式正确性校验（简单校验）
 *
 */
function checkDateFormat(object){
	if(!_validation.isDate(object,"YYYY-MM-DD")){
		alert("输入的日期格式不正确。");
		return false;
	}return true;
}
/*校验年龄范围
 *
 */
function checkAgeAracket(object,ageUpperLimit,ageLowerLimit){
	var myDate = new Date();
	var year = object.value.substring(0,4);
	var month = object.value.substring(5,7);
	var date = object.value.substring(8,10);
	if(year<=myDate.getYear()-ageLowerLimit&&year>=myDate.getYear()-ageUpperLimit){
		return true;
	}else{ 
		return false;
	}	
}


/*校验电子邮件格式
 *
 */
function checkEmail(object){	
	if(checkZh(object)){
		alert("电子邮件不能含有中文!");
		object.select();
		return false;
	}
	var Email = object.value;
	var length = Email.length-1;
	var a = 0;
	var b = 0;
	a = Email.indexOf("@");
	b = Email.indexOf(".",a);
	if(a>0 && a<b-1 && b<length)
		return true;
	alert("电子邮件格式不正确。");
	return false;
}