// email.js

var errColor='#bb6600';
var okColor='#000000';
var emailformok=false;

// email

function vF(){
	emailformok=true;
	rF(document.getElementById("FromName"),"Please enter your name.","NameErr");
	vE(document.getElementById("FromEmail"),"Please enter your email ID.","EmailErr");
	rF(document.getElementById("FromMessage"),"Please enter a message.","MessageErr");
	if(emailformok!=true)return false;
	return true;
}

function rF(v,err,msg){
	if(v.value==null||v.value==""){
		v.style.backgroundColor=errColor;
		document.getElementById(msg).firstChild.nodeValue=err;
		if(emailformok)v.focus();
		emailformok=false;
		return false;
	}else{
		v.style.backgroundColor=okColor;
		document.getElementById(msg).firstChild.nodeValue=" ";
		return true;
	}
}

function vE(v,err,msg){
	if(!peF(v.value)){
		v.style.backgroundColor=errColor;
		document.getElementById(msg).firstChild.nodeValue=err;
		if(emailformok)v.focus();
		emailformok=false;
		return false;
	}else{
		v.style.backgroundColor=okColor;
		document.getElementById(msg).firstChild.nodeValue=" ";
		return true;
	}
}

function peF(id){
	var v=1;
	var tld=1;
	var doms=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var idp=/^(.+)@(.+)$/;
	var sp="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var spp="\[^\\s"+sp+"\]";
	var unm="(\"[^\"]*\")";
	var ipp=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var a=spp+'+';var wd="("+a+"|"+unm+")";
	var up=new RegExp("^"+wd+"(\\."+wd+")*$");
	var domp=new RegExp("^"+a+"(\\."+a +")*$");
	var mat=id.match(idp);
	if(mat==null)return false;
	var u=mat[1];
	var dom=mat[2];
	for(i=0;i<u.length;i++)
		if(u.charCodeAt(i)>127)return false;
	for(i=0;i<dom.length;i++)
		if(dom.charCodeAt(i)>127)return false;
	if(u.match(up)==null)return false;
	var ipary=dom.match(ipp);
	if(ipary!=null)
	{
		for(var i=1;i<=4;i++)
			if(ipary[i]>255)return false;
	}
	var ap=new RegExp("^"+a+"$");
	var dary=dom.split(".");
	var len=dary.length;
	for(i=0;i<len;i++)
		if(dary[i].search(ap)==-1)return false;
	if(tld && dary[dary.length-1].length!=2 && dary[dary.length-1].search(doms)==-1)return false;
	if(len<2)return false;
	return true;
}
