// JavaScript Document
var REG_ERROR_SNAME = "用户名不能为空！";
var REG_ERROR_PASSWORD = "帐号和登录密码不能完全相同，请重新键入！";
var REG_ERROR_REPASSWORD = "登录密码不能为空！";
var REG_ERROR_CONFIRMPWD = "您两次输入的密码不一致,请重新输入！"
var REG_ERROR_BIRTHDAY = "请输入您的出生日期";
var REG_ERROR_REALNAME = "真实姓名不能为空！";
var REG_ERROR_IDCARD = "";
var REG_ERROR_IDNUMBER = "身份证号不能为空！";
var REG_ERROR_ZIPCODE = "邮政编码不能为空！";
var REG_ERROR_TELEPHONE = "手机号码不能为空！";
var REG_ERROR_EMAIL = "电子邮箱不能为空！";
var REG_MSG_SNAME = "用户名作为您登陆网站的唯一标识，长度为2-20字符，有字母、数字、下划线组成，且首字符为字母或下划线。";
var REG_MSG_PASSWORD = "您在登陆网站时的密码，请牢记并保密好，以防止其他人盗取进行非法操作，如果忘记，请联系客服人员帮助解决。";
var REG_MSG_BIRTHDAY = "您的出生日期，格式为：20080808";
var REG_MSG_REALNAME = "您的真实姓名，请如实填写。";
var REG_MSG_IDNUMBER = "您的身份证号，请如实填写。";
var REG_MSG_ZIPCODE = "您所住地区的邮政编码。";
var REG_MSG_TELEPHONE = "您的手机号码，方便我们同您联系，并用于在您订购时用于接收短信。请直接输入手机号即可，号码前不需要加0。";
var REG_MSG_EMAIL = "您的电子邮箱，方便我们在有优惠活动时向您发送邮件通知。";

function register()
{
    var o = document.createElement("div");
    var bodyWidth = document.body.clientWidth;
	var bodyHeight = document.body.clientHeight;
	var left = bodyWidth/2 - 350;
	var top = 190;
	var select = document.getElementsByTagName("select");
	for(var i = 0; i < select.length; i++)
	{
	    select[i].visibility = 'hidden';
	}
	o.style.top = 0;
	o.style.left = 0;
	o.id = 'regDiv';
	o.style.position = 'absolute';
	o.style.display = 'block';
	
    var s = "";
	var bodyDisable="<div id='mask' style='display: block; filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=35,finishOpacity=35); opacity:0.4; left:0px; top:0px; width:"+ bodyWidth +"px; height:" + bodyHeight + "px; position:absolute; background-color:#000000'></div>";
    
    s  = "<form name='regForm' id='regForm' method='post' action='doReg.aspx'><table id='register' style='left:" + left + "px; top:" + top + "px;'>";
    s += "<tr style='height:15px; background:url(image/gou_bg.gif) repeat-x;'><td colspan='2' valign='middle' style='border:none; text-align:center'><div><div style='float:left; width:600px;'><span style='color:#CC6600; font-size:14px; font-weight:bold;'>以下各项均为必填项</span></div><div style='text-align:right;float:right; width:50px;'><img alt='' src='image/close1.gif' style='cursor:pointer;' onclick='javascript:hideRegDiv();' /></div></div></td></tr>";
    s += "<tr><td width='25%' align='right'>用&nbsp;户&nbsp;名：</td><td width='75%' style='padding-left:30px;'><input type='text' id='sname' name='sname' onfocus=javascript:showMsg('msgSname') onblur='javascript:checkName()' style='border:1px solid #D4D4D4;' />&nbsp;&nbsp;<input type='button' id='checkNameExist' value='检测用户名' onclick='javascript:checkNameExist();' /><div id='msgSname' style='color:#FF0000;'></div></td></tr>";
    s += "<tr><td align='right'>性&nbsp;&nbsp;&nbsp;&nbsp;别：</td><td style='padding-left:30px;'><input type='radio' name='sex' value='1' checked='checked' />男&nbsp;&nbsp;&nbsp;&nbsp;<input type='radio' name='sex' value='0' />女</td></tr>";
    s += "<tr><td align='right'>生&nbsp;&nbsp;&nbsp;&nbsp;日：</td><td style='padding-left:30px;'><input type='text' name='birthday' id='birthday' onfocus=javascript:showMsg('msgBirthday') onblur='javascript:checkBirthday()' style='border:1px solid #D4D4D4;' /><div id='msgBirthday' style='color:#FF0000;'></div></td></tr>";
    s += "<tr><td align='right'>密&nbsp;&nbsp;&nbsp;&nbsp;码：</td><td style='padding-left:30px;'><input type='password' id='pwd' name='pwd' onfocus=javascript:showMsg('msgPwd') onblur='javascript:checkBlankPwd()' style='border:1px solid #D4D4D4;' /><div id='msgPwd' style='color:#FF0000;'></div></td></tr>";
    s += "<tr><td align='right'>确认密码：</td><td style='padding-left:30px;'><input type='password' id='confirmpwd' name='confirmpwd' onblur='javascript:checkConfirmPwd();' style='border:1px solid #D4D4D4;' /><div id='msgConfirmPwd' style='color:#FF0000;'></span></td></tr>";
    s += "<tr><td align='right'>真实姓名：</td><td style='padding-left:30px;'><input type='text' id='realname' name='realname'  onfocus=javascript:showMsg('msgRealName') onblur='javascript:checkRealName()' style='border:1px solid #D4D4D4;' /><div id='msgRealName' style='color:#FF0000;'></div></td></tr>";
    s += "<tr><td align='right'>证件类型：</td><td style='padding-left:30px;'><select name='IDCard'><option value='身份证'>身份证</option><option value='军官证'>军官证</option><option value='护照'>护照</option></select></td></tr>";
    s += "<tr><td align='right'>证件号码：</td><td style='padding-left:30px;'><input type='text' name='IDNumber' onfocus=javascript:showMsg('msgIDNumber') onblur='javascript:checkIDNumber();' style='border:1px solid #D4D4D4;' /><div id='msgIDNumber' style='color:#FF0000;'></div></td></tr>";
    s += "<tr><td align='right'>家庭住址：</td><td style='padding-left:30px;'><select id='province' name='province' onChange=setCity(this,document.getElementById('city')) style='width:70px;'><option>请选择</option><option value='北京'>北京</option><option value='上海'>上海</option><option value='天津'>天津</option><option value='重庆'>重庆</option><option value='黑龙江'>黑龙江</option><option value='吉林'>吉林</option><option value='辽宁'>辽宁</option><option value='内蒙古'>内蒙古</option><option value='新疆'>新疆</option><option value='青海'>青海</option><option value='甘肃'>甘肃</option><option value='宁夏'>宁夏</option><option value='陕西'>陕西</option><option value='山西'>山西</option><option value='河北'>河北</option><option value='河南'>河南</option><option value='山东'>山东</option><option value='江苏'>江苏</option><option value='安徽'>安徽</option><option value='浙江'>浙江</option><option value='湖北'>湖北</option><option value='湖南'>湖南</option><option value='四川'>四川</option><option value='西藏'>西藏</option><option value='云南'>云南</option><option value='贵州'>贵州</option><option value='广西'>广西</option><option value='广东'>广东</option><option value='福建'>福建</option><option value='江西'>江西</option><option value='海南'>海南</option><option value='香港'>香港</option><option value='澳门'>澳门</option><option value='台湾'>台湾</option></select>&nbsp;&nbsp;<select id='city' name='city' onChange=setDistrict(this,document.getElementById('district')) style='width:80px;'><option>请选择</option></select>&nbsp;&nbsp;<select id='district' name='district' style='width:80px;'><option>请选择</option></select><br /><input type='text' id='addr' name='addr' size='30' style='border:1px solid #D4D4D4;' /><div id='msgAddress' style='color:#FF0000;'></div></td></tr>";
    s += "<tr><td align='right'>邮政编码：</td><td style='padding-left:30px;'><input type='text' id='zipcode' name='zipcode'  onfocus=javascript:showMsg('msgZipcode') onblur='javascript:checkZipcode()' style='border:1px solid #D4D4D4;' /><div id='msgZipcode' style='color:#FF0000;'></div></td></tr>";
    s += "<tr><td align='right'>手机号码：</td><td style='padding-left:30px;'><input type='text' id='telephone' name='telephone' onkeypress='return checkKeyPress()' onfocus=javascript:showMsg('msgTelephone') onblur='javascript:checkTelephonee()' style='border:1px solid #D4D4D4;' /><div id='msgTelephone' style='color:#FF0000;'></div></td></tr>";
    s += "<tr><td align='right'>电子邮件：</td><td style='padding-left:30px;'><input type='text' id='email' name='email' onfocus=javascript:showMsg('msgEmail') onblur='javascript:checkEmail();'style='border:1px solid #D4D4D4;' /><div id='msgEmail' style='color:#FF0000;'></div></td></tr>";
    s += "<tr><td><input id='checkbox' type='checkbox' onclick='javascript:dis();' />我已阅读并接受如下条款</td><td><a href='javascript:;'>《张裕网上订购注册协议》</a></td></tr>";
    s += "<tr><td colspan='2' style='text-align:center;'><input name='submit' type='submit' id='submitt' value='注册' onClick='return checkForm(this)' disabled='disabled' />&nbsp;&nbsp;&nbsp;&nbsp;<input name='reset' type='reset' id='reset' value='重填' /></td></tr></table></form>";
	
	s += bodyDisable;
	o.innerHTML = s;
	document.body.appendChild(o);
}

function hideRegDiv()
{
    var oo = document.getElementById('regDiv');
    var select = document.getElementsByTagName("select");
	for(var i = 0; i < select.length; i++)
	{
	    select[i].visibility = 'visible';
	}
	
    document.body.removeChild(oo);
}

function dis(){
	var c = document.getElementById("checkbox");
	var s = document.getElementById("submitt");
	
	if(c.checked)
	{
		s.disabled = false;
	}
	else if(!c.checked)
	{
		s.disabled = true;
	}
}

function checkKeyPress()
{
    var key = window.event.keyCode;
    if(key >= 48 && key <= 57)
    {
        return true;
    }
    else
    {
        alert('输入错误,手机号码只能为数字！');
        document.getElementById('telephone').focus();
        return false;
    }
}

function checkForm(regFrom)
{
	var serror = "您填写的信息有不符合要求的项，请仔细检查！";
	
	if(checkName() && checkBlankPwd() && checkConfirmPwd && checkBirthday() && checkRealName() && checkIDNumber && checkTelephonee() && checkEmail() && checkZipcode())
	{
	    return true;
	}
	else
	{
	    alert(serror);
	    return false;
	}
}
        
function showMsg(id)
{
    var obj = document.getElementById(id);
    
    switch (id)
    {
        case "msgSname":
        obj.innerHTML = REG_MSG_SNAME;
        break;
        
        case "msgBirthday":
        obj.innerHTML = REG_MSG_BIRTHDAY;
        break;
        
        case "msgPwd":
        obj.innerHTML = REG_MSG_PASSWORD;
        break;
        
        case "msgRealName":
        obj.innerHTML = REG_MSG_REALNAME;
        break;
        
        case "msgIDNumber":
        obj.innerHTML = REG_MSG_IDNUMBER;
        break;
        
        case "msgZipcode":
        obj.innerHTML = REG_MSG_ZIPCODE;
        break;
        
        case "msgTelephone":
        obj.innerHTML = REG_MSG_TELEPHONE;
        break;
        
        case "msgEmail":
        obj.innerHTML = REG_MSG_EMAIL;
        break;
        
    }
}

function check()
{

}

function checkName()
{
	var sname = document.regForm.sname.value;
	var msg = document.getElementById("msgSname");
	
	if(sname.length == 0)
	{
		msg.innerHTML = REG_ERROR_SNAME;
		document.regForm.sname.style.border='1px solid #FF0000';
		//document.regForm.sname.select();
		return false;
	}
	
	if(sname.length>0 && sname.length<2)
	{
	    msg.innerHTML = "用户名长度太短，请重新输入！";
	    document.regForm.sname.style.border='1px solid #FF0000';
		return false;
    }
    
    msg.innerHTML = "";
    msg.style.display = 'none';
    document.regForm.sname.style.border='1px solid #D4D4D4';
	return true;
}

function checkBirthday()
{
    var birthday = document.regForm.birthday.value;
    var msg = document.getElementById("msgBirthday");
    
    if(birthday.length == 0)
    {
        msg.innerHTML = REG_ERROR_BIRTHDAY;
        document.regForm.birthday.style.border='1px solid #FF0000';
        return false;
    }
    
    msg.innerHTML = "";
    msg.style.display = 'none';
    document.regForm.birthday.style.border = '1px solid #D4D4D4';
    return true;
}

function checkBlankPwd()
{
	var pwd = document.regForm.pwd.value;
	var sname = document.regForm.sname.value;
	var msg = document.getElementById("msgPwd");

    if (pwd == sname && pwd.length != 0)
    {
        msg.innerHTML = REG_ERROR_PASSWORD;
        document.regForm.pwd.style.border='1px solid #FF0000';
        return false;
    }
    
	if(pwd.length == 0)
	{
		msg.innerHTML = REG_ERROR_REPASSWORD;
		document.regForm.pwd.style.border='1px solid #FF0000';
		return false;
	}
	
	if(pwd.length>0 && pwd.length<6)
	{
		msg.innerHTML = "密码长度太短,建议更换一个长度比较大的密码！";
		document.regForm.pwd.style.border='1px solid #FF0000';
		return false;
	}
	
	msg.innerHTML = "";
    msg.style.display = 'none';
	document.regForm.pwd.style.border='1px solid #D4D4D4';
	return true;
}

function checkConfirmPwd()
{
	var pwd = document.regForm.pwd.value;
	var confirmpwd = document.regForm.confirmpwd.value;
	var msg = document.getElementById("msgConfirmPwd");
	
	if(pwd != confirmpwd)
	{
		msg.innerHTML = REG_ERROR_CONFIRMPWD;
		document.regForm.pwd.select();
		return false;
	}
	
	msg.innerHTML = "";
    msg.style.display = 'none';
	return true;
}

function checkRealName()
{
	var realname = document.regForm.realname.value;
	var msg = document.getElementById("msgRealName");
	
	if(realname.length == 0)
	{
		msg.innerHTML = "真实姓名不能为空";
		document.regForm.realname.style.border = '1px solid #FF0000';
		return false;
	}
	
	msg.innerHTML = "";
    msg.style.display = 'none';
	document.regForm.realname.style.border = '1px solid #D4D4D4'
	return true;
}

function checkIDNumber()
{
	var IDCardType = document.regForm.IDCard.value;
	var IDNumber = document.regForm.IDNumber.value;
	var msg = document.getElementById("msgIDNumber");
	
	if(IDCardType == "身份证")
	{
		if(IDNumber.length == 0)
		{
			msg.innerHTML = REG_ERROR_IDNUMBER;
			document.regForm.IDNumber.style.border='1px solid #FF0000';
			return false;
		}
		if(IDNumber.length != 15 && IDNumber.length != 18)
		{
			msg.innerHTML = "身份证号码长度错误！";
			return false;
		}
	}
	
	if(isNaN(IDNumber.substring(0,17)))
	{
	    msg.innerHTML = "身份证号码格式错误，请重新输入！";
	    document.regForm.IDNumber.style.border='1px solid #FF0000';
	    return false;
	}
	
	msg.innerHTML = "";
    msg.style.display = 'none';
	document.regForm.IDNumber.style.border = '1px solid #D4D4D4';
	return true;
}

function checkZipcode()
{
    var zipcode = document.regForm.zipcode.value;
    var msg = document.getElementById("msgZipcode");
    
    if(zipcode.length == 0)
    {
        msg.innerHTML = REG_ERROR_ZIPCODE;
        document.regForm.zipcode.style.border = "1px solid #FF0000";
        return false;
    }
    
    if(zipcode.length !=6 )
    {
        msg.innerHTML = "邮政编码长度不对，请重新输入！";
        document.regForm.zipcode.style.border = "1px solid #FF0000";
        return false;
    }
    
    if (isNaN(zipcode))
    {
        msg.innerHTML = "邮政编码格式不正确，请重新输入！";
        document.regForm.zipcode.style.border = "1px solid #FF0000";
        return false;
    }
    
    msg.innerHTML = "";
    msg.style.display = 'none';
    document.regForm.zipcode.style.border = "1px solid #D4D4D4";
    return true;
}

function checkTelephonee()
{
	var telephone = document.regForm.telephone.value;
	var msg = document.getElementById("msgTelephone");
	
	if (telephone.length == 0)
	{
	    msg.innerHTML = REG_ERROR_TELEPHONE;
	    document.regForm.telephone.style.border = '1px solid #FF0000';
	    return false;
	}
	else
	{
		if (telephone.length != 11)
		{
		    msg.innerHTML = "您输入的号码字数不符，请重新输入！";
		    document.regForm.telephone.style.border = '1px solid #FF0000';
		    //alert("您输入的号码字数不符，请重新输入！");
		    return false;
		}
		else
		{
		    if ((telephone.substring(0, 2) != 13) && (telephone.substring(0, 1) != 0) && (telephone.substring(0, 2) != 15))
		    {
			    msg.innerHTML = "您输入手机号码错误,手机号码以13、15开头！";
			    document.regForm.telephone.style.border = '1px solid #FF0000';
			    return false;
		    }
		}
    }
    
    msg.innerHTML = "";
    msg.style.display = 'none';
    document.regForm.telephone.style.border = '1px solid #D4D4D4';
    return true;
}

function checkEmail()
{
	var emailStr = document.regForm.email.value;
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var firstChars=validChars
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom="(" + firstChars + validChars + "*" + ")"
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	var msg = document.getElementById("msgEmail");
	
	if (emailStr.length == 0)
	{
		msg.innerHTML = REG_ERROR_EMAIL;
		//alert('请输入电子邮件！');
		document.regForm.email.style.border = '1px solid #FF0000';
		return false;
	}
	
	if (matchArray==null)
	{
	    msg.innerHTML = "电子邮件地址格式不正确";
		//alert("电子邮件地址格式不正确")
		document.regForm.email.style.border = '1px solid #FF0000';
		return false
	}
	
	var user=matchArray[1]
	var domain=matchArray[2]
	
	if (user.match(userPat)==null)
	{
	    msg.innerHTML = "用户名不正确";
		//alert("用户名不正确")
		document.regForm.email.style.border = '1px solid #FF0000';
		return false
	}
	
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) 
	{
		for (var i=1;i<=4;i++) 
		{
			if (IPArray[i]>255) 
			{
				msg.innerHTML = "目的 IP 地址非法！";
				//alert("目的 IP 地址非法!")
				document.regForm.email.style.border = '1px solid #FF0000';
				return false
			}
		}
		return true
	}
	
	var domainArray=domain.match(domainPat)
	if (domainArray==null)
	{
		msg.innerHTML = "目的 IP 地址非法！";
		//alert("域名不合法！")
		document.regForm.email.style.border = '1px solid #FF0000';
		return false
	}
	
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
	{
		msg.innerHTML = "Email 地址结束必须是三个字母的一级域名或两个字母的国家域名结尾！";
		//alert("Email 地址结束必须是三个字母的一级域名或两个字母的国家域名结尾。")
		document.regForm.email.style.border = '1px solid #FF0000';
		return false
	}
	
	if (domArr[domArr.length-1].length==2 && len<3)
	{
		var errStr="Email 地址是以二个字母结尾的，其必须是国家代码。"
		errStr+="国家代码必须在主机名和类别名之后"
		errStr+="(如 com, co, pub, pu 等等)"
		msg.innerHTML = errStr;
		//alert(errStr)
		document.regForm.email.style.border = '1px solid #FF0000';
		return false
	}
	
	if (domArr[domArr.length-1].length==3 && len<2)
	{
		var errStr="Email 格式中没有主机名！"
		msg.innerHTML = errStr;
		//alert(errStr)
		document.regForm.email.style.border = '1px solid #FF0000';
		return false
	}
	
	msg.innerHTML = "";
    msg.style.display = 'none';
	document.regForm.email.style.border = '1px solid #D4D4D4';
	return true;
}

function checkNameExist()
{
    
}