PageSourceSearch

https://www.payby.me/assets/js/form.js?v=1.1.14

js payby.me collected 2026-10-02 06:14:48 UTC 18,595 bytes, 374 lines download raw bytes

1if (document.querySelector("#contact-form")) {
2    document.querySelector("#contact-form").addEventListener("submit", function (evt) {
3        evt.preventDefault();
4        evt.stopPropagation();
5
6        if (getCaptchaResponse()) {
7            if (document.querySelector("[name='kvkk']").checked) {
8
9                document.querySelector("#contact-form-btn").setAttribute("disabled", true);
10
11                let obj = {
12                    name: document.querySelector("[name='name']").value,
13                    surname: document.querySelector("[name='surname']").value,
14                    mailAddress: document.querySelector("[name='mailAddress']").value,
15                    phoneNumber: document.querySelector("[name='phoneNumber']").value,
16                    message: document.querySelector("[name='message']").value
17                };
18
19                let isValid = true;
20
21                Object.keys(obj).forEach(function (item) {
22                    if (item === "phoneNumber") {
23                        if (!validatePhoneNumber(document.querySelector("[name='phoneNumber']").value)) {
24                            document.querySelector("[name='phoneNumber']").classList.add("form-error");
25                            isValid = false;
26                            document.querySelector("#contact-form-btn").removeAttribute("disabled");
27                        } else {
28                            document.querySelector("[name='phoneNumber']").classList.remove("form-error");
29                        }
30                    } else if (item === "mailAddress") {
31                        if (!validateMailAddress(document.querySelector("[name='mailAddress']").value)) {
32                            document.querySelector("[name='mailAddress']").classList.add("form-error");
33                            isValid = false;
34                            document.querySelector("#contact-form-btn").removeAttribute("disabled");
35                        } else {
36                            document.querySelector("[name='mailAddress']").classList.remove("form-error");
37                        }
38                    } else {
39                        if (document.querySelector("[name='" + item + "']").value.length === 0) {
40                            document.querySelector("[name='" + item + "']").classList.add("form-error");
41                            isValid = false;
42                            document.querySelector("#contact-form-btn").removeAttribute("disabled");
43                        } else {
44                            document.querySelector("[name='" + item + "']").classList.remove("form-error");
45                        }
46                    }
47                });
48
49                document.querySelectorAll(".form-error").forEach(function (item) {
50                    item.addEventListener("keypress", function () {
51                        item.classList.remove("form-error");
52                    });
53                });
54
55                if (isValid) {
56                    obj.formUrl = window.location.href;
57                    axios.post('/forms/contact-form', obj).then(function (response) {
58                        if (response.data.success) {
59                            Swal.fire({
60                                icon: "success",
61                                title: "Başarılı!",
62                                text: "Mesajınız iletildi.",
63                                confirmButtonText: "Tamam"
64                            });
65                            window.dataLayer = window.dataLayer || [];
66                            window.dataLayer.push({
67                                event: "contact_form",
68                                email: obj.mailAddress,
69                                phone_number: createValidPhoneNumber(obj.phoneNumber)
70                            });
71                        } else {
72                            Swal.fire({
73                                icon: "error",
74                                title: "Hata!",
75                                text: response.data.message,
76                                confirmButtonText: "Tamam"
77                            });
78                        }
79                        document.querySelector("[name='name']").value = "";
80                        document.querySelector("[name='surname']").value = "";
81                        document.querySelector("[name='mailAddress']").value = "";
82                        document.querySelector("[name='phoneNumber']").value = "";
83                        document.querySelector("[name='message']").value = "";
84                        document.querySelector("[name='kvkk']").checked = false;
85                        document.querySelector("#contact-form-btn").removeAttribute("disabled");
86                    })
87                        .catch(function () {
88                            Swal.fire({
89                                icon: "error",
90                                title: "Hata!",
91                                text: "Bir sorun oluştu!",
92                                confirmButtonText: "Tamam"
93                            });
94                            document.querySelector("#contact-form-btn").removeAttribute("disabled");
95                        });
96                } else {
97                    Swal.fire({
98                        icon: "error",
99                        title: "Dikkat!",
100                        text: "Boş ya da hatalı alanlar mevcut!",
101                        confirmButtonText: "Tamam"
102                    });
103                    document.querySelector("#contact-form-btn").removeAttribute("disabled");
104                }
105
106            } else {
107                Swal.fire({
108                    icon: "error",
109                    title: "Dikkat!",
110                    text: "Lütfen gizlilik politikasını kabul edin.",
111                    confirmButtonText: "Tamam"
112                });
113            }
114        } else {
115            Swal.fire({
116                icon: "error",
117                title: "Dikkat!",
118                text: "ReCaptcha doğrulaması yapılamadı.",
119                confirmButtonText: "Tamam"
120            });
121        }
122
123    });
124}
125
126if (document.querySelector("#application-form")) {
127    document.querySelector("#application-form").addEventListener("submit", function (evt) {
128        evt.preventDefault();
129        evt.stopPropagation();
130
131        if (getCaptchaResponse()) {
132            if (document.querySelector("[name='kvkk']").checked) {
133
134                document.querySelector("#application-form-btn").setAttribute("disabled", true);
135
136                let obj = {
137                    name: document.querySelector("[name='name']").value,
138                    surname: document.querySelector("[name='surname']").value,
139                    mailAddress: document.querySelector("[name='mailAddress']").value,
140                    phoneNumber: document.querySelector("[name='phoneNumber']").value,
141                    companyType: document.querySelector("[name='companyType']").value,
142                    monthlyTurnover: document.querySelector("[name='monthlyTurnover']").value,
143                    website: document.querySelector("[name='website']").value,
144                    product: getMultipleSelectValue("product"),
145                    // identityNumber: document.querySelector("[name='identityNumber']").value,
146                };
147                obj.identityNumber = obj.companyType === 'Şirket'?document.querySelectorAll("[name='identityNumber']")[1].value :document.querySelectorAll("[name='identityNumber']")[0].value;
148                let isValid = true;
149
150                Object.keys(obj).forEach(function (item) {
151                    if (item === "phoneNumber") {
152                        if (!validatePhoneNumber(document.querySelector("[name='phoneNumber']").value)) {
153                            document.querySelector("[name='phoneNumber']").classList.add("form-error");
154                            isValid = false;
155                            document.querySelector("#application-form-btn").removeAttribute("disabled");
156                        } else {
157                            document.querySelector("[name='phoneNumber']").classList.remove("form-error");
158                        }
159                    } else if (item === "mailAddress") {
160                        if (!validateMailAddress(document.querySelector("[name='mailAddress']").value)) {
161                            document.querySelector("[name='mailAddress']").classList.add("form-error");
162                            isValid = false;
163                            document.querySelector("#application-form-btn").removeAttribute("disabled");
164                        } else {
165                            document.querySelector("[name='mailAddress']").classList.remove("form-error");
166                        }
167                    } else if (item === "product") {
168                        if (getMultipleSelectValue("product").length === 0) {
169                            isValid = false;
170                            document.querySelector("#application-form-btn").removeAttribute("disabled");
171                        }
172                    } else if (item === "companyType") {
173                        if (document.querySelector("[name='" + item + "']").value === "0") {
174                            document.querySelector("[name='" + item + "']").classList.add("form-error");
175                            isValid = false;
176                            document.querySelector("#application-form-btn").removeAttribute("disabled");
177                        } else {
178                            document.querySelector("[name='" + item + "']").classList.remove("form-error");
179                        }
180                    }
181                    else if (item === "identityNumber" && obj.companyType === "Şahıs İşletmesi") {
182                        const tckn=document.querySelectorAll("[name='" + item + "']")[0].value;
183                        if (document.querySelector("[name='" + item + "']").attributes["id"].value === "tckn") {
184                            if (!isValidTCKN(tckn)) {
185                                document.querySelector("[name='" + item + "']").classList.add("form-error");
186                                isValid = false;
187                                document.querySelector("#application-form-btn").removeAttribute("disabled");
188                            } else {
189                                document.querySelector("[name='" + item + "']").classList.remove("form-error");
190                            }
191                        }
192                    }
193                    else if (item === "identityNumber" && obj.companyType === "Şirket") {
194                        const vkn=document.querySelectorAll("[name='" + item + "']")[1].value;
195                        const res= isValidVKN(vkn)
196                        if (!isValidVKN(vkn)) {
197                            document.querySelector("[name='" + item + "']").classList.add("form-error");
198                            isValid = false;
199                            document.querySelector("#application-form-btn").removeAttribute("disabled");
200                        } else {
201                            document.querySelector("[name='" + item + "']").classList.remove("form-error");
202                        }
203                    }
204                    else {
205                        if (document.querySelector("[name='" + item + "']").value.length === 0) {
206                            document.querySelector("[name='" + item + "']").classList.add("form-error");
207                            isValid = false;
208                            document.querySelector("#application-form-btn").removeAttribute("disabled");
209                        } else {
210                            document.querySelector("[name='" + item + "']").classList.remove("form-error");
211                        }
212                    }
213                });
214
215                document.querySelectorAll(".form-error").forEach(function (item) {
216                    item.addEventListener("keypress", function () {
217                        item.classList.remove("form-error");
218                    });
219                });
220                if (isValid) {
221                    obj.formUrl = window.location.href;
222                    axios.post('/forms/application-form', obj).then(function (response) {
223                        if (response.data.success) {
224                            Swal.fire({
225                                icon: "success",
226                                title: "Başarılı!",
227                                text: "Mesajınız iletildi.",
228                                confirmButtonText: "Tamam"
229                            });
230                            window.dataLayer = window.dataLayer || [];
231                            window.dataLayer.push({
232                                event: "generate_lead",
233                                business_type: obj.companyType,
234                                product_type: obj.product,
235                                email: obj.mailAddress,
236                                phone_number: createValidPhoneNumber(obj.phoneNumber)
237                            });
238                        } else {
239                            Swal.fire({
240                                icon: "error",
241                                title: "Hata!",
242                                text: response.data.message,
243                                confirmButtonText: "Tamam"
244                            });
245                        }
246                        document.querySelector("[name='name']").value = "";
247                        document.querySelector("[name='surname']").value = "";
248                        document.querySelector("[name='mailAddress']").value = "";
249                        document.querySelector("[name='phoneNumber']").value = "";
250                        document.querySelector("[name='companyType']").value = "";
251                        document.querySelector("[name='monthlyTurnover']").value = "";
252                        document.querySelector("[name='website']").value = "";
253                        document.querySelector("[name='identityNumber']").value = "";
254                        document.querySelector("[name='kvkk']").checked = false;
255                        document.querySelector("#application-form-btn").removeAttribute("disabled");
256                        multipleSelectClear("product");
257                    })
258                        .catch(function () {
259                            Swal.fire({
260                                icon: "error",
261                                title: "Hata!",
262                                text: "Bir sorun oluştu!",
263                                confirmButtonText: "Tamam"
264                            });
265                            document.querySelector("#application-form-btn").removeAttribute("disabled");
266                        });
267                } else {
268                    Swal.fire({
269                        icon: "error",
270                        title: "Dikkat!",
271                        text: "Boş ya da hatalı alanlar mevcut!",
272                        confirmButtonText: "Tamam"
273                    });
274                    document.querySelector("#application-form-btn").removeAttribute("disabled");
275                }
276
277            } else {
278                Swal.fire({
279                    icon: "error",
280                    title: "Dikkat!",
281                    text: "Lütfen gizlilik politikasını kabul edin.",
282                    confirmButtonText: "Tamam"
283                });
284            }
285        } else {
286            Swal.fire({
287                icon: "error",
288                title: "Dikkat!",
289                text: "ReCaptcha doğrulaması yapılamadı.",
290                confirmButtonText: "Tamam"
291            });
292        }
293
294    });
295}
296
297function validatePhoneNumber(val) {
298    let pattern = /^(\+90|0)?\s*(\(\d{3}\)[\s-]*\d{3}[\s-]*\d{2}[\s-]*\d{2}|\(\d{3}\)[\s-]*\d{3}[\s-]*\d{4}|\(\d{3}\)[\s-]*\d{7}|\d{3}[\s-]*\d{3}[\s-]*\d{4}|\d{3}[\s-]*\d{3}[\s-]*\d{2}[\s-]*\d{2})$/;
299    return pattern.test(val);
300}
301
302function validateMailAddress(val) {
303    let pattern = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
304    return pattern.test(val);
305}
306
307function getCaptchaResponse() {
308    return document.getElementById("g-recaptcha-response").value.length > 0;
309}
310
311function getMultipleSelectValue(name) {
312    let res = [];
313    document.querySelectorAll("[name='" + name +"'] + .multiselect-dropdown .optext").forEach(function (item) {
314        res.push(item.innerText.toString().split('\n')[0]);
315    });
316    return res;
317}
318
319function multipleSelectClear(name) {
320    document.querySelector("[name='" + name + "']").value = "";
321    document.querySelectorAll("[name='" + name + "'] + .multiselect-dropdown .optext").forEach(function (item) {
322        item.remove();
323    });
324}
325
326function createValidPhoneNumber(phone) {
327    return '+90' + phone.replaceAll("(", "").replaceAll(")", "").replaceAll(" ", "").replaceAll("-", "");
328}
329
330function isValidVKN(kno) {
331    kno = kno.toString();
332    if (kno.length === 10) {
333        let v = []
334        let lastDigit = Number(kno.charAt(9))
335        for (let i = 0; i < 9; i++) {
336            let tmp = (Number(kno.charAt(i)) + (9 - i)) % 10
337            v[i] = (tmp * 2 ** (9 - i)) % 9
338            if (tmp !== 0 && v[i] === 0) v[i] = 9
339        }
340        let sum = v.reduce((a, b) => a + b, 0) % 10;
341        return (10 - (sum % 10)) % 10 === lastDigit;
342    }
343    return false
344}
345
346function isValidTCKN(tckn) {
347    value = tckn.toString();
348    var isEleven = /^[0-9]{11}$/.test(value);
349    var totalX = 0;
350    for (var i = 0; i < 10; i++) {
351        totalX += Number(value.substr(i, 1));
352    }
353    var isRuleX = totalX % 10 == value.substr(10, 1);
354    var totalY1 = 0;
355    var totalY2 = 0;
356    for (var i = 0; i < 10; i += 2) {
357        totalY1 += Number(value.substr(i, 1));
358    }
359    for (var j = 1; j < 10; j += 2) {
360        totalY2 += Number(value.substr(j, 1));
361    }
362    var isRuleY = ((totalY1 * 7) - totalY2) % 10 == value.substr(9, 0);
363    return isEleven && isRuleX && isRuleY;
364}
365
366document.getElementById("companyType").addEventListener("change", function (event) {
367    if (event.target.value === "Şirket") {
368        document.querySelector(".tckn-area").classList.add("hidden");
369        document.querySelector(".vkn-area").classList.remove("hidden");
370    } else if (event.target.value === "Şahıs İşletmesi") {
371        document.querySelector(".vkn-area").classList.add("hidden");
372        document.querySelector(".tckn-area").classList.remove("hidden");
373    }
374});

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.