1/* Yandex Smart Captcha */ 2let ysc_flag_loaded = false; 3let ysc_container = false; 4 5/* resellers */ 6let ysc_id_resellers = false; 7 8/* review add */ 9let ysc_id_review_add = false; 10 11/* search */ 12let ysc_id_search_modal = false; 13 14/* special offer */ 15let ysc_id_ga_modal = false; 16let ysc_id_gap = false; 17let ysc_id_gap_modal = false; 18let ysc_id_gt = false; 19let ysc_id_gt_modal = false; 20let ysc_id_gtl_modal = false; 21 22 23/* ÐагÑÑжаем капÑÑÑ */ 24function SmartCaptchaLoad() { 25 if(!window.smartCaptcha) { 26 return; 27 } 28 29 SmartCaptchaInit(); 30 31 ysc_flag_loaded = true; 32 console.log('captcha loaded'); 33} 34 35 36/* Создаем капÑÑÑ Ð½Ð° ÑÑÑаниÑе */ 37function SmartCaptchaInit() { 38 /* resellers */ 39 if(document.getElementById('captcha_container_resellers') !== null) { 40 ysc_id_resellers = window.smartCaptcha.render('captcha_container_resellers', { 41 sitekey: smarty_captcha_public, 42 invisible: true, 43 callback: SmartyCaptchaExecuteReseller, 44 }); 45 46 }/* resellers */ 47 if(document.getElementById('captcha_container_motorwarranty') !== null) { 48 ysc_id_motorwarranty = window.smartCaptcha.render('captcha_container_motorwarranty', { 49 sitekey: smarty_captcha_public, 50 invisible: true, 51 callback: SmartyCaptchaExecuteMotorwarranty, 52 }); 53 } 54 55 /* review add */ 56 if(document.getElementById('captcha_container_review_add') !== null) { 57 ysc_id_review_add = window.smartCaptcha.render('captcha_container_review_add', { 58 sitekey: smarty_captcha_public, 59 invisible: true, 60 callback: SmartyCaptchaExecuteReviewAdd, 61 }); 62 } 63 64 /* search */ 65 if(document.getElementById('captcha_container_search_modal') !== null) { 66 ysc_id_search_modal = window.smartCaptcha.render('captcha_container_search_modal', { 67 sitekey: smarty_captcha_public, 68 invisible: true, 69 callback: SmartyCaptchaExecuteSearch, 70 }); 71 } 72 73 /* special offer */ 74 if(document.getElementById('captcha_container_ga_modal') !== null) { 75 ysc_id_ga_modal = window.smartCaptcha.render('captcha_container_ga_modal', { 76 sitekey: smarty_captcha_public, 77 invisible: true, 78 callback: SmartyCaptchaExecuteSpecialOffer, 79 }); 80 } 81 if(document.getElementById('captcha_container_gap') !== null) { 82 ysc_id_gap = window.smartCaptcha.render('captcha_container_gap', { 83 sitekey: smarty_captcha_public, 84 invisible: true, 85 callback: SmartyCaptchaExecuteSpecialOffer, 86 }); 87 } 88 if(document.getElementById('captcha_container_gap_modal') !== null) { 89 ysc_id_gap_modal = window.smartCaptcha.render('captcha_container_gap_modal', { 90 sitekey: smarty_captcha_public, 91 invisible: true, 92 callback: SmartyCaptchaExecuteSpecialOffer, 93 }); 94 } 95 if(document.getElementById('captcha_container_gt') !== null) { 96 ysc_id_gt = window.smartCaptcha.render('captcha_container_gt', { 97 sitekey: smarty_captcha_public, 98 invisible: true, 99 callback: SmartyCaptchaExecuteSpecialOffer, 100 }); 101 } 102 if(document.getElementById('captcha_container_gt_modal') !== null) { 103 ysc_id_gt_modal = window.smartCaptcha.render('captcha_container_gt_modal', { 104 sitekey: smarty_captcha_public, 105 invisible: true, 106 callback: SmartyCaptchaExecuteSpecialOffer, 107 }); 108 } 109 if(document.getElementById('captcha_container_gtl_modal') !== null) { 110 ysc_id_gtl_modal = window.smartCaptcha.render('captcha_container_gtl_modal', { 111 sitekey: smarty_captcha_public, 112 invisible: true, 113 callback: SmartyCaptchaExecuteSpecialOffer, 114 }); 115 } 116 117} 118 119 120/* ÐапÑÑк обÑабоÑки ÑоÑм */ 121function SmartCaptchaFormSend(CONTAINER) { 122 if(!window.smartCaptcha) { 123 return; 124 } 125 126 ysc_container = CONTAINER; 127 128 switch(CONTAINER) { 129 /* resellers */ 130 case 'captcha_container_resellers': { 131 window.smartCaptcha.execute(ysc_id_resellers); 132 } break; 133 134 /* motorwarranty */ 135 case 'captcha_container_motorwarranty': { 136 window.smartCaptcha.execute(ysc_id_motorwarranty); 137 } break; 138 139 /* review add */ 140 case 'captcha_container_review_add': { 141 window.smartCaptcha.execute(ysc_id_review_add); 142 } break; 143 144 /* search */ 145 case 'captcha_container_search_modal': { 146 window.smartCaptcha.execute(ysc_id_search_modal); 147 } break 148 149 /* special offer */ 150 case 'captcha_container_ga_modal': { 151 window.smartCaptcha.execute(ysc_id_ga_modal); 152 } break; 153 case 'captcha_container_gap': { 154 window.smartCaptcha.execute(ysc_id_gap); 155 } break; 156 case 'captcha_container_gap_modal': { 157 window.smartCaptcha.execute(ysc_id_gap_model); 158 } break; 159 case 'captcha_container_gt': { 160 window.smartCaptcha.execute(ysc_id_gt); 161 } break; 162 case 'captcha_container_gt_modal': { 163 window.smartCaptcha.execute(ysc_id_gt_modal); 164 } break; 165 case 'captcha_container_gtl_modal': { 166 window.smartCaptcha.execute(ysc_id_gtl_modal); 167 } break; 168 169 } 170 171} 172 173 174/* ÐбÑабоÑÑики */ 175function SmartyCaptchaExecuteReseller(token) { 176 let form = $('#resellers-form'); 177 let name = form.find('.js-name'); 178 let phone = form.find('.js-phone'); 179 let email = form.find('.js-email'); 180 let city = form.find('.js-city'); 181 182 let flag_error = false; 183 184 if(!name.val()) { 185 flag_error = true; 186 name.addClass('is-invalid'); 187 name.parent('.contact-line').removeClass('success'); 188 name.parent('.contact-line').addClass('error'); 189 } 190 else { 191 name.removeClass('is-invalid'); 192 name.parent('.contact-line').removeClass('error'); 193 name.parent('.contact-line').addClass('success'); 194 } 195 196 if(!phone.val()) { 197 flag_error = true; 198 phone.addClass('is-invalid'); 199 phone.parent('.contact-line').removeClass('success'); 200 phone.parent('.contact-line').addClass('error'); 201 } 202 else { 203 phone.removeClass('is-invalid'); 204 phone.parent('.contact-line').removeClass('error'); 205 phone.parent('.contact-line').addClass('success'); 206 } 207 208 if(!email.val()) { 209 flag_error = true; 210 email.addClass('is-invalid'); 211 email.parent('.contact-line').removeClass('success'); 212 email.parent('.contact-line').addClass('error'); 213 } 214 else { 215 email.removeClass('is-invalid'); 216 email.parent('.contact-line').removeClass('error'); 217 email.parent('.contact-line').addClass('success'); 218 } 219 220 if(!city.val()) { 221 flag_error = true; 222 city.addClass('is-invalid'); 223 city.parent('.contact-line').removeClass('success'); 224 city.parent('.contact-line').addClass('error'); 225 } 226 else { 227 city.removeClass('is-invalid'); 228 city.parent('.contact-line').removeClass('error'); 229 city.parent('.contact-line').addClass('success'); 230 } 231 232 if(!flag_error) { 233 $.ajax({
234 type: 'POST', 235 url: '/reseller/', 236 data: { 237 ajax: 'resselers', 238 name: name.val(), 239 phone: phone.val(), 240 email: email.val(), 241 city: city.val(), 242 captcha: token 243 }, 244 dataType: 'json' 245 }).done(function(answer) { 246 if(answer.status == 'ok') { 247 $('#resellers-form').hide(); 248 $('#successFormText').show(); 249 } 250 else { 251 alert('ÐÑибка ÑеÑвеÑа. ÐопÑобÑйÑе позже'); 252 } 253 }); 254 } 255 256 console.log('captcha executed'); 257 258 /* ÐенивÑй пеÑезапÑÑк капÑÑи */ 259 if(ysc_flag_loaded) { 260 SmartCaptchaInit(); 261 } 262} 263 264function SmartyCaptchaExecuteMotorwarranty(token) { 265 266 let form = $('#motorwarranty'); 267 268 form.find('.field-error').remove(); 269 let date_valid = false; 270 let entered_date = form.find('.js-date-mask').val(); 271 let date_error = ''; 272 273 let reg = /(0[1-9]|[12][0-9]|3[01])-(0[1-9]|1[012])-\d\d\d\d/; 274 275 if (entered_date.match(reg)) { 276 277 let date_split = entered_date.split("-"); 278 let date = new Date(date_split[2], date_split[1] - 1, date_split[0]); 279 let date1900 = new Date(1900, 0, 1); 280 281 if(date > Date.now()) { 282 date_error = 'ÐаÑа не должна бÑÑÑ Ð±Ð¾Ð»ÑÑе ÑекÑÑей'; 283 } else if (date <= date1900){ 284 date_error = 'ÐаÑа должна бÑÑÑ Ð±Ð¾Ð»ÑÑе 01-01-1900'; 285 } else{ 286 $('.js-date-mask').removeClass('error'); 287 date_valid = true; 288 } 289 } else { 290 $('.js-date-mask').addClass('error'); 291 $('.js-date-mask').after('<div class="field-error" style="color:red;">ÐведиÑе даÑÑ Ð² ÑоÑмаÑе ÐÐ-ÐÐ-ÐÐÐÐ</div>'); 292 } 293 294 let email_error = ''; 295 let email_valid = false; 296 let email = $('input[name=mail]').val(); 297 298 if(email != '') { 299 var pattern = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\.)+[A-Z]{2,4}$/i; 300 if(pattern.test(email)){ 301 $("input[name=mail]").removeClass('error'); 302 email_valid = true; 303 } else { 304 email_error = 'ÐекоÑÑекÑнÑй email'; 305 } 306 } else { 307 email_error = 'Ðоле email не должно бÑÑÑ Ð¿ÑÑÑÑм'; 308 } 309 310 if(date_valid && email_valid) { 311 $('.js-date-mask').removeClass('error'); 312 $("input[name=mail]").removeClass('error'); 313 314 var url = form.attr('action'); 315 var data = form.serializeArray(); 316 data.push({name:'captcha', 'value': token}); 317 318 $.ajax({ 319 type: "POST", 320 url: url, 321 data: data, 322 dataType: 'json', 323 success: function(r){ 324 if( r.errors.length > 0 ) { 325 if(r.res == 'notValidEmail') { 326 alert(r.errors); 327 return; 328 } else { 329 alert('ÐÑибка ÑеÑвеÑа..'); 330 return; 331 } 332 } 333 334 $('#motorwarranty').hide(); 335 $('.hide-after').hide(); 336 $('.motorwarranty-page .success').show(); 337 $('.js-after-form').show(); 338 }, 339 fail: function(r){ 340 alert('Error'); 341 console.log(r); 342 } 343 344 }); 345 } else { 346 if (!date_valid) { 347 $('.js-date-mask').addClass('error'); 348 $('.js-date-mask').after('<div class="field-error" style="color:red;">'+date_error+'</div>'); 349 } 350 if (!email_valid) { 351 $("input[name=mail]").addClass('error'); 352 $("input[name=mail]").after('<div class="field-error" style="color:red;">'+email_error+'</div>'); 353 } 354 } 355 356 /* ÐенивÑй пеÑезапÑÑк капÑÑи */ 357 if(ysc_flag_loaded) { 358 SmartCaptchaInit(); 359 } 360 361} 362 363function SmartyCaptchaExecuteReviewAdd(token) {
364 var data = $('#add_review').serializeArray(); 365 366 let flag_error = false; 367 368 if($('#stars').val().length === 0) { 369 $('.js-stars-error').removeClass('inactive'); 370 $('.total-rait__stars').addClass('error'); 371 flag_error = true; 372 } 373 else { 374 $('.js-stars-error').addClass('inactive'); 375 $('.total-rait__stars').removeClass('error'); 376 } 377 378 if($('#product_type').val().length === 0) { 379 $('.js-product_type-error').removeClass('inactive'); 380 $('.choose-type__item').addClass('error'); 381 flag_error = true; 382 } 383 else { 384 $('.js-product_type-error').addClass('inactive'); 385 $('.choose-type__item').removeClass('error'); 386 } 387 388 if($('#name_city').val().length === 0) { 389 $('.js-name_city-error').removeClass('inactive'); 390 $('#name_city').addClass('error'); 391 flag_error = true; 392 } 393 else { 394 $('.js-name_city-error').addClass('inactive'); 395 $('#name_city').removeClass('error'); 396 } 397 398 if($('#order_car').val().length === 0) { 399 $('.js-order_car-error').removeClass('inactive'); 400 $('#order_car').addClass('error'); 401 flag_error = true; 402 } 403 else { 404 $('.js-order_car-error').addClass('inactive'); 405 $('#order_car').removeClass('error'); 406 } 407 408 if(!flag_error) { 409 $.ajax({ 410 type: 'POST', 411 url: '/reviews/add/', 412 data: data, 413 dataType: 'json' 414 }).done(function(answer) { 415 if(answer.status == 'ok') { 416 $('#add_review').hide(); 417 $('.hide-after').hide(); 418 $('.js-after-form').show(); 419 $('html, body').animate({scrollTop: '0px'}, 300); 420 } 421 else { 422 alert('ÐÑибка ÑеÑвеÑа. ÐопÑобÑйÑе позже'); 423 } 424 }); 425 } 426 427 console.log('captcha executed'); 428 429 /* ÐенивÑй пеÑезапÑÑк капÑÑи */ 430 if(ysc_flag_loaded) { 431 SmartCaptchaInit(); 432 } 433} 434 435function SmartyCaptchaExecuteSearch(token) { 436 var form = $('.kr_form_footer_search_modal').parents('.modal-body'); 437 var name = form.find('.kr_chippicker_form_name'); 438 var phone = form.find('.kr_chippicker_form_phone'); 439 var mail = form.find('.kr_chippicker_form_mail'); 440 var car = form.find('.kr_chippicker_form_car'); 441 var engine = form.find('.kr_chippicker_form_engine'); 442 443 let flag_error = false; 444 445 if(!name.val()) { 446 flag_error = true; 447 name.addClass('is-invalid'); 448 } 449 else { 450 name.removeClass('is-invalid'); 451 } 452 453 if(!phone.val()) { 454 flag_error = true; 455 phone.addClass('is-invalid'); 456 } 457 else { 458 phone.removeClass('is-invalid'); 459 } 460 461 if(!mail.val()) { 462 flag_error = true; 463 mail.addClass('is-invalid'); 464 } 465 else { 466 mail.removeClass('is-invalid'); 467 } 468 469 if(!car.val()) { 470 flag_error = true; 471 car.addClass('is-invalid'); 472 } 473 else { 474 car.removeClass('is-invalid'); 475 } 476 477 if(!engine.val()) { 478 flag_error = true; 479 engine.addClass('is-invalid'); 480 } 481 else { 482 engine.removeClass('is-invalid'); 483 } 484 485 if(!flag_error) { 486 $.ajax({ 487 url: '/module/kr_chippicker/ajax', 488 method: 'POST', 489 data:{ 490 task: 'submit_form', 491 name: name.val(), 492 phone: phone.val(), 493 mail: mail.val(), 494 car: car.val(), 495 engine: engine.val(), 496 captcha: token 497 }, 498 dataType: 'json' 499 }).done(function(answer) { 500 if(answer.status == 'ok') { 501 form.find('form').hide(); 502 form.find('.form-sent').show(); 503 name.val(''); 504 phone.val(''); 505 mail.val(''); 506 car.val(''); 507 engine.val(''); 508 } 509 else { 510 alert('ÐÑибка ÑеÑвеÑа. ÐопÑобÑйÑе позже'); 511 } 512 }); 513 } 514 console.log('captcha executed'); 515 516 /* ÐенивÑй пеÑезапÑÑк капÑÑи */ 517 if(ysc_flag_loaded) { 518 SmartCaptchaInit(); 519 } 520} 521 522function SmartyCaptchaExecuteSpecialOffer(token) { 523 let Form = $('.kr_form_catalog_special_offer[data-type="' + ysc_container + '"]'); 524 let name = Form.find('input[name="name"]').val(); 525 let phone = Form.find('input[name="phone"]').val(); 526 let chip = Form.find('input[name="chip"]').val(); 527 528 if(name == '') { 529 Form.find('input[name="name"]').addClass('is-invalid'); 530 } 531 else { 532 Form.find('input[name="name"]').removeClass('is-invalid'); 533 } 534 535 if(phone == '') { 536 Form.find('input[name="phone"]').addClass('is-invalid'); 537 } 538 else{ 539 Form.find('input[name="phone"]').removeClass('is-invalid'); 540 } 541 542 if(name != '' && phone != '' && chip != '') { 543 $.ajax({
544 url: '/module/kr_chippicker/ajax', 545 method: 'POST', 546 data:{ 547 task: 'offer_form', 548 name: name, 549 phone: phone, 550 chip: chip, 551 url: window.location.href, 552 captcha: token 553 }, 554 dataType: 'json' 555 }).done(function(answer) { 556 if(answer.status == 'ok') { 557 if(typeof ym != 'undefined') { 558 ym(43767234, 'reachGoal', 'order_done_pop_up'); 559 } 560 let result = Form.find('.kr_form_result').data('result'); 561 Form.html(result); 562 } 563 else { 564 alert('ÐÑибка ÑеÑвеÑа. ÐопÑобÑйÑе позже'); 565 } 566 }); 567 } 568 569 console.log('captcha executed'); 570 571 /* ÐенивÑй пеÑезапÑÑк капÑÑи */ 572 if(ysc_flag_loaded) { 573 SmartCaptchaInit(); 574 } 575} 576
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.