
String.prototype.trim  = function()
{
	return this.replace(/^\s+|\s+$/g,"");
}
function GetVerifyBit(id){
    var result;
    var nNum=eval(id.charAt(0)*7+id.charAt(1)*9+id.charAt(2)*10+id.charAt(3)*5+id.charAt(4)*8+id.charAt(5)*4+id.charAt(6)*2+id.charAt(7)*1+id.charAt(8)*6+id.charAt(9)*3+id.charAt(10)*7+id.charAt(11)*9+id.charAt(12)*10+id.charAt(13)*5+id.charAt(14)*8+id.charAt(15)*4+id.charAt(16)*2);
    nNum=nNum%11;
    switch (nNum) {
       case 0 :
          result="1";
          break;
       case 1 :
          result="0";
          break;
       case 2 :
          result="X";
          break;
       case 3 :
          result="9";
          break;
       case 4 :
          result="8";
          break;
       case 5 :
          result="7";
          break;
       case 6 :
          result="6";
          break;
       case 7 :
          result="5";
          break;
       case 8 :
          result="4";
          break;
       case 9 :
          result="3";
          break;
       case 10 :
          result="2";
          break;
    }
    //document.write(result);
    return result;
}
//15位转18位
function Get18(idCard){
  var id = idCard;
  var id18=id;
  if (id.length==0){
   alert("请输入15位身份证号！");
   return false;
  }
  if (id.length==15){
   if (id.substring(6,8)>20){
    id18=id.substring(0,6)+"19"+id.substring(6,15);
   }else{
    id18=id.substring(0,6)+"20"+id.substring(6,15);
   }

   id18=id18+GetVerifyBit(id18);
  }
  return id18;
}
var waitTm=5000;
function popMsg(msg,waitTm,top,left,height,width)
{
		var popMsg = document.getElementById("popMsgDiv");
		if(!popMsg){
			popMsg = document.createElement("div");	
			popMsg.id= "popMsgDiv";
			popMsg.style.position = "absolute";
			document.body.appendChild(popMsg);
		}
		popMsg.style.zIndex = "4";
		popMsg.display="block";
		popMsg.style.height = height+"px";
		popMsg.style.width = width+"px";
		popMsg.style.top = top;
		popMsg.style.left = left;
		popMsg.innerHTML = '<div style="position:absolute; background:#FFFFFF;padding:3px;border:1px solid #666;color:#FF0000";><span STYLE="font: normal  10pt Arial">'+msg+'</span></div>';
		popMsg.style.display = "";
		if(waitTm > 0)
		{
			window.setTimeout(closePopMsg,waitTm);
		}
}
function closePopMsg()
{
	var popMsg = document.getElementById("popMsgDiv");
	if(popMsg)
	{
		popMsg.style.display = "none";
	}
}
function strValidateTime(str)
{
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r==null)return false; 
	var d= new Date(r[1], r[3]-1,r[4]); 
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
function strDateTime(str)
{
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
    var r = str.match(reg); 
    if(r==null)return false; 
    var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
    return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
function getCurrentTime()
{
	if($("dqsj"))
	{
		var dqsj=$("dqsj").value;
		return dqsj;
	}
	today = new Date(); 
	var todayStr = today.getYear() + "-";
	 if((today.getMonth()+1)<10){
		  todayStr=todayStr+"0"+(today.getMonth()+1);
	 }
	 else{
	  todayStr=todayStr+(today.getMonth()+1);
	 }

	 if(today.getDate()<10){
		  todayStr=todayStr+"-0"+today.getDate();
	 }
	 else{
		  todayStr=todayStr+"-"+today.getDate();
	 }
	 todayStr = todayStr +" "

	 if(today.getHours()<10){
		  todayStr=todayStr+"0"+today.getHours();
	 }
	 else{
		  todayStr=todayStr+today.getHours();
	 }

	 if(today.getMinutes()<10){
		  todayStr=todayStr+":0"+today.getMinutes();
	 }
	 else{
		  todayStr=todayStr+":"+today.getMinutes();
	 }
		 todayStr = todayStr + ":00";
	return todayStr;
}


//对象的绝对位置
function getObjectPos(e)               
{
  var t = {x:e.offsetLeft, y:e.offsetTop}; 
  if(e=e.offsetParent)
  {
    var r = getObjectPos(e);
    t.x += r.x;
    t.y += r.y;
  }
  return t;
} 

function popMsg2(obj,msg)
{
		var popMsg = document.getElementById("popMsgDiv");
		var objPos=getObjectPos(obj);
		if(!popMsg){
			popMsg = document.createElement("div");	
			popMsg.id= "popMsgDiv";
			popMsg.style.position = "absolute";
			document.body.appendChild(popMsg);
		}
		popMsg.style.zIndex = "4";
		popMsg.display="block";
		popMsg.style.height = obj.style.height+20;
		popMsg.style.width = msg.length*20;
		popMsg.style.top = objPos.y-20;
		popMsg.style.left = objPos.x;
		popMsg.innerHTML = '<div style="position:absolute; background:#FFFFFF;padding:3px;border:1px solid #666;color:#FF0000";><span STYLE="font: normal  10pt Arial">'+msg+'</span></div>';
		popMsg.style.display = "";
		if(waitTm > 0)
		{
			window.setTimeout(closePopMsg,waitTm);
		}
		obj.focus();
}

function emptyPopMsg(obj,msg)
{
        if(trimAll(obj.value)=='')
        {
			var popMsg = document.getElementById("popMsgDiv");
			var objPos=getObjectPos(obj);
			if(!popMsg)
			{
				popMsg = document.createElement("div");	
				popMsg.id= "popMsgDiv";
				popMsg.style.position = "absolute";
				document.body.appendChild(popMsg);
			}
			popMsg.style.zIndex = "4";
			popMsg.display="block";
			popMsg.style.height = obj.style.height+20;
			popMsg.style.width = msg.length*20;
			popMsg.style.top = objPos.y-20;
			popMsg.style.left = objPos.x;
			popMsg.innerHTML = '<div style="position:absolute; background:#FFFFFF;padding:3px;border:1px solid #666;color:#FF0000";><span STYLE="font: normal  10pt Arial">'+msg+'</span></div>';
			popMsg.style.display = "";
			if(waitTm > 0)
			{
				window.setTimeout(closePopMsg,waitTm);
			}
			obj.focus();
			return true;
		}else
		{
		    return false;
		}
}

//去首尾空格函数
function trimAll(data){
  var reg=/^ +| +$/g;
  var str=data.replace(reg,"");
  return str;
}

//判断小数
function checkDecimal(txtNum,msg)
{
    if(isNaN(txtNum.value))
    {
        popMsg2(txtNum,msg);
        txtNum.focus();
        return false;
    }
    return true;
}

//判断小数,不能为空
function checkDecimal2(txtNum,msg)
{
	if(trimAll(txtNum.value)=='')
	{
        popMsg2(txtNum,msg);
        return false;
	}
    if(isNaN(txtNum.value))
    {
        popMsg2(txtNum,msg);
        return false;
    }
    return true;
}

//验证驾驶证号是否合法
function validateCode(codeobj)
{
  var code=codeobj.value;
  if(!/(^[0-9a-zA-Z]{15}$)|(^[0-9a-zA-Z]{18}$)/.test(code))
  {
     popMsg2(codeobj,'证件号通常为十五位或十八位!');
	 return false;
  }
  return true;
}

//回车键替换Tab键
function keyDown(e)
{
	if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='textarea' && event.srcElement.type!='')
	{
		event.keyCode=9;
	} 
} 

//判断日期格式是否合法
function checkDate(dateobj,msg)
{
	var strDate=dateobj.value;
    var Months= new Array(31,28,31,30,31,30,31,31,30,31,30,31); 
    var objDate= new Date();
    var nowYear=objDate.getYear();
    var Leap = false; 
    var Valid=true;
    var strDate=trimAll(strDate);
    var Y=strDate.substr(0,4);
    var M=strDate.substr(5,2)
    var D=strDate.substr(8,2);
    var Reg=/^\d{4}-\d{2}-\d{2}$/;
    var accordToReg=Reg.exec(strDate);
    if(!accordToReg)
		Valid=false;
    if((Y % 4 == 0) && ((Y % 100 != 0) || (Y %400 == 0))) 
		Leap = true; 
	if((D < 1) || (D > 31) || (M < 1) || (M > 12) || (Y < 0)) 
		Valid=false;
    if((D > Months[M-1]) && !((M == 2) && (D > 28))) 
		Valid=false;
	if(!(Leap) && (M == 2) && (D > 28)) 
		Valid=false;
	if((Leap) && (M == 2) && (D > 29)) 
		Valid=false;
	if(parseInt(strDate.substr(0,2),10)<19 || parseInt(strDate.substr(0,2))>20)
		Valid=false;
//	if(parseInt(nowYear)-parseInt(Y)<0)
//	    Valid=false;
	if(!Valid)
	{
		 popMsg2(dateobj,msg);
		 return false;
	}
    return true;
}

function checkDateEmpty(dateobj,msg)
{
   if(dateobj.value!='')
   {
      return checkDate(dateobj,msg);
   }else
   {
      return true;
   }
}

//弹出模式对话框
function showMDialogFrame(url,width,height)
{
	showModalDialog(url, window, 'Dialogwidth:' + width + 'px;Dialogheight:' + height + 'px;status:no;help:no;resizable:yes');
}

function checkPromptInfo(checkName,info)
{	
		
 		var i = 0;
      	var flag = false;
		if( checkName == null)
	    {
			alert('没有要操作的数据!');
			return false;
        }
		if( checkName.length == null )
		{
			
	           	if(checkName.checked == true)
	           	{
	           		flag = true;
        	   	}
		}
		else
		{
			
		      for(; i < checkName.length; i++)
		      {
		           	if( checkName[i].checked == true)
		           	{
	        	   		flag = true;
	           			break;
        	   		}
          		}
		}


          if( flag == false )
          {
			alert('请选择要操作的数据!');
			return false;
          }
	return confirm(info);
}
function isCnCardId(idcard)
{
	var Errors=new Array(
	"验证通过!",
	"身份证号码位数不对!",
	"身份证号码出生日期超出范围或含有非法字符!",
	"身份证号码校验错误!",
	"身份证地区非法!"
	);
	var area={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:"国外"} 
	var idcard,Y,JYM;
	var S,M;
	var idcard_array = new Array();
	idcard_array = idcard.split("");
	//地区检验
	if(area[parseInt(idcard.substr(0,2))]==null) return false;
	//身份号码位数及格式检验
	switch(idcard.length){
	case 15:
	if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
	ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
	} else {
	ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
	}
	if(ereg.test(idcard)) return true;
	else return false;
	break;
	case 18:
	//18位身份号码检测
	//出生日期的合法性检查 
	//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
	//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
	if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
	ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
	} else {
	ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
	}
	if(ereg.test(idcard)){//测试出生日期的合法性
	//计算校验位
	S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
	+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
	+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
	+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
	+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
	+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
	+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
	+ parseInt(idcard_array[7]) * 1 
	+ parseInt(idcard_array[8]) * 6
	+ parseInt(idcard_array[9]) * 3 ;
	Y = S % 11;
	M = "F";
	JYM = "10X98765432";
	M = JYM.substr(Y,1);//判断校验位
	if(M == idcard_array[17]) return true; //检测ID的校验位
	else return false;
	}
	else return false;
	break;
	default:
	return false;
	break;
	}
} 
function setcss(sel,txt)
{
	var sel=document.getElementById(sel);
	var txt=document.getElementById(txt);
	var i=sel.selectedIndex;
	//txt.value=sel.options[i].text;
	var txtw=200;
	var selw=txtw+18;
	with(txt.style){
		position="absolute";
		width=txtw;
		left=null;
		top=null
	};
	with(sel.style){
		position="absolute";
		width=selw;
		left=null;
		top=null;
		clip="rect(0 "+selw+" 20 "+(selw-20)+")";
	};
}

function bigpress() 
{
    if (event.keyCode >= 97 && event.keyCode <= 122)
        event.keyCode = event.keyCode - 32;
}
function checkoutJszh(objName)
{
	
	var jszh=$(objName).value;
	if(jszh=='')
	{
		return true;
	}
	if(isCnCardId(jszh))
	{
		if(jszh.length==15)
		{
			jszh=Get18(jszh);
			$(objName).value=jszh;
		}
		return true;
	}else
	{
		return false;
	}
	
}
