function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function creditcardcheck(s) {

	// remove non-numerics
	var v = "0123456789";
	var w = "";
	for (i=0; i < s.length; i++) {
	x = s.charAt(i);
	if (v.indexOf(x,0) != -1)
	w += x;
	}
	// validate number
	j = w.length / 2;
	if (j < 6.5 || j > 8 ) return false;
	k = Math.floor(j);
	m = Math.ceil(j) - k;
	c = 0;
	for (i=0; i<k; i++) {
	a = w.charAt(i*2+m) * 2;
	c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}
	for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
	return (c%10 == 0);
}

function echeck(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str == ""){
	   return false
	}
	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 validate_contact(form){
	if(form.name.value == ""){
		alert("Please enter your Name");
		return false;
	}
	else if(!echeck(form.email.value)){
		alert("Please enter a valid email address");
		return false;
	}
	else if(form.message.value == ""){
		alert("Please enter your Message");
		return false;
	}
}
function validate_newsletter(form){
	if(!echeck(form.newsletter.value)){
		form.newsletter.value = "Enter valid email";
		return false;
	}
	else{
		//alert("hi");
		//form.submit();
	}
}

function validate_login(form){
	if(!echeck(form.email.value)){
		alert("Please enter a valid email address");
		return false;
	}
	form.submit();
}

function validate_wish(form){
	if(form.name.value == ""){
		alert("Please enter your name");
		return false;
	}
	else if(form.address.value == ""){
		alert("Please enter your your address");
		return false;
	}
	else if (!echeck(form.email.value)){
		alert("Please enter a valid email address");
		return false;
	}
}

function validate_enquiry(form){
	if(form.name.value == ""){
		alert("Please enter your name");
		return false;
	}
	else if(form.address.value == ""){
		alert("Please enter your your address");
		return false;
	}
	else if (form.postcode.value == ""){
		alert("Please enter your your postcode");
		return false;
	}
	else if (!echeck(form.email.value)){
		alert("Please enter a valid email address");
		return false;
	}
	else if (form.information.value == ""){
		alert("Please enter your enquiry");
		return false;
	}
}

function validate_catalogue(form){
	var c_value = "";
	for (var i=0; i < form.catalogue.length; i++){
	   if (form.catalogue[i].checked){
		  c_value = c_value + form.catalogue[i].value + "\n";
		}
		//alert("hi");
	 }
	if(form.name.value == ""){
		alert("Please enter your name");
		return false;
	}
	else if(form.address.value == ""){
		alert("Please enter your address");
		return false;
	}
	else if (form.postcode.value == ""){
		alert("Please enter your postcode");
		return false;
	}
	else if (!echeck(form.email.value)){
		alert("Please enter a valid email address");
		return false;
	}
	else if (form.phone.value == ""){
		alert("Please enter your phone number");
		return false;
	}
	else if (c_value == ""){
		alert("Please Select the catalogues you are requesting");
		return false;
	}
}


function validate_address(form){
	if(!echeck(form.email.value)){
		alert("Please enter a valid email address");
		return false;
	}
	else if(form.password.value.length < 6){
		alert("Please enter a password 6 or more characters");
		return false;
	}
	else if(form.confirm_password.value != form.password.value){
		alert("Please ensure your password and password confirmation match");
		return false;
	}
	else if(form.title.value == ""){
		alert("Please select your Title");
		return false;
	}
	else if(form.forename.value == ""){
		alert("Please enter your Forename");
		return false;
	}
	else if(form.surname.value == ""){
		alert("Please enter your Surname");
		return false;
	}
	else if(form.surname.value == ""){
		alert("Please enter your surname");
		return false;
	}
	else if(form.address1.value == ""){
		alert("Please enter your Address line 1");
		return false;
	}
	else if(form.address2.value == ""){
		alert("Please enter your Address line 2");
		return false;
	}
	else if(form.city.value == ""){
		alert("Please enter your Town/city");
		return false;
	}
	else if(form.postcode.value == ""){
		alert("Please enter your Postcode");
		return false;
	}
	else if(form.country.value == 0){
		alert("Please select your country");
		return false;
	}
	else if(form.country.value > 1 && form.vatno.value == ""){
		alert("Please enter your vat number");
		return false;
	}
	else if(form.deltitle.value == ""){
		alert("Please select your Delivery address Title");
		return false;
	}
	else if(form.delforename.value == ""){
		alert("Please enter your Delivery address Forename");
		return false;
	}
	else if(form.delsurname.value == ""){
		alert("Please enter your Delivery address Surname");
		return false;
	}
	else if(form.deladdress1.value == ""){
		alert("Please enter your Delivery Address line 1");
		return false;
	}
	else if(form.deladdress2.value == ""){
		alert("Please enter your Delivery Address line 2");
		return false;
	}
	else if(form.delcity.value == ""){
		alert("Please enter your Delivery Town/city");
		return false;
	}
	else if(form.delpostcode.value == ""){
		alert("Please enter your Delivery Postcode");
		return false;
	}
	else if(form.delcountry.value == 0){
		alert("Please select your Delivery country");
		return false;
	}
}

function validate_billing(form){
	if(form.card_type.value == 0){
		alert("Please select your Card Type");
		return false;
	}
	else if(!creditcardcheck(form.card_number.value)){
		alert("Please enter a valid card number");
		return false;
	}
	
	else if( ((form.expiry_month.value < form.month.value) && (form.expiry_year.value == form.year.value)) || (form.expiry_month.value == 0) || (form.expiry_year.value == 0) || (form.expiry_year.value < form.year.value) ){
		alert("Please enter a valid expiry date");
		return false;
	}
	else if(form.name.value == ""){
		alert("Please enter the Name shown on Card");
		return false;
	}
	else if(form.security.value == ""){
		alert("Please enter the security number\n(last 3 digits on signature strip)");
		return false;
	}
	else if(!form.terms.checked){
		alert("Please indicate you agree to our terms");
		return false;
	}
}
function enquire(form){
	version = document.product.version_id.value;
	action = "enquiry.asp?id=" + version;
	document.product.action = action;
}
function IsNumeric(sText){
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   if (sText == ""){
	   return false;
   }
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}
function validate_add(form){
	if(!IsNumeric(form.quantity.value)){
		alert("Please enter a quantity");
		return false;
	}
}
function sameasbilling(form){
	form.deltitle.selectedIndex 	= form.title.selectedIndex;
	form.delforename.value		 	= form.forename.value;
	form.delsurname.value		 	= form.surname.value;
	form.delcompany.value		 	= form.company.value;
	form.deladdress1.value		 	= form.address1.value;
	form.deladdress2.value		 	= form.address2.value;
	form.delcity.value			 	= form.city.value;
	form.delcounty.value		 	= form.county.value;
	form.delpostcode.value		 	= form.postcode.value;
	form.delcountry.value		 	= form.country.value;
	form.delphone.value			 	= form.phone.value;
}