<!--
function validateLoveCalculator ( form ){
	if ((form.name1.value==null)||(form.name1.value=="")||(form.name1.value=="Your Name......")||(form.name1.value.length<3)||!(/^[a-z\s]*$/i.test(form.name1.value))){
		alert( "Please enter your full name." );
		form.name1.focus();
		return false ;
	}
	if ((form.name2.value==null)||(form.name2.value=="")||(form.name2.value=="Partners Name......")||(form.name2.value.length<3)||!(/^[a-z\s]*$/i.test(form.name2.value))){
		alert( "Please enter your partners full name." );
		form.name2.focus();
		return false ;
	}
	//return true ;
	form.submit();
}

function validatePsychicNewsletter ( form ){
	if ((form.newsletter_email.value==null)||(form.newsletter_email.value=="")||(form.newsletter_email.value=="Enter Email Here")){
		alert("Please enter your email address")
		form.newsletter_email.focus()
		return false
	}
	if (echeck(form.newsletter_email.value)==false){
		alert("Please enter a valid email address")
		form.newsletter_email.focus()
		return false
	}
	//return true ;
	form.submit();
}
function validateMobileAlerts ( form ){
	if ((form.mobile_number.value==null)||(form.mobile_number.value=="")||(form.mobile_number.value=="Your Mobile Number......")){
		alert("Please enter your mobile number")
		form.mobile_number.focus()
		return false
	}
    if (!checkUKTelephone (form.mobile_number.value, 'mobile')) {
	   alert (telNumberErrors[telNumberErrorNo]);
	   form.mobile_number.focus()
	   return false ;
    }
	//return true ;
	form.submit();
}
function validateEmailResults ( form ){
	if ((form.friends_email.value==null)||(form.friends_email.value=="")||(form.friends_email.value=="Enter Email Here")){
		alert("Please enter a valid email address")
		form.friends_email.focus()
		return false
	}
	if (echeck(form.friends_email.value)==false){
		alert("Please enter a valid email address")
		form.friends_email.focus()
		return false
	}
	return true ;
}
function validateContactUs ( form ){
	if ((form.contact_name.value==null)||(form.contact_name.value=="")||(form.contact_name.value=="Your Name......")||(form.contact_name.value.length<3)||!(/^[a-z\s]*$/i.test(form.contact_name.value))){
		alert( "Please enter your full name." );
		form.contact_name.focus();
		return false ;
	}
	if ((form.contact_email.value==null)||(form.contact_email.value=="")||(form.contact_email.value=="Your Email......")){
		alert("Please enter your email address")
		form.contact_email.focus()
		return false
	}
	if (echeck(form.contact_email.value)==false){
		alert("Please enter a valid email address")
		form.contact_email.focus()
		return false
	}
	//return true ;
	form.submit();
}
function validateEmailOrder ( form ){
	if ((form.email_orders_name.value==null)||(form.email_orders_name.value=="")||(form.email_orders_name.value=="Your Name......")||(form.email_orders_name.value.length<3)||!(/^[a-z\s]*$/i.test(form.email_orders_name.value))){
		alert( "Please enter your full name." );
		form.email_orders_name.focus();
		return false ;
	}
	if ((form.email_orders_email.value==null)||(form.email_orders_email.value=="")||(form.email_orders_email.value=="Your Email......")){
		alert("Please enter your email address")
		form.email_orders_email.focus()
		return false
	}
	if (echeck(form.email_orders_email.value)==false){
		alert("Please enter a valid email address")
		form.email_orders_email.focus()
		return false
	}
	//return true ;
	form.submit();
}
function validateFeedback ( form ){
	if ((form.feedback_name.value==null)||(form.feedback_name.value=="")||(form.feedback_name.value=="Your Name......")||(form.feedback_name.value.length<3)||!(/^[a-z\s]*$/i.test(form.feedback_name.value))){
		alert( "Please enter your full name." );
		form.feedback_name.focus();
		return false ;
	}
	if ((form.feedback_location.value==null)||(form.feedback_location.value=="")||(form.feedback_location.value=="Your Location......")||(form.feedback_location.value.length<3)||!(/^[a-z\s]*$/i.test(form.feedback_location.value))){
		alert( "Please enter your location." );
		form.feedback_location.focus();
		return false ;
	}
	if ((form.feedback_comments.value==null)||(form.feedback_comments.value=="")||(form.feedback_comments.value=="Your Comments......")||(form.feedback_comments.value.length<10)){
		alert( "Please enter your comments or feedback." );
		form.feedback_comments.focus();
		return false ;
	}
	//return true ;
	form.submit();
}

function validateHoroscopeCompatibility ( form ){
	if ((form.s1.value==null)||(form.s1.value=="-1")||(form.s1.value.length!=3)){
		alert( "Please select your star sign." );
		form.s1.focus();
		return false ;
	}
	if ((form.s2.value==null)||(form.s2.value=="-1")||(form.s2.value.length!=3)){
		alert( "Please select your friends star sign." );
		form.s2.focus();
		return false ;
	}
	//return true ;
	form.submit();
}

function validateNotifications ( form ){
	email_error = false;
	phone_error = false;
	
	//Check the email address
	if ((form.notify_contact.value==null)||(form.notify_contact.value=="")||(form.notify_contact.value=="Your Email Address or Mobile Number")){
		email_error = true;
	}
	if (echeck(form.notify_contact.value)==false){
		email_error = true;
	}

	//Check the mobile number
	if ((form.notify_contact.value==null)||(form.notify_contact.value=="")||(form.notify_contact.value=="Your Email Address or Mobile Number")){
		phone_error = true;
	}
    if (!checkUKTelephone (form.notify_contact.value, 'mobile')) {
	   phone_error = true;
    }

	//If both email and phone return an error then tell customer
	if ((email_error==true) && (phone_error==true)){
		alert("Please enter a valid email address or UK mobile phone number")
		form.notify_contact.focus()
		return false
	}
	//return true ;
	form.submit();
}

function doSelection(fld, defaultValue) {
	if (fld.value == defaultValue){
		fld.value = "";
	}
    fld.focus();
    fld.select();
}
function unSelection(fld, defaultValue) {
	if (fld.value == ""){
		fld.value = defaultValue;
	}
}
function echeck(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false
	 }

	 return true					
}



function checkUKTelephone (telephoneNumber, type) {

  // Convert into a string and check that we were provided with something
  var telnum = telephoneNumber + " ";
  if (telnum.length == 1)  {
     telNumberErrorNo = 1;
     return false
  }
  telnum.length = telnum.length - 1;
  
  // Don't allow country codes to be included (assumes a leading "+")
  var exp = /^(\+)[\s]*(.*)$/;
  if (exp.test(telnum) == true) {
     telNumberErrorNo = 2;
     return false;
  }
  
  // Remove spaces from the telephone number to help validation
  while (telnum.indexOf(" ")!= -1)  {
    telnum = telnum.slice (0,telnum.indexOf(" ")) + telnum.slice (telnum.indexOf(" ")+1)
  }
  
  // Remove hyphens from the telephone number to help validation
  while (telnum.indexOf("-")!= -1)  {
    telnum = telnum.slice (0,telnum.indexOf("-")) + telnum.slice (telnum.indexOf("-")+1)
  }  
  
  // Now check that all the characters are digits
  exp = /^[0-9]{10,11}$/;
  if (exp.test(telnum) != true) {
     telNumberErrorNo = 3;
     return false;
  }
  
  // Now check that the first digit is 0
  exp = /^0[0-9]{9,10}$/;
  if (exp.test(telnum) != true) {
     telNumberErrorNo = 4;
     return false;
  }
	
	// Disallow numbers allocated for dramas.
	 
  // Array holds the regular expressions for the drama telephone numbers
  var tnexp = new Array ();
	tnexp.push (/^(0113|0114|0115|0116|0117|0118|0121|0131|0141|0151|0161)(4960)[0-9]{3}$/);
	tnexp.push (/^02079460[0-9]{3}$/);
	tnexp.push (/^01914980[0-9]{3}$/);
	tnexp.push (/^02890180[0-9]{3}$/);
	tnexp.push (/^02920180[0-9]{3}$/);
	tnexp.push (/^01632960[0-9]{3}$/);
	tnexp.push (/^07700900[0-9]{3}$/);
	tnexp.push (/^08081570[0-9]{3}$/);
	tnexp.push (/^09098790[0-9]{3}$/);
	tnexp.push (/^03069990[0-9]{3}$/);
	
	for (var i=0; i<tnexp.length; i++) {
    if ( tnexp[i].test(telnum) ) {
      telNumberErrorNo = 5;
      return false;
    }
	}
  
  // Finally check that the telephone number is appropriate.
  if (type == 'mobile') {
    exp = (/^(070|071|072|073|074|075|07624|077|078|079)[0-9]+$/);
  } else {
    exp = (/^(01|02|03|05|070|071|072|073|074|075|07624|077|078|079|0800|0845)[0-9]+$/);
  }
	if (exp.test(telnum) != true) {
     telNumberErrorNo = 5;
     return false;
  }
  
  // Telephone number seems to be valid - return the stripped telehone number  
  return telnum;
}
var telNumberErrorNo = 0;
var telNumberErrors = new Array ();
telNumberErrors[0] = "Valid UK telephone number";
telNumberErrors[1] = "Telephone number not provided";
telNumberErrors[2] = "UK telephone number without the country code, please";
telNumberErrors[3] = "UK telephone numbers should contain 10 or 11 digits";
telNumberErrors[4] = "The telephone number should start with a 0";
telNumberErrors[5] = "The telephone number is not valid";
//telNumberErrors[5] = "The telephone number is either invalid or inappropriate";


//-->