function stopError() { return true; } window.onerror = stopError; function recalcPrice(productID) { eval("thisPrice = baseprice"+productID+";"); eval("thisPriceExTax = basepriceExTax"+productID+";"); eval("thisPriceIncTax = basepriceIncTax"+productID+";"); eval("thisPriceTax = basepriceTax"+productID+";"); eval("thisOOPrice = oobaseprice"+productID+";"); eval("thisOOPriceExTax = oobasepriceExTax"+productID+";"); eval("thisOOPriceIncTax = oobasepriceIncTax"+productID+";"); eval("thisOOPriceTax = oobasepriceTax"+productID+";"); currentValues = new Array(efcount); eval ("qtybox = document.productForm"+productID+".qty"+productID+";"); qty = 1; if (typeof qtybox != "undefined") { eval("qtyboxtype = qtybox.type"); if (qtyboxtype == "select-one") { qty = qtybox.options[qtybox.selectedIndex].text; } if (qtyboxtype == "text") { qty = qtybox.value; } } for (f = 0; f < efcount; f++) { currentValues[extrafields[f]] = ""; eval("result = document.productForm"+productID+"."+extrafields[f]+";"); if (extrafieldstype[f] == "CHECKBOXES") { eval("result = document.productForm"+productID+"."+extrafields[f]+"1;"); } if (extrafieldstype[f] == "RADIOBUTTONS") { if (eval("document.productForm"+productID+"."+extrafields[f]+";")) { eval("result = document.productForm"+productID+"."+extrafields[f]+".length;"); if (result > 0) { result = "radio"; } } } if (typeof result != "undefined" || result=="radio") { if (result != "radio") { eval("fieldtype = result.type;"); } else { fieldtype = "radio"; } if (fieldtype=="select-one") { content = result.options[result.selectedIndex].value; currentValues[extrafields[f]] = content; } if (fieldtype=="checkbox") { content = ""; thisOne = 1; while (typeof result != "undefined") { if (result.checked == true) { if (content != "") { content = content+";"; } content = content + result.value; } thisOne = thisOne + 1; eval("result = document.productForm"+productID+"."+extrafields[f]+thisOne+";"); } currentValues[extrafields[f]] = content; } if (fieldtype=="radio") { eval("radlength = document.productForm"+productID+"."+extrafields[f]+".length;"); for (g = 0; g < radlength; g++) { eval("thisoption = document.productForm"+productID+"."+extrafields[f]+"["+g+"].checked;"); if (thisoption == true) { eval("thisvalue = document.productForm"+productID+"."+extrafields[f]+"["+g+"].value;"); currentValues[extrafields[f]] = thisvalue; } } } } } eval ("arraylength = parray"+productID+".length;"); eval ("advArray = parray"+productID+";"); for (f = 0; f < arraylength; f++) { applicable = false; if (parseInt(advArray[f]["qtyfrom"]) != -1 && parseInt(advArray[f]["qtyto"]) != -1 && parseInt(advArray[f]["qtyto"]) != 0) { //quantity is applicable here if (parseInt(qty) >= parseInt(advArray[f]["qtyfrom"]) && parseInt(qty) <= parseInt(advArray[f]["qtyto"])) { applicable = true; } } else { applicable = true; } thisapplic = true; foundMatches = 0; for (g = 0; g < efcount; g++) { if (advArray[f][extrafields[g]] != "" && advArray[f][extrafields[g]] != "0") { splitCheck = advArray[f][extrafields[g]].split(";"); splitapplic = false; for (k = 0; k < splitCheck.length; k++) { splitValues = currentValues[extrafields[g]].split(";"); for (l = 0; l < splitValues.length; l++) { if ((splitCheck[k] == splitValues[l] && splitCheck[k] != "" && splitValues[l] != "")) { splitapplic = true; if (extrafieldstype[g] == "CHECKBOXES") { foundMatches = foundMatches + 1; } } } } if (splitapplic == true && thisapplic == true) { thisapplic = true; } else { thisapplic = false; } } } if (thisapplic == true && applicable == true) { applicable = true; } else { applicable = false; } if (applicable == true) { //new base price if (foundMatches == 0) { foundMatches =1; } if (parseInt(advArray[f]["priceType"]) == 0) { if (parseFloat(advArray[f]["percentage"]) > 0) { thisPrice = thisPrice + (thisPrice * ((eval(advArray[f]["percentage"])/100))); thisPriceExTax = thisPriceExTax + (thisPriceExTax * ((eval(advArray[f]["percentage"])/100))); thisPriceIncTax = thisPriceIncTax + (thisPriceIncTax * ((eval(advArray[f]["percentage"])/100))); thisPriceTax = thisPriceTax + (thisPriceTax * ((eval(advArray[f]["percentage"])/100))); } if (parseFloat(advArray[f]["percentage"]) < 0) { thisPrice = thisPrice - (thisPrice * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisPriceExTax = thisPriceExTax - (thisPriceExTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisPriceIncTax = thisPriceIncTax - (thisPriceIncTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisPriceTax = thisPriceTax - (thisPriceTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); } if (parseFloat(advArray[f]["percentage"]) == 0) { thisPrice = eval(advArray[f]["price"]); thisPriceExTax = eval(advArray[f]["priceExTax"]); thisPriceIncTax = eval(advArray[f]["priceIncTax"]); thisPriceTax = eval(advArray[f]["priceTax"]); } } if (parseInt(advArray[f]["priceType"]) == 1) { if (parseFloat(advArray[f]["percentage"]) > 0) { for (m = 1; m <= foundMatches; m++) { thisPrice = thisPrice + (thisPrice * ((eval(advArray[f]["percentage"])/100))); thisPriceExTax = thisPriceExTax + (thisPriceExTax * ((eval(advArray[f]["percentage"])/100))); thisPriceIncTax = thisPriceIncTax + (thisPriceIncTax * ((eval(advArray[f]["percentage"])/100))); thisPriceTax = thisPriceTax + (thisPriceTax * ((eval(advArray[f]["percentage"])/100))); } } if (parseFloat(advArray[f]["percentage"]) < 0) { for (m = 1; m <= foundMatches; m++) { thisPrice = thisPrice - (thisPrice * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisPriceExTax = thisPriceExTax - (thisPriceExTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisPriceIncTax = thisPriceIncTax - (thisPriceIncTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisPriceTax = thisPriceTax - (thisPriceTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); } } if (parseFloat(advArray[f]["percentage"]) == 0) { for (m = 1; m <= foundMatches; m++) { thisPrice = thisPrice + eval(advArray[f]["price"]); thisPriceExTax = thisPriceExTax + eval(advArray[f]["priceExTax"]); thisPriceIncTax = thisPriceIncTax + eval(advArray[f]["priceIncTax"]); thisPriceTax = thisPriceTax + eval(advArray[f]["priceTax"]); } } } if (parseInt(advArray[f]["priceType"]) == 2) { if (parseFloat(advArray[f]["percentage"]) > 0) { for (m = 1; m <= foundMatches; m++) { thisPrice = thisPrice - (thisPrice * (eval(advArray[f]["percentage"])/100)); thisPriceExTax = thisPriceExTax - (thisPriceExTax * (eval(advArray[f]["percentage"])/100)); thisPriceIncTax = thisPriceIncTax - (thisPriceIncTax * (eval(advArray[f]["percentage"])/100)); thisPriceTax = thisPriceTax - (thisPriceTax * (eval(advArray[f]["percentage"])/100)); } } if (parseFloat(advArray[f]["percentage"]) < 0) { for (m = 1; m <= foundMatches; m++) { thisPrice = thisPrice - (thisPrice * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisPriceExTax = thisPriceExTax - (thisPriceExTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisPriceIncTax = thisPriceIncTax - (thisPriceIncTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisPriceTax = thisPriceTax - (thisPriceTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); } } if (parseFloat(advArray[f]["percentage"]) == 0) { for (m = 1; m <= foundMatches; m++) { thisPrice = thisPrice - eval(advArray[f]["price"]); thisPriceExTax = thisPriceExTax - eval(advArray[f]["priceExTax"]); thisPriceIncTax = thisPriceIncTax - eval(advArray[f]["priceIncTax"]); thisPriceTax = thisPriceTax - eval(advArray[f]["priceTax"]); } } } if (parseInt(advArray[f]["priceType"]) == 4) { if (parseFloat(advArray[f]["percentage"]) > 0) { for (m = 1; m <= foundMatches; m++) { thisOOPrice = thisOOPrice - (thisOOPrice * (eval(advArray[f]["percentage"])/100)); thisOOPriceExTax = thisOOPriceExTax - (thisOOPriceExTax * (eval(advArray[f]["percentage"])/100)); thisOOPriceIncTax = thisOOPriceIncTax - (thisOOPriceIncTax * (eval(advArray[f]["percentage"])/100)); thisOOPriceTax = thisOOPriceTax - (thisOOPriceTax * (eval(advArray[f]["percentage"])/100)); } } if (parseFloat(advArray[f]["percentage"]) < 0) { for (m = 1; m <= foundMatches; m++) { thisOOPrice = thisOOPrice - (thisPrice * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisOOPriceExTax = thisOOPriceExTax - (thisOOPriceExTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisOOPriceIncTax = thisOOPriceIncTax - (thisOOPriceIncTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); thisOOPriceTax = thisOOPriceTax - (thisOOPriceTax * (Math.abs(eval(advArray[f]["percentage"]))/100)); } } if (parseFloat(advArray[f]["percentage"]) == 0) { for (m = 1; m <= foundMatches; m++) { thisOOPrice = eval(advArray[f]["price"]); thisOOPriceExTax = eval(advArray[f]["priceExTax"]); thisOOPriceIncTax = eval(advArray[f]["priceIncTax"]); thisOOPriceTax = eval(advArray[f]["priceTax"]); } } } } } displayPrice = presentValue(thisPrice,cDP,cPreT,cMidT,cPostT); changeContent("priceSpan"+productID,"priceLayer"+productID,displayPrice); displayPrice = presentValue(thisPriceExTax,cDP,cPreT,cMidT,cPostT); changeContent("priceExTaxSpan"+productID,"priceExTaxLayer"+productID,displayPrice); displayPrice = presentValue(thisPriceIncTax,cDP,cPreT,cMidT,cPostT); changeContent("priceIncTaxSpan"+productID,"priceIncTaxLayer"+productID,displayPrice); displayPrice = presentValue(thisPriceTax,cDP,cPreT,cMidT,cPostT); changeContent("priceTaxSpan"+productID,"priceTaxLayer"+productID,displayPrice); displayPrice = presentValue(thisOOPrice,cDP,cPreT,cMidT,cPostT); changeContent("oopriceSpan"+productID,"oopriceLayer"+productID,displayPrice); displayPrice = presentValue(thisOOPriceExTax,cDP,cPreT,cMidT,cPostT); changeContent("oopriceExTaxSpan"+productID,"oopriceExTaxLayer"+productID,displayPrice); displayPrice = presentValue(thisOOPriceIncTax,cDP,cPreT,cMidT,cPostT); changeContent("oopriceIncTaxSpan"+productID,"oopriceIncTaxLayer"+productID,displayPrice); displayPrice = presentValue(thisOOPriceTax,cDP,cPreT,cMidT,cPostT); changeContent("oopriceTaxSpan"+productID,"oopriceTaxLayer"+productID,displayPrice); } isNS4 = (document.layers) ? true : false; isIE4 = (document.all && !document.getElementById) ? true : false; isIE5 = (document.all && document.getElementById) ? true : false; isNS6 = (!document.all && document.getElementById) ? true : false; function changeContent(theDiv,theLayer,newText) { if (isNS4){ elm = document.layers[theLayer]; elm.document.open(); elm.document.write(newText); elm.document.close(); } else if (isIE4) { elm = document.all[theDiv]; elm.innerText = newText; } else if (isIE5) { elm = document.getElementById(theDiv); if (elm) { elm.innerText = newText; } } else if (isNS6) { var elmw = document.getElementById(theDiv); if (elmw) { elmw.childNodes[0].nodeValue = newText; } } } function presentValue(value,dp,pt,mt,at) { if(value<=0.9999) { newPounds='0'; } else { newPounds=parseInt(value); } dec='1'; for (var i=1; i<=dp;i++) { dec=dec+'0'; } if (value>0) { newPence=Math.round((eval(value)+.000008 - newPounds)*(eval(dec))); } else { newPence=0; } compstring='9'; for (var i=1; i <=dp-1;i++) { if (eval(newPence) <= eval(compstring)) newPence='0'+newPence; compstring=compstring+'9'; } if (dp>0) { if (newPence==eval(dec)) { newPounds++; newPence='00'; } newString=pt+newPounds+mt+newPence+at; } else { newString=pt+newPounds+at; } return (newString); } function zoom (url) { z = window.open('','zoom_popUp','status=0,directories=0,toolbar=0,menubar=0,resizable=1,scrollbars=1,location=0, height=500,width=525'); z.document.write('\n
\n