1$(document).ready(function() { 2 nonAvailableModule.init(); 3}); 4 5var nonAvailableModule = (function() { 6 return { 7 init: function() { 8 var nonAvailable_recaptcha = ''; 9 // поÑвлÑеÑÑÑ Ð¾ÐºÐ½Ð¾ оÑоÑÐ¼Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ñвки 10 if ($('.wrapper-modal-mg-non-available').length == 0) { 11 12 if (typeof agreement_non_avaiailable == 'undefined') { 13 agreement_non_avaiailable = ''; 14 } 15 var html = '\ 16 <span class="mg-non-available-overlay"></span>\ 17 <div class="wrapper-modal-mg-non-available">\ 18 <div class="header-modal-mg-non-available">\ 19 <h2 class="title-modal-mg-non-available">\ 20 </h2>\ 21 <span class="close-mg-booking-button"><a role="button" href="javascript:void(0);"></a></span>\ 22 </div>\ 23 <div class="modal-mg-non-available-title"><div class="link"><h3 data-link ></h3></div></div>\ 24 <div class="content-modal-mg-non-available">\ 25 <div class="mg-product-info">\ 26 <div class="mg-product-img">\ 27 <img class="product-image" src="" >\ 28 </div>\ 29 <div class="mg-price-non-available"></div>\ 30 <div id="na-variant"> </div>\ 31 </div> \ 32 <div class="mg-booking-non-available">\ 33 <form action="' + mgBaseDir + '/" method="post">\ 34 <ul class="modal-mg-booking-list">\ 35 <li style="display:none" class="fio">\ 36 <span>ÐаÑе имÑ:</span>\ 37 <input type="text" name="na-name" value ="">\ 38 </li>\ 39 <li style="display:none" class="phone">\ 40 <span>ТелеÑон:<span class="red-star">*</span></span>\ 41 <input type="tel" name="phone" value ="">\ 42 </li>\ 43 <li style="display:none" class="email">\ 44 <span>ÐÐ°Ñ e-mail:<span class="red-star">*</span></span>\ 45 <input type="text" name="na-email" value ="">\ 46 </li>\ 47 <li style="display:none" class="address">\ 48 <span>ÐдÑеÑ:</span>\ 49 <textarea name="na-address" value =""></textarea>\ 50 </li>\ 51 <li style="display:none" class="count">\ 52 <span>ÐолиÑеÑÑво:</span>\ 53 <input type="number" name="na-count" value ="1">\ 54 </li>\ 55 <li style="display:none" class="comment">\ 56 <span>ÐомменÑаÑий:</span>\ 57 <textarea name="na-comment" value =""></textarea>\ 58 </li>\ 59 <li class="mg-cap" style="display:none">\ 60 <div class="cap-left">\ 61 <img style="margin-top: 5px; border: 1px solid gray;" src = "'+ '' +'" width="140" height="36">\ 62 <span>ÐведиÑе ÑекÑÑ Ñ ÐºÐ°ÑÑинки:<span class="red-star">*</span> </span>\ 63 <input type="text" name="capcha" class="captcha">\ 64 </div>\ 65 <div style="clear:both;">\ 66 </div>\ 67 </li>\ 68 </ul>\ 69 </form>\ 70 </div>\ 71 </div>\ 72 <div class="mg-action-buttons">\ 73 <div class="noneAvaileble_agreement">' + agreement_non_avaiailable + '</div> \ 74 <button class="close-mg-booking-button mg-plugin-btn">ÐÑмена</button>\ 75 <button type = "" class="mg-send-booking-click-button mg-booking-btn" data-code="">ÐаказаÑÑ</button>\ 76 </div>\ 77 </div>'; 78 $('body').append(html); 79 } 80 81 // ÐÑкÑÑÑие полÑзоваÑелÑÑкого ÑоглаÑÐµÐ½Ð¸Ñ 82 $('body').on('click', '.agreement__btn_open', function () {$('body .agreement__modal').show(); }); 83 //ÐакÑÑÑие полÑзоваÑелÑÑкого ÑоглаÑÐµÐ½Ð¸Ñ 84 $('body').on('click', '.agreement__btn_close', function () {$('body .agreement__modal').hide(); }); 85 86 $('.mg-non-available-button').on('click', function() { 87 var capchaSrc = mgBaseDir + ((langP=='LANG')?'':('/'+langP))+"/captcha.html?t=" + Date.now(); 88 89 var id = $(this).data('product_id'); 90 var id_var = $(this).data('var_id'); 91 var type = $(this).attr('data-type'); 92 $('.mg-price-non-available').html(''); 93 if (type == 'product') { 94 var price = $('.product-status-list li .price:first').text(); 95 if (price.length < 1) { 96 price = $(this).closest('.product-wrapper').find('.price:first').text(); 97 } 98 if (price.length > 1) { 99 $('.mg-price-non-available').html('<span>' + price + '</span>'); 100 $('.wrapper-modal-mg-non-available .mg-send-booking-click-button').attr('data-price', price); 101 } 102 } 103 104 if ($('.wrapper-modal-mg-non-available .cap-left img').attr('src') == '') { 105 $('.wrapper-modal-mg-non-available .mg-cap img').attr('src', capchaSrc); 106 } 107 108 // if($('.buy-block').is('.product-code span')){ 109 // code = $('.buy-block .product-code span').text(); 110 // } 111 openOrderForm(id, id_var, type); 112 $('.wrapper-modal-mg-non-available .error').remove(); 113 // var title_var = ''; 114 // if ($('.block-variants input[type=radio]:checked').val()) { 115 // title_var = $('.block-variants input[type=radio]:checked').parents("tr").find('label').text(); 116 // $('#na-variant').html("" + title_var + ""); 117 // } 118 // var title = $('.product-details-block .product-title').text();
119 // $('.wrapper-modal-mg-non-available .modal-mg-booking-list .link h3').html(title+ ' ' + title_var); 120 // var src = $('.product-details-block img[data-product-id='+id+']').attr('src'); 121 // $('.wrapper-modal-mg-non-available .mg-product-img img').attr('src', src); 122 $('.wrapper-modal-mg-non-available').show(); 123 $('.mg-non-available-overlay').show(); 124 125 openModal($('.wrapper-modal-mg-non-available')); 126 127 }); 128 129 130 // закÑÑÑие окна заÑвка 131 $('.close-mg-booking-button').click(function() { 132 $('.wrapper-modal-mg-non-available').hide(); 133 $('.mg-non-available-overlay').hide(); 134 closeModal($('.wrapper-modal-mg-non-available')); 135 }); 136 137 138 // пÑовеÑка введеннÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸ оÑпÑавка заÑвки 139 $('body').on('click', '.mg-send-booking-click-button', function() { 140 var checkbox = $('.noneAvaileble_agreement .js-agreement-checkbox-mg-send-order-click-button'); 141 if(checkbox.length != 0){ 142 var errorClass = 'agreement__label_error'; 143 if(checkbox.is(':checked')) { 144 checkbox.parent().removeClass(errorClass); 145 } 146 else{ 147 checkbox.parent().addClass(errorClass); 148 return false; 149 } 150 } 151 var name = $(this).parents('.wrapper-modal-mg-non-available').find('input[name=na-name]'); 152 var phone = $(this).parents('.wrapper-modal-mg-non-available').find('input[name=phone]'); 153 var email = $(this).parents('.wrapper-modal-mg-non-available').find('input[name=na-email]'); 154 var address = $(this).parents('.wrapper-modal-mg-non-available').find('textarea[name=na-address]'); 155 var comment = $(this).parents('.wrapper-modal-mg-non-available').find('textarea[name=na-comment]'); 156 var count = $(this).parents('.wrapper-modal-mg-non-available').find('input[name=na-count]'); 157 var capcha = $(this).parents('.wrapper-modal-mg-non-available').find('input[name=capcha]').val(); 158 // var code = $(".mg-non-available-button").data('product_code'); 159 var code = $('.wrapper-modal-mg-non-available .mg-send-booking-click-button').attr('data-code'); 160 var product_id = $('.mg-non-available-button').data('product_id'); 161 // var title_var = ''; 162 // if ($('.block-variants input[type=radio]:checked').val()) { 163 // title_var = $('.block-variants input[type=radio]:checked').parents("tr").find('label').text(); 164 // } 165 // var title = $(".mg-non-available-button").data('product_title'); 166 var title = $('.wrapper-modal-mg-non-available .mg-send-booking-click-button').attr('data-title'); 167 var price = $('.wrapper-modal-mg-non-available .mg-send-booking-click-button').attr('data-price'); 168 // var price = $(".product-status-list li .price:first").text(); 169 170 if (!capcha) { 171 if ($('.wrapper-modal-mg-non-available li.mg-cap .g-recaptcha-template').length) { 172 capcha = grecaptcha.getResponse(nonAvailable_recaptcha); 173 } 174 } 175 176 if (!capcha) { 177 if ($('.wrapper-modal-mg-non-available li.mg-cap .recaptcha-holder-template').length) { 178 if (!nonAvailableModule.recaptchaToken) { 179 grecaptcha.execute(nonAvailable_recaptcha); 180 return false; 181 } else { 182 capcha = nonAvailableModule.recaptchaToken; 183 } 184 } 185 } 186 nonAvailableModule.recaptchaToken = null; 187 188 if ($('.buy-block').find('.property-form').length) { 189 var request = $('.buy-block').find('.property-form').formSeri
189alize(); 190 } else { 191 var inCartProd = 'inCartProductId=' + $('.mg-non-available-button').data('product_id'); 192 var request = inCartProd + '&amount_input=1'; 193 } 194 195 var link = $('.modal-mg-non-available-title h3').data('link'); 196 $.ajax({ 197 type: 'POST', 198 url: mgBaseDir + '/ajaxrequest?' + request, 199 dataType: 'json', 200 data: { 201 mguniqueurl: 'action/orderNonAvailable', // дейÑÑÐ²Ð¸Ñ Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° ÑеÑвеÑе 202 pluginHandler: 'non-available', 203 name: name.val(), 204 phone: phone.val(), 205 email: email.val(), 206 address: address.val(), 207 comment: comment.val(), 208 count: count.val(), 209 capcha: capcha, 210 invisible: 1, 211 status_id: 1, 212 code: code, 213 product_id: product_id, 214 title: title, 215 price: price, 216 url: link, 217 }, 218 success: function(response) { 219 if (response.status != 'error') { 220 $('.wrapper-modal-mg-non-available .error').remove(); 221 $('.loading-send-booking').remove(); 222 $('.mg-action-buttons').before('<span class="loading-send-booking">' + response.data.msg + '</span>'); 223 $('.content-modal-mg-non-available').hide(); 224 $('.mg-action-buttons').hide(); 225 $('.mg-price-non-available').hide(); 226 $('.agreement-container').hide(); 227 228 $('body').animate({ scrollTop: $('body').scrollTop() - 700, scrollLeft: 0 }, 350); 229 230 } else { 231 $('.wrapper-modal-mg-non-available .error').remove(); 232 $('.content-modal-mg-non-available').prepend(response.data.msg); 233 $('.mg-action-buttons').show(); 234 $('.loading-send-booking').remove(); 235 } 236 }, 237 }); 238 }); 239 240 241 $('body').on('click', '.variants-table input[type=radio]', function() { 242 if ($(this).data('count') != 0) { 243 $(this).parents('.product-wrapper').find('.wrapper-mg-non-available .mg-non-available-button').hide().data('var_id', '').data('type', 'catalog'); 244 $(this).parents('.product-details-block').find('.wrapper-mg-non-available .mg-non-available-button').hide().data('var_id', '').data('type', 'product'); 245 } else { 246 $(this).parents('.product-wrapper').find('.wrapper-mg-non-available .mg-non-available-button').show().data('var_id', $(this).val()).data('type', 'catalog'); 247 $(this).parents('.product-details-block').find('.wrapper-mg-non-available .mg-non-available-button').show().data('var_id', $(this).val()).data('type', 'product'); 248 } 249 }); 250 251 $('body').on('change', '.variants-table input[type=radio]', function() { 252 if ($(this).data('count') != 0) { 253 $(this).parents('.product-wrapper').find('.wrapper-mg-non-available .mg-non-available-button').hide().data('var_id', '').data('type', 'catalog'); 254 $(this).parents('.product-details-block').find('.wrapper-mg-non-available .mg-non-available-button').hide().data('var_id', '').data('type', 'product'); 255 } else { 256 $(this).parents('.product-wrapper').find('.wrapper-mg-non-available .mg-non-available-button').show().data('var_id', $(this).val()).data('type', 'catalog'); 257 $(this).parents('.product-details-block').find('.wrapper-mg-non-available .mg-non-available-button').show().data('var_id', $(this).val()).data('type', 'product'); 258 } 259 }); 260 261 $('.buy-block .variants-table input[type=radio]:checked').each(function(index, element) { 262 if ($(this).data('count') != 0) { 263 $(this).parents('.product-wrapper').find('.wrapper-mg-non-available .mg-non-available-button').hide().data('type', 'catalog'); 264 $(this).parents('.product-details-block').find('.wrapper-mg-non-available .mg-non-available-button').hide().data('type', 'product'); 265 } else { 266 $(this).parents('.product-wrapper').find('.wrapper-mg-non-available .mg-non-available-button').data('var_id', $(this).val()).data('type', 'catalog'); 267 $(this).parents('.product-details-block').find('.wrapper-mg-non-available .mg-non-available-button').data('var_id', $(this).val()).data('type', 'product'); 268 } 269 }); 270 $('.mg-non-available-button').each(function(index, item) { 271 const currentVariantCount = $(item).closest('.product-wrapper').find('.block-variants input[type=radio]:checked').attr('data-count'); 272 if (currentVariantCount && currentVariantCount != '0') { 273 $(item).hide(); 274 } else { 275 $(item).show(); 276 } 277 }); 278 if ($('.block-variants input[type=radio]:checked').length) { 279 if ($(this).data('count') != 0 ) { 280 $(this).parents('.product-wrapper').find('.wrapper-mg-non-available .mg-non-available-button').hide(); 281 $(this).parents('.product-details-block').find('.wrapper-mg-non-available .mg-non-available-button').hide(); 282 } 283 }; 284 285 286 /** 287 * ÐÑкÑÑÐ²Ð°ÐµÑ Ð¼Ð¾Ð´Ð°Ð»Ñное окно 288 */ 289 function openModal(object) { 290 overlay(); 291 object.fadeIn(300); 292 object.css('z-index', 200); 293 var offset = (window.pageYOffset); 294 object.css('margin-top', offset); 295 } 296 297 /** 298 * ÐакÑÑÐ²Ð°ÐµÑ Ð¼Ð¾Ð´Ð°Ð»Ñное окно 299 */ 300 function closeModal(object) { 301 object.fadeOut(300); 302 $('#overlay-non-av').remove(); 303 } 304 305 /** 306 * Фон Ð´Ð»Ñ Ð·Ð°Ð´Ð½ÐµÐ³Ð¾ плана пÑи оÑкÑÑÑии вÑплÑваÑÑего окна 307 */ 308 function overlay() { 309 var docHeight = $(document).height(); 310 $('body').append('<div id=\'overlay-non-av\'></div>'); 311 $('#overlay-non-av').height(docHeight); 312 } 313 314 /** 315 * ÑÑнкÑÐ¸Ñ Ð·Ð°Ð³ÑÑзки ÑоÑÐ¼Ñ Ð´Ð»Ñ Ð·Ð°ÐºÐ°Ð·Ð° 316 * @param {type} e 317 * @returns {undefined} 318 */ 319 function openOrderForm(id, id_var, type) { 320 $.ajax({ 321 type: 'POST', 322 url: mgBaseDir + '/ajaxrequest', 323 dataType: 'json', 324 data: { 325 mguniqueurl: 'action/buildOrderForm', // дейÑÑÐ²Ð¸Ñ Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° ÑеÑвеÑе 326 pluginHandler: 'non-available', 327 id: id, 328 id_var: id_var, 329 }, 330 success: function(response) { 331 if (type == 'catalog' || $('.mg-price-non-available').text().length < 3) { 332 $('.mg-price-non-available').html('СÑоимоÑÑÑ ÑоваÑа: <span>' + response.data.product.price + '</span>'); 333 console.log(response.data.product.price); 334 $('.wrapper-modal-mg-non-available .mg-send-booking-click-button').attr('data-price', response.data.product.price.trim()); 335 } 336 $('.wrapper-modal-mg-non-available .mg-send-booking-click-button').attr('data-title', response.data.product.name); 337 $('.wrapper-modal-mg-non-available .modal
337-mg-non-available-title .link h3').html(response.data.product.name); 338 $('.wrapper-modal-mg-non-available .mg-product-img img').attr('src', response.data.product.img); 339 $('.wrapper-modal-mg-non-available .mg-send-booking-click-button').attr('data-code', response.data.product.code); 340 $('.wrapper-modal-mg-non-available .modal-mg-non-available-title li.link h3').attr('data-link', response.data.link); 341 if (response.data.options.header != '') { 342 $('.wrapper-modal-mg-non-available .title-modal-mg-non-available').html(response.data.options.header); 343 } 344 if (response.data.options.button != '') { 345 $('.wrapper-modal-mg-non-available .mg-send-booking-click-button').text(response.data.options.button); 346 } 347 if (response.data.options.name == 'true') { 348 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.fio').css('display', 'block'); 349 $('.wrapper-modal-mg-non-available .modal-mg-booking-list input[name=na-name]').val(response.data.user.name ? response.data.user.name : ''); 350 } 351 if (response.data.options.phone == 'true') { 352 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.phone').css('display', 'block'); 353 $('.wrapper-modal-mg-non-available .modal-mg-booking-list input[name=phone]').val(response.data.user.phone ? response.data.user.phone : ''); 354 } 355 if (response.data.options.email == 'true') { 356 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.email').css('display', 'block'); 357 $('.wrapper-modal-mg-non-available .modal-mg-booking-list input[name=na-email]').val(response.data.user.email ? response.data.user.email : ''); 358 } 359 if (response.data.options.address == 'true') { 360 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.address').css('display', 'block'); 361 $('.wrapper-modal-mg-non-available .modal-mg-booking-list textarea[name=na-address]').val(response.data.user.address ? response.data.user.address : ''); 362 } 363 if (response.data.options.comment == 'true') { 364 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.comment').css('display', 'block'); 365 $('.wrapper-modal-mg-non-available .modal-mg-booking-list textarea[name=na-comment]').val(''); 366 } 367 if (response.data.options.count == 'true') { 368 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.count').css('display', 'block'); 369 $('.wrapper-modal-mg-non-available .modal-mg-booking-list textarea[name=na-count]').val(1); 370 } 371 if (response.data.options.capcha == 'true') { 372 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.mg-cap').css('display', 'block'); 373 $('.wrapper-modal-mg-non-available .modal-mg-booking-list input[name=capcha]').val(''); 374 if (response.data.options.recaptcha == 'true') { 375 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.mg-cap').html(response.data.recaptchahtml); 376 377 if ($('.wrapper-modal-mg-non-available .modal-mg-booking-list li.mg-cap .g-recaptcha-template').length && !$('.wrapper-modal-mg-non-available .modal-mg-booking-list li.mg-cap .g-recaptcha-template iframe').length) { 378 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.mg-cap .g-recaptcha-template').attr('id', 'nonAvailable_recaptcha'); 379 var skey = $('#nonAvailable_recaptcha').data('sitekey'); 380 nonAvailable_recaptcha = grecaptcha.render('nonAvailable_recaptcha', { 381 sitekey: skey, 382 }); 383 $('.wrapper-modal-mg-non-available .modal
383-mg-booking-list li.mg-cap .g-recaptcha-template').removeAttr('id'); 384 } 385 386 if ($('.wrapper-modal-mg-non-available .modal-mg-booking-list li.mg-cap .recaptcha-holder-template').length && !$('.wrapper-modal-mg-non-available .modal-mg-booking-list li.mg-cap .recaptcha-holder-template iframe').length) { 387 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.mg-cap .recaptcha-holder-template').attr('id', 'nonAvailable_recaptcha'); 388 var skey = $('#nonAvailable_recaptcha').data('sitekey'); 389 nonAvailable_recaptcha = grecaptcha.render('nonAvailable_recaptcha', { 390 sitekey: skey, 391 callback: function(recaptchaToken) { 392 nonAvailableModule.recaptchaToken = recaptchaToken; 393 $('.mg-send-booking-click-button:visible').click(); 394 }, 395 }); 396 $('.wrapper-modal-mg-non-available .modal-mg-booking-list li.mg-cap .recaptcha-holder-template').removeAttr('id'); 397 } 398 399 } 400 } 401 402 }, 403 }); 404 return true; 405 406 } 407 }, 408 }; 409})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.