var itemsComplete = "";
var itemsMissing = "";
var totalItemsCost = 0;

var widthData = new Array (
	"--",
	"20mm",
	"22mm",
	"24mm",
	"26mm"
);

var leatherData = new Array (
	"--",
	"Saddle £75",
	"Chocolate £75",
	"Terracotta £65",
	"Slate Grey £65",
	"Cocoa £60",
	"Black £55",
	"Papaya £55",
	"Conker £55",
	"Caramel £55",
	"Havana £55",
	"Fudge £60",
	"Ostrich print £65",
	"Tobacco £55",
	"Almond £55",
	"Matte Black £55",
	"Blue £55",
	"Plum £60"
	
);

var stitchColourData = new Array (
	"--",
	"White",
	"Natural",
	"Black",
	"Grey",
	"Light Brown",
	"Dark Brown",
	"Pale Yellow",
	"Bright Yellow",
	"Royal Blue",
	"Denim",
	"Red",
	"Orange",
	"Emerald Green",
	"Olive Drab",
	"Plum",
	"Lavender"
);

var mm20Data = new Array (
	"--",
	"THUMBNAIL: Spring bar - brushed",
	"THUMBNAIL: Spring bar - polished",
	"THUMBNAIL: Spring bar - PVD",
	"PRE-V: Spring bar - brushed",
	"PRE-V: Spring bar - polished",
	"PRE-V: Spring bar - PVD",
	"THUMBNAIL: Screw bar - polished +£10",
	"THUMBNAIL: Screw bar - PVD +£10"
);


var mm22Data = new Array (
	"--",
	"THUMBNAIL: Spring bar - brushed",
	"THUMBNAIL: Spring bar - polished",
	"THUMBNAIL: Spring bar - PVD",
	"PRE-V: Spring bar - brushed",
	"PRE-V: Spring bar - polished",
	"PRE-V: Spring bar - PVD",
	"PRE-V: Sewn in - brushed +£5",
	"PRE-V: Sewn in - polished +£5",
	"THUMBNAIL: Screw bar - brushed +£10",
	"THUMBNAIL: Screw bar - polished +£10",
	"THUMBNAIL: Screw bar - PVD +£10",
	"THUMBNAIL: Screw bar - Ti +£10",
	"PRE-V: Screw bar - brushed +£10",
	"PRE-V: Screw bar - polished +£10",
	"PRE-V: Screw bar - PVD +£10",
	"PRE-V: Screw bar - Ti +£10"
);

var mm24Data = new Array (
	"--",
	"THUMBNAIL: Spring bar - brushed",
	"THUMBNAIL: Spring bar - polished",
	"THUMBNAIL: Spring bar - PVD",
	"PRE-V: Spring bar - brushed",
	"PRE-V: Spring bar - polished",
	"PRE-V: Spring bar - PVD",
	"PRE-V: Sewn in - brushed +£5",
	"PRE-V: Sewn in - polished +£5",
	"GPF Flat: Sewn in - brushed +£5",
	"GPF Flat: Sewn in - polished +£5",
	"GPF Flat: Sewn in - PVD +£5",
	"GPF Flat: Sewn in - beadblasted +£5",
	"GPF Flat: Sewn in - untreated +£5",
	"THUMBNAIL: Screw bar - brushed +£10",
	"THUMBNAIL: Screw bar - polished +£10",
	"THUMBNAIL: Screw bar - PVD +£10",
	"PRE-V: Screw bar - brushed +£10",
	"PRE-V: Screw bar - polished +£10",
	"PRE-V: Screw bar - PVD +£10",
	"PRE-V: Screw bar - Ti +£10"
);
	
var mm26Data = new Array (
	"--",
	"THUMBNAIL: Spring bar - brushed",
	"THUMBNAIL: Spring bar - polished",
	"THUMBNAIL: Spring bar - PVD",
	"PRE-V: Spring bar - brushed",
	"PRE-V: Spring bar - polished",
	"PRE-V: Spring bar - PVD",
	"PRE-V: Sewn in - brushed +£5",
	"PRE-V: Sewn in - polished +£5",
	"GPF Flat: Sewn in - brushed +£5",
	"GPF Flat: Sewn in - polished +£5",
	"GPF Flat: Sewn in - PVD +£5",
	"GPF Flat: Sewn in - beadblasted +£5",
	"GPF Flat: Sewn in - untreated +£5",
	"PRE-V: Screw bar - brushed +£10",
	"PRE-V: Screw bar - polished +£10",
	"PRE-V: Screw bar - PVD +£10",
	"PRE-V: Screw bar - beadblasted +£10"
);

var lengthData = new Array (
	"--",
	"120/70",
	"125/75",
	"130/80",
	"135/80",
	"140/85",
	"145/90",
	"Other"
);

function resetItem(item) {
		
	item = item - 0;
		
	// Length
	var elm = document.getElementById("strapLength" + item);
	elm.className = "orderField";
	elm.options.length = 0;
	for (var i=0; i < lengthData.length; i++) {
		elm.options[elm.options.length] = new Option(lengthData[i],lengthData[i], null, null);
	}

	// Width
	var elm = document.getElementById("strapWidth" + item);
	elm.className = "orderField";
	elm.options.length = 0;
	for (var i=0; i < widthData.length; i++) {
		elm.options[elm.options.length] = new Option(widthData[i],widthData[i], null, null);
	}

	// Leather Colour
	var elm = document.getElementById("leatherColour" + item);
	elm.className = "orderField";
	elm.options.length = 0;
	for (var i=0; i < leatherData.length; i++) {
		elm.options[elm.options.length] = new Option(leatherData[i],leatherData[i], null, null);
	}

	// Stitching Colour
	var elm = document.getElementById("stitchColour" + item);		
	elm.className = "orderField";
	elm.options.length = 0;
	for (var i=0; i < stitchColourData.length; i++) {
		elm.options[elm.options.length] = new Option(stitchColourData[i],stitchColourData[i], null, null);
	}

	// Buckle
	var elm = document.getElementById("buckle" + item);
	elm.className = "orderField";
	elm.options.length = 0;
	elm.options[elm.options.length] = new Option("--","--", null, null);
	
	calcCost();
		
}

function load() {

	for (var j=1; j<=12; j++) {
		resetItem(j);
	}

}

function newWidth(item) {

	var elm = document.getElementById("buckle" + item);
	elm.options.length = 0;

	var elm_width = document.getElementById("strapWidth" + item);
	var width = elm_width.value;


	if (width == "--") {
		elm.options[elm.options.length] = new Option("--","--", null, null);
	}
	else if (width == "20mm") {
		// 20 mm Buckle
		for (var i=0; i < mm20Data.length; i++) {
			elm.options[elm.options.length] = new Option(mm20Data[i],mm20Data[i], null, null);
		}	
	}
	else if (width == "22mm") {
		
		// 22 mm Buckle
		for (var i=0; i < mm22Data.length; i++) {
			elm.options[elm.options.length] = new Option(mm22Data[i],mm22Data[i], null, null);
		}
	}	
	else if (width == "24mm") {
		// 24 mm Buckle
		for (var i=0; i < mm24Data.length; i++) {
			elm.options[elm.options.length] = new Option(mm24Data[i],mm24Data[i], null, null);
		}
	}
	else if (width == "26mm") {
		// 26 mm Buckle
		for (var i=0; i < mm26Data.length; i++) {
			elm.options[elm.options.length] = new Option(mm26Data[i],mm26Data[i], null, null);
		}
	}
		
	calcCost();
	
}

function calcCost() {
	
	var itemStatus = new Array();
	itemsComplete = "";
	itemsMissing = "";
	totalItemsCost = 0;
	
	var elm_totalItemsCost = document.getElementById("totalItemsCost");
	elm_totalItemsCost.innerHTML = "";

	for (var item = 1; item <=4; item++) {
				
		var elm_width = document.getElementById("strapWidth" + item);
		var elm_leather = document.getElementById("leatherColour" + item);
		var elm_stitch = document.getElementById("stitchColour" + item);
		var elm_buckle = document.getElementById("buckle" + item);
		var elm_slength = document.getElementById("strapLength" + item);
		var elm_itemCost = document.getElementById("itemCost" + item);
		
		var swidth = elm_width.value;
		var leather = elm_leather.value;
		var stitch = elm_stitch.value;
		var buckle = elm_buckle.value;
		var slength = elm_slength.value;

		if (
			swidth.indexOf("--") == -1 &&
			leather.indexOf("--") == -1 &&
			stitch.indexOf("--") == -1 &&
			buckle.indexOf("--") == -1 &&
			slength.indexOf("--") == -1
		) {
						
			var itemCost = leather.substr(leather.indexOf("£") + 1);
			var pos = buckle.indexOf("£");
			if (pos > -1) itemCost = (itemCost - 0) + (buckle.substr(pos + 1) - 0);
			totalItemsCost = (totalItemsCost - 0) + (itemCost - 0);
		
			elm_itemCost.innerHTML = "&pound;" + itemCost;
			elm_totalItemsCost.innerHTML = "&pound;" + totalItemsCost;

			var itemDesc = "Width: " + swidth;
			itemDesc += ", Leather: " + leather;
			itemDesc += ", Stitching: " + stitch;
			itemDesc += ", Buckle: " + buckle;
			if (slength == "") itemDesc += ", Length: Not Specified";	
			else itemDesc += ", Length: " + slength;
			itemDesc += ". Cost: £" + itemCost;
					
			if (itemsComplete != "") {
				itemsComplete += "\r\n\r\n" + itemDesc;
			}
			else {
				itemsComplete = itemDesc;
			}
			
			itemStatus[itemStatus.length] = "COMPLETE";
		}
		else if ( 
			swidth.indexOf("--") > -1 &&
			leather.indexOf("--") > -1 &&
			stitch.indexOf("--") > -1 &&
			buckle.indexOf("--") > -1 && 
			slength.indexOf("--") > -1 
		) {

			
			elm_itemCost.innerHTML = "";

			itemStatus[itemStatus.length] = "NA";			
		}
		else {

			var itemDesc = "";
			
			if (swidth == "") itemDesc += "Width: Not Specified";	
			else itemDesc += "Width: " + swidth;
			
			if (leather == "") itemDesc += ", Leather: Not Specified";	
			else itemDesc += ", Leather: " + leather;
			
			if (stitch == "") itemDesc += ", Stitching: Not Specified";	
			else itemDesc += ", Stitching: " + stitch;
			
			if (buckle == "") itemDesc += ", Buckle: Not Specified";	
			else itemDesc += ", Buckle: " + buckle;
			
			if (slength == "") itemDesc += ", Length: Not Specified";	
			else itemDesc += ", Length: " + slength;
					
			if (itemsMissing != "") {
				itemsMissing += "\r\n" + itemDesc;
			}
			else {
				itemsMissing = itemDesc;
			}
						
			elm_itemCost.innerHTML = "";

			itemStatus[itemStatus.length] = "MISSING";						
		}	
	}
		
}

function submitOrder() {
	
	calcCost();
	
	var message = "";
	var orderText = "";
	var alertText = "";
	var emailaddr1 = "";	
	var emailaddr2 = "";
	
	if (itemsComplete == "" && itemsMissing == "") {
		message = "Sorry, you have not chosen anything.  Please enter your order and then try again.";
		alert(message);
		return;
	}
	else if (itemsComplete == "" && itemsMissing != "") {
		message = "Sorry, there are no completed orders in the Straps Order section.  Please return to the form to complete an order and then try again.";
		alert(message);	
		return;
	}
	else {
		// we have at least one good line....could still be some part entries but perform other checks first
		
		// name
		var elm_fullname = document.getElementById("fullname");
		var fullname = elm_fullname.value;

		if (fullname == "") {
			message = "Please enter your full name in the field provided!";
			alert(message);
			elm_fullname.focus();
			return;
		}

		// address
		var elm_address = document.getElementById("address");
		var address = elm_address.value;
	
		if (address == "") {
			message = "Please enter your full address in the field provided!";
			alert(message);
			elm_address.focus();
			return;
		}

		// phone 
		var elm_phonenumber = document.getElementById("phonenumber");
		var phonenumber = elm_phonenumber.value;

		if (phonenumber == "") {
			message = "Please enter your phone number in the field provided!";
			alert(message);
			elm_phonenumber.focus();
			return;
		}

		// email
		var elm_emailaddr1 = document.getElementById("emailaddr1");
		var elm_emailaddr2 = document.getElementById("emailaddr2");
		
		emailaddr1 = elm_emailaddr1.value;
		emailaddr2 = elm_emailaddr2.value;
		
		if (emailaddr1 == "") {
			message = "Please enter your email address in both boxes!";
			alert(message);
			elm_emailaddr1.focus();
			return;
		}
		else if (emailaddr2 == "") {
			message = "Please enter your email address in both boxes!";
			alert(message);
			elm_emailaddr2.focus();
			return;
		}
		else if (emailaddr1 != emailaddr2) {
			message = "Please check you email address.  The two fields do not match!";
			alert(message);
			elm_emailaddr1.focus();
			return;
		}
		else if (emailaddr1.indexOf("@") == -1) {
			message = "Please check you email address.  This does not appear to be valid!";
			alert(message);
			elm_emailaddr1.focus();
			return;
		}

		// paymentMethod 
		var elm_paymentMethod = document.getElementById("paymentMethod");
		var paymentMethod = elm_paymentMethod.value;

		if (paymentMethod == "--") {
			message = "Please select your Payment Method!";
			alert(message);
			elm_paymentMethod.focus();
			return;
		}

	}
	
	// OK, we have at last one good line and all contact & payment details.
	
	alertText = "Please check the details of your order below. ";
	alertText += "If you are happy with your selections click the \"OK\" button to submit your order, ";
	alertText += "or click \"Cancel\" to go back to the order page.\r\n\r\n";

	orderText = "Thank you for your order with Toshi-Straps.co.uk!\r\n\r\n";
	orderText += "You have ordered the following:\r\n\r\n";
		
	alertText += itemsComplete + "\r\n\r\n";
	alertText += "The total cost of your order comes to £" + totalItemsCost + ".\r\n\r\n";
	
	orderText += itemsComplete + "\r\n\r\n";
	orderText += "The total cost of your order comes to £" + totalItemsCost + ".\r\n\r\n";
	
	if (itemsMissing != "") {
		alertText += "Please Note: some lines were incomplete and these are *NOT* included in your order but are shown below:\r\n\r\n";
		alertText += itemsMissing + "\r\n\r\n";
		orderText += "Please Note: some lines were incomplete and these are *NOT* included in your order but are shown below:\r\n\r\n";
		orderText += itemsMissing + "\r\n\r\n";
	}
	
	alertText += "Special Instructions:\r\n\r\n";
	orderText += "Special Instructions:\r\n\r\n";

	// name
	var elm_special = document.getElementById("special");
	var special = elm_special.value;
	if (special != "") {
		alertText += special + "\r\n\r\n";
		orderText += special + "\r\n\r\n";
	}
	else {
		alertText += "None Entered" + "\r\n\r\n";		
		orderText += "None Entered" + "\r\n\r\n";		
	}
	
	alertText += "You entered the following Contact and Payment Method Information:\r\n\r\n";
	alertText += "Name: " + fullname + "\r\n";
	alertText += "Address: " + address + "\r\n";
	alertText += "Phone Number: " + phonenumber + "\r\n";
	alertText += "Email Address: " + emailaddr1 + "\r\n";
	alertText += "Payment Method: " + paymentMethod + "\r\n";
	
	orderText += "You entered the following Contact and Payment Method Information:\r\n\r\n";
	orderText += "Name: " + fullname + "\r\n";
	orderText += "Address: " + address + "\r\n";
	orderText += "Phone Number: " + phonenumber + "\r\n";
	orderText += "Email Address: " + emailaddr1 + "\r\n";
	orderText += "Payment Method: " + paymentMethod + "\r\n";
	
	message = alertText + "\r\n";
	
	message += "Press 'OK' to continue with order or 'Cancel' to correct order.\r\n";

	if (confirm(message)) {
		
		var elm_orderEmail = document.getElementById("orderEmail");
		var elm_orderPaymentAmount = document.getElementById("orderPaymentAmount");
		var elm_orderPaymentMethod = document.getElementById("orderPaymentMethod");
		var elm_orderText = document.getElementById("orderText");
		var elm_orderPost = document.getElementById("orderPost");
		
		elm_orderEmail.value = emailaddr1;
		elm_orderPaymentAmount.value = totalItemsCost;
		elm_orderPaymentMethod.value = paymentMethod;
		elm_orderText.value = orderText;
		elm_orderPost.submit();

	}

}
