////////////////////

	//BEM FormValidation - Version 3.5 - 20 NOVEMBER 2006

////////////////////

function ConfirmFormSubmittal(FormNameVar,MessageVar) {
	input_box=confirm(MessageVar);
	if (input_box==true) { 
		document[FormNameVar].submit();
	}
}

////////////////////

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
		
////////////////////

function Right(str, n){
	if (n <= 0)
	   return "";
	else if (n > String(str).length)
	   return str;
	else {
	   var iLen = String(str).length;
	   return String(str).substring(iLen, iLen - n);
	}
}
				
////////////////////

var SingleSubmissionClickCountVar = 0;
function ValidateFormV2(FormNameVar,FieldsVar) {	
	
	//Single Click Insurance
	if (SingleSubmissionClickCountVar > 0) {   
		alert("Please wait while your request is being processed.");
		return false;
	} else {
		SingleSubmissionClickCountVar = 1;
	}
	
	var FieldsArrayVar = FieldsVar.split(',');
	var AllowSubmit = 1;
	
		for (i=0; i<parseInt(FieldsArrayVar.length);) {
		
			//A - DATE AFTER DESIGNATED
			if (FieldsArrayVar[i+1] == "A") {
				if (document[FormNameVar][FieldsArrayVar[i]].value == "") {
					//OK
				} else {
					if (ValidateDateAfterDesignated(Right(FieldsArrayVar[i+2],10), document[FormNameVar][FieldsArrayVar[i]].value)) {
					} else {
						document[FormNameVar][FieldsArrayVar[i]].select();
						alert('Please enter a valid ' + FieldsArrayVar[i+2]);
						document[FormNameVar][FieldsArrayVar[i]].focus();
						SingleSubmissionClickCountVar = 0;
						return false
					}
				}
			}

			//B - CHECKBOX (MUST TICK)
			if (FieldsArrayVar[i+1] == "B") { 
				if (document[FormNameVar][FieldsArrayVar[i]].checked == true) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//C - ASK CONFIRMATION OF THE FORM TO BE SUBMITTED
			if (FieldsArrayVar[i+1] == "C") {
				input_box=confirm(FieldsArrayVar[i+2]);
				if (input_box==true) {
				} else {
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//D - DATE (REQUIRED)
			if (FieldsArrayVar[i+1] == "D") {
				if (ValidateDate(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//E - FORM IS USING THE BEM EDITOR
			//NOT REQUIRED HERE AS ONSUBMIT PROCESS IN FORM HEADER DOES THE JOB			
			
			//F - FUTURE DATE
			if (FieldsArrayVar[i+1] == "F") {
				if (ValidateDateFutureOnly(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//G - EMAIL ADDRESS
			if (FieldsArrayVar[i+1] == "G") {
				if (ValidateEmail(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//H - HTML Editor Check
			if (FieldsArrayVar[i+1] == "H") { //CHECK HTML EDITOR HAS CONTENT OR MORE THAN JUST "<BR>"
				//document[FormNameVar].onsubmit();
				if (ValidateHTML(document[FormNameVar][FieldsArrayVar[i]].value)) {	
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//I - INTEGER
			if (FieldsArrayVar[i+1] == "I") {
				if ((document[FormNameVar][FieldsArrayVar[i]].value) > 0) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}			
			
			//M - MONEY > 0
			if (FieldsArrayVar[i+1] == "M") {
				if ((document[FormNameVar][FieldsArrayVar[i]].value) > 0) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
				if (ValidateMoney(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//N - DATE (NOT REQUIRED)
			if (FieldsArrayVar[i+1] == "N") {
				if (document[FormNameVar][FieldsArrayVar[i]].value == "") {
					//OK
				} else {
					if (ValidateDate(document[FormNameVar][FieldsArrayVar[i]].value)) {
					} else {
						document[FormNameVar][FieldsArrayVar[i]].select();
						alert('Please enter a valid ' + FieldsArrayVar[i+2]);
						document[FormNameVar][FieldsArrayVar[i]].focus();
						SingleSubmissionClickCountVar = 0;
						return false
					}
				}
			}				
		
			//P - DATE PRIOR TO DESIGNATED
			if (FieldsArrayVar[i+1] == "P") { 
				if (document[FormNameVar][FieldsArrayVar[i]].value == "") {
					//OK
				} else {
					if (ValidateDateBeforeDesignated(Right(FieldsArrayVar[i+2],10), document[FormNameVar][FieldsArrayVar[i]].value)) {
					} else {
						document[FormNameVar][FieldsArrayVar[i]].select();
						alert('Please enter a valid ' + FieldsArrayVar[i+2]);
						document[FormNameVar][FieldsArrayVar[i]].focus();
						SingleSubmissionClickCountVar = 0;
						return false
					}
				}
			}
			
			//R - RADIO BUTTON - ENSURE ONE OPTION HAS BEEN SELECTED IF NO DEFAULT
			if (FieldsArrayVar[i+1] == "R") {
				var RadioChosen = false;
				for (counter = 0; counter < document[FormNameVar][FieldsArrayVar[i]].length; counter++) {
					if (document[FormNameVar][FieldsArrayVar[i]][counter].checked)
						RadioChosen = true;
				}
				if (RadioChosen == false) {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//T - TEXT (REQUIRED)
			if (FieldsArrayVar[i+1] == "T") {
				if (ValidateText(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//U - ASP UPLOAD PROGRESS BAR LAUNCH - MUST BE LAST ITEM CALLED
			if (FieldsArrayVar[i+1] == "U") {
				window.open(FieldsArrayVar[i+2] + '&b=NN','','toolbar=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no,width=400,height=100,left=50,top=50,marginheight=0,marginwidth=0,topmargin=0,leftmargin=0', true);
			}
			
			//V - VALUE BETWEEN X AND Y
			if (Left(FieldsArrayVar[i+1],1) == "V") {
			
				var ValuesArrayVar = FieldsArrayVar[i+1].split('|');
				
				if (parseFloat(document[FormNameVar][FieldsArrayVar[i]].value) >= parseFloat(ValuesArrayVar[1])) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			
				if (parseFloat(document[FormNameVar][FieldsArrayVar[i]].value) <= parseFloat(ValuesArrayVar[2])) {

				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//W - WINDOWS COMPATIBLE FILE NAME (FOR USE WTH UPLOADED FILES)
			if (FieldsArrayVar[i+1] == "W") {
				if (ValidateWindowsFileName(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('The file name/path contains illegal characters. The characters # & % + = cannot be included in file paths or file names when uploading to the internet.');
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}

			//X - MONEY >= 0
			if (FieldsArrayVar[i+1] == "X") {
				if ((document[FormNameVar][FieldsArrayVar[i]].value) >= 0) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
				if (ValidateMoney(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//Y - MONEY NOT ZERO BUT CAN BE NEGATIVE OR POSITIVE
			if (FieldsArrayVar[i+1] == "Y") {
				if ((document[FormNameVar][FieldsArrayVar[i]].value) < 0 || (document[FormNameVar][FieldsArrayVar[i]].value) > 0) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
				if (ValidateMoney(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//Z - ENSURE TWO FIELDS HAVE THE SAME VALUE (USED FOR EMAIL CONFIRMATION ETC)
			if (Left(FieldsArrayVar[i+1],1) == "Z") {
			
				var ValuesArrayVar = FieldsArrayVar[i+1].split('|');
				
				if ((document[FormNameVar][FieldsArrayVar[i]].value) == (document[FormNameVar][ValuesArrayVar[1]].value)) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
		
		i=i+3
		}
		
	return true;
	
}

////////////////////

var SingleSubmissionClickCountVar = 0;
function ValidateForm(FormNameVar,FieldsVar) {	
	
	//Single Click Insurance
	if (SingleSubmissionClickCountVar > 0) {   
		alert("Please wait while your request is being processed.");
		return false;
	} else {
		SingleSubmissionClickCountVar = 1;
	}
	
	var FieldsArrayVar = FieldsVar.split(',');
	var AllowSubmit = 1;
	
		for (i=0; i<parseInt(FieldsArrayVar.length);) {
		
			//A - DATE AFTER DESIGNATED
			if (FieldsArrayVar[i+1] == "A") {
				if (document[FormNameVar][FieldsArrayVar[i]].value == "") {
					//OK
				} else {
					if (ValidateDateAfterDesignated(Right(FieldsArrayVar[i+2],10), document[FormNameVar][FieldsArrayVar[i]].value)) {
					} else {
						document[FormNameVar][FieldsArrayVar[i]].select();
						alert('Please enter a valid ' + FieldsArrayVar[i+2]);
						document[FormNameVar][FieldsArrayVar[i]].focus();
						SingleSubmissionClickCountVar = 0;
						return false
					}
				}
			}

			//B - CHECKBOX (MUST TICK)
			if (FieldsArrayVar[i+1] == "B") { 
				if (document[FormNameVar][FieldsArrayVar[i]].checked == true) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//C - ASK CONFIRMATION OF THE FORM TO BE SUBMITTED
			if (FieldsArrayVar[i+1] == "C") {
				input_box=confirm(FieldsArrayVar[i+2]);
				if (input_box==true) {
				} else {
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//D - DATE (REQUIRED)
			if (FieldsArrayVar[i+1] == "D") {
				if (ValidateDate(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//E - FORM IS USING THE BEM EDITOR
			if (FieldsArrayVar[i+1] == "E") {
				document[FormNameVar].onsubmit();
			} 			
			
			//F - FUTURE DATE
			if (FieldsArrayVar[i+1] == "F") {
				if (ValidateDateFutureOnly(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//G - EMAIL ADDRESS
			if (FieldsArrayVar[i+1] == "G") {
				if (ValidateEmail(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//H - HTML Editor
			if (FieldsArrayVar[i+1] == "H") { //CHECK HTML EDITOR HAS CONTENT OR MORE THAN JUST "<BR>"
				document[FormNameVar].onsubmit();
				if (ValidateHTML(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					return false
				}
			}
			
			//I - INTEGER
			if (FieldsArrayVar[i+1] == "I") {
				if ((document[FormNameVar][FieldsArrayVar[i]].value) > 0) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}			
			
			//M - MONEY > 0
			if (FieldsArrayVar[i+1] == "M") {
				if ((document[FormNameVar][FieldsArrayVar[i]].value) > 0) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
				if (ValidateMoney(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//N - DATE (NOT REQUIRED)
			if (FieldsArrayVar[i+1] == "N") {
				if (document[FormNameVar][FieldsArrayVar[i]].value == "") {
					//OK
				} else {
					if (ValidateDate(document[FormNameVar][FieldsArrayVar[i]].value)) {
					} else {
						document[FormNameVar][FieldsArrayVar[i]].select();
						alert('Please enter a valid ' + FieldsArrayVar[i+2]);
						document[FormNameVar][FieldsArrayVar[i]].focus();
						SingleSubmissionClickCountVar = 0;
						return false
					}
				}
			}				
		
			//P - DATE PRIOR TO DESIGNATED
			if (FieldsArrayVar[i+1] == "P") { 
				if (document[FormNameVar][FieldsArrayVar[i]].value == "") {
					//OK
				} else {
					if (ValidateDateBeforeDesignated(Right(FieldsArrayVar[i+2],10), document[FormNameVar][FieldsArrayVar[i]].value)) {
					} else {
						document[FormNameVar][FieldsArrayVar[i]].select();
						alert('Please enter a valid ' + FieldsArrayVar[i+2]);
						document[FormNameVar][FieldsArrayVar[i]].focus();
						SingleSubmissionClickCountVar = 0;
						return false
					}
				}
			}
			
			//R - RADIO BUTTON - ENSURE ONE OPTION HAS BEEN SELECTED IF NO DEFAULT
			if (FieldsArrayVar[i+1] == "R") {
				var RadioChosen = false;
				for (counter = 0; counter < document[FormNameVar][FieldsArrayVar[i]].length; counter++) {
					if (document[FormNameVar][FieldsArrayVar[i]][counter].checked)
						RadioChosen = true;
				}
				if (RadioChosen == false) {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//T - TEXT (REQUIRED)
			if (FieldsArrayVar[i+1] == "T") {
				if (ValidateText(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//U - ASP UPLOAD PROGRESS BAR LAUNCH - MUST BE LAST ITEM CALLED
			if (FieldsArrayVar[i+1] == "U") {
				window.open(FieldsArrayVar[i+2] + '&b=NN','','toolbar=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no,width=400,height=100,left=50,top=50,marginheight=0,marginwidth=0,topmargin=0,leftmargin=0', true);
			}
			
			//V - VALUE BETWEEN X AND Y
			if (Left(FieldsArrayVar[i+1],1) == "V") {
			
				var ValuesArrayVar = FieldsArrayVar[i+1].split('|');
				
				if (parseFloat(document[FormNameVar][FieldsArrayVar[i]].value) >= parseFloat(ValuesArrayVar[1])) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			
				if (parseFloat(document[FormNameVar][FieldsArrayVar[i]].value) <= parseFloat(ValuesArrayVar[2])) {

				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//W - WINDOWS COMPATIBLE FILE NAME (FOR USE WTH UPLOADED FILES)
			if (FieldsArrayVar[i+1] == "W") {
				if (ValidateWindowsFileName(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('The file name/path contains illegal characters. The characters # & % + = cannot be included in file paths or file names when uploading to the internet.');
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}

			//X - MONEY >= 0
			if (FieldsArrayVar[i+1] == "X") {
				if ((document[FormNameVar][FieldsArrayVar[i]].value) >= 0) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
				if (ValidateMoney(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//Y - MONEY NOT ZERO BUT CAN BE NEGATIVE OR POSITIVE
			if (FieldsArrayVar[i+1] == "Y") {
				if ((document[FormNameVar][FieldsArrayVar[i]].value) < 0 || (document[FormNameVar][FieldsArrayVar[i]].value) > 0) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
				if (ValidateMoney(document[FormNameVar][FieldsArrayVar[i]].value)) {
				} else {
					document[FormNameVar][FieldsArrayVar[i]].select();
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					document[FormNameVar][FieldsArrayVar[i]].focus();
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
			
			//Z - ENSURE TWO FIELDS HAVE THE SAME VALUE (USED FOR EMAIL CONFIRMATION ETC)
			if (Left(FieldsArrayVar[i+1],1) == "Z") {
			
				var ValuesArrayVar = FieldsArrayVar[i+1].split('|');
				
				if ((document[FormNameVar][FieldsArrayVar[i]].value) == (document[FormNameVar][ValuesArrayVar[1]].value)) {
				} else {
					alert('Please enter a valid ' + FieldsArrayVar[i+2]);
					SingleSubmissionClickCountVar = 0;
					return false
				}
			}
		
		i=i+3
		}
		
	document[FormNameVar].submit();
	
}

////////////////////

function ValidateDate(ValueVar) {

	var DatePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var matchArray = ValueVar.match(DatePat);
	
	if (matchArray == null) {
		return false;
	}
	day = matchArray[1];
	month = matchArray[3];
	year = matchArray[4];
	
	if (month < 1 || month > 12) {
		return false;
	}
	
	if (day < 1 || day > 31) {
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false
	}
	
	if (month == 2) { // February leap years
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			return false;
	   	}
	}

	return true;

}

////////////////////

function ValidateText(ValueVar) {
	
	if (ValueVar == "") {
		return false;
	}
	return true;
}

////////////////////

function ValidateHTML(ValueVar) {

	if (ValueVar == "" || Left(ValueVar,4) == "<br>") {
		return false;
	}
	return true;
}

/////////////////////

function ValidateEmail(ValueVar) {

	MercantileFoundVar = false
  
    if (ValueVar == "") {
		return false;
	}
	
    for (var i = 0; i < ValueVar.length; i++) {
       if (ValueVar.charAt(i) == '@') {
		   MercantileFoundVar = true
	   }
    }
	
	if (MercantileFoundVar == false) {
		return false;
	} else {
		return true;
	}
}

////////////////////

function ValidateWindowsFileName(ValueVar) {

	var IllegalChars = "#&%+=";
  
    if (ValueVar == "") {
		return false;
	}
	
    for (var i = 0; i < ValueVar.length; i++){

       if (IllegalChars.indexOf(ValueVar.charAt(i)) == -1) {
		 //character not found in illegal list :)
	   } else {
         return false;
       }
	   
    }
	return true;
}

////////////////////

function ValidateMoney(ValueVar) {

	var Chars = "0123456789.-";
	DecimalFoundVar = false
  
    if (ValueVar == "") {
		return false;
	}
	
    for (var i = 0; i < ValueVar.length; i++){


	   
       if (Chars.indexOf(ValueVar.charAt(i)) == -1) {
           return false;
       }
	   
	   if (ValueVar.charAt(i) == '.') {
		   if (DecimalFoundVar == false) {
				DecimalFoundVar = true
		   } else {
			     return false;
		   }
	   }
    }
	return true;
}

////////////////////

function ValidateDateFutureOnly(ValueVar) {

	var DatePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var matchArray = ValueVar.match(DatePat);
	
	if (matchArray == null) {
		return false;
	}
	day = matchArray[1];
	month = matchArray[3];
	year = matchArray[4];
	
	if (month < 1 || month > 12) {
		return false;
	}
	
	if (day < 1 || day > 31) {
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false
	}
	
	if (month == 2) { // February leap years
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			return false;
	   	}
	}
	
	var SelectedDate = new Date(month + "/"+ day + "/" + year);
	
	// Format Todays Date
	var Today = new Date();
	var ThisDay = Today.getDate() - 1;
	var ThisMonth = Today.getMonth() + 1;
	var ThisYear = Today.getFullYear();
	var TodayDate = new Date(ThisMonth + "/" + ThisDay + "/" + ThisYear);
	
	if (SelectedDate > TodayDate) {
		return true;
	} else {
		return false;
	}

}

////////////////////

function ValidateDateAfterDesignated(DesignatedDateVar, ValueVar) {

	//SELECTED DATE
	var DatePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var matchArray = ValueVar.match(DatePat);
	
	if (matchArray == null) {
		return false;
	}
	day = matchArray[1];
	month = matchArray[3];
	year = matchArray[4];
	
	if (month < 1 || month > 12) {
		return false;
	}
	
	if (day < 1 || day > 31) {
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false
	}
	
	if (month == 2) { // February leap years
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			return false;
	   	}
	}
	
	var SelectedDate = new Date(month + "/"+ day + "/" + year);
	
	
	//DESIGNATED DATE
	var DatePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var matchArray = DesignatedDateVar.match(DatePat);
	
	if (matchArray == null) {
		return false;
	}
	day = matchArray[1];
	month = matchArray[3];
	year = matchArray[4];
	
	if (month < 1 || month > 12) {
		return false;
	}
	
	if (day < 1 || day > 31) {
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false
	}
	
	if (month == 2) { // February leap years
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			return false;
	   	}
	}
	
	var DesignatedDate = new Date(month + "/"+ day + "/" + year);
	
	if (SelectedDate > DesignatedDate) {
		return true;
	} else {
		return false;
	}

}

////////////////////

function ValidateDateBeforeDesignated(DesignatedDateVar, ValueVar) {

	//SELECTED DATE
	var DatePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var matchArray = ValueVar.match(DatePat);
	
	if (matchArray == null) {
		return false;
	}
	day = matchArray[1];
	month = matchArray[3];
	year = matchArray[4];
	

	if (month < 1 || month > 12) {
		return false;
	}
	
	if (day < 1 || day > 31) {
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false
	}
	
	if (month == 2) { // February leap years
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			return false;
	   	}
	}
	
	var SelectedDate = new Date(month + "/"+ day + "/" + year);
	
	
	//DESIGNATED DATE
	var DatePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var matchArray = DesignatedDateVar.match(DatePat);
	
	if (matchArray == null) {
		return false;
	}
	day = matchArray[1];
	month = matchArray[3];
	year = matchArray[4];
	
	if (month < 1 || month > 12) {
		return false;
	}
	
	if (day < 1 || day > 31) {
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false
	}
	
	if (month == 2) { // February leap years
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			return false;
	   	}
	}
	
	var DesignatedDate = new Date(month + "/"+ day + "/" + year);
	
	if (SelectedDate < DesignatedDate) {
		return true;
	} else {
		return false;
	}

}

