var totalPrice = 0;
var mySections = new Array("Wedding","Engagement","Family","Event","Headshot");
var weddingRadios = new Array("WeddingHours_5","WeddingHours_6","WeddingHours_7","WeddingHours_8","WeddingHours_9","WeddingHours_10");
var engagementRadios = new Array("EngagementInStudio","EngagementOnLocation","EngagementBoth");
var familyRadios = new Array("FamilyInStudio","FamilyOnLocation","FamilyBoth");
var eventRadios = new Array("EventHours_5","EventHours_6","EventHours_7","EventHours_8","EventHours_9","EventHours_10");
var headshotRadios = new Array("HeadshotInStudio","HeadshotOnLocation","HeadshotBoth");
var extraHours = new Array(new Array("Wedding","WeddingHours_10","ExtraWeddingHours"), new Array("Event","EventHours_10","ExtraEventHours"));

function initOrderForm() {
	// Hide package info
	for (var i=0;i<mySections.length;i++) {
		var x = document.getElementById(mySections[i]+"Package");
		var y = mySections[i]+"Info";
		toggleInfo(x,y);
	}
	for (var i=0;i<extraHours.length;i++) {
		if (!(document.getElementById(extraHours[i][1]).checked)){
			document.getElementById(extraHours[i][2]).disabled = true;
		}
	}
}

function calculateTotal() {
	totalPrice = 0;
	if (document.getElementById("WeddingPackage").checked) {
		for (var i=0;i<weddingRadios.length;i++) {
			var x = document.getElementById(weddingRadios[i]);
			totalPrice += x.checked ? getPrice(x) : 0;
		}
		var y = document.getElementById("ExtraWeddingHours");
		if (document.getElementById("WeddingHours_10").checked && isFinite(y.value) && y.value != "") {
			totalPrice += parseFloat(y.value) * getPrice(y);
		}
	}
	if (document.getElementById("EngagementPackage").checked) {
		for (var i=0;i<engagementRadios.length;i++) {
			var x = document.getElementById(engagementRadios[i]);
			totalPrice += x.checked ? getPrice(x) : 0;
		}
	}
	if (document.getElementById("FamilyPackage").checked) {
		for (var i=0;i<familyRadios.length;i++) {
			var x = document.getElementById(familyRadios[i]);
			totalPrice += x.checked ? getPrice(x) : 0;
		}
	}
	if (document.getElementById("EventPackage").checked) {
		for (var i=0;i<eventRadios.length;i++) {
			var x = document.getElementById(eventRadios[i]);
			totalPrice += x.checked ? getPrice(x) : 0;
		}
		var y = document.getElementById("ExtraEventHours");
		if (document.getElementById("EventHours_10").checked && isFinite(y.value) && y.value != "") {
			totalPrice += parseFloat(y.value) * getPrice(y);
		}
	}
	if (document.getElementById("HeadshotPackage").checked) {
		for (var i=0;i<headshotRadios.length;i++) {
			var x = document.getElementById(headshotRadios[i]);
			totalPrice += x.checked ? getPrice(x) : 0;
		}
	}
	
	var totalText = document.getElementById("TotalPrice");
	totalText.innerHTML = "$" + totalPrice;
	if (totalPrice > 0) {
		totalText.style.backgroundColor = "#FF6";
		totalText.style.fontSize = "1.5em";
	} else {
		totalText.style.backgroundColor = "#FFF";
		totalText.style.fontSize = "1em";
	}
}

function getPrice(x) {
	cellsOfRow = x.parentNode.parentNode.getElementsByTagName("td");
	lastCell = cellsOfRow[cellsOfRow.length - 1];
	return parseFloat(lastCell.innerHTML.replace(/[^0-9\.]/g,""));
}

function toggleInfo(x,y) {
	document.getElementById(y).style.display = x.checked ? "block" : "none";
	calculateTotal();
}

function toggleExtraHours(x) {
	for (var i=0;i<extraHours.length;i++){
		if (extraHours[i][0] == x && document.getElementById(extraHours[i][1]).checked == true) {
			document.getElementById(extraHours[i][2]).disabled = false;
		} else if (extraHours[i][0] == x && document.getElementById(extraHours[i][1]).checked == false) {
			var y = document.getElementById(extraHours[i][2]);
			y.disabled = true;
			y.value = 0;
		}
	}
}

function validateExtraHours(x) {
	if (isNaN(x.value)){
		x.value = 0;
	}
	calculateTotal();
}