var lang = {}; lang.form = 'Форма обработки заказа '; lang.send = "Отправить заказ"; lang.clearBasket = "Очистить корзину"; lang.inBasket = "В корзине: "; lang.basketClear = "Корзина пустая"; lang.close = "Закрыть"; lang.pleaseFillInfo = 'Пожалуйста, заполните необходимую
информацию для обработки заказа:'; lang.whatYouName = "Как Вас зовут"; lang.youPhone = "* Ваш телефон"; lang.youEmail = "Ваш E-mail"; lang.address = "Укажите адрес доставки и подробности для обработки заказа"; lang.headTab = 'ФотоНазваниеЦенаКол-воИтогоУд.'; lang.rub = 'р.'; lang.allSum = 'Всего на сумму: '; lang.youBasketEmpty = "Ваша корзина пустая!"; lang.fielTelReq = "Поле телефон обязательное!"; lang.noPushHuman = "Вы не нажали я не робот!"; lang.youOrderSuccess = "
Ваш заказ успешно отправлен.

В скором времени наши менеджеры перезвонят Вам.

Вы также можете позвонить по номеру телефона, указанного на сайте, для уточнения Вашего заказа.

"; lang.ServerErorr = "Ошибка сервера. Попробуйте отправить заказ через некоторое время."; $(document).ready(function () { order_window = new BX.PopupWindow("order-confirm", null, { content: '
', closeIcon: {right: "20px", top: "10px"}, titleBar: {content: BX.create("span", {html: lang.form, 'props': {'className': 'access-title-bar'}})}, zIndex: 0, offsetLeft: 0, offsetTop: 0, draggable: {restrict: true}, overlay: {backgroundColor: 'black', opacity: '80'}, buttons: [ new BX.PopupWindowButton({ text: lang.send, className: "webform-button-link-send", events: { click: function () { $("#order-form").submit(); } } }), new BX.PopupWindowButton({ text: lang.clearBasket, className: "webform-button-link-clear", events: { click: function () { $("#order-form input").val(""); $("#order-form textarea").val(""); localStorage.clear(); calculateBasket(); } } }), new BX.PopupWindowButton({ text: lang.close, className: "webform-button-link-close", events: { click: function () { $(".webform-button-link-send").show(); $(".webform-button-link-clear").show(); $(".popup-window-titlebar-close-icon").show(); this.popupWindow.close(); } } }) ] }); if (localStorage["basket.num"]) { calculateBasket(); } else { $("#cart .text").text(lang.basketClear); } $("#order-form").on("submit", function () { if (BX.UserConsent && !$(".order-userconsent input:checked").length) { BX.onCustomEvent('bx-soa-order-save', []); } else { sendOrder(); } return false; }); }); function addToBasket(id) { check_new_id_basked(id); } function check_new_id_basked(id) { var flag = false for (var i = 0; ; i++) { if (localStorage["basket.item." + i]) { if (localStorage["basket.item." + i] == id) { flag = true; localStorage["basket.col." + i] = parseInt(localStorage["basket.col." + i]) + 1; break; } } else break; } if (!flag) { // add new localStorage["basket.item." + i] = id localStorage["basket.col." + i] = 1; $.get("ajax.php?AJAX=Y&action=get_element&ID=" + id + "&uid=" + i, function (data) { data = data.split("'").join('"'); var d = JSON.parse(data); if (!d.src && d.price && d.name) d.src = '/bitrix/components/bitrix/catalog.element/templates/.default/images/no_photo.png'; localStorage["basket.photo." + d.uid] = d.src; localStorage["basket.name." + d.uid] = d.name; localStorage["basket.price." + d.uid] = d.price; localStorage["basket.measure." + d.uid] = d.measure; if (d.price == 0) delItem(d.uid); //delete without price calculateBasket(); }); } if (localStorage["basket.num"]) localStorage["basket.num"]++; else localStorage["basket.num"] = 1; calculateBasket(); } function calculateBasket() { var s = 0, col = 0; for (var i = 0; ; i++) { if (localStorage["basket.item." + i]) { //s += parseInt(localStorage["basket.price." + i]) * parseInt(localStorage["basket.col." + i]); s += +localStorage["basket.price." + i].replace(',', '.') * parseInt(localStorage["basket.col." + i]); s = +s.toFixed(2); col += parseInt(localStorage["basket.col." + i]); } else break; } $("#cart .text").text(lang.inBasket); $("#cart .cart-total").text(fp(s)); $("#cart .ruble").text(lang.rub); localStorage["basket.num"] = col; //console.log(localStorage) create_order(); } function create_order() { var s = 0, n = '', t = '', e = '', d = ''; if ($("#order-form input[name=name]").val()) n = $("#order-form input[name=name]").val(); if ($("#order-form input[name=tel]").val()) t = $("#order-form input[name=tel]").val(); if ($("#order-form input[name=email]").val()) e = $("#order-form input[name=email]").val(); if ($("#order-form textarea[name=addres]").val()) d = $("#order-form textarea[name=addres]").val(); var str = ''; str += ''; s += si; s = +s.toFixed(2); str += "
'; str += lang.pleaseFillInfo; str += ''; str += ''; str += '
'; str += '
'; str += '
'; str += lang.headTab; for (var i = 0; ; i++) { if (localStorage["basket.item." + i]) { var id = localStorage["basket.item." + i], name = localStorage["basket.name." + i], pr = localStorage["basket.price." + i], measure = localStorage["basket.measure." + i] ? '/ ' + localStorage["basket.measure." + i] : '', col = localStorage["basket.col." + i], //si = parseInt(localStorage["basket.price." + i]) * parseInt(localStorage["basket.col." + i]), si = +localStorage["basket.price." + i].replace(',', '.') * parseInt(localStorage["basket.col." + i]), src = localStorage["basket.photo." + i]; si = +si.toFixed(2); if (!src) continue; // no photo unreal str += '
"; str += " " + name + ""; str += "" + fp(pr) + " " + lang.rub + " " + measure; str += " "; str += " "; str += ""; str += ""; str += "" + fp(si) + " " + lang.rub; str += ""; } else break; } str += ''; str += ''; str += '
'; str += '
' + lang.allSum + '' + fp(s) + ' ' + lang.rub + '
'; str += '
'; $("#order-body").html(str); $(".order-userconsent").html($("#conset_hiden").html()); //console.log(localStorage) } function itemMinus(i) { if (localStorage["basket.col." + i] > 1) { localStorage["basket.col." + i]--; localStorage["basket.num"]--; } calculateBasket(); return false } function itemPlus(i) { localStorage["basket.col." + i]++; localStorage["basket.num"]++; calculateBasket(); return false } function delItem(id) { var flag = false; for (var i = 0; ; i++) { if (localStorage["basket.item." + i]) { if (flag) { localStorage["basket.item." + (i - 1)] = localStorage["basket.item." + i]; localStorage["basket.col." + (i - 1)] = localStorage["basket.col." + i]; localStorage["basket.photo." + (i - 1)] = localStorage["basket.photo." + i]; localStorage["basket.name." + (i - 1)] = localStorage["basket.name." + i]; localStorage["basket.price." + (i - 1)] = localStorage["basket.price." + i]; } if (i == id || flag) { if (!flag) flag = localStorage["basket.col." + i]; localStorage.removeItem("basket.item." + i); localStorage.removeItem("basket.col." + i); localStorage.removeItem("basket.photo." + i); localStorage.removeItem("basket.name." + i); localStorage.removeItem("basket.price." + i); } } else break; } localStorage["basket.num"] -= flag; if (!localStorage["basket.num"]) localStorage.removeItem("basket.num"); calculateBasket(); } function sendOrder() { var error = [], err_html = ''; if ($("#order-form input[name=allPrice]").val() == 0) error.push(lang.youBasketEmpty); if ($("#order-form input[name=tel]").val() == '') error.push(lang.fielTelReq); if ($("#order-form textarea[name=g-recaptcha-response]").val() == '') error.push(lang.noPushHuman); if (error.length) { for (var i in error) { var val = error[i]; err_html += val + "
"; } $("#order-form .order-error").html(err_html) } else {// send order var ser = $("#order-form ").serialize(); $.post("ajax.php?AJAX=Y&action=send_order", ser, function (data) { data = data.split("'").join('"'); var d = JSON.parse(data); var err_html = ''; if (d.error && d.error.length) { for (var i in d.error) { var val = d.error[i]; err_html += val + "
"; } $("#order-form .order-error").html(err_html); } else if (d.success == "ok") { $("#order-form input").val(""); $("#order-form textarea").val(""); localStorage.clear(); calculateBasket(); $(".webform-button-link-send").hide(); $(".webform-button-link-clear").hide(); $(".popup-window-titlebar-close-icon").hide(); var str = lang.youOrderSuccess; $("#order-body").html(str); } else { $("#order-form .order-error").html(lang.ServerErorr); } }); } } function fp(data) { // nice format price if (!data) data = 0; var price = (data).toString(), price_sep = price.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1 "); return price_sep; }