﻿//SH| validate express form and return false if fails.
function formCheck(thisForm)

{
		var bReturn = true; // checks main app missing data
		var sMissing = ""; //string to concatenate missing field messages
			

				// Mandatory field check emptry string & null only
						
					if (document.forms[0].Name.value == "")
					{
						sMissing = sMissing + "Name\n";					
					}
					if (document.forms[0].TelNo.value == "")
					{
						sMissing = sMissing + "Telephone Number\n";					
					}
										
					if (sMissing != "")
						{
						//display message to user
							alert ("The following fields are mandatory:\n\n" + sMissing);
							bReturn = false;
							return bReturn;
																					
						}
						
					//now validate fields	
					return clientRegExValidation();
				
}


function clientRegExValidation()

{
	//set up constants for js regEx
	var regExString = new RegExp("^([a-zA-Z '-]+)$");
	var regExEmail = new RegExp("^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
	var regExNumeric = new RegExp("^\£?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$");
	var regExPostCode = new RegExp("(((^[BEGLMNS][1-9]\d?)|(^W[2-9])|(^(A[BL]|B[ABDHLNRST]|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]|F[KY]|G[LUY]|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]|M[EKL]|N[EGNPRW]|O[LX]|P[AEHLOR]|R[GHM]|S[AEGKL-PRSTWY]|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)\d\d?)|(^W1[A-HJKSTUW0-9])|(((^WC[1-2])|(^EC[1-4])|(^SW1))[ABEHMNPRVWXY]))(\s*)?([0-9][ABD-HJLNP-UW-Z]{2}))$|(^GIR\s?0AA$)");
    var regExAlphaNumeric = new RegExp("^[a-zA-Z0-9]+$");

	var bReturn = true; // checks main app missing data
	var sMissing = ""; //string to concatenate missing field messages
					
// RegularExpression checking client side/same check is performed server side												
							 
var match1 = regExString.exec(document.forms[0].Name.value);
	if (match1 == null) {
		sMissing = sMissing + "Name\n";					
	}

    var	match2 = regExPostCode.exec(document.forms[0].Postcode.value());
    if (match2 == null) {
    	sMissing = sMissing + "Postcode\n";			
    } 
    
    var match3 = regExNumeric.exec(document.forms[0].TelNo.value);
	if (match3 == null) {
		sMissing = sMissing + "Telephone Number\n";					
	} 	
    
    var match4 = regExEmail.exec(document.forms[0].Email.value());
    if (match4 == null) {
        sMissing = sMissing + "Email Address\n";
    }    
    
    var match5 = regExNumeric.exec(document.forms[0].DebtTotal.value);
	if (match5 == null) {
		sMissing = sMissing + "Unsecured Debt\n";					
	} 	
								
			if (sMissing != "")
				{
				//display message to user
					alert ("The following fields fail validation:\n\n" + sMissing);
					bReturn = false;
					return bReturn;
				}

}
