// JavaScript Document

function emailCheck (emailStr) {

var checkTLD=1;

var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

var emailPat=/^(.+)@(.+)$/;

var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

var validChars="\[^\\s" + specialChars + "\]";

var quotedUser="(\"[^\"]*\")";

var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

var atom=validChars + '+';

var word="(" + atom + "|" + quotedUser + ")";

var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

var matchArray=emailStr.match(emailPat);

if (matchArray==null) {

alert("Please Enter A Valid Email Address!");
return false;
}
var user=matchArray[1];
var domain=matchArray[2];

for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
alert("Please Enter A Valid Email Address!");
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
alert("Please Enter A Valid Email Address!");
return false;
   }
}

if (user.match(userPat)==null) {

alert("Please Enter A Valid Email Address!");
return false;
}

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {

for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Please Enter A Valid Email Address!");
return false;
   }
}
return true;
}

var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
alert("Please Enter A Valid Email Address!");
return false;
   }
}

if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
alert("Please Enter A Valid Email Address!");
return false;
}

if (len<2) {
alert("Please Enter A Valid Email Address!");
return false;
}

return true;
}

function checkContact() {

	if(document.contact.contactname.value.length < 3) {
		alert("Please Enter Your Name");
		return false;
	}
	if(document.contact.contactemail.value == '') {
		alert("You Must Enter a Valid Email Address");
		return false;
	}
	if(emailCheck(document.contact.contactemail.value) == false) {
		return false;
	}
	if(document.contact.contactphone.value == '') {
		alert("Please Enter Your Phone Number");
		return false;
	}
	if(document.contact.comments.value == '') {
		alert("Please Enter Your Comments or Questions");
		return false;
	}
	return true;
}

function checkApplication() {

	if(document.contact.contactname.value.length < 3) {
		alert("Please Enter Your Name");
		return false;
	}
	if(document.contact.contactemail.value == '') {
		alert("You Must Enter a Valid Email Address");
		return false;
	}
	if(emailCheck(document.contact.contactemail.value) == false) {
		return false;
	}
	if(document.contact.streetaddress.value == '') {
		alert("Please Enter Your Street Address");
		return false;
	}
	if(document.contact.city.value == '') {
		alert("Please Enter Your City");
		return false;
	}
	if(document.contact.state.value == '') {
		alert("Please Enter Your State");
		return false;
	}
	if(document.contact.zip.value == '') {
		alert("Please Enter Your Zip");
		return false;
	}
	if(document.contact.contactphone.value == '') {
		alert("Please Enter You Phone Number");
		return false;
	}
	return true;
}

function checkCard() {

	if(document.checkout.ssl_card_number.value == '') {
		alert("Please Enter a Valid Credit Card Number");
		return false;
	}
	if(document.checkout.ssl_exp_date.value.length < '4') {
		alert("Please Enter the Expiration Date");
		return false;
	}
	if(document.checkout.ssl_exp_date.value == 'MMYY') {
		alert("Please Enter the Expiration Date");
		return false;
	}
	if(document.checkout.ssl_cvv2cvc2.value == '') {
		alert("Please Enter the Signature Code");
		return false;
	}
	if(document.checkout.ssl_description.value == '') {
		alert("Please Enter a Description");
		return false;
	}

	
}

function checkCheck() {

	if(document.check.RoutingNumber.value.length != 9) {
		alert("Please Enter a Valid Routing Number");
		return false;
	}
	if(document.check.AccountNumber.value.length < 5) {
		alert("Please Enter a Valid Account Number");
		return false;
	}
	if(document.check.AccountType.value.length < 1) {
		alert("Please Select an Account Type");
		return false;
	}
		
}

function initial() {

	if(document.checkout.ini.value.length == 2) {
		document.getElementById("CB").style.display="";
	}
	else{
		document.getElementById("CB").style.display="none";
	}
		
}

function moneyonly(myfield, e, dec)
{
var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789.").indexOf(keychar) > -1))
   return true;

// decimal point jump

else
   alert("Numbers Only in this Field Please");
   return false;
}

function getClient() {
	document.location.href = 'NewTransaction.asp?am='+document.checkout.am.value+'&ec='+document.checkout.ec.value;
}

function checkAccount() {

	if(document.details.fn.value.length == 0) {
		alert("Please Enter a First Name");
		return false;
	}
	if(document.details.ln.value.length == 0) {
		alert("Please Enter a Last Name");
		return false;
	}
	if(document.details.p1.value != document.details.p2.value) {
		alert("Passwords Do Not Match");
		return false;
	}
	if(document.details.co.value.length == 0) {
		alert("Please Enter a Company Name");
		return false;
	}

	if(document.details.sa1.value.length == 0) {
		alert("Please Enter a Street Address");
		return false;
	}

	if(document.details.ci.value.length == 0) {
		alert("Please Enter a City");
		return false;
	}

	if(document.details.st.value.length == 0) {
		alert("Please Select a State");
		return false;
	}
	if(document.details.zip.value.length == 0) {
		alert("Please Enter a Zip Code");
		return false;
	}
	if(document.details.em.value.length == 0) {
		alert("Please Enter a Valid Email Address");
		return false;
	}
	if(emailCheck(document.details.em.value) == false) {
		return false;
	}
	if(document.details.ws.value.length == 0) {
		alert("Please Enter a Website Address");
		return false;
	}
	if(document.details.cp.value.length == 0) {
		alert("Please Enter a Phone Number");
		return false;
	}
	if(document.details.sid.value.length != 4) {
		alert("Please Enter a Check Assist Site ID");
		return false;
	}
	if(document.details.sk.value.length == 0) {
		alert("Please Enter a Check Assist Site Key");
		return false;
	}
}

function checkNewAccount() {

	if(document.details.fn.value.length == 0) {
		alert("Please Enter a First Name");
		return false;
	}
	if(document.details.ln.value.length == 0) {
		alert("Please Enter a Last Name");
		return false;
	}
	if(document.details.un.value.length == 0) {
		alert("Please Enter a Username");
		return false;
	}
	if(document.details.p1.value.length == 0) {
		alert("Please Enter a Password");
		return false;
	}
	if(document.details.p1.value != document.details.p2.value) {
		alert("Passwords Do Not Match");
		return false;
	}
	if(document.details.co.value.length == 0) {
		alert("Please Enter a Company Name");
		return false;
	}

	if(document.details.sa1.value.length == 0) {
		alert("Please Enter a Street Address");
		return false;
	}

	if(document.details.ci.value.length == 0) {
		alert("Please Enter a City");
		return false;
	}

	if(document.details.st.value.length == 0) {
		alert("Please Select a State");
		return false;
	}
	if(document.details.zip.value.length == 0) {
		alert("Please Enter a Zip Code");
		return false;
	}
	if(document.details.em.value.length == 0) {
		alert("Please Enter a Valid Email Address");
		return false;
	}
	if(emailCheck(document.details.em.value) == false) {
		return false;
	}
	if(document.details.ws.value.length == 0) {
		alert("Please Enter a Website Address");
		return false;
	}
	if(document.details.cp.value.length == 0) {
		alert("Please Enter a Phone Number");
		return false;
	}
	if(document.details.sid.value.length != 4) {
		alert("Please Enter a Check Assist Site ID");
		return false;
	}
	if(document.details.sk.value.length == 0) {
		alert("Please Enter a Check Assist Site Key");
		return false;
	}
	if(document.details.role.value.length == 0) {
		alert("Please Select an Account Role");
		return false;
	}
	if(document.details.active.value.length == 0) {
		alert("Please Select an Active Status");
		return false;
	}
}

function checkTransaction() {

	if(document.details.fn.value.length == 0) {
		alert("Please Enter a First Name");
		return false;
	}
	if(document.details.ln.value.length == 0) {
		alert("Please Enter a Last Name");
		return false;
	}
	if(document.details.ca.value == 'Y') {
		if(document.details.co.value.length == 0) {
			alert("Please Enter Company Name");
			return false;
		}
	}
	if(document.details.em.value.length == 0) {
		alert("Please Enter a Valid Email Address");
		return false;
	}
	if(emailCheck(document.details.em.value) == false) {
		return false;
	}
	if(document.details.sa1.value.length == 0) {
		alert("Please Enter a Street Address");
		return false;
	}

	if(document.details.ci.value.length == 0) {
		alert("Please Enter a City");
		return false;
	}

	if(document.details.st.value.length == 0) {
		alert("Please Select a State");
		return false;
	}
	if(document.details.zip.value.length == 0) {
		alert("Please Enter a Zip Code");
		return false;
	}
	if(document.details.em.value.length == 0) {
		alert("Please Enter a Valid Email Address");
		return false;
	}
	if(emailCheck(document.details.em.value) == false) {
		return false;
	}
	if(document.details.cp.value.length == 0) {
		alert("Please Enter a Phone Number");
		return false;
	}
	if(document.details.rn.value.length != 9) {
		alert("Please Enter a Valid Routing Number");
		return false;
	}
	if(document.details.an.value.length < 5) {
		alert("Please Enter a Valid Account Number");
		return false;
	}
	if(document.details.cn.value.length < 3) {
		alert("Check Number Must Be At Least 3 Characters");
		return false;
	}
	if(document.details.am.value < '0.01') {
		alert("You Must Enter Transaction Amount");
		return false;
	}
}


function checkNew() {

	if(document.newacc.fname.value.length < 3) {
		alert("Please Enter Your First Name");
		return false;
	}

	if(document.newacc.lname.value.length < 3) {
		alert("Please Enter Your Last Name");
		return false;
	}
	if(document.newacc.email.value.length < 3) {
		alert("Please Enter a Valid Email Address");
		return false;
	}
	if(emailCheck(document.newacc.email.value) == false) {
		return false;
	}
	if(document.newacc.city.value.length < 3) {
		alert("Please Enter Your City");
		return false;
	}
	if(document.newacc.state.value.length < 2) {
		alert("Please Enter Your State or Country");
		return false;
	}
	if(document.newacc.password.value.length < 8) {
		alert("Account Password Must Be At Least 8 Characters Long");
		return false;
	}
	if(document.newacc.password.value !=  document.newacc.password2.value) {
		alert("Password Not Confirmed.  They Do Not Match.");
		return false;
	}
	if(document.newacc.strCAPTCHA2.value.length < 8) {
		alert("Security Key Must Be At Least 8 Characters Long");
		return false;
	}

	
}

function checkNewP() {

	if(document.newacc.fname.value.length < 3) {
		alert("Please Enter Your First Name");
		return false;
	}

	if(document.newacc.lname.value.length < 3) {
		alert("Please Enter Your Last Name");
		return false;
	}
	if(document.newacc.email.value.length < 3) {
		alert("Please Enter a Valid Email Address");
		return false;
	}
	if(emailCheck(document.newacc.email.value) == false) {
		return false;
	}
	if(document.newacc.church.value.length < 3) {
		alert("Please Enter Your Church");
		return false;
	}
	if(document.newacc.city.value.length < 3) {
		alert("Please Enter Your City");
		return false;
	}
	if(document.newacc.state.value.length < 2) {
		alert("Please Enter Your State or Country");
		return false;
	}
	if(document.newacc.password.value.length < 8) {
		alert("Account Password Must Be At Least 8 Characters Long");
		return false;
	}
	if(document.newacc.password.value !=  document.newacc.password2.value) {
		alert("Password Not Confirmed.  They Do Not Match.");
		return false;
	}
	if(document.newacc.invite.value.length < 8) {
		alert("Please Enter a Valid Invitation Code");
		return false;
	}
	if(document.newacc.strCAPTCHA2.value.length < 8) {
		alert("Security Key Must Be At Least 8 Characters Long");
		return false;
	}

	
}
