//==============================================================================================
// Copyright Surfocracy Ltd, 2004
// Contact: info@surfocracy.com
// No part of this file may be re-used, republished or distributed under any circumstances
// without the permission of Surfocracy Ltd. Any web site found to be containing any content
// copyrighted to Surfocracy Ltd shall be reported for copyright infringement, followed by
// legal action if necessary.
//----------------------------------------------------------------------------------------------
// File   : javascript-site-specific.js
// Scope  : SITE SPECIFIC  (refer to /includes/readme.txt for explanation)
// Version: 1.0
// Description: JavaScript ADMIN routines which are likely to change and
//              are therefore site specific.
//
// Version control
//==============================================================================================
//   Date        | Changed by |     Description
//==============================================================================================
//  11-Aug-2005     VLD       First issue 1.0
//==============================================================================================
//
//--------------------------------------------------------------------------------------
// This function Validates the Contact form fields.
//--------------------------------------------------------------------------------------
function ValidateContactForm(myForm) {
  var errorString="";
  if ((myForm.FirstName.value=="") || (myForm.LastName.value=="") || (myForm.Enquiry.value=="") || (myForm.Email.value=="")) {
    errorString = errorString + ErrMustSupplyCompulsoryFields;
  }
  if (!emailCheck(myForm,myForm.Email.value,false)) {
      myForm.Email.focus();
      errorString = errorString + "\n   " + ErrIncorrectEmailAddress
  }
  if (!IsNumberString(myForm,myForm.Mobile.value,false)) {
      myForm.Mobile.focus();
      errorString = errorString + "\n   " + ErrMobilePhoneIsInvalid
  }
  if (!IsNumberString(myForm,myForm.PhoneDay.value,false)) {
      myForm.PhoneDay.focus();
      errorString = errorString + "\n   " + ErrDaytimePhoneIsInvalid
  }
  if (!IsNumberString(myForm,myForm.PhoneEvening.value,false)) {
      myForm.PhoneEvening.focus();
      errorString = errorString + "\n   " + ErrEveningPhoneIsInvalid
  }

  if (errorString!="") {
    alert(errorString);
    return false;
  } else {
    return true;
  }
}

//--------------------------------------------------------------------------------------
// This function Validates the Customer Account form fields.
// pwchars = the minimum password characters
//--------------------------------------------------------------------------------------
function ValidateAccountForm(myForm, pwchars) {
  var errorString="";
  if ((myForm.FirstName.value=="") || (myForm.LastName.value=="") || (myForm.Email.value=="") || (myForm.Address1.value=="") ||	(myForm.TownCity.value=="") || (myForm.Region.value=="") || (myForm.PostCode.value=="")) {
    errorString = errorString + ErrMustSupplyCompulsoryFields;
  }
  if (!emailCheck(myForm,myForm.Email.value,false)) {
      myForm.Email.focus();
      errorString = errorString + "\n   " + ErrIncorrectEmailAddress
  }
  if (!IsNumberString(myForm,myForm.Mobile.value,false)) {
      myForm.Mobile.focus();
      errorString = errorString + "\n   " + ErrMobilePhoneIsInvalid
  }
  if (!IsNumberString(myForm,myForm.PhoneDay.value,false)) {
      myForm.PhoneDay.focus();
      errorString = errorString + "\n   " + ErrDaytimePhoneIsInvalid
  }
  if (!IsNumberString(myForm,myForm.PhoneEvening.value,false)) {
      myForm.PhoneEvening.focus();
      errorString = errorString + "\n   " + ErrEveningPhoneIsInvalid
  }
  if (!IsNumberString(myForm,myForm.Fax.value,false)) {
      myForm.Fax.focus();
      errorString = errorString + "\n   " + ErrFaxIsInvalid
  }
  if (myForm.RegistrationPassword.value.length < pwchars) {
         myForm.RegistrationPassword.focus();
          errorString = errorString + "\n   " + "Need to provide a password with at least " + pwchars + " characters"
  }
		  
  if (errorString!="") {
    alert(errorString);
    return false;
  } else {
    return true;
  }
}

//--------------------------------------------------------------------------------------
// This function Validates the Checkout form fields.
// pwchars = the minimum password characters
//--------------------------------------------------------------------------------------
function ValidateCheckoutForm(myForm, pwchars) {
  var errorString="";
  if ((myForm.FirstName.value=="") || (myForm.LastName.value=="") || (myForm.Email.value=="") || (myForm.Address1.value=="") ||	(myForm.TownCity.value=="") || (myForm.Region.value=="") || (myForm.PostCode.value=="")) {
    errorString = errorString + ErrMustSupplyCompulsoryFields;
  }
  if (!emailCheck(myForm,myForm.Email.value,false)) {
      myForm.Email.focus();
      errorString = errorString + "\n   " + ErrIncorrectEmailAddress
  }
  if (!IsNumberString(myForm,myForm.Mobile.value,false)) {
      myForm.Mobile.focus();
      errorString = errorString + "\n   " + ErrMobilePhoneIsInvalid
  }
  if (!IsNumberString(myForm,myForm.PhoneDay.value,false)) {
      myForm.PhoneDay.focus();
      errorString = errorString + "\n   " + ErrDaytimePhoneIsInvalid
  }
  if (!IsNumberString(myForm,myForm.PhoneEvening.value,false)) {
      myForm.PhoneEvening.focus();
      errorString = errorString + "\n   " + ErrEveningPhoneIsInvalid
  }
  if (!IsNumberString(myForm,myForm.Fax.value,false)) {
      myForm.Fax.focus();
      errorString = errorString + "\n   " + ErrFaxIsInvalid
  }
  if ((myForm.RecipientFirstName.value=="")&&(myForm.RecipientLastName.value!="")){
      myForm.RecipientFirstName.focus();
      errorString = errorString + "\n   " + ErrFirstNameRequired
  }
  if ((myForm.RecipientFirstName.value!="")&&(myForm.RecipientLastName.value=="")){
      myForm.RecipientLastName.focus();
      errorString = errorString + "\n   " + ErrLastNameRequired
  }
  
  if ((myForm.DeliveryAddress1.value!="") ||	  
      (myForm.DeliveryAddress2.value!="") ||
      (myForm.DeliveryAddress3.value!="") ||
      (myForm.DeliveryTownCity.value!="") ||
      (myForm.DeliveryRegion.value!="") ||
      (myForm.DeliveryPostCode.value!="")){
	  if ((myForm.DeliveryAddress1.value=="") ||
	      (myForm.DeliveryTownCity.value=="") ||
	      (myForm.DeliveryRegion.value=="") ||
	      (myForm.DeliveryPostCode.value=="")){
							  
       myForm.DeliveryAddress1.focus();
       errorString = errorString + "\n   " + "For delivery, need Address, City, County & Postcode"
	}
  }
    
  if ((myForm.RegistrationPassword!=null) && (myForm.CheckPassword!=null)) {
   if ((myForm.RegistrationPassword.value!="") ||	  
       (myForm.CheckPassword.value!="")){
 	  if ((myForm.RegistrationPassword.value=="") ||
 	      (myForm.CheckPassword.value=="")){
        myForm.RegistrationPassword.focus();
        errorString = errorString + "\n   " + "Please enter both password and repeat password"
	  } else {
        if (myForm.RegistrationPassword.value!=myForm.CheckPassword.value) {
          myForm.RegistrationPassword.focus();
          errorString = errorString + "\n   " + "The passwords do not match"
	    }
        if (myForm.RegistrationPassword.value.length < pwchars) {
          myForm.RegistrationPassword.focus();
          errorString = errorString + "\n   " + "Password needs to be at least " + pwchars + " characters"
        }
     }
	}
  }
   
  
  if (errorString!="") {
    alert(errorString);
    return false;
  } else {
    return true;
  }
}

//--------------------------------------------------------------------------------------
// This function Validates the Account login form fields.
// pwchars = the minimum password characters
//--------------------------------------------------------------------------------------
function ValidateAccountLoginForm(myForm, pwchars) {
  var errorString="";
  if ((myForm.Email.value=="") || (myForm.RegistrationPassword.value=="")) {
    errorString = errorString + ErrMustSupplyCompulsoryFields;
  }
  if (!emailCheck(myForm,myForm.Email.value,false)) {
      myForm.Email.focus();
      errorString = errorString + "\n   " + ErrIncorrectEmailAddress
  }
  if (errorString!="") {
    alert(errorString);
    return false;
  } else {
    return true;
  }
}

//--------------------------------------------------------------------------------------
// This function toggles the delivery address form fields in the checkout form.
//--------------------------------------------------------------------------------------
function ToggleDeliveryAddress() {
  var checkid = document.getElementById("differentaddress");
  var deliveryaddrheader = document.getElementById("deliveryaddrheader");
  var RecipientTitleRow = document.getElementById("RecipientTitleRow");
  var RecipientFirstNameRow = document.getElementById("RecipientFirstNameRow");
  var RecipientLastNameRow = document.getElementById("RecipientLastNameRow");
  var RecipientOrganisationRow = document.getElementById("RecipientOrganisationRow");
  var DeliveryAddress1Row = document.getElementById("DeliveryAddress1Row");
  var DeliveryAddress2Row = document.getElementById("DeliveryAddress2Row");
  var DeliveryAddress3Row = document.getElementById("DeliveryAddress3Row");
  var DeliveryTownCityRow = document.getElementById("DeliveryTownCityRow");
  var DeliveryRegionRow = document.getElementById("DeliveryRegionRow");
  var DeliveryPostCodeRow = document.getElementById("DeliveryPostCodeRow");
  var DeliveryCountryRow = document.getElementById("DeliveryCountryRow");
 if(checkid.checked) {
    deliveryaddrheader.style.display='';
    RecipientTitleRow.style.display='';
    RecipientFirstNameRow.style.display='';
    RecipientLastNameRow.style.display='';
    RecipientOrganisationRow.style.display='';
    DeliveryAddress1Row.style.display='';
    DeliveryAddress2Row.style.display='';
    DeliveryAddress3Row.style.display='';
    DeliveryTownCityRow.style.display='';
    DeliveryRegionRow.style.display='';
    DeliveryPostCodeRow.style.display='';
    DeliveryCountryRow.style.display='';
  } else {
    deliveryaddrheader.style.display='none';
    RecipientTitleRow.style.display='none';
    RecipientFirstNameRow.style.display='none';
    RecipientLastNameRow.style.display='none';
    RecipientOrganisationRow.style.display='none';
    DeliveryAddress1Row.style.display='none';
    DeliveryAddress2Row.style.display='none';
    DeliveryAddress3Row.style.display='none';
    DeliveryTownCityRow.style.display='none';
    DeliveryRegionRow.style.display='none';
    DeliveryPostCodeRow.style.display='none';
    DeliveryCountryRow.style.display='none';
  }
}
