var errorBorderColour = '#900';
var passBorderColourLeft='#eeda94';
var passBorderColourTop='#eeda94';
var passBorderColourRight='#eeda94';
var passBorderColourBottom='#eeda94';

function validateFormOnSubmit() {
	var theForm = document.forms['ctl07'];
	var reason = "";
	var agreedCheckBox = document.getElementById("HamperOrder_5_termsCheck");

	reason += validateName(theForm.HamperOrder_5$txtName);
	reason += validateEmail(theForm.HamperOrder_5$txtEmail);
	reason += validatePhone(theForm.HamperOrder_5$txtPhone);
	reason += validateMethodPayment(theForm.HamperOrder_5$txtMethodPayment);
	reason += validateDeliveryAddress(theForm.HamperOrder_5$txtDeliveryAddress);
	reason += validateDeliveryDate(theForm.HamperOrder_5$txtDeliveryDate);
	//reason += validateReceipt(theForm.HamperOrder_5$txtRequireReceiptCheck);

if (reason != "") {
 
	$.alerts.dialogClass = "error-style"; // set custom style class
	jAlert('<strong>Please fix up the following so we can send your order...</strong>\n\n<div class="error-text">' + '' + reason + '\nThank you.\n</div>' , 'Notice', function() {
	$.alerts.dialogClass = null; // reset to default
	});
	  
    return false;
	
  } else if (!agreedCheckBox.checked) {
	  
	$.alerts.dialogClass = "error-style"; // set custom style class
	jAlert("Please agree to the <strong>terms and conditions</strong> to place your order." , "Notice", function() { $.alerts.dialogClass = null; });
	return false;
	 
  }
	return true;
}

//trim function
function trim(s) {
  return s.replace(/^\s+|\s+$/, '');
}


function changeFieldStyles(fld, validationValue) {
	if(validationValue) {
		fld.style.borderLeftColor = passBorderColourLeft;
		fld.style.borderTopColor = passBorderColourTop;
		fld.style.borderRightColor = passBorderColourRight;
		fld.style.borderBottomColor = passBorderColourBottom;
	} else {
		fld.style.borderColor = errorBorderColour;
	}
}


function validateReceipt(fld) {
	var error = ""; 
    if (fld.checked) {
        if(fld2.value == "") {
			changeFieldStyles(fld, false)
        	error = "* Please include your <strong>Receipt postal address</strong>\n";
			//$("#error-name").html(error);
		}
    } else {
        changeFieldStyles(fld, true);
		//$("#error-name").html('');
    }
    return error;
}
function validateName(fld) {
    var error = ""; 
    if (fld.value == "" || fld.value.length < 2) {
        changeFieldStyles(fld, false)
        error = "* Please include your <strong>Full name</strong>\n";
		//$("#error-name").html(error);
    } else {
        changeFieldStyles(fld, true);
		//$("#error-name").html('');
    }
    return error;
}

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 == "") {
        changeFieldStyles(fld, false);
        error = "* Please include an <strong>Email address</strong>\n";
		//$("#error-email").html(error);
		changeFieldStyles(fld, false);
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters
        error = "* Please include a valid <strong>Email address</strong>\n";
		//$("#error-email").html(error);
		changeFieldStyles(fld, false);
    } else if (fld.value.match(illegalChars)) {
        error = "* Your <strong>Email address</strong> contains illegal characters\n";
		//$("#error-email").html(error);
		changeFieldStyles(fld, false);
    } else {
	   //$("#error-email").html('');
	   changeFieldStyles(fld, true);
    }
    return error;
}
function validatePhone(fld) {
    var error = ""; 
	var fldValue = fld.value; 
	var rePhoneNumber = new RegExp(/^[0-9\s\(\){7,15}]+$/);
	 
    if(fld.value == "") {
		error = "* Please include your <strong>Phone number</strong>\n";
		//$("#error-message").html(error);
		changeFieldStyles(fld, false);
		
	}
	
	else if (!rePhoneNumber.test(fldValue)) {
		error = "* Please check your <strong>Phone number</strong>\n";
		changeFieldStyles(fld, false);
    }
	
	 
	else {
		//$("#error-message").html('');
		changeFieldStyles(fld, true);
	}
	return error;
}
function validateMethodPayment(fld) {
    var error = ""; 
    if(fld.value == "" || fld.value == null) {
		error = "* Please choose a <strong>Method of payment</strong>\n";
		//changeFieldStyles(fld, false);
	} else {
		//changeFieldStyles(fld, true);
	}
	return error;
}
function validateDeliveryAddress(fld) {
    var error = ""; 
    if(fld.value == "") {
		error = "* Please include your <strong>Delivery address</strong>\n";
		//$("#error-message").html(error);
		changeFieldStyles(fld, false);
	} else {
		//$("#error-message").html('');
		changeFieldStyles(fld, true);
	}
	return error;
}


function validateDeliveryDate(fld) {
    var error = ""; 
    if(fld.value == "") {
		error = "* Please include your <strong>Delivery date</strong>\n";
		//$("#error-message").html(error);
		changeFieldStyles(fld, false);
	} else {
		//$("#error-message").html('');
		changeFieldStyles(fld, true);
	}
	return error;
}


function isPhoneNumber(s) {

     // Check for correct phone number
	 rePhoneNumber = new RegExp(/^0[234679]{1}[\s]{0,1}[\-]{0,1}[\s]{0,1}[1-9]{1}[0-9]{6}$/);
	 //rePhoneNumber = new RegExp(/^0[234679]{1}[\s]{0,1}[\-]{0,1}[\s]{0,1}[1-9]{1}[0-9]{6}$/);
	 //reMobileNumber = new RegExp(/(^1300\d{6}$)|(^1800|1900|1902\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^13\d{4}$)|(^04\d{2,3}\d{6}$)/);
	
     if (!rePhoneNumber.test(s)) {
		  return false;
     }

return true;
}
