var listPrice, salePrice, adjustedPrice;

function computeItemTotal() {
    listPrice = getPrice("listPrice");
    salePrice = getPrice("salePrice");
    adjustedPrice = getPrice("adjustedPrice");

    var dispAdjustedPrice = false;
    var selects = document.getElementsByTagName("select");

    if (selects) {
        var totalAdjustment = 0;
        for (var i = 0; i < selects.length; i=i+1) {
            var selectElem = selects[i];
            var selOpt = selectElem.options[selectElem.selectedIndex];
            if (selOpt) {
                var prIncr = parseFloat(selOpt.getAttribute("priceincrement"));
                if (!isNaN(prIncr) && prIncr !== 0) {
                    totalAdjustment += prIncr;
                    dispAdjustedPrice = true;
                }
            }
        }
        if (salePrice) {
            adjustedPrice = salePrice + totalAdjustment;
        } else {
            adjustedPrice = listPrice + totalAdjustment;
        }
        if (adjustedPrice < 0) {
            adjustedPrice = 0;
        }
        document.getElementById("adjustedPrice").innerHTML = formatTotal(adjustedPrice);
        var adjPriceItem = document.getElementById("adjustedPriceItem");
        if (dispAdjustedPrice) {
            if (salePrice) {
				$('#salePrice').addClass("strike");
            } else {
				$('#listPrice').addClass("strike");
            }
			$(adjPriceItem).removeClass( "hidden" );
        } else {
            if (salePrice) {
				$('#salePrice').removeClass( "strike" );
            } else {
				$('#listPrice').removeClass( "strike" );
            }
			$(adjPriceItem).addClass( "hidden" );
        }
    }

}

function formatTotal(total) {
    return formatNumber(total,2,",",".","$","","-","");    
}

function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2)
{
	var x = Math.round(num * Math.pow(10,dec));
	if (x >= 0) {n1=n2="";}
	var y = (""+Math.abs(x)).split("");
	var z = y.length - dec;
	if (z<0) {z=z-1;}
	for(var i = z; i < 0; i=i+1) {y.unshift("0");}
	y.splice(z, 0, pnt);
	while (z > 3){
		z-=3;
		y.splice(z,0,thou);
	}
	var r = curr1+n1+y.join("")+n2+curr2;
	return r;
}


function getPrice(id) {
    var price;
    var priceElem = $('#'+id);
    if (priceElem.length) {
		// jquery-ism: priceElem is a jQuery object. 
		// use .get(0) to get at the dom element
		price = priceElem.get(0).innerHTML.replace(/[$,]/g, "");
        price = parseFloat(price);
    }
    if (isNaN(price)) {
        price = null;
    }
    return price;
}
