//***************************
// Variables to check the form
var ce='yes';

var al='yes';

var ac='yes';

var us='yes';

var tp='yes';



function isEmail(who) {

	var email=/^[A-Za-z0-9][\w-.]+[A-Za-z0-9]@[A-Za-z0-9]([\w-.]+[A-Za-z0-9]\.)+([A-Za-z]){2,4}$/i;

	return(email.test(who));

}



function checkForm(form){	

	var errMsg = "You must write in the Application Form\n\n";

	var theFlag = true;



	if(document.form.lastName.value == ""){

		errMsg = errMsg + "Last Name\n";

		theFlag = false;

	}

	

	if(document.form.firstName.value == ""){

		errMsg = errMsg + "First Name\n";

		theFlag = false;

	}

	

	if (!isUSPhoneNumber(stripCharsNotInBag(document.form.ePhoneNumber.value,digits))){

			errMsg = errMsg + "Please check your work Phone Number\n";

			theFlag = false;

	}

	

	if (!isUSPhoneNumber(stripCharsNotInBag(document.form.phoneNumber.value,digits))){

			errMsg = errMsg + "Please check your Home Phone Number\n";

			theFlag = false;

	}

	

	if(!isEmail(document.form.email.value)){

		errMsg = errMsg + "Valid Email Address\n";

		theFlag = false;

	}		



	if(ce=='no'){

		errMsg = errMsg + "You must be Currently Employed and make $1000 per month or $800 on fixed income to apply for a loan.\n";

		theFlag = false;

	}



	if(ac == 'no'){

		errMsg = errMsg + "You must have an active Checking Account to apply for a loan.\n";

		theFlag = false;

	}



	if(us == 'no'){

		errMsg = errMsg + "You must be a US Citizen of at least 18 years old to apply for a loan.\n";

		theFlag = false;

	}
	
	if((document.form.password1.value.length < 4) || (document.form.password1.value=="")){
		errMsg = errMsg + "Password of 6 characters\n";
		theFlag = false;
		}
	else {
		if(document.form.password1.value != document.form.password2.value){
			errMsg = errMsg + "Passwords are not the same\n";
			theFlag = false;
		}
	}


	if (!isSSN(stripCharsNotInBag(document.form.ssn.value,digits))){
		errMsg = errMsg + "Social Security Number\n";
		theFlag = false;
		}

	if((document.form.month.value == "") || (document.form.day.value == "") || (document.form.year.value == "")){
		errMsg = errMsg + "Date of Birth\n";
		theFlag = false;
	}

	if((document.form.yearsAddress.value == "") && (document.form.monthsAddress.value == "")){
		errMsg = errMsg + "How long at this address?\n";
		theFlag = false;
	}
	if((document.form.address.value == "")||(form.city.value == "")||(document.form.state.value == "")||(document.form.zip.value == ""))
	{
		errMsg = errMsg + "Address, City, State and Zip\n";
		theFlag = false;
	}

	if((document.form.yearsAddress.value == "") && (document.form.monthsAddress.value == "")){
		errMsg = errMsg + "How long at this address?\n";
		theFlag = false;
	}

	if(document.form.company.value == ""){
		errMsg = errMsg + "Company\n";
		theFlag = false;
	}
	if((document.form.mainIncome.value == "") || (document.form.checkOften.value == "") || (document.form.checkDeposit.value == "")){
		errMsg = errMsg + "Income Information\n";
		theFlag = false;
	}

	var paydate1 = usDate2Unix(form.paydate1.value);
	var paydate2 = usDate2Unix(form.paydate2.value);
	
	
	if(document.form.paydate1.value=="" || document.form.paydate2.value=="" || paydate1=="NaN" || paydate1=="NaN")
	{
		errMsg = errMsg + "PayDates\n";
		theFlag = false;	
	}
	else
	{
		if(document.form.checkOften[0].checked){
			intervaloMinimo = 7;
			intervaloMaximo = 13;
		}
		if(document.form.checkOften[1].checked){
			intervaloMinimo = 14;
			intervaloMaximo = 27;
		}

		if(document.form.checkOften[2].checked)
		{
			intervaloMinimo = 14;
			intervaloMaximo = 29;
		}

		if(document.form.checkOften[3].checked)
		{
			intervaloMinimo = 30;
			intervaloMaximo = 59;
		}

		var now = new Date();
		var today = new Date(now.getYear(),now.getMonth(),now.getDate());

		if ((usDate2Unix(document.form.paydate1.value)) > (usDate2Unix(document.form.paydate2.value))) 
		{	
				errMsg = errMsg + "First pay day must come before Second\n";
				theFlag = false;	
				

		}else if (usDate2Unix(document.form.paydate1.value) <= today)	{
		 
				errMsg = errMsg + "First pay day must come after today\n";
				theFlag = false;	
		
		
		}else if ((daysElapsed(paydate2,paydate1) > 31) || (daysElapsed(paydate1,today) > 31)) 	{
		 
				errMsg = errMsg + "Pay dates are too far in the future\n";
				theFlag = false;	
		
		
		}else{
			if ((isholiday(usDate2Unix(document.form.paydate1.value))) || (isweekenddays(usDate2Unix(document.form.paydate1.value))))
			{
				errMsg = errMsg + "First pay day chosen falls on a weekend or holiday\n";
				theFlag = false;	
				form.paydate1.style.borderColor='red';
				}else{
				form.paydate1.style.borderColor='white';
			}

			if 	((isholiday(usDate2Unix(document.form.paydate2.value)))  || (isweekenddays(usDate2Unix(document.form.paydate2.value))))
			{
				errMsg = errMsg + "Second pay day chosen falls on a weekend or holiday\n";
				theFlag = false;	
				form.paydate2.style.borderColor='red';
				}else{
				form.paydate2.style.borderColor='white';
			}
		}

	}
		//dateHired check
	if(document.form.dateHired.value != ""){
		// mm-dd-yyyy
		var objRegExp = /^([1-9]|0[1-9]|1[012])[-.]([1-9]|0[1-9]|[12][0-9]|3[01])[-.](19|20)\d\d$/
		if(!objRegExp.test(document.form.dateHired.value)){
			errMsg = errMsg + "Please check the Hiring Date format\n";
			theFlag = false;
		}
	}
	
	if(document.form.bankName.value == ""){
		errMsg = errMsg + "Bank Name\n";
		theFlag = false;
	}

	if(document.form.abaRouting.value == ""){
		errMsg = errMsg + "ABA Routing Number\n";
		theFlag = false;
	}
	else{
		if((document.form.abaRouting.value.length < 9) || (document.form.abaRouting.value.length > 9)){
			errMsg = errMsg + "Please enter a valid ABA Routing Number\n";
			theFlag = false;
		}
	}

	if(document.form.accNumber.value == ""){
		errMsg = errMsg + "Account Number\n";
		theFlag = false;
	}
	if ((!isUSPhoneNumber(stripCharsNotInBag(document.form.phone2.value,digits))) || (!isUSPhoneNumber(stripCharsNotInBag(document.form.phone1.value,digits)))){
				errMsg = errMsg + "Please check your Reference Phones\n";
			theFlag = false;
	}

	if((document.form.name1.value == "") || (document.form.phone1.value == "") || (document.form.relationship1.value == "") || (document.form.name2.value == "") || (document.form.phone2.value == "") || (document.form.relationship2.value == "")){
		errMsg = errMsg + "Personal Contacts\n";
		theFlag = false;
	}

	if(document.form.agree.checked == false){
		errMsg = errMsg + "Do you agree to the Notices and Disclosures?\n";
		theFlag = false;
	}
	
	if(!theFlag){
		alert(errMsg);
		return false;
	} else {
		return true;
	}

	
}

//*********************************************************
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function daysElapsed(date1,date2) {
    var difference =
        Date.UTC(y2k(date1.getYear()),date1.getMonth(),date1.getDate(),0,0,0)
      - Date.UTC(y2k(date2.getYear()),date2.getMonth(),date2.getDate(),0,0,0);
    return difference/1000/60/60/24;
}


function usDate2Unix(date)
{
	var date1 	= date.split('-');
	var odate1 	= new Date(date1[2], date1[0] - 1, date1[1]);
	return odate1;

}
function isweekenddays(date)
{
	if((date.getDay() == 0) || (date.getDay() == 6))
		return true;		
}

function isholiday(date)
{
	var vecFeriados	= new Array('2004-01-01', '2004-01-19', '2004-02-16', '2004-05-31', '2004-07-05', '2004-09-06', '2004-10-11', '2004-11-11', '2004-11-25', '2004-12-25', '2005-01-01', '2005-01-17', '2005-02-21', '2005-05-30', '2005-07-04', '2005-09-05', '2005-10-10', '2005-11-11', '2005-11-24', '2005-12-26', '2006-01-02', '2006-01-16', '2006-02-20', '2006-05-29', '2006-07-04', '2006-09-04', '2006-10-09', '2006-11-11', '2006-11-23', '2006-12-25', '2007-01-01', '2007-01-15', '2007-02-19', '2007-05-28', '2007-07-04', '2007-09-03', '2007-10-08', '2007-11-12', '2007-11-27', '2007-12-25', '2008-01-01', '2008-01-21', '2008-02-18', '2008-05-26', '2008-07-04', '2008-09-01', '2008-10-13', '2008-11-11', '2008-11-25', '2008-12-25');
	if(in_array(vecFeriados,date))    
		return true;		
}



	