1function formAttentionScroll(dist, parent){ 2 $(parent).animate({ 3 scrollTop: dist 4 }, 700); 5 6} 7$(document).ready( 8 function(){ 9 10 11 if($(".form-block form").is(".send")) 12 { 13 $("form input[name='url']").val(location.href); 14 $.datetimepicker.setLocale('ru'); 15 $('form.form .date').datetimepicker({ 16 timepicker: false, 17 format: 'd/m/Y', 18 scrollMonth: false, 19 scrollInput: false, 20 dayOfWeekStart: 1 21 }); 22 } 23 24 } 25); 26 27$(document).on('change', ".form.send input[type='file']", 28 function(){ 29 30 var inp = $(this); 31 var file_list_name = ""; 32 33 $(inp[0].files).each( 34 function(key){ 35 file_list_name += "<span>"+inp[0].files[key].name+"</span><br/>"; 36 } 37 ); 38 39 40 if(!file_list_name.length) 41 return; 42 43 inp.parents('form.send').addClass('file-download'); 44 inp.parents('label').find('.area-files-name').html(file_list_name); 45 inp.parents('label').removeClass("area-file"); 46 inp.closest('.load-file').removeClass("has-error"); 47 48 } 49); 50 51$(document).on("click", "form.form input[type='checkbox']", 52 function(){ 53 $(this).parents("div.wrap-agree").removeClass("has-error"); 54 55 } 56); 57/*send form*/ 58 59function sendForm(arParams) 60{ 61 var error = 0, 62 formSendAll = new FormData(), 63 actionGoals = "CALLBACK"; 64 65 if(arParams.form_block.hasClass('order')) 66 actionGoals = "ORDER"; 67 else if(arParams.form_block.hasClass('fast-order')) 68 actionGoals = "FAST_ORDER"; 69 70 71 formSendAll.append("send", "Y"); 72 formSendAll.append("tmpl_path", $("input.tmpl_path").val()); 73 formSendAll.append("section_iblock_id", $("input.iblock-landing").val()); 74 var sessid = ""; 75 if(typeof BX !== "undefined" && typeof BX.bitrix_sessid === "function") 76 sessid = BX.bitrix_sessid(); 77 if(sessid.length <= 0) 78 { 79 var sessidInput = $("input[name='sessid']").first(); 80 if(sessidInput.length > 0) 81 sessid = sessidInput.val(); 82 } 83 if(sessid.length > 0) 84 formSendAll.append("sessid", sessid); 85 86 for (var i = 1; i <= 10; i++) { 87 if($("input#custom-input-"+i).val().length>0) 88 formSendAll.append("custom-input-"+i, $("input#custom-input-"+i).val()); 89 } 90 91 92 if(typeof(arParams.agreecheck.val()) != "undefined"){ 93 if(!arParams.agreecheck.prop("checked")){ 94 arParams.agreecheck.parents("div.wrap-agree").addClass("has-error"); 95 error = 1; 96 } 97 } 98 99 100 101 102 $("input[type='text'], input[type='email'], input[type='password'], textarea", arParams.form_block).each( 103 function(key, value){ 104 105 if($(this).hasClass("email") && $(this).val().length > 0){ 106 if(!(/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test($(this).val())){ 107 $(this).parent("div.input").addClass("has-error"); 108 error = 1; 109 } 110 } 111 if($(this).hasClass("require")){ 112 if($(this).val().trim().length <= 0){ 113 $(this).val(""); 114 $(this).parent("div.input").addClass("has-error"); 115 error = 1; 116 } 117 } 118 } 119 ); 120 $("input[type='file']", arParams.form_block).each( 121 function(key, value){ 122 if($(this).hasClass("require")){ 123 if($(this).closest('.load-file').find('.area-file').length>0){ 124 $(this).closest('.load-file').addClass("has-error"); 125 error = 1; 126 } 127 } 128 } 129 ); 130 if(!$('.ham-modal').hasClass('form-modal')){ 131 var otherHeight = 0; 132 if($('header').hasClass('slide')) 133 otherHeight = $('header .header-block').outerHeight(true); 134 } 135 if(error == 1){ 136 if($('.ham-modal').hasClass('form-modal')) 137 formAttentionScroll(arParams.form_block.find('.has-error:first').offset().top - arParam
137s.form_block.parents('.ham-modal-dialog').offset().top, ".ham-modal"); 138 139 else if(arParams.form_block.hasClass('form-box')) 140 formAttentionScroll(arParams.form_block.find('.has-error:first').offset().top - arParams.form_block.parents(".body").offset().top, ".box-parent"); 141 142 else{ 143 formAttentionScroll(arParams.form_block.find('.has-error:first').offset().top - otherHeight, "html:not(:animated),body:not(:animated)"); 144 } 145 } 146 147 148 149 if(error == 0){ 150 arParams.form_block.css({ 151 "height": arParams.form_block.outerHeight() + "px" 152 }); 153 154 155 form_arr = arParams.form_block.find(':input,select,textarea').serializeArray(); 156 157 for (var i = 0; i < form_arr.length; i++) 158 { 159 formSendAll.append(form_arr[i].name, form_arr[i].value); 160 }; 161 162 if (arParams.form_block.hasClass('file-download')) 163 { 164 arParams.form_block.find('input[type=file]').each(function(key) 165 { 166 167 var inp = $(this); 168 var file_list_name = ""; 169 170 $(inp[0].files).each( 171 function(k){ 172 formSendAll.append(inp.attr('name'), inp[0].files[k], inp[0].files[k].name); 173 } 174 ); 175 176 }); 177 } 178 179 if(arParams.captchaToken.length>0) 180 formSendAll.append("captchaToken", arParams.captchaToken); 181 182 183 arParams.button.removeClass("active"); 184 arParams.load.addClass("active"); 185 var timeOut = setTimeout( 186 function(){ 187 $.ajax({ 188 url: arParams.path, 189 method: 'POST', 190 contentType: false, 191 processData: false, 192 data: formSendAll, 193 dataType: 'json', 194 success: function(json){ 195 196 /*console.log(json); 197 198 $("body").prepend(json);*/ 199 200 if(json.OK == "N"){ 201 arParams.button.addClass("active"); 202 arParams.load.removeClass("active"); 203 } 204 if(json.OK == "Y") 205 { 206 207 arParams.questions.removeClass("active"); 208 arParams.thank.addClass("active"); 209 210 $.ajax({ 211 url: "/", 212 method: 'POST', 213 success: function(json){} 214 215 }); 216 217 if(actionGoals == "CALLBACK") 218 addGoal(actionGoals); 219 220 221 222 setTimeout( 223 function() 224 { 225 226 if($('.ham-modal').hasClass('form-modal')) 227 formAttentionScroll(arParams.form_block.find('.thank').offset().top - arParams.form_block.parents('.ham-modal-dialog').offset().top, ".ham-modal"); 228 229 else if(arParams.form_block.hasClass('form-box')) 230 formAttentionScroll(arParams.form_block.find('.thank').offset().top - arParams.form_block.parents(".body").offset().top, ".box-parent"); 231 232 else{ 233 formAttentionScroll(arParams.form_block.find('.thank').offset().top - otherHeight, "html:not(:animated),body:not(:animated)"); 234 } 235 236 }, 300); 237 238 239 if(arParams.form_block.hasClass('form-box')) 240 { 241 setTimeout( 242 function(){ 243 244 arParams.form_block.find(".areabox-form").children().remove(); 245 arParams.form_block.find(".box-back").removeClass('active'); 246 arParams.form_block.find(".areabox-form").removeClass('active'); 247 arParams.form_block.find(".info-table").addClass('active'); 248 249 var redirect = ""; 250 if(typeof(json.PAYMENT_REDIRECT) != "undefined") 251 { 252 if(json.PAYMENT_REDIRECT.length > 0) 253 redirect = json.PAYMENT_REDIRECT; 254 } 255 256 updateBox("","","","clear","", redirect); 257 258 }, 2000); 259 } 260 261 if(typeof(arParams.linkHREF) != "undefined") 262 { 263 264 setTimeout( 265 function() 266 {
267 location.href = arParams.linkHREF; 268 269 }, 3000); 270 } 271 272 if(json.SCRIPTS.length > 0) 273 $('body').append("<script>"+json.SCRIPTS+"</script>"); 274 } 275 } 276 }); 277 clearTimeout(timeOut); 278 }, 1000); 279 } 280 281} 282 283$(document).on("click", "button.btn-submit", function() 284{ 285 286 var form = $(this).parents("form.send"); 287 var path = "/bitrix/templates/concept_hameleon/ajax/forms.php"; 288 289 if(form.hasClass('form-box')) 290 path = "/bitrix/components/concept/hameleon_cart/order.php"; 291 292 293 paramsForm = { 294 form_block: form, 295 path: path, 296 button: $(this), 297 linkHREF: $(this).attr("data-link"), 298 header: $("input[name='header']", form), 299 agreecheck: $("input[name='checkboxAgree']", form), 300 questions: $("div.questions", form), 301 load: $("div.load", form), 302 thank: $("div.thank", form), 303 captchaToken: "" 304 305 }; 306 307 if($("input.captcha-site-key").length>0) 308 { 309 grecaptcha.execute($("input.captcha-site-key").val(), {action: 'homepage'}).then(function(token) { 310 paramsForm.captchaToken = token; 311 sendForm(paramsForm); 312 }); 313 } 314 else{ 315 sendForm(paramsForm); 316 } 317 318}); 319$(document).on("click", "a.form-close", 320 function(){ 321 $("div.click-for-reset.on").removeClass("on"); 322 $('div.wrapper').removeClass('blur'); 323 $('body').removeClass("modal-open"); 324 $('.wrap-modal.open').removeClass('blur'); 325 326 if(device.ios()){ 327 $("body").removeClass("modal-ios"); 328 window.scrollTo(0, cur_pos); 329 } 330 } 331); 332 333$(document).on('click', '.call-modal', 334 function(){ 335 if(!$("body").hasClass("modal-ios")) 336 cur_pos = $(document).scrollTop(); 337 338 var path = '', 339 area = '', 340 value = $(this).attr("data-call-modal"), 341 header = $(this).attr("data-header"), 342 from = $(this).attr("data-from-open-modal"), 343 platform = $(this).attr("data-platform-video"), 344 element_id = "", 345 element_type = "", 346 other_complect = ""; 347 348 site_id = $("input.site_id").val(); 349 ib = $("input.ib").val(); 350 sect = $("input.sect").val(); 351 btn_type = $("input.btn_type").val(); 352 353 354 if($(this).hasClass("more-modal-info")){ 355 element_id = $(this).attr("data-element-id"); 356 element_type = $(this).attr("data-element-type"); 357 358 if($(this).hasClass('from-modal')) 359 other_complect = $(this).parents(".tabs-content").find("input[name='other_complect']:checked").val(); 360 } 361 362 var type = ""; 363 var box_form = ""; 364 365 var th = $(this); 366 367 $('div.wrapper').addClass('blur'); 368 369 if($(this).hasClass('box-form')) 370 { 371 area = 'areabox-form'; 372 path = 'form_box.php'; 373 value = value.replace("form", ""); 374 375 if($(this).hasClass('main-click')) 376 box_form = "Y"; 377 } 378 379 if($(this).hasClass('callform')){ 380 area = 'modalAreaForm'; 381 path = 'formmodal.php'; 382 value = value.replace("form", ""); 383 } 384 385 386 if($(this).hasClass('callvideo')){ 387 area = 'modalAreaVideo'; 388 path = 'videomodal.php'; 389 } 390 391 if($(this).hasClass('callmodal')){ 392 area = 'modalAreaWindow'; 393 path = 'windowmodal.php'; 394 value = value.replace("modal", ""); 395 } 396 397 if($(this).hasClass('callagreement')){ 398 area = 'modalAreaAgreement'; 399 path = 'agreemodal.php'; 400 value = value.replace("agreement", ""); 401 } 402 403 404 $('.google-spin-wrapper').addClass('active'); 405 406 $.post("/bitrix/templates/concept_hameleon/ajax/" + path,{ 407 resVal: value, 408 site_id: site_id, 409 type: type, 410 btn_type: btn_type, 411 section: sect, 412 ib: ib, 413 element_id: element_id, 414 element_type: element_type, 415 other_complect: other_complect, 416 box_form: box_form, 417 platform: platform 418 419 420 }, 421 422 function(html){ 423 424 $("body").addClass("modal-open"); 425 426 if(device.ios() && !th.hasClass('box-form')){ 427 $("body").addClass("modal-ios"); 428 } 429 430 $('div.' + area).html(html); 431 $('.google-spin-wrapper').removeClass('active'); 432 433 if(from == 'open-menu'){ 434 $('div.open-menu').addClass('blur'); 435 $('div.' + area).find('.close-modal').addClass('open-menu'); 436 } 437 438 var timeOut = setTimeout( 439 function(){ 440 $('div.' + area).find('.ham-modal').addClass('active'); 441 clearTimeout(timeOut); 442 }, 300); 443 444 445 if(area == 'modalAreaForm'){ 446 var timeOut2 = setTimeout( 447 function(){ 448 449 $('div.modalAreaForm').find("form input[name='url']").val(decodeURIComponent(location.href)); 450 451 $('div.modalAreaForm').addClass('z-index-99999'); 452 453 if(typeof(comment) != "undefined"){ 454 if(comment.length > 0) 455 $("div.modalAreaForm").find("div.add_text").html(comment); 456 457 } 458 459 if(typeof(formTitle) != "undefined"){ 460 if(formTitle.length > 0) 461 $('div.modalAreaForm').find("form input[name='comment']").val(formTitle); 462 } 463 464 if(typeof(header) != "undefined"){ 465 if(header.length > 0) 466 $('div.modalAreaForm').find("form input[name='header']").val(header); 467 } 468 $.datetimepicker.setLocale('ru'); 469 $('div.modalAreaForm form.form .date').datetimepicker({ 470 timepicker: false, 471 format: 'd/m/Y',
472 scrollMonth: false, 473 scrollInput: false, 474 dayOfWeekStart: 1 475 }); 476 clearTimeout(timeOut2); 477 }, 100 478 ); 479 } 480 481 if(area == 'modalAreaVideo'){ 482 var timeOut2 = setTimeout( 483 function(){ 484 var win_height = $('div.video-modal').height(); 485 var modal = 590; 486 if($(window).width() > 767){ 487 if(win_height > modal) 488 $("div.video-modal div.ham-modal-dialog").addClass('pos-absolute'); 489 else{ 490 $("div.video-modal div.ham-modal-dialog").removeClass('pos-absolute'); 491 } 492 } 493 else{ 494 $("div.video-modal div.ham-modal-dialog").addClass('pos-absolute'); 495 } 496 497 clearTimeout(timeOut2); 498 }, 100 499 ); 500 } 501 502 503 if(th.hasClass('from-modalform')){ 504 $('div.modalAreaForm').addClass('z-index-99999'); 505 $('div.modalAreaAgreement').find('.close-modal').addClass('from-modal'); 506 $('div.modalAreaAgreement').find('.close-modal').addClass('from-modalform'); 507 $('div.form-modal').addClass('blur'); 508 } 509 510 if(th.hasClass('from-openmenu')){ 511 $('div.modalAreaForm').find('.close-modal').addClass('from-modal'); 512 $('div.modalAreaAgreement').find('.close-modal').addClass('from-modal'); 513 $('div.modalAreaAgreement').find('.close-modal').addClass('from-openmenu'); 514 $('div.modalAreaForm').find('.close-modal').addClass('from-openmenu'); 515 $('div.open-menu').addClass('blur'); 516 $('div.modalAreaWindow').find('.close-modal').addClass('from-modal'); 517 $('div.modalAreaWindow').find('.close-modal').addClass('from-openmenu'); 518 } 519 520 if(th.hasClass('from-set')){ 521 $('div.modalAreaForm').find('.close-modal').addClass('from-modal'); 522 $('div.modalAreaWindow').find('.close-modal').addClass('from-modal'); 523 } 524 525 if(th.hasClass('from-tariff')){ 526 $('div.wrap-modal').addClass('blur'); 527 $('div.modalAreaAgreement').find('.close-modal').addClass('from-tariff'); 528 $('div.modalAreaForm').find('.close-modal').addClass('from-tariff'); 529 $('div.modalAreaWindow').find('.close-modal').addClass('from-tariff'); 530 } 531 532 if(area == 'areabox-form') 533 { 534 th.parents(".wrapper-mbox").find(".info-table").removeClass('active'); 535 th.parents(".wrapper-mbox").find(".box-back").addClass('active'); 536 th.parents(".wrapper-mbox").find(".areabox-form").addClass('active'); 537 th.parents(".wrapper-mbox").find("form input[name='url']").val(decodeURIComponent(location.href)); 538 $.datetimepicker.setLocale('ru'); 539 $('.wrapper-mbox form.form .date').datetimepicker({ 540 timepicker: false, 541 format: 'd/m/Y', 542 scrollMonth: false, 543 scrollInput: false, 544 dayOfWeekStart: 1 545 }); 546 } 547 548 $('.lazyload').Lazy(); 549 550 } 551 ); 552 553 554 555 } 556); 557$(document).on('click', '.close-modal', 558 function(){ 559 $('div.modalAreaForm form.form .date').datetimepicker('destroy'); 560 $(this).parents("div.modalArea.z-index-99999").removeClass('z-index-99999'); 561 if(!($(this).hasClass('from-modal')) && !($(this).hasClass('from-tariff'))){ 562 $('div.wrapper').removeClass('blur'); 563 $("body").removeClass("modal-open"); 564 565 if(device.ios()){ 566 $("body").removeClass("modal-ios"); 567 window.scrollTo(0, cur_pos); 568 } 569 } 570 if($(this).hasClass('from-modalform')) 571 $('div.form-modal').removeClass('blur'); 572 573 if($(this).hasClass('from-openmenu')) 574 $('div.open-menu').removeClass('blur'); 575 576 if($(this).hasClass('from-tariff')) 577 $('div.wrap-modal').removeClass('blur'); 578 579 if($(this).hasClass('wind-close')) 580 $(this).parents("div.shadow-modal-wind-contact").removeClass('on'); 581 582 else{ 583 $(this).parents("div.modalArea").children().remove(); 584 } 585 586 587 } 588); 589$(document).on("click", ".box-back", 590 function(e){ 591 $(this).removeClass('active'); 592 $(this).parents(".wrapper-mbox").find(".areabox-form").removeClass('active'); 593 $(this).parents(".wrapper-mbox").find(".info-table").addClass('active'); 594 595 596 } 597); 598$(document).on('click', '.open_modal_contacts', 599 function(){ 600 $('div.shadow-modal-wind-contact').addClass('on'); 601 $('div.wrapper').addClass('blur'); 602 $("body").addClass("modal-open"); 603 604 if(device.ios()){ 605 cur_pos = $(document).scrollTop(); 606 $("body").addClass("modal-ios"); 607 } 608 609 610 } 611); 612$(document).on("click", ".btn-modal-open", 613 function(){ 614 cur_pos = $(document).scrollTop(); 615 616 var added = "N"; 617 if($(this).parents(".element").find(".click_box").hasClass('added')) 618 added = "Y"; 619 620 621 $('div.google-spin-wrapper').addClass('active'); 622 623 $.post("/bitrix/templates/concept_hameleon/ajax/modal.php",{ 624 element_id: $(this).attr('data-element-id'), 625 name: $(this).attr('data-detail'), 626 all_id: $(this).attr('data-all-id'), 627 site_id: $("input.site_id").val(), 628 land_id: $("input.sect").val(), 629 land_iblock_id: $("input.ib").val(), 630 block_header: $(this).attr('data-header'), 631 added: added, 632 catalog_id: $(this).attr('data-main-catalog-id') 633 634 }, 635 636 function(html){ 637 638 $('div.wrap-modal').addClass('open'); 639 $('div.wrapper').addClass('blur'); 640 $('body').addClass('modal-open'); 641 $('.shadow-detail').addClass('active'); 642 $("div.modal-container").html(html); 643 644 645 646 647 $(".wrap-modal-inner").addClass('open'); 648 $('div.no-click-block').addClass('on'); 649 650 $('div.google-spin-wrapper').removeClass('active'); 651 $(".area_for_mini_box").addClass('mod_cat_opened'); 652 } 653 ); 654 655 656 } 657); 658/*for close detail-modal*/ 659$(document).on("click", "a.wrap-modal-close", 660 function(){ 661 $('div.wrap-modal').removeClass('open'); 662 $('.shadow-detail').removeClass('active'); 663 $('body').removeClass('modal-open'); 664 $('div.wrapper').removeClass('blur'); 665 $('div.no-click-block').removeClass('on'); 666 667 if($(".area_for_mini_box").hasClass("mod_cat_opened")) 668 $(".area_for_mini_box").removeClass('mod_cat_opened'); 669 670 if(device.ios()){ 671 window.scrollTo(0, cur_pos); 672 $("body").removeClass("modal-ios"); 673 } 674 675 676 } 677); 678/*hide and show placeholder*/ 679$(document).on("focus", "form input[type='text'], input[type='email'], form textarea", 680 function(){ 681 $(this).parent("div.input").removeClass("has-error"); 682 683 } 684); 685$(document).on("blur", "form input[type='text'], input[type='email'], form textarea", 686 function(){ 687 $(this).parent("div.input").removeClass("has-error"); 688 689 } 690); 691$(document).on('click', '.select-list-choose', 692 function(){ 693 $(this).parents('.form-select').addClass('open'); 694 695 } 696); 697$(document).on('click', '.ar-down', 698 function(){ 699 if($(this).parents('.form-select').hasClass('open')) 700 $(this).parents('.form-select').removeClass('open'); 701 else{ 702 $(this).parents('.form-select').addClass('open'); 703 } 704 705 } 706); 707$(document).on('click', '.form-select .name', 708 function(){ 709 $(this).parents('.form-select').find('.select-list-choose').removeClass('first').find(".list-area").text($(this).text()); 710 $(this).parents('.form-select').removeClass('open'); 711 } 712); 713 714$(document).mouseup(function (e){ 715 var div = $(".form-select"); 716 if (!div.is(e.target) 717 && div.has(e.target).length === 0) { 718 div.removeClass('open'); 719 } 720 721}); 722 723 724 725$(document).on('change', ".box-choose-select", 726 function(){ 727 $(this).parents(".parent-choose-select").find(".inp-show-js").removeClass('active'); 728 $(this).parents(".parent-choose-select").find(".inp-show-js[data-choose-select='"+$(this).attr("data-choose-select")+"']").addClass('active'); 729 730}); 731$(document).on("focus", "input.focus-anim", 732 function(){ 733 if($(this).val() == "") 734 $(this).parent().addClass('in-focus'); 735 736 737 } 738); 739$(document).on("blur", "input.focus-anim", 740 function(){ 741 if($(this).val() == "") 742 $(this).parent().removeClass('in-focus'); 743 744 745 } 746); 747/**/ 748$(document).on("keypress", ".only-num", 749 function(e){ 750 e = e || event; 751 if(e.ctrlKey || e.altKey || e.metaKey) return; 752 var chr = getChar(e); 753 if(chr == null) return; 754 if(chr < '0' || chr > '9'){ 755 return false;
756 } 757 } 758); 759/*focus input*/ 760$(document).on("focus", "input.focus-anim, textarea.focus-anim", 761 function(){ 762 if($(this).val() == "") 763 $(this).parent().addClass('in-focus'); 764 765 766 } 767); 768$(document).on("blur", "input.focus-anim, textarea.focus-anim", 769 function(){ 770 element = $(this); 771 var timeOut = setTimeout( 772 function(){ 773 if(element.val() == "") 774 element.parent().removeClass('in-focus'); 775 776 clearTimeout(timeOut); 777 }, 200 778 ); 779 780 781 } 782); 783 784$(document).on('click', '.inp-show-js-padding', 785 function(){ 786 787 var str = $(this).find(".inp-show-js-length").text().length; 788 789 if(str >= 48) 790 $(this).find("textarea").addClass('two-rows'); 791 792 if(str >= 78) 793 $(this).find("textarea").addClass('three-rows'); 794 795 } 796); 797
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.