
	//DWT-FormValidation.js
	//Version 1.07: 6 May 2009
	//Copyright DW Technologies Limited

	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
					}
				}
				
				//J - UK NATIONAL INSURANCE FORMAT
				if (FieldsArrayVar[i+1] == "J") {
					if (ValidateUKNI(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
					}
				}
				
				//K - Strip Non-Standard HTML Tags (Used with DynamicHTMLEditor)
				if (FieldsArrayVar[i+1] == "K") {
					if (StripNonStandardHTMLTags(document[FormNameVar][FieldsArrayVar[i]].value,FormNameVar,FieldsArrayVar[i])) {
					} else {
						document[FormNameVar][FieldsArrayVar[i]].select();
						alert('Please enter a valid ' + FieldsArrayVar[i+2] + '.');
						document[FormNameVar][FieldsArrayVar[i]].focus();
						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
					}
				}
				
				//S - SECURE PASSWORD OF 8+ characters with only letters and numbers (no spaces, hyphens etc)
				if (FieldsArrayVar[i+1] == "S") {
					if (ValidateSecurePassword(document[FormNameVar][FieldsArrayVar[i]].value)) {
					} else {
						document[FormNameVar][FieldsArrayVar[i]].select();
						alert('Please enter a valid ' + FieldsArrayVar[i+2] + ' which can only contain letters or numbers and must be at least eight characters long.');
						document[FormNameVar][FieldsArrayVar[i]].focus();
						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;
		
	}
	
	//ConfirmFormSubmittal (required in confirmation)
	function ConfirmFormSubmittal(FormNameVar,MessageVar) {
		input_box=confirm(MessageVar);
		if (input_box==true) { 
			document[FormNameVar].submit();
		}
	}
	
	//Left (required in validation)
	function Left(StringVar,CharsVar) {
		if (CharsVar <= 0)
			return "";
		else if (CharsVar > String(StringVar).length)
			return StringVar;
		else
			return String(StringVar).substring(0,CharsVar);
	}
			
			
	//Right (required in validation)
	function Right(StringVar,CharsVar) {
		if (CharsVar <= 0)
		   return "";
		else if (CharsVar > String(StringVar).length)
		   return StringVar;
		else {
		   var StringLengthVar = String(StringVar).length;
		   return String(StringVar).substring(StringLengthVar, StringLengthVar - CharsVar);
		}
	}
	
	
	//StripNonStandardHTMLTags (required in validation)
	function StripNonStandardHTMLTags(ValueVar,FormNameVar,FieldNameVar) {

		var TagStartedVar = false
		var TagContentVar = ""
		var NewValueVar = ""
		
		for (var i = 0; i < ValueVar.length; i++) {
			
			if (ValueVar.charAt(i) == "<") {
				
				TagStartedVar = true
				TagContentVar = TagContentVar + ValueVar.charAt(i)
			
			} else {
				
				if (TagStartedVar == true) {
					
					TagContentVar = TagContentVar + ValueVar.charAt(i)
					
					if (ValueVar.charAt(i) == ">") {
						
						TagStartedVar = false
					
						//!-- (Comments)
						if (Left(TagContentVar,4).toLowerCase() == '<!--') { NewValueVar = NewValueVar + TagContentVar }
						if (Right(TagContentVar,3).toLowerCase() == '-->') { NewValueVar = NewValueVar + TagContentVar }
						
						//A (Link)
						if (Left(TagContentVar,3).toLowerCase() == '<a ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</a>') { NewValueVar = NewValueVar + TagContentVar }
						
						//AREA (Image Map Area)
						if (TagContentVar.toLowerCase() == '<area>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,6).toLowerCase() == '<area ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</area>') { NewValueVar = NewValueVar + TagContentVar }
						
						//B (Bold)
						if (TagContentVar.toLowerCase() == '<b>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,3).toLowerCase() == '<b ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</b>') { NewValueVar = NewValueVar + TagContentVar }
						
						//BR (Break)
						if (TagContentVar.toLowerCase() == '<br>') { NewValueVar = NewValueVar + TagContentVar }
						
						//CAMPAIGN
						if (Left(TagContentVar,11).toLowerCase() == '<[CAMPAIGN.') { NewValueVar = NewValueVar + TagContentVar }
						
						//CENTER (Center Text/Object)
						if (TagContentVar.toLowerCase() == '<center>') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</center>') { NewValueVar = NewValueVar + TagContentVar }
						
						//DIV (Div)
						if (TagContentVar.toLowerCase() == '<div>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,5).toLowerCase() == '<div ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</div>') { NewValueVar = NewValueVar + TagContentVar }
						
						//EM (Emphasised Text)
						if (TagContentVar.toLowerCase() == '<em>') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</em>') { NewValueVar = NewValueVar + TagContentVar }
						
						//FONT (Font Attributes)
						if (Left(TagContentVar,6).toLowerCase() == '<font ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</font>') { NewValueVar = NewValueVar + TagContentVar }
						
						//H1 (Header1 Text)
						if (TagContentVar.toLowerCase() == '</h1>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<h1 ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</h1>') { NewValueVar = NewValueVar + TagContentVar }
						
						//H2 (Header1 Text)
						if (TagContentVar.toLowerCase() == '</h2>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<h2 ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</h2>') { NewValueVar = NewValueVar + TagContentVar }
						
						//H3 (Header1 Text)
						if (TagContentVar.toLowerCase() == '</h3>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<h3 ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</h3>') { NewValueVar = NewValueVar + TagContentVar }
						
						//H4 (Header1 Text)
						if (TagContentVar.toLowerCase() == '</h4>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<h4 ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</h4>') { NewValueVar = NewValueVar + TagContentVar }
						
						//H5 (Header1 Text)
						if (TagContentVar.toLowerCase() == '</h5>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<h5 ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</h5>') { NewValueVar = NewValueVar + TagContentVar }
						
						//H6 (Header1 Text)
						if (TagContentVar.toLowerCase() == '</h6>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<h6 ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</h6>') { NewValueVar = NewValueVar + TagContentVar }
						
						//HR (Horizontal Rule)
						if (TagContentVar.toLowerCase() == '<hr>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<hr ') { NewValueVar = NewValueVar + TagContentVar }
						
						//I (Italic)
						if (TagContentVar.toLowerCase() == '<i>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,3).toLowerCase() == '<i ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</i>') { NewValueVar = NewValueVar + TagContentVar }
						
						//IMG (Image)
						if (Left(TagContentVar,5).toLowerCase() == '<img ') { NewValueVar = NewValueVar + TagContentVar }
						
						//LI (List Item)
						if (TagContentVar.toLowerCase() == '<li>') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</li>') { NewValueVar = NewValueVar + TagContentVar }
						
						//MAP (Image Map)
						if (TagContentVar.toLowerCase() == '<map>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,5).toLowerCase() == '<map ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</map>') { NewValueVar = NewValueVar + TagContentVar }
						
						//MENU (Menu)
						if (TagContentVar.toLowerCase() == '<menu>') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</menu>') { NewValueVar = NewValueVar + TagContentVar }
						
						//OL (Ordered List Item)
						if (TagContentVar.toLowerCase() == '<ol>') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</ol>') { NewValueVar = NewValueVar + TagContentVar }
						
						//P (Paragraph)
						if (TagContentVar.toLowerCase() == '<p>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,3).toLowerCase() == '<p ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</p>') { NewValueVar = NewValueVar + TagContentVar }
						
						//SPAN (Span)
						if (TagContentVar.toLowerCase() == '<span>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,6).toLowerCase() == '<span ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</span>') { NewValueVar = NewValueVar + TagContentVar }
						
						//STRIKE (Strike)
						if (TagContentVar.toLowerCase() == '<strike>') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</strike>') { NewValueVar = NewValueVar + TagContentVar }
						
						//STRONG (Strong Text)
						if (TagContentVar.toLowerCase() == '<strong>') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</strong>') { NewValueVar = NewValueVar + TagContentVar }
						
						//STYLE (Style) 
						if (TagContentVar.toLowerCase() == '<style>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,7).toLowerCase() == '<style ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</style>') { NewValueVar = NewValueVar + TagContentVar }
						
						//TABLE (Table)
						if (TagContentVar.toLowerCase() == '<table>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,7).toLowerCase() == '<table ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</table>') { NewValueVar = NewValueVar + TagContentVar }
						
						//TR (Table Row)
						if (TagContentVar.toLowerCase() == '<tr>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<tr ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</tr>') { NewValueVar = NewValueVar + TagContentVar }
						
						//TD (Table Cell)
						if (TagContentVar.toLowerCase() == '<td>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<td ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</td>') { NewValueVar = NewValueVar + TagContentVar }
						
						//TH (Table Header)
						if (TagContentVar.toLowerCase() == '<th>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,4).toLowerCase() == '<th ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</th>') { NewValueVar = NewValueVar + TagContentVar }
						
						//U (Underline)
						if (TagContentVar.toLowerCase() == '<u>') { NewValueVar = NewValueVar + TagContentVar }
						if (Left(TagContentVar,3).toLowerCase() == '<u ') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</u>') { NewValueVar = NewValueVar + TagContentVar }
						
						//UL (Unordered List Item)
						if (TagContentVar.toLowerCase() == '<ul>') { NewValueVar = NewValueVar + TagContentVar }
						if (TagContentVar.toLowerCase() == '</ul>') { NewValueVar = NewValueVar + TagContentVar }
						
						//Clear TagContent
						TagContentVar = ""
					
					}
					
				} else {
				
					NewValueVar = NewValueVar + ValueVar.charAt(i)
				
				}
				
			}
			
		}
	
		
		// Clean-Up Straggling BRs and Ps
		while (Right(NewValueVar,4).toLowerCase() == '<br>' || Right(NewValueVar,3).toLowerCase() == '<p>' || Right(NewValueVar,4).toLowerCase() == '</p>' || Right(NewValueVar,6).toLowerCase() == '&nbsp;') {
			if (Right(NewValueVar,4).toLowerCase() == '<br>') { NewValueVar = Left(NewValueVar,NewValueVar.length-4) }
			if (Right(NewValueVar,3).toLowerCase() == '<p>') { NewValueVar = Left(NewValueVar,NewValueVar.length-3) }
			if (Right(NewValueVar,4).toLowerCase() == '</p>') { NewValueVar = Left(NewValueVar,NewValueVar.length-4) }
			if (Right(NewValueVar,6).toLowerCase() == '&nbsp;') { NewValueVar = Left(NewValueVar,NewValueVar.length-6) }
		}
		
		// Update HTML Box
		document[FormNameVar][FieldNameVar].value = NewValueVar
		
		//Return True
		return true;
		
	}

	
	//ValidateDate
	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;
	
	}
	
	
	//ValidateText
	function ValidateText(ValueVar) {
		
		if (ValueVar == "") {
			return false;
		}
		return true;
	}
	
	
	//ValidateHTML
	function ValidateHTML(ValueVar) {
	
		if (ValueVar == "" || Left(ValueVar,4) == "<br>") {
			return false;
		}
		return true;
	}
	
	
	//ValidateEmail
	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;
		}
	}
	
	
	//ValidateUKNI
	function ValidateUKNI(ValueVar) {
		
		FormatErrorFoundVar = false
		
		var Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var Numerics = "0123456789";
		
		if (ValueVar.length > 9 || ValueVar.length < 9) {
			
			if (ValueVar.length > 0) {
				FormatErrorFoundVar = true
			}
			
		} else {
		
			for (var i = 0; i < ValueVar.length; i++) {
				
				if (i == 0 || i == 1 || i == 8) {
					
					if (Chars.indexOf(ValueVar.charAt(i)) == -1) { FormatErrorFoundVar = true }
					
				} else {
					
					if (Numerics.indexOf(ValueVar.charAt(i)) == -1) { FormatErrorFoundVar = true }
					
				}
				
			}
			
		}
		
		if (FormatErrorFoundVar == false) {
			return true;
		} else {
			return false;
		}
		
	}
	

	//ValidateWindowsFileName
	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;
	}
	
	
	//ValidateMoney
	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;
	}
	
	
	//ValidateDateFutureOnly
	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;
		}
	
	}
	
	
	//ValidateDateAfterDesignated
	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;
		}
	
	}
	
	
	//ValidateDateBeforeDesignated
	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;
		}
	
	}
	
	
	//ValidateSecurePassword
	function ValidateSecurePassword(ValueVar) {
	
		FormatErrorFoundVar = false
		
		var Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
		
		if (ValueVar.length < 8) {
			return false;
		}
		
		for (var i = 0; i < ValueVar.length; i++) {
				
			if (Chars.indexOf(ValueVar.charAt(i)) == -1) { FormatErrorFoundVar = true }
			
		}
		
		if (FormatErrorFoundVar == false) {
			return true;
		} else {
			return false;
		}
		
	}

