// Checks that given string is valid as email address
	function checkEmail(email){
	  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	  if (filter.test(email)) return true;
	  else return false;
	}
	 
	var origBorder = "1px solid #000";
	var strErrorBorder = "1px solid red";
	 

function validateEmailFooter() {
   var elemEmail = document.getElementById("txtemailfooter");
   elemEmail.style.border = origBorder;
   var boolError = false;
   var strError = "";
   var vEmail = elemEmail.value;
   vEmail = Trim(vEmail);
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		}
	if( boolError ) alert ( strError );
		   return ! boolError;
}

// Contact form
function validateContactform() {

   var elemName= document.getElementById("txtname");
   var elemEmail = document.getElementById("txtemail");
   var elemTelephone= document.getElementById("txttelephone");
   
   var boolError = false;
   var strError = "";
	   
   var vEmail = elemEmail.value;
   var vTelephone = elemTelephone.value;
   var vName = elemName.value;
  
   elemName.style.border = origBorder;
   elemEmail.style.border = origBorder;
   elemTelephone.style.border = origBorder;
		   
// Trim white-space
   vName = Trim(vName);
   vEmail = Trim(vEmail);
   vTelephone = Trim(vTelephone);
		   
// Run validation
   if(vName.length == 0) {
		strError += "Name is required\n";              
		elemName.style.border = strErrorBorder;
		boolError = true;
		}
   if(vTelephone.length == 0) {
		strError += "Telephone is required\n";              
		elemTelephone.style.border = strErrorBorder;
		boolError = true;
		}
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		}
	if( boolError ) alert ( strError );
		   return ! boolError;
	}
	 
// Login
function validateLogin() {

   var elemEmail = document.getElementById("txtemail");
   var elemPassword= document.getElementById("txtpassword");
   
   var boolError = false;
   var strError = "";
	   
   var vEmail = elemEmail.value;
   var vPassword = elemPassword.value;
  
   elemEmail.style.border = origBorder;
   elemPassword.style.border = origBorder;
		   
   // Trim white-space
   vEmail = Trim(vEmail);
   vPassword = Trim(vPassword);
		   
   // Run validation
	 
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
	} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
	}
	if(vPassword.length < 6) {  
		strError += "Please ensure your password is at least six characters long\n";              
		elemPassword.style.border = strErrorBorder;
		boolError = true;
	}
	if( boolError ) alert ( strError );
	
	return ! boolError;
}
 
//Login in ppayment rocessing
function validateLoginPP() {

   var elemEmail = document.getElementById("txtemaillogin");
   var elemPassword= document.getElementById("txtemaillogin");
   
   var boolError = false;
   var strError = "";
	   
   var vEmail = elemEmail.value;
   var vPassword = elemPassword.value;
  
   elemEmail.style.border = origBorder;
   elemPassword.style.border = origBorder;
		   
   // Trim white-space
   vEmail = Trim(vEmail);
   vPassword = Trim(vPassword);
		   
   // Run validation
	 
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
	} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
	}
	if(vPassword.length < 6) {  
		strError += "Please ensure your password is at least six characters long\n";              
		elemPassword.style.border = strErrorBorder;
		boolError = true;
	}
	if( boolError ) alert ( strError );
	
	return ! boolError;
}

// Register
function validateRegister() {

   var elemName				= document.getElementById("txtname");
   var elemDisplayName 		= document.getElementById("txtdisplayname");
   var elemEmail 			= document.getElementById("txtemail");
   var elemPassword 		= document.getElementById("txtpassword");
   var elemPasswordConfirm 	= document.getElementById("txtpasswordconf");
   var elemOccupation 		= document.getElementById("txtoccupation");
   var elemAgeGroup			= document.getElementById("txtagegroup");
   var elemCity 			= document.getElementById("txtcity");
   var elemCountry 			= document.getElementById("txtcountry");
   var elemHowFoundUs		= document.getElementById("txthowfoundus");
   //var elemTc 				= document.getElementById("tc");
   
   var boolError = false;
   var strError = "";
	   
   var vName = elemName.value;	
   var vDisplayName = elemDisplayName.value;
   var vEmail = elemEmail.value;
   var vPassword = elemPassword.value;
   var vPasswordConfirm = elemPasswordConfirm.value;
   var vOccupation = elemOccupation.value;
   var vAgeGroup = elemAgeGroup.value;
   var vCity = elemCity.value;
   var vCountry	= elemCountry.value;
   var vHowFoundUs = elemHowFoundUs.value;
   //var vTc	= elemTc.value;
  
   elemName.style.border = origBorder;
   elemDisplayName.style.border = origBorder;
   elemEmail.style.border = origBorder;
   elemPassword.style.border = origBorder;
   elemPasswordConfirm.style.border = origBorder;
   elemOccupation.style.border = origBorder;
   elemAgeGroup.style.border = origBorder;
   elemCity.style.border = origBorder;
   elemCountry.style.border = origBorder;
   elemHowFoundUs.style.border = origBorder;

// Trim white-space
   vName = Trim(vName);
   vDisplayName = Trim(vDisplayName);
   vEmail = Trim(vEmail);
   vPassword = Trim(vPassword);
   vPasswordConfirm = Trim(vPasswordConfirm);
   vOccupation = Trim(vOccupation);
   vAgeGroup = Trim(vAgeGroup);
   vCity = Trim(vCity);
   vCountry = Trim(vCountry);
   vHowFoundUs = Trim(vHowFoundUs);
		   
// Run validation
   	if(vName.length == 0) {
		strError += "Name is required\n";              
		elemName.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vDisplayName.length == 0) {
		strError += "Display name is required\n";              
		elemDisplayName.style.border = strErrorBorder;
		boolError = true;
		}
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vPassword.length < 6) {
		strError += "Please ensure your password is at least six characters long\n";              
		elemPassword.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vPasswordConfirm.length == 0) {
		strError += "Please confirm password\n";              
		elemPasswordConfirm.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vPasswordConfirm != vPassword) {
		strError += "Please check that you have re-entered the correct password\n";              
		elemPasswordConfirm.style.border = strErrorBorder;
		boolError = true;
		}
/*
   	if(vOccupation.length == 0) {
		strError += "Occupation is required\n";              
		elemOccupation.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vAgeGroup == "choose") {
		strError += "Age group is required\n";              
		elemAgeGroup.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vCity.length == 0) {
		strError += "City/town is required\n";              
		elemCity.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vCountry == "choose") {
		strError += "Country is required\n";              
		elemCountry.style.border = strErrorBorder;
		boolError = true;
		}		   
	if(elemTc.checked == false) {
		strError += "Please agree to terms and conditions\n";              
		boolError = true;
		}
*/
		

	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// Subscribe
function validateSubscribe() {
   var elemEmail 			= document.getElementById("txtemail");
   var elemFirstName		= document.getElementById("txtfirstname");
   var elemLastName			= document.getElementById("txtlastname");
   var elemOccupation		= document.getElementById("txtoccupation");
   var elemLocation			= document.getElementById("txtlocation");
   var elemAge				= document.getElementById("txtage");
   var elemHowFoundUs		= document.getElementById("txthowfoundus");

   var boolError = false;
   var strError = "";
	   
   var vEmail = elemEmail.value;
   var vFirstName = elemFirstName.value;	
   var vLastName = elemLastName.value;	
   var vOccupation = elemOccupation.value;	
   var vLocation = elemLocation.value;	
   var vAge = elemAge.value;	
   var vHowFoundUs= elemHowFoundUs.value;	
  
   elemEmail.style.border = origBorder;
   elemFirstName.style.border = origBorder;
   elemLastName.style.border = origBorder;
   elemOccupation.style.border = origBorder;
   elemLocation.style.border = origBorder;
   elemAge.style.border = origBorder;
   elemHowFoundUs.style.border = origBorder;

// Trim white-space
   vEmail = Trim(vEmail);
   vFirstName = Trim(vFirstName);
   vLastName = Trim(vLastName);
   vOccupation = Trim(vOccupation);
   vLocation = Trim(vLocation);
   vAge = Trim(vAge);
   vHowFoundUs = Trim(vHowFoundUs);
		   
// Run validation
   	if(vFirstName.length == 0) {
		strError += "First name is required\n";              
		elemFirstName.style.border = strErrorBorder;
		boolError = true;
		}
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		}

	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// Waiting List
function validateWaitingList() {

   var elemEmail 			= document.getElementById("txtemail");
   //var elemTc 				= document.getElementById("tc");
   
   var boolError = false;
   var strError = "";
	   
   var vEmail = elemEmail.value;
   //var vTc	= elemTc.value;
  
   elemEmail.style.border = origBorder;

// Trim white-space
   vEmail = Trim(vEmail);
		   
// Run validation
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		}
/*
	if(elemTc.checked == false) {
		strError += "Please agree to terms and conditions\n";              
		boolError = true;
		}
*/
		

	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// Product review
function validateReview() {

   var elemTitle = document.getElementById("txttitle");
   var elemReview= document.getElementById("review_content");
   
   var boolError = false;
   var strError = "";
	   
   var vTitle = elemTitle.value;
   var vReview = elemReview.value;

   var frm = document.getElementById("form12");
   var arrStars = frm.stars;

   elemTitle.style.border = origBorder;
   elemReview.style.border = origBorder;
		   
// Trim white-space
   vTitle = Trim(vTitle);
   vReview = Trim(vReview);
		   
// Run validation
	var optionChosen = false;
		for (var i=0; i < arrStars.length; i++) {
		if (arrStars[i].checked) optionChosen = true;
		}
	if(! optionChosen) {
		strError += "Star rating is required\n";		
		boolError = true;
		}
	if(vTitle.length == 0) {
		strError += "Review title is required\n";              
		elemTitle.style.border = strErrorBorder;
		boolError = true;
		}
	if(vReview.length == 0) {
		strError += "Review content is required\n";              
		elemReview.style.border = strErrorBorder;
		boolError = true;
		}
	if(vReview.length > 1500) {
		strError += "Review content too long. Max 1500 characters allowed\n";              
		elemReview.style.border = strErrorBorder;
		boolError = true;
		}
	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// My account / change password
function validatePassword() {

   var elemOldPassword			= document.getElementById("txtoldpassword");
   var elemNewPassword			= document.getElementById("txtnewpassword");
   var elemNewPasswordConfirm	= document.getElementById("txtnewpasswordconf");
   
   var boolError = false;
   var strError = "";
	   
   var vOldPassword = elemOldPassword.value;	
   var vNewPassword = elemNewPassword.value;
   var vNewPasswordConfirm = elemNewPasswordConfirm.value;
  
   elemOldPassword.style.border = origBorder;
   elemNewPassword.style.border = origBorder;
   elemNewPasswordConfirm.style.border = origBorder;

// Trim white-space
   vOldPassword = Trim(vOldPassword);
   vNewPassword = Trim(vNewPassword);
   vNewPasswordConfirm = Trim(vNewPasswordConfirm);
		   
// Run validation
   	if(vOldPassword.length < 3) {
		strError += "Old password is required\n";              
		elemOldPassword.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vNewPassword.length < 6) {
		strError += "Please ensure your new password is at least six characters long\n";              
		elemNewPassword.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vNewPasswordConfirm.length == 0) {
		strError += "Please confirm new password\n";              
		elemNewPasswordConfirm.style.border = strErrorBorder;
		boolError = true;
		}
	if(vNewPasswordConfirm != vNewPassword) {
		strError += "Please check that you have re-entered the correct password\n";
		elemNewPasswordConfirm.style.border = strErrorBorder;
		boolError = true;
		} 
	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// My account / email settings
function validateEmailsettings() {

   var elemOldEmail			= document.getElementById("txtoldemail");
   var elemNewEmail			= document.getElementById("txtnewemail");
   var elemNewEmailConfirm	= document.getElementById("txtnewemailconf");
   
   var boolError = false;
   var strError = "";
	   
   var vOldEmail = elemOldEmail.value;	
   var vNewEmail = elemNewEmail.value;
   var vNewEmailConfirm = elemNewEmailConfirm.value;
  
   elemOldEmail.style.border = origBorder;
   elemNewEmail.style.border = origBorder;
   elemNewEmailConfirm.style.border = origBorder;

// Trim white-space
   vOldEmail = Trim(vOldEmail);
   vNewEmail = Trim(vNewEmail);
   vNewEmailConfirm = Trim(vNewEmailConfirm);
		   
// Run validation
	if(vOldEmail.length > 0 && !checkEmail(vOldEmail)) {
		strError += "Please enter a valid old email address\n";
		elemOldEmail.style.border = strErrorBorder;
		boolError = true;
		}
	if(vNewEmail.length > 0 && !checkEmail(vNewEmail)) {
		strError += "Please enter a valid new email address\n";
		elemNewEmail.style.border = strErrorBorder;
		boolError = true;
		} 
	if(vNewEmail.length == 0) {
		strError += "New email is required\n";            
		elemNewEmail.style.border = strErrorBorder;
		boolError = true;
		}
	if(vNewEmailConfirm != vNewEmail) {
		strError += "Please check that you have re-entered the email correctly\n";            
		elemNewEmailConfirm.style.border = strErrorBorder;
		boolError = true;
		}
	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// My account / my profile
function validateProfile() {

   var elemName				= document.getElementById("txtname");
   var elemDisplayName 		= document.getElementById("txtdisplayname");
   var elemOccupation 		= document.getElementById("txtoccupation");
   var elemAgeGroup			= document.getElementById("txtagegroup");
   var elemCity 			= document.getElementById("txtcity");
   var elemCountry 			= document.getElementById("txtcountry");
   
   var boolError = false;
   var strError = "";
	   
   var vName = elemName.value;	
   var vDisplayName = elemDisplayName.value;
   var vOccupation = elemOccupation.value;
   var vAgeGroup = elemAgeGroup.value;
   var vCity = elemCity.value;
   var vCountry	= elemCountry.value;
  
   elemName.style.border = origBorder;
   elemDisplayName.style.border = origBorder;
   elemOccupation.style.border = origBorder;
   elemAgeGroup.style.border = origBorder;
   elemCity.style.border = origBorder;
   elemCountry.style.border = origBorder;

// Trim white-space
   vName = Trim(vName);
   vDisplayName = Trim(vDisplayName);
   vOccupation = Trim(vOccupation);
   vAgeGroup = Trim(vAgeGroup);
   vCity = Trim(vCity);
   vCountry = Trim(vCountry);
		   
// Run validation
   	if(vName.length < 3) {
		strError += "Name is required\n";              
		elemName.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vDisplayName.length == 0) {
		strError += "Display name is required\n";              
		elemDisplayName.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vOccupation.length == 0) {
		strError += "Occupation is required\n";              
		elemOccupation.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vAgeGroup == "choose") {
		strError += "Age group is required\n";              
		elemAgeGroup.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vCity.length == 0) {
		strError += "City/town is required\n";              
		elemCity.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vCountry == "choose") {
		strError += "Country is required\n";              
		elemCountry.style.border = strErrorBorder;
		boolError = true;
		}		   
	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// Expert tools / contact info
function validateContactinfo() {

   var elemName				= document.getElementById("txtname");
   var elemEmail 			= document.getElementById("txtemail");
   var elemCountry 			= document.getElementById("txtcountry");
   
   var boolError = false;
   var strError = "";
	   
   var vName = elemName.value;	
   var vEmail = elemEmail.value;
   var vCountry	= elemCountry.value;
  
   elemName.style.border = origBorder;
   elemEmail.style.border = origBorder;
   elemCountry.style.border = origBorder;

// Trim white-space
   vName = Trim(vName);
   vEmail = Trim(vEmail);
   vCountry = Trim(vCountry);
		   
// Run validation
   	if(vName.length == 0) {
		strError += "Name is required\n";              
		elemName.style.border = strErrorBorder;
		boolError = true;
		}
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vCountry == "choose") {
		strError += "Country is required\n";              
		elemCountry.style.border = strErrorBorder;
		boolError = true;
		}		   
	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// Newsletter
	var txtEmail = "Email";

function validateNewsletter() {

   	var elemEmail = document.getElementById("1.email");
   
   	var boolError = false;
   	var strError = "";
	   
   	var vEmail = elemEmail.value;
  
   	elemEmail.style.border = origBorder;
		   
// Trim white-space
   	vEmail = Trim(vEmail);
		   
// Run validation
	if( (vEmail != txtEmail && vEmail.length > 0) && !checkEmail(vEmail) ) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
	   } 
		   
	if( vEmail.length == 0 || vEmail == txtEmail ) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
	  }
	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// Basket register
function validateBasketregister() {

   var elemName				= document.getElementById("txtname");
   var elemDisplayName 		= document.getElementById("txtdisplayname");
   var elemEmail 			= document.getElementById("txtemail");
   var elemPassword 		= document.getElementById("txtpassword");
   var elemPasswordConfirm 	= document.getElementById("txtpasswordconf");
   var elemTc 				= document.getElementById("tc");
   
   var boolError = false;
   var strError = "";
	   
   var vName = elemName.value;	
   var vDisplayName = elemDisplayName.value;
   var vEmail = elemEmail.value;
   var vPassword = elemPassword.value;
   var vPasswordConfirm = elemPasswordConfirm.value;
   var vTc	= elemTc.value;
  
   elemName.style.border = origBorder;
   elemDisplayName.style.border = origBorder;
   elemEmail.style.border = origBorder;
   elemPassword.style.border = origBorder;
   elemPasswordConfirm.style.border = origBorder;
   

// Trim white-space
   vName = Trim(vName);
   vDisplayName = Trim(vDisplayName);
   vEmail = Trim(vEmail);
   vPassword = Trim(vPassword);
   vPasswordConfirm = Trim(vPasswordConfirm);
		   
// Run validation
   	if(vName.length == 0) {
		strError += "Name is required\n";              
		elemName.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vDisplayName.length == 0) {
		strError += "Display name is required\n";              
		elemDisplayName.style.border = strErrorBorder;
		boolError = true;
		}
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vPassword.length < 6) {
		strError += "Please ensure your password is at least six characters long\n";              
		elemPassword.style.border = strErrorBorder;
		boolError = true;
		}
   	if(vPasswordConfirm.length == 0) {
		strError += "Please confirm password\n";              
		elemPasswordConfirm.style.border = strErrorBorder;
		boolError = true;
		}
	if(vPasswordConfirm != vPassword) {
		strError += "Please check that you have re-entered the correct password\n";              
		elemPasswordConfirm.style.border = strErrorBorder;
		boolError = true;
		}
	if(elemTc.checked == false) {
		strError += "Please agree to terms and conditions\n";              
		boolError = true;
		}
	if( boolError ) alert ( strError );
		   return ! boolError;
	}


// Basket address
function validateBasketaddress() {

   var elemName= document.getElementById("txtname");
   var elemAddress1 = document.getElementById("txtaddress1");
   var elemCity= document.getElementById("txtcity");
   var elemPostcode= document.getElementById("txtpostcode");
   var elemCountry= document.getElementById("txtcountry");
   var elemTelephone= document.getElementById("txttelephone");
   var elemSame= document.getElementById("txtsame");
   var elemBillname= document.getElementById("txtbillname");
   var elemBilladdress1= document.getElementById("txtbilladdress1");
   var elemBillcity= document.getElementById("txtbillcity");
   var elemBillpostcode= document.getElementById("txtbillpostcode");
   var elemBillcountry= document.getElementById("txtbillcountry");
   
   var boolError = false;
   var strError = "";
	   
   var vName = elemName.value;
   var vAddress1 = elemAddress1.value;
   var vCity = elemCity.value;
   var vPostcode = elemPostcode.value;
   var vCountry = elemCountry.value;
   var vTelephone = elemTelephone.value;
   var vSame = elemSame.checked;
   var vBillname = elemBillname.value;
   var vBilladdress1 = elemBilladdress1.value;
   var vBillcity = elemBillcity.value;
   var vBillpostcode = elemBillpostcode.value;
   var vBillcountry = elemBillcountry.value;
  
   elemName.style.border = origBorder;
   elemAddress1.style.border = origBorder;
   elemCity.style.border = origBorder;
   elemPostcode.style.border = origBorder;
   elemCountry.style.border = origBorder;
   elemTelephone.style.border = origBorder;
   elemBillname.style.border = origBorder;
   elemBilladdress1.style.border = origBorder;
   elemBillcity.style.border = origBorder;
   elemBillpostcode.style.border = origBorder;
   elemBillcountry.style.border = origBorder;
		   
// Trim white-space
   vName = Trim(vName);
   vAddress1 = Trim(vAddress1);
   vCity = Trim(vCity);
   vPostcode = Trim(vPostcode);
   vCountry = Trim(vCountry);
   vTelephone = Trim(vTelephone);
   vBillname = Trim(vBillname);
   vBilladdress1 = Trim(vBilladdress1);
   vBillcity = Trim(vBillcity);
   vBillpostcode = Trim(vBillpostcode);
   vBillcountry = Trim(vBillcountry);
		   
// Run validation
   if(vName.length < 3) {
		strError += "Name is required (Shipping address)\n";              
		elemName.style.border = strErrorBorder;
		boolError = true;
		}
   if(vAddress1.length == 0) {
		strError += "Shipping address is required (Shipping address)\n";              
		elemAddress1.style.border = strErrorBorder;
		boolError = true;
		}
   if(vCity.length == 0) {
		strError += "City/town is required (Shipping address)\n";              
		elemCity.style.border = strErrorBorder;
		boolError = true;
		}
   if(vPostcode.length == 0) {
		strError += "Postcode is required (Shipping address)\n";              
		elemPostcode.style.border = strErrorBorder;
		boolError = true;
		}
   if(vCountry == "choose") {
		strError += "Country is required (Shipping address)\n";              
		elemCountry.style.border = strErrorBorder;
		boolError = true;
		}
   if(vTelephone.length == 0) {
		strError += "Telephone is required (Shipping address)\n";              
		elemTelephone.style.border = strErrorBorder;
		boolError = true;
		}

/*fields below need to be validated only if the vSame is NOT ticked*/
if(vSame == false) {
		
		   if(vBillname.length < 3) {
				strError += "Name is required (Billing address)\n";              
				elemBillname.style.border = strErrorBorder;
				boolError = true;
				}
		   if(vBilladdress1.length == 0) {
				strError += "Address is required (Billing address)\n";              
				elemBilladdress1.style.border = strErrorBorder;
				boolError = true;
				}
		   if(vBillcity.length == 0) {
				strError += "City/town is required (Billing address)\n";              
				elemBillcity.style.border = strErrorBorder;
				boolError = true;
				}
		   if(vBillpostcode.length == 0) {
				strError += "Postcode is required (Billing address)\n";              
				elemBillpostcode.style.border = strErrorBorder;
				boolError = true;
				}
		   if(vBillcountry == "choose") {
				strError += "Country is required (Billing address)\n";              
				elemBillcountry.style.border = strErrorBorder;
				boolError = true;
				}		
		}
	if( boolError ) alert ( strError );
		   return ! boolError;
	}

// Forgotten password
function validateForgottenpassword() {

   var elemEmail = document.getElementById("txtemail");
   
   var boolError = false;
   var strError = "";
	   
   var vEmail = elemEmail.value;
  
   elemEmail.style.border = origBorder;
		   
// Trim white-space
   vEmail = Trim(vEmail);
		   
// Run validation
	 
	if(vEmail.length > 0 && !checkEmail(vEmail)) {
		strError += "Please enter a valid email address\n";
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		} 
	if(vEmail.length == 0) {
		strError += "Email is required\n";            
		elemEmail.style.border = strErrorBorder;
		boolError = true;
		}
	if( boolError ) alert ( strError );
		   return ! boolError;
	}









// Trim functions
	function Trim(TRIM_VALUE)
	{
		if(TRIM_VALUE.length < 1){
			return "";
		}
		TRIM_VALUE = RTrim(TRIM_VALUE);
		TRIM_VALUE = LTrim(TRIM_VALUE);
		if(TRIM_VALUE==""){
			return "";
		}
		else
		{
			return TRIM_VALUE;
		}
	}
	function RTrim(VALUE)
	{
		var w_space = String.fromCharCode(32);
		var v_length = VALUE.length;
		var strTemp = "";
		
		if(v_length < 0){
			return "";
		}
		var iTemp = v_length -1;
	 
		while(iTemp > -1){
			if(!(VALUE.charAt(iTemp) == w_space))
			{
				strTemp = VALUE.substring(0,iTemp +1);
				break;
			}
			iTemp = iTemp-1;
		}
		return strTemp;
	}
	 
	function LTrim(VALUE)
	{
		var w_space = String.fromCharCode(32);
		
		if(v_length < 1){
			return"";
		}
		var v_length = VALUE.length;
		var strTemp = "";
	 
		var iTemp = 0;
	 
		while(iTemp < v_length){
			if(VALUE.charAt(iTemp) == w_space){
			}
			else{
				strTemp = VALUE.substring(iTemp,v_length);
				break;
			}
			iTemp = iTemp + 1;
		}
		return strTemp;
	}
	
