PageSourceSearch

https://www.tvsmotor.com/assets/js/EcommerceAccounts.js?=3-09-26_1

js tvsmotor.com collected 2026-10-01 11:24:43 UTC 28,035 bytes, 552 lines download raw bytes

1var otpTimer = 0;
2function GetOpt(e) {
3    $("#rateLimit-error").hide();
4    $("#userphoneNumber").siblings(".otpdtl").hide();
5    var token = $('input[name="__RequestVerificationToken"]').val();
6    var button = $("#loginResendOTP");
7    $("#loginOTP").removeClass("hilight").attr("disabled", true);
8    $("#loginOTP").closest('.group').find('input[type="number"]').attr("disabled", true);
9    var t = button.closest("form").find("#login-timer");
10    clearInterval(otpTimer);
11    t.text("");
12    var requestData = {
13        ...e, // Spread input object `e` if it's a JS object
14        __RequestVerificationToken: token
15    };
16    $.ajax({
17        type: "POST",
18        url: "/api/Ecommerce/GetAccountOtp",
19        data: requestData,
20        success: function (response) {
21            if (response.StatusCode === 200) {
22                button.closest("form").find("#login-timer").fadeIn();
23                var timer = 30;
24                if (otpTimer) {
25                    clearInterval(otpTimer);
26                    t.text("");
27                }
28                otpTimer = setInterval(function () {
29                    timer--;
30                    if (timer <= 0) {
31                        clearInterval(otpTimer);
32                        otpTimer = 0;
33                        button.addClass("hilight").removeAttr("disabled");
34                        t.text("");
35                    } else {
36                        t.text("after " + timer + " seconds");
37                    }
38                }, 1000);
39                $("#userphoneNumber").siblings(".otpdtl").show();
40                //$("#userphoneNumber").siblings(".otpdtl").find("span").text($("#userphoneNumber").val());
41
42                console.log("otp sent success");
43            } else if (response.Message && response.Message !== "") {
44                $("#userLogin-error").show().html(response.Message);
45                console.log("result.Message");
46            } else {
47                if (response.Data && response.Data.BlockedTill != null) {
48                    $("#ipRateLimit-error").hide();
49
50                    var currentText = $("#rateLimit-error").text();
51                    var updatedText = currentText.replace(/after\s[\d\/\s:]+/, `after ${convertToISTDateTime(response.Data.BlockedTill) }`);
52
53                    $("#rateLimit-error").text(updatedText).show();
54                }
55                else if (response.Data && response.Data.IPBlockedTill != null) {
56                    $("#rateLimit-error").hide();
57
58                    var currentText = $("#ipRateLimit-error").text();
59                    var updatedText = currentText.replace(/after\s[\d\/\s:]+/, `after ${convertToISTDateTime(response.Data.IPBlockedTill)}`);
60
61                    $("#ipRateLimit-error").text(updatedText).show();
62                }
63            }
64            $("#loginOTP").closest('.group').find('input[type="number"]').removeAttr("disabled");
65           // $("#loginOTP").addClass("hilight").removeAttr("disabled");
66        },
67        error: function (error) {
68            $("#loginOTP").closest('.group').find('input[type="number"]').removeAttr("disabled");
69           // $("#loginOTP").addClass("hilight").removeAttr("disabled");
70            console.error(error);
71        },
72    });
73}
74function logout() {
75    $.ajax({
76        type: "POST",
77        url: "/api/Ecommerce/Logout",
78        success: function (e) {
79            e.LogoutSuccess ? (console.log("Logout success"), (window.location.href = e.RedirectUrl)) : console.log("Logout not success");
80        },
81        error: function (e) { },
82    });
83}
84function AddressAddOrEdit(e) {
85    $("#loaderAjax").show(),
86        $.ajax({
87            type: "POST",
88            url: "/api/Ecommerce/AddressAddOrEdit",
89            data: e,
90            success: function (e) {
91                "true" === e.toLocaleLowerCase() ? window.location.reload() : ($("#loaderAjax").hide(), console.log("Server error."));
92            },
93            error: function (e) {
94                $("#loaderAjax").hide();
95            },
96        });
97}
98function CopyAddress(e) {
99    var t = e.originalEvent.srcElement.dataset.id,
100        a = $("#City" + t).val(),
101        r = $("#State" + t).val();
102    $("#Address1").attr("value", $("#Address_" + t).val()),
103        $("#Country").attr("value", $("#Country" + t).val()),
104        void 0 !== t && ("Home" === $("#AddressType" + t).val() ? $("#HomeRadio").attr("checked", "checked") : $("#WorkRadio").attr("checked", "checked")),
105        $("#AdrName").attr("value", $("#AdrName" + t).val()),
106        $("#ZipPostalCode").attr("value", $("#ZipPostalCode" + t).val()),
107        $("#PartyId").attr("value", $("#PartyId" + t).val()),
108        $("#ExternalId").attr("value", $("#ExternalId" + t).val()),
109        $("#Mobilenumber").attr("value", $("#Mobilenumber_" + t).val()),
110        $("#IsPrimary").attr("value", $("#IsPrimary" + t).val()),
111        $("#ecomstateDrp").attr("value", r),
112        $("#ecomstateDrp").val(r),
113        $("#ecomstateDrp").trigger("change"),
114        $("#cityDrp").attr("value", a),
115        $("#cityDrp").val(a);
116}
117function GetAddreshData() {
118    var e = {};
119    return (
120        (e.Address1 = $("#Address1").val()),
121        (e.City = $("#cityDrp").val()),
122        (e.Country = $("#Country").val()),
123        (e.AddressType = $("input[name='addressType']:checked").val()),
124        (e.IsPrimary = $("#IsPrimary").val()),
125        (e.Name = $("#AdrName").val()),
126        (e.Mobilenumber = $("#Mobilenumber").val()),
127        (e.State = $("#ecomstateDrp").val()),
128        (e.ZipPostalCode = $("#ZipPostalCode").val()),
129        (e.ExternalId = $("#ExternalId").val()),
130        e
131    );
132}
133function checkoutEditCopyAddress(e) {
134    var t = e.originalEvent.srcElement.dataset.id,
135        a = $("#City" + t).val();
136    $("#State" + t).val(),
137        $("#checkoutAddress1").attr("value", $("#Address" + t).val()),
138        $("#checkoutAddress1").val($("#Address" + t).val()),
139        $("#checkoutCountry").attr("value", $("#Country" + t).val()),
140        "Home" === $("#AddressType" + t).val() ? $("#checkoutHomeRadio").attr("checked", "checked") : $("#checkoutWorkRadio").attr("checked", "checked"),
141        $("#checkoutAdrName").attr("value", $("#AdrName" + t).val()),
142        $("#checkoutZipPostalCode").attr("value", $("#ZipPostalCode" + t).val()),
143        $("#checkoutPartyId").attr("value", $("#PartyId" + t).val()),
144        $("#checkoutExternalId").attr("value", $("#ExternalId" + t).val()),
145        $("#IsPrimary").attr("value", $("#IsPrimary" + t).val()),
146        $("#checkoutcontacNumber").attr("value", $("#ContacNumber" + t).val()),
147        $("#checkoutState").attr("value", $("#State" + t).val()),
148        $("#checkoutState").val($("#State" + t).val()),
149        $("#checkoutState").trigger("change"),
150        $("#checkoutCity").attr("value", a),
151        $("#checkoutCity").val(a);
152}
153function CheckoutGetAddreshData() {
154    var e = {};
155    return (
156        (e.Address1 = $("#checkoutAddress1").val()),
157        (e.City = $("#checkoutCity").val()),
158        (e.Country = $("#checkoutCountry").val()),
159        (e.AddressType = $("input[name='addressType']:checked").val()),
160        (e.Name = $("#checkoutAdrName").val()),
161        (e.IsPrimary = $("#IsPrimary").val()),
162        (e.Mobilenumber = $("#checkoutcontacNumber").val()),
163        (e.State = $("#checkoutState").val()),
164        (e.ZipPostalCode = $("#checkoutZipPostalCode").val()),
165        (e.ExternalId = $("#checkoutExternalId").val()),
166        e
167    );
168}
169function GetPayMentData() {
170    var e = {};
171    return (
172        (e.customerName = $("#UserFullName").val()),
173        (e.customerMobileNumber = $("#UserMobileNumber").val()),
174        (e.customerEmailId = $("#UserEmail").val()),
175        (e.transactionReferenceId = "1212478"),
176        (e.amount = $("#CartTotalAmount").val()),
177        (e.ExternalId = $("input[name='address']:checked").val()),
178        (e.paymentType = $("input[name='wallet']:checked").val()),
179        (e.successURL = ""),
180        (e.failureURL = ""),
181        (e.IsNoCostEmi = $("input[name='noCostEMI']:checked").length),
182        1 == e.IsNoCostEmi ? (e.IsNoCostEmi = "true") : (e.IsNoCostEmi = "false"),
183        e
184    );
185}
186$(document).ready(function () {
187    $("#signUpOTP, #signUpResendOTP").on("click", function () {
188        if ("undefined" !== $("#signUpPhoneNumber").val() && "" !== $("#signUpPhoneNumber").val()) {
189            $("#signUpOTP").removeClass("hilight").attr("disabled", true);
190            $("#signUpOTP").closest('.group').find('input[type="number"]').attr("disabled", true);
191            $(this).removeClass("hilight"), $("#userSignUp-error").hide(), $("#signUpPhoneNumber").siblings(".otpdtl").hide(), $("#rateLimitSignUp-error").hide();
192            var data = { FullName: $("#fullName").val(), Email: $("#emailID").val(), CityId: $("#cityDrp").val(), Picture: $("#URN").val(), MobileNumber: $("#signUpPhoneNumber").val(), Otp: $("#signUpOtpNumber").val(), Locale: "R" };
193            var token = $('input[name="__RequestVerificationToken"]').val();
194            var t = $("#signUpResendOTP").closest("form").find("#signUp-timer");
195            clearInterval(otpTimer);
196            t.text("");
197            var requestData = {
198                ...data, // Spread input object `e` if it's a JS object
199                __RequestVerificationToken: token
200            };
201            $.ajax({
202                type: "POST",
203                url: "/api/Ecommerce/RegisterUser",
204                data: requestData,
205                success: function (e) {
206                    if (e.StatusCode == 200) {
207                        $("#signUpResendOTP").closest("form").find("#signUp-timer").fadeIn();
208                        var timer = 30;
209                        if (otpTimer) {
210                            clearInterval(otpTimer);
211                            t.text("");
212                        }
213                        otpTimer = setInterval(function () {
214                            timer--;
215                            if (timer <= 0) {
216                                clearInterval(otpTimer);
217                                otpTimer = 0;
218                                $("#signUpResendOTP").addClass("hilight").removeAttr("disabled");
219                                t.text("");
220                            } else {
221                                t.text("after " + timer + " seconds");
222                            }
223                        }, 1000);
224
225                        $("#signUpPhoneNumber").siblings(".otpdtl").removeAttr("style");
226                        //$("#signUpPhoneNumber").siblings(".otpdtl").find("span").empty().append($("#signUpPhoneNumber").val());
227                        console.log("Registration success");
228                    } else if (e.Message && e.Message !== "") {
229                        $("#userSignUp-error").removeAttr("style").html(e.Message);
230                        console.log("result.Message");
231                    } else {
232                        if (e.Data && e.Data.BlockedTill != null) {
233                            $("#ipRateLimitSignUp-error").hide();
234
235                            var currentText = $("#rateLimit-error").text();
236                            var updatedText = currentText.replace(/after\s[\d\/\s:]+/, `after ${convertToISTDateTime(e.Data.BlockedTill)}`);
237
238                            $("#rateLimitSignUp-error").text(updatedText).show();
239                        }
240                        else if (e.Data && e.Data.IPBlockedTill != null) {
241                            $("#rateLimitSignUp-error").hide();
242
243                            var currentText = $("#ipRateLimit-error").text();
244                            var updatedText = currentText.replace(/after\s[\d\/\s:]+/, `after ${convertToISTDateTime(e.Data.IPBlockedTill)}`);
245
246                            $("#ipRateLimitSignUp-error").text(updatedText).show();
247                        }
248                    }
249                    $("#signUpOTP").closest('.group').find('input[type="number"]').removeAttr("disabled");
250                    $("#signUpOTP").addClass("hilight").removeAttr("disabled");
251                },
252                error: function (e) {
253                    $("#signUpOTP").closest('.group').find('input[type="number"]').removeAttr("disabled");
254                    $("#signUpOTP").addClass("hilight").removeAttr("disabled");
255},
256            });
257        }
258    }),
259        $("#loginOTP, #loginResendOTP").on("click", function () {
260            "undefined" !== $("#userphoneNumber").val() && "" !== $("#userphoneNumber").val() && ($(this).removeClass("hilight"), $("#userLogin-error").hide(), GetOpt({ MobileNumber: $("#userphoneNumber").val(), Locale: "V" }));
261        }),
262        $(document).on("click", "#addOrEditAddress", function () {
263            AddressAddOrEdit(GetAddreshData());
264        }),
265        $(document).on("click", "#makeDefaultAddress", function (e) {
266            CopyAddress(e);
267            var t = GetAddreshData();
268            (t.IsPrimary = !0), AddressAddOrEdit(t);
269        }),
270        $(document).on("click", "#editAddress,#addAdssress", function (e) {
271            $(".overviewformCnt").removeAttr("style"),
272                $(".addressCnt").attr("style", "display:none"),
273                CopyAddress(e),
274                $("#" + e.originalEvent.srcElement.id)
275                    .parent()
276                    .hide();
277        }),
278        $(document).on("click", "#checkoutEditAddress", function (e) {
279            checkoutEditCopyAddress(e);
280        }),
281        $(document).on("click", "#btnCancle", function () {
282            window.location.reload();
283        }),
284        $(document).on("click", "#deleteAddress", function (e) {
285            var t = e.originalEvent.srcElement.dataset.partyid;
286            $("#deleteconfirm").attr("data-partyid", t);
287        }),
288        $(document).on("click", "#deleteconfirm", function (e) {
289            var t = e.originalEvent.srcElement.dataset.partyid;
290            $("#loaderAjax").show(),
291                $.ajax({
292                    type: "POST",
293                    url: "/api/Ecommerce/DeleteAddress",
294                    data: { externalId: t },
295                    success: function (e) {
296                        "true" === e.toLocaleLowerCase() ? (window.location.href = "/account/my-address") : console.log("Server error.");
297                    },
298                    error: function (e) {
299                        $("#loaderAjax").hide();
300                    },
301                });
302        }),
303        $(document).on("click", "#checkoutRemoveAddress", function (e) {
304            var t = e.originalEvent.srcElement.dataset.id;
305            $("#checkoutdeleteconfirm").attr("data-id", t);
306        }),
307        $(document).on("click", ".btn-proceed", function (e) {
308            if ($("#checkoutdeleteconfirm").length) {
309                var t = e.originalEvent.srcElement.dataset.id;
310                $("#checkoutdeleteconfirm").attr("data-id", t), $this.find(".removeCTA").show();
311            }
312        }),
313        $(document).on("click", "#checkoutdeleteconfirm", function (e) {
314            var t = $("#PartyId" + e.originalEvent.srcElement.dataset.id).val();
315            $("#loaderAjax").show(),
316                $.ajax({
317                    type: "POST",
318                    url: "/api/Ecommerce/DeleteAddress",
319                    data: { externalId: t },
320                    success: function (e) {
321                        "true" === e.toLocaleLowerCase() ? window.location.reload() : console.log("Server error.");
322                    },
323                    error: function (e) {
324                        $("#loaderAjax").hide();
325                    },
326                });
327        }),
328        $(document).on("click", "#cancelorder", function (e) {
329            var t = e.originalEvent.srcElement.dataset.externalid,
330                a = e.originalEvent.srcElement.dataset.internalorderid;
331            $("#cancelorderconfirm").attr("data-externalid", t), $("#cancelorderconfirm").attr("data-internalorderId", a);
332        }),
333        $(document).on("click", "#cancelorderconfirm", function (e) {
334            var t = e.originalEvent.srcElement.dataset.externalid,
335                a = e.originalEvent.srcElement.dataset.internalorderid;
336            $("#loaderAjax").show(),
337                $("#cancelorder").prop("disabled", !0),
338                setTimeout(function () {
339                    $("#cancelorder").prop("disabled", !1);
340                }, 1e4),
341                $.ajax({
342                    type: "POST",
343                    url: "/api/sendordercanclerequest",
344                    data: { orderid: t, orderInternalId: a },
345                    success: function (e) {
346                        $("#removeAdd").show().find(".modal-body").find("p").empty().append(e), window.location.reload();
347                    },
348                    error: function (e) {
349                        $("#loaderAjax").hide();
350                    },
351                });
352        }),
353        $(document).on("focusout", "#dealerCode", function () {
354            "" !== $("#dealerCode").val() &&
355                ($("#loaderAjax").show(),
356                    $.ajax({
357                        type: "POST",
358                        url: "/api/Ecommerce/GetDealerDetail",
359                        data: { dealerId: $("#dealerCode").val(), returnUrl: $("#returnURL").val() },
360                        success: function (e) {
361                            !0 === e.Success &&
362                                ($("#branchDrp").empty().append($("<option></option>").html("Select Your Branch")),
363                                    $("#role").empty().append($("<option></option>").html("Select Your Role")),
364                                    $(e.result.DelaerBranchList).each(function (e, t) {
365                                        $("#branchDrp").append($("<option></option>").val(t.BranchId).html(t.BranchName));
366                                    }),
367                                    $(e.result.DelaerRoleList).each(function (e, t) {
368                                        $("#role").append($("<option></option>").val(t.RoleId).html(t.RoleName));
369                                    })),
370                                $("#loaderAjax").hide();
371                        },
372                        error: function (e) {
373                            $("#loaderAjax").hide(), console.log(e);
374                        },
375                    }));
376        }),
377        $(document).on("click", "#deliverHere", function (e) {
378            var t = $(this),
379                a = JSON.parse(localStorage.getItem("impressions")),
380                r = a.dimension50;
381            console.log("Testing Data:-", a), delete a.event, delete a.ecommerce.checkout.actionField;
382            var o = e.originalEvent.srcElement.dataset.id;
383            $("#selectedAddrName").html($("#AdrName" + o).val()), $("#selectedAddrName").append("<span>" + $("#FullAddress" + o).val() + "</span>");
384            var c = $("#ZipPostalCode" + o).val();
385            $("#loaderAjax").show(),
386                $.ajax({
387                    type: "Post",
388                    url: "/api/Ecommerce/Pincode",
389                    data: { DestPin: c },
390                    success: function (c) {
391                        if ((console.log("ewfwefwe"), $('[id^="address-error"]').hide(), "1" == c)) {
392                            $("#address-error").hide(), $("#addressID" + o).attr("checked", "checked");
393                            var s = $(".payCTA");
394                            e.preventDefault(),
395                                t.closest(".checkStep").removeClass("current").addClass("activated").next().addClass("current"),
396                                s.show(),
397                                $("#loaderAjax").hide(),
398                                dataLayer.push({ ecommerce: null }),
399                                dataLayer.push({ event: "checkout", dimension50: r, user_id: datalayer_userId, ecommerce: { checkout: { actionField: { step: 2, option: "Deliver here" }, products: a.ecommerce.checkout.products } } }),
400                                dataLayer.push({ ecommerce: null }),
401                                dataLayer.push({ event: "checkout", dimension50: r, user_id: datalayer_userId, ecommerce: { checkout: { actionField: { step: 3, option: "CCAvenue" }, products: a.ecommerce.checkout.products } } });
402                        } else
403                            $("#address-error" + o)
404                                .html("Delivery not available in your area")
405                                .show(),
406                                $("#loaderAjax").hide();
407                    },
408                    error: function (e) {
409                        console.log(e), $("#loaderAjax").hide();
410                    },
411                });
412        }),
413        $(document).on("click", "#codradio,#resendcodotp", function (e) {
414            e.preventDefault();
415            var t = $("#UserMobileNumber").val(),
416                a = !1;
417            $(this).length > 0 && "resendcodotp" === $(this)[0].id && (a = !0),
418                $(this).removeClass("hilight"),
419                $("#codotp-error").html("").hide(),
420                $("#codotp-message").hide(),
421                $("#userotpNumber").val(""),
422                $.ajax({
423                    url: "/api/GenerateOTP",
424                    type: "POST",
425                    data: { phoneNumber: t },
426                    success: function (e) {
427                        !0 === e.Success &&
428                            (console.log("resend opt - success"),
429                                $("#codradio").prop("checked", !0),
430                                $("#codradio").attr("checked", "checked"),
431                                $(".mobnum1").text(t),
432                                $(".otpdt2").show(),
433                                a && $("#codotp-message").show(),
434                                setTimeout(function () {
435                                    $(".disabledOTP").addClass("hilight");
436                                }, 3e4));
437                    },
438                    error: function (e) {
439                        console.log("Success Result 1 = " + e), $("#codotp-error").html(e.Message).show();
440                    },
441                });
442        }),
443        $(document).on("click", "#btnotpsubmit", function (e) {
444            e.preventDefault(), $("#codotp-error").html("").hide(), $("#codotp-message").hide(), $("#loaderAjax").show();
445            var t = $("#userotpNumber").val();
446            console.log("otp val = " + t),
447                $.ajax({
448                    url: "/api/verifycodotp",
449                    type: "POST",
450                    data: { mobileOtp: { SmsOtp: t } },
451                    success: function (e) {
452                        !0 === e.Success
453                            ? (console.log("in true"), $(".errorMsgOPT").hide(), $("#otpModal").modal("hide"), $("#submitpayment").trigger("click"))
454                            : (console.log("main elsein false"), $("#codotp-error").html(e.Message).show(), $("#loaderAjax").hide());
455                    },
456                    error: function (e) {
457                        console.log("resedn otp= " + e), $("#loaderAjax").hide();
458                    },
459                });
460        }),
461        $(document).on("click", "#btnclose", function (e) {
462            $("#ccaradio").prop("checked", !0), $("#ccaradio").attr("checked", "checked"), $("#codradio").prop("checked", !1), $("#codradio").removeAttr("checked");
463        }),
464        $(document).on("click", "#submitpayment", function () {
465            var e = JSON.parse(localStorage.getItem("impressions")),
466                t = e.dimension50;
467            delete e.event, delete e.ecommerce.checkout.actionField;
468            var a = GetPayMentData();
469            $("#loaderAjax").show(),
470                $.ajax({
471                    type: "POST",
472                    url: "/api/makeorderpayment",
473                    data: a,
474                    success: function (a) {
475                        dataLayer.push({ ecommerce: null }),
476                            $("#cartDetail").val(),
477                            dataLayer.push({ event: "checkout", dimension50: t, user_id: datalayer_userId, ecommerce: { checkout: { actionField: { step: 4, option: "Pay" }, product: e.ecommerce.checkout.products } } }),
478                            null !== a.access_code && "" !== a.access_code && "COD" !== a.access_code
479                                ? ($("#nonseamless").attr("action", a.baseurl), $("#encRequest").val(a.encRequest), $("#access_code").val(a.access_code), $("#nonseamless").submit())
480                                : "COD" === a.access_code
481                                    ? (window.location.href = "/api/submitorder?encResp=" + a.encRequest)
482                                    : (window.location.href = "/shop/cart");
483                    },
484                    error: function (e) { },
485                });
486        }),
487        $(document).on("click", "#AddAddressHomeRadio,#AddAddressOfficeRadio", function (e) {
488            $("input[name='AddressType']").removeAttr("checked"), $(this).prop("checked", !0), $(this).attr("checked", "checked"), $(this).val($(this).data("value"));
489        });
490}),
491    $(function () {
492        var e = $("#ecomstateDrp"),
493            t = $("#cityDrp"),
494            a = t.find("option");
495        e.on("change", function () {
496            var e = $("#ecomstateDrp")
497                .find("option")
498                .filter('[data-value="' + this.value + '"]')
499                .text();
500            t.html(a.filter('[data-state="' + e + '"]')), $("#cityDrp option:first").attr("selected", "selected");
501        }).trigger("change");
502    });
503//$(".userphoneNum").off("keyup");
504
505// Bind your custom logic
506//$(".userphoneNum").on("input", function () {
507//    var phoneNumber = $(this).val();
508//    var button = $("#loginOTP");
509
510//    if (otpTimer === 0 && /^\d{10}$/.test(phoneNumber)) {
511//        button.addClass("hilight").removeAttr("disabled");
512//    } else {
513//        button.removeClass("hilight").attr("disabled", true);
514//    }
515//});
516function convertToISTDateTime(input) {
517    if (!input || input.length !== 15 || input.indexOf(":") !== 8) return "";
518
519    const day = input.slice(0, 2);
520    const month = input.slice(2, 4) - 1; // JS months are 0-based
521    const year = input.slice(4, 8);
522    const hour = input.slice(9, 11);
523    const minute = input.slice(11, 13);
524    const second = input.slice(13, 15);
525
526    // Create a UTC Date object
527    const utcDate = new Date(Date.UTC(year, month, day, hour, minute, second));
528
529    // Convert to IST by specifying the Asia/Kolkata timezone
530    const istDate = new Date(utcDate.toLocaleString("en-US", { timeZone: "Asia/Kolkata" }));
531
532    // Format to dd/mm/yyyy HH:MM (24-hour)
533    const dd = String(istDate.getDate()).padStart(2, '0');
534    const mm = String(istDate.getMonth() + 1).padStart(2, '0');
535    const yyyy = istDate.getFullYear();
536    const HH = String(istDate.getHours()).padStart(2, '0');
537    const MM = String(istDate.getMinutes()).padStart(2, '0');
538
539    return `${dd}/${mm}/${yyyy} ${HH}:${MM}`;
540}
541$('#loginuserform #userphoneNumber').on('input change', function () {
542    // Disable both OTP buttons on phone number change
543    $("#loginResendOTP")
544        .removeClass("hilight")
545        .prop("disabled", true);
546});
547$('#newuserform12 #signUpPhoneNumber').on('input change', function () {
548    // Disable both OTP buttons on phone number change
549    $("#signUpResendOTP")
550        .removeClass("hilight")
551        .prop("disabled", true);
552});

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.