// 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 = "