// validation function calls
function isEmptyText(field, message) {
	var nullRegexp = /^\s*$/;
	if(nullRegexp.test(field.value)) {
		alert(message);
		field.focus();
		field.select();
		return true;
	}
	return false;	
}

function isEmptySelect(field, message) {
	if (field.selectedIndex == 0) {
		alert(message);
		field.focus();		
		return true;		
	}
	return false;	
}

function isOkEmail(field, message) {
	//var nullRegexp = /^\w@\w\.\w\s*$/;
	var nullRegexp = /^.+@.+..+\s*$/;
	if(!nullRegexp.test(field.value)) {
		alert(message);
		field.focus();
		field.select();
		return false;
	}
	return true;	
}
	
//####################  EMAIL FUNCTION  ###############
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

//################################################
	function validateReg(frm) {
	var msg = "";
		if( !frm.AGREETO.checked )
			msg += "\nYou must accept the Privacy Policy and Terms of Use";
		if (frm.firstname.value == "")
			msg += "\nYour Firstname";
		if (frm.lastname.value == "")
			msg += "\nYour Surname";
	//	if (frm.address.value == "")
	//		msg += "\nYour Address";
		if (frm.dob_part_day.options[frm.dob_part_day.selectedIndex].value == "" ||
			frm.dob_part_month.options[frm.dob_part_month.selectedIndex].value == "" ||
			frm.dob_part_year.options[frm.dob_part_year.selectedIndex].value == "")
			msg += "\nYour date of birth";
			
		if ((frm.post_code_1.value == "" || frm.post_code_2.value == "") && 
				frm.country.options[frm.country.selectedIndex].value == "GB")
					msg += "\nYour full Postcode";
						
	if (frm.zipcode.value == "" && frm.country.options[frm.country.selectedIndex].value != "GB"
			&& frm.country.options[frm.country.selectedIndex].value != "")
					msg+="\nYour Zip Code";
	
		if(frm.country.options[frm.country.selectedIndex].value == "")
			msg += "\nYour Country";
			
		if (!isEmail(frm.email_address.value) || frm.email_address.value == "")
			msg += "\nPlease enter a valid email address";
		if(frm.mailing_list_format[0].checked == false && frm.mailing_list_format[1].checked == false)
				msg += "\nYour preferred email type";	
		if(msg != ""){
			alert("Please complete the following fields:-     \n"+msg)
			return false;
		}else{
			return true;
		}

		// if(isEmptySelect(form.dob_part_day,'')) { return false; }
		return true;
	}
	
//##################  CHECK THE COUNTRY SELECT STATUS  ###############
function checkStatus()
{
	var frm = document.registration;
	if (frm.country.options[frm.country.selectedIndex].value == "") alert("Please select a country first.");
}

//#################  CHECK AND PREVENT INCORRECT ZIP/POSTCODE ENTRY ##############
function checkCountry()
{
var frm = document.registration;
if (document.all){
   if(frm.country.value == "GB"){
      frm.zipcode.value = "";
      frm.zipcode.disabled = true;
      frm.post_code_1.disabled = false;
      frm.post_code_2.disabled = false;
   } else {
      frm.post_code_1.value = "";
      frm.post_code_2.value = "";
      frm.zipcode.disabled = false;
      frm.post_code_1.disabled = true;
      frm.post_code_2.disabled = true;
   }
} else {
   if(frm.country.options[frm.country.selectedIndex].value){
      frm.zipcode.value = "";
     	frm.zipcode.disabled = true;
      frm.post_code_1.disabled = false;
      frm.post_code_2.disabled = false;
   } else {
      frmComp.post_code_1.value = "";
      frmComp.post_code_2.value = "";
      frmComp.zipcode.disabled = false;
      frmComp.post_code_1.disabled = true;
  		frm.post_code_2.disabled = true;
   }
}	
}