/** * Объект калькулятора */ Drupal.Calculator = new Object; /** * */ Drupal.Calculator.init = function(form) { if (!$("body").hasClass("calculator")) { return; } $.preloadImages(Drupal.settings.basePath + "sites/all/modules/arwm_calculator/images/window_setka_bg.jpg"); Drupal.Calculator.Switcher.init(); Drupal.Calculator.Selector.init(); Drupal.Calculator.Tooltip.init(); // Sliders sliderProps = { animate: true, max: 120, min: 50, step: 10, range: "min" }; sliderProps.slide = function(event, ui) { $("#section-horisontal-1-width").val(ui.value); $(this).find(".value").html(ui.value); Drupal.Calculator.calculate(); }; sliderProps.value = $("#section-horisontal-1-width").val(); $("#calculator-scrollbar-bottom-section-1").slider(sliderProps); sliderProps.slide = function(event, ui) { $("#section-horisontal-2-width").val(ui.value); $(this).find(".value").html(ui.value); Drupal.Calculator.calculate(); }; sliderProps.value = $("#section-horisontal-2-width").val(); $("#calculator-scrollbar-bottom-section-2").slider(sliderProps); sliderProps.slide = function(event, ui) { $("#section-horisontal-3-width").val(ui.value); $(this).find(".value").html(ui.value); Drupal.Calculator.calculate(); }; sliderProps.value = $("#section-horisontal-3-width").val(); $("#calculator-scrollbar-bottom-section-3").slider(sliderProps); sliderProps.orientation = 'vertical'; sliderProps.min = 50; sliderProps.max = 160; sliderProps.step = 10; sliderProps.slide = function(event, ui) { $("#section-vertical-height").val(ui.value); $(this).find(".value").html(ui.value); Drupal.Calculator.calculate(); }; sliderProps.value = $("#section-vertical-height").val(); $("#calculator-scrollbar-left-section").slider(sliderProps); $("#calculator-scrollbar-bottom-section-1 .ui-slider-handle,").html('
' + $("#section-horisontal-1-width").val() + '
'); $("#calculator-scrollbar-bottom-section-2 .ui-slider-handle,").html('
' + $("#section-horisontal-2-width").val() + '
'); $("#calculator-scrollbar-bottom-section-3 .ui-slider-handle,").html('
' + $("#section-horisontal-3-width").val() + '
'); $("#calculator-scrollbar-left-section .ui-slider-handle,").html('
' + $("#section-vertical-height").val() + '
'); // Calculator hover $("#calculator").hover(function(){ $("#calculator-scrollbar-left").animate({ left: '0' }, 200); $("#calculator-scrollbar-bottom").animate({ bottom: '0' }, 200); $(".window-outer").fadeIn(200); }, function(){ $("#calculator-scrollbar-left").animate({ left: '-82px' }, 200); $("#calculator-scrollbar-bottom").animate({ bottom: '-82px' }, 200); $(".window-outer").fadeOut(200).hide(); }); // Set default value Drupal.Calculator.calculate(); $("#calculator-selector-windows-2 a").click(); $("#content .block-webformblock .h2").wrapInner("").toggle(function(){ $("#content .block-webformblock .node").slideDown(200); }, function(){ $("#content .block-webformblock .node").slideUp(200); }); }; /** * */ Drupal.Calculator.calculate = function(){ // Ширина/высота окна $("#calculator-display .wrapper .c-c.section-1").width($("#section-horisontal-1-width").val() + "px"); $("#calculator-display .wrapper .c-c.section-2").width($("#section-horisontal-2-width").val() + "px"); $("#calculator-display .wrapper .c-c.section-3").width($("#section-horisontal-3-width").val() + "px"); $("#calculator-display .wrapper .c-c").height($("#section-vertical-height").val() + "px"); // Шторы var dem = 270 - ($("#calculator-display").width() / 2); if (dem < 100) { dem = 100; } $("#calculator-curtain-left").css("left", dem + "px"); $("#calculator-curtain-right").css("right", dem + "px"); // $("#calculator-display .c-c.section-1").removeClass("type-a type-b type-c").addClass("type-" + $("#section-horisontal-1-type").val()); $("#calculator-display .c-c.section-2").removeClass("type-a type-b type-c").addClass("type-" + $("#section-horisontal-2-type").val()); $("#calculator-display .c-c.section-3").removeClass("type-a type-b type-c").addClass("type-" + $("#section-horisontal-3-type").val()); // Setka if ('true' == $("#section-horisontal-1-setka").val()) { $("#calculator-display .c-c.section-1").addClass("setka"); } else { $("#calculator-display .c-c.section-1").removeClass("setka"); } if ('true' == $("#section-horisontal-2-setka").val()) { $("#calculator-display .c-c.section-2").addClass("setka"); } else { $("#calculator-display .c-c.section-2").removeClass("setka"); } if ('true' == $("#section-horisontal-3-setka").val()) { $("#calculator-display .c-c.section-3").addClass("setka"); } else { $("#calculator-display .c-c.section-3").removeClass("setka"); } if ($("#section-horisontal-1-type").val() == 'a') { $("#calculator-display .section-1 .ruchka").fadeOut(200, function(){$(this).hide();}); } else { $("#calculator-display .section-1 .ruchka").fadeIn(200, function(){$(this).show();}); } if ($("#section-horisontal-2-type").val() == 'a') { $("#calculator-display .section-2 .ruchka").fadeOut(200, function(){$(this).hide();}); } else { $("#calculator-display .section-2 .ruchka").fadeIn(200, function(){$(this).show();}); } if ($("#section-horisontal-3-type").val() == 'a') { $("#calculator-window .section-3 .ruchka").fadeOut(200, function(){$(this).hide();}); } else { $("#calculator-window .section-3 .ruchka").fadeIn(200, function(){$(this).show();}); } /** * 1 - окно * 2 - балкон */ var type = $("#section-type").val(); // Расчет калькулятора var E4 = 210; /* высота дверного проёма, от 1750 до 2500, шаг 50 */ var E8 = 200; /* ширина подоконника мм, от 200 до 700, шаг 50 */ var E6 = $("#section-vertical-height").val() * 10; /* общая высота окна, от 500 до 2100, шаг 100 */ var E9 = 200; /* ширина откосов (если нужны), от 200 до 700, шаг 50 */ var E10 = 150; /* ширина отлива мм, 150 (150) либо 200 (200) */ var E11 = 2; /* какой стеклопакет, два стекла (2) / три стекла (3) */ /* Створка 1 */ var E15 = $("#section-horisontal-1-width").val() * 10; /* ширина мм, от 500 до 1200, шаг 100 */ var E16 = Drupal.Calculator.typeProcessor($("#section-horisontal-1-type").val()); /* тип, глухая (1) / поворотная (2) / поворотно-откидная (3) */ var E17 = Drupal.Calculator.setkaProcessor($("#section-horisontal-1-setka").val()); /* моск сетка, да (1) / нет (2) */ var E18 = 0; /* гребёнка, да (1) / нет (2) */ var E19 = 0; /* микрощелевое проветривание, да (1) / нет (2) */ /* Створка 2 */ if (1 == type) { var E22 = ($("#section-num").val() != 1) ? ($("#section-horisontal-2-width").val() * 10) : 0; /* ширина мм, от 500 до 1200, шаг 100 */ var E23 = Drupal.Calculator.typeProcessor($("#section-horisontal-2-type").val()); /* тип, глухая (1) / поворотная (2) / поворотно-откидная (3) */ var E24 = Drupal.Calculator.setkaProcessor($("#section-horisontal-2-setka").val()); /* моск сетка, да (1) / нет (2) */ var E25 = 0; /* гребёнка, да (1) / нет (2) */ var E26 = 0; /* микрощелевое проветривание, да (1) / нет (2) */ } else { var E22 = ($("#section-num").val() == 3) ? ($("#section-horisontal-2-width").val() * 10) : 0; /* ширина мм, от 500 до 1200, шаг 100 */ var E23 = Drupal.Calculator.typeProcessor($("#section-horisontal-2-type").val()); /* тип, глухая (1) / поворотная (2) / поворотно-откидная (3) */ var E24 = Drupal.Calculator.setkaProcessor($("#section-horisontal-2-setka").val()); /* моск сетка, да (1) / нет (2) */ var E25 = 0; /* гребёнка, да (1) / нет (2) */ var E26 = 0; /* микрощелевое проветривание, да (1) / нет (2) */ } /* Створка 3 */ if (1 == type) { var E29 = ($("#section-num").val() == 3) ? ($("#section-horisontal-3-width").val() * 10) : 0; /* ширина мм, от 500 до 1200, шаг 100 */ var E30 = Drupal.Calculator.typeProcessor($("#section-horisontal-3-type").val()); /* тип, глухая (1) / поворотная (2) / поворотно-откидная (3) */ var E31 = Drupal.Calculator.setkaProcessor($("#section-horisontal-3-setka").val()); /* моск сетка, да (1) / нет (2) */ var E32 = 0; /* гребёнка, да (1) / нет (2) */ var E33 = 0; /* микрощелевое проветривание, да (1) / нет (2) */ } else { var E29 = $("#section-horisontal-3-width").val() * 10; /* ширина мм, от 500 до 1200, шаг 100 */ var E30 = Drupal.Calculator.typeProcessor($("#section-horisontal-3-type").val()); /* тип, глухая (1) / поворотная (2) / поворотно-откидная (3) */ var E31 = 2; /* моск сетка, да (1) / нет (2) */ var E32 = 0; /* гребёнка, да (1) / нет (2) */ var E33 = 0; /* микрощелевое проветривание, да (1) / нет (2) */ } var E7 = E15 + E22 + E29; var E7 = E15 + E22 + E29; var J5 = 26; /* Курс USD */ var K5 = 37.08 * 1.03; /* Курс EURO */ var J11 = 0; var F6 = Drupal.Calculator.ceiling(E6, 100, 1) * ((E6 > 600) ? 1 : 0) + ((E6 < 601) ? 600 : 0); var F8 = Drupal.Calculator.ceiling(E8, 50, 1); var F9 = Drupal.Calculator.ceiling(E9, 50, 1); var F10 = Drupal.Calculator.ceiling(E10, 50, 1); var F11 = E11; var F15 = Drupal.Calculator.ceiling(E15, 100, 1) / 100 * ((E15 < 600) ? 0 : 1) + ((E15 < 600) ? 600 : 0) / 100; var F16 = E16; var F17 = ((F16 == 1) ? 0 : 1) * ((E17 == 1) ? 1 : 0); var F18 = ((F16 == 1) ? 0 : 1) * ((E18 == 1) ? 1 : 0); var F19 = ((F16 == 3) ? 1 : 0) * ((E19 == 1) ? 1 : 0); var F22 = Drupal.Calculator.ceiling(E22, 100, 1) / 100 * ((E22 < 600) ? 0 : 1) + ((E22 < 600) ? 600 : 0) / 100; var F23 = E23; var F24 = ((F23 == 1) ? 0 : 1) * ((E24 == 1) ? 1 : 0); var F25 = ((F23 == 1) ? 0 : 1) * ((E25 == 1) ? 1 : 0); var F26 = ((F23 == 3) ? 1 : 0) * ((E26 == 1) ? 1 : 0); var F29 = Drupal.Calculator.ceiling(E29, 100, 1) / 100 * ((E29 < 600) ? 0 : 1) + ((E29 < 600) ? 600 : 0) / 100; var F30 = E30; var F31 = ((F30 == 1) ? 0 : 1) * ((E31 == 1) ? 1 : 0); var F32 = ((F30 == 1) ? 0 : 1) * ((E32 == 1) ? 1 : 0); var F33 = ((F30 == 3) ? 1 : 0) * ((E33 == 1) ? 1 : 0); var H14 = (((F16 == 1) ? 1 : 0) * Drupal.Calculator.vlookup(F6, ('глухая' + (F15 - 4))) + ((F16 == 2) ? 1 : 0) * Drupal.Calculator.vlookup(F6, ('поворотная' + (F15 - 4))) + ((F16 == 3) ? 1 : 0) * Drupal.Calculator.vlookup(F6, ('поворотно-откидная' + (F15 - 4)))) * ((E15 == 0) ? 0 : 1); var H21 = H14; var H22 = (((F23 == 1) ? 1 : 0) * Drupal.Calculator.vlookup(F6, ('глухая' + (F22 - 4))) + ((F23 == 2) ? 1 : 0) * Drupal.Calculator.vlookup(F6, ('поворотная' + (F22 - 4))) + ((F23 == 3) ? 1 : 0) * Drupal.Calculator.vlookup(F6, ('поворотно-откидная' + (F22 - 4)))) * ((E22 == 0) ? 0 : 1); var H28 = H22; var H29 = (((F30 == 1) ? 1 : 0) * Drupal.Calculator.vlookup(F6, ('глухая' + (F29 - 4))) + ((F30 == 2) ? 1 : 0) * Drupal.Calculator.vlookup(F6, ('поворотная' + (F29 - 4))) + ((F30 == 3) ? 1 : 0) * Drupal.Calculator.vlookup(F6, ('поворотно-откидная' + (F29 - 4)))) * ((E29 == 0) ? 0 : 1); var H35 = H29; var H13 = H21 + H28 + H35; var K9 = H13 * K5; var K11 = K9 * J11; var K13 = K9 - K11; var K15 = K13 * 0.18; var G6 = 0; var G7 = 0; var G8 = Drupal.Calculator.vlookup(F8, 'подоконники') * (E7 + 200) / 1000; var G9 = Drupal.Calculator.vlookup(F9, 'откосы') * (E6 * 2 + E7 + 300) / 1000; var G10 = Drupal.Calculator.vlookup(F10, 'отливы') * (100 + E7) / 1000; var G11 = ((F11 == 3) ? 0 : (-5 * E6 * E7)) / 1000000; var G17 = F17 * 30; var G18 = F18 * 10; var G19 = F19 * 10; var G20 = 0; var G21 = (G17 + G18 + G19 + G20) * ((E15 == 0) ? 0 : 1) * ((E16 == 1) ? 0 : 1); var G24 = E6 * E22 * 30 / 1000000 * F24; var G25 = F25 * 10; var G26 = F26 * 10; var G27 = 0; var G28 = (G24 + G25 + G26 + G27) * ((E22 == 0) ? 0 : 1) * ((E23 == 1) ? 0 : 1); var G31 = E6 * E29 * 30 / 1000000 * F31; var G32 = F32 * 10; var G33 = F33 * 10; var G34 = 0; var G35 = (G31 + G32 + G33 + G34) * ((E29 == 0) ? 0 : 1) * ((E30 == 1) ? 0 : 1); var G13 = G6 + G7 + G8 + G9 + G10 + G11 + G21 + G28 + G35; var K21 = G13 * J5; var K17 = K15 + K13; var K19 = K17 * 0.1; var M23 = 0; var K23 = K17 + K21 - K19; var K28 = K23 + M23; var K30 = K28 * (((K28 > 15000) ? 0.07 : 0) + ((K28 > 50000) ? 0.01 : 0) + ((K28 > 70000) ? 0.01 : 0)); var result = K28 - K30; if (type == 2) result += 1514; var text = "\n======\n\n"; text += " Профиль: " + $("#edit-submitted-win-prof").val() + " руб.\n"; text += " Тип: " + (type == 1 ? "окно" : "балкон") + "\n"; text += " Количество секций: " + $("#section-num").val() + "\n"; text += " Высота: " + $("#section-vertical-height").val() + " см\n\n"; text += " Секция 1:\n"; text += " Ширина: " + $("#section-horisontal-1-width").val() + " см\n"; switch ($("#section-horisontal-1-type").val()) { case "a":text += " Тип: глухое\n";break; case "b":text += " Тип: поворотное\n";break; case "c":text += " Тип: поворотно-откидное\n";break; } text += " Москитная сетка: " + ($("#section-horisontal-1-setka").val() == "true" ? "да" : "нет") + "\n\n"; if (type == 1) { if ($("#section-num").val() != 1) { text += " Секция 2:\n"; text += " Ширина: " + $("#section-horisontal-2-width").val() + " см\n"; switch ($("#section-horisontal-2-type").val()) { case "a":text += " Тип: глухое\n";break; case "b":text += " Тип: поворотное\n";break; case "c":text += " Тип: поворотно-откидное\n";break; } text += " Москитная сетка: " + ($("#section-horisontal-2-setka").val() == "true" ? "да" : "нет") + "\n\n"; } if ($("#section-num").val() == 3) { text += " Секция 3:\n"; text += " Ширина: " + $("#section-horisontal-3-width").val() + " см\n"; switch ($("#section-horisontal-3-type").val()) { case "a":text += " Тип: глухое\n";break; case "b":text += " Тип: поворотное\n";break; case "c":text += " Тип: поворотно-откидное\n";break; } text += " Москитная сетка: " + ($("#section-horisontal-3-setka").val() == "true" ? "да" : "нет") + "\n\n"; } } else { if ($("#section-num").val() == 3) { text += " Секция 2:\n"; text += " Ширина: " + $("#section-horisontal-2-width").val() + " см\n"; switch ($("#section-horisontal-2-type").val()) { case "a":text += " Тип: глухое\n";break; case "b":text += " Тип: поворотное\n";break; case "c":text += " Тип: поворотно-откидное\n";break; } text += " Москитная сетка: " + ($("#section-horisontal-2-setka").val() == "true" ? "да" : "нет") + "\n\n"; } text += " Дверь:\n"; text += " Ширина: " + $("#section-horisontal-3-width").val() + " см\n"; } text += "\n======\n"; $("#edit-submitted-calculation").val(text); }; Drupal.Calculator.result = function(result) { result = (result / 10).toFixed() * 10; $("#calculator-price span").html(result); return result; }; Drupal.Calculator.vlookup = function(value, table) { var result = null; switch (table) { case 'подоконники': switch (value) { case 100:case 150:result = 17;break; case 200:result = 21;break; case 250:result = 25;break; case 300:result = 28;break; case 350:result = 31;break; case 400:result = 35;break; case 450:result = 39;break; case 500:result = 42;break; case 550:result = 45;break; case 600:result = 48;break; case 650:result = 50;break; case 700:result = 53;break; default:alert("Error"); } break; case 'откосы': switch (value) { case 200:result = 22;break; case 250:result = 23;break; case 300:result = 25;break; case 350:result = 28;break; case 400:result = 30;break; case 450:result = 32;break; case 500:result = 34;break; case 550:result = 35;break; case 600:result = 36;break; case 650:result = 38;break; case 700:result = 40;break; default:alert("Error");break; } break; case 'отливы': switch (value) { case 150:result = 4.4;break; case 200:result = 5.5;break; default:alert("Error");break; } break; case 'глухая2': switch (value) { case 600:result = 41;break; case 700:result = 46;break; case 800:result = 51;break; case 900:result = 56;break; case 1000:result = 61;break; case 1100:result = 66;break; case 1200:result = 71;break; case 1300:result = 76;break; case 1400:result = 82;break; case 1500:result = 88;break; case 1600:result = 96;break; case 1700:result = 99;break; case 1800:result = 105;break; case 1900:result = 113;break; case 2000:result = 121;break; case 2100:result = 136;break; default:alert("Error");break; } break; case 'глухая3': switch (value) { case 600:result = 46;break; case 700:result = 51;break; case 800:result = 56;break; case 900:result = 61;break; case 1000:result = 66;break; case 1100:result = 71;break; case 1200:result = 76;break; case 1300:result = 82;break; case 1400:result = 88;break; case 1500:result = 94;break; case 1600:result = 102;break; case 1700:result = 105;break; case 1800:result = 111;break; case 1900:result = 117;break; case 2000:result = 123;break; case 2100:result = 129;break; default:alert("Error");break; } break; case 'глухая4': switch (value) { case 600:result = 51;break; case 700:result = 56;break; case 800:result = 61;break; case 900:result = 66;break; case 1000:result = 71;break; case 1100:result = 76;break; case 1200:result = 82;break; case 1300:result = 88;break; case 1400:result = 94;break; case 1500:result = 100;break; case 1600:result = 108;break; case 1700:result = 111;break; case 1800:result = 117;break; case 1900:result = 123;break; case 2000:result = 129;break; case 2100:result = 135;break; default:alert("Error");break; } break; case 'глухая5': switch (value) { case 600:result = 56;break; case 700:result = 61;break; case 800:result = 66;break; case 900:result = 71;break; case 1000:result = 76;break; case 1100:result = 82;break; case 1200:result = 88;break; case 1300:result = 94;break; case 1400:result = 100;break; case 1500:result = 106;break; case 1600:result = 114;break; case 1700:result = 117;break; case 1800:result = 123;break; case 1900:result = 129;break; case 2000:result = 135;break; case 2100:result = 143;break; default:alert("Error");break; } break; case 'глухая6': switch (value) { case 600:result = 61;break; case 700:result = 66;break; case 800:result = 71;break; case 900:result = 76;break; case 1000:result = 82;break; case 1100:result = 88;break; case 1200:result = 94;break; case 1300:result = 100;break; case 1400:result = 106;break; case 1500:result = 112;break; case 1600:result = 120;break; case 1700:result = 123;break; case 1800:result = 129;break; case 1900:result = 135;break; case 2000:result = 143;break; case 2100:result = 151;break; default:alert("Error");break; } break; case 'глухая7': switch (value) { case 600:result = 66;break; case 700:result = 71;break; case 800:result = 76;break; case 900:result = 82;break; case 1000:result = 88;break; case 1100:result = 94;break; case 1200:result = 100;break; case 1300:result = 106;break; case 1400:result = 112;break; case 1500:result = 118;break; case 1600:result = 126;break; case 1700:result = 129;break; case 1800:result = 135;break; case 1900:result = 143;break; case 2000:result = 151;break; case 2100:result = 161;break; default:alert("Error");break; } break; case 'глухая8': switch (value) { case 600:result = 71;break; case 700:result = 76;break; case 800:result = 82;break; case 900:result = 88;break; case 1000:result = 94;break; case 1100:result = 100;break; case 1200:result = 106;break; case 1300:result = 112;break; case 1400:result = 118;break; case 1500:result = 124;break; case 1600:result = 132;break; case 1700:result = 135;break; case 1800:result = 143;break; case 1900:result = 151;break; case 2000:result = 159;break; case 2100:result = 171;break; default:alert("Error");break; } break; case 'поворотная2': switch (value) { case 600:result = 78;break; case 700:result = 85;break; case 800:result = 92;break; case 900:result = 99;break; case 1000:result = 106;break; case 1100:result = 113;break; case 1200:result = 120;break; case 1300:result = 127;break; case 1400:result = 134;break; case 1500:result = 141;break; case 1600:result = 151;break; case 1700:result = 157;break; case 1800:result = 163;break; case 1900:result = 171;break; case 2000:result = 179;break; case 2100:result = 187;break; default:alert("Error");break; } break; case 'поворотная3': switch (value) { case 600:result = 85;break; case 700:result = 92;break; case 800:result = 99;break; case 900:result = 106;break; case 1000:result = 113;break; case 1100:result = 120;break; case 1200:result = 127;break; case 1300:result = 134;break; case 1400:result = 141;break; case 1500:result = 149;break; case 1600:result = 159;break; case 1700:result = 163;break; case 1800:result = 169;break; case 1900:result = 177;break; case 2000:result = 185;break; case 2100:result = 193;break; default:alert("Error");break; } break; case 'поворотная4': switch (value) { case 600:result = 92;break; case 700:result = 99;break; case 800:result = 106;break; case 900:result = 113;break; case 1000:result = 120;break; case 1100:result = 127;break; case 1200:result = 134;break; case 1300:result = 141;break; case 1400:result = 149;break; case 1500:result = 159;break; case 1600:result = 163;break; case 1700:result = 159;break; case 1800:result = 177;break; case 1900:result = 185;break; case 2000:result = 193;break; case 2100:result = 201;break; default:alert("Error");break; } break; case 'поворотная5': switch (value) { case 600:result = 99;break; case 700:result = 106;break; case 800:result = 113;break; case 900:result = 120;break; case 1000:result = 127;break; case 1100:result = 134;break; case 1200:result = 141;break; case 1300:result = 149;break; case 1400:result = 159;break; case 1500:result = 163;break; case 1600:result = 169;break; case 1700:result = 177;break; case 1800:result = 185;break; case 1900:result = 193;break; case 2000:result = 201;break; case 2100:result = 211;break; default:alert("Error");break; } break; case 'поворотная6': switch (value) { case 600:result = 106;break; case 700:result = 113;break; case 800:result = 120;break; case 900:result = 127;break; case 1000:result = 134;break; case 1100:result = 141;break; case 1200:result = 149;break; case 1300:result = 159;break; case 1400:result = 163;break; case 1500:result = 169;break; case 1600:result = 177;break; case 1700:result = 185;break; case 1800:result = 193;break; case 1900:result = 201;break; case 2000:result = 211;break; case 2100:result = 221;break; default:alert("Error");break; } break; case 'поворотная7': switch (value) { case 600:result = 113;break; case 700:result = 120;break; case 800:result = 127;break; case 900:result = 134;break; case 1000:result = 141;break; case 1100:result = 149;break; case 1200:result = 159;break; case 1300:result = 163;break; case 1400:result = 169;break; case 1500:result = 177;break; case 1600:result = 185;break; case 1700:result = 193;break; case 1800:result = 201;break; case 1900:result = 211;break; case 2000:result = 221;break; case 2100:result = 231;break; default:alert("Error");break; } break; case 'поворотная8': switch (value) { case 600:result = 120;break; case 700:result = 127;break; case 800:result = 134;break; case 900:result = 141;break; case 1000:result = 149;break; case 1100:result = 159;break; case 1200:result = 163;break; case 1300:result = 169;break; case 1400:result = 177;break; case 1500:result = 185;break; case 1600:result = 193;break; case 1700:result = 201;break; case 1800:result = 211;break; case 1900:result = 221;break; case 2000:result = 231;break; case 2100:result = 246;break; default:alert("Error");break; } break; case 'поворотно-откидная2': switch (value) { case 600:result = 109;break; case 700:result = 99;break; case 800:result = 106;break; case 900:result = 116;break; case 1000:result = 126;break; case 1100:result = 131;break; case 1200:result = 137;break; case 1300:result = 143;break; case 1400:result = 149;break; case 1500:result = 155;break; case 1600:result = 163;break; case 1700:result = 173;break; case 1800:result = 183;break; case 1900:result = 193;break; case 2000:result = 203;break; case 2100:result = 215;break; default:alert("Error");break; } break; case 'поворотно-откидная3': switch (value) { case 600:result = 99;break; case 700:result = 101;break; case 800:result = 108;break; case 900:result = 114;break; case 1000:result = 122;break; case 1100:result = 130;break; case 1200:result = 136;break; case 1300:result = 142;break; case 1400:result = 148;break; case 1500:result = 154;break; case 1600:result = 162;break; case 1700:result = 175;break; case 1800:result = 185;break; case 1900:result = 195;break; case 2000:result = 205;break; case 2100:result = 217;break; default:alert("Error");break; } break; case 'поворотно-откидная4': switch (value) { case 600:result = 106;break; case 700:result = 108;break; case 800:result = 114;break; case 900:result = 122;break; case 1000:result = 130;break; case 1100:result = 136;break; case 1200:result = 142;break; case 1300:result = 148;break; case 1400:result = 154;break; case 1500:result = 162;break; case 1600:result = 170;break; case 1700:result = 183;break; case 1800:result = 193;break; case 1900:result = 203;break; case 2000:result = 213;break; case 2100:result = 227;break; default:alert("Error");break; } break; case 'поворотно-откидная5': switch (value) { case 600:result = 116;break; case 700:result = 114;break; case 800:result = 122;break; case 900:result = 130;break; case 1000:result = 136;break; case 1100:result = 142;break; case 1200:result = 148;break; case 1300:result = 154;break; case 1400:result = 162;break; case 1500:result = 170;break; case 1600:result = 178;break; case 1700:result = 191;break; case 1800:result = 201;break; case 1900:result = 211;break; case 2000:result = 221;break; case 2100:result = 237;break; default:alert("Error");break; } break; case 'поворотно-откидная6': switch (value) { case 600:result = 126;break; case 700:result = 122;break; case 800:result = 130;break; case 900:result = 136;break; case 1000:result = 142;break; case 1100:result = 148;break; case 1200:result = 154;break; case 1300:result = 162;break; case 1400:result = 170;break; case 1500:result = 178;break; case 1600:result = 186;break; case 1700:result = 199;break; case 1800:result = 209;break; case 1900:result = 219;break; case 2000:result = 229;break; case 2100:result = 247;break; default:alert("Error");break; } break; case 'поворотно-откидная7': switch (value) { case 600:result = 131;break; case 700:result = 130;break; case 800:result = 136;break; case 900:result = 142;break; case 1000:result = 148;break; case 1100:result = 154;break; case 1200:result = 162;break; case 1300:result = 170;break; case 1400:result = 178;break; case 1500:result = 186;break; case 1600:result = 194;break; case 1700:result = 207;break; case 1800:result = 217;break; case 1900:result = 227;break; case 2000:result = 237;break; case 2100:result = 257;break; default:alert("Error");break; } break; case 'поворотно-откидная8': switch (value) { case 600:result = 137;break; case 700:result = 136;break; case 800:result = 142;break; case 900:result = 148;break; case 1000:result = 154;break; case 1100:result = 162;break; case 1200:result = 170;break; case 1300:result = 178;break; case 1400:result = 186;break; case 1500:result = 194;break; case 1600:result = 202;break; case 1700:result = 215;break; case 1800:result = 225;break; case 1900:result = 235;break; case 2000:result = 245;break; case 2100:result = 267;break; default:alert("Error");break; } break; case 'дверь1': switch (value) { case 1800:result = 165;break; case 1850:result = 168;break; case 1900:result = 172;break; case 1950:result = 177;break; case 2000:result = 181;break; case 2050:result = 186;break; case 2100:result = 190;break; case 2150:result = 194;break; case 2200:result = 197;break; case 2250:result = 200;break; case 2300:result = 203;break; case 2350:result = 206;break; case 2400:result = 209;break; case 2450:result = 213;break; case 2500:result = 217;break; default:alert("Error");break; } break; case 'дверь2': switch (value) { case 1800:result = 175;break; case 1850:result = 179;break; case 1900:result = 182;break; case 1950:result = 186;break; case 2000:result = 191;break; case 2050:result = 196;break; case 2100:result = 200;break; case 2150:result = 204;break; case 2200:result = 207;break; case 2250:result = 210;break; case 2300:result = 213;break; case 2350:result = 216;break; case 2400:result = 219;break; case 2450:result = 223;break; case 2500:result = 227;break; default:alert("Error");break; } break; case 'дверь3': switch (value) { case 1800:result = 181;break; case 1850:result = 185;break; case 1900:result = 188;break; case 1950:result = 192;break; case 2000:result = 197;break; case 2050:result = 202;break; case 2100:result = 206;break; case 2150:result = 210;break; case 2200:result = 213;break; case 2250:result = 216;break; case 2300:result = 219;break; case 2350:result = 222;break; case 2400:result = 225;break; case 2450:result = 229;break; case 2500:result = 234;break; default:alert("Error");break; } break; case 'дверь4': switch (value) { case 1800:result = 187;break; case 1850:result = 194;break; case 1900:result = 197;break; case 1950:result = 201;break; case 2000:result = 206;break; case 2050:result = 210;break; case 2100:result = 214;break; case 2150:result = 218;break; case 2200:result = 221;break; case 2250:result = 224;break; case 2300:result = 227;break; case 2350:result = 230;break; case 2400:result = 233;break; case 2450:result = 237;break; case 2500:result = 242;break; default:alert("Error");break; } break; case 'дверь5': switch (value) { case 1800:result = 194;break; case 1850:result = 198;break; case 1900:result = 201;break; case 1950:result = 205;break; case 2000:result = 210;break; case 2050:result = 215;break; case 2100:result = 219;break; case 2150:result = 223;break; case 2200:result = 226;break; case 2250:result = 229;break; case 2300:result = 232;break; case 2350:result = 235;break; case 2400:result = 238;break; case 2450:result = 242;break; case 2500:result = 247;break; default:alert("Error");break; } break; case 'дверь6': switch (value) { case 1800:result = 200;break; case 1850:result = 204;break; case 1900:result = 207;break; case 1950:result = 211;break; case 2000:result = 216;break; case 2050:result = 221;break; case 2100:result = 225;break; case 2150:result = 229;break; case 2200:result = 232;break; case 2250:result = 235;break; case 2300:result = 238;break; case 2350:result = 241;break; case 2400:result = 244;break; case 2450:result = 248;break; case 2500:result = 253;break; default:alert("Error");break; } break; case 'дверь7': switch (value) { case 1800:result = 223;break; case 1850:result = 227;break; case 1900:result = 230;break; case 1950:result = 234;break; case 2000:result = 239;break; case 2050:result = 244;break; case 2100:result = 248;break; case 2150:result = 252;break; case 2200:result = 255;break; case 2250:result = 258;break; case 2300:result = 261;break; case 2350:result = 264;break; case 2400:result = 267;break; case 2450:result = 271;break; case 2500:result = 276;break; default:alert("Error");break; } break; case 'дверь8': switch (value) { case 1800:result = 229;break; case 1850:result = 233;break; case 1900:result = 236;break; case 1950:result = 240;break; case 2000:result = 245;break; case 2050:result = 251;break; case 2100:result = 255;break; case 2150:result = 259;break; case 2200:result = 262;break; case 2250:result = 265;break; case 2300:result = 268;break; case 2350:result = 271;break; case 2400:result = 274;break; case 2450:result = 278;break; case 2500:result = 283;break; default:alert("Error");break; } break; case 'дверь9': switch (value) { case 1800:result = 235;break; case 1850:result = 239;break; case 1900:result = 242;break; case 1950:result = 246;break; case 2000:result = 251;break; case 2050:result = 256;break; case 2100:result = 260;break; case 2150:result = 264;break; case 2200:result = 267;break; case 2250:result = 270;break; case 2300:result = 273;break; case 2350:result = 276;break; case 2400:result = 279;break; case 2450:result = 283;break; case 2500:result = 291;break; default:alert("Error");break; } break; case 'дверь10': switch (value) { case 1800:result = 240;break; case 1850:result = 244;break; case 1900:result = 247;break; case 1950:result = 251;break; case 2000:result = 256;break; case 2050:result = 261;break; case 2100:result = 265;break; case 2150:result = 269;break; case 2200:result = 272;break; case 2250:result = 275;break; case 2300:result = 278;break; case 2350:result = 281;break; case 2400:result = 284;break; case 2450:result = 288;break; case 2500:result = 296;break; default:alert("Error");break; } break; case 'дверь11': switch (value) { case 1800:result = 246;break; case 1850:result = 250;break; case 1900:result = 253;break; case 1950:result = 257;break; case 2000:result = 262;break; case 2050:result = 267;break; case 2100:result = 271;break; case 2150:result = 275;break; case 2200:result = 278;break; case 2250:result = 278;break; case 2300:result = 281;break; case 2350:result = 284;break; case 2400:result = 287;break; case 2450:result = 290;break; case 2500:result = 294;break; default:alert("Error");break; } break; case 'дверь12': switch (value) { case 1800:result = 252;break; case 1850:result = 256;break; case 1900:result = 259;break; case 1950:result = 263;break; case 2000:result = 268;break; case 2050:result = 273;break; case 2100:result = 277;break; case 2150:result = 281;break; case 2200:result = 284;break; case 2250:result = 287;break; case 2300:result = 291;break; case 2350:result = 294;break; case 2400:result = 297;break; case 2450:result = 301;break; case 2500:result = 311;break; default:alert("Error");break; } break; case 'дверь13': switch (value) { case 1800:result = 258;break; case 1850:result = 262;break; case 1900:result = 265;break; case 1950:result = 269;break; case 2000:result = 274;break; case 2050:result = 249;break; case 2100:result = 283;break; case 2150:result = 287;break; case 2200:result = 290;break; case 2250:result = 293;break; case 2300:result = 296;break; case 2350:result = 299;break; case 2400:result = 302;break; case 2450:result = 306;break; case 2500:result = 321;break; default:alert("Error");break; } break; case 'дверь14': switch (value) { case 1800:result = 264;break; case 1850:result = 268;break; case 1900:result = 271;break; case 1950:result = 275;break; case 2000:result = 280;break; case 2050:result = 285;break; case 2100:result = 289;break; case 2150:result = 293;break; case 2200:result = 296;break; case 2250:result = 299;break; case 2300:result = 302;break; case 2350:result = 305;break; case 2400:result = 308;break; case 2450:result = 312;break; case 2500:result = 327;break; default:alert("Error");break; } break; default: alert(table); } if (result == 0) { alert("Error"); } return result; }; Drupal.Calculator.ceiling = function(value, precision, type) { return value; }; Drupal.Calculator.typeProcessor = function(type) { switch (type) { case 'a': return 1; break; case 'b': return 2; break; case 'c': return 3; break; default: alert("Error"); break; } }; Drupal.Calculator.setkaProcessor = function(value) { switch (value) { case 'true': return 1; break; case 'false': return 2; break; default: console.log("Drupal.Calculator.setkaProcessor error"); break; } }; /** * Calculator Switcher */ Drupal.Calculator.Switcher = new Object; Drupal.Calculator.Switcher.value = null; /** * */ Drupal.Calculator.Switcher.init = function() { //var html = 'окна'; //$(".calculator h1").html($(".calculator h1").html() + ' на ' + html); //this.value = $(".calculator h1 a.active").attr("href"); this.value = '#windows'; //$(".calculator h1 a.active").click(this.open); //$("#calculator-switcher a").click(this.go); $("#calculator-selector-windows-1 a").click(function(){ Drupal.Calculator.Switcher.setType('#windows'); $("#calculator-window .wrapper .section-1").show(); $("#calculator-window .wrapper .section-2").hide(); $("#calculator-window .wrapper .section-3").hide(); $("#calculator-scrollbar-bottom-list").removeClass("columns-2 columns-3").addClass("columns-1"); $("#calculator-scrollbar-bottom-section-1").parent().show(); $("#calculator-scrollbar-bottom-section-2").parent().hide(); $("#calculator-scrollbar-bottom-section-3").parent().hide(); $("#section-num").val(1); Drupal.Calculator.calculate(); }); $("#calculator-selector-windows-2 a").click(function(){ Drupal.Calculator.Switcher.setType('#windows'); $("#calculator-window .wrapper .section-1").show(); $("#calculator-window .wrapper .section-2").show(); $("#calculator-window .wrapper .section-3").hide(); $("#calculator-scrollbar-bottom-list").removeClass("columns-1 columns-3").addClass("columns-2"); $("#calculator-scrollbar-bottom-section-1").parent().show(); $("#calculator-scrollbar-bottom-section-2").parent().show(); $("#calculator-scrollbar-bottom-section-3").parent().hide(); $("#section-num").val(2); Drupal.Calculator.calculate(); }); $("#calculator-selector-windows-3 a").click(function(){ Drupal.Calculator.Switcher.setType('#windows'); $("#calculator-window .wrapper .section-1").show(); $("#calculator-window .wrapper .section-2").show(); $("#calculator-window .wrapper .section-3").show(); $("#calculator-scrollbar-bottom-list").removeClass("columns-1 columns-2").addClass("columns-3"); $("#calculator-scrollbar-bottom-section-1").parent().show(); $("#calculator-scrollbar-bottom-section-2").parent().show(); $("#calculator-scrollbar-bottom-section-3").parent().show(); $("#section-num").val(3); Drupal.Calculator.calculate(); }); $("#calculator-selector-balcony-2 a").click(function(){ Drupal.Calculator.Switcher.setType('#balcony'); $("#calculator-balcon .wrapper .section-1").show(); $("#calculator-balcon .wrapper .section-2").hide(); $("#calculator-balcon .wrapper .section-3").show(); $("#calculator-scrollbar-bottom-list").removeClass("columns-1 columns-3").addClass("columns-2"); $("#calculator-scrollbar-bottom-section-1").parent().show(); $("#calculator-scrollbar-bottom-section-2").parent().hide(); $("#calculator-scrollbar-bottom-section-3").parent().show(); $("#section-num").val(2); Drupal.Calculator.calculate(); }); $("#calculator-selector-balcony-3 a").click(function(){ Drupal.Calculator.Switcher.setType('#balcony'); $("#calculator-balcon .wrapper .section-1").show(); $("#calculator-balcon .wrapper .section-2").show(); $("#calculator-balcon .wrapper .section-3").show(); $("#calculator-scrollbar-bottom-list").removeClass("columns-1 columns-2").addClass("columns-3"); $("#calculator-scrollbar-bottom-section-1").parent().show(); $("#calculator-scrollbar-bottom-section-2").parent().show(); $("#calculator-scrollbar-bottom-section-3").parent().show(); $("#section-num").val(3); Drupal.Calculator.calculate(); }); $("#calculator-selector li a").click(function(){ $("#calculator-selector li").removeClass("active"); $(this).parent().addClass("active"); return false; }); }; /** * Okna или balkony */ Drupal.Calculator.Switcher.setType = function(type) { this.hash = type; this.go(); } /** * */ Drupal.Calculator.Switcher.open = function() { $("#calculator-switcher").css("display", "block"); $(document).bind("keypress.calculatorSwitcher", function(event){ if (27 == event.keyCode) { Drupal.Calculator.Switcher.close(); } }); $(document).bind("click.calculatorSwitcher", function(event){ target = $(event.target); if (target.is("#calculator-switcher-outer") || target.parents("#calculator-switcher-outer").length) { return; } else { Drupal.Calculator.Switcher.close(); } }); return false; }; /** * */ Drupal.Calculator.Switcher.go = function() { var value = this.hash; if (Drupal.Calculator.Switcher.value != value) { //alert(value+' != '+Drupal.Calculator.Switcher.value); Drupal.Calculator.Switcher.value = value; if ("#balcony" == value) { $("#section-type").val(2); if ($.browser.msie) { $("#calculator-switcher").animate({ top: '-1.5em' }, "fast", Drupal.Calculator.Switcher.close); } else { $("#calculator-switcher").animate({ top: '-1.1em' }, "fast", Drupal.Calculator.Switcher.close); } $("#calculator-window").hide(); $("#calculator-balcon").show(); //$("#calculator-selector-balcony").show(); //$("#calculator-selector-windows").hide(); $("#calculator-selector-balcony-2 a").click(); $("#calculator-sofa").fadeOut(200); } else { $("#section-type").val(1); $("#calculator-switcher").animate({ top: '0' }, "fast", Drupal.Calculator.Switcher.close); $("#calculator-window").show(); $("#calculator-balcon").hide(); //$("#calculator-selector-balcony").hide(); //$("#calculator-selector-windows").show(); $("#calculator-selector-windows-2 a").click(); $("#calculator-sofa").fadeIn(200); } //$(".calculator h1 a.active span").html( // $(this).find("span").html() //); } else { Drupal.Calculator.Switcher.close(); } Drupal.Calculator.Switcher.value = value; Drupal.Calculator.Selector.go(); return true; }; Drupal.Calculator.Switcher.close = function() { //$("#calculator-switcher").fadeOut(); //$(document).unbind(".calculatorSwitcher"); return true; }; Drupal.Calculator.Tooltip = new Object; Drupal.Calculator.Tooltip.init = function() { $(".window-wrapper").hover(Drupal.Calculator.Tooltip.open, Drupal.Calculator.Tooltip.close); }; Drupal.Calculator.Tooltip.open = function() { $("#window-type-tooltip").remove(); $(this).append('
'); if ('a' == $("#section-horisontal-" + Drupal.Calculator.Tooltip.getSection() + "-type").val()) { $("#window-type-tooltip-setka").attr("disabled", "disabled").attr("checked", ""); } else { if ('true' == $("#section-horisontal-" + Drupal.Calculator.Tooltip.getSection() + "-setka").val()) { $("#window-type-tooltip-setka").attr("checked", "checked"); } else { $("#window-type-tooltip-setka").attr("checked", ""); } } $("#window-type-tooltip-type-" + $("#section-horisontal-" + Drupal.Calculator.Tooltip.getSection() + "-type").val()).addClass("active"); // Window type $("#window-type-tooltip-type-a i").click(function(){ $("#window-type-tooltip-setka").attr("disabled", "disabled").attr("checked", ""); $("#section-horisontal-" + Drupal.Calculator.Tooltip.getSection() + "-setka").val("false"); $("#window-type-tooltip li").removeClass("active"); $(this).parent().parent().addClass("active"); $("#section-horisontal-" + Drupal.Calculator.Tooltip.getSection() + "-type").val("a"); Drupal.Calculator.calculate(); }); $("#window-type-tooltip-type-b i").click(function(){ $("#window-type-tooltip-setka").attr("disabled", ""); $("#window-type-tooltip li").removeClass("active"); $(this).parent().parent().addClass("active"); $("#section-horisontal-" + Drupal.Calculator.Tooltip.getSection() + "-type").val("b"); Drupal.Calculator.calculate(); }); $("#window-type-tooltip-type-c i").click(function(){ $("#window-type-tooltip-setka").attr("disabled", ""); $("#window-type-tooltip li").removeClass("active"); $(this).parent().parent().addClass("active"); $("#section-horisontal-" + Drupal.Calculator.Tooltip.getSection() + "-type").val("c"); Drupal.Calculator.calculate(); }); // Setka $("#window-type-tooltip-setka").change(function(){ $("#section-horisontal-" + Drupal.Calculator.Tooltip.getSection() + "-setka").val($(this).attr("checked")); Drupal.Calculator.calculate(); }); }; Drupal.Calculator.Tooltip.close = function(object) { $("#window-type-tooltip").fadeOut(200, function() { $("#window-type-tooltip").remove(); }); Drupal.Calculator.Tooltip.init(); }; Drupal.Calculator.Tooltip.getSection = function(object) { var elem = $("#window-type-tooltip").parent().parent().parent(); if ($(elem).hasClass("section-1")) { return 1; } else if ($(elem).hasClass("section-2")) { return 2; } else if ($(elem).hasClass("section-3")) { return 3; } }; Drupal.Calculator.Selector = new Object; Drupal.Calculator.Selector.value = null; Drupal.Calculator.Selector.init = function() { }; Drupal.Calculator.Selector.go = function() { var value = Drupal.Calculator.Switcher.value; }; Drupal.behaviors.Calculator = Drupal.Calculator.init; /* playback timings (ms): LoadShardBlock: 350.684 (3) esindex: 0.007 captures_list: 375.278 CDXLines.iter: 10.684 (3) PetaboxLoader3.datanode: 51.622 (4) exclusion.robots: 0.241 exclusion.robots.policy: 0.231 RedisCDXSource: 0.622 PetaboxLoader3.resolve: 386.536 (3) load_resource: 101.727 */