function changeCode() {
// set vars that don't change and initialize others
var accPrice = 0;
var priceSum = "Pricing:";
var weightSum = "Weight:";
var price = 0;
var accessPrice = 0;
var accessDescrip = "";
var accessoryPrice = 0;
var assemblyWeight = 0;
var accessWeight = 0;
var accessoryWeight = 0;
var MULTIno = 0;
var step1summary = "";
var step2summary = "";
var step3summary = "";
var alertNote = "";
var wirePrice = 0;
var KALprice = 0;
var KALSprice = 0;
// ====================== reset classes of all selection divs and table cells to UN-selected state
resetKalDivs();
resetMeterDivs();
// ================= reset summary boxes ==========================
document.getElementById('priceSummary').innerHTML = priceSummary;
document.getElementById('weightSummary').innerHTML = weightSummary;
document.getElementById('KALqty').style.display = 'none';
document.getElementById('WireQtySep').style.display = 'none';
document.getElementById('accessPriceText').style.display = 'none';
// ================================================ TYPE ====================================================
if (document.codeform.kal[0].checked) { document.getElementById('kal1').className="selectionChecked"; var kal = "KAL_D06"; var kalDescrip = "Single display for panel mounting"; }
if (document.codeform.kal[1].checked) { document.getElementById('kal2').className="selectionChecked"; var kal = "KAL_D06_NEMA"; var kalDescrip = "Single display in weatherproof enclosure"; }
if (document.codeform.kal[2].checked) { document.getElementById('kal3').className="selectionChecked"; var kal = "KAL_D06_LOCK"; var kalDescrip = "Single display in weatherproof enclosure with lockable reset button"; }
if (document.codeform.kal[3].checked) { document.getElementById('kal4').className="selectionChecked"; var kal = "KAL_D06_DUAL"; var kalDescrip = "Dual displays in weatherproof enclosure"; }
if (document.codeform.kal[4].checked) { document.getElementById('kal5').className="selectionChecked"; var kal = "KAL_D06_MULTI"; var kalDescrip = "Lockable weatherproof cabinet with clear hinged front door for up to 10 displays
digital displays sold separately"; document.getElementById('KALqty').style.display = 'block';}
var step1summary = kalDescrip;
document.getElementById('step1summary').innerHTML = step1summary;
//================================================= METER (WIRE) TYPE ==================================================================
if (document.codeform.Wire.checked) {
if (document.codeform.meter[0].checked) { document.getElementById('meter1').className="selectionChecked"; var meter = "WM"; var WIRE = "WM_C_SRS"; var meterDescrip = "WM, WMH, WM-C, WM-CH, WM-PC, WM-NLC, WM-NLCH multi-jet meters"; }
if (document.codeform.meter[1].checked) { document.getElementById('meter2').className="selectionChecked"; var meter = "D10"; var WIRE = "D10_C_SRS"; var meterDescrip = "D10 nutating disc positive displacement meters"; }
if (document.codeform.meter[2].checked) { document.getElementById('meter3').className="selectionChecked"; var meter = "PD"; var WIRE = "WM_PD_REED"; var meterDescrip = "WM-PD low flow piston positive displacement"; }
var WIREmc = WIRE.replace(/_/g, "-");
}
//---------------------------------------- CALCULATE QTY OF WIRES -----------------------------------------------------------------------
if (kal == "KAL_D06" || kal == "KAL_D06_NEMA" || kal == "KAL_D06_LOCK" ) {
var WireMult = 1;
}
if (kal == "KAL_D06_DUAL") {
var WireMult = 2;
}
if (kal == "KAL_D06_MULTI") {
var WireMult = document.codeform.MULTIno.value;
}
var KALqty = WireMult * document.codeform.qty.value;
if (document.codeform.WireQty[1].checked){ // --------------------------------- Use Separate Value from WireQtySep Field ------------
document.getElementById('WireQtySep').style.display = 'block';
var WIREqty = document.codeform.WireQtySep.value;
} else {
var WIREqty = KALqty;
}
// --------------------------------------------------------- Set all WIRE invisible field values -----------------------
if (document.codeform.Wire.checked) {
document.codeform.WIREprice.value = eval(WIRE+".price");
document.codeform.WIREweight.value = WIREqty * 0.1;
document.codeform.WIREqty.value = WIREqty;
document.codeform.WIREprodseries.value = 'for Part No. '+mc;
document.codeform.WIREprodname.value = 'Pulse_Output_Wire '+WIRE;
document.codeform.WIREid.value = WIREmc;
document.codeform.WIREinfo.value = "Pulse Output wire for "+meterDescrip+" series water meters";
var accessoryDescrip = "Wires:"; // ------------------ add details
} else {
document.codeform.WIREprice.value = "";
document.codeform.WIREweight.value = "";
document.codeform.WIREqty.value = "";
document.codeform.WIREprodseries.value = "";
document.codeform.WIREprodname.value = "";
document.codeform.WIREid.value = "";
document.codeform.WIREinfo.value = "";
}
// ============================================- END METER (WIRE) TYPE ====================================================================
// ===================== FIGURE KAL Discount ======================
//---------------------------------------------- Add KALS As Accessories ------------------------------
//--------------------------------------- (note: it takes the number from a different form field) -----
if (document.codeform.kal[4].checked) {
document.getElementById('KALqty').style.display = 'block';
var MULTIno = document.codeform.MULTIno.value;
// ================================= SET KAL AS ACCESSORY INFO ===============================================================================
document.codeform.KALinfo.value = "KAL-D06 Digital Display for KAL-D06-MULTI";
document.codeform.KALid.value = 'KAL-D06';
document.codeform.KALprodseries.value = 'for Part No. KAL-D06-MULTI';
// ------------------------------------------------------- KAL-D06 PRICE BASED ON QTY --------
if (MULTIno == 1 || MULTIno == 2) { // --------------------------------------------- 2 or less at FULL Price ---------
KALprice = Math.ceil(KAL_D06.price);
document.codeform.KALprice.value = KAL_D06.price;
document.codeform.KALweight.value = KAL_D06.weight;
}
if (MULTIno == 3 || MULTIno == 4 || MULTIno == 5) { // --------------------------------------------- 3 - 5 at 10% off ---------
KALprice = KAL_D06.price * 0.9;
var KALprice = Math.ceil(KALprice);
document.codeform.KALprice.value = KALprice;
document.codeform.KALweight.value = KAL_D06.weight;
}
if (MULTIno >= 6 ) { // ----------------------------------------------------------------- 6 or more at 20% off ---------
KALprice = KAL_D06.price * 0.8;
var KALprice = Math.ceil(KALprice);
document.codeform.KALprice.value = KALprice;
document.codeform.KALweight.value = KAL_D06.weight;
}
// ======================== END SET KAL AS ACCESORY INFO ======================================================================================
var accessoryDescrip = accessoryDescrip + "KALS:";
} else {
document.codeform.KALinfo.value = "";
document.codeform.KALid.value = '';
document.codeform.KALprodseries.value = 'for Part No. KAL-D06-MULTI';
document.codeform.weight.value = KAL_D06.weight;
}
// ======================================================== SET step 2 summary ==================================================
// document.codeform.CADmc.value=CADmc;
// =========================================================== SET MAIN QTY =============================================
var qty = document.codeform.qty.value;
// =========================================================== SET PRICING =============================================
var mc = kal;
var mc= mc.replace(/_/g, "-");
// ---------------------- MAIN Product Price (unit price) --------------------------
// TYPE =--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
if (qty == 1 || qty == 2) {
var kalPrice = eval(kal+".price");
}
if (qty == 3 || qty == 4 || qty == 5) {
var kalPrice = eval(kal+".price")*0.9;
}
if (qty >= 6) {
var kalPrice = eval(kal+".price")*0.8;
}
var kalPrice = Math.ceil(kalPrice);
var kalWeight = eval(kal+".weight");
// alert(kalPrice);
document.getElementById('price').innerHTML=kalPrice;
document.codeform.price.value=kalPrice;
var priceSum = priceSum + "
Display Price: "+kalPrice+" ("+kal+""+")";
var weightSum = weightSum + "
Display: "+kalWeight+" ("+kal+""+")";
var fullPrice = kalPrice * qty; // =========== just for when the KAL is the main product main product ------------------
// ---------------------- ACCESSORIES Prices --------------------------
if (document.codeform.kal[4].checked){ // ------------------------------- KALS (for MULTI ONLY)
var KALSprice = Math.ceil(KALprice*MULTIno);
var priceSum = priceSum + "
Accessories:
KALS Price: "+KALprice+" x "+MULTIno+" = "+KALSprice+")";
var weightSum = weightSum + "
Accessories:
Wires: "+KALweight+" x "+MULTIno+")";
var accessoryPrice = accessoryPrice + KALSprice;
var accessDescrip = "("+MULTIno + "x) KAL-D06 @ $"+KALprice+" = $"+KALSprice+"
";
}
if (document.codeform.Wire.checked){ // --------------------------------- WIRES
var wirePrice = eval(WIRE+".price")*WIREqty;
var wireWeight = eval(WIRE+".weight")*WIREqty;
var priceSum = priceSum + "
Accessories:
Wires Price: "+wirePrice+" ("+eval(WIRE+'.price')+" x "+WIREqty+" = "+wirePrice+")";
var weightSum = weightSum + "
Accessories:
Wires: "+wireWeight+" ("+eval(WIRE+".weight")+" x "+WIREqty+") = "+wireWeight+")";
var accessoryPrice = accessoryPrice + wirePrice;
var accessDescrip = accessDescrip + "("+WIREqty + "x) "+WIREmc+" @ $"+eval(WIRE+".price")+" = $"+wirePrice;
}
//alert("wirePrice = " + wirePrice);
//alert("KALSprice = " + KALSprice);
//alert("MULTIno = " + MULTIno);
var accessPrice = wirePrice + KALSprice;
//alert(accessPrice);
var totalPrice = (fullPrice + accessPrice);
document.getElementById('totalPrice').innerHTML = totalPrice;
// =========================================================== SET PIC =============================================
var pic = mc;
document.getElementById('mainIMG').src = "/digital-pulse-counter/models/"+pic+".jpg";
document.codeform.imgsrc.value="/digital-pulse-counter/models/"+pic+".jpg";
// =========================================================== SET DESCRIPTION =============================================
var fullSummary = step1summary + "
" + step2summary; // + "
"; + step3summary;
if (alertNote != "") {
//alert('oooooops');
var fullSummary = fullSummary + "
" + alertNote;
}
document.getElementById('fullSummary').innerHTML = fullSummary;
document.codeform.info.value=fullSummary;
document.codeform.id.value=mc;
document.getElementById('PN').innerHTML = mc;
// ======================================= SHOW ACCESSORIES DESCRIPTION ================================
if (accessPrice != 0) {
document.getElementById('accessPriceText').style.display="block";
document.getElementById('accessPrice').innerHTML=accessPrice;
document.getElementById('accessSummary').innerHTML=accessDescrip;
} else {
document.getElementById('accessPriceText').style.display="none";
}
// ======================================= Write Price descriptions to BOMs ================================
document.getElementById('priceSummary').innerHTML = "see above";
document.getElementById('weightSummary').innerHTML = "see above";
}
// ========================================================== END OF MAIN changecode FUNCTION ============================================================
// ============================================================= OTHER FUNCTIONS =========================================================
function addToCart() {
document.codeform.submit();
// alert ('not quite yet... need to add in pricing');
}
function showHideAccess(item) {
if (document.getElementById(item+"BOX").style.display == "none") {
document.getElementById(item+"BOX").style.display = "block";
document.getElementById(item+"HEAD").className = "accessHeadOpen";
document.getElementById(item).checked = 1;
} else {
document.getElementById(item+"BOX").style.display = "none";
document.getElementById(item+"HEAD").className = "accessHead";
document.getElementById(item).checked = 0;
}
}
function resetKalDivs() {
document.getElementById('kal1').className="selection";
document.getElementById('kal2').className="selection";
document.getElementById('kal3').className="selection";
document.getElementById('kal4').className="selection";
document.getElementById('kal5').className="selection";
}
function resetMeterDivs() {
document.getElementById('meter1').className="selection";
document.getElementById('meter2').className="selection";
document.getElementById('meter3').className="selection";
}
function closeStep(step) {
document.getElementById('step'+step+'close').style.display="none";
document.getElementById('step'+step+'edit').style.display="block";
document.getElementById('step'+step+'section').style.display="none";
document.getElementById('step'+step+'summary').style.display="block";
}
function editStep(step) {
document.getElementById('step'+step+'close').style.display="block";
document.getElementById('step'+step+'edit').style.display="none";
document.getElementById('step'+step+'section').style.display="block";
document.getElementById('step'+step+'summary').style.display="none";
}