﻿var purchaseBox = new Object();
purchaseBox.selects = new Array();

document.ready(initPurchaseBox);
function initPurchaseBox()
{
	purchaseBox.box = document.getElementById("purchasebox");
	if (purchaseBox.box == null || purchaseBox.box == "undefined" || purchaseBox.box == undefined)
		return;

	purchaseBox.content = document.getElementById("purchaseboxcontent");
	purchaseBox.content.style.display = "block"

	purchaseBox.itemNamePrefix = document.getElementById("purchase_name_prefix").value;
	purchaseBox.itemNumberPrefix = document.getElementById("purchase_number_prefix").value;
	purchaseBox.itemBasePrice = new Number(document.getElementById("purchase_base_price").value);
	purchaseBox.itemBaseWeight = new Number(document.getElementById("purchase_base_weight").value);

	purchaseBox.itemDisplayName = document.getElementById("purchase_display_name");
	purchaseBox.itemDisplayPrice = document.getElementById("purchase_display_price");
	purchaseBox.itemDisplayDollars = document.getElementById("purchase_display_dollars");
	purchaseBox.itemDisplayCents = document.getElementById("purchase_display_cents");

	purchaseBox.form = document.getElementById("purchase_form");
	purchaseBox.itemNumber = document.getElementById("purchase_number");
	purchaseBox.itemName = document.getElementById("purchase_name");
	purchaseBox.itemPrice = document.getElementById("purchase_price");
	purchaseBox.itemWeight = document.getElementById("purchase_weight");

	for (var index = 0 ; ; index++)
	{
		var select = document.getElementById("purchase_select" + index);
		if (select == undefined)
			break;

		for (var choiceIndex = 0 ; choiceIndex < select.options.length ; choiceIndex++)
		{
			var choiceValues = select.options[choiceIndex].value.split(",");
			select.options[choiceIndex].number = choiceValues[0];
			select.options[choiceIndex].price = new Number(choiceValues[1]);
			select.options[choiceIndex].weight = new Number(choiceValues[2]);
			select.options[choiceIndex].itemTitle = choiceValues[3];
			select.options[choiceIndex].baseText = select.options[choiceIndex].text;
		}

		select.onchange = onOptionChange;

		purchaseBox.selects.push(select);
	}


	onOptionChange();
}


function onOptionChange()
{
	purchaseBox.itemNumber.value = purchaseBox.itemNumberPrefix;
	purchaseBox.itemDisplayName.innerHTML = purchaseBox.itemName.value = purchaseBox.itemNamePrefix;
	var price = purchaseBox.itemBasePrice;
	var weight = purchaseBox.itemBaseWeight;

	for (index in purchaseBox.selects)
	{
		var currentSelect = purchaseBox.selects[index];
		var currentSelectOption = currentSelect.options[currentSelect.selectedIndex];

		purchaseBox.itemNumber.value += currentSelect.options[currentSelect.selectedIndex].number;

		if (currentSelectOption.itemTitle != "")
		{
			if (index == 0)
			{
				purchaseBox.itemName.value += ": ";
				purchaseBox.itemDisplayName.innerHTML += ":<br/>";
			}
			purchaseBox.itemName.value += " " + currentSelectOption.itemTitle;
			purchaseBox.itemDisplayName.innerHTML += " " + currentSelectOption.itemTitle;
		}

		price += currentSelectOption.price;
		weight += currentSelectOption.weight;

		for (var choiceIndex = 0 ; choiceIndex < currentSelect.options.length ; choiceIndex++)
		{
			var priceDifference = currentSelect.options[choiceIndex].price - currentSelectOption.price;
			var priceString = "";

			if (priceDifference != 0)
			{
				if (priceDifference > 0)
					priceString = "+$" + priceDifference;
				else
					priceString = "-$" + Math.abs(priceDifference);

				priceString = " (" + priceString + ")";
			}

			currentSelect.options[choiceIndex].text = currentSelect.options[choiceIndex].baseText + priceString;
		}
	}

	purchaseBox.itemPrice.value = price;
	purchaseBox.itemWeight.value = weight;

	var priceString = price.toFixed(2);
	var priceParts = priceString.split(".");
	purchaseBox.itemDisplayDollars.innerHTML = priceParts[0];
	purchaseBox.itemDisplayCents.innerHTML = priceParts[1];
}



