// Basket Javascript

function loadpage() {
	if (document.getElementById("userid")) {
  if (document.getElementById("userid").readOnly) {
   document.getElementById("password").focus();
  }
		else {
   document.getElementById("userid").focus();
  }
 }
}


function checkout() {
	if (document.getElementById("gitems").value > 0) {
  document.getElementById("actn").value = "checkout";
	 document.basketform.submit();
	}
	else {
		alert("You do not have any items in your basket");
		return false;
	}
}


function checkoutnovalidation() {
 window.location = "viewbasket.php";
}


function backtobasket() {
 document.getElementById("actn").value = "";
	document.basketform.submit();
}


function backtodetails() {
 document.getElementById("actn").value = "checkout";
	document.basketform.submit(); 
}


function gopayment() {
	var errs = '';
	var focuselm = '';
	
		if (document.getElementById("btitle").selectedIndex==0) {
		errs+= "* Billing title is missing\n";
		if (focuselm=='') {
   focuselm = "btitle";
  }
	}
		if (document.getElementById("bfirstname").value=='') {
		errs+= "* Billing first name missing\n";
		if (focuselm=='') {
   focuselm = "bfirstname";
  }
	}

	if (document.getElementById("bsurname").value=='') {
		errs+= "* Billing last name missing\n";
		if (focuselm=='') {
   focuselm = "bsurname";
  }
	}	
	if (document.getElementById("baddress").value=='') {
		errs+= "* Billing address missing\n";
		if (focuselm=='') {
   focuselm = "baddress";
  }
	}

if (document.getElementById("bpostcode").value=='') {
		errs+= "* Billing postcode missing\n";
		if (focuselm=='') {
   focuselm = "bpostcode";
  }
	}	
	if (document.getElementById("bphone").value=='') {
		errs+= "* Billing phone number missing\n";
		if (focuselm=='') {
   focuselm = "bphone";
  }
	}
		if (document.getElementById("stitle").selectedIndex==0) {
		errs+= "* Delivery title is missing\n";
		if (focuselm=='') {
   focuselm = "stitle";
  }
	}	
	if (document.getElementById("sfirstname").value=='') {
		errs+= "* Delivery first name missing\n";
		if (focuselm=='') {
   focuselm = "sfirstname";
  }
	}
	if (document.getElementById("ssurname").value=='') {
		errs+= "* Delivery last name missing\n";
		if (focuselm=='') {
   focuselm = "ssurname";
  }
	}
	if (document.getElementById("saddress").value=='') {
		errs+= "* Delivery address missing\n";
		if (focuselm=='') {
   focuselm = "saddress";
  }
	}
	if (document.getElementById("spostcode").value=='') {
		errs+= "* Delivery postcode missing\n";
		if (focuselm=='') {
   focuselm = "spostcode";
  }
	}
	if (document.getElementById("sphone").value=='') {
		errs+= "* Delivery phone number missing\n";
		if (focuselm=='') {
   focuselm = "sphone";
  }
	}
 
	if (errs=='') {
  document.getElementById("actn").value = "gopayment";
 	document.basketform.submit();
	}
	else {
		alert('Please correct the following errors:\n\n'+errs);
		document.getElementById(focuselm).focus();
		return false;
	}
}


function gopayment2() {
	var errs = '';
	if (!document.basketform.paymenttype[0].checked && !document.basketform.paymenttype[1].checked) {
		errs+= "* Please select credit/debit card payment, or payment on account\n";
	}
	if (!document.basketform.terms.checked) {
		errs+= "* You need to agree to our terms & conditions to continue\n";
	}
	if (errs=='') {
  document.getElementById("actn").value = "finalisepayment";
	 document.basketform.submit();
	}
	else {
		alert('Please correct the following errors:\n\n'+errs);
		return false;
	}
}


function updatebasket() {
  document.getElementById("actn").value = "updatebasket";
		document.basketform.submit();
}


function removeitem(prodid) {
	var prod = prodid.substring(7,13);
 document.getElementById("prodID").value = prod;
	document.getElementById("actn").value = "removeitem";
	document.basketform.submit();
}


function forgotpassword() {
	if (document.getElementById("userid").value!='') {
  document.getElementById("actn").value = "forgot";
		document.getElementById("password").value = "";
	 document.basketform.submit();
	}
	else {
  alert("Please enter you e-mail address first");
		document.getElementById("userid").focus();
		return false;
 }
}


function registernew() {
	 if (document.getElementById("userid").value=='' || (!validemail(document.getElementById("userid").value))) {
   alert("Please enter a valid e-mail address\nfor your registration");
			return false;
  }
		else if (!(document.basketform.custtype[1].checked || document.basketform.custtype[2].checked)) {
   alert("Please select whether you would like to register\nas a business, or non-business customer");
			return false;
  }
		else {
   document.getElementById("actn").value = 'register';
			document.basketform.submit();
  }
}


function goregister() {
	var errs = '';
	var focuselm = '';
	
	if (document.getElementById("password").value.length < 6) {
		errs+= "* Password must be at least 6 characters long\n";
		if (focuselm=='') {
   focuselm = "password";
  }
	}
	if (document.getElementById("password2").value != document.getElementById("password").value) {
		errs+= "* Passwords do not match\n";
		if (focuselm=='') {
   focuselm = "password";
  }
	}
	if (document.getElementById("btitle").selectedIndex == 0) {
		errs+= "* Billing title is missing\n";
		if (focuselm=='') {
   focuselm = "btitle";
  }
	}	
	if (document.getElementById("bfirstname").value=='') {
		errs+= "* Billing first name is missing\n";
		if (focuselm=='') {
   focuselm = "bfirstname";
  }
	}
	if (document.getElementById("bsurname").value=='') {
		errs+= "* Billing surname is missing\n";
		if (focuselm=='') {
   focuselm = "bsurname";
  }
	}
	if (document.getElementById("bcompany")) {
		if (document.getElementById("bcompany").value=='') {
			errs+= "* Billing company name is missing\n";
			if (focuselm=='') {
				focuselm = "bcompany";
			}
		}
 }
	if (document.getElementById("baddress1").value=='') {
		errs+= "* Billing address line 1 is missing\n";
		if (focuselm=='') {
   focuselm = "baddress1";
  }
	}
	if (document.getElementById("btown").value=='') {
		errs+= "* Billing town/city is missing\n";
		if (focuselm=='') {
   focuselm = "btown";
  }
	}
	if (document.getElementById("bpostcode").value=='') {
		errs+= "* Billing postcode is missing\n";
		if (focuselm=='') {
   focuselm = "bpostcode";
  }
	}
	if (document.getElementById("bphone").value=='') {
		errs+= "* Billing phone number is missing\n";
		if (focuselm=='') {
   focuselm = "bphone";
  }
	}
	if (document.getElementById("stitle").selectedIndex == 0) {
		errs+= "* Delivery title is missing\n";
		if (focuselm=='') {
   focuselm = "btitle";
  }
	}		
	if (document.getElementById("sfirstname").value=='') {
		errs+= "* Delivery first name is missing\n";
		if (focuselm=='') {
   focuselm = "sfirstname";
  }
	}
	if (document.getElementById("ssurname").value=='') {
		errs+= "* Delivery surname is missing\n";
		if (focuselm=='') {
   focuselm = "ssurname";
  }
	}
	if (document.getElementById("scompany")) {
		if (document.getElementById("scompany").value=='') {
			errs+= "* Delivery company name is missing\n";
			if (focuselm=='') {
				focuselm = "scompany";
			}
		}
 }
	if (document.getElementById("saddress1").value=='') {
		errs+= "* Delivery address line 1 is missing\n";
		if (focuselm=='') {
   focuselm = "saddress1";
  }
	}
	if (document.getElementById("stown").value=='') {
		errs+= "* Delivery town/city is missing\n";
		if (focuselm=='') {
   focuselm = "stown";
  }
	}
	if (document.getElementById("spostcode").value=='') {
		errs+= "* Delivery postcode is missing\n";
		if (focuselm=='') {
   focuselm = "spostcode";
  }
	}
	if (document.getElementById("sphone").value=='') {
		errs+= "* Delivery phone number is missing\n";
		if (focuselm=='') {
   focuselm = "sphone";
  }
	}

	if (errs=='') {
  document.getElementById("actn").value = 'finishreg';
	 document.basketform.submit();
	}
	else {
		alert('Please correct the following errors:\n\n'+errs);
		document.getElementById(focuselm).focus();
		return false;
	}
}

function continueshopping() {
 var loc = document.getElementById("refURI").value;
	window.location = loc;
}

function usebilling() {
	document.getElementById("stitle").selectedIndex =  document.getElementById("btitle").selectedIndex;
 document.getElementById("sfirstname").value =  document.getElementById("bfirstname").value;
 document.getElementById("ssurname").value =  document.getElementById("bsurname").value;
 if (document.getElementById("scompany") && document.getElementById("bcompany")) {
  document.getElementById("scompany").value =  document.getElementById("bcompany").value;
	}
 document.getElementById("saddress1").value =  document.getElementById("baddress1").value;
 document.getElementById("saddress2").value =  document.getElementById("baddress2").value;
 document.getElementById("stown").value =  document.getElementById("btown").value;
 document.getElementById("scounty").value =  document.getElementById("bcounty").value;
 document.getElementById("spostcode").value =  document.getElementById("bpostcode").value;
 document.getElementById("scountry").selectedIndex =  document.getElementById("bcountry").selectedIndex;
 document.getElementById("sphone").value =  document.getElementById("bphone").value;
	return false;
}


function loginuser() {
 if(document.getElementById("userid").value=='') {
  alert('Please enter your log-in e-mail address.');
		document.getElementById("userid").focus();
		return false;
 }
 else if(document.getElementById("password").value=='') {
  alert('Please enter your log-in password.');
		document.getElementById("password").focus();
		return false;
 }
	else if(!(validemail(document.getElementById("userid").value))) {
  alert('Please enter a valid e-mail address.');
		document.getElementById("userid").focus();
 }
	else {
  document.getElementById("actn").value = "login";
		document.basketform.custtype[0].checked = "checked";
		document.basketform.submit();
 }
}


function checkpassword() {
	if (document.getElementById("password").value!='') {
  document.basketform.custtype[0].checked = "checked";
 }
}


function checknewcust() {
 document.getElementById("password").value = "";
}


function validemail(email) {
	var at="@"
	var dot="."
	var lat=email.indexOf(at)
	var lstr=email.length
	var ldot=email.indexOf(dot)
	if (email.indexOf(at)==-1) {
		return false;
	}
	if (email.indexOf(at)==-1 || email.indexOf(at)==0 || email.indexOf(at)==lstr) {
		return false;
	}
	if (email.indexOf(dot)==-1 || email.indexOf(dot)==0 || email.indexOf(dot)==lstr) {
		return false;
	}
	if (email.indexOf(at,(lat+1))!=-1) {
		return false;
	}
	if (email.substring(lat-1,lat)==dot || email.substring(lat+1,lat+2)==dot) {
		return false;
	}
	if (email.indexOf(dot,(lat+2))==-1) {
		return false;
	}
	if (email.indexOf(" ")!=-1) {
		return false;
	}
	return true;
}
