// JavaScript Document
String.prototype.trim = function()
{
	// 用正则表达式将前后空格
	// 用空字符串替代。
	return this.replace(/(^\s*)|(\s*$)/g, "");
}
/**
 * 统计字符串字节数
 *
 * return	integer
 */
String.prototype.ByteCount = function()
{
	txt = this.replace(/(<.*?>)/ig,'');
	txt = txt.replace(/([\u0391-\uFFE5])/ig, '11');
	var count = txt.length;
	return count;
}

function CheckFocus(objstr,msgstr)   //获得焦点事件
{
	var obj = document.getElementById(objstr);
	obj.className = "box_hint";
	obj.innerHTML = msgstr;
}

function CheckCodeBlur(obj)
{
	var re = /([0-9]){15}/;
	var count = obj.value.trim().ByteCount();
	var RegCode = document.getElementById("RegCode");
	if (count == 0)
	{
		RegCode.className = "box_error";
		RegCode.innerHTML = "系统检测到你未有任何输入，此项为必填内容，请重新填写！";
	}
	else if (((obj.value.trim() != "") && ( count != 15))|| !obj.value.match(re))
	{
		RegCode.className = "box_error";
		RegCode.innerHTML = "您输入的内容不符合规范，请重新填写！";
	}
	else
	{
		//web.CustomerRegedit.IsReg(obj.value.trim(),isreg_callback);
		var flag = web.CustomerRegedit.IsReg(obj.value.trim()).value;
		if (flag )
		{
			RegCode.className = 'box_right';
			RegCode.innerHTML = '输入的内容符合规范，可以使用！';
		}
		else
		{
			RegCode.className = "box_error";
			RegCode.innerHTML = "您输入的商户编号不存在或已注册，请重新填写！";
		}
	}
}
function isreg_callback(response)
{
		if (response.error != null)
		{
			alert(response.error.Message);
			return;
		}
		alert(response.value);
		return;
}


function CheckPasswordBlur(obj) //Password 失去焦点
{
	var re = /^[\w]+$/;
	var count = obj.value.trim().ByteCount();
	var regPassword = document.getElementById("regPassword");
	if ( (obj.value.trim() == '') ) {
		regPassword.className="box_error";
		regPassword.innerHTML="系统检测到你未有任何输入，此项为必填内容，请重新填写！";
	}
	else if (!obj.value.match(re) || (count < 6 || count > 12) )
	{
		regPassword.className = 'box_error';
		regPassword.innerHTML = '你输入的内容不符合规范，请重新填写！';
	}
	else
	{
		regPassword.className = 'box_right';
		regPassword.innerHTML = '输入的内容符合规范，可以使用！';
	}
}

function CheckRPasswordBlur(obj) //RPassword 失去焦点
{
	var regRPassword = document.getElementById("regRPassword");
	var password = document.getElementById("Password").value;
	if( obj.value.length=='' )
	{
		regRPassword.className="box_error";
		regRPassword.innerHTML = '系统检测到你未有任何输入，此项为必填内容，请重新填写！';
	}
	else if(obj.value != password)
	{
		regRPassword.className='box_error';
		regRPassword.innerHTML = '两次输入的密码不一致，请重新输入。';
	}
	else
	{
		regRPassword.className = 'box_right';
		regRPassword.innerHTML = '密码确认通过';
	}
}

function CheckEmailBlur(obj) //Email 失去焦点
{
	var re = /^[0-9a-zA-Z\-\.\_]+@[0-9a-zA-Z\-]+\.[0-9a-zA-Z\-\.]+$/;
	var Regemial = document.getElementById("regEmail");
	if ( (obj.value.trim() == "") ) {
		Regemial.className = "box_error";
		Regemial.innerHTML = "系统检测到你未有任何输入，此项为必填内容，请重新填写！";
	}
	else if (!obj.value.match(re))
	{
		Regemial.className = 'box_error';
		Regemial.innerHTML = '你输入的内容不符合规范，请重新填写！';
	}
	else
	{
		Regemial.className = 'box_right';
		Regemial.innerHTML = '输入的内容符合规范，可以使用！';
	}
}

function CheckStrBlur(obj,objstr,length)
{
	var obj1 = document.getElementById(objstr);
	var count = obj.value.trim().ByteCount();
	if (obj.value.trim() == "")
	{
		obj1.className = 'box_error';
		obj1.innerHTML = '系统检测到你未有任何输入，此项为必填内容，请重新填写！';
	}
	else if (count > length)
	{
		obj1.className = 'box_error';
		obj1.innerHTML = '你输入的内容太长不符合规范，请重新填写！';
	}
	else
	{
		obj1.className = 'box_right';
		obj1.innerHTML = '输入的内容符合规范，可以使用！';
	}
}

function CheckTELBlur(obj)
{
	var RegTEL = document.getElementById("RegLinkTEL");
	var count = obj.value.trim().ByteCount();
	var re = /([0-9]){11,12}/;
	if (obj.value.trim() == "")
	{
		RegTEL.className = 'box_error';
		RegTEL.innerHTML = '系统检测到你未有任何输入，此项为必填内容，请重新填写！';
	}
	else if (!(count == 11 || count == 12) || (!obj.value.match(re)))
	{
		RegTEL.className = 'box_error';
		RegTEL.innerHTML = '你输入的内容不符合规范，请重新填写！';
	}
	else
	{
		RegTEL.className = 'box_right';
		RegTEL.innerHTML = '输入的内容符合规范，可以使用！';
	}
}

function CheckPostCodeBlur(obj)
{
	var RegPostCode = document.getElementById("RegPostCode");
	var count = obj.value.trim().ByteCount();
	var re = /([0-9]){6}/;
	if (obj.value.trim() == "")
	{
		RegPostCode.className = 'box_error';
		RegPostCode.innerHTML = '系统检测到你未有任何输入，此项为必填内容，请重新填写！';
	}
	else if ((count != 6 ) || (!obj.value.match(re)))
	{
		RegPostCode.className = 'box_error';
		RegPostCode.innerHTML = '你输入的内容不符合规范，请重新填写！';
	}
	else
	{
		RegPostCode.className = 'box_right';
		RegPostCode.innerHTML = '输入的内容符合规范，可以使用！';
	}
}

function CheckAreaBlur(obj)
{
	var RegArae = document.getElementById("RegArea");
	var temp = obj.options[obj.selectedIndex].value;
	if (temp == '')
	{
		RegArae.className = 'box_error';
		RegArae.innerHTML = '你还没有选择商户所属地区，请选择！';
	}
	else
	{
		RegArae.className = 'box_right';
		RegArae.innerHTML = '输入的内容符合规范，可以使用！';
	}
}
function CheckIDCardBlur(obj)
{
	var RegIDCard = document.getElementById("RegIDCard");
	if (obj.value.trim() == "")
	{
		RegIDCard.className = 'box_error';
		RegIDCard.innerHTML = '系统检测到你未有任何输入，此项为必填内容，请重新填写！';
	}
	else if (!checkIdcard(obj.value.trim()))
	{
		RegIDCard.className = 'box_error';
		RegIDCard.innerHTML = '你输入的内容不符合规范，请重新填写！';
	}
	else
	{
		RegIDCard.className = 'box_right';
		RegIDCard.innerHTML = '输入的内容符合规范，可以使用！';
	}
}


function CheckForm()
{
	var objForm;
	var r = /^[\w]+$/;
	var rm = /^[0-9a-zA-Z\-\.\_]+@[0-9a-zA-Z\-]+\.[0-9a-zA-Z\-\.]+$/;
	var re = /^[\w]+$/;
	var recode = /([0-9]){4}/;
	
	var CodeStr = document.getElementById("Code").value;
	var PasswordStr = document.getElementById("Password").value;
	var RPasswordStr = document.getElementById("RPassword").value;
	var EmailStr = document.getElementById("Email").value;	
	var NameStr = document.getElementById("Name").value;
	var FNameStr = document.getElementById("FName").value;
	var IDCardStr = document.getElementById("IDCard").value;
	var LinkManStr = document.getElementById("LinkMan").value;
	var LinkTELStr = document.getElementById("LinkTEL").value;
	var PostCodeStr = document.getElementById("PostCode").value;
	var AddressStr = document.getElementById("Address").value;
	var AraeStr = document.getElementById("Arae").value;
	
	if(CodeStr =="" || (!CodeStr.match(recode)) || CodeStr.length != 15)
	{
		document.getElementById("Code").focus();
		return false;
	}
	
	if( PasswordStr=='' || (!PasswordStr.match(re)) || ( PasswordStr.length < 6 || PasswordStr.length > 12) )
	{
		document.getElementById("Password").focus();
		return false;
	}

	if( PasswordStr != RPasswordStr)
	{
		document.getElementById("RPassword").focus();
		return false;
	}
	
	if(Email=='' || (!Email.match(rm)))
	{
		document.getElementById("Email").focus();
		return false;
	} 
	
	if(NameStr == "" || NameStr.length > 50)
	{
		document.getElementById("Name").focus();
		return false;
	}
	if (AraeStr == "" )
	{
		document.getElementById("Arae").focus();
		return false;
	}
	if (FNameStr == "" || FNameStr.length > 10)
	{
		document.getElementById("FName").focus();
		return false;
	}
	if (IDCardStr == "" || !checkIdcard(IDCardStr))
	{
		document.getElementById("IDCard").focus();
		return false;
	}
	if (LinkManStr == "" || LinkManStr.length > 10)
	{
		document.getElementById("LinkMan").focus();
		return false;
	}
	if(LinkTELStr == "" || !LinkTELStr.match(recode) || !(LinkTELStr.length == 11 || LinkTELStr.length == 12))
	{
		document.getElementById("LinkTEL").focus();
		return false;
	}
	if (PostCodeStr == "" || PostCodeStr.length !=6 || !PostCodeStr.match(recode))
	{
		document.getElementById("PostCode").focus();
		return false;
	}
	if (AddressStr == "" || AddressStr.length > 50)
	{
		document.getElementById("Address").focus();
		return false;
	}
	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;
	//身份号码位数及格式检验
	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 AddSubCustomers(codestr,namestr,objstr)
{
	var codevalue = document.getElementById(codestr).value;
	var namevalue = document.getElementById(namestr).value;
	if (codevalue == '' || namevalue == '')
	{
		alert('添加的商户编号或名称不能为空！');
		return;
	}
	var tempstr = codevalue + '||' + namevalue;
	var obj = document.getElementById(objstr);
	for (var i = 0;i<obj.options.length;i++)
	{
		if (obj.options[i].value == tempstr)
		{
			alert('此用商户已添加，请不要重复添加！');
			return;
		}
	}
	obj.options.add(new Option(namevalue.trim() + '(' + codevalue + ')',tempstr));
	document.getElementById(codestr).value = '请填写商户编号';
	document.getElementById(namestr).value = '请填写商户名称';
}
//移除关联商户
function DelSubCustomers(objstr)
{
	var obj = document.getElementById(objstr)
	{
		for (var i = 0;i<obj.options.length;i++)
		{
			if (obj.options[i].selected == true)
			{
				obj.options.remove(i);
				return;
			}
		}
	}
}

//添加关联商户检查
function IsSubCustomers(obj)
{
	var re = /([0-9]){15}/;
	var count = obj.value.trim().ByteCount();
	if (((obj.value.trim() != "") && ( count != 15))|| !obj.value.match(re))
	{
		obj.value = '请填写商户编号';
		alert('输入的商户编号不符合规范');
		return;
	}
	else
	{
		web.CustomerRegedit.IsSubCustomers(obj.value.trim(),call_back);
	}
}
function call_back(response)
{
	if (response.error != null)
	{
		document.getElementById("SubCustomersCode").value = '请填写商户编号';
		alert(response.error.Message);
		return;
	}
	else
	{
		document.getElementById("SubCustomersName").value = response.value.trim();
		document.getElementById("SubCustomersName").focus();
	}
}

function SubCustomersCodeonBlur(obj)
{
	if (obj.value=='')
	{
		obj.value ='请填写商户编号';
	}
	else
	{
		IsSubCustomers(obj);
	}
}
//显示和隐藏添加关联用户
function DisplayAddCustomers(obj)
{
	var AddCustomers = document.getElementById("AddCustomers");
	if (obj.id == 'CustomersType2')
	{
		AddCustomers.style.display = "";
	}
	else
	{
		AddCustomers.style.display = "none";
	}
}/**/

//选择全部添加的关联商户
function SelectAllSubCustomers()
{
	//alert('ok');
	var obj = document.getElementById("SubCustomersInfo");
	var tempCustomersInfo = document.getElementById("tempCustomersInfo");
	var tempstr = '';
	for (var i = 0;i < obj.options.length-1;i++)
	{
		obj.options[i].selected = true;
		if (obj.options[i].selected == true)
		{
			tempstr = tempstr + obj.options[i].value + '|||';
		}
	}
	tempstr = tempstr + obj.options[i].value;
	tempCustomersInfo.value = tempstr;
	return;
}

