function FormatNumber(expr, decplaces) 
{
	var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));

	while (str.length <= decplaces) {
		str = "0" + str;
	}
	var decpoint = str.length - decplaces;
	return str.substring(0,decpoint) + "." + str.substring(decpoint, str.length);
}

var frmOrderForm = null;
var totalPrice = 1;

function setOptionPrice()
{
	if (frmOrderForm && typeof(itemPrice) != 'undefined')
	{
		totalPrice = itemPrice;
		for (var i = 0; i < frmOrderForm.elements.length; i++)
		{
			if (frmOrderForm.elements[i].type.toLowerCase() == 'select-one' || frmOrderForm.elements[i].type.toLowerCase() == 'checkbox')
			{
				var val;
				if (frmOrderForm.elements[i].type.toLowerCase() == 'select-one')
				    val = frmOrderForm.elements[i].options[frmOrderForm.elements[i].selectedIndex].value;
				else
				{
				    if (frmOrderForm.elements[i].checked)
				        val = frmOrderForm.elements[i].value;
				    else
				        val = "";
				}
				var optRe = /\(([\d\s\+\-\.\$]+)\)/;
				var matches = optRe.exec(val);
				if (matches)
				{
					var addOn = eval(matches[1].replace("$","").replace(",","").replace(" ",""));
					if (addOn && !isNaN(addOn))
					{
						totalPrice += addOn;
					}
				}
			}
		}
		var tp = document.getElementById("totalPrice");
		if (tp)
		{
		    if (totalPrice == 0)
		        tp.style.display = "none";
		    else
		    {
			    tp.innerHTML = "<font face=arial size=2><b>Price with selected options: <span id=priceAmount>$" + FormatNumber(totalPrice,2) + "</span></b></font>";
			    tp.style.display = "block";
			}
		}
	}
	return(true);
}

function setOptionPriceHandler()
{
    frmOrderForm = jQuery("form[action*='order.store.yahoo']");
    if (frmOrderForm.length == 0)
        frmOrderForm = jQuery("form[action*='test-order']");
    if (frmOrderForm.length > 0)
        frmOrderForm = frmOrderForm[0];
    else
        frmOrderForm = null;

	if (frmOrderForm)
	{
	    jQuery(frmOrderForm).find("input[type=checkbox]").click(setOptionPrice);
	    jQuery(frmOrderForm).find("select").change(setOptionPrice);
	    
	    jQuery(frmOrderForm).submit( function() {
	        setOptionPrice();
	        if (totalPrice == 0)
	        {
	            alert("Please select at least one option.");
	            return(false);
	        }
	    }
	    );
	}
}
jQuery(document).ready( setOptionPriceHandler );
