function updatePrice(option,amount) {

	// find the product element
	var element = option;
	var productFound = false;
	while (!productFound) {
		element = element.parentNode;
		
		var className = element.className;
		if (className && className.indexOf("product") > -1) {
			productFound = true;
		}
	}
	
	// now find the price element
	var basePrice = element.getElementsByTagName("span")[0]; 
	
	var newPrice = getNewPrice(basePrice.innerHTML,option,amount);
	basePrice.innerHTML = newPrice;
	
	// now find the price option elements
	var inputs = element.getElementsByTagName("input");
	
	for (var i = 0; i < inputs.length; i++) {
		var setPrice = inputs[i].getAttribute("googlecart-set-product-price");
		if (setPrice) {
			var newPrice = getNewPrice(setPrice,option,amount);
			inputs[i].setAttribute("googlecart-set-product-price",newPrice);
		}
	}
	
	var priceEl = getElementsByClassName("product-price",element)[0];
	
	
}

function getNewPrice(current,option,amount) {
	
	var price = new Number(current.substr(1));
	
	// determine option selection
	if (option.checked) {
		price += amount;
	}
	else {
		price -= amount;
	}
	
	var priceString = "$" + price;
	var index = priceString.indexOf(".");
	var digits = priceString.substr(index + 1);
	
	if (digits.length == 1) { priceString += "0"; }
	
	return priceString;
}

function getElementsByClassName(classname, node)  {
    if(!node) node = document.getElementsByTagName("body")[0];
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}

var deliveryDialog;
function buildDeliveryDialog() {
	deliveryDialog = new YAHOO.widget.Dialog("deliveryDialog", 
			{ width : "400px",
			  fixedcenter : true,
			  visible : false, 
			  modal: true,
			  zindex: 999999,
			  constraintoviewport : true
			 } );
	deliveryDialog.setHeader("Delivery");
	deliveryDialog.setBody('Our items are made to order. Please let us know when you would like your items to be delivered.<div><textarea id="deliveryTime" style="width:100%; height:100px"></textarea><br/><br/><input type="button" value="Continue to Check Out" onclick="continueCheckOut()" /><input type="button" value="Cancel" onclick="deliveryDialog.hide()"/></div>');
	deliveryDialog.render("footer");
}

function overrideCheckOut() {
	deliveryDialog.show();
}

function continueCheckOut() {
	
	var custMessageEl = document.getElementById("deliveryTime");
	var custMessage = custMessageEl.value;
	
	// get message hidden input
	var message = document.getElementById("deliveryMessage");
	
	message.value = custMessage;
	
	googlecart.checkout();
}
