
	//matches postcodes according to UK government data standards catalogue
var gstrPostcodeRegExp="^[A-PR-UWYZ]{1}[0-9]{1}[A-HJ-KS-UW]{0,1}\s[0-9]{1}[ABD-HJLNP-UW-Z]{2}$|^[A-PR-UWYZ]{1}[A-HK-Y]{1}[0-9]{1}[ABEHMNPRVWXY]{0,1}\s[0-9]{1}[ABD-HJLNP-UW-Z]{2}$|^[A-PR-UWYZ]{1}[A-HK-Y]{0,1}[0-9]{2}\s[0-9]{1}[ABD-HJLNP-UW-Z]{2}$|^[G]{1}[I]{1}[R]{1}\s[0]{1}[A]{1}[A]{1}$"

function gMatchRegularExpression(strExpression, strTestString)
	{
		var objReg=new RegExp(strExpression)
		return objReg.test(strTestString)
	
	}
	
function isValue(field) {
	var valid = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	var ok = true;
	var temp;
	var count = 0;
	
	for (var i=0; i<field.length; i++) {
		temp = "" + field.substring(i, i+1);
		if (temp == ".") count=count+1;
		//alert(valid.indexOf(temp))
		if (valid.indexOf(temp) == "-1") ok = false;			
		}
	
	if (count > 1){ ok = false;}
	//alert(ok)
	if (ok == false) {
		field = field.substring(0, field.length - 1);		
		
		}
	
	return ok
}	

function isAccount(field) {

	if(field.length<1 || field.length>9){
		return false
		}
	if(!isValue(field)){
		return false
		}
	
	return true

}

function isInt(textObj) {
  var newValue = textObj.value;
  var newLength = newValue.length;
  for(var i = 0; i != newLength; i++) {
    aChar = newValue.substring(i,i+1);
    if(aChar < "0" || aChar > "9") {
      textObj.value = textObj.value.substring(0, textObj.value.length - 1);
    }
  }
  return true;
}
	
	
function isSortCode(objField) {
if (objField.value.length == 2){
objField.value = objField.value + "-"
}else if(objField.value.length == 5){
objField.value = objField.value + "-"
}
if (objField.value.length >= 9){
objField.value = objField.value.substring(0, objField.value.length - 1);
}
}	



// Returns true if leap year else returns false
function isLeapYear(txtYear) {
  if (txtYear % 4 == 0){
    if (txtYear % 400 == 0){
      return true ;
    }
    if (txtYear % 100 == 0){
      return false ;
    }
    return true ; 
  }
  else {
  return false ;
  }
}

// Returns true if valid year else returns false
function isYear(txtYear) {
  if (txtYear >= 1900 && txtYear <= 2100){
	return true ;
  }else{
	return false ;
  }
}

// Returns true if valid month else returns false
function isMonth(txtMonth) {
  if (txtMonth >= 1 && txtMonth <= 12){
	return true ;
  }else{
	return false ;
  }
}


// Validates Email
function isEmail(data)
{

// SC6903 start 24/02/04 - allow underscores too
//	var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
//	var regex = /^[a-zA-Z&0-9._-]+@([a-zA-Z0-9._-]+[a-zA-Z0-9._-]?\.)+[a-zA-Z0-9.-]{2,4}$/;
	var regex = /^[a-zA-Z&0-9._-]+@([a-zA-Z0-9._-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
//

	return regex.test(data);
}

function isValidDate(strInput)
{
	//ensures that date is either DD/MM/YYYY or D/M/YYYY
	var blnTest
	var strDTRegexp

	{
		strDTRegexp=/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/ ;
		blnTest= strDTRegexp.test(strInput);
		return blnTest
		
	}
}

