1var formElement = $('.applicationForm'); 2 3function add(accumulator, a) { 4 return parseInt(accumulator, 10) + parseInt(a, 10); 5} 6 7function validateTckn(tckn) { 8 tckn = tckn.toString(); 9 10 if (tckn == "") { return false; } 11 12 if (tckn.split('').reduce(add) == 0) { 13 return false; 14 } 15 16 var isEleven = /^[0-9]{11}$/.test(tckn); 17 var totalX = 0; 18 for (var i = 0; i < 10; i++) { 19 totalX += Number(tckn.substr(i, 1)); 20 } 21 var isRuleX = totalX % 10 == tckn.substr(10, 1); 22 var totalY1 = 0; 23 var totalY2 = 0; 24 for (var i = 0; i < 10; i += 2) { 25 totalY1 += Number(tckn.substr(i, 1)); 26 } 27 for (var i = 1; i < 10; i += 2) { 28 totalY2 += Number(tckn.substr(i, 1)); 29 } 30 var isRuleY = ((totalY1 * 7) - totalY2) % 10 == tckn.substr(9, 0); 31 return isEleven && isRuleX && isRuleY; 32}; 33 34function validateVkn(value, element){ 35 var v1 = 0, v2 = 0, v3 = 0, v4 = 0, v5 = 0, v6 = 0, v7 = 0, v8 = 0, v9 = 0, 36 v11 = 0, v22 = 0, v33 = 0, v44 = 0, v55 = 0, v66 = 0, v77 = 0, v88 = 0, v99 = 0, 37 lastDigit = 0, sum = 0; 38 if (value.length == 10){ 39 v1 = (Number(value.charAt(0)) + 9) % 10; 40 v2 = (Number(value.charAt(1)) + 8) % 10; 41 v3 = (Number(value.charAt(2)) + 7) % 10; 42 v4 = (Number(value.charAt(3)) + 6) % 10; 43 v5 = (Number(value.charAt(4)) + 5) % 10; 44 v6 = (Number(value.charAt(5)) + 4) % 10; 45 v7 = (Number(value.charAt(6)) + 3) % 10; 46 v8 = (Number(value.charAt(7)) + 2) % 10; 47 v9 = (Number(value.charAt(8)) + 1) % 10; 48 lastDigit = Number(value.charAt(9)); 49 v11 = (v1 * 512) % 9; 50 v22 = (v2 * 256) % 9; 51 v33 = (v3 * 128) % 9; 52 v44 = (v4 * 64) % 9; 53 v55 = (v5 * 32) % 9; 54 v66 = (v6 * 16) % 9; 55 v77 = (v7 * 8) % 9; 56 v88 = (v8 * 4) % 9; 57 v99 = (v9 * 2) % 9; 58 if (v1 != 0 && v11 == 0) {v11 = 9;} 59 if (v2 != 0 && v22 == 0) {v22 = 9;} 60 if (v3 != 0 && v33 == 0) {v33 = 9;} 61 if (v4 != 0 && v44 == 0) {v44 = 9;} 62 if (v5 != 0 && v55 == 0) {v55 = 9;} 63 if (v6 != 0 && v66 == 0) {v66 = 9;} 64 if (v7 != 0 && v77 == 0) {v77 = 9;} 65 if (v8 != 0 && v88 == 0) {v88 = 9;} 66 if (v9 != 0 && v99 == 0) {v99 = 9;} 67 sum = v11 + v22 + v33 + v44 + v55 + v66 + v77 + v88 + v99; 68 sum = (sum % 10 == 0) ? 0 : (10 - (sum % 10)); 69 return (sum == lastDigit) ? true : false; 70 } 71}; 72 73 74function isMailValid(mail) { 75 return /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/.test(mail); 76} 77 78function isURLValid(url) { 79 return /^(https?:\/\/|www\.)/.test(url); 80} 81 82function isTextOnly(value) { 83 var regex = new RegExp("^[a-zA-ZwçıiÄöÅüWÃIİÄÃÅà ]+$"); 84 if (regex.test(value)) { 85 return true; 86 } else { 87 return false; 88 } 89} 90 91function isAlphanumeric(value) { 92 var regex = new RegExp("^[a-zA-Z0-9çÃıİÄÄöÃÅÅüà ]+$"); 93 return regex.test(value); 94} 95 96 97function formatCurrency(input) { 98 function formatNumber(n) { 99 return n.replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ".") 100 } 101 102 var input_val = input.val(); 103 // don't validate empty input 104 if (input_val === "") { 105 return; 106 } 107 108 var original_len = input_val.length; 109 110 // initial caret position 111 var caret_pos = input.prop("selectionStart"); 112 113 // add commas to number 114 // remove all non-digits 115 input_val = formatNumber(input_val); 116 input_val = input_val; 117 118 // send updated string to input 119 input.val(input_val); 120 121 // put caret back in the right position 122 var updated_len = input_val.length; 123 caret_pos = updated_len - original_len + caret_pos; 124 input[0].setSelectionRange(caret_pos, caret_pos); 125} 126 127 128function verifyRecaptchaCallback(response) { 129 $('.required-captcha .form-error-text').hide(); 130} 131 132function failedRecaptchaCallback() { 133 $('.required-captcha .form-error-text').show(); 134} 135 136function bindRecaptchaCallbacks() { 137 if (document.querySelectorAll('#g-recaptcha').length < 1) { 138 return; 139 } 140 141 grecaptcha.render('g-recaptcha', { 142 'callback': verifyRecaptchaCallback, 143 'expired-callback ': failedRecaptchaCallback, 144 'error-callback ': failedRecaptchaCallback 145 }); 146} 147 148function bindFormEventHandler() { 149 // input only for now 150 var inputs = formElement.find('.required:visible'); 151 152 inputs.find('input[type="text"], textarea').focus(function () { 153 $(this).removeClass('fb__input--error') 154 .closest('.fiba-application-form__main-form-holder') 155 .find('.form-error-text').hide(); 156 }); 157 158 inputs.find('select').change(function () { 159 var selectCont = $(this).closest('.fiba-application-form__main-form-holder'); 160 selectCont.find('.fb__select').removeClass('fb__select--error'); 161 selectCont.find('.form-error-text').hide(); 162 }); 163 164 inputs.find('[type="checkbox"], [type="radio"], .required-least-one [type="checkbox"]').click(function () { 165 $(this) 166 .closest('.fiba-application-form__main-form-holder') 167 .find('.form-error-text').hide(); 168 }); 169 170 $('.required-least-one input[type="checkbox"]').click(function () { 171 $(this) 172 .closest('.fiba-application-form__main-form-holder') 173 .find('.form-error-text').hide(); 174 175 $(this) 176 .closest('.fiba-application-form__main-form-holder') 177 .find('.error-show-once').remove(); 178 }); 179 180 $('.required-text-only input[type="text"]').keypress(function (e) { 181 var regex = new RegExp("^[a-zA-ZwçıiÄöÅüWÃIİÄÃÅà ]+$"); 182 var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); 183 if (regex.test(str)) { 184 return true; 185 } else { 186 e.preventDefault(); 187 return false;
188 } 189 }); 190 191 /* 192 // adres only text and number 193 $("textarea[name=Adres]").on({ 194 input: function () { 195 var rawText = $(this).val(); 196 var returnText = rawText.replace(/[^0-9a-zA-ZwçıiÄöÅüWÃIİÄÃÅà _]/g,''); 197 $(this).val(returnText); 198 } 199 }); 200 */ 201 202 $("input[data-type='currency']").on({ 203 keyup: function () { 204 formatCurrency($(this)); 205 }, 206 keypress: function (e) { 207 return e.metaKey || // cmd/ctrl 208 e.which <= 0 || // arrow keys 209 e.which == 8 || // delete key 210 /[0-9]/.test(String.fromCharCode(e.which)); // numbers 211 }, 212 paste: function (e) { 213 return e.metaKey || 214 e.which <= 0 || 215 e.which == 8 || 216 /[0-9]/.test(String.fromCharCode(e.which)); 217 } 218 }); 219 220 221 $('.phone-zero-reset').on('keyup', function() { 222 var input = $(this); 223 var value = input.val(); 224 225 226 // Mask parantez ve boÅluk içeriyorsa sıfırı kaldır 227 if (value.startsWith("(0")) { 228 input.val("( " + value.substring(2)); 229 console.log('Updated value:', input.val()); // Debugging line 230 } 231 }); 232 233 formElement.submit(function (e) { 234 e.preventDefault(); 235 236 var isValid = 1; 237 238 $('#krediUyariMesaj').addClass('hidden'); 239 240 $('.error-show-once').remove(); 241 242 inputs = formElement.find('.required:visible'); 243 inputs.each(function (i, element) { 244 var curr = $(element); 245 246 curr.find('input[type="text"], textarea').removeClass('fb__input--error'); 247 curr.children('.fb__select').removeClass('fb__select--error'); 248 curr.children('.form-error-text').removeClass('hidden').hide(); 249 250 if (curr.find('input[type="text"], textarea').length > 0 && curr.find('input[type="text"], textarea').val().length < 1) { 251 isValid = false; 252 253 curr.children('input[type="text"]').addClass('fb__input--error'); 254 curr.children('.form-error-text').show(); 255 } 256 257 if (typeof curr.children('input[type="text"]').attr('mask') !== 'undefined') { 258 var mask = curr.children('input[type="text"]').attr('mask'); 259 if (curr.children('input[type="text"]').val().length < mask.length) { 260 isValid = false; 261 262 curr.children('input[type="text"]').addClass('fb__input--error'); 263 curr.children('.form-error-text').show(); 264 } 265 } 266 267 if (curr.find('select').length > 0) { 268 var selects = curr.find('select'); 269 selects.each(function (i, el) { 270 var jurr = $(el).children('option:selected'); 271 272 if (jurr.val() === "") { 273 isValid = false; 274 275 jurr.parent().next().addClass('fb__select--error'); 276 jurr.closest('.fiba-application-form__main-form-holder').find('.form-error-text').show(); 277 } 278 }); 279 } 280 281 if (curr.find('input[type="checkbox"]').length > 0) { 282 if (!curr.find('input[type="checkbox"]').is(':checked')) { 283 isValid = false; 284 curr.find('.form-error-text').show(); 285 } 286 } 287 }); 288 289 inputs = formElement.find('.required-number-only:visible'); 290 inputs.each(function (i, element) { 291 var curr = $(element); 292 var inputVal = curr.find('input').val(); 293 if (!$.isNumeric(inputVal)) { 294 isValid = false; 295 296 curr.find('input').addClass('fb__input--error'); 297 curr.children('.form-error-text').removeClass('hidden').show(); 298 } 299 }); 300 301 inputs = formElement.find('.required-tckn:visible'); 302 inputs.each(function (i, element) { 303 var curr = $(element); 304 var inputVal = curr.children('input').val(); 305 if (!validateTckn(inputVal)) { 306 isValid = false;
307 308 curr.children('input').addClass('fb__input--error'); 309 curr.children('.form-error-text').removeClass('hidden').show(); 310 } 311 }); 312 313 inputs = formElement.find('.vkn:visible'); 314 inputs.each(function (i, element) { 315 var curr = $(element); 316 var inputVal = curr.children('input').val(); 317 if (!validateVkn(inputVal)) { 318 isValid = false; 319 320 curr.children('input').addClass('fb__input--error'); 321 curr.children('.form-error-text').removeClass('hidden').show(); 322 } 323 }); 324 325 inputs = formElement.find('.required-text-only'); 326 inputs.each(function (i, element) { 327 var curr = $(element); 328 var inputVal = curr.children('input').val(); 329 if (!isTextOnly(inputVal)) { 330 isValid = false; 331 332 curr.children('input').addClass('fb__input--error'); 333 curr.children('.form-error-text').removeClass('hidden').show(); 334 } 335 }); 336 337 inputs = formElement.find('.required-email'); 338 inputs.each(function (i, element) { 339 var curr = $(element); 340 var inputVal = curr.children('input').val(); 341 if (!isMailValid(inputVal)) { 342 isValid = false; 343 344 curr.children('input').addClass('fb__input--error'); 345 curr.children('.form-error-text').removeClass('hidden').show(); 346 } 347 }); 348 349 inputs = formElement.find('.required-website'); 350 inputs.each(function (i, element) { 351 var curr = $(element); 352 var inputVal = curr.children('input').val(); 353 if (!isURLValid(inputVal)) { 354 isValid = false; 355 356 curr.children('input').addClass('fb__input--error'); 357 curr.children('.form-error-text').removeClass('hidden').show(); 358 } 359 }); 360 361 inputs = formElement.find('.required-alpha'); 362 inputs.each(function (i, element) { 363 var curr = $(element); 364 var inputVal = curr.children('input').val(); 365 if (!isAlphanumeric(inputVal)) { 366 isValid = false; 367 368 curr.children('input').addClass('fb__input--error'); 369 curr.children('.form-error-text').removeClass('hidden').show(); 370 } 371 }); 372 373 inputs = $("input[data-type='currency']"); 374 inputs.each(function (i, element) { 375 var curr = $(element); 376 var inputVal = curr.val(); 377 if (inputVal.length < 1) { 378 isValid = false; 379 380 curr.addClass('fb__input--error'); 381 curr.next('.form-error-text').removeClass('hidden').show(); 382 } else { 383 curr.removeClass('fb__input--error'); 384 curr.next('.form-error-text').addClass('hidden').hide(); 385 } 386 }); 387 388 inputs = formElement.find('.required-captcha'); 389 inputs.each(function (i, element) { 390 var curr = $(element); 391 var inputVal = curr.find('textarea').val(); 392 if (inputVal === "") { 393 isValid = false; 394 395 curr.children('.form-error-text').removeClass('hidden').show(); 396 } 397 }); 398 399 var checkbox = $('.required-least-one:not(.radio-active)'); 400 checkbox.each(function (i, element) { 401 var curr = $(element); 402 403 curr.children('.form-error-text').removeClass('hidden').hide(); 404 405 if (curr.find('input[type="checkbox"]:checked').length < 1) { 406 isValid = false; 407 curr.find('.form-error-text').show(); 408 } 409 }); 410 411 var radio = $('.required-least-one.radio-active'); 412 radio.each(function (i, element) { 413 var curr = $(element); 414 curr.children('.form-error-text').removeClass('hidden').hide(); 415 416 if (curr.find('input[type="radio"]:checked').length < 1) { 417 isValid = false; 418 curr.find('.form-error-text').show(); 419 } 420 curr.find('input[type="radio"]').change(function(){ 421 curr.find('.form-error-text').hide(); 422 }); 423 }); 424 425 426 // check if vehicle application 427 var krediTutari = $('[name="KrediTutari"]'); 428 var aracDegeri = $('[name="AracDegeri"]'); 429 if (aracDegeri.length > 0 && krediTutari.length > 0) { 430 var krediTutariVal = krediTutari.val().replace(/\./g, ''); 431 var aracDegeriVal = aracDegeri.val().replace(/\./g, ''); 432 433 if (krediTutariVal == "" || aracDegeriVal == "") { return; } 434 435 krediTutariVal = parseInt(krediTutariVal); 436 aracDegeriVal = parseInt(aracDegeriVal); 437 438 if (!isNumber(krediTutariVal) || !isNumber(aracDegeriVal)) { return; } 439 if (krediTutariVal === 0 || aracDegeriVal === 0) { return;} 440 441 if (!checkVehicleCredit(aracDegeriVal, krediTutariVal)) { 442 $('#krediUyariMesaj').removeClass('hidden'); 443 444 isValid = false;
445 return; 446 } 447 448 } 449 450 var konutDegeri = $('[name="KonutDegeri"]'); 451 if (konutDegeri.length > 0 && krediTutari.length > 0) { 452 var krediTutariVal = krediTutari.val().replace(/\./g, ''); 453 var konutDegeriVal = konutDegeri.val().replace(/\./g, ''); 454 455 if (krediTutariVal == "" || konutDegeriVal == "") { return; } 456 457 krediTutariVal = parseInt(krediTutariVal); 458 konutDegeriVal = parseInt(konutDegeriVal); 459 460 var maxKredi = konutDegeriVal * 0.75; 461 462 if (krediTutariVal === 0 || konutDegeriVal === 0) { return; } 463 464 $('#maksKredi').text(formatNumber(maxKredi)); 465 466 if (!(krediTutariVal <= maxKredi)) { 467 $('#krediUyariMesaj').removeClass('hidden'); 468 469 isValid = false; 470 return; 471 } 472 } 473 474 if (formElement.hasClass('submitted')) { 475 return; 476 } 477 478 479 480 if (isValid) { 481 482 var adField = formElement.find('input[name="Ad"]'); 483 var soyadField = formElement.find('input[name="Soyad"]'); 484 if (adField.length > 0 && soyadField.length > 0) { 485 formElement.find('input[name="AdSoyad"]').val(adField.val().trim() + ' ' + soyadField.val().trim()); 486 } 487 488 if (formElement[0].className.includes('portal-form')) { 489 490 $('.portal-step-1').hide(); 491 //$('.portal-step-2').find('.fiba-application-form__main-form-holder.yes-input.req').addClass('required'); 492 $('.portal-step-2').find('.fiba-application-form__main-form-holder.yes-input.req').each(function() { 493 if ($(this).css('display') !== 'none') { 494 $(this).addClass('required'); 495 } 496 }); 497 $('.portal-step-2').show(); 498 499 // İkinci adım required alanları kontrol et 500 let requiredFields = formElement.find('.portal-step-2 .required input, .portal-step-2 .required select, .portal-step-2 .required .checkbox'); 501 502 let allFieldsValid = true; 503 requiredFields.each(function() { 504 let fieldValue = $(this).val().trim(); 505 let fieldName = $(this).attr('name'); 506 let fieldType = $(this).attr('type'); 507 508 if (fieldName) { 509 if (fieldType === 'checkbox') { 510 if (!$(this).is(':checked')) { 511 allFieldsValid = false; 512 return false; 513 } 514 } else if (!fieldValue) { 515 allFieldsValid = false; 516 return false; 517 } 518 } 519 }); 520 521 if (allFieldsValid) { 522 grecaptcha.execute('6LdcQHwUAAAAAIWmRCGMy2kHNW2TLcZVXiSOBziC', { 523 action: 'general' 524 }).then(function(token) { 525 var tokenField = document.querySelector("#g-recaptcha-response"); 526 if (tokenField !== null) { 527 tokenField.value = token; 528 529 formElement.addClass('submitted'); 530 formElement[0].submit(); 531 } 532 }); 533 } 534 }else{ 535 grecaptcha.execute('6LdcQHwUAAAAAIWmRCGMy2kHNW2TLcZVXiSOBziC', { 536 action: 'general' 537 }).then(function (token) { 538 var tokenField = document.querySelector("#g-recaptcha-response"); 539 if (tokenField !== null) { 540 tokenField.value = token; 541 542 formElement.addClass('submitted'); 543 formElement[0].submit(); 544 } 545 }); 546 } 547 548 } 549 }); 550} 551 552function isNumber(val) { 553 return typeof val === "number"; 554} 555 556function checkVehicleCredit(aracDegeri, krediTutari) { 557 var aracDegerFormulLimit = 50000; 558 var maksimumKrediTutar = 0; 559 560 if (aracDegeri <= aracDegerFormulLimit) { 561 maksimumKrediTutar = aracDegeri * 0.7; 562 } else { 563 maksimumKrediTutar = (35000 + aracDegeri - 50000) * 0.5; 564 } 565 566 $('#maksKredi').text(formatNumber(maksimumKrediTutar)); 567 568 if (krediTutari <= maksimumKrediTutar) { 569 return true; 570 } else { 571 return false;
572 } 573} 574 575function formatNumber(n) { 576 return n.toString().replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, "."); 577} 578 579function bindFormMasks() { 580 var inputs = $('.applicationForm input'); 581 inputs.each(function (i, el) { 582 var curr = $(el); 583 if (typeof curr.attr('mask') !== "undefined") { 584 curr.mask(curr.attr('mask'), { 585 clearIfNotMatch: false 586 }); 587 } 588 }); 589} 590 591bindFormEventHandler(); 592bindFormMasks();
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.