// common js functions that work on all sheds function getNYPrice(wideSize) { var sizeSel = document.getElementById('size').selectedIndex; var sizeName = document.getElementById('size').options[sizeSel].text.split('x'); sizeName = sizeName[0]; sizeName = parseInt(sizeName); wideSize = parseInt(wideSize); var NYPrice = 0; if(document.getElementById('NYCityBox').checked==true) { NYPrice += 100; if(sizeName >= wideSize) { document.getElementById('normal').disabled=true; if(document.getElementById('normal').checked==true){document.getElementById('kit').checked=true;} } else { document.getElementById('normal').disabled=false; } } else { document.getElementById('normal').disabled=false; } return NYPrice; } function getNYPriceNE(wideSize) { var sizeSel = document.getElementById('shedSize').selectedIndex; var sizeName = document.getElementById('shedSize').options[sizeSel].text.split('x'); sizeName = sizeName[0]; sizeName = parseInt(sizeName); wideSize = parseInt(wideSize); var NYPrice = 0; if(document.getElementById('NYCityBox').checked==true) { NYPrice += 100; if(sizeName >= wideSize) { document.getElementById('normal').disabled=true; if(document.getElementById('normal').checked==true){document.getElementById('kit').checked=true;} } else { document.getElementById('normal').disabled=false; } } else { document.getElementById('normal').disabled=false; } return NYPrice; } //ramp functions function disableRamp(side) { document.getElementById('ramp' + side).checked = false; document.getElementById('ramp' + side).disabled = true; document.getElementById('rampLabel' + side).style.color = "#999"; switch (side) { case "Front": Wall1.Ramp = 0; break; case "Left": Wall2.Ramp = 0; break; case "Right": Wall4.Ramp = 0; break; } } function enableRamp(side) { document.getElementById('ramp' + side).disabled = false; document.getElementById('rampLabel' + side).style.color = "#000"; } function setRampPrice(wall) {get if (wall.Door_width > 72) { document.getElementById('ramp' + wall.Wall_side).setAttribute('price',170); } else { document.getElementById('ramp' + wall.Wall_side).setAttribute('price',85); } } // turns off doors on the other side of the shed function turnOffDoors(side) { if (side == "Right") { Wall4.Door_width = 0; Wall4.Ramp = 0; } if (side == "Left") { Wall2.Door_width = 0; Wall2.Ramp = 0; } document.getElementById('noDoor' + side).checked = true; for (e=1; e < document.getElementsByName('door' + side).length; e++) { var elem = document.getElementsByName('door' + side)[e]; elem.disabled = true; document.getElementById(elem.id + "Label").style.color = "#999"; var rampElem = document.getElementById('ramp' + side); } } // decided that we don't want a door on this side after all so enable the other side function turnOnDoors(wall) { var side = wall.Wall_side; for (e=1; e < document.getElementsByName('door' + side).length; e++) { var elem = document.getElementsByName('door' + side)[e]; elem.disabled = false; document.getElementById(elem.id + "Label").style.color = "#000"; } doorSizeCheck(wall); } function windowSizeCheck(wall) { var remainingSpace = wall.Size - wall.Door_width; for (e=0; e < document.quoteForm.elements.length; e++) { var el = document.quoteForm.elements[e]; if (el.getAttribute('windowgroup') == wall.Wall_side) { if (el.getAttribute('windowwidth') > remainingSpace) { el.disabled = true; document.getElementById(el.id + 'Label').style.color = "#999"; // loop through the form and check the next largest option if (document.getElementById('noWindow' + wall.Wall_side).checked == false) { for (f=0; f < document.quoteForm.elements.length; f++) { var fel = document.quoteForm.elements[f]; // if the element is a member of the group, // && is less than the remaining width, // && the no windows radio button isn't checked, // check the element // since the windows are listed in ascending order, // it will check the next largest option if a larger option was disabled if (fel.getAttribute('windowgroup') == wall.Wall_side && fel.getAttribute('windowwidth') <= remainingSpace) { fel.checked = true; } } } } else { el.disabled = false; document.getElementById(el.id + 'Label').style.color = "#000"; } } } toggleWindowOptions(); } function doorSizeCheck(wall) { for (e=0; e < document.quoteForm.elements.length; e++) { var el = document.quoteForm.elements[e]; if (el.getAttribute('doorgroup') == wall.Wall_side) { if (el.getAttribute('doorwidth') > wall.Size || el.getAttribute('doorheight') > Shed.Shed_height) { el.disabled = true; document.getElementById(el.id + 'Label').style.color = "#999"; if (document.getElementById('noDoor' + wall.Wall_side).checked == false) { for (f=0; f < document.quoteForm.elements.length; f++) { var fel = document.quoteForm.elements[f]; if (fel.getAttribute('doorgroup') == wall.Wall_side && fel.getAttribute('doorwidth') <= wall.Size) { fel.checked = true; wall.Door_width = Number(fel.getAttribute('doorwidth')); } } } } else { el.disabled = false; document.getElementById(el.id + 'Label').style.color = "#000"; } } } } function toggleWindowOptions() { var numShutters = 0; var numFlowerBoxes = 0; var fbEl = document.getElementById('flowerBox'); var fbLa = document.getElementById('fbLabel'); var shEl = document.getElementById('shutterColor'); var shLa = document.getElementById('shutterColorLabel'); for (x=0;x < document.quoteForm.elements.length;x++) { var el = document.quoteForm.elements[x]; if (el.getAttribute('shutterpairs') != null && el.checked == true) numShutters += Number(el.getAttribute('shutterpairs')); if (el.getAttribute('flowerboxes') != null && el.checked == true) numFlowerBoxes += Number(el.getAttribute('flowerboxes')); } fbEl.setAttribute("price", 36 * numFlowerBoxes); for (x=1;x < shEl.options.length;x++) { shEl.options[x].setAttribute("price", 25 * numShutters); } // enable/disable shutterColor and flowerBox if (numFlowerBoxes > 0) { fbEl.disabled = false; fbLa.style.color = "#000"; shEl.disabled = false; shEl.style.color = "#000"; shLa.style.color = "#000"; } else { shEl.disabled = true; shEl.style.color = "#999"; shLa.style.color = "#999"; fbEl.checked = false; fbEl.disabled = true; fbLa.style.color = "#999"; } } function getAPrice() { var totalPrice = Number(0); var oldGroup = ""; var shedDesc = "

" + Shed.Shed_type.replace(/_/g," ") + "

"; for (x=0;x < document.quoteForm.elements.length;x++) { var el = document.quoteForm.elements[x]; switch (el.tagName) { case "INPUT": switch (el.type) { case "checkbox": if (el.checked == true && el.getAttribute("price") != null) { totalPrice = Number(totalPrice) + Number(el.getAttribute("price")); if (el.getAttribute("descgroup") != oldGroup) { shedDesc += "
" + el.getAttribute("descgroup") + "
"; oldGroup = el.getAttribute("descgroup"); } shedDesc += "
" + el.getAttribute("description") + "
"; } break; case "radio": if (el.checked == true && el.getAttribute("price") != null) { totalPrice = Number(totalPrice) + Number(el.getAttribute("price")); if (el.getAttribute("descgroup") != oldGroup) { shedDesc += "
" + el.getAttribute("descgroup") + "
"; oldGroup = el.getAttribute("descgroup"); } shedDesc += "
" + el.getAttribute("description") + "
"; } break; case "text": if (el.getAttribute("price") != null && el.getAttribute("price") != "") { totalPrice = Number(totalPrice) + Number(el.getAttribute("price")); if (el.getAttribute("descgroup") != oldGroup) { shedDesc += "
" + el.getAttribute("descgroup") + "
"; oldGroup = el.getAttribute("descgroup"); } shedDesc += "
" + el.getAttribute("description") + "
"; } break; default: break; } break; case "SELECT": var si = el.selectedIndex; if (el.options[si].getAttribute("price") != null) { totalPrice = Number(totalPrice) + Number(el.options[si].getAttribute("price")); } if (el.options[si].getAttribute("description") != null && el.options[si].getAttribute("description") != "") { if (el.options[si].getAttribute("descgroup") != oldGroup) { shedDesc += "
" + el.options[si].getAttribute("descgroup") + "
"; oldGroup = el.options[si].getAttribute("descgroup"); } shedDesc += "
" + el.options[si].getAttribute("description") + "
"; } break; case "TEXTAREA": if (el.value != "") { shedDesc += "
" + el.getAttribute("description") + "
"; } break; default: break; } } // Shipping shedDesc += "
Shipping
" + document.getElementById('message').innerHTML + "
"; if (document.getElementById('normal').checked == true) { shedDesc += "
Ship shed pre-built
"; } else if (document.getElementById('kit').checked == true) { shedDesc += "
Ship shed in a shrinkwrapped kit
"; } else if (document.getElementById('build').checked == true) { shedDesc += "
Backyard Creations will build your shed on site
"; } if (document.getElementById('build').checked == true) totalPrice += totalPrice * 0.25; if (state == "PA") totalPrice += totalPrice * 0.06; shedDesc += "

Total: $" + totalPrice.toFixed(2) + "
"; document.hiddenForm.parameters.value = shedDesc; document.getElementById("quotebox1").innerHTML = "$" + totalPrice.toFixed(2); document.getElementById("quotebox2").innerHTML = "$" + totalPrice.toFixed(2); } function setShelfLF(val) { if (val.match(/^\d+$/)) { document.getElementById('shelfLF').setAttribute('price',val * 6); document.getElementById('shelfLF').setAttribute('description',val + " lf. shelves"); setShelfLayout(document.getElementById('shelfInstructions').value); } else if (val == "") { document.getElementById('shelfLF').setAttribute('price',''); document.getElementById('shelfLF').setAttribute('description',''); document.getElementById('shelfInstructions').setAttribute('description',''); } else { document.getElementById('shelfLF').setAttribute('price',''); document.getElementById('shelfLF').setAttribute('description',''); document.getElementById('shelfInstructions').setAttribute('description',''); alert ("Please only enter digits in this field"); } } function setShelfLayout(val) { if (val != '') { document.getElementById('shelfInstructions').setAttribute('description', "Shelf Layout: " + val); } else { document.getElementById('shelfInstructions').setAttribute('description', ''); } } function changeSize() { // get the selected size var ind = document.quoteForm.shedSize.selectedIndex var selectedItem = document.quoteForm.shedSize.options[ind]; // change Shed properties var wholeSize = selectedItem.getAttribute("shedsize"); var wsa = wholeSize.split("x"); Shed.Shed_depth = Number(wsa[0]); Shed.Shed_width = Number(wsa[1]); if (wsa[2]) Shed.Shed_height = Number(wsa[2]); Wall1.Size = Shed.Shed_width * 12; Wall2.Size = Shed.Shed_depth * 12; Wall3.Size = Shed.Shed_width * 12; Wall4.Size = Shed.Shed_depth * 12; // get the vinyl price based on the selected size var vinylValue = selectedItem.getAttribute("vinylpremium"); // loop through the siding select and set the appropriate values for (x=1;x < document.quoteForm.siding.options.length;x++) { var sidingOption = document.quoteForm.siding.options[x]; if (sidingOption.getAttribute("sidingtype") == "vinyl") { sidingOption.setAttribute("price",vinylValue); } } // set the flooring costs var fe = document.getElementsByName('flooring'); for (x=0;x < fe.length;x++) { fe[x].setAttribute("price", fe[x].getAttribute("pricesf") * Shed.Shed_depth * Shed.Shed_width); } // set the ridge vent cost if (document.getElementById("ridge_vent")) document.getElementById("ridge_vent").setAttribute("price",((Shed.Shed_width - 2) * 8)); doorSizeCheck(Wall1); doorSizeCheck(Wall2); doorSizeCheck(Wall4); windowSizeCheck(Wall1); windowSizeCheck(Wall2); windowSizeCheck(Wall4); }