// JavaScript Generic Validation Documentvar numb = '0123456789';var lwr = 'abcdefghijklmnopqrstuvwxyz';var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';var digits = "0123456789";var phoneNumberDelimiters = "()- ";var validWorldPhoneChars = phoneNumberDelimiters + "+";var minDigitsInIPhoneNumber = 10;function isValid(parm,val){	if (parm == "") return true;	for (i=0; i<parm.length; i++)	{		if (val.indexOf(parm.charAt(i),0) == -1) return false;	}	return true;}function isAlpha(who){	var affected = document.getElementById(who);	var param = trim(affected.value);	var affected_error = document.getElementById(who+'_error');	if(isValid(param,lwr + upr + " ") != true || param.length <= 0)	{			affected.value = "";			if(param.length <= 0)			{				affected_error.innerHTML = "This is a required field.";			}			else			{				affected_error.innerHTML = "Please only use alpha characters.";			}			affected.style.border = "2px solid red";			return false;	}	else	{			affected_error.innerHTML = "";			affected.style.border = "2px solid green";			return true;	}}function isEmail(who){	var affected = document.getElementById(who);	var param = affected.value;	var affected_error = document.getElementById(who+'_error');	if(validateEmail(param) != true || param.length <= 0)	{			affected.value = "";			if(param.length <= 0)			{				affected_error.innerHTML = "This is a required field.";			}			else			{				affected_error.innerHTML = "Please use a valid email address.";			}			affected.style.border = "2px solid red";			return false;	}	else	{			affected_error.innerHTML = "";			affected.style.border = "2px solid green";			return true;	}}function validateEmail(email){   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;   if(reg.test(email) == false)   {		return false;   }	return true;}function isNotEmpty(who){	var affected = document.getElementById(who);	var param = trim(affected.value);	var affected_error = document.getElementById(who+'_error');	if(param.length <= 0)	{		affected.value = "";		affected_error.innerHTML = "This is a required field.";		affected.style.border = "2px solid red";		return false;	}	else	{			affected_error.innerHTML = "";			affected.style.border = "2px solid green";			return true;	}}function isNotEmptyHTML(who){	var affected = document.getElementById(who);	var param = trim(affected.value);	var affected_error = document.getElementById(who+'_error');	if(param.length <= 0)	{		affected.value = "";		affected_error.innerHTML = "This is a required field.";		affected.style.border = "2px solid red";		return false;	}	else	{			affected_error.innerHTML = "";			affected.style.border = "2px solid green";			return true;	}}function isTel(who){	var affected = document.getElementById(who);	var param = affected.value;	var affected_error = document.getElementById(who+'_error');	if ((param==null)||(param==""))	{		affected_error.innerHTML = "This is a required field.";		affected.style.border = "2px solid red";		return false	}	if (checkInternationalPhone(param)==false){		affected_error.innerHTML = "Please use a valid number.";		affected.style.border = "2px solid red";		return false	}	affected_error.innerHTML = "";	affected.style.border = "2px solid green";	return true}function isInteger(s){   var i;    for (i = 0; i < s.length; i++)    {           // Check that current character is number.        var c = s.charAt(i);        if (((c < "0") || (c > "9"))) return false;    }    // All characters are numbers.    return true;}function trim(s){   var i;    var returnString = "";    // Search through string's characters one by one.    // If character is not a whitespace, append to returnString.    for (i = 0; i < s.length; i++)    {           // Check that current character isn't whitespace.        var c = s.charAt(i);        if (c != " ") returnString += c;    }    return returnString;}function stripCharsInBag(s, bag){   var i;    var returnString = "";    // Search through string's characters one by one.    // If character is not in bag, append to returnString.    for (i = 0; i < s.length; i++)    {           // Check that current character isn't whitespace.        var c = s.charAt(i);        if (bag.indexOf(c) == -1) returnString += c;    }    return returnString;}function checkInternationalPhone(strPhone){var bracket=3strPhone=trim(strPhone)if(strPhone.indexOf("+")>1) return falseif(strPhone.indexOf("-")!=-1)bracket=bracket+1if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return falsevar brchr=strPhone.indexOf("(")if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return falseif(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return falses=stripCharsInBag(strPhone,validWorldPhoneChars);return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);}function trim(stringToTrim) {	return stringToTrim.replace(/^\s+|\s+$/g,"");}function ltrim(stringToTrim) {	return stringToTrim.replace(/^\s+/,"");}function rtrim(stringToTrim) {	return stringToTrim.replace(/\s+$/,"");}function isSelect(who){	var affected = document.getElementById(who);	var param = affected.value;	var affected_error = document.getElementById(who+'_error');	if(param == "")	{				affected_error.innerHTML = "This is a required field.";				affected.style.border = "2px solid red";				return false;	}	else	{			affected_error.innerHTML = "";			affected.style.border = "2px solid green";			return true;	}}function isPostCode(who){	var affected = document.getElementById(who);	var param = affected.value;	var affected_error = document.getElementById(who+'_error');	if ((param==null)||(param==""))	{		affected_error.innerHTML = "This is a required field.";		affected.style.border = "2px solid red";		return false	}	if (isValidPostcode(param)==false){		affected_error.innerHTML = "Please use a valid post code.";		affected.style.border = "2px solid red";		return false	}	affected_error.innerHTML = "";	affected.style.border = "2px solid green";	return true}function isValidPostcode(p) {	var postcodeRegEx = /[A-Z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}/i;	return postcodeRegEx.test(p);}function formatPostcode(p) {	if (isValidPostcode(p)) 	{		var postcodeRegEx = /(^[A-Z]{1,2}[0-9]{1,2})([0-9][A-Z]{2}$)/i;		return p.replace(postcodeRegEx,"$1 $2");	} 	else 	{		return p;	}}
