function validate(myfrm) {
	var validd = true;
	var strr = "";
	// Declaring required variables
	var digits = "0123456789";
	// non-digit characters which are allowed in phone numbers
	var phoneNumberDelimiters = "()- ";
	// characters which are allowed in international phone numbers
	// (a leading + is OK)
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	// Minimum no of digits in an international phone no.
	var minDigitsInIPhoneNumber = 6;

	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 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) {
		s=stripCharsInBag(strPhone,validWorldPhoneChars);
		return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
	}

	//check name is non-blank
	if (myfrm.txtsurname.value == "") {
		validd = false;
		strr = strr + "Please enter a Surname\n";
		myfrm.txtsurname.focus();
	}	
	
	else if (myfrm.txtname.value == "") {
		validd = false;
		strr = strr + "Please enter a Contact Name\n";
		myfrm.txtname.focus();
	}
	
	else if (myfrm.txtemail.value == "") {
		validd = false;
		strr = strr + "Please enter an Email address\n";
		myfrm.txtemail.focus();		
	}	
	
	else if ((myfrm.txtemail.value != "") && ((myfrm.txtemail.value.indexOf("@") == -1) || (myfrm.txtemail.value.indexOf(".") == -1))) {
		validd = false;
		strr = strr + "E-mail address is invalid.\nPlease try again\n";
		myfrm.txtemail.value = "";
		myfrm.txtemail.focus();
	}
	
	else if ((myfrm.txtphoneAH.value == "") && (myfrm.txtphoneBH.value == "")) {
		validd = false;
		strr = strr + "Please enter a Contact Number\n";
		myfrm.txtphoneBH.focus();
	}

	else if ((myfrm.txtphoneAH.value != "") && (checkInternationalPhone(myfrm.txtphoneAH.value)==false)) {
		validd = false;
		strr = strr + "Contact Number(AH) is invalid.\nPlease try again\n";
		myfrm.txtphoneAH.value="";
		myfrm.txtphoneAH.focus();
	}

	else if ((myfrm.txtphoneBH.value != "") && (checkInternationalPhone(myfrm.txtphoneBH.value)==false)) {
		validd = false;
		strr = strr + "Contact Number(BH) is invalid.\nPlease try again\n";
		myfrm.txtphoneBH.value="";
		myfrm.txtphoneBH.focus();
	}

	else if ((myfrm.txtaddr.value != "") && (myfrm.txtpcode.value == "")) {
		validd = false;
		strr = strr + "Please enter a Postcode\n";
		myfrm.txtpcode.value = "";
		myfrm.txtpcode.focus();
	}
		
	else if ((myfrm.txtpcode.value != "") && ((isInteger(myfrm.txtpcode.value)==false) || (myfrm.txtpcode.value.length != "4"))){
		validd = false;
		strr = strr + "Postcode is invalid.\nPlease try again\n";
		myfrm.txtpcode.value="";
		myfrm.txtpcode.focus();
	}

	else if ((myfrm.txtpcode.value != "") && (myfrm.ddbstate.value == "N/A")) {
		validd = false;
		strr = strr + "Please select a State\n";
		myfrm.ddbstate.focus();	
	}
	
	//display result of check
	if (!validd){
		alert(strr);
		return validd;
	}
	else return validd;
}


// ==========================================================

function nlsignup(myfrm) {
	var validd = true;
	var strr = "";
	//check the name field to see if empty
	if (myfrm.txtname.value == "") {
		validd = false;
		strr = strr + "Please enter a Name\n";
		myfrm.txtname.focus();
	}
					
	else if (myfrm.txtemail.value == "") {
		validd = false;
		strr = strr + "Please enter an Email address\n";
		myfrm.txtemail.focus();		
	}
	
	else if ((myfrm.txtemail.value != "") && ((myfrm.txtemail.value.indexOf("@") == -1) || (myfrm.txtemail.value.indexOf(".") == -1))) {
		validd = false;
		strr = strr + "E-mail address is invalid.\nPlease try again\n";
		myfrm.txtemail.value = "";
		myfrm.txtemail.focus();
	}
	
	//display result of check
	if (!validd) {
		alert(strr);
		return validd;
	}
	else return validd;	
}