var errStr=new Array('..','@@','@.','.@','!','#','$','%','^','&','*','\'','(',')','+','|')
var blurStr=new Array('sian','211cn','suhu')
var cannotStr=new Array('21cn.com','avl.com.cn','yahoo.com.cn','163.net','tom.com','371.net','126.com','tom.com')

function checkCannot(canStr){
  	for (var i=0;i<=cannotStr.length;i++){
		if (canStr.value.indexOf(cannotStr[i])!=-1){
			return confirm('您的email地址： '+ canStr.value +' 可能收不到云网发货信件。\n                    您确认使用该邮件么？');
		}
	}
	return true;
}

function checkBlur(bStr){
  	for (var j=0;j<=blurStr.length;j++){
		if (bStr.value.indexOf(blurStr[j])!=-1){
			return confirm('确认您填写的email地址： '+ bStr.value +' 正确么？');
		}
	}

	return true;
}

function checkEmailFormat(str){
	if(str.value.indexOf("@")==-1){
		alert("错误，输入的Email地址错误。");
		str.focus();
		return false;
	}
	if(str.value.substring(str.value.indexOf("@")+1,str.value.length).indexOf("@")!=-1){
		alert("错误，输入的Email地址错误。");
		return false;
	}
	if(str.value.indexOf(".")==-1){
		alert("错误，输入的Email地址错误。");
		return false;
	}
	if(str.value.length<7){
		alert("错误，输入的Email地址错误。");
		return false;
	}
	for (i=0;i<=errStr.length;i++){
		if (str.value.indexOf(errStr[i])!=-1){
			alert('错误，输入的Email地址中不能带有 '+ errStr[i] +' 字符');
			return false;
		}
	}
	if (!checkCannot(str)){
		return false;
	}
	if (!checkBlur(str)){
		return false;
	}

	return true;
}


//*************** 判断email的后缀是否符合 ******************

function checkEmailhostFormat(pform,pemail)
{
	//获取email的值
	var strMail=pemail.value;

	//如果长度为0则直接返回假
	if(strMail.legth == 0 || strMail.substring(strMail.length -1,strMail.length) == "."){
		alert("很抱歉,您填写的邮件地址 "+strMail+" 有误。");
		return false;
	}
	//验证是否符合基本的规则，以@隔开的两部分，前后都有a-z 0-9 - _的值
	var objReg = new RegExp("([a-z0-9-_]+)@([a-z0-9-_\\.]+)","gi");

	if(!objReg.test(strMail)){
		alert("很抱歉,您填写的邮件地址 "+strMail+" 有误。");
		return false
	}

	objReg.exec(strMail);
	var objRegdomain = new RegExp("([^\\.]+)\\.([a-z0-9-_\\.]+)");
	var domain = RegExp.$2;
	do
	{
		objRegdomain.exec(domain);
		domain = RegExp.$2;
		//每一层的主机，一直到域名，如vip.163.com中，分别显示 vip 163
		var host = RegExp.$1;
			
		//判断是否有近似的邮件地址
		var hostconfirm=EmailSampleHost(pform,pemail,host,"host");
			if (!hostconfirm)
			{
				return false;
			}

	}while(typeof(domain) != "undefined" && objRegdomain.test(domain));

	if(domain != "")
	{
		var objDomain = new RegExp("^(com|net|org|cn|gov|中国|公司|网络){1}$");
		if (!objDomain.test(domain))
		{
			var Domainconfirm = EmailSampleHost(pform,pemail,domain,"domain");
			return Domainconfirm;
		}
	}
	else
	{
		return false;
	}
	return true;
}

//错误邮件列表
	var EmailErrArray = new Array;
	EmailErrArray[0]= new Array;
	EmailErrArray[0][0] = "sian";
	EmailErrArray[0][1] = "sina";
	EmailErrArray[1]= new Array;
	EmailErrArray[1][0] = "suhu";
	EmailErrArray[1][1] = "sohu";
	EmailErrArray[2]= new Array;
	EmailErrArray[2][0] = "136";
	EmailErrArray[2][1] = "163";
	EmailErrArray[3]= new Array;
	EmailErrArray[3][0] = "236";
	EmailErrArray[3][1] = "263";
// End 错误邮件主机列表

//正确域名列表
	var EmailSuccArray = new Array;
	EmailSuccArray[0]= new Array;
	EmailSuccArray[0][0] = "co";
	EmailSuccArray[0][1] = "com";
	EmailSuccArray[1]= new Array;
	EmailSuccArray[1][0] = "not";
	EmailSuccArray[1][1] = "net";
	EmailSuccArray[2]= new Array;
	EmailSuccArray[2][0] = "rg";
	EmailSuccArray[2][1] = "org";
	EmailSuccArray[3]= new Array;
	EmailSuccArray[3][0] = "236";
	EmailSuccArray[3][1] = "263";
	EmailSuccArray[4]= new Array;
	EmailSuccArray[4][0] = "co";
	EmailSuccArray[4][1] = "cn";
// End 正确域名列表

//判断是否近似邮件主机
function EmailSampleHost(pform,pemail,pstr,pchecktype)
{
	if (pchecktype=="host")
	{
		for(i = 0; i < EmailErrArray.length; i++)
		{
			var strMail=pemail.value;
			if (pstr==EmailErrArray[i][0]){
				var newemail=strMail.replace(pstr,EmailErrArray[i][1]);
				var editEmail=confirm("您确认填写的邮件地址 "+ strMail +" 正确么，会不会是"+ newemail +"呢？\n点击 “确定” 保持现有信息，点击 “取消” 系统会自动帮您替换");
				if (!editEmail)
				{
					pemail.value = newemail;
				}
			}
			else{
				return true;
			}
		}
	}
	else if(pchecktype=="domain")
	{
		var strMail=pemail.value;
		for(i = 0; i < EmailErrArray.length; i++)
		{
			//alert(EmailSuccArray[i][0]);
			if (pstr==EmailSuccArray[i][0]){
				var reB=strMail.lastIndexOf("."+pstr);	//替换的起始位置
				var subnewemail1=strMail.substring(0,reB);
				var subnewemail2="."+EmailSuccArray[i][1];
				var newemail=subnewemail1+subnewemail2;
				var editEmail=confirm("您确认填写的邮件地址 "+ strMail +" 正确么，会不会是"+ newemail +"呢？\n点击 “确定” 保持现有信息，点击 “取消” 系统会自动帮您替换");
				if (!editEmail)
				{
					pemail.value = newemail;
					return true;
				}
				return editEmail;
			}
			else{
				return confirm("您确认填写的邮件地址中 "+pstr+" 部分正确么？");
			}		
		}
	}
}

