var selectionArray = new Array();
var priceArray = new Array();
addLoadEvent(gatherSelections);

function gatherSelections(){
	var productDetails = document.getElementById("productDetails");
	if(productDetails){
		var inputs = productDetails.getElementsByTagName("select");
		for(var i=0; i<inputs.length; i++){
			if(inputs[i].className == "attributeoptions"){
				selectionArray.push(inputs[i]);
			}
		}
		for(var i=0; i<selectionArray.length; i++){
			priceArray[i] = 0;
		}
		initAttributeActions();
	}
}

function initAttributeActions(){
	for(var i=0; i<selectionArray.length; i++){
		priceArray[i] = 0;
	}
	
	for(var i=0; i<selectionArray.length; i++){
		selectionArray[i].onchange = function(){
			var price = this.options[this.selectedIndex].text;
			var dollar = price.substring(price.indexOf("$") + 1, price.length);
			var price = dollar.substring(0,dollar.indexOf(")"));
			//price =  price.substring(price.indexOf("(") + 1, price.indexOf(")"));
			
			var price = filterNum(price);
			if(price == ""){
				price = 0;
			}
			priceArray[this.getAttribute("optionnumber")] = parseFloat(price);
			updatePrice();
		}
	}
}


function updatePrice(){	
	var price = filterNum(originalPrice);
	price = parseFloat(price);
	var totalPrice = 0;
	for(var i=0; i<priceArray.length; i++){
		totalPrice = totalPrice + priceArray[i];
	}
	totalPrice = totalPrice + price;
	totalPrice = format(totalPrice,2);
	var priceText = document.getElementById("price").getElementsByTagName("span")[0].firstChild.nodeValue;
	document.getElementById("price").getElementsByTagName("span")[0].firstChild.nodeValue = "$" + totalPrice;
}
		
function filterNum(str) {
	re = /^\$|,/g;
	return str.replace(re, "");
}

function format(number,decimals) {
	var i,d;
	if(number=="") number = parseInt("0");
	if(decimals=="") decimals=parseInt("2");
	number=""+Math.round(number*Math.pow(10,decimals))*Math.pow(10,-decimals);
	d=number.indexOf(".");
	if(d==-1) {
	  number=number+".";
	  for(i=0;i<decimals;i++)
		number=number+"0";
	  return number;
	}

   
	if(d==0) {
	  number="0"+number;
	  d++;
	}

   
	if(d==1 && number.substring(0,1)=="-") {
	  number="-0" + number.substring(1,number.length);
	  d++;
	}

  
	number=number.substring(0,d+decimals+1);
	while(number.length<=d+decimals)
	  number=number+"0";
	return number;
  }
