﻿var r2;
r2 = new RegExp('[^A-Za-z0-9]','');

    function validate(Str,DataType)
	{
		validate(Str,DataType,"");	
	}

	
	function validate(str,dataType,Custom)
	{
		var pattern;
		switch (dataType) 
		{	
			case "Require" :
				str=Trim(str);
				pattern=/.+/;
				break;
			case "Float" :
				pattern=/^((\d*\.?\d+)|(-?\d+\.?\d*))$/;
				break;
			case "Integer" :
				pattern=/^[-\+]?\d+$/;
				break;
			case "Date" :
				return CheckDate(str);
			case "Time" :
				pattern=/^([0-1][0-9]|2[0-3]):[0-5][0-9]$/;
				break;
			case "CreditCard" :
				return CheckCreditCard(str);
			case "Email" :
				pattern=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
				break;
			case "Mobile" :
				return CheckMobile(str);		
			case "Phone" :
				return CheckPhone(str);
			case "Parameter" :
				pattern=/^[-\w]+$/;
				break;
			case "UnSafe" :
				pattern=/[\']/;
				break;
			case "Zip" :
				pattern=/^[0-9]\d{5}$/;
				break;
			case "OnlyEnglish" :
				pattern=/^[A-Za-z]+$/;
				break;
			case "OnlyChinese" :
				pattern=/^[\u0391-\uFFE5]+$/;
				break;
			case "Chinese" :
				pattern=/[\u0391-\uFFE5]/;
				break;
		    case "EnglishAllowBlank" :
			    pattern=/^[A-Za-z\s]+$/;
			    break;
			
			case "Custom" :
				pattern=Custom;
				break;
		}
		return new RegExp(pattern).test(str);
	}
//函数名：fucCheckLength
//功能介绍：检查字符串的长度
//参数说明：要检查的字符串
//返回值：长度值
function CheckLength(strTemp)
{
 var i,sum,TrimStr;
 sum=0;
 
 TrimStr=trim(strTemp);
  
 for(i=0;i<TrimStr.length;i++)
 {
  if ((TrimStr.charCodeAt(i)>=0) && (TrimStr.charCodeAt(i)<=255))
   sum=sum+1;
  else
   sum=sum+2;
 }
 return sum;
}


//去除字符串两头的空格
function trim(s)
{
    if (s == null) {
        return s;    }
    var i;
    var beginIndex = 0;
    var endIndex = s.length - 1;
    for (i=0; i<s.length; i++)
    {
        if (s.charAt(i) == ' ' || s.charAt(i) == '　')
        {
            beginIndex++;
        }
        else
        {
            break;
        }
    }
    for (i = s.length - 1; i >= 0; i--)
    {
        if (s.charAt(i) == ' ' || s.charAt(i) == '　')
        {
            endIndex--;
        }
        else
        {
            break;
        }
    }

    if (endIndex < beginIndex)
    {
        return "";
    }
    return s.substring(beginIndex, endIndex + 1);
}

//去除多余的空格，如果有连续空格，只保留第一个
function cutSpace(s)
{
    var len = s.length;
    var i;
    var ch;
    var result = "";

    i = 0;
    while (i < len)
    {
        ch = s.charAt(i++);
        result += ch;
        if (ch != ' ')
        {
            continue;
        }

        while (i < len && (ch = s.charAt(i)) == ' ')
        {
           i++;
        }
    }

    return result;
}
//检查密码
function checkPSD(ss)
{
	for (nIndex=0; nIndex<ss.length; nIndex++)
    {
        cCheck = ss.charAt(nIndex);
        if ( nIndex==0 && ( cCheck =='-' || cCheck =='_') )
        {
            return false;
        }
        if ( isData(cCheck) )
			break;
        else if ( (cCheck=='-' || cCheck=='_' ) )
			break;
		else if ( isString(ss.charCodeAt(nIndex)) )
			break;
		else 
			return false;
	}
    return true;
}

//身份证号码
function isIdCardNo(num) 
{ 	
	var retMeg='';	
	var len = num.length, re;
	if (len == 15) 
    {
      if (!isData(num)) {retMeg="身份证号码输入的不是数字！\n"; return retMeg;} 
    }
	else if (len == 18) 
	{
		if (num.substring(17,18) != "X"  &&  !isData(num.substring(17,18)) && num.substring(17,18) != "0") 
		{
		  retMeg="18位身份证中最后一位请输入数字或大写X\n"; return retMeg;
		} 
		else if(!isData(num.substring(0,17)))
		{
			retMeg="18位身份证中前17位请输入数字\n"; return retMeg;
		}
	}
	if (len == 15) 
	re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/); 
	else if (len == 18) 
	re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d|X)$/); 
	else {retMeg="身份证号码输入的数字位数不对！\n"; return retMeg;} 
	
	
	var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",
	33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",
	50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",
	81:"香港",82:"澳门",91:"国外"}; 
    if(aCity[parseInt(num.substr(0,2))]==null){retMeg="身份证地区非法！\n"; return retMeg;}
    
    
	var a = num.match(re),F; 
	var today = new Date();
	if (a != null) 
	{
		var D = null;
		if (len==15) 
		{ 	
			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 
		{ 
			D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
			var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
		}
		var StartDate=new Date("1900/01/01");
		if(D < StartDate)    
		{retMeg="输入的身份证号 "+ a[0] +" 里出生日期不对！\n"; return retMeg;}   
		if (B)
		{
			if ( a[3]==today.getFullYear() )		
			{
				if ( a[4] < (today.getMonth()+1) && a[5] < today.getDate() )
				{
					F = true;							
				}
				else
				{
					F = false;
				}
			}	
			else if ( a[3] < today.getFullYear() )
			{
				F = true;
			}	
			else 
			{
				F = false;
			}
			
			if ( !F )
			{
				retMeg = "输入的身份证号 "+ a[0] +" 里出生日期不对！\n"; 
				return retMeg;
			}
		}
		else
		{
			retMeg="输入的身份证号 "+ a[0] +" 里出生日期不对！\n"; 
			return retMeg;
		}							 
	}
	return retMeg;
}
		
//判断Email的格式
function isValidEmail(s) 
{
	var reg1 = new RegExp('^[a-zA-Z0-9][a-zA-Z0-9@._-]{3,}[a-zA-Z]$');
	var reg2 = new RegExp('[@.]{2}');
	
	if (s.search(reg1) == -1
			|| s.indexOf('@') == -1
			|| s.lastIndexOf('.') < s.lastIndexOf('@')
			|| s.lastIndexOf('@') != s.indexOf('@')
			|| s.search(reg2) != -1)
		return false;
	
	return true;
}


//检查用户名
function isUsername(s)
{
	var patrn = /(^[a-zA-Z]+[a-zA-Z0-9]+$)/;
	if (!patrn.exec(s)) 
		return false;
	else
		return true ;
}

function isJPName(s)
{
    if(s.trim()=="")
    {
        return false;
    }else   
    {
        var patrn = /(^[a-zA-Z]+[a-zA-Z0-9 ]+$)/;
        if (!patrn.exec(s)) 
		     return false;
	    else
		     return true ;
    }
}
//检查注册用户名
function isUsername2(s)
{
	
	var chinaStr=/([^\u4E00-\u9FA5])/
	if (!chinaStr.exec(s)) 
	{
		if (trim(s).length<3 || trim(s).length>10)
		{
		   return false;
		 }
	}
	if (chinaStr.exec(s)) 
	{
		if (trim(s).length<6 || trim(s).length>20)
		{
			return false;
		}
		var patrn = /(^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$)/;
		if (!patrn.exec(s)) 
		{
			return false;
		}
	}
	
	return true ;
}
//	检查密码
function isPsd(s)
{
	var patrn = /(^[a-zA-Z0-9]+(\-)?(\w+)$)/;
	if (!patrn.exec(s)) 
		return false;
	else
		return true;
}

//检查固定电话
function isTel(s) 
{ 	
	var patrn=/^(\d{6,16}|\d{3,4}-\d{6,8}|\d{3,4}-\d{6,8}-\d{1,4}|\d{6,8}-\d{1,4})$/;
	if (!patrn.exec(s)) 
		return false ;
	else
		return true ;
} 

//检查手机号
function isMobile(s) 
{ 	
	var patrn=/^((\(\d{3}\))|(\d{3}\-))?(13|15|18)\d{9}$/;	
	if (!patrn.exec(s)) 
		return false; 
	else
		return true; 	 
} 
//日本电话判断
function isJPTel(s)
{
    var patrn=/(^d{1}-|[0-9]d*$)/
	if (!patrn.exec(s)) 
		return false; 
	else
		return true; 	
}



//是否数字
function isData ( s ) 
{ 
	if ( isNaN ( parseInt ( s ) ) == true )
	{
		return false;
	}
	else
	{
		var patrn = /(^[0-9]*[1-9][0-9]*$)/; 
		return patrn.exec ( s );
	}
}
//校验是否为浮点数
function IsDecimal ( s )
{
	if ( isNaN ( parseFloat ( s ) ) == true )
	{
		return false;
	}
	else
	{
		var pattern = /^[0-9]*(\.)?[0-9]+$/;
		return pattern.exec ( s );
	}
}
//邮政编码
function isPostCode(s) 
{ 
	var patrn=/(^[0-9]{6,6}$)/; 
	if (!patrn.exec(s))
		return false 
	return true; 
} 
//是否字符
function isString(s)
{
	if ( 64 < s && s < 91 ) 
		return true;
	else if ( 96 < s && s < 123 )
		return true;
	else
		return false;	
}
		
//判断日期的格式正确与否
function IsValidDate(sDate)
{
	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;}
	  iaDate = sDate.toString().split("-");
	if (iaDate.length != 3) 
	  {return false;}
	if (iaDate[1].length > 2 || iaDate[2].length > 2)
	 { return false;}

    if(!isData(iaDate[0])  || !isData(iaDate[1]) || !isData(iaDate[2]) )
     {
     return false;
     }
	try
	{
		year = parseFloat(iaDate[0]);
		month = parseFloat(iaDate[1]);
		day=parseFloat(iaDate[2]);
	}
	catch(e)
	{
		return false;
	}
	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 checkDateEarlier(strStart,strEnd)
{
	var arr1 = strStart.split("-");
	var arr2 = strEnd.split("-");
	var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
	var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
	if(arr1[1].length == 1)
		 arr1[1] = "0" + arr1[1];
	if(arr1[2].length == 1)
		 arr1[2] = "0" + arr1[2];
	if(arr2[1].length == 1)
		 arr2[1] = "0" + arr2[1];
	if(arr2[2].length == 1)
		 arr2[2]="0" + arr2[2];
	var d1 = arr1[0] + arr1[1] + arr1[2];
	var d2 = arr2[0] + arr2[1] + arr2[2];
	if(parseInt(d1,10) > parseInt(d2,10))
		 return false;
	 else
		 return true;
}

//检查下拉列表框的选中的索引是否为0			
function CheckSelectIndex(ObjForm,SelectObjName)
{
	for (i=0;i<ObjForm.all.tags("SELECT").length;i++)
	{		
		if (ObjForm.all.tags("SELECT")(i).name == SelectObjName)
		{
			var SelectObject = ObjForm.all.tags("SELECT")(i);				
			if ( SelectObject.selectedIndex != 0 )
				return true;
			else
				return false;				
		}
	}		
}

/*	中文限制	*/
function isChinese(str){
  str = str.replace(" ", "");
  for (i=0;i<str.length;i++)
  { 
     if (str.charCodeAt(i)< 255)
     {
       return false;
     }
   }
   return true;
}
/*	中文限制	*/
function isCode(str){
  str = str.replace(" ", "");
  for (i=0;i<str.length;i++)
  { 
     if (str.charCodeAt(i) >= 255)
     {
       return false;
       break;
     }
   }
   return true;
}

//判断证件及号码
function IsValidPaperNO(PaperType,PaperNO)
{
	
}
/*判断乘机人姓名是否正确,
中英文混合不能带"/"和空格,中英文混合不能以英文开头
纯英文必须带"/",纯英文的"/"前段不能带特殊符号和空格,后段可以带空格
*/
function IsValidPassengerName(txtName) {
	var aSpecialChar=["~","`","!","@","#","$","%","^","&","*",
								"_","+","|","-","=","\\",",",".","?","<",">",
								";","'","[","]","{","}",":","\"","｀","～",
								"！","＠","＃","￥","％","＾","＆","＊",
								"（","）","＿","＋","｜","－","＝","＼",
								"｛","｝","［","］","：","＂","；","＇",
								"＜","＞","，","．","？","～","·","！",
								"◎","＃","￥","％","…","…","※","×",
								"（","）","—","—","＋","§","－","＝",
								"÷","『","』","【","】","：","”","；",
								"‘","《","》","？","，","。","１","２",
								"３","４","５","６","７","８","９","０",
								"ａ","ｂ","ｃ","ｄ","ｅ","ｆ","ｇ","ｈ",
								"ｉ","ｊ","ｋ","ｌ","ｍ","ｎ","ｏ","ｐ",
								"ｑ","ｒ","ｓ","ｔ","ｕ","ｖ","ｗ","ｘ","ｙ","ｚ"]; 
	for (var i=0; i<aSpecialChar.length; i++)
	{
		if(txtName.indexOf(aSpecialChar[i])>=0)
		{
			return false;
		}
	}
	
	if(txtName.length==0 || txtName.indexOf("/")==0)
	{
		return false;
	}
	if(txtName.indexOf("/")!=-1)//含"/"的必须都是英文,
	{
		var NameSplit=txtName.split("/");
		var len0=NameSplit[0].length;//"/"前的长度,长度必须大于2/
		var len1=NameSplit[1].length;//"/"后的长度

		if(len0<2||len1<=0)//的一段长度必须大于2,第二段长度必须大于0 //原来不允许输入空格，现英文名可以有空格，caojm 2006-10-25
		{
			return  false;
		}
		for (var i=0; i<len0; i++)//第一段是否含有中文和数字
		{
			if(NameSplit[0].charAt(i) ==" ")	//caojm 2006-10-25, 英文名字允许空格
			{
				continue;
			}
			if (isChinese(NameSplit[0].charAt(i)) || isData(NameSplit[0].charAt(i)))
			{
				return false;
			}
		}
		for (var i=0; i<len1  ; i++) //第二段是否含有中文和数字
		{
			if(NameSplit[1].charAt(i) ==" ")	//caojm 2006-10-25, 英文名字允许空格
			{
				continue;
			}
			if (isChinese(NameSplit[1].charAt(i)) || isData(NameSplit[1].charAt(i)))
			{
				return false;
			}
		}
	}
	else//不含"/"的必须以中文开头,不能含有特殊符号和数字
	{
//	     if (!isChinese(txtName.charAt(0)))
//	     {
//	        return false;
//	     }
	     
//	     for (var i=0; i<txtName.length; i++)//,不能含有特殊符号和数字
//	     {
//	       if( isData(txtName.charAt(i)) || txtName.indexOf(" ")!=-1)
//	       {
//	         return false;
//	       }
//	       
//	       if (!isChinese(txtName.charAt(i)) && !isCode(txtName.charAt(i)))
//		   {
//			return false;
//	       }
//	     }
		
	}
	return true;
}

//判断姓名是否为中英文
function IsValidName(txtName) {
	var errflag=true;
	var NameSplit;
	var rl=0;
    len=txtName.length;
    if (len > 0)
    {
		dd = escape(txtName.charAt(0));
		if (dd.length<=3)
			{rl=0;}
		else
			{rl=1;}
			
		for (i=0; i<len; i++)
		{
			dd = escape(txtName.charAt(i));
			if (dd.length<=3)
			{
				if (rl==0){if(parseInt(dd)){errflag=false;break;}}
				if (rl==1){errflag=false;break;}
			}
			else
			{
				if (rl==0){errflag=false;break;}
			}
		}
		if ( (errflag) && (rl == 0) )
		{
			NameSplit = txtName.split(" ");
			for ( i=0;i<NameSplit.length;i++ )
			{
				var txt = trim(NameSplit[i]);
				for ( m=0;m<txt.length;m++ )
				{
					var ASCNum = txt.charCodeAt(i);
					if ( !isString(ASCNum) )
					{
						errflag = false;
						break;
					}
				}
			}
		}
	}
    else {errflag=false;}

	return errflag;
}


//检查航班号
function IsValidAirNo(AirNoText)
{
   var reg=/^\w{2}\d{3,4}$/;
   if (!reg.exec(AirNoText)) return false 
return true 

//	if ( IsValidText(AirNoText) )	
//	{
//		var ASCNum = AirNoText.charCodeAt(0);
//		if ( !isString(ASCNum) )
//			return false;	
//		else
//			return true;
//	}
//	else	
//		return false;
}
//检查输入文本框中字符的合法性
function IsValidText(mytext)
{
	if ( mytext.search(r2) >= 0 )
	{
		return false;
	}
	else
	{
		return true;
	}
}

<!------------------------------------------------下面是处理 Radio 的函数---------------------------------------------------------------------->
function getRadioVal_Txt(sFormName,sRadioId,IsValOrTxt)
{
	var sRtn_Val = '';
	var sRtn_Txt = '';
	var oRd = null;
	
	if(""!=sFormName)
		{
			oRd = eval("document." + sFormName + "." + sRadioId);
		}
	else
		{
			oRd = eval("document.all('" + sRadioId + "')");
		};
															//	alert("oRd==" + oRd);
	if(oRd)	{
		var rdLen = oRd.length;
		if(rdLen>1)	{			//alert(oRd.length);
			for(i=0;i<oRd.length;i++)	{
				if(oRd[i].checked)	{
					sRtn_Val = oRd[i].value;
					sRtn_Txt = oRd[i].rdText;
				};
			};
		}
		else	{
			oRd.checked=true;
			sRtn_Val = oRd.value;
			sRtn_Txt = oRd.rdText;
		};
	};				
	switch(IsValOrTxt)	{
			case 'Val':
				return sRtn_Val;
				break;
			case 'Txt':
				return sRtn_Txt;
				break;
			default:
				return '';
		};
}

function getRadioAnyVal(sFormName,sRadioId,sValKey)
{
	var sRtn_Val = '';
	var oRd = eval("document." + sFormName + "." + sRadioId);
														//		alert("oRd==" + oRd);
	if(oRd)	{
		var rdLen = oRd.length;
		if(rdLen>1)	{			//alert(oRd.length);
			for(i=0;i<oRd.length;i++)	{
				if(oRd[i].checked)	{
					sRtn_Val = eval("oRd[i]." + sValKey);
				};
			};
		}
		else	{
			oRd.checked=true;
			sRtn_Val = eval("oRd." + sValKey);
		};
	};				
	return sRtn_Val;
}
///
// 檢查日期格式是否正確
// yyyy-mm-dd; yyyy-m-d;
function dateCheck(strvalue)
{
	if(strvalue == "" || strvalue == null)
		return false;
	var value = strvalue;
	var pattern=/^([\d]{4})-([\d]{1,2})-([\d]{1,2})$/;
	
	if(value.length >= 6 && value.length <= 10)
	{
		var ymd = value;
		var strY = "";
		var y = 0;
		var m = 0;
		var d = 0;
		if(!pattern.test(value)) return false;		//时间格式不对
		
			strY = RegExp.$1;
			y = eval(RegExp.$1);			
			m = eval(RegExp.$2);
			d = eval(RegExp.$3);
			if((y == 0 || m > 12 || m == 0 || d == 0) || 
					((m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) && d > 31) || 
					((m==4 || m==6 || m==9 || m==11) && d > 30) || 
					(m==2 && y%4==0 && d > 29) || (m==2 && y%4 != 0 && d > 28))
			{
				return false;
			}	
			if (y>=100 && y<1000)
			{
				return false;
			}
	}
	else if (value.length > 0)
	{
		return false;	
	}
	return true;
}

// 檢查日期的合理性

// isEqual: true - 起始日期 <= 结束日期
//				false - 其实日期 < 结束日期
function chkDateFromTo(sDate,  eDate, isEqual)
{
	var flg = true;
	// 日期格式檢查
	if (dateCheck(sDate))
	{
		// 另外的日期格式檢查

		if(!dateCheck(eDate))
		{
			return false;
		}
		else 
		{
			// 如果有未填,不進行比較
			if (trim(sDate) =="" || trim(eDate) =="")
			{
				return true;
			}
			flg = dateFromToCheck(sDate, eDate,isEqual);
		}
		return flg;
	}
	else
		return false;
}

// 檢查起始日期與結束日期
function dateFromToCheck(start_date,end_date,isEqual)
{
	var strSeparator = "-"; //split symbol
	var strDateArrayStart;
	var strDateArrayEnd;
	strDateArrayStart = start_date.split(strSeparator);
	strDateArrayEnd = end_date.split(strSeparator);
	var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);
	var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);
	//check date
	var intDay;
	intDay = (strDateE-strDateS)/(1000*3600*24);
	if(isEqual)
	{
		if(intDay < 0) return false;
		return true;
	}
	else
	{
		if(intDay <= 0) return false;
		return true;
	}
}

//得到今天日期
function getSysDate()
{
	var d=new Date();
	var day=d.getDate();
	var month=d.getMonth() + 1;
	var year=d.getFullYear();
	var today=year + "-" + month + "-" + day;
	return today;
}		

//对带提示信息的输入框进行js控制:点击后提示信息消失
//txtInput是输入框的ID/NAME，n来表示对输入框的状态，hint是输入框内的提示信息
function ClearHint(txtInput,n,hint) 
{
	//当输入框内的文字被点击的时候
	if (n == 0 && txtInput.value ==hint)
		{
			txtInput.value="";txtCityNameInput.style.cssText = "color:#000";//控制显示颜色
		}
	//当输入框成为焦点时候的状态
	if (n == 1)
	{			           
		if(txtInput.value == hint)
		{
			txtInput.value="";
		}
		txtInput.style.cssText = "color:#000";//控制显示颜色
	}
	//失去焦点的状态
	if (n == 2 && txtInput.value == hint)
	{
		txtInput.value =hint;txtInput.style.cssText = "color:#aaa";//控制显示颜色
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////these codes below are to remove or add item to a droplist controlbox
function appendItem(obj,val,text)
{
	 //start --added by wangweili  at 2007-06-26
  if(obj==null || obj==undefined)
	return;
 //end---
 
	var elOptNew = document.createElement('option');
	elOptNew.text = text;
	elOptNew.value = val;

  try {
    obj.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    obj.add(elOptNew); // IE only
  }
}

function removeLastItem(obj)
{
  if (obj.length > 0)
  {
    obj.remove(obj.length - 1);
  }
}

function removeSelItem(obj)
{
  var i;
  for (i = obj.length - 1; i>=0; i--) {
    if (obj.options[i].selected) {
      obj.remove(i);
    }
  }
}

function clearItem(obj)
{
  //start --
  if(obj==null || obj==undefined)
	return;
 //end---	
  while (obj.length>0)
  {
	removeLastItem(obj);
  }
}
//thiese codes above are to remove or add item to a droplist controlbox
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///显示/隐藏多行
function displayRows( tbodyId, isShow)
{
	try
	{
		var tbody=document.getElementById(tbodyId);
		if(isShow)
		{
			tbody.style.display="";
		}
		else
		{
			tbody.style.display="none";
		}
	}
     catch( expError )
     {
          alert( expError.number + "   " + expError.description );
     }
}

//控制textarea对象可输入的最大字符数
function textCounter(field,maxlimit) 
{ 
  if (field.value.length > maxlimit) 
  {
     field.value = field.value.substring(0, maxlimit); 
  }
} 



//获取域名
function getHost(url) 
{ 
       var host = "null";  
       if(typeof url == "undefined" || null == url)  
          {url = window.location.href; }  
        var regex = /http:\/\/[^/]+/;
        var match = url.match(regex);  
        if(typeof match != "undefined" && null != match)  
          {host = match[0]; } 
        return host.replace("http://","");  
}
function FillCityList(CityCtrlId,DefaultValue)
{
	var CityCodes=new Array("AKU","AAT","AKA","AQG","AVA","AYN","AOG","BFU","BAV","BSD","BHY","BBB","NAY","PEK","CGQ","CNI","CSX","CIH","CGD","CZX","CHG","CCC","CTU","CIF","CKG","DAX","DLU","DLC","DAT","DZU","DDG","DIG","DSN","DOY","DNH","ENH","FUO","FOC","FUG","FYN","KOW","KHH","GOQ","GHN","CAN","KWE","KWL","HRB","HMI","HAK","HLD","HZG","HGH","HFE","HTN","HEK","HNY","HET","TXN","HYN","HUZ","KNC","JIL","TNA","JNG","JMU","JGN","JNZ","JGS","JDZ","JHG","JIU","JZH","CHW",
	"KHG","KRY","KCA","KRL","KMG","LXA","LHW","LHN","LJG","LYG","LIA","LXI","LYI","LZH","LUZ","LZO","LYA","MZG","NZH","LUM","MXZ","MIG","MDG","KHN","NAO","NKG","NNG","NTG","NNY","NGB","PZI","NDG","IQM","SHP","TAO","IQN","JUZ","JJN","SHS","SYX","SWA","SXJ","SSS","SHA","PVG","SZX","SHE","SJW","SYM","SZV","TCG","TYN","TSN","TNH","TGO","TEN","WXN","WEH","WEF","WNZ","HLH","URC","WUX","WHU","WUZ","WUH","WUS","XIY","XIC","XNN","XIL","XMN","XFN","XEN","XIN","XNT","XUZ","YNT",
	"ENY","YNJ","YNZ","YIN","YBP","YIH","YIW","INC","UYN","YUA","YCU","ZHA","DYG","ZAT","CGO","HSN","ZUH","ZYI");	
    var CityNames=new Array("A 阿克苏","A 阿勒泰","A 安康","A 安庆","A 安顺","A 安阳","A 鞍山","B 蚌埠","B 包头","B 保山","B 北海","B 北京","B 北京南苑","B 北京首都","C 长春","C 长海","C 长沙","C 长治","C 常德","C 常州","C 朝阳","C 潮州","C 成都","C 赤峰","C 重庆","D 达县","D 大理","D 大连","D 大同","D 大足","D 丹东","D 迪庆","D 东胜","D 东营","D 敦煌","E 恩施","F 佛山","F 福州","F 阜阳","F 富蕴","G 赣州","G 高雄","G 格尔木","G 广汉","G 广州","G 贵阳","G 桂林","H 哈尔滨",
    "H 哈密","H 海口","H 海拉尔","H 汉中","H 杭州","H 合肥","H 和田","H 黑河","H 衡阳","H 呼和浩特","H 黄山","H 黄岩",
    "H 徽州","J 吉安","J 吉林","J 济南","J 济宁","J 佳木斯","J 嘉峪关","J 锦州","J 井冈山","J 景德镇","J 景洪","J 九江","J 九寨沟","J 酒泉","K 喀什","K 克拉玛依","K 库车","K 库尔勒","K 昆明","L 拉萨","L 兰州","L 梨山","L 丽江","L 连云港","L 梁平","L 林西","L 临沂","L 柳州","L 庐山","L 泸州","L 洛阳","M 马公","M 满洲里","M 芒市","M 梅县","M 绵阳","M 牡丹江","N 南昌","N 南充","N 南京","N 南宁","N 南通","N 南阳","N 宁波","P 攀枝花","Q 齐齐哈尔","Q 且末","Q 秦皇岛/山海关",
    "Q 青岛","Q 庆阳","Q 衢州","Q 泉州/晋江","S 荆沙","S 三亚","S 汕头","S 鄯善","S 上海","S 上海虹桥","S 上海浦东","S 深圳","S 沈阳","S 石家庄","S 思茅","S 苏州","T 塔城","T 太原","T 天津","T 通化","T 通辽","T 铜仁","W 万州","W 威海","W 潍坊","W 温州","W 乌兰浩特","W 乌鲁木齐","W 无锡","W 芜湖","W 梧州","W 武汉","W 武夷山","X 西安","X 西昌","X 西宁","X 锡林浩特","X 厦门","X 襄樊","X 兴城","X 兴宁","X 邢台","X 徐州","Y 烟台","Y 延安","Y 延吉","Y 盐城","Y 伊宁","Y 宜宾",
    "Y 宜昌","Y 义乌","Y 银川","Y 榆林","Y 元谋","Y 运城","Z 湛江","Z 张家界","Z 昭通","Z 郑州","Z 舟山","Z 珠海","Z 遵义");
	var obj = document.getElementById(CityCtrlId);

	if(obj!=null)
	{
		for(var k=0;k<CityCodes.length;k++)
		{
		
			var elOptNew = document.createElement('option');
			elOptNew.text = CityNames[k];
			elOptNew.value = CityCodes[k]; 
			
			try {
				obj.add(elOptNew, null); 
				}
			catch(ex) 
			{
				obj.add(elOptNew); // IE only
			}
			if(DefaultValue==CityCodes[k])
			{
				obj.options[k].selected=true;
			}
		}
	}	
}
function FillCmsCityList(CityCtrlId,DefaultValue)
{
	var CityCodes=new Array("安吉","安庆","澳门","蚌埠","包头","保定","北戴河","北海","北京","长春","长沙","长治","常熟","常州","成都","承德","慈溪","从化","重庆","大理","大连","大庆","大同","丹东","东莞","敦煌","峨眉山","恩施","凤凰县","奉化","佛山","福州","抚顺","阜阳","广州","贵阳","桂林","哈尔滨","海口","杭州","合肥","河源","衡水","呼和浩特","花都","淮南","黄山","黄岩","惠州","吉林","济南","济宁","嘉善","嘉兴","江阴","金华","锦州","晋城","晋江","荆州","景德镇","九江","九寨沟","开封","开平","昆明","昆山","拉萨","兰州","乐清","丽江","丽水","溧阳","连云港","临安","临沂","柳州","庐山","泸州","洛阳","茂名","牡丹江","南昌","南京","南宁","南通","南阳","宁波","番禺","盘锦","蓬莱","平遥","萍乡","齐齐哈尔","千岛湖","秦皇岛","青岛","琼海","曲阜","曲靖","衢州","泉州","日照","三门峡","三亚","汕头","上海","韶关","韶山","绍兴","深圳","沈阳","石家庄","石狮","顺德","苏州","台州","太仓","太原","泰安","泰州","唐山","天津","桐庐","万宁","威海","潍坊","温岭","温州","乌鲁木齐","无锡","吴江","芜湖","武汉","武夷山","西安","西宁","西双版纳","厦门","咸阳","香港","香格里拉","湘潭","襄樊","象山","萧山","新乡","徐州","烟台","延安","扬州","阳江","阳朔","宜昌","宜兴","义乌","银川","玉溪","岳阳","运城","湛江","张家港","张家界","漳州","肇庆","镇江","郑州","中山","舟山","株洲","珠海","淄博");	
    var CityNames=new Array("A 安吉","A 安庆","A 澳门","B 蚌埠","B 包头","B 保定","B 北戴河","B 北海","B 北京","C 长春","C 长沙","C 长治","C 常熟","C 常州","C 成都","C 承德","C 慈溪","C 从化","C 重庆","D 大理","D 大连","D 大庆","D 大同","D 丹东","D 东莞","D 敦煌","E 峨眉山","E 恩施","F 凤凰县","F 奉化","F 佛山","F 福州","F 抚顺","F 阜阳","G 广州","G 贵阳","G 桂林","H 哈尔滨","H 海口","H 杭州","H 合肥","H 河源","H 衡水","H 呼和浩特","H 花都","H 淮南","H 黄山","H 黄岩","H 惠州","J 吉林","J 济南","J 济宁","J 嘉善","J 嘉兴","J 江阴","J 金华","J 锦州","J 晋城","J 晋江","J 荆州","J 景德镇","J 九江","J 九寨沟","K 开封","K 开平","K 昆明","K 昆山","L 拉萨","L 兰州","L 乐清","L 丽江","L 丽水","L 溧阳","L 连云港","L 临安","L 临沂","L 柳州","L 庐山","L 泸州","L 洛阳","M 茂名","M 牡丹江","N 南昌","N 南京","N 南宁","N 南通","N 南阳","N 宁波","P 番禺","P 盘锦","P 蓬莱","P 平遥","P 萍乡","Q 齐齐哈尔","Q 千岛湖","Q 秦皇岛","Q 青岛","Q 琼海","Q 曲阜","Q 曲靖","Q 衢州","Q 泉州","R 日照","S 三门峡","S 三亚","S 汕头","S 上海","S 韶关","S 韶山","S 绍兴","S 深圳","S 沈阳","S 石家庄","S 石狮","S 顺德","S 苏州","T 台州","T 太仓","T 太原","T 泰安","T 泰州","T 唐山","T 天津","T 桐庐","W 万宁","W 威海","W 潍坊","W 温岭","W 温州","W 乌鲁木齐","W 无锡","W 吴江","W 芜湖","W 武汉","W 武夷山","X 西安","X 西宁","X 西双版纳","X 厦门","X 咸阳","X 香港","X 香格里拉","X 湘潭","X 襄樊","X 象山","X 萧山","X 新乡","X 徐州","Y 烟台","Y 延安","Y 扬州","Y 阳江","Y 阳朔","Y 宜昌","Y 宜兴","Y 义乌","Y 银川","Y 玉溪","Y 岳阳","Y 运城","Z 湛江","Z 张家港","Z 张家界","Z 漳州","Z 肇庆","Z 镇江","Z 郑州","Z 中山","Z 舟山","Z 株洲","Z 珠海","Z 淄博");
	var obj = document.getElementById(CityCtrlId);

	if(obj!=null)
	{
		for(var k=0;k<CityCodes.length;k++)
		{
		
			var elOptNew = document.createElement('option');
			elOptNew.text = CityNames[k];
			elOptNew.value = CityCodes[k]; 
			
			try {
				obj.add(elOptNew, null); 
				}
			catch(ex) 
			{
				obj.add(elOptNew); // IE only
			}
			if(DefaultValue!="" && DefaultValue==CityCodes[k])
			{
				obj.options[k].selected=true;
			}
		}
	}	
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function fordight(dight,how) 
{//dight:要进行四舍五入的数据;how:进行四舍五入的小数位数.
     var l = dight.toString().length - (dight.toString().indexOf('.') + 1); 
     for (var i = l; i >= how; i --) 
     { 
         dight = new Number(dight.toFixed(i)); 
     }                       
     return dight; 
} 
//function CheckMobile(MobileNo)
//	{
//		if (MobileNo.length!=11) 
//		{return false;}	
//		
//		if (MobileNo.substring(0,2)!="13")
//		{return false;}
//		
//		return validate(MobileNo,"Integer");
//	}
//验证手机号码
function CheckMobile(Phone)
{   
    var p =/^[1][3,5,8][0-9]{9}$/;
    return p.test(Phone);
}
	
function CheckPhone(PhoneNo)
{
	var i,j,strTemp;
	strTemp="0123456789-()# ";
	 
	if (PhoneNo.length==0)
	{
		return false;
	}
	 
	for (i=0;i<PhoneNo.length;i++)
	{
		j=strTemp.indexOf(PhoneNo.charAt(i)); 
		if (j==-1)
		{
			
			return false;
		}
	}
	
	return true;
}
//检查时间格式
function CheckTime(time)
{
    var re=/^(([0-1][0-9])|(2[0-3])):([0-5][0-9])$/;
    return (re.test(time));
}
//验证邮箱
function CheckMail(mail)
{    //\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
    var t = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    return t.test(mail); 
}	    
	    
//验证电话号码
function CheckTel(tel)
{             //(\(\d{3}\)|\d{3}-)?\d{8}
    var t = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
    return t.test(tel); 
}
//日期天数
function DateDiff(D1,D2,DatePart)
{
	var Date1 = new Date(D1.replace("-",","));
	var Date2 = new Date(D2.replace("-",","));
	var Years = Date2.getFullYear()-Date1.getFullYear();
	var Months = Date2.getMonth()-Date1.getMonth();
	var Days = Date2.getDate()-Date1.getDate();
	switch(DatePart)
	{
		case "d": return (Date2.valueOf()-Date1.valueOf())/86400000;
		case "m": return Years*12+Months;
		case "y": return Years;
	}
}
//验证航班号格式
function CheckAirNum(num)
{
    var t=/^([a-zA-Z][0-9]|[0-9][a-zA-Z]|[a-zA-Z]{2})(\d{1,4})$/;
    return t.test(num); 
}
//IndexOf
function IndexDemo(Source,Str)
{
   var s = Source.indexOf(Str);
   return(s);
}
//JS获取URL参数值
function GetUrlParam(url, paramName )
{
    var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
    //var oMatch = oRegex.exec( window.top.location.search ) ; //获取当前窗口的URL
    var oMatch = oRegex.exec( url ) ;
    if ( oMatch && oMatch.length > 1 )
        return oMatch[1] ;  //返回值
    else
        return '' ;
}
function intval(v) 
{     
    v = parseFloat(v); 
    return isNaN(v) ? 0 : v; 
}  

//得到某一元素的绝对位置,不管该元素嵌套在多复杂的位置里   
function getElementPos(obj)   
{   
    var left = 0;   
    var top = 0;   
  
    if(obj.x)   
    {   
        left= obj.x;   
        top = obj.y;   
    }else if(obj.offsetParent)   
    {      
        while(obj.offsetParent)   
        {          
            left += obj.offsetLeft;   
            top  += obj.offsetTop;   
            obj = obj.offsetParent;   
        }    
    }   
  
    return [left,top];//封装在一个数组里   
}   

//同时兼容ie和ff的写法
function getEvent()
{     
    if(document.all)    return window.event;        
    func=getEvent.caller;            
    while(func!=null){    
     var arg0=func.arguments[0];
     if(arg0){
         if((arg0.constructor==Event || arg0.constructor ==MouseEvent)
             || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){    
             return arg0;
         }
     }
     func=func.caller;
    }
    return null;
}
//为FF增加contains方法
if(typeof(HTMLElement)!="undefined")
{      
  HTMLElement.prototype.contains    =    function(obj) {      
      while(obj!=null    &&    typeof(obj.tagName)!="undefind"){   
   if(obj==this)       
   return    true;       
   obj=obj.parentNode;   
   }       
   return    false;      
  };      
}  
function CheckCreditCard(s) {
    if (s == "4580603482981582" || s == "4029976401161809") {
        return true;
    }

    var v = "0123456789";
    var w = "";
    for (var i = 0; i < s.length; i++) {
        x = s.charAt(i);
        if (v.indexOf(x, 0) != -1)
            w += x;
    }
    var j = w.length / 2;
    if (j < 6.5 || j > 8 || j == 7) return false;
    var k = Math.floor(j);
    var m = Math.ceil(j) - k;
    var c = 0;
    for (var i = 0; i < k; i++) {
        a = w.charAt(i * 2 + m) * 2;
        c += a > 9 ? Math.floor(a / 10 + a % 10) : a;
    }
    for (var i = 0; i < k + m; i++) c += w.charAt(i * 2 + 1 - m) * 1;
    return (c % 10 == 0);
}
