<!--//
/* This script is open source, free for use and modification.
* Please leave this notice in tact to credit the author.
* Author: Steven Moseley
* Homepage: http://www.stevenmoseley.com
*
* Modified by EVOKNOW, Inc.
*/
function isSpecialChar(myString){
	var MyStr = 'qwertyuioplkjhgfdsazxcvbnmMNBVCXZASDFGHJKLPOIUYTREWQ0123456789';
	for (i=0; i<myString.length; i++) {
		var MyChar = myString.substring(i,i+1);
		if (MyStr.indexOf(MyChar) == -1) {
			return true;
		}
	}
	return false;
} // end fn isSpecialChar

function Mixed_password(strng){
if (!((strng.search(/[a-z]+/) > -1) && (strng.search(/[0-9]+/) > -1))) 
  {
  return true;
  }
  else{
  return false;  
	  }	


}//end Mixed function


function highlight(obj)
{
	obj.style.background= 'red';
}

function clearHighlight(obj)
{
	obj.style.background= 'white';
}

function isInteger(val)
{
	return (parseInt(val,10)==(val*1));
}

function isMoney(val)
{
	return (parseFloat(val,10)==(val*1));
}




function checkEmail (strng) {
	var error="";
	if (strng == "") {
		error = "You didn't enter an email address.\n";
	}

	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(strng))) {
		error = "Please enter a valid email address.\n";
	}
	else {
		//test email for illegal characters
		var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
		if (strng.match(illegalChars)) {
			error = "The email address contains illegal characters.\n";
		}
	}
	return error;
}


function checkPhone (strng,isRequired) {
	var error="";
	if (strng == "") {
		if(isRequired) return " - Phone\n";
		else return "";
	}

	var sFilter=/^\d{3}-\d{3}-\d{4}$/;
	if (!(sFilter.test(strng))) {
		error = "Invalid phone format.\n";
	}
	return error;
}

function checkZip (strng,isRequired) {
	var error="";
	if (strng == "") {
		if(isRequired) return " - Zip\n";
		else return "";
	}

	var sFilter=/^\d{5}$/;
	if ((sFilter.test(strng))) {
		return "";
	}

	//canadian
	sFilter=/^\w{3} \w{3}$/;
	if ((sFilter.test(strng))) {
		return "";
	}
	
	error = " - Invalid Zip format.\n";
	return error;
}


function checkSSN (strng,isRequired) {
	var error="";
	if (strng == "") {
		if(isRequired) return " - Social Security Number\n";
		else return "";
	}

	var sFilter=/^\d{3}-\d{2}-\d{4}$/;
	if (!(sFilter.test(strng))) {
		error = " - Invalid SSN format.\n";
	}
	return error;
}


function checkTaxID (strng,isRequired) {
	var error="";
	if (strng == "") {
		if(isRequired) return " - Federal Tax ID Number\n";
		else return "";
	}

	var sFilter=/^\d{9}$/;
	if (!(sFilter.test(strng))) {
		error = " - Invalid Federal Tax ID Number format.\n";
	}
	return error;
}


//9 digits
function checkABA (strng,isRequired) {
	var error="";
	if (strng == "") {
		if(isRequired) return " - ABA Routing Number\n";
		else return "";
	}

	var sFilter=/^\d{9}$/;
	if (!(sFilter.test(strng))) {
		error = " - Invalid ABA Routing Number format.\n";
	}
	return error;
}

//digits
function checkDDA (strng,isRequired) {
	var error="";
	if (strng == "") {
		if(isRequired) return " - DDA Checking Account\n";
		else return "";
	}

	var sFilter=/^\d+$/;
	if (!(sFilter.test(strng))) {
		error = " - Invalid DDA Checking Account format.\n";
	}
	return error;
}



//function checkPercent(strng,isRequired) {
//	var error="";
//	if (strng == "") {
//		if(isRequired) return true;
//		else return false;
//	}
//
//	
//	var sFilter=/^\d+$/;
//	if (!(sFilter.test(strng))) {
//		error = true;
//	}
//	return error;
//}


function isDate (day,month,year) {
	month=month-1;
	var test = new Date(year,month,day);

	if ( (test.getFullYear() == year) &&
	(month == test.getMonth()) &&
	(day == test.getDate())   &&
	(year>1900) && (year<2021))

	return true;
	else
	return false
}


function checkDate(strng,isRequired) {
	var error="";
	if (strng == "" || strng == "//") {
		if(isRequired) return " - Date\n";
		else return "";
	}

	var dl=strng.split('/');
	if (dl.length!=3 || !isDate(dl[1],dl[0],dl[2])) {
		error = "Invalid Date Format.\n";
	}
	return error;
}



function isNumber(strng,length,isRequired) {
	if (strng == "") {
		if(isRequired) return false;
		else return true;
	}

	var sFilter=/^\d+$/;
	if (!(sFilter.test(strng))) {
		return false
	}
	return true;
}


function selectNo(chkbox) {
	chkbox.checked = true;
	chkbox.value = "No";
}

function validateStep2(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;
	
	if (r && form.BusinessName.value.length == 0) {
		error += " - DBA Name\n";
		retval = false;
	}

	if (r && form.BusinessContactName.value.length == 0) {
		error += " - Owner Name\n";
		retval = false;
	}

	e=checkPhone(form.BusinessPhone.value,r);
	if (e) {error += "Office Phone is invalid\n";retval = false;}



	if (retval && form.bank_id) {
		if(!(getCtrlValue('bank_id') && getCtrlValue('bankbranch_id') && getCtrlValue('bankofficer_id'))){
			if(!confirm('Are you sure you want to proceed without selecting a Bank/Branch/User for this application?')){
				error += "Bank/Branch/User\n";retval = false;
			}
		}
	}

	if (!retval) {
		alert(error);
	}

	return retval;
}

function validateStep3(form) {


	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;



	if(r && form.MerchantStatus)
	if((!form.MerchantStatus[0].checked)&&
	(!form.MerchantStatus[1].checked)) {
		error += " - Merchant Status\n";
		retval = false;
	}

/*
	var bonusAmountPerc=1.0*strToMoney(getCtrlValue('Level1')) 
		+ 1.0*strToMoney(getCtrlValue('Level2')) 
		+ 1.0*strToMoney(getCtrlValue('Level3')) 
		+ 1.0*strToMoney(getCtrlValue('Level4')) 
		;
	var bonusValue=(getCtrlValue('_BonusValue'));
	if(bonusAmountPerc!=100.0) {
		error += "The Level 1, 2, 3 and Addl  User Bonus percentage must total to 100%\n";
		retval = false;
	}
*/

	if (!retval) {
		alert(error);
	}

	return retval;
}

function validateStep3a(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;

	if (!isMoney(form.AvgCheckAmount.value)) {
		error += " - Average Check Amount\n";
		retval = false;
	}


	if (!isMoney(form.LargestCheckAmount.value)) {
		error += " - Largest Check Amount\n";
		retval = false;
	}

	if (r && form.LargestCheckWhy.value.length==0) {
		error += " - Largest Check Amount Reason\n";
		retval = false;
	}


	if (!retval) {
		alert(error);
	}

	return retval;
}


function validateStepEquip(form){
	var retval = true;
	var error = "The following mandatory field(s) are invalid\n";

	
//	if (getCtrlValue('PaymentType')=='N/A') {
//		error += " - Pay Method\n";
//		retval = false;
//	}
	
	
	if (el('leasevendor')) {
	    if(!getCtrlValue('leasevendor')){
			error += " - Lease Vendor is not selected\n";
			retval = false;
		}
	    if(getCtrlValue('LeaseQuote')*1.0 == 0){
			error += " - Lease Pay Amount is empty\n";
			retval = false;
		}
	    if(getCtrlValue('LeaseTerm')*1.0 == 0){
			error += " - Lease Term is not selected\n";
			retval = false;
		}
	    if(getCtrlValue('LeaseScore')*1.0 == 0){
			error += " - Lease Score is not selected\n";
			retval = false;
		}

	}

	var ptobj;
	var hasLease=false;
	for(i=0;true;i++){
	    ptobj=el('ptype_'+i);
	 	if(!ptobj) break;
		if(getCtrlValue(ptobj.name)=='lease') hasLease=true;
	}

	if(hasLease && getCtrlValue('PaymentType')!='Leasing'){
		error += " - Pay Method must be Leasing\n";
	 	retval=false;
	}

	if(hasLease && getCtrlValue('leasevendor')==''){
		error += " - Leasing Vendor must be selected\n";
	 	retval=false;
	}


/*  if (el('sfLevel1')) {
	var bonusAmountPP=
			1.0*strToMoney(getCtrlValue('sfLevel1')) +
			1.0*strToMoney(getCtrlValue('sfLevel2')) +
			1.0*strToMoney(getCtrlValue('sfLevel3')) +
			1.0*strToMoney(getCtrlValue('sfLevel4'));
	var bonusValue=1.0*strToMoney(getCtrlValue('sfBonus'));
	if(bonusAmountPP!=100.0) {
		error += "The Level 1, Level 2, Level3 and Level 4 bonus percentage must be 100%\n";
		retval = false;
	}
  }

*/
  if (el('lfLevel1')) {
    //LeaseFundingSplit = global var
	var splitAmount=
			1.0*strToMoney(getCtrlValue('lfLevel1')) +
			1.0*strToMoney(getCtrlValue('lfLevel2')) +
			1.0*strToMoney(getCtrlValue('lfLevel3')) +
			1.0*strToMoney(getCtrlValue('lfLevel4'));
	if(splitAmount>100) {
		error += "Lease Funding Split ("+splitAmount+"%) Must Total to 100% or less\n";
		retval = false;
	}
  }


  if (el('eqLevel1')) {
    //LeaseFundingSplit = global var
	var eqsplitAmount=
			1.0*strToMoney(getCtrlValue('eqLevel1')) +
			1.0*strToMoney(getCtrlValue('eqLevel2')) +
			1.0*strToMoney(getCtrlValue('eqLevel3')) +
			1.0*strToMoney(getCtrlValue('eqLevel4'));
	if(eqsplitAmount>100.0) {
		error += "Equipment Cost Split ("+eqsplitAmount+"%) Must Total to 100% or less\n";
		retval = false;
	}
  }



	if (!retval) {
		alert(error);
	}

	return retval;

}


function validateStep4(form) {
	var retval = true;
	var error = "The following mandatory field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;

	if (r && form.BusinessName.value.length == 0) {
		error += " - Business Name\n";
		retval = false;
	}

	if (r && form.BusinessAddress.value.length == 0) {
		error += " - DBA Address\n";
		retval = false;
	}

	if (r && form.BusinessCity.value.length == 0) {
		error += " - Business City\n";
		retval = false;
	}

	if (r && form.BusinessState.selectedIndex == 0) {
		error += " - State\n";
		retval = false;
	}

	//   if (form.BusinessZip.value.length == 0) {
	//      error += " - Zip Code\n";
	//      retval = false;
	//   }

	e=checkZip(form.BusinessZip.value,r);
	if (e) {error += e;retval = false;}



	//   if (form.BusinessTaxID.value.length != 9) {
	//      error += " - Federal Tax ID Number\n";
	//      retval = false;
	//   }

	var isTaxIDRequired=getCtrlValue('isTaxIDRequired');
	
	e=checkTaxID(form.BusinessTaxID.value,isTaxIDRequired);
	if (e) {error += e;retval = false;}


//	if (r && form.BusinessContactName.value.length == 0) {
//		error += " - Contact Name\n";
//		retval = false;
//	}


	e=checkPhone(form.BusinessContactPhone.value,false);
	if (e) {error += "Contact Phone is invalid\n";retval = false;}

	e=checkPhone(form.BusinessPhone.value,r);
	if (e) {error += "Location Phone is invalid\n";retval = false;}


	if(form.CustomerServicePhone){
    	e=checkPhone(form.CustomerServicePhone.value,false);
    	if (e) {error += "Customer Service Phone is invalid\n";retval = false;}
	}



	if(form.BusinessTollPhone){
	e=checkPhone(form.BusinessTollPhone.value,false);
	if (e) {error += "Toll Free # is invalid\n";retval = false;}
	}

	if(form.BusinessCellPhone){
	e=checkPhone(form.BusinessCellPhone.value,false);
	if (e) {error += "Cell Phone # is invalid\n";retval = false;}
	}

	if(form.BusinessFax){
	e=checkPhone(form.BusinessFax.value,false);
	if (e) {error += "Location Fax is invalid\n";retval = false;}
	}



	if (r && form.SurveyMerchantLocation && form.SurveyMerchantLocation.selectedIndex == 0) {
		error += " - Merchant Location\n";
		retval = false;
	}

	if (r && form.SurveyOwnLease && form.SurveyOwnLease.selectedIndex == 0) {
		error += " - Merchant Owns/Leases\n";
		retval = false;
	}


	if (r && form.isMoto && form.isMoto.value!='0'){
		if (form.BusinessEmail.value.length == 0) {
			error += " - Email Address\n";
			retval = false;
		}
		if (form.BusinessWebsite && form.BusinessWebsite.value.length == 0) {
			error += " - Website Address\n";
			retval = false;
		}

	}

	if (r && form.CardholderName && form.CardholderName.value.length == 0) {
		error += " - Name to Appear on Cardholder Statement\n";
		retval = false;
	}





	if (!retval) {
		alert(error);
		return false;
	}

	if (r && !isInteger(form.BusinessZip.value)) {
		alert("Invalid Zip Code");
		return false;
	}

	if (r && form.ownshtype_id.selectedIndex == 0) {
		error += " - Type of Ownership\n";
		retval = false;
	}



	return true;
}


function validateStep5(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;

	if (r && form.BankName.value.length == 0) {
		error += " - Bank Name\n";
		retval = false;
	}


	e=checkZip(form.BankZip.value);
	if (e) {error += "Bank Zip Code is invalid\n";retval = false;}


	//   if (!form.BankABA.disabled && (form.BankABA.value.length != 9 || !isInteger(form.BankABA.value))) {
	//      error += " - ABA Routing Number\n";
	//      retval = false;
	//   }

	if (!form.BankABA.disabled){
		e=checkABA(form.BankABA.value,r);
		if (e) {error += e;retval = false;}
	}



	//   if (!form.BankDDA.disabled && form.BankDDA.value.length == 0) {
	//      error += " - DDA Checking Account #\n";
	//      retval = false;
	//   }

	if (!form.BankDDA.disabled){
		e=checkDDA(form.BankDDA.value,r);
		if (e) {error += e;retval = false;}
	}


	e=checkPhone(form.BankPhone.value);
	if (e) {error += "Bank Phone Number is invalid\n";retval = false;}

	e=checkPhone(form.RefPhone.value);
	if (e) {error += "Trade Reference Phone is invalid\n";retval = false;}

	e=checkZip(form.RefZip.value);
	if (e) {error += "Trade Reference Zip Code is invalid\n";retval = false;}

	e=checkPhone(form.LmhPhone.value);
	if (e) {error += "Landlord/Mortgage Holder Phone is invalid\n";retval = false;}

	e=checkZip(form.LmhZip.value);
	if (e) {error += "Landlord/Mortgage Holder Zip Code is invalid\n";retval = false;}


	if(form.BankAccountType)
	if(r && (!getCtrlValue('BankAccountType'))) {
		error += " - Account Type\n";
		retval = false;
	}




	if (!retval) {
		alert(error);
	}

	return retval;
}


function validateStep6(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;


	if (r &&  form.OwnerFirstName.value.length == 0) {
		error += " - Owner First Name\n";
		retval = false;
	}
	if (r &&  form.OwnerLastName.value.length == 0) {
		error += " - Owner Last Name\n";
		retval = false;
	}


	if (r &&  form.OwnerDL.value.length == 0) {
		error += " - Drivers License\n";
		retval = false;
	}

	if (r &&  form.OwnerDLState.selectedIndex == 0) {
		error += " - Drivers License State\n";
		retval = false;
	}



	if(!form.OwnerSSN.disabled){
		e=checkSSN(form.OwnerSSN.value,r);
		if (e) {error += "Social Security\n";retval = false;}
	}

	if(!form.OwnerSSN2.disabled){
		e=checkSSN(form.OwnerSSN2.value,false);
		if (e) {error += "Social Security #2\n";retval = false;}
	}




	/*   if(!form.OwnerDL.disabled){
	if (form.OwnerDL.value == 0) {
	error += " - Drivers License #\n";
	retval = false;
	}
	}

	if (form.OwnerDLState.selectedIndex == 0) {
	error += " - Drivers License State\n";
	retval = false;
	}
	*/

	if (r && form.OwnerAddress.value.length == 0) {
		error += " - Owner Home Address\n";
		retval = false;
	}


	if (r && form.OwnerCity.value == 0) {
		error += " - City #\n";
		retval = false;
	}

	if (r && form.OwnerState.selectedIndex == 0) {
		error += " - State\n";
		retval = false;
	}


	if(form.MerchantOwnershipLength)
	if (r && form.MerchantOwnershipLength.value.length == 0) {
		error += " - Length of Ownership\n";
		retval = false;
	}


	//   if (!isNumber(form.OwnerZip.value,5,true)) {
	//      error += " - Zip Code #\n";
	//      retval = false;
	//   }
	//   if (!isNumber(form.OwnerZip2.value,5,false)) {
	//      error += " - Zip Code #2 #\n";
	//      retval = false;
	//   }
	e=checkZip(form.OwnerZip.value,r);
	if (e) {error += " - Zip Code \n";retval = false;}

	e=checkZip(form.OwnerZip2.value,false);
	if (e) {error += " - Zip Code #2\n";retval = false;}



	//   if (form.OwnerPhone.value == 0) {
	//      error += " - Home Phone #\n";
	//      retval = false;
	//   }

	e=checkPhone(form.OwnerPhone.value,r);
	if (e) {error += "Home Phone Number is invalid\n";retval = false;}

	e=checkPhone(form.OwnerPhone2.value);
	if (e) {error += "Home Phone #2 is invalid\n";retval = false;}



	var perc=parseFloatZ(form.OwnerPercentage.value);	
	if (perc >100.0) {
		error += " - % of Ownership\n";
		retval = false;
	}
	form.OwnerPercentage.value=perc;


	var perc=parseFloatZ(form.OwnerPercentage2.value);	
	if (perc >100.0) {
		error += " - % of Ownership #2\n";
		retval = false;
	}
	form.OwnerPercentage2.value=perc;
	
	
	e=checkDate(form.OwnerDOBmm.value+'/'+form.OwnerDOBdd.value+'/'+form.OwnerDOByy.value,r);
	if (e) {error += " - Invalid Date Of Birth\n";retval = false;}

	if(form.OwnerDOBmm2.selectedIndex!=0)
	e=checkDate(form.OwnerDOBmm2.value+'/'+form.OwnerDOBdd2.value+'/'+form.OwnerDOByy2.value,r);
	if (e) {error += " - Invalid Date Of Birth #2\n";retval = false;}
//	e=checkDate(form.OwnerDOB2.value,false);
//	if (e) {error += " - Invalid Date Of Birth #2\n";retval = false;}

	//   if (form.OwnerDOB.value == 0) {
	//      error += " - Date Of Birth #\n";
	//      retval = false;
	//   }


	if (!retval) {
		alert(error);
	}
	return retval;
}

function validateStep7(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;

	if (r && form.MerchantType.selectedIndex<=0) {
		error += " - Merchant Type\n";
		retval = false;
	}



	if (r && form.MerchantProductsSold.value.length == 0) {
		error += " - Products Sold\n";
		retval = false;
	}



	if(form.MerchantBusinessYears)
	if (r && form.MerchantBusinessYears.value.length == 0) {
		error += " - Years in Busines\n";
		retval = false;
	}

	if(r && (!form.ProcTerminated[0].checked)&&
	(!form.ProcTerminated[1].checked)) {
		error += " - Ever had a Merchant Account Terminated by a Processor?\n";
		retval = false;
	}


	if(r && (!form.ProcBankruptcy[0].checked)&&
	(!form.ProcBankruptcy[1].checked)) {
		error += " - Ever file Bankruptcy?\n";
		retval = false;
	}

	if(form.ProcMonthlyVolume)
	if((r || form.ProcMonthlyVolume.value.length!=0) && !isInteger(form.ProcMonthlyVolume.value)) {
		error += " - Monthly Processing Volume\n";
		retval = false;
	}

	if ((r || form.ProcAverageTicket.value.length!=0) && !isInteger(form.ProcAverageTicket.value)) {
		error += " - Average Ticket Size\n";
		retval = false;
	}

	if(form.ProcHighestTicket)
	if ((r || form.ProcHighestTicket.value!=0) &&  !isInteger(form.ProcHighestTicket.value)) {
		error += " - Highest Ticket Amount\n";
		retval = false;
	}


	var ckeyed=parseFloatZ(form.CardsImprint.value)+parseFloatZ(form.CardsMail.value) ;
	var c=parseFloatZ(form.CardsSwiped.value)+ckeyed;
	if (r && c != 100.00) {
		error += " - Visa/MC Sales Profile must total 100%\n";
		retval = false;
	}

	if(form.proc20Store && form.proc20Phone && form.proc20Mail && form.proc20Internet){
    	var c20=parseFloatZ(form.proc20Store.value)+parseFloatZ(form.proc20Phone.value)+parseFloatZ(form.proc20Mail.value)+parseFloatZ(form.proc20Internet.value) ;

    	if(c20==0 && ckeyed>19.99){
    			error += " - Merchants Processing 20% or More Keyed Volume is required value%\n";
    			retval = false;
    	}
    	if(c20 && c20!=100.00){
    			error += " - Merchants Processing 20% or More Keyed Volume must total 100%\n";
    			retval = false;
    	}
	}	

	if(form.tranComplElectronic && form.tranComplImprint && form.tranComplNotpresent && form.tranComplVoice){
	var c3=parseFloatZ(form.tranComplElectronic.value)+parseFloatZ(form.tranComplImprint.value)+parseFloatZ(form.tranComplNotpresent.value)+parseFloatZ(form.tranComplVoice.value) ;

	if(c3 && c3!=100.00){
			error += " - How Is Transaction Completed must total 100%\n";
			retval = false;
	}
	}


	var isDeliveryOfProductsRequired=getCtrlValue('isDeliveryOfProductsRequired');
	if (isDeliveryOfProductsRequired && !getCtrlValue('DeliveryOfProducts')) {
		error += " - Delivery of Products\n";
		retval = false;
	}



	if (!retval) {
		alert(error);
	}
	return retval;
}



function validateStep7a(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;


	if ((r || form.AnnnualVMCVolume.value.length!=0) && !isInteger(form.AnnnualVMCVolume.value)) {
		error += " - Annual Visa/MC Volume\n";	retval = false;
	}
	if ((r || form.TotalSales.value.length!=0) && !isInteger(form.TotalSales.value)) {
		error += " - Total Sales\n";	retval = false;
	}
	if ((r || form.NumOfTransactions.value.length!=0) && !isInteger(form.NumOfTransactions.value)) {
		error += " - # Transactions\n";	retval = false;
	}


	e=checkZip(form.fhZip.value,false);
	if (e) {error += "Fulfillment House Zip Code is invalid\n";retval = false;}

	e=checkZip(form.ssZip.value,false);
	if (e) {error += "Shipping Service Zip Code is invalid\n";retval = false;}

	e=checkPhone(form.CurProcPhone.value,false);
	if (e) {error += "Current Processor Phone is invalid\n";retval = false;}

	e=checkZip(form.CurProcZip.value,false);
	if (e) {error += "Current Processor Zip Code is invalid\n";retval = false;}


	if (!retval) {
		alert(error);
	}

	return retval;
}






function validateStep8(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;

	if(getCtrlValue('PaymentType')=='Leasing'){
		if (r && form.leasevendor.selectedIndex == 0) {
			error += " - Lease Vendor\n";
			retval = false;
		}
		if ((r || parseFloat(form.LeaseQuote.value)!=0) &&  parseFloat(form.LeaseQuote.value)*1.0<=0.0) {
			error += " - Lease Price\n";
			retval = false;
		}
		if (r && form.LeaseTerm.selectedIndex == 0) {
			error += " - Lease Months\n";
			retval = false;
		}
		if (r && form.LeaseScore.selectedIndex == 0) {
			error += " - Lease Score\n";
			retval = false;
		}
	}else{
		//    	if (parseFloat(form.PurchaseQuote.value)*1.0<=0.0) {
		//        	error += " - Purchase Quote\n";
		//          	retval = false;
		//       	}
	};

	if (!retval) {
		alert(error);
	}
	return retval;
}





function validateStep9(form) {

	//   if (!form.PortableImprinter.checked)
	//      selectNo(form.PortableImprinter);
	//
	//   if (!form.ManualImprinter.checked)
	//      selectNo(form.ManualImprinter);

	//   if (!form.ImprinterPlates.checked)
	//      selectNo(form.ImprinterPlates);

	//   if (!form.PrinterSupplies.checked)
	//      selectNo(form.PrinterSupplies);

	//   if (!form.ImprinterTickets.checked)
	//      selectNo(form.ImprinterTickets);

	//   if (!form.DeploymentKit.checked)
	//      selectNo(form.DeploymentKit);

	//   if (!form.PinPadEncry.checked)
	//      selectNo(form.PinPadEncry);

	//   if (!form.PlexiStand.checked)
	//      selectNo(form.PlexiStand);

	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=getCtrlValue('useRequiredFields')=='1'?true:false;

/*
	if(form.ShipTo){
		if (r && form.ShipAddress.value.length == 0) {
			error += " - Shipping Address\n";
			retval = false;
		}
		if (r && form.ShipCity.value.length == 0) {
			error += " - Shipping City\n";
			retval = false;
		}
		if (r && form.ShipState.selectedIndex == 0) {
			error += " - Shipping State\n";
			retval = false;
		}

		e=checkZip(form.ShipZip.value,r);
		if (e) {error += "Shipping Zip Code is invalid\n";retval = false;}
	}


	if (form.ShippingMethod)
	if (r && form.ShippingMethod.selectedIndex == 0) {
		error += " - Shipping Method\n";
		retval = false;
	}
	*/

//	if (form.Installation)
//	if (r && form.Installation.selectedIndex == 0) {
//		error += " - Installation\n";
//		retval = false;
//	}
//
//	if (form.LeaseVerification)
//	if (r && form.LeaseVerification.selectedIndex == 0) {
//		error += " - Lease Verify\n";
//		retval = false;
//	}
//
//	if (form.Training)
//	if (r && form.Training.selectedIndex == 0) {
//		error += " - Customer Training\n";
//		retval = false;
//	}

	//   if (form.SpecialInstructions.value.length == 0) {
	//      error += " - Special Instructions/Notes\n";
	//      retval = false;
	//   }

	//   if (form.WelcomeKit)
	//   if (form.WelcomeKit.selectedIndex == 0) {
	//      error += " - Welcome Kit\n";
	//      retval = false;
	//   }



	if (!retval) {
		alert(error);
	}

	return retval;
}


function validateCorp(f)
{
	return validate(f);
}


// Validates all fields in the specified form
function validate(form) {
	var elements = form.getElementsByTagName('*');
	var input = null;
	var ok = true;
	// Search for invalid inputs
	for (var i = 0; i < elements.length; i++) {
		input = elements[i];
		minLength = (input.minlength) ? input.minlength : 0;
		if (input.required == 'true') {
			if (input.tagName.toLowerCase() == 'select') {
				if (input.options.length == 0 ||
				!input[input.selectedIndex].value) {
					ok = false;
				}
			} else if (!input.value || input.value.length < minLength) {
				ok = false;
			}
			if (!ok) {
				window.alert('Required: '+input.title);
				try {
					highlight(input);
					input.focus();
				} catch (e) {
				}
				return false;
			}
			else
			clearHighlight(input);
		}
		if (input.confirm && input.confirm != '') {
			if (input.value != document.getElementById(input.confirm).value) {

				window.alert(input.title);
				highlight(input);
				input.focus();
				return false;
			}
			else
			clearHighlight(input);
		}
	}
	return true;
}

// Focuses on the first <input> or <select> field in the specified form
function focusForm(formId) {
	var elements = (formId)
	? document.getElementById(formId).getElementsByTagName('*')
	: document.getElementsByTagName('*');
	for (var i = 0; i < elements.length; i++) {
		input = elements[i];
		if (input.tagName.toLowerCase() == 'input' ||
		input.tagName.toLowerCase() == 'select') {
			input.focus();
			break;
		}
	}
	return true;
}








function validateUserEdit(form) {


	var retval = true;

	var stat=getCtrlValue('status');
	if(stat=='Closed' || stat=='Deleted') return true;

	var error = "The following field(s) cannot be left blank\n";

	if (form.rep_number && form.rep_number.value.length == 0) {
		error += " - User #\n";
		retval = false;
	}
	if (form.office_id&&form.office_id.value.length == 0) {
		error += " - Office #\n";
		retval = false;
	}
	if (form.name&&form.name.value.length == 0) {
		error += " - Full Name\n";
		retval = false;
	}
	if (form.email&&form.email.value.length == 0) {
		error += " - Email Address\n";
		retval = false;
	}
	if (form.username&&form.username.value.length == 0) {
		error += " - User Name\n";
		retval = false;
	}
	if (form.password.value.length == 0) {
		error += " - Password\n";
		retval = false;
	}
	
	if (form.password.value.length > 0 && form.password.value.length < 8) {
		error += " - Password must be more than 8 characters\n";
		retval = false;
}



	if (isSpecialChar(form.password.value)) {
		error += " - Special characters are not allowed\n";
		retval = false;
}


	if (Mixed_password(form.password.value)) {
		error += " - Password must be combination of characters and numbers\n";
		retval = false;
}


	
	if (form.address1&&form.address1.value.length == 0) {
		error += " - Office Address\n";
		retval = false;
	}
	if (form.city&&form.city.value.length == 0) {
		error += " - City\n";
		retval = false;
	}
	if (form.state&&form.state.selectedIndex == 0) {
		error += " - State\n";
		retval = false;
	}

	if(form.zip)
	e=checkZip(form.zip.value,true);
	if (e) {error += e;retval = false;}

	if(form.phone)
	e=checkPhone(form.phone.value,false);
	if (e) {error += " - Phone is invalid\n";retval = false;}

	if(form.fax)
	e=checkPhone(form.fax.value,false);
	if (e) {error += " - Fax is invalid\n";retval = false;}

	if(form.cellPhone)
	e=checkPhone(form.cellPhone.value,false);
	if (e) {error += " - Cell Phone is invalid\n";retval = false;}

	if(form.aba)
  	e=checkABA(form.aba.value,false);
  	if (e) {error += e;retval = false;}

  	if(form.dda)
  	e=checkDDA(form.dda.value,false);
  	if (e) {error += e;retval = false;}



	if(el('prof1[1]')){
		var endflag=0;
		var v=-999999;
	    for(i=1;i<=5;i++){
	    	a=getCtrlValue('prof2['+i+']');
			if(endflag)
				if(a){error = "Ranges must end with * ";retval=false;break;}
				else continue;
	    	if(a=='*') {endflag=1;continue;}
	    	if(a*1.0 <= v) {error = "Ranges must be ordered: "+v+" "+a;retval=false;break;}
	    	v=a;
	    }
	};


	if (!retval) {
		alert(error);
	}

//	alert(retval);	return false;
	return retval;
}




function validateApptSubmit(form){
	var retval = true;
	var error = "The following field(s) cannot be left blank\n";

	if (form.apptDate.value.length == 0) {
		error += " - Date\n";
		retval = false;
	}
	if (form.apptTime.value.length == 0 ) {
		error += " - Time\n";
		retval = false;
	}
	if (form.apptContact.value.length == 0) {
		error += " - Contact\n";
		retval = false;
	}

	if (!retval) {
		alert(error);
	}

	return retval;

}




function validateReferral(form) {

	var retval = true;
	var error = "The following field(s) cannot be left blank\n";

	if (form.BusinessName.value.length == 0) {
		error += " - DBA Name\n";
		retval = false;
	}
	


	if (form.ContactName.value.length == 0) {
		error += " - Contact Name\n";
		retval = false;
	}


	e=checkPhone(form.OfficePhone.value,true);
	if (e) {error += " - Phone is invalid\n";retval = false;}

	e=checkEmail(form.Email.value);
	if (e) {error += " - Email is invalid\n";retval = false;}

	
	if (!retval) {
		alert(error);
	}

	return retval;
	
}








//  MERCHANT APP VALIDATIONS
function validateMerchantStep3(form) {
	var retval = true;
	var error = "The following mandatory field(s) are invalid\n";
	var r=true;

	if (r && form.BusinessName.value.length == 0) {
		error += " - Business Name\n";
		retval = false;
	}

	if (r && form.BusinessAddress.value.length == 0) {
		error += " - DBA Address\n";
		retval = false;
	}

	if (r && form.BusinessCity.value.length == 0) {
		error += " - Business City\n";
		retval = false;
	}

	if (r && form.BusinessState.selectedIndex == 0) {
		error += " - State\n";
		retval = false;
	}


	e=checkZip(form.BusinessZip.value,true);
	if (e) {error += e;retval = false;}

	e=checkZip(form.CorporateZip.value,false);
	if (e) {error += e;retval = false;}



	e=checkTaxID(form.BusinessTaxID.value,false);
	if (e) {error += e;retval = false;}


	if (r && form.BusinessContactName.value.length == 0) {
		error += " - Contact Name\n";
		retval = false;
	}


	e=checkPhone(form.BusinessPhone.value,true);
	if (e) {error += "Location Phone is invalid\n";retval = false;}





	if(form.BusinessTollPhone){
	e=checkPhone(form.BusinessTollPhone.value,false);
	if (e) {error += "Toll Free # is invalid\n";retval = false;}
	}

	if(form.BusinessCellPhone){
	e=checkPhone(form.BusinessCellPhone.value,false);
	if (e) {error += "Cell Phone # is invalid\n";retval = false;}
	}

	if(form.BusinessFax){
	e=checkPhone(form.BusinessFax.value,false);
	if (e) {error += "Location Fax is invalid\n";retval = false;}
	}



	if (r && form.SurveyMerchantLocation && form.SurveyMerchantLocation.selectedIndex == 0) {
		error += " - Merchant Location\n";
		retval = false;
	}

	if (r && form.SurveyOwnLease && form.SurveyOwnLease.selectedIndex == 0) {
		error += " - Merchant Owns/Leases\n";
		retval = false;
	}


	if (r && form.isMoto && form.isMoto.value!='0'){
		if (form.BusinessEmail.value.length == 0) {
			error += " - Email Address\n";
			retval = false;
		}
		if (form.BusinessWebsite && form.BusinessWebsite.value.length == 0) {
			error += " - Website Address\n";
			retval = false;
		}

	}

	if (r && form.CardholderName && form.CardholderName.value.length == 0) {
		error += " - Name to Appear on Cardholder Statement\n";
		retval = false;
	}





	if (!retval) {
		alert(error);
		return false;
	}


	return true;
}


function validateMercahntStep4(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=true;

	if (r && form.BankName.value.length == 0) {
		error += " - Bank Name\n";
		retval = false;
	}



	//   if (!form.BankABA.disabled && (form.BankABA.value.length != 9 || !isInteger(form.BankABA.value))) {
	//      error += " - ABA Routing Number\n";
	//      retval = false;
	//   }

	if (!form.BankABA.disabled){
		e=checkABA(form.BankABA.value,r);
		if (e) {error += e;retval = false;}
	}



	//   if (!form.BankDDA.disabled && form.BankDDA.value.length == 0) {
	//      error += " - DDA Checking Account #\n";
	//      retval = false;
	//   }

	if (!form.BankDDA.disabled){
		e=checkDDA(form.BankDDA.value,r);
		if (e) {error += e;retval = false;}
	}


	e=checkPhone(form.BankPhone.value);
	if (e) {error += "Bank Phone Number is invalid\n";retval = false;}

	e=checkPhone(form.RefPhone.value);
	if (e) {error += "Trade Reference Phone is invalid\n";retval = false;}

	e=checkZip(form.RefZip.value);
	if (e) {error += "Trade Reference Zip Code is invalid\n";retval = false;}

	e=checkPhone(form.LmhPhone.value);
	if (e) {error += "Landlord/Mortgage Holder Phone is invalid\n";retval = false;}

	e=checkZip(form.LmhZip.value);
	if (e) {error += "Landlord/Mortgage Holder Zip Code is invalid\n";retval = false;}


	if(form.BankAccountType)
	if(r && (!getCtrlValue('BankAccountType'))) {
		error += " - Account Type\n";
		retval = false;
	}




	if (!retval) {
		alert(error);
	}

	return retval;
}







function validateMerchantStep5(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=true;


	if (r &&  form.OwnerFirstName.value.length == 0) {
		error += " - Owner First Name\n";
		retval = false;
	}
	if (r &&  form.OwnerLastName.value.length == 0) {
		error += " - Owner Last Name\n";
		retval = false;
	}


	if(!form.OwnerSSN.disabled){
		e=checkSSN(form.OwnerSSN.value,r);
		if (e) {error += "Social Security\n";retval = false;}
	}

	if(!form.OwnerSSN2.disabled){
		e=checkSSN(form.OwnerSSN2.value,false);
		if (e) {error += "Social Security #2\n";retval = false;}
	}



	if (r && form.OwnerAddress.value.length == 0) {
		error += " - Owner Home Address\n";
		retval = false;
	}


	if (r && form.OwnerCity.value == 0) {
		error += " - City #\n";
		retval = false;
	}

	if (r && form.OwnerState.selectedIndex == 0) {
		error += " - State\n";
		retval = false;
	}


	e=checkZip(form.OwnerZip.value,r);
	if (e) {error += " - Zip Code \n";retval = false;}

	e=checkZip(form.OwnerZip2.value,false);
	if (e) {error += " - Zip Code #2\n";retval = false;}



	e=checkPhone(form.OwnerPhone.value,r);
	if (e) {error += "Home Phone Number is invalid\n";retval = false;}

	e=checkPhone(form.OwnerPhone2.value);
	if (e) {error += "Home Phone #2 is invalid\n";retval = false;}



	var perc=parseFloatZ(form.OwnerPercentage.value);	
	if (perc >100.0) {
		error += " - % of Ownership\n";
		retval = false;
	}
	form.OwnerPercentage.value=perc;


	var perc=parseFloatZ(form.OwnerPercentage2.value);	
	if (perc >100.0) {
		error += " - % of Ownership #2\n";
		retval = false;
	}
	form.OwnerPercentage2.value=perc;
	
	
	e=checkDate(form.OwnerDOBmm.value+'/'+form.OwnerDOBdd.value+'/'+form.OwnerDOByy.value,r);
	if (e) {error += " - Invalid Date Of Birth\n";retval = false;}

	if(form.OwnerDOBmm2.selectedIndex!=0)
	e=checkDate(form.OwnerDOBmm2.value+'/'+form.OwnerDOBdd2.value+'/'+form.OwnerDOByy2.value,r);
	if (e) {error += " - Invalid Date Of Birth #2\n";retval = false;}
//	e=checkDate(form.OwnerDOB2.value,false);
//	if (e) {error += " - Invalid Date Of Birth #2\n";retval = false;}

	//   if (form.OwnerDOB.value == 0) {
	//      error += " - Date Of Birth #\n";
	//      retval = false;
	//   }


	if (!retval) {
		alert(error);
	}
	return retval;
}



function validateMerchantStep6(form) {
	var retval = true;
	var error = "The following field(s) are invalid\n";
	var r=true;




	if (r && form.MerchantProductsSold.value.length == 0) {
		error += " - Products Sold\n";
		retval = false;
	}

	if (r && form.ownshtype_id.selectedIndex == 0) {
		error += " - Type of Ownership\n";
		retval = false;
	}

	if (r && form.MerchantBusinessYears.selectedIndex == 0) {
		error += " - Years in Busines\n";
		retval = false;
	}

	if(r && (!form.ProcTerminated[0].checked)&&
	(!form.ProcTerminated[1].checked)) {
		error += " - Ever had a Merchant Account Terminated by a Processor?\n";
		retval = false;
	}


	if(r && (!form.ProcBankruptcy[0].checked)&&
	(!form.ProcBankruptcy[1].checked)) {
		error += " - Ever file Bankruptcy?\n";
		retval = false;
	}

	if((r || form.ProcMonthlyVolume.value.length!=0) && !isInteger(form.ProcMonthlyVolume.value)) {
		error += " - Monthly Processing Volume\n";
		retval = false;
	}

	if ((r || form.ProcAverageTicket.value.length!=0) && !isInteger(form.ProcAverageTicket.value)) {
		error += " - Average Ticket Size\n";
		retval = false;
	}

	if ((r || form.ProcHighestTicket.value!=0) &&  !isInteger(form.ProcHighestTicket.value)) {
		error += " - Highest Ticket Amount\n";
		retval = false;
	}


	var ckeyed=parseFloatZ(form.CardsImprint.value)+parseFloatZ(form.CardsMail.value) ;
	var c=parseFloatZ(form.CardsSwiped.value)+ckeyed;
	if (r && c != 100.00) {
		error += " - Visa/MC Sales Profile must total 100%\n";
		retval = false;
	}

/*	var c20=parseFloatZ(form.proc20Store.value)+parseFloatZ(form.proc20Phone.value)+parseFloatZ(form.proc20Mail.value)+parseFloatZ(form.proc20Internet.value) ;

	if(c20==0 && ckeyed>19.99){
			error += " - Merchants Processing 20% or More Keyed Volume is required value%\n";
			retval = false;
	}
	if(c20 && c20!=100.00){
			error += " - Merchants Processing 20% or More Keyed Volume must total 100%\n";
			retval = false;
	}
	

	if(form.tranComplElectronic && form.tranComplImprint && form.tranComplNotpresent && form.tranComplVoice){
	var c3=parseFloatZ(form.tranComplElectronic.value)+parseFloatZ(form.tranComplImprint.value)+parseFloatZ(form.tranComplNotpresent.value)+parseFloatZ(form.tranComplVoice.value) ;

	if(c3 && c3!=100.00){
			error += " - How Is Transaction Completed must total 100%\n";
			retval = false;
	}
	}

*/

	if (!retval) {
		alert(error);
	}
	return retval;
}



function leadsOnSubmit(form){
	if(getCtrlValue('owner_id')=='' && getCtrlValue('status')=='00'){
		alert('Available Lead should have Lead Owner specified');
		return 	false;
	}



	var retval = true;
	var error = "The following mandatory field(s) are invalid\n";
	var r=true;//

	if(getCtrlValue('list_id')==''){
		error += " - Lead List Name\n";
		retval = false;
	}

	if(getCtrlValue('status')==''){
		error += " - Lead Status\n";
		retval = false;
	}
	if(getCtrlValue('owner_id')==''){
		error += " - Lead Owner\n";
		retval = false;
	}

	e=checkZip(form.BusinessZip.value,false);
	if (e) {error += e;retval = false;}

	e=checkPhone(form.OfficePhone.value,false);
	if (e) {error += "Office Phone is invalid\n";retval = false;}

	if(form.TollPhone){
    	e=checkPhone(form.TollPhone.value,false);
    	if (e) {error += "Toll Phone is invalid\n";retval = false;}
	}

	e=checkPhone(form.CellPhone.value,false);
	if (e) {error += "Cell Phone is invalid\n";retval = false;}

	e=checkPhone(form.Fax.value,false);
	if (e) {error += "Fax is invalid\n";retval = false;}

	if(getCtrlValue('reminderType')){
      	if(getCtrlValue('reminder')==''){
    		error += " - Reminder/Task\n";
    		retval = false;
    	}
      	if(getCtrlValue('reminderTime')==''){
    		error += " - Reminder Due Date\n";
    		retval = false;
    	}
	}


	if (!retval) {
		alert(error);
		return false;
	}
	return true;


}





function validateAnyPage(){

    if(el('Level1')){
        var vbonus=getCtrlValue('Level1')*1.0 + getCtrlValue('Level2')*1.0 + getCtrlValue('Level3')*1.0 + getCtrlValue('Level4')*1.0;
        if(vbonus!=100.0){
        	alert('Volume Bonus Split ('+vbonus+'%) Must Total to 100%');
        	return false;
        }

        var sf=getCtrlValue('sfLevel1')*1.0 + getCtrlValue('sfLevel2')*1.0 + getCtrlValue('sfLevel3')*1.0 + getCtrlValue('sfLevel4')*1.0;
        if(sf!=100.0){
        	alert('Setup Fee Split ('+sf+'%) Must Total to 100%');
        	return false;
        }
        
    	return true;
    }
 	
}


//-->
