var isIE = document.all?true:false;
var regObj={
	_require : /\S+/,
	_email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
	_phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,
	_mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/,
	_url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,
	_idCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,
	_currency : /^\d+(\.(\d|\d\d))?$/,
	_number : /^\d+$/,
	_zip : /^[1-9]\d{5}$/,
	_qq : /^[1-9]\d{4,8}$/,
	_integer : /^[-\+]?\d+$/,
	_double : /^[-\+]?\d+(\.\d+)?$/,
	_english : /^[A-Za-z]+$/,
	_Benglish: /^[A-Z]+$/,
	_chinese :  /^[\u0391-\uFFE5]+$/,
	_unSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/,
	_date: /^(\d{4})([-./])(\d{2})\2(\d{2})$/
}
function CheckObj(obj) {

	if(obj.validator==null||obj.validator=="undefined"||obj.validator=="")return true;

	if(!regObj._require.exec(obj.value))
	{
		showMsg(obj,0,"必须填写");
		return false;
	}
	var rtn_flag=true;
	switch(obj.validator)
	{
		case "require":
			if(!doValidate(regObj._require,obj))
			{
				rtn_flag=false;
			}
			break;
			
		case "qq":
			if(!doValidate(regObj._qq,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "phone":
			if(!doValidate(regObj._phone,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "mobile":
			if(!doValidate(regObj._mobile,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "number":
			if(!doValidate(regObj._number,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "url":
			if(!doValidate(regObj._url,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "english":
			if(!doValidate(regObj._english,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "date":
			if(!doValidate(regObj._date,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "currency":
			if(!doValidate(regObj._currency,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "chinese":
			if(!doValidate(regObj._chinese,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "zip":
			if(!doValidate(regObj._currency,obj))
			{
				rtn_flag=false;
			}
			break;
		case  "unSafe":
			if(!doValidate(regObj._unSafe,obj))
			{
				rtn_flag=false;
			}
			break;
	}
	return rtn_flag;
}
//提交的时候进行全部验证
function validateAll(formObj)
{
	var inputs=formObj.getElementsByTagName('input');
	var rtn_flag=true;
	for(var i=0; i< inputs.length; i++)
	{
		if(!CheckObj(inputs[i]))rtn_flag=false;
	}
	return rtn_flag;
}
//进行正则的验证，并返回正确的信息
function doValidate(reg,obj)
{
	if(reg.exec(obj.value))	
	{//验证OK
		showMsg(obj, 1,obj.okmsg);
		return true;
	}
	else
	{//验证错误
		 showMsg(obj, 0,obj.errmsg);
		return false;
	}
}
//初始化表单元素
function initForm(formObj) {
	var f = formObj;
	var inputs = f.getElementsByTagName('input');
	for(var i=0; i< inputs.length; i++)
	{
		var obj = inputs[i];
		if(obj.info && obj.info!="" && obj.info!=null ){
			var errorMsg=el(obj.name + '_info');
			if(!errorMsg){
				errorMsg=document.createElement('span');
				errorMsg.id=obj.name + '_info';
				errorMsg.className = 'explain_blue';
				errorMsg.innerHTML = '<img src="'+imgpath+'info.gif" align="absmiddle">&nbsp;' + obj.info;
				obj.parentNode.insertBefore(errorMsg,obj.nextSibling);
			}
			errorMsg.style.display = '';
		}
		if(obj.name == 'seccodeverify') {
			obj.value = '';
		}
		if(obj.type =='text' || obj.type=='password') {
			obj.onblur = CheckChange;
			obj.onfocus = onFocus;
			if(obj.value != '') {
				CheckObj(obj);
			}
		}
		
	}
}
function CheckChange(evnt) {
	if(isIE) {
		obj = event.srcElement;
	} else {
		obj = evnt.target;
	}
	//<div id="usernametips" class="tips"><div class="lines">由2-32个英文字母、数字、中划线(-)、下划线(_)组成，必须以字母开头。</div></div>
	var temptips=document.getElementById(obj.id+'tips');
	if (temptips) {
		temptips.style.display='none';
	//	myTimeout = window.setTimeout(function() {temptips.style.display='none';}, 200);//把说明隐藏进行验证
	}
	CheckObj(obj);//进行验证对象
}
function onFocus(evnt) {
	if(isIE) {
		obj = event.srcElement;
	} else {
		obj = evnt.target;
	}
	var errorMsg=el(obj.name + '_info');
	if(errorMsg&&errorMsg!=null) {
		errorMsg.className = 'explain_blue';
		errorMsg.innerHTML = '<img src="'+imgpath+'info.gif" align="absmiddle">&nbsp;' + obj.info;
		errorMsg.style.display = '';
	}
}
function showMsg(obj, code,msg) {
	var errorMsg=el(obj.name + '_info');
	if(!errorMsg){
		errorMsg=document.createElement('span');
		errorMsg.id=obj.name + '_info';
		errorMsg.className = 'explain_green';
		obj.parentNode.insertBefore(errorMsg,obj.nextSibling);
	}
	errorMsg.style.display = '';
	if(code == 1) //验证ok的
	{	
		errorMsg.className = 'explain_green';
		errorMsg.innerHTML = '<img src="'+imgpath+'check_right.gif" align="absmiddle">&nbsp;' + msg;
		return;
	} else if(code==0)//验证error
	 {	
		errorMsg.className = 'explain_red';
		errorMsg.innerHTML = '<img src="'+imgpath+'check_error.gif" align="absmiddle">&nbsp;' + msg;
		return;
	}
}
//得到纵坐标
function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
function el(n) {
	return document.getElementById(n);
}

