// email.js
// (C) Copyright 2009 Michael Bhalla. All rights reserved.
// Used by permission at loadbanksofamerica.com


var errColor='#f0f0f0';
var okColor='#ffffff';
var formOK=false;
var formErrActive=false;

function RequestSubmitPressed(){
	formOK=true;
	checkEmailField();
	checkEmailvField();
	checkFromField();
// checkPhoneField();
	checkCompanyField();
	if(formOK)clearFormErr();
	return formOK;
}

function ContactSubmitPressed(){
	formOK=true;
	checkEmailField();
	checkEmailvField();
	checkFromField();
	checkMessageField();
	if(formOK)clearFormErr();
	return formOK;
}

function checkCompanyField(){
	v=document.getElementById("Company");
	if(v.value==null||v.value==""){
		v.style.backgroundColor=errColor;
		if(formOK){
			setFormErr("Please enter your company name.");
			v.focus();
			formOK=false;
		}
		return false;
	}
	v.style.backgroundColor=okColor;
	return true;
}

function checkPhoneField(){
	v=document.getElementById("PhoneNumber");
	if(v.value==null||v.value==""){
		v.style.backgroundColor=errColor;
		if(formOK){
			setFormErr("Please enter your phone number.");
			v.focus();
			formOK=false;
		}
		return false;
	}
	v.style.backgroundColor=okColor;
	return true;
}

function checkMessageField(){
	v=document.getElementById("Message");
	if(v.value==null||v.value==""){
		v.style.backgroundColor=errColor;
		if(formOK){
			setFormErr("Please enter a message.");
			v.focus();
			formOK=false;
		}
		return false;
	}
	v.style.backgroundColor=okColor;
	return true;
}

function checkFromField(){
	v=document.getElementById("FromName");
	if(v.value==null||v.value==""){
		v.style.backgroundColor=errColor;
		if(formOK){
			setFormErr("Please enter your name.");
			v.focus();
			formOK=false;
		}
		formOK=false;
		return false;
	}
	filter = /^[a-zA-Z]+[']*[a-zA-Z]+( |-)[a-zA-Z]+[']*[a-zA-Z]+/;
	if (!filter.test(v.value)) {
		v.style.backgroundColor=errColor;
		if(formOK){
			setFormErr("Please enter your full name.");
			v.focus();
			formOK=false;
		}
		return false;
	}
	v.style.backgroundColor=okColor;
	return true;
}

function checkEmailField(){
	v=document.getElementById("FromEmail");
	if(v.value==null||v.value==""){
		v.style.backgroundColor=errColor;
		if(formOK){
			setFormErr("Please enter your email ID.");		
			v.focus();
			formOK=false;
		}
		return false;
	}
	if(!emailValid(v.value)){
		v.style.backgroundColor=errColor;
		if(formOK){
			setFormErr("Please enter a valid email ID.");
			v.focus();
			formOK=false;
		}
		return false;
	}
	v.style.backgroundColor=okColor;
	return true;
}

function checkEmailvField(){
	v=document.getElementById("FromEmailv");
	v1=document.getElementById("FromEmail");
	if(v.value!=v1.value){
		v.style.backgroundColor=errColor;
		if(formOK){
			setFormErr("Email IDs must match.");
			v.focus();
			formOK=false;
		}
		return false;
	}
	v.style.backgroundColor=okColor;
	return true;
}

function emailValid(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;
}

function setFormErr(msg){
	if(msg==""){
		clearFormErr();
	}else{
		formErrActive=true;
		document.getElementById("FormErr").firstChild.nodeValue=msg;
		document.location="#FormTop";
	}
}

function clearFormErr(){
	formErrActive=false;
	document.getElementById("FormErr").firstChild.nodeValue="&nbsp;";
}

