/* author: Data Access Europe B.V. */ /* Creation date: 4-4-2006 */ /* This file handles all javascript functions for Electos webshop*/ var cDecimalSeparator = "."; function CalculateTax(iPrice, iTax){ var iMultiply = 0; var iPrice_tax = 0; if (iTax > 10){ iMultiply = '1.' + iTax; } else { iMultiply = '1.0' + iTax; } iPrice_tax = iPrice * iMultiply; iPrice_tax = iPrice_tax.toFixed(2); if (isNaN(iPrice_tax)) { //return "Error in calculating tax price"; }else{ iPrice_tax = makeNumber(iPrice_tax); //iPrice_tax = iPrice_tax + ""; return makeDecimal(iPrice_tax); } } // End CalculateTax function CalculateTotal(){ var nSubTotalPrice = makeNumber(document.getElementById("sub_total").innerHTML); var oShippingSelect = document.getElementById("shipping_select") var nShippingPrice = makeNumber(oShippingSelect.options[oShippingSelect.selectedIndex].getAttribute('price')); var oPaymentSelect = document.getElementById("payment_select") var nPaymentPrice = makeNumber(oPaymentSelect.options[oPaymentSelect.selectedIndex].getAttribute('price')); if (isNaN(nSubTotalPrice) || isNaN(nShippingPrice) || isNaN(nPaymentPrice) ) { document.getElementById("total_field").innerHTML = makeDecimal("0"); }else{ var nOverallTotal = nSubTotalPrice + nShippingPrice + nPaymentPrice; document.getElementById("total_field").innerHTML = makeDecimal(nOverallTotal); } } function TotalProdPrice(iProdId, sFormName){ var iUnitPrice, iAmount, iTotalProdPrice, iLoop, iSubTotal; iLoop = parseInt(document.getElementById("loop").value); iUnitPrice = makeNumber(document.getElementById("unitprice" + iProdId).innerHTML); iAmount = parseInt(document.getElementById("amount" + iProdId).value); if (isNaN(iAmount) || (iAmount <= 0)){ iTotalProdPrice = 0.00; if (iLoop <= 1) { check_nextstep(false); } }else{ iTotalProdPrice = iUnitPrice * iAmount; check_nextstep(true); } document.getElementById("totalprodprice" + iProdId).innerHTML = makeDecimal(iTotalProdPrice); iSubTotal = 0.0; for (i=1; i<=iLoop; i++){ iSubTotal = (iSubTotal + makeNumber(document.getElementById("totalprodprice" + i).innerHTML)) } if(iSubTotal == 0.00) check_nextstep(false); document.getElementById("sub_total").innerHTML = makeDecimal(iSubTotal); CalculateTotal(); } function enablefields(status){ if (document.getElementById("ship_div")) { var ship_table = document.getElementById("ship_div"); //Enable field if (status == true){ ship_table.style.display = ""; }else{ ship_table.style.display = "none"; } } } function check_nextstep(status){ var next = document.getElementById("next") if (status == true){ next.disabled = false; next.src = 'Images/Webshop_Next.gif'; }else{ next.disabled = true; next.src = 'Images/Webshop_Next_Disabled.gif'; } } /* function make_decimal(price){ var iPrice, iPos; iPrice = price.toFixed(2); iPrice = iPrice+"";//convert to string iPrice = iPrice.replace(".",","); iPos = (iPrice.indexOf(",") + 1); if((iPrice.length - iPos) == 1) iPrice = iPrice + "0"; else if(iPos == 0) iPrice = iPrice + ",00"; return iPrice; }*/ //returns a number function makeNumber(sPrice){ var nNumber; sPrice = sPrice+""; if(cDecimalSeparator == ",") { if (sPrice.indexOf(",") > 0) { nNumber = parseFloat(sPrice.replace(",",".")); } else return (parseFloat(sPrice) + 0.0); } else nNumber = (parseFloat(sPrice) + 0.0); return nNumber; } // this functions makesure that the price has always 2 decimals. most have a . (dot) function makeDecimal(price){ var iPrice, iPos; var sPrice; iPrice = parseFloat(price); iPrice = iPrice.toFixed(2); sPrice = iPrice+"";//convert to string if (cDecimalSeparator == ",") sPrice = sPrice.replace(".", cDecimalSeparator); iPos = (sPrice.indexOf(cDecimalSeparator) + 1); if((sPrice.length - iPos) == 1) sPrice = sPrice + "0"; else if(iPos == 0) sPrice = sPrice + cDecimalSeparator + "00"; return sPrice; }