// JavaScript Document

function updatePremium(form)
{
	var premium = 0;
	var basePrice = parseFloat(form.prod_price.value);
	var elem = form.elements;
	for(var i=0;i<elem.length;i++)
	{
		if(elem[i].type == "select-one")
		{
			var tmpOption = elem[i].value;
			if(tmpOption.search("::") >= 0)
			{
				var aTmp = tmpOption.split("::");
				var tmpPremium = parseFloat(aTmp[1]);
				premium = premium + tmpPremium;
			}
		}
	}
	var totalPrice = basePrice + premium;
	form.prod_premium.value = premium;
	totalPrice = totalPrice.toFixed(2);
	var strText = "£" + totalPrice;
	
	var newEm = document.createElement("em");
	var newText = document.createTextNode(strText);
	newEm.appendChild(newText);
	
	var objContainer = document.getElementById("purchaseSummary");
	var oldEm = document.getElementsByTagName("em").item(0);
	var replaced = objContainer.replaceChild(newEm,oldEm);
}

function validate_product(form)
{
	for(var i = 0; i < form.elements.length; i++)
	{
		if(form.elements[i].type == "select-one")
		{
			if(form.elements[i].value == "0")
			{
				var attr_name = form.elements[i].name;
				attr_name = attr_name.replace("attr_","");
				attr_name = attr_name.replace(/_/g," ");
				alert("Please select a " + attr_name);
				form.elements[i].focus();
				return false;
			}
		}
		else if(form.elements[i].name == "qty")
		{
			if(!isNumeric(form.elements[i].value))
			{
				alert("Please enter a valid quantity");
				form.elements[i].focus();
				return false;
			}
		}
	}
	return true;
}

function update_qty(form)
{
	if(validate_basket(form) == true)
	{
		form.submit();
	}
}

function validate_basket(form)
{
	var return_value = true;
	var prod_count = form.prod_count.value;
	var error_index = 0;
	for(var i=1;i<=prod_count;i++)
	{
		var tmp_field = "qty_" + i;
		var tmp_value = document.getElementById(tmp_field).value;
		if(!isNumeric(tmp_value) || parseInt(tmp_value,10) < 1)
		{
			return_value = false;
			error_index = i;
			break;
		}
	}
	if(return_value == false)
	{
		alert("Please ensure that all quantities are whole numbers");
		var tmp_field = "qty_" + error_index;
		document.getElementById(tmp_field).focus();
	}
	return return_value;
}

function isNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

function submit_login(form)
{
	if(validate_login(form) == true)
	{
		form.submit();
	}
}

function validate_login(form)
{
	var return_value = false;
	for(var i=0;i<form.lCusType.length;i++)
	{
		if(form.lCusType[i].checked == true)
		{
			var cusType = form.lCusType[i].value;
			break;
		}
	}
	if(form.lEmail.value == "")
	{
		alert("Please enter your email address");
		form.lEmail.focus();
	}
	else if(cusType == "Existing" && form.lPassword.value == "")
	{
		alert("Please enter your password");
		form.lPassword.focus();
	}
	else
	{
		return_value = true;
	}
	
	return return_value;
}

function submit_login(form)
{
	if(validate_login(form) == true)
	{
		form.submit();
	}
}

function validate_email(form)
{
	var return_value = false;
	if(form.lEmail.value == "")
	{
		alert("Please enter your email address");
		form.lEmail.focus();
	}
	else
	{
		return_value = true;
	}
	
	return return_value;
}

function submit_personal(form)
{
	if(validate_personal(form) == true)
	{
		form.submit();
	}
}

function validate_personal(form)
{
	var return_value = false;
	if(form.firstName.value == "")
	{
		alert("Please enter your first name");
		form.firstName.focus();
	}
	else if(form.lastName.value == "")
	{
		alert("Please enter your last name");
		form.lastName.focus();
	}
	else if(form.phone_home.value == "")
	{
		alert("Please enter your phone number");
		form.phone_home.focus();
	}
	else if(form.email.value == "")
	{
		alert("Please enter your email address");
		form.email.focus();
	}
	else if(form.password.value == "")
	{
		alert("Please enter a password");
		form.password.focus();
	}
	else if(form.password.value != form.password2.value)
	{
		alert("Your passwords do not match");
		form.password.focus();
	}
	else if(form.addr1.value == "")
	{
		alert("Please enter your address");
		form.addr1.focus();
	}
	else if(form.town.value == "")
	{
		alert("Please enter your town / city");
		form.town.focus();
	}
	else if(form.postcode.value == "")
	{
		alert("Please enter your postcode");
		form.postcode.focus();
	}
	else if(form.del_addr1.value == "" && form.use_billing.checked == false)
	{
		alert("Please enter your delivery address");
		form.del_addr1.focus();
	}
	else if(form.del_town.value == "" && form.use_billing.checked == false)
	{
		alert("Please enter your delivery town / city");
		form.del_town.focus();
	}
	else if(form.del_postcode.value == "" && form.use_billing.checked == false)
	{
		alert("Please enter your delivery postcode");
		form.del_postcode.focus();
	}
	/*else if(form.how_found.value == "" && form.user_id.value == 0)
	{
		alert("Please tell us how you found this website");
		form.how_found.focus();
	}*/
	else if(form.how_found.value == "")
	{
		alert("Please tell us how you found this website");
		form.how_found.focus();
	}
	/*else if(form.terms.checked == false)
	{
		alert('Please confirm that you have read and agree to our terms and conditions');
		form.terms.focus();
	}*/
	else
	{
		return_value = true;
	}
	
	return return_value;
}

function validate_registration(form)
{
	var return_value = false;
	var userId = parseInt(form.user_id.value);
	if(isNaN(userId))
	{
		userId = 0;
	}
	
	var termsChecked = true;
	if(userId == 0)
	{
		termsChecked = form.terms.checked;
	}
	
	if(form.firstName.value == "")
	{
		alert("Please enter your first name");
		form.firstName.focus();
	}
	else if(form.lastName.value == "")
	{
		alert("Please enter your last name");
		form.lastName.focus();
	}
	else if(form.email.value == "")
	{
		alert("Please enter your email address");
		form.email.focus();
	}
	else if(form.password.value == "")
	{
		alert("Please enter a password");
		form.password.focus();
	}
	else if(form.password.value != form.password2.value)
	{
		alert("Your passwords do not match");
		form.password.focus();
	}
	else if(form.addr1.value == "")
	{
		alert("Please enter your address");
		form.addr1.focus();
	}
	else if(form.postcode.value == "")
	{
		alert("Please enter your postcode");
		form.postcode.focus();
	}
	else if(form.del_addr1.value == "" && form.use_billing.checked == false)
	{
		alert("Please enter your delivery address");
		form.del_addr1.focus();
	}
	else if(form.postcode.value == "" && form.use_billing.checked == false)
	{
		alert("Please enter your delivery postcode");
		form.del_postcode.focus();
	}
	else if(form.how_found.value == "" && form.user_id.value == 0)
	{
		alert("Please tell us how you found this website");
		form.how_found.focus();
	}
	else if(termsChecked == false)
	{
		alert('Please confirm that you have read and agree to our terms and conditions');
		form.terms.focus();
	}
	else
	{
		return_value = true;
	}
	
	return return_value;
}

function show_hide_delivery(doc)
{
	var cbx = doc.getElementById('use_billing');
	
	if (cbx.checked == false)
	{
		doc.getElementById('fsDeliveryDetails').style.display = 'block';
	}
	else
	{
		doc.getElementById('fsDeliveryDetails').style.display = 'none';
	}
}

function submit_ch_billing(form)
{
	if(validate_ch_billing(form) == true)
	{
		form.submit();
	}
}

function validate_payment(form)
{
	var return_value = false;
	
	if(form.card_name.value == "")
	{
		alert("Please enter your name");
		form.card_name.focus();
	}
	else if(form.card_type.value == 0)
	{
		alert("Please select a card type");
		form.card_type.focus();
	}
	else if(cardval(form.card_number.value) == false)
	{
		alert("Please enter a valid card number");
		form.card_number.focus();
	}
	else if(form.end_month.value == 0)
	{
		alert("Please select an end date");
		form.end_month.focus();
	}
	else if(form.end_year.value == 0)
	{
		alert("Please select an end date");
		form.end_year.focus();
	}
	else if(form.card_security_code.value == "")
	{
		alert("Please enter your card security number");
		form.card_security_code.focus();
	}
	else if(form.terms_read.checked == false)
	{
		alert("Please confirm that you have read and agree to our terms and conditions");
		form.terms_read.focus();
	}
	else
	{
		return_value = true;
	}
	
	//alert(return_value);
	//return false;
	return return_value;
}


function cardval(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 > 9 || j == 7) 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 repeat_order(order_id)
{
	if(confirm("Are you sure? Any items currently in your basket will be removed"))
	{
		var strUrl = 'order_details.cfm?id=' + order_id + '&REPEAT';
		window.location=strUrl;
	}
}

function validate_contact(form)
{
	var return_value = false;
	if(form.yourName.value == "")
	{
		alert("Please enter your name");
		form.yourName.focus();
	}
	else if(form.contactEmail.value == "")
	{
		alert("Please enter your email address");
		form.contactEmail.focus();
	}
	else if(form.enquiry.value == "")
	{
		alert("Please enter some comments");
		form.enquiry.focus();
	}
	else
	{
		return_value = true;
	}
	return return_value;
}

function openLargeImage(imgUrl)
{
	var features = "height=500,width=500,left=50,top=50,menubar=no,location=no,resizable=no,scrollbars=yes,status=no,toolbar=no";
	
	var new_win = window.open(imgUrl,"imgLArge",features);
}

function validate_competition(form)
{
	var return_value = false;
	if(form.yourName.value == "")
	{
		alert("Please enter your name");
		form.yourName.focus();
	}
	else if(form.address.value == "")
	{
		alert("Please enter your address");
		form.address.focus();
	}
	else if(form.postcode.value == "")
	{
		alert("Please enter your postcode");
		form.postcode.focus();
	}
	else if(form.contactPhone.value == "")
	{
		alert("Please enter your phone number");
		form.contactPhone.focus();
	}
	else if(form.contactEmail.value == "")
	{
		alert("Please enter your email address");
		form.contactEmail.focus();
	}
	else if(form.howManyHorses.value == "")
	{
		alert("Please tell us how many horses you own / ride");
		form.howManyHorses.focus();
	}
	else if(form.howOften.value == "")
	{
		alert("Please tell us how often you compete");
		form.howOften.focus();
	}
	else if(form.sponsor[1].checked == true && form.sponsorDetails.value == "")
	{
		alert("Please tell us about your current sponsor");
		form.sponsorDetails.focus();
	}
	else if(form.highestRanking.value == "")
	{
		alert("Please tell us your highest British young rider ranking");
		form.highestRanking.focus();
	}
	else if(form.youngRider.checked == false)
	{
		alert("Please confirm that you are a young rider");
		form.youngRider.focus();
	}
	else if(form.terms.checked == false)
	{
		alert("Please confirm that you accept the terms and conditions of the competition");
		form.terms.focus();
	}
	else
	{
		return_value = true;
	}
	return return_value;
}