//BOF ============================ Form Validation ============================================
var strBGColour = '#EEC4C4'
var strBorderColour = '#C73838'
var strOldBGColour = 'White'
var strOldBorderColour = '#CCCCCC'
var UsernameError = ''


function validatePassword(pass,pass2) {
var error = "";

	if (pass.value.length<6) {
        pass.style.backgroundColor = strBGColour;
        pass2.style.backgroundColor = strBGColour;
        pass.style.borderColor = strBorderColour;
        pass2.style.borderColor = strBorderColour;
        error = "Please enter a password.\n"
	} else if (pass.value != pass2.value) {
        pass.style.backgroundColor = strBGColour;
        pass2.style.backgroundColor = strBGColour;
        pass.style.borderColor = strBorderColour;
        pass2.style.borderColor = strBorderColour;
        error = "Passwords do not match.\n"
    } else {
        pass.style.backgroundColor = strOldBGColour;
        pass2.style.backgroundColor = strOldBGColour;
        pass.style.borderColor = strOldBorderColour;
        pass2.style.borderColor = strOldBorderColour;
    }
return error;
}





var CheckUserxmlHttp

// BOF CheckUser Drop Down Box
function validateUniqueUsername(fld){
var error = "";
CheckUserxmlHttp=GetXmlHttpObject();
if (CheckUserxmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var CheckUserurl="includes/check_unique_username.asp";
CheckUserurl=CheckUserurl+"?sid="+Math.random();
CheckUserurl=CheckUserurl+"&varVCheck="+fld.value;

//CheckUserxmlHttp.onreadystatechange=stateChangedCheckUser;
CheckUserxmlHttp.open("GET",CheckUserurl,false);
CheckUserxmlHttp.send(null);
if (CheckUserxmlHttp.readyState==4) {
error = CheckUserxmlHttp.responseText;
//alert(UsernameError);
if (error != ""){
	error += "\n";
	fld.style.backgroundColor = strBGColour;
	fld.style.borderColor = strBorderColour;
}
return error;
}
}





function validateCheckValue(fld) {
var error = "";
	
    if (fld.value.toUpperCase() != 'YES') {
        fld.style.backgroundColor = strBGColour;
        fld.style.borderColor = strBorderColour;
        error = "Please confirm by entering the required value.\n"
    } else {
        fld.style.backgroundColor = strOldBGColour;
        fld.style.borderColor = strOldBorderColour;
    }
return error;
}

function validateEmpty(fld) {
var error = "";
	
    if (fld.value.length == 0) {
        fld.style.backgroundColor = strBGColour;
        fld.style.borderColor = strBorderColour;
        error = "A required field has not been filled in.\n"
    } else {
        fld.style.backgroundColor = strOldBGColour;
        fld.style.borderColor = strOldBorderColour;
    }
return error;
}

function validateCheckBox(fld) {
var error = "";
	
    if (fld.checked == false) {
        fld.style.backgroundColor = strBGColour;
        fld.style.borderColor = strBorderColour;
        error = "Please confirm that you have read the Terms and Conditions.\n"
    } else {
        fld.style.backgroundColor = strOldBGColour;
        fld.style.borderColor = strOldBorderColour;
    }
return error;
}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
} 

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
    
    if (fld.value == "") {
        fld.style.backgroundColor = strBGColour;
        fld.style.borderColor = strBorderColour;
        error = "Please enter an email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.backgroundColor = strBGColour;
        fld.style.borderColor = strBorderColour;
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.backgroundColor = strBGColour;
        fld.style.borderColor = strBorderColour;
        error = "An email address contains illegal characters.\n";
    } else {
        fld.style.backgroundColor = strOldBGColour;
        fld.style.borderColor = strOldBorderColour;
    }
    return error;
}

function validateNumber(fld)
{
    var error="";
    var illegalChars= /[^\.\d]/g ;
	
	if (fld.value.match(illegalChars)) {
        fld.style.backgroundColor = strBGColour;
        fld.style.borderColor = strBorderColour;
        error = "Field(s) contain illegal characters.\n";
    } else {
        fld.style.backgroundColor = strOldBGColour;
        fld.style.borderColor = strOldBorderColour;
	}
    return error;
}

var xmlHttp

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
//EOF ============================ Form Validation ============================================