jQuery(function(){ var show = false; if(typeof recalculate_fields == 'function'){ document.forms[0].reset(); jQuery('#calculator_start a').on('click', function() { $('.answer').remove(); var fenceLength = parseInt(jQuery("#fence_length").val()); // Длина забора, м if(fenceLength > 0){ recalculate_fields(); $('body').scrollTo('#calculator_start',{duration:'slow', offset: {right: 0, top: 40 }}); } else { $('#fence_length').after('Укажите длину забора!X'); var $tip = $('#fence_length').closest('.row_Calculator').find('span.answer'); $tip.show(); $tip.fadeIn(200); $tip.on('click', '.close', function(){ $tip.fadeOut(200); removeDelayed($tip, 200); }); $('#fence_length').on('focus', function(){ $tip.fadeOut(200); removeDelayed($tip, 200); }); //$('body').scrollTo('#fence_calculator',{duration:'slow', offset: {right: 0, top: -55 }}); } var destination = $("#calculator_start").offset().top+100; jQuery("html, body").animate({scrollTop: destination}, 1000); $(".masha_index").remove(); }); jQuery('.sel_imul').on('click', function() { jQuery('.sel_imul').removeClass('act'); jQuery(this).addClass('act'); if (jQuery(this).children('.sel_options').is(':visible')) { jQuery('.sel_options').hide(); jQuery(this).removeClass('act'); } else { jQuery('.sel_options').hide(); jQuery(this).children('.sel_options').show(); } }); jQuery('.sel_option').on('click', function() { if(jQuery(this).hasClass('disabled')){ return false; } jQuery('.act').removeClass('act'); //меняем значение на выбранное var tektext = jQuery(this).html(); var $sel_imul = jQuery(this).closest('.sel_imul'); $sel_imul.children('.sel_selected').children('.selected-text').html(tektext); //активируем текущий jQuery(this).parent('.sel_options').children('.sel_option').removeClass('sel_ed'); jQuery(this).addClass('sel_ed'); //устанавливаем значение для селекта var tekval = jQuery(this).attr('value'); tekval = typeof(tekval) != 'undefined' ? tekval : tektext; $sel_imul.prop("class", "sel_imul " + tekval); jQuery(this).parents('.sel_imul').attr('val',tekval); /* устанавливаем тип полимера при шахматке if($sel_imul.attr('id') == "gap"){ checkGap(tekval); } */ }); var selenter = false; jQuery('.sel_imul').on('mouseenter', function() { selenter = true; }); jQuery('.sel_imul').on('mouseleave', function() { selenter = false; }); jQuery(document).click(function() { if (!selenter) { jQuery('.sel_options').hide(); jQuery('.sel_imul').removeClass('act'); } }); } /* устанавливаем классы description4 или description5, в зависимости от толщины листа */ var description = jQuery("#thickness").attr("val"); if(description){ description = "description"+parseInt(description*10); jQuery("#thickness").removeClass("description4").removeClass("description5").addClass(description); // } $('#send_mail_form').on("click","a.calc-btn",function(){ var valid = checkEmail(); if(valid == 0){ var url = "/admin/email.php"; var email = $('#send_mail').val(); var subject = $('.material-heading h3').text(); var $description = $('.calc-description').clone(); var $messageBlock = $('.calculator_total').clone(); $messageBlock.find('.total_discount').remove(); $messageBlock.find('#calculator_print').remove(); $messageBlock.find('#send_mail_form').remove(); $messageBlock.find('.questions').remove(); $messageBlock.append($description); var $works = $messageBlock.find(".work-box .summ span"); // спаны с ценами за работы var workNbr = 1; // номер работы начальный $works.each(function(){ // перебираем работы var $tr = jQuery(this).closest("tr"); // текущая строка с работой var $nbr = $tr.find("span.number"); // спан с номером текущей работы var workPrice = parseInt(jQuery(this).text()); // цена в текущей работе if(workPrice == 0){ // если цена равна нулю, то $tr.remove(); // скрываем эту строку } else { // если цена больше нуля } }); var $tables = $messageBlock.find("table"); $tables.each(function(){ // перебираем таблицы var $table = jQuery(this); // текущая таблица $table[0].border = 1; $table.css({"borderCollapse": "collapse"}); $table.find("th,td", this).css({"border":"solid black 1px","textAlign":"right", padding: "5px"}); $table.find("th.left,td.left", this).css({"border":"solid black 1px","textAlign":"left"}); }); var message = $messageBlock[0].outerHTML; var data = { email: email, subject: subject, message: message, comment: $('#send_comment').val() }; $.ajax({ url: url, type: "POST", data: data, success: function(data) { console.log(data); $('#email_message').text('Сообщение отправлено!'); /*if(data == 'ok'){ $('#email_message').text('Сообщение отправлено!'); } else if(data == 'error'){ $('#email_message').text('Ошибка при отправке сообщения!'); } else { $('#email_message').text('Ошибка!'); }*/ showMessage(); } }); } else if(valid == 1){ showMessage(); return false; } else if(valid == 2){ showMessage(); return false; } else { return false; } }); }); /* Функия вывода цены в указанном id в правильном формате */ function outPriceText(id,summ){ try{ var summStr = Math.ceil(summ).toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1 "); $(id).text(summStr); // Стоимость } catch(e){ console.log("Ошибка вывода цены - " + e); } } /* Функия вывода округлённой величины */ function outRoundText(id,text){ try{ if(!isNaN(text)){ $(id).text(Math.ceil(text)); // } else { $(id).text(Math.ceil(parseFloat(text))); // } } catch(e){ console.log("Ошибка вывода параметра - " + e); } } /* функция проверки селекта зазоров и изменения полимеров */ function checkGap(tekval){ var $polymer = jQuery("#polymer"); // Полимер var polymerType = $polymer.attr("val"); // Тип полимера var $polymerOption = $polymer.find('.sel_ed'); // Выделенный тип полимера if(tekval == "check"){ if(polymerType == "poly1"){ $polymer.attr("val","poly2"); $polymer.children('.sel_selected').children('.selected-text').html("Двухсторонний полиэстер"); $polymerOption.removeClass('sel_ed'); $polymer.find('.poly2').addClass('sel_ed'); } else if(polymerType == "wood1"){ $polymer.attr("val","wood2"); $polymer.children('.sel_selected').children('.selected-text').html("Двухсторонний под дерево"); $polymerOption.removeClass('sel_ed'); $polymer.find('.wood2').addClass('sel_ed'); } $polymer.find('.poly1').addClass('disabled'); $polymer.find('.wood1').addClass('disabled'); } else { $polymer.find('.sel_option').removeClass('disabled'); } } function showMessage(){ var $emailMessage = $('#email_message'); $emailMessage.fadeIn(300); setTimeout(function(){$emailMessage.fadeOut('fast')},2000); //2000 = 2 секунд } function checkEmail(){ var $input = $('#send_mail'); if($input.val() != '') { var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/i; if(pattern.test($input.val())){ $input.removeClass('valid').removeClass('error').addClass('valid'); $('#email_message').text('Верно'); return 0; } else { $input.removeClass('valid').removeClass('error').addClass('error'); $('#email_message').text('Неправильное заполнение!'); return 1; } } else { $input.removeClass('valid').removeClass('error').addClass('error'); $('#email_message').text('Поле email не должно быть пустым!'); return 2; } } $(document).ready(function() { $('#send_mail').blur(function() { checkEmail(); }); $(".calc-btn").click(function(){ $(".calc-description").slideUp(300); }) }); function printit(){ window.print() ; } function slideDelayed(jqObj, t, to) { setTimeout(function() { jqObj.slideDown(t); }, to); } function removeDelayed(jqObj, to) { setTimeout(function() { jqObj.remove(); }, to); }