function $(id) {
    return document.getElementById(id);
}
function isNotaNumber(inputString){
	return isNaN(inputString);
}

//两个值是否相等的比较函数，相等返回true，不相等返回false。
function compareStr(a,b){
	if(a!==b){
		return false;
	}
	return true;
}

//数字检查函数
function checknumber(String){
	//正则表达式：全部由数字组成
	//^[0-9]+$
	var Letters = "1234567890";
	var i;
	var c;
	for( i = 0; i < String.length; i ++ ){
		c = String.charAt( i );
		if (Letters.indexOf( c ) ==-1){
			return true;
		}
	}
	return false;
}
function checkNumber(str){
	//正则表达式：全部由数字组成
	//^[0-9]+$
	var StrPat=/^[0-9]+$/;
	var matchArray = str.match(StrPat);
	if(matchArray==null){
		return true;
	}
}

//电话号码检查函数
function checkphone(String){
	//正则表达式：全部由数字组成
	//^[0-9]+$
	var Letters = "1234567890-; ";
	var i;
	var c;
	for( i = 0; i < String.length; i ++ ){
		c = String.charAt( i );
		if (Letters.indexOf( c ) ==-1){
			return true;
		}
	}
	return false;
}

//电子邮件地址检查函数
function checkemail(emailStr){
	//  var emailPat=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; //email
	var emailPat=/^([a-zA-Z0-9_\-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; //email
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null){
		return true;
	}
}

function ImgSubmit(obj){
	obj.submit();
}
function ImgReset(obj){
	obj.reset();
}

//金额检查函数
function checkmoney(moneyStr){
// 正则表达式
// ^[0-9]+$  全部由数字组成
// ^[0-9]*\.?[0-9]{0,2}$  金额之一
// ^\d{1,3}(\,\d{3})*\.\d{2}$  金额之二
	var moneyPat=/^[0-9]*\.?[0-9]{0,2}$/; //money
	var matchArray=moneyStr.match(moneyPat);
	if (matchArray==null){
		return true;
	}
}

//非法字符检查函数
function checkStr(Str){
	var StrPat=/^(?:[\u4e00-\u9fa5]*\w*\s*)+$/;
	
	var matchArray = Str.match(StrPat);
	if (matchArray == null){
		return true;
	}
}

function checkIdcard(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  //Errors[4];
	//身份号码位数及格式检验
	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 false  //Errors[0];
			else return false  //Errors[2];
			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  //Errors[0]; //检测ID的校验位
				else return false //Errors[3];
			}else return false  //Errors[2];
			break;
		default:
			return false //Errors[1];
			break;
	}
}
//截取打印
function printThis(){
	bodyHtml = window.document.body.innerHTML;
	startStr = "<!--startprint-->";
	endStr   = "<!--endprint-->";
	prnHtml  = bodyHtml.substr(bodyHtml.indexOf(startStr)+17);
	prnHtml  = prnHtml.substring(0,prnHtml.indexOf(endStr));
	window.document.body.innerHTML = prnHtml;
	//window.document.body.style.background = '';
	//if(confirm('确定打印吗？')){
		window.print();
	//}
	window.document.body.innerHTML = bodyHtml;
	//window.document.body.style.background = '';
}

function trim(str){
	var len;
	var i,j;
	len = str.length;
	i=0;
	j=0;
	while(j<len){
		if(str.charAt(i) == " ") i++;
		else break;
		j++;
	}
	str = str.substr(i,len-i);
	len = str.length;
	i = len - 1;
	j = len - 1;
	while(j>0){
		if(str.charAt(i) == " ") i--;
		else break;
		j--;
	}
	str = str.substr(0,j+1);
	return str;
}

