function show_cards(e, t) {
    var a = 0;
    window.matchMedia("(max-width: 1080px)") ? a = 4 : window.matchMedia("(max-width: 2560px)") && (a = 6);
    for (var r = document.getElementsByClassName("card_education_category"), n = Array.prototype.slice.call(r), o = 0; o < n.length; o++)
        n[o].classList.contains("selected") && n[o].classList.remove("selected");
    e.classList.add("selected");
    for (var i = document.getElementsByClassName("card_education__cards_container"), s = Array.prototype.slice.call(i), o = 0; o < s.length; o++)
        s[o].classList.contains("hidden") || s[o].classList.add("hidden");
    for (var l = "card_education__cards_container category_".concat(t), c = document.getElementsByClassName(l), u = Array.prototype.slice.call(c), o = 0; o < u.length; o++) {
        u[o].classList.remove("hidden");
        for (var d = 0; d < u[o].querySelectorAll(".card_education__card").length; d++)
            u[o].querySelectorAll(".card_education__card")[d].classList.contains("hidden") && d < a && u[o].querySelectorAll(".card_education__card")[d].classList.remove("hidden")
    }
}
function show_cards_mobile() {
    for (var e = document.getElementsByClassName("card_education__cards_container"), t = Array.prototype.slice.call(e), a = 0; a < t.length; a++)
        t[a].classList.contains("hidden") || t[a].classList.add("hidden");
    for (var r = document.getElementById("educationCategories").value, n = "card_education__cards_container category_".concat(r), o = document.getElementsByClassName(n), i = Array.prototype.slice.call(o), a = 0; a < i.length; a++)
        i[a].classList.remove("hidden")
}
function downloadFileText(e) {
    var t = "",
    a = "";
    $.each($("div[data-type-table=" + e + "]").find(".tbl2__head__highlist").find(".tbl__highlistItem"), function (e, a) {
        t = t + " " + $(a).text()
    });
    $.each($("div[data-type-table=" + e + "]").find(".tbl2__highlist").find(".tbl2__highlistItem").find(".tbl__highlist"), function (t, r) {
        for (i = 0; i < $(r).find(".tbl__highlistItem").length; i++) {
            var n = $($("div[data-type-table=" + e + "]").find(".tbl2__head__highlist").find(".tbl__highlistItem")[i]).text().length,
            o = "";
            for (c = 0; c < n; c++)
                o += " ";
            a = a + " " + $($(r).find(".tbl__highlistItem")[i]).text() + o
        }
        a += "\n\r"
    });
    var r = t + "\n\r" + a,
    n = new Blob([r], {
        type: "text/plain"
    }),
    o = document.createElement("a");
    o.setAttribute("download", "download.txt"),
    o.setAttribute("href", window.URL.createObjectURL(n)),
    o.click()
}
function downloadFile(e) {
    var t = decodeURIComponent($(e).attr("data-download")),
    a = new Blob([t], {
        type: "text/plain"
    }),
    r = document.createElement("a");
    r.setAttribute("download", "download.xml"),
    r.setAttribute("href", window.URL.createObjectURL(a)),
    r.click()
}
function downloadFileCsv(e) {
    var t = (decodeURIComponent($(e).attr("data-download")), new Blob([csvFile], {
            type: "text/csv;charset=utf-8;"
        })),
    a = document.createElement("a");
    a.setAttribute("download", "download.csv"),
    a.setAttribute("href", window.URL.createObjectURL(t)),
    a.click()
}
function s2ab(e) {
    for (var t = new ArrayBuffer(e.length), a = new Uint8Array(t), r = 0; r != e.length; ++r)
        a[r] = 255 & e.charCodeAt(r);
    return t
}
function downloadFileExcel(e) {
    var t = (decodeURIComponent($(e).attr("data-download")), new Blob([s2ab(atob(data))], {
            type: "text/plain"
        })),
    a = document.createElement("a");
    a.setAttribute("download", "download.xlsx"),
    a.setAttribute("href", window.URL.createObjectURL(t)),
    a.click()
}
function json2xml(e, t) {
    function a(e, a, r, n) {
        var i = "<" + (null != e && null != e.__prefix ? e.__prefix + ":" : "") + a + ">";
        if (null != r)
            for (var s = 0; s < r.length; s++) {
                var l = r[s],
                c = e[l];
                t.escapeMode && (c = o(c)),
                i += " " + l.substr(t.attributePrefix.length) + "='" + c + "'"
            }
        return i += ""
    }
    function r(e, t) {
        return "</" + (null != e.__prefix ? e.__prefix + ":" : "") + t + ">"
    }
    function n(e, t) {
        return -1 !== e.indexOf(t, e.length - t.length)
    }
    function o(e) {
        return "string" == typeof e ? e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#x27;").replace(/\//g, "&#x2F;") : e
    }
    function i(e, a) {
        return !!("property" == t.arrayAccessForm && n(a.toString(), "_asArray") || 0 == a.toString().indexOf(t.attributePrefix) || 0 == a.toString().indexOf("__") || e[a]instanceof Function)
    }
    function s(e) {
        var t = 0;
        if (e instanceof Object)
            for (var a in e)
                i(e, a) || t++;
        return t
    }
    function l(e) {
        var t = "";
        if (s(e) > 0)
            for (var n in e)
                if (!i(e, n) && "STATUSCODE" != n.toUpperCase() && "STATUSMESSAGE" != n.toUpperCase()) {
                    var o = e[n],
                    u = c(o);
                    if (null == o || void 0 == o)
                        t += a(o, n, u, !0);
                    else if (o instanceof Object)
                        if (o instanceof Array)
                            t += "<exRate>", t += m(o, n, u), t += "</exRate>";
                        else if (o instanceof Date)
                            t += a(o, n, u, !1), t += o.toISOString(), t += r(o, n);
                        else {
                            var p = s(o);
                            p > 0 || null != o.__text || null != o.__cdata ? (t += a(o, n, u, !1), t += l(o), t += r(o, n)) : t += a(o, n, u, !0)
                        }
                    else
                        t += a(o, n, u, !1), t += d(o), t += r(o, n)
                }
        return t += d(e)
    }
    function c(e) {
        var a = [];
        if (e instanceof Object)
            for (var r in e)
                 - 1 == r.toString().indexOf("__") && 0 == r.toString().indexOf(t.attributePrefix) && a.push(r);
        return a
    }
    function u(e) {
        var a = "";
        return null != e.__cdata && (a += "<![CDATA[" + e.__cdata + "]]>"),
        null != e.__text && (t.escapeMode ? a += o(e.__text) : a += e.__text),
        a
    }
    function d(e) {
        var a = "";
        return e instanceof Object ? a += u(e) : null != e && (t.escapeMode ? a += o(e) : a += e),
        a
    }
    function m(e, t, n) {
        var o = "";
        if (0 == e.length)
            o += a(e, t, n, !0);
        else
            for (var i = 0; i < e.length; i++)
                o += a(e[i], t, c(e[i]), !1), o += l(e[i]), o += r(e[i], t);
        return o
    }
    console.log("clicked"),
    t = t || {},
    function () {
        void 0 === t.escapeMode && (t.escapeMode = !0),
        t.attributePrefix = t.attributePrefix || "_",
        t.arrayAccessForm = t.arrayAccessForm || "none",
        t.emptyNodeForm = t.emptyNodeForm || "text",
        void 0 === t.enableToStringFunc && (t.enableToStringFunc = !0),
        t.arrayAccessFormPaths = t.arrayAccessFormPaths || [],
        void 0 === t.skipEmptyTextNodesForObj && (t.skipEmptyTextNodesForObj = !0),
        void 0 === t.stripWhitespaces && (t.stripWhitespaces = !0),
        t.datetimeAccessFormPaths = t.datetimeAccessFormPaths || []
    }
    ();
    var p = JSON.parse($("#exchange-rates-" + e.toLowerCase()).val()),
    h = '<?xml version="1.0" encoding="utf-8"?>' + l(p);
    $(".js-xml-" + e).attr("data-download", encodeURIComponent(h))
}
function formatDate(e) {
    var t = new Date(e),
    a = "" + (t.getMonth() + 1),
    r = "" + t.getDate(),
    n = t.getFullYear();
    return a.length < 2 && (a = "0" + a),
    r.length < 2 && (r = "0" + r),
    [n, a, r].join("-")
}
function formatSlashedDate(e) {
    var t = e,
    a = t.split("/");
    return new Date(+a[2], a[1] - 1, +a[0]).toDateString()
}
function findEcbArchiveJsonIndex(e, t) {
    for (var a = e[0].Cube.Cube, r = new Date(t).getTime(), n = 0; n < a.length; n++) {
        if (!(r <= new Date(a[n].time).getTime()))
            return n;
        if (a[n].time == formatDate(t))
            return n
    }
}
function formatDate(e) {
    var t = new Date(e),
    a = "" + (t.getMonth() + 1),
    r = "" + t.getDate(),
    n = t.getFullYear();
    return a.length < 2 && (a = "0" + a),
    r.length < 2 && (r = "0" + r),
    [n, a, r].join("-")
}
function downloadFile(e) {
    var t = decodeURIComponent($(e).attr("data-download")),
    a = new Blob([t], {
        type: "text/plain"
    }),
    r = document.createElement("a");
    r.setAttribute("download", "download.xml"),
    r.setAttribute("href", window.URL.createObjectURL(a)),
    r.click()
}
function json2xmlVub(e, t) {
    function a(e, a, r, n) {
        var i = "<" + (null != e && null != e.__prefix ? e.__prefix + ":" : "") + a + ">";
        if (null != r)
            for (var s = 0; s < r.length; s++) {
                var l = r[s],
                c = e[l];
                t.escapeMode && (c = o(c)),
                i += " " + l.substr(t.attributePrefix.length) + "='" + c + "'"
            }
        return i += ""
    }
    function r(e, t) {
        return "</" + (null != e.__prefix ? e.__prefix + ":" : "") + t + ">"
    }
    function n(e, t) {
        return -1 !== e.indexOf(t, e.length - t.length)
    }
    function o(e) {
        return "string" == typeof e ? e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#x27;").replace(/\//g, "&#x2F;") : e
    }
    function i(e, a) {
        return !!("property" == t.arrayAccessForm && n(a.toString(), "_asArray") || 0 == a.toString().indexOf(t.attributePrefix) || 0 == a.toString().indexOf("__") || e[a]instanceof Function)
    }
    function s(e) {
        var t = 0;
        if (e instanceof Object)
            for (var a in e)
                i(e, a) || t++;
        return t
    }
    function l(e) {
        var t = "";
        if (s(e) > 0)
            for (var n in e)
                if (!i(e, n) && "STATUSCODE" != n.toUpperCase() && "STATUSMESSAGE" != n.toUpperCase()) {
                    var o = e[n],
                    u = c(o);
                    if (console.log("attrList:", u), console.log("subObj", o), null == o || void 0 == o);
                    else if (o instanceof Object)
                        if (o instanceof Array)
                            t += "<exRate>", t += m(o, n, u), t += "</exRate>";
                        else if (o instanceof Date)
                            t += a(o, n, u, !1), t += o.toISOString(), t += r(o, n);
                        else {
                            var p = s(o);
                            p > 0 || null != o.__text || null != o.__cdata ? (t += a(o, n, u, !1), t += l(o), t += r(o, n)) : t += a(o, n, u, !0)
                        }
                    else
                        t += a(o, n, u, !1), t += d(o), t += r(o, n)
                }
        return t += d(e)
    }
    function c(e) {
        var a = [];
        if (e instanceof Object)
            for (var r in e)
                 - 1 == r.toString().indexOf("__") && 0 == r.toString().indexOf(t.attributePrefix) && a.push(r);
        return a
    }
    function u(e) {
        var a = "";
        return null != e.__cdata && (a += "<![CDATA[" + e.__cdata + "]]>"),
        null != e.__text && (t.escapeMode ? a += o(e.__text) : a += e.__text),
        a
    }
    function d(e) {
        var a = "";
        return e instanceof Object ? a += u(e) : null != e && (t.escapeMode ? a += o(e) : a += e),
        a
    }
    function m(e, t, n) {
        var o = "";
        if (0 == e.length)
            o += a(e, t, n, !0);
        else
            for (var i = 0; i < e.length; i++)
                o += a(e[i], t, c(e[i]), !1), o += l(e[i]), o += r(e[i], t);
        return o
    }
    t = t || {},
    function () {
        void 0 === t.escapeMode && (t.escapeMode = !0),
        t.attributePrefix = t.attributePrefix || "_",
        t.arrayAccessForm = t.arrayAccessForm || "none",
        t.emptyNodeForm = t.emptyNodeForm || "text",
        void 0 === t.enableToStringFunc && (t.enableToStringFunc = !0),
        t.arrayAccessFormPaths = t.arrayAccessFormPaths || [],
        void 0 === t.skipEmptyTextNodesForObj && (t.skipEmptyTextNodesForObj = !0),
        void 0 === t.stripWhitespaces && (t.stripWhitespaces = !0),
        t.datetimeAccessFormPaths = t.datetimeAccessFormPaths || []
    }
    ();
    var p = JSON.parse($("#exchange-rates-" + e.toLowerCase()).val()),
    h = '<?xml version="1.0" encoding="utf-8"?>' + l(p);
    $(".js-xml-" + e).attr("data-download", encodeURIComponent(h))
}
function formatSlashedDate(e) {
    var t = e,
    a = t.split("/");
    return new Date(+a[2], a[1] - 1, +a[0]).toDateString()
}
function updateDateLabel(e) {
    if (dateIsValid(e)) {
        var t = addLeadingZeros(e.getDate()) + "." + addLeadingZeros(e.getMonth() + 1) + "." + e.getFullYear();
        $(".-js-date-dcc").html(t)
    }
}
function addLeadingZeros(e) {
    return e <= 9 ? "0" + e : e
}
function dateIsValid(e) {
    return !(isNaN(e.getDate) && isNaN(e.getMonth) && isNaN(e.getFullYear()))
}
function getFlagImagePath(e) {
    return ".resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/country_icons/" + e.toLowerCase() + ".gif"
}
function check() {
    var e = document.querySelectorAll("#radio");
    e[0].checked || e[1].checked ? (console.log("DONE"), document.getElementById("repaymentDate").required = !0) : document.getElementById("repaymentDate").required = !1
}
function number_format(e, t, a, r) {
    var n = e,
    o = isNaN(t = Math.abs(t)) ? 2 : t,
    i = void 0 == a ? "." : a,
    s = void 0 == r ? "," : r,
    l = n < 0 ? "-" : "",
    c = parseInt(n = Math.abs(+n || 0).toFixed(o)) + "",
    u = (u = c.length) > 3 ? u % 3 : 0;
    return l + (u ? c.substr(0, u) + s : "") + c.substr(u).replace(/(\d{3})(?=\d)/g, "$1" + s) + (o ? i + Math.abs(n - c).toFixed(o).slice(2) : "")
}
function round(e, t) {
    return Number(Math.round(e + "e" + t) + "e-" + t)
}
function addslashes(e) {
    return e = e.replace(/\\/g, "\\\\"),
    e = e.replace(/\'/g, "\\'"),
    e = e.replace(/\"/g, '\\"'),
    e = e.replace(/\0/g, "\\0")
}
function stripslashes(e) {
    return e = e.replace(/\\'/g, "'"),
    e = e.replace(/\\"/g, '"'),
    e = e.replace(/\\0/g, "\0"),
    e = e.replace(/\\\\/g, "\\")
}
function base64_encode(e) {
    if (window.btoa)
        return window.btoa(unescape(encodeURIComponent(e)));
    var t = {
        _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
        encode: function (e) {
            var a,
            r,
            n,
            o,
            i,
            s,
            l,
            c = "",
            u = 0;
            for (e = t._utf8_encode(e); u < e.length; )
                a = e.charCodeAt(u++), r = e.charCodeAt(u++), n = e.charCodeAt(u++), o = a >> 2, i = (3 & a) << 4 | r >> 4, s = (15 & r) << 2 | n >> 6, l = 63 & n, isNaN(r) ? s = l = 64 : isNaN(n) && (l = 64), c = c + this._keyStr.charAt(o) + this._keyStr.charAt(i) + this._keyStr.charAt(s) + this._keyStr.charAt(l);
            return c
        },
        decode: function (e) {
            var a,
            r,
            n,
            o,
            i,
            s,
            l,
            c = "",
            u = 0;
            for (e = e.replace(/[^A-Za-z0-9\+\/\=]/g, ""); u < e.length; )
                o = this._keyStr.indexOf(e.charAt(u++)), i = this._keyStr.indexOf(e.charAt(u++)), s = this._keyStr.indexOf(e.charAt(u++)), l = this._keyStr.indexOf(e.charAt(u++)), a = o << 2 | i >> 4, r = (15 & i) << 4 | s >> 2, n = (3 & s) << 6 | l, c += String.fromCharCode(a), 64 != s && (c += String.fromCharCode(r)), 64 != l && (c += String.fromCharCode(n));
            return c = t._utf8_decode(c)
        },
        _utf8_encode: function (e) {
            e = e.replace(/\r\n/g, "\n");
            for (var t = "", a = 0; a < e.length; a++) {
                var r = e.charCodeAt(a);
                r < 128 ? t += String.fromCharCode(r) : r > 127 && r < 2048 ? (t += String.fromCharCode(r >> 6 | 192), t += String.fromCharCode(63 & r | 128)) : (t += String.fromCharCode(r >> 12 | 224), t += String.fromCharCode(r >> 6 & 63 | 128), t += String.fromCharCode(63 & r | 128))
            }
            return t
        },
        _utf8_decode: function (e) {
            for (var t = "", a = 0, r = c1 = c2 = 0; a < e.length; )
                r = e.charCodeAt(a), r < 128 ? (t += String.fromCharCode(r), a++) : r > 191 && r < 224 ? (c2 = e.charCodeAt(a + 1), t += String.fromCharCode((31 & r) << 6 | 63 & c2), a += 2) : (c2 = e.charCodeAt(a + 1), c3 = e.charCodeAt(a + 2), t += String.fromCharCode((15 & r) << 12 | (63 & c2) << 6 | 63 & c3), a += 3);
            return t
        }
    };
    return t.encode(unescape(encodeURIComponent(e)))
}
function base64_decode(e) {
    if (window.atob)
        return decodeURIComponent(escape(window.atob(e.replace(/^"(.*)"$/, "$1"))));
    var t = {
        _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
        encode: function (e) {
            var a,
            r,
            n,
            o,
            i,
            s,
            l,
            c = "",
            u = 0;
            for (e = t._utf8_encode(e); u < e.length; )
                a = e.charCodeAt(u++), r = e.charCodeAt(u++), n = e.charCodeAt(u++), o = a >> 2, i = (3 & a) << 4 | r >> 4, s = (15 & r) << 2 | n >> 6, l = 63 & n, isNaN(r) ? s = l = 64 : isNaN(n) && (l = 64), c = c + this._keyStr.charAt(o) + this._keyStr.charAt(i) + this._keyStr.charAt(s) + this._keyStr.charAt(l);
            return c
        },
        decode: function (e) {
            var a,
            r,
            n,
            o,
            i,
            s,
            l,
            c = "",
            u = 0;
            for (e = e.replace(/[^A-Za-z0-9\+\/\=]/g, ""); u < e.length; )
                o = this._keyStr.indexOf(e.charAt(u++)), i = this._keyStr.indexOf(e.charAt(u++)), s = this._keyStr.indexOf(e.charAt(u++)), l = this._keyStr.indexOf(e.charAt(u++)), a = o << 2 | i >> 4, r = (15 & i) << 4 | s >> 2, n = (3 & s) << 6 | l, c += String.fromCharCode(a), 64 != s && (c += String.fromCharCode(r)), 64 != l && (c += String.fromCharCode(n));
            return c = t._utf8_decode(c)
        },
        _utf8_encode: function (e) {
            e = e.replace(/\r\n/g, "\n");
            for (var t = "", a = 0; a < e.length; a++) {
                var r = e.charCodeAt(a);
                r < 128 ? t += String.fromCharCode(r) : r > 127 && r < 2048 ? (t += String.fromCharCode(r >> 6 | 192), t += String.fromCharCode(63 & r | 128)) : (t += String.fromCharCode(r >> 12 | 224), t += String.fromCharCode(r >> 6 & 63 | 128), t += String.fromCharCode(63 & r | 128))
            }
            return t
        },
        _utf8_decode: function (e) {
            for (var t = "", a = 0, r = c1 = c2 = 0; a < e.length; )
                r = e.charCodeAt(a), r < 128 ? (t += String.fromCharCode(r), a++) : r > 191 && r < 224 ? (c2 = e.charCodeAt(a + 1), t += String.fromCharCode((31 & r) << 6 | 63 & c2), a += 2) : (c2 = e.charCodeAt(a + 1), c3 = e.charCodeAt(a + 2), t += String.fromCharCode((15 & r) << 12 | (63 & c2) << 6 | 63 & c3), a += 3);
            return t
        }
    };
    return decodeURIComponent(escape(t.decode(e.replace(/^"(.*)"$/, "$1"))))
}
function dateSelect() {
    $(".datepicker-button").mouseover(function () {
        console.log("mouseover");
        var e = document.querySelectorAll(".input-group span");
        -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
        e.length > 0 && e.forEach(function (e) {
            var t = e.title;
            console.log(t),
            t.indexOf("Изабери датум ...") > -1 && (console.log("true"), newtitle = t.replace("Изабери датум ...", "Izaberi datum…"), console.log(newtitle), e.title = newtitle)
        })
    })
}
function setCookie(e, t, a) {
    var r = new Date;
    r.setTime(r.getTime() + 24 * t * 60 * 60 * 1e3);
    var n = "expires=" + r.toUTCString();
    document.cookie = a + "=" + e + ";" + n + ";path=/"
}
function pad(e, t, a) {
    return void 0 === t ? e : a ? (e + t).slice(-e.length) : (t + e).substring(0, e.length)
}
function getRequestFormId() {
    var e = new Date;
    return [pad("00000", e.getYear() + e.getMonth() + e.getDate() + e.getHours() + e.getMinutes(), !0), "-", pad("00000", e.getSeconds(), !0), "-", pad("00000", e.getMilliseconds(), !0)].join("")
}
function setDynamicTop(e) {
    $("[data-id=" + e + "]").change(function () {
        void 0 == $("[data-id=" + e + "]:option selected").val() ? $("label[for=" + e + "]").css("top", "3px") : $("label[for=" + e + "]").css("top", "0px")
    })
}
function showFloating() {
    var e = $("[data-component='FloatingIcon']");
    e.find(".j-trigger").addClass("triggered"),
    e.addClass("activateFloating"),
    $(".floatingIcon--bg").addClass("activateFloating-bg")
}
function hideFloating() {
    var e = $("[data-component='FloatingIcon']");
    e.find(".j-trigger").removeClass("triggered"),
    e.removeClass("activateFloating demoFloating"),
    $(".floatingIcon--bg").removeClass("activateFloating-bg"),
    $(".floatingIcon__button").removeClass("menuActivated"),
    $("html").removeClass("openSocialShareModal")
}
function slideshow() {
    if ($(window).width() > 767) {
        for (var e = 0; e < contaTot; e++)
            $(".list-slideshow-image .imageSlideShowMobile")[e].classList.remove("active");
        $(".list-slideshow-image .imageSlideShow")[contaPrecedente].classList.remove("active"),
        $(".list-slideshow-image .imageSlideShow")[conta].classList.add("active")
    } else {
        for (var e = 0; e < contaTot; e++)
            $(".list-slideshow-image .imageSlideShow")[e].classList.remove("active");
        $(".list-slideshow-image .imageSlideShowMobile")[contaPrecedente].classList.remove("active"),
        $(".list-slideshow-image .imageSlideShowMobile")[conta].classList.add("active")
    }
    contaPrecedente = conta,
    (conta += 1) >= contaTot && (conta = 0)
}
function _possibleConstructorReturn(e, t) {
    if (!e)
        throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    return !t || "object" != typeof t && "function" != typeof t ? e : t
}
function _inherits(e, t) {
    if ("function" != typeof t && null !== t)
        throw new TypeError("Super expression must either be null or a function, not " + typeof t);
    e.prototype = Object.create(t && t.prototype, {
        constructor: {
            value: e,
            enumerable: !1,
            writable: !0,
            configurable: !0
        }
    }),
    t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
    if (!(e instanceof t))
        throw new TypeError("Cannot call a class as a function")
}
function _possibleConstructorReturn(e, t) {
    if (!e)
        throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    return !t || "object" != typeof t && "function" != typeof t ? e : t
}
function _inherits(e, t) {
    if ("function" != typeof t && null !== t)
        throw new TypeError("Super expression must either be null or a function, not " + typeof t);
    e.prototype = Object.create(t && t.prototype, {
        constructor: {
            value: e,
            enumerable: !1,
            writable: !0,
            configurable: !0
        }
    }),
    t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
}
function _classCallCheck(e, t) {
    if (!(e instanceof t))
        throw new TypeError("Cannot call a class as a function")
}
function showTables() {
    $("#wikiComponentSlovenia option").each(function (e, t) {
        var a = $(t).val(),
        r = $("#" + a);
        $(r).hasClass("in") && $(r).removeClass("in")
    });
    var e = $("#wikiComponentSlovenia option:selected").val();
    $("#" + e).addClass("in"),
    $("#wikiComponentSlovenia option").length < 2 && $(".show-slovenia-mobile").hide()
}
function tempo() {
    var e = document.querySelectorAll(".form-control span");
    -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
    e.length != count && (e.forEach(function (e) {
            var t = e.innerText;
            t.indexOf("јануар") > -1 ? (newmeseL = t.replace("јануар", "Januar"), e.innerText = newmeseL) : t.indexOf("фебруар") > -1 ? (newmeseL = t.replace("фебруар", "Februar"), e.innerText = newmeseL) : t.indexOf("март") > -1 ? (newmeseL = t.replace("март", "Mart"), e.innerText = newmeseL) : t.indexOf("април") > -1 ? (newmeseL = t.replace("април", "April"), e.innerText = newmeseL) : t.indexOf("мај") > -1 ? (newmeseL = t.replace("мај", "Maj"), e.innerText = newmeseL) : t.indexOf("јун") > -1 ? (newmeseL = t.replace("јун", "Jun"), e.innerText = newmeseL) : t.indexOf("јул") > -1 ? (newmeseL = t.replace("јул", "Jul"), e.innerText = newmeseL) : t.indexOf("август") > -1 ? (newmeseL = t.replace("август", "Avgust"), e.innerText = newmeseL) : t.indexOf("септембар") > -1 ? (newmeseL = t.replace("септембар", "Septembar"), e.innerText = newmeseL) : t.indexOf("октобар") > -1 ? (newmeseL = t.replace("октобар", "Oktobar"), e.innerText = newmeseL) : t.indexOf("новембар") > -1 ? (newmeseL = t.replace("новембар", "Novembar"), e.innerText = newmeseL) : t.indexOf("децембар") > -1 && (newmeseL = t.replace("децембар", "Decembar"), e.innerText = newmeseL)
        }), clearInterval(interval), count = e.length, $(".com15__filterItem").on("click", function (e) {
            interval = setInterval(tempo, 1e3)
        }))
}
function timer() {
    var e = document.querySelectorAll(".form-control span");
    -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
    e.length > 0 && (e.forEach(function (e) {
            var t = e.innerText;
            t.indexOf("јануар") > -1 ? (newmeseL = t.replace("јануар", "Januar"), e.innerText = newmeseL) : t.indexOf("фебруар") > -1 ? (newmeseL = t.replace("фебруар", "Februar"), e.innerText = newmeseL) : t.indexOf("март") > -1 ? (newmeseL = t.replace("март", "Mart"), e.innerText = newmeseL) : t.indexOf("април") > -1 ? (newmeseL = t.replace("април", "April"), e.innerText = newmeseL) : t.indexOf("мај") > -1 ? (newmeseL = t.replace("мај", "Maj"), e.innerText = newmeseL) : t.indexOf("јун") > -1 ? (newmeseL = t.replace("јун", "Jun"), e.innerText = newmeseL) : t.indexOf("јул") > -1 ? (newmeseL = t.replace("јул", "Jul"), e.innerText = newmeseL) : t.indexOf("август") > -1 ? (newmeseL = t.replace("август", "Avgust"), e.innerText = newmeseL) : t.indexOf("септембар") > -1 ? (newmeseL = t.replace("септембар", "Septembar"), e.innerText = newmeseL) : t.indexOf("октобар") > -1 ? (newmeseL = t.replace("октобар", "Oktobar"), e.innerText = newmeseL) : t.indexOf("новембар") > -1 ? (newmeseL = t.replace("новембар", "Novembar"), e.innerText = newmeseL) : t.indexOf("децембар") > -1 && (newmeseL = t.replace("децембар", "Decembar"), e.innerText = newmeseL)
        }), clearInterval(interval), $(".com15__filterItem").on("click", function (e) {
            interval = setInterval(tempo, 1e3)
        }))
}
function changeMonthOfMediaRelease() {
    var e = document.querySelectorAll('.bib .aboutCom-pressAndNews select[name="filterByMonth"] option span');
    -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e));
    var t = $("html")[0].getAttribute("lang");
    if (e.length > 0) {
        var a = 0;
        e.forEach(function (e) {
            e.innerText;
            "sr" == t ? 0 == a ? (newmeseL = "Januar", e.innerText = newmeseL) : 1 == a ? (newmeseL = "Februar", e.innerText = newmeseL) : 2 == a ? (newmeseL = "Mart", e.innerText = newmeseL) : 3 == a ? (newmeseL = "April", e.innerText = newmeseL) : 4 == a ? (newmeseL = "Maj", e.innerText = newmeseL) : 5 == a ? (newmeseL = "Jun", e.innerText = newmeseL) : 6 == a ? (newmeseL = "Jul", e.innerText = newmeseL) : 7 == a ? (newmeseL = "Avgust", e.innerText = newmeseL) : 8 == a ? (newmeseL = "Septembar", e.innerText = newmeseL) : 9 == a ? (newmeseL = "Oktobar", e.innerText = newmeseL) : 10 == a ? (newmeseL = "Novembar", e.innerText = newmeseL) : 11 == a && (newmeseL = "Decembar", e.innerText = newmeseL) : "en" == t && (0 == a ? (newmeseL = "January", e.innerText = newmeseL) : 1 == a ? (newmeseL = "February", e.innerText = newmeseL) : 2 == a ? (newmeseL = "March", e.innerText = newmeseL) : 3 == a ? (newmeseL = "April", e.innerText = newmeseL) : 4 == a ? (newmeseL = "May", e.innerText = newmeseL) : 5 == a ? (newmeseL = "June", e.innerText = newmeseL) : 6 == a ? (newmeseL = "July", e.innerText = newmeseL) : 7 == a ? (newmeseL = "August", e.innerText = newmeseL) : 8 == a ? (newmeseL = "September", e.innerText = newmeseL) : 9 == a ? (newmeseL = "October", e.innerText = newmeseL) : 10 == a ? (newmeseL = "November", e.innerText = newmeseL) : 11 == a && (newmeseL = "December", e.innerText = newmeseL)),
            a += 1
        })
    }
}
function Days() {
    var e = document.querySelectorAll(".datepicker-weekdays th");
    -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
    e.length > 0 && (e.forEach(function (e) {
            var t = e.innerText;
            t.indexOf("п") > -1 ? (newDay = t.replace("п", "P"), e.innerText = newDay) : t.indexOf("у") > -1 ? (newDay = t.replace("у", "U"), e.innerText = newDay) : t.indexOf("с") > -1 ? (newDay = t.replace("с", "S"), e.innerText = newDay) : t.indexOf("ч") > -1 ? (newDay = t.replace("ч", "Č"), e.innerText = newDay) : t.indexOf("п") > -1 ? (newDay = t.replace("п", "P"), e.innerText = newDay) : t.indexOf("с") > -1 ? (newDay = t.replace("с", "S"), e.innerText = newDay) : t.indexOf("н") > -1 && (newDay = t.replace("н", "N"), e.innerText = newDay)
        }), clearInterval(interval), $(".datepicker-month").on("click", function (e) {
            interval = setInterval(Days, 1e3)
        }))
}
function changeMonthOfMediaReleaseISPBIH() {
    var e = document.querySelectorAll('.ispbih .aboutCom-pressAndNews select[name="filterByMonth"] option span');
    -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e));
    var t = $("html")[0].getAttribute("lang");
    e.length > 0 && e.forEach(function (e) {
        var a = e.innerText;
        "bs" == t && ("M01" == a ? (newmeseL = "Januar", e.innerText = newmeseL) : "M02" == a ? (newmeseL = "Februar", e.innerText = newmeseL) : "M03" == a ? (newmeseL = "Mart", e.innerText = newmeseL) : "M04" == a ? (newmeseL = "April", e.innerText = newmeseL) : "M05" == a ? (newmeseL = "Maj", e.innerText = newmeseL) : "M06" == a ? (newmeseL = "Juni", e.innerText = newmeseL) : "M07" == a ? (newmeseL = "Juli", e.innerText = newmeseL) : "M08" == a ? (newmeseL = "August", e.innerText = newmeseL) : "M09" == a ? (newmeseL = "Septembar", e.innerText = newmeseL) : "M10" == a ? (newmeseL = "Oktobar", e.innerText = newmeseL) : "M11" == a ? (newmeseL = "Novembar", e.innerText = newmeseL) : "M12" == a && (newmeseL = "Decembar", e.innerText = newmeseL))
    })
}
function complaintRadioTypeClient(e, t, a, r) {
    console.log("complaintRadioTypeClient - method"),
    "individual" == $("#radioTypeClient:checked").val() ? ($("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="firstname"]').parent().parent().show(), void 0 != e && $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="firstname"]').attr("required", "required"), $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="companyName"]').parent().parent().hide(), void 0 != t && $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="companyName"]').removeAttr("required"), $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cnpNumber"]').parent().parent().show(), void 0 != a && $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cnpNumber"]').attr("required", "required"), $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cuiNumber"]').parent().parent().hide(), void 0 != r && $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cuiNumber"]').removeAttr("required")) : "business" == $("#radioTypeClient:checked").val() && ($("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="firstname"]').parent().parent().hide(), void 0 != e && $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="firstname"]').removeAttr("required"), $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="companyName"]').parent().parent().show(), void 0 != t && $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="companyName"]').attr("required", "required"), $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cnpNumber"]').parent().parent().hide(), void 0 != a && $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cnpNumber"]').removeAttr("required"), $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cuiNumber"]').parent().parent().show(), void 0 != r && $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cuiNumber"]').attr("required", "required"))
}
function addCNP_CUI_Validations(e, t) {
    console.log("addCNP_CUI_Validations - method"),
    $(e).attr("data-parsley-cnp", ""),
    $(t).attr("data-parsley-cui", ""),
    window.Parsley.addValidator("cnp", {
        validateString: function (e) {
            return validateCNP(e)
        }
    }),
    window.Parsley.addValidator("cui", {
        validateString: function (e) {
            return validateCUI(e)
        }
    })
}
function validateCUI(e) {
    var t = e;
    if (isNaN(parseFloat(e)) || !isFinite(e)) {
        if (t = t.toUpperCase(), 0 !== t.indexOf("RO"))
            return !1;
        t = t.replace("RO", ""),
        t = parseInt(t.trim())
    } else
        t = parseInt(t);
    if (t.toString().length > 10 || t.toString().length < 4)
        return !1;
    var a = 753217532,
    r = parseInt(t % 10);
    t = parseInt(t / 10);
    for (var n = 0; t > 0; )
        n += t % 10 * (a % 10), t = parseInt(t / 10), a = parseInt(a / 10);
    var o = parseInt(10 * n % 11);
    return 10 == o && (o = 0),
    r === o
}
function validateCNP(e) {
    var t;
    if (t = /^([1-8])(0[1-9]|[1-9][0-9])(0[1-9]|1[0-2])(\d{2})(\d{2})(\d{3})(\d)$/.exec(e)) {
        var a = parseInt(t[3]),
        r = parseInt(t[4]);
        switch (a) {
        case 2:
            if (r > 29)
                return !1;
        case 3:
        case 4:
        case 6:
        case 9:
        case 11:
            if (r > 30)
                return !1;
        default:
            if (r > 31)
                return !1
        }
        var n = parseInt(t[5]);
        if (n < 0 || n > 46 && n < 51 || n > 52)
            return !1;
        if (parseInt(t[6]) < 0)
            return !1;
        for (var o = (parseInt(t[7]), "279146358279"), i = 0, s = 0; s < o.length; s++)
            i += parseInt(t[0].charAt(s)) * o.charAt(s);
        var l = i % 11;
        return l < 10 && l == t[0].charAt(12) || 10 == l && 1 == t[0].charAt(12)
    }
    return !1
}
function hideCustomComponentsInstantFeedbackPage() {
    var e = "CIB" == $("html").attr("data-bank").toUpperCase(),
    t = $(".instantFeedbackPage").length > 0,
    a = $(".shownFormInstantFeedback").length > 0;
    e && t && (a || $(".surveyInstantFeedbackCheck").each(function () {
            $(this).hide()
        }))
}
function submitCommentFeedbackDefault() {
    var e = "CIB" == $("html").attr("data-bank").toUpperCase(),
    t = "BIB" == $("html").attr("data-bank").toUpperCase(),
    a = "ISPBIH" == $("html").attr("data-bank").toUpperCase(),
    r = "",
    n = $("#comment"),
    o = $("#IDdatePickerMicrosite"),
    i = $("#periodMeeting"),
    s = $("#channel"),
    l = $("#item_comment");
    if (e)
        o.length > 0 && o.val().length > 0 && (r = r.concat("Date:").concat(o.val().concat(" "))), i.length > 0 && i.val().length > 0 && (r = r.concat("Time:").concat(i.val().concat(" "))), s.length > 0 && s.val().length > 0 && (r = r.concat("Contact channel:").concat(s.val().concat(" "))), l.length > 0 && l.val().length > 0 && (r = r.concat("Comment:").concat(l.val().concat(" "))), r.length > 0 && (n.val(r), console.log(r));
    else if (a)
        o.length > 0 && o.val().length > 0 && (r = r.concat("Datum:").concat(o.val().concat(" "))), i.length > 0 && i.val().length > 0 && (r = r.concat("Vrijeme:").concat(i.val().concat(" "))), s.length > 0 && s.val().length > 0 && (r = r.concat("Kontakt kanal:").concat(s.val().concat(" "))), l.length > 0 && l.val().length > 0 && (r = r.concat("Komentar:").concat(l.val().concat(" "))), r.length > 0 && (n.val(r), console.log(r));
    else {
        if (t) {
            var c = "";
            try {
                c = window.dataLayer[0].siteLanguage
            } catch (e) {
                c = "En"
            }
            var u = "En" == c ? "Channel:" : "Kanal:",
            d = "En" == c ? "Comment:" : "Komentar:";
            s && s.find(":selected").text().length > 0 && (r = r.concat(u).concat(s.find(":selected").val().concat(" "))),
            l.length > 0 && l.val().length > 0 && (r = r.concat(d).concat(l.val().concat(" ")))
        } else
            l.length > 0 && l.val().length > 0 && (r = r.concat("Comment:").concat(l.val().concat(" ")));
        r.length > 0 && (n.val(r), console.log(r))
    }
}
function submitCommentFeedbackPbz() {
    var e = "PBZ" == $("html").attr("data-bank").toUpperCase(),
    t = $("#comment"),
    a = "",
    r = "",
    n = "",
    o = $("#item_comment");
    e && ($(".micrositePBZinput").each(function () {
            var e = $(this).val();
            "phoneNumber" == $(this).attr("input-type") ? "countryPrefix" == $(this).attr("name") ? r = e : n = e : "" != e && (a = a.concat($(this).attr("input-type")).concat(":").concat(e).concat(" ")),
            console.log("val input ->", e)
        }), (r.length > 0 || n.length > 0) && (phone = r.concat(" " + n), a = a.concat("phoneNumber").concat(":").concat(phone).concat(" ")), o.length > 0 && o.val().length > 0 && (a = a.concat("Comment:").concat(o.val().concat(" "))), a.length > 0 && (t.val(a), console.log(a)))
}
function onSubmitClick() {
    $(".js-button-feedback").on("click", function () {
        var e = "PBZ" == $("html").attr("data-bank").toUpperCase(),
        t = $(this),
        a = t.attr("data-thankyou"),
        r = t.attr("data-value"),
        n = $("#thankyou"),
        o = $("#value"),
        i = ($("#comment"), $("#IDdatePickerMicrosite")),
        s = $("#period"),
        l = $("#channel");
        if (console.log("inner on submit click"), console.log("button:", t), console.log("thankButton:", a), console.log("buttonValue:", r), $(this).hasClass("btn-secondary"))
            n.val(a.toString()), o.val(r), l.val(null), $(".microsite_formFeedback").submit();
        else {
            n.val(a.toString()),
            o.val(r);
            var c = $("#commentTemplate").val();
            null != c && "" != c && void 0 != c ? (i && (c = c.replace("{date}", i.val()), console.log("inner date")), s && (c = c.replace("{period}", s.val()), console.log("inner period")), l && (c = c.replace("{channel}", l.val()), console.log("inner channel")), "4" == o.val() && (c = t.text(), console.log("commentTemplate:", c)), submitCommentFeedbackDefault(), $(".microsite_formFeedback").submit()) : e ? (n.val(a.toString()), o.val(r), submitCommentFeedbackPbz(), $(".microsite_formFeedback").submit()) : (submitCommentFeedbackDefault(), $(".microsite_formFeedback").submit())
        }
    })
}
function isSloveniaBank() {
    return "ISPSLOVENIA" == $("html").attr("data-bank").toUpperCase()
}
setTimeout(function () {
    $(document).ready(function () {
        if ("ALEX" == $("html").attr("data-bank")) {
            setInterval(anni, 100)
        }
    })
}, 100), anni = function () {
    $(".datepicker-grid.rtl").find(".year.selectable,.year.curYear.selectable.focus,.datepicker-month").click(function () {
        console.log("change in ar year dx"),
        "ar-EG" == $("html").attr("lang") && setTimeout(function () {
            $(".datepicker-month").find("span").each(function (e, t) {
                var a = ["۰", "۱", "۲", "۳", "٤", "٥", "٦", "۷", "۸", "۹"];
                if (void 0 != $(t)[0])
                    for (var r = 0; r < $(t)[0].childNodes.length; r++) {
                        for (var n = $(t)[0].childNodes[r].textContent.split(""), e = 0; e < n.length; e++)
                            parseFloat(n[e]) > -1 && (n[e] = a[n[e]]);
                        $(t)[0].childNodes[r].textContent = n.join("")
                    }
            })
        }, 100)
    })
}, setTimeout(function () {
    $(document).ready(function () {
        if ("ALEX" == $("html").attr("data-bank")) {
            setInterval(mesi, 100)
        }
    })
}, 100), mesi = function () {
    $(".datepicker-calendar").find(".month.selectable,.month.selectable.focus").click(function () {
        console.log("change in ar calendar"),
        "ar-EG" == $("html").attr("lang") && setTimeout(function () {
            $(".birth-alex-calendar").find(".day.selectable,.day.unselectable,.empty,.datepicker-month,.populateYears,.year.selectable,.year.curYear.selectable.focus,.only-year-selection").each(function (e, t) {
                var a = ["۰", "۱", "۲", "۳", "٤", "٥", "٦", "۷", "۸", "۹"];
                if (void 0 != $(t)[0])
                    for (var r = 0; r < $(t)[0].childNodes.length; r++) {
                        for (var n = $(t)[0].childNodes[r].textContent.split(""), e = 0; e < n.length; e++)
                            parseFloat(n[e]) > -1 && (n[e] = a[n[e]]);
                        $(t)[0].childNodes[r].textContent = n.join("")
                    }
            })
        }, 100)
    })
}, setTimeout(function () {
    $(document).ready(function () {
        if ("ALEX" == $("html").attr("data-bank")) {
            setInterval(inizio, 100)
        }
    })
}, 100), inizio = function () {
    $("#IDdatePickerBirthDay").change(function () {
        "ar-EG" == $("html").attr("lang") && setTimeout(function () {
            for (var e = ["۰", "۱", "۲", "۳", "٤", "٥", "٦", "۷", "۸", "۹"], t = $("#IDdatePickerBirthDay").val().split(""), a = 0; a < t.length; a++)
                parseFloat(t[a]) > -1 && (t[a] = e[t[a]]);
            var r = t.join("");
            $("#IDdatePickerBirthDay").val(r)
        }, 100)
    })
}, $(document).ready(function () {
    setTimeout(function () {
        "ALEX" == $("html").attr("data-bank") && $(".datepicker-button").on("click", function () {
            console.log("clear input"),
            void 0 == $("#IDdatePickerBirthDay").val() && "" == $("#IDdatePickerBirthDay").val() || $("#IDdatePickerBirthDay").val("")
        })
    }, 1e3)
});
var Intesa = Intesa || {};
Intesa.appleBusinessWidget = function () {
    var e = this;
    this.init = function () {
        try {
            var t = "PBZ" == $("html").attr("data-bank");
            if (t) {
                var a = e.iOS(),
                r = navigator.platform.toUpperCase().indexOf("MAC") >= 0,
                n = window.appleBusinessChat.isSupported(),
                o = $("#isRetail").length > 0 ? $("#isRetail").val().toString() : null;
                console.log("isSupported:", n),
                console.log("isRetail:", o),
                t && 0 == $(".abcw-component").length && 1 == a && "true" == o ? $("#appleChatFloating").removeClass("hide") : t && $(".abcw-component").length > 0 && 1 == a && "true" == o && (n ? $('a[title="Chat"]').parent()[0].style.display = "none" : console.log("not supported")),
                $(".abcw-component").length > 0 && r && (document.querySelector(".abcw-component").style.visibility = "hidden", document.querySelector(".apple-business-chat-fallback-container").style.visibility = "visible")
            }
        } catch (e) {
            console.log("error-> ", e)
        }
    },
    this.iOS = function () {
        return ["iPad Simulator", "iPhone Simulator", "iPod Simulator", "iPad", "iPhone", "iPod"].includes(navigator.platform) || navigator.userAgent.includes("Mac") && "ontouchend" in document
    }
}, Intesa.appleBusinessWidget.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.apple_business_widget || (window.intesa.apple_business_widget = new Intesa.appleBusinessWidget),
    window.intesa.apple_business_widget
}, $(document).ready(function () {
    changeExchangeToArab = function (e) {
        for (var t = ["۰", "۱", "۲", "۳", "٤", "٥", "٦", "۷", "۸", "۹"], a = 0; a < e.length; a++)
            parseFloat(e[a]) > -1 && (e[a] = t[e[a]]);
        return e.join("")
    },
    changeExchangeToLatin = function (e) {
        try {
            for (var t = e.split(""), a = 0; a < t.length; a++)
                switch (t[a]) {
                case "۰":
                    t[a] = "0";
                    break;
                case "۱":
                    t[a] = "1";
                    break;
                case "۲":
                    t[a] = "2";
                    break;
                case "۳":
                    t[a] = "3";
                    break;
                case "٤":
                    t[a] = "4";
                    break;
                case "٥":
                    t[a] = "5";
                    break;
                case "٦":
                    t[a] = "6";
                    break;
                case "۷":
                    t[a] = "7";
                    break;
                case "۸":
                    t[a] = "8";
                    break;
                case "۹":
                    t[a] = "9";
                    break;
                case ".":
                    t[a] = ".";
                    break;
                case ",":
                    break;
                default:
                    t[a] = e[a]
                }
            return t.join("")
        } catch (t) {
            return e
        }
    },
    null != document.querySelector("#arabFromAmount") && setTimeout(function () {
        function e(e) {
            console.log("Event on arabFromInput dispatched"),
            8 != e.which && e.preventDefault(),
            n(e)
        }
        function t(e) {
            console.log("Event on arabFromInput dispatched"),
            8 != e.which && e.preventDefault(),
            o(e)
        }
        function a(e) {
            console.log("Event on arabToInput dispatched"),
            8 != e.which && e.preventDefault(),
            s(e)
        }
        function r(e) {
            console.log("Event on arabToInput dispatched"),
            8 != e.which && e.preventDefault(),
            i(e)
        }
        function n(e) {
            console.log("Conversion on arabFromInput");
            var t = (e.keyCode, document.getElementById("arabFromAmount")),
            a = document.getElementById("transformFrom"),
            r = document.getElementById("transformTo"),
            n = document.getElementById("arabToAmount");
            console.log(e.keyCode),
            t.setAttribute("num", a.value.toString()),
            t.value = changeExchangeToArab(a.value.toString().split("")),
            n.value = changeExchangeToArab(r.value.toString().split(""))
        }
        function o(e) {
            console.log("Conversion on arabFromInput");
            var t = (e.keyCode, document.getElementById("arabFromAmount")),
            a = document.getElementById("transformFrom"),
            r = document.getElementById("transformTo"),
            n = document.getElementById("arabToAmount");
            console.log(e.keyCode),
            t.setAttribute("num", changeExchangeToLatin(t.value.toString())),
            isNaN(Number(changeExchangeToLatin(t.value))) && (t.value = ""),
            t.value = changeExchangeToArab(t.value.toString().split("")),
            a.value = parseFloat(t.getAttribute("num")),
            $("#transformFrom").trigger("change"),
            n.value = changeExchangeToArab(r.value.toString().split(""))
        }
        function i(e) {
            console.log("Conversion on arabToInput");
            var t = (e.keyCode, document.getElementById("arabToAmount")),
            a = document.getElementById("transformTo"),
            r = document.getElementById("transformFrom"),
            n = document.getElementById("arabFromAmount");
            console.log(e.keyCode),
            t.setAttribute("num", a.value.toString()),
            t.value = changeExchangeToArab(a.value.toString().split("")),
            n.value = changeExchangeToArab(r.value.toString().split(""))
        }
        function s(e) {
            console.log("Conversion on arabToInput");
            var t = (e.keyCode, document.getElementById("arabToAmount")),
            a = document.getElementById("transformTo"),
            r = document.getElementById("transformFrom"),
            n = document.getElementById("arabFromAmount");
            console.log(e.keyCode),
            t.setAttribute("num", changeExchangeToLatin(t.value.toString())),
            isNaN(Number(changeExchangeToLatin(t.value))) && (t.value = ""),
            t.value = changeExchangeToArab(t.value.toString().split("")),
            a.value = parseFloat(t.getAttribute("num")),
            $("#transformTo").trigger("change"),
            n.value = changeExchangeToArab(r.value.toString().split(""))
        }
        console.log("Arabic Currency converter initialized"),
        document.getElementById("arabFromAmount").addEventListener("keyup", function () {
            t(event),
            console.log("keydown on arabFromInput")
        }),
        document.getElementById("arabToAmount").addEventListener("keyup", function () {
            a(event),
            console.log("keydown on arabToInput")
        }),
        $("[data-currency=fromAmountCurrency]").on("change", function () {
            e(event),
            console.log("keydown on arabFromInput")
        }),
        $("[data-currency=toAmountCurrency]").on("change", function () {
            r(event),
            console.log("keydown on arabToInput")
        })
    }, 1500)
}), $(document).ready(function () {
    function e(e, t) {
        for (var a = o.indexOf("ALL") + 1, r = o.indexOf(e) + 1, n = 0; n < o[a].length; n++)
            o[a][n].classList.add("hide");
        for (var i = 0; i < t && i < o[r].length; i++)
            console.log("i'm showing from this group: " + o[r - 1]), o[r][i].classList.remove("hide");
        o[r].length <= t ? c.classList.add("hide") : c.classList.remove("hide"),
        c.setAttribute("more-tag", e)
    }
    function t(e, t) {
        for (var a = document.querySelectorAll(".article_component.hide[data-tag='" + e + "']"), r = 0; r < t && !(r >= a.length); r++)
            a[r].classList.remove("hide");
        0 == document.querySelectorAll(".article_component.hide[data-tag='" + e + "']").length && c.classList.add("hide")
    }
    function a(e) {
        for (var t = document.querySelectorAll(".article_component.hide"), a = 0; a < e && !(a >= t.length); a++)
            t[a].classList.remove("hide");
        0 == document.querySelectorAll(".article_component.hide").length && c.classList.add("hide")
    }
    if (null != document.querySelector(".js-articles-displayer") && null == document.querySelector(".js-partnership-displayer")) {
        console.log("only about-us articles");
        var r = document.querySelectorAll("span.artcl_tag"),
        n = [],
        o = [],
        i = document.getElementById("newArticleGallery"),
        s = document.getElementById("deskTags"),
        l = document.getElementById("mobileTags"),
        c = document.querySelector(".articles_loading_more_section"),
        u = window.matchMedia("(max-width: 767.98px)"),
        d = window.matchMedia("(max-width: 1080px)"),
        m = window.matchMedia("(max-width: 2560px)"),
        p = 0,
        h = 0;
        u.matches ? (p = 3, h = 1) : d.matches ? (p = 4, h = 2) : m.matches && (p = 6, h = 3);
        for (var g = 0; g < r.length; g++)
            n.includes(r[g].innerText) || n.push(r[g].innerText);
        o.push("ALL"),
        o.push(document.querySelectorAll(".article_component"));
        for (var f = 0; f < n.length; f++)
            o.push(n[f]), o.push(document.querySelectorAll(".article_component[data-tag='" + n[f] + "']"));
        if (u.matches && (null === i || void 0 === i)) {
            for (var v = 0; v < n.length; v++) {
                var y = document.createElement("option");
                y.innerHTML = n[v],
                y.setAttribute("tag", n[v]),
                l.appendChild(y)
            }
            l.addEventListener("change", function () {
                e(this.options[this.options.selectedIndex].getAttribute("tag"), p)
            })
        }
        if (d.matches || m.matches || null !== i)
            for (var v = 0; v < n.length; v++) {
                var b = document.createElement("div"),
                $ = document.querySelector(".article_component[data-tag='" + n[v] + "']").getAttribute("data-icon");
                b.classList.add("articles_tag"),
                b.innerHTML = '<span class="artcl_tag_icon ' + $ + '"></span><p class="title_category">' + n[v] + "</p>",
                b.setAttribute("tag", n[v]),
                s.appendChild(b),
                b.addEventListener("click", function () {
                    document.querySelector(".articles_tag.selected").classList.remove("selected"),
                    this.classList.add("selected"),
                    e(this.getAttribute("tag"), p)
                })
            }
        document.querySelector('.articles_tag[tag="ALL"]').addEventListener("click", function () {
            document.querySelector(".articles_tag.selected").classList.remove("selected"),
            this.classList.add("selected"),
            e(this.getAttribute("tag"), p)
        }),
        null == document.querySelector('div[data-edit="true"]') && document.querySelector('.articles_tag[tag="ALL"]').click(),
        c.addEventListener("click", function () {
            "ALL" != this.getAttribute("more-tag") ? t(this.getAttribute("more-tag"), h) : a(h)
        })
    }
}), $(document).ready(function () {
    function e(e, t) {
        for (var a = o.indexOf("ALL") + 1, r = o.indexOf(e) + 1, n = 0; n < o[a].length; n++)
            o[a][n].classList.add("hide");
        for (var i = 0; i < t && i < o[r].length; i++)
            o[r][i].classList.remove("hide")
    }
    function t(e, t) {
        for (var a = document.querySelectorAll(".article_component.hide[data-tag='" + e + "']"), r = 0; r < t && !(r >= a.length); r++)
            a[r].classList.remove("hide")
    }
    function a(e) {
        for (var t = document.querySelectorAll(".article_component.hide"), a = 0; a < e && !(a >= t.length); a++)
            t[a].classList.remove("hide")
    }
    if (null != document.querySelector(".js-partnership-displayer")) {
        var r = document.querySelectorAll("span.artcl_tag"),
        n = [],
        o = [],
        i = document.getElementById("deskTags"),
        s = document.getElementById("mobileTags"),
        l = window.matchMedia("(max-width: 480px)"),
        c = window.matchMedia("(max-width: 1080px)"),
        u = window.matchMedia("(max-width: 2560px)"),
        d = 0,
        m = 0;
        l.matches ? (d = r.length, m = 0) : c.matches ? (d = 4, m = 2) : u.matches && (d = 6, m = 3);
        for (var p = 0; p < r.length; p++)
            n.includes(r[p].innerText) || n.push(r[p].innerText);
        o.push("ALL"),
        o.push(document.querySelectorAll(".article_component"));
        for (var h = 0; h < n.length; h++)
            o.push(n[h]), o.push(document.querySelectorAll(".article_component[data-tag='" + n[h] + "']"));
        if (l.matches) {
            for (var g = 0; g < n.length; g++) {
                var f = document.createElement("option");
                f.innerHTML = n[g],
                f.setAttribute("tag", n[g]),
                s.appendChild(f)
            }
            s.addEventListener("change", function () {
                e(this.options[this.options.selectedIndex].getAttribute("tag"), d)
            })
        }
        if (c.matches || u.matches) {
            for (var g = 0; g < n.length; g++) {
                var v = document.createElement("div"),
                y = document.querySelector(".article_component[data-tag='" + n[g] + "']").getAttribute("data-icon");
                v.classList.add("articles_tag"),
                v.innerHTML = '<span class="artcl_tag_icon ' + y + '"></span><p class="title_category">' + n[g] + "</p>",
                v.setAttribute("tag", n[g]),
                i.appendChild(v),
                v.addEventListener("click", function () {
                    document.querySelector(".articles_tag.selected").classList.remove("selected"),
                    this.classList.add("selected"),
                    e(this.getAttribute("tag"), d)
                })
            }
            $(window).scroll(function () {
                var e = $(".articles_gallery").offset().top + $(".articles_gallery").height() - ($(window).scrollTop() + $(window).innerHeight()),
                r = $(".articles_tag.selected").attr("tag");
                e < 0 && ("ALL" == r ? a(m) : t(r, m))
            })
        }
        document.querySelector('.articles_tag[tag="ALL"]').addEventListener("click", function () {
            document.querySelector(".articles_tag.selected").classList.remove("selected"),
            this.classList.add("selected"),
            e(this.getAttribute("tag"), d)
        }),
        null == document.querySelector('div[data-edit="true"]') && document.querySelector('.articles_tag[tag="ALL"]').click()
    }
});
var Intesa = Intesa || {};
Intesa.BasketCookie = function () {
    var e = this;
    this.categoryMap = new Map,
    this.categoryResumeMap = new Map,
    this.init = function () {
        $(".cart__summary__item[data-category]").each(function (t, a) {
            var r = $(a);
            r.is(":visible") && e.categoryMap.set(r.data("category"), r.data("itemid"))
        }),
        localStorage.getItem("categoryResumeMap") && "[]" != localStorage.getItem("categoryResumeMap") && (e.categoryResumeMap = new Map(JSON.parse(localStorage.getItem("categoryResumeMap")))),
        $("[data-secure-sign]").click(function (t) {
            t.preventDefault();
            var a = $(this).attr("data-secure-sign"),
            r = $(this).attr("data-url");
            $.ajax({
                type: "POST",
                url: "/signVerifyBasketCookieServlet/?operation=sign&bankName=" + a,
                success: function () {
                    var t = e.getCookie("product");
                    if (t)
                        try {
                            t = JSON.parse(t),
                            window.dataLayer = window.dataLayer || [],
                            window.dataLayer.push({
                                event: "crossSelling",
                                eventCategory: "onboarding cart",
                                eventAction: "added to cart",
                                productName: t.mainProduct ? t.mainProduct.label : "",
                                productFamily: "CURRENTACCOUNT",
                                crossProductName: t.customOffer ? t.customOffer.label : null
                            })
                        } catch (e) {
                            console.error("Datalayer Parse error: unable to parse productCookie")
                        }
                    null !== r && (window.location.href = r)
                },
                error: function () {}
            })
        }),
        $(document).on("click", "*[data-generate-cookie]", function (t) {
            if (t.preventDefault(), e.createCookie($(this)), "false" != $(this).attr("data-enabled")) {
                var a = $(this).attr("data-c-mainproduct");
                a = e.getProductInfo(a),
                window.dataLayer = window.dataLayer || [],
                window.dataLayer.push({
                    event: "addtocart_pp",
                    eventCategory: "onboarding cart",
                    eventAction: "addtocart in PP",
                    productFamily: "CURRENTACCOUNT",
                    productName: a.name,
                    fullPrice: a.fullPrice,
                    discountedPrice: a.discountedPrice,
                    pricingType: a.pricingType
                });
                var r = $(this).attr("data-generate-and-secure-sign");
                if (null == r || void 0 == r || r.trim().lenght <= 0)
                    window.location.href = $(this).attr("href");
                else {
                    var n = $(this).attr("data-url");
                    $.ajax({
                        type: "POST",
                        url: "/signVerifyBasketCookieServlet/?operation=sign&bankName=" + r,
                        success: function () {
                            null !== n && (window.location.href = n)
                        },
                        error: function (e) {
                            console.log(e)
                        }
                    })
                }
            }
        }),
        $(document).on("click", "*[data-add-to-cart]", function () {
            e.addToCart($(this).attr("data-add-to-cart"), $(this).attr("data-category")),
            e.basketAccordion($(this), "add")
        }),
        $(document).on("click", "*[data-c-cart]", function () {
            if (e.basketAccordion($(this), "add"), "" !== $(this).attr("data-c-cart") && void 0 !== $(this).attr("data-category")) {
                void 0 !== $(this).attr("data-remove-ids") && "" !== $(this).attr("data-remove-ids") && JSON.parse($(this).attr("data-remove-ids")).forEach(function (t) {
                    void 0 !== t.id && (e.removeFromCart("" + t.id, !1), e.updateCookie(null, "remove"))
                });
                var t = JSON.parse($(this).attr("data-c-cart"));
                if ($(this).attr("data-category"), t.forEach(function (t, a) {
                        e.addToCart(JSON.stringify(t), a)
                    }), "" !== $(this).attr("data-c_accountpack") && void 0 !== $(this).attr("data-c_accountpack")) {
                    var a = $(this).attr("data-c_accountpack");
                    e.updateCookie(a, "add")
                }
            }
        }),
        $(document).on("click", "*[data-remove]", function () {
            e.basketAccordion($(this), "remove"),
            void 0 !== $(this).attr("data-remove-ids") && "" !== $(this).attr("data-remove-ids") ? JSON.parse($(this).attr("data-remove-ids")).forEach(function (t) {
                void 0 !== t.id && (e.removeFromCart("" + t.id, !1), e.updateCookie(null, "remove"))
            }) : e.removeFromCart($(this).attr("data-remove"), !1)
        }),
        $(document).on("click", "*[data-cancel]", function () {
            e.basketAccordion($(this), "remove"),
            e.removeFromCart($(this).attr("data-cancel"), !1)
        }),
        $(document).on("click", "*[data-add-cookie-property]", function () {
            var t = $(this);
            t.hasClass("-js-cart__btnChangeGift") && (t = t.siblings(".-js-cart__btnAddGift"));
            var a = e.parseAttributeData(t);
            e.addCookieProperty(a.propertyName, a.propertyValue)
        }),
        $(document).on("click", "*[data-remove-cookie-property]", function () {
            var t = $(this).attr("data-remove-cookie-property");
            e.deleteCookieProperty(t)
        }),
        $(document).on("click", "*[data-tab]", function (t) {
            if ($('*[data-tab="without-salary"]').hasClass("open"))
                return void e.setLoanConfigurationsCookie()
        }),
        $(document).on("click", "*[data-trigger-tab]", function () {
            var e = "CIB" == $("html").attr("data-bank");
            $(".com16__tabs [data-tab]").removeClass("open"),
            e ? ("with-salary" == $(this).attr("data-trigger-tab") && $('li[data-tab="with-salary"]').addClass("open"), "without-salary" == $(this).attr("data-trigger-tab") && $('li[data-tab="without-salary"]').addClass("open")) : ("with-salary" == $(this).attr("data-trigger-tab") && ($('li[data-tab="with-salary"]').addClass("open"), $("td.with-salary").show(), $("td.without-salary").hide(), $(".con16-2_tabCircleWrapper").css("display", "block"), $(window).width() < 768 && $(this).parents(".tab-mobile").find(".next-btn").attr("onclick", "window.intesa.calculatorNavigation.nextPrev(1, this)")), "without-salary" == $(this).attr("data-trigger-tab") && ($('li[data-tab="without-salary"]').addClass("open"), $("td.with-salary").hide(), $("td.without-salary").show(), $(".con16-2_tabCircleWrapper").css("display", "none"), $(window).width() < 768 && $(this).parents(".tab-mobile").find(".next-btn").attr("onclick", "window.intesa.calculatorNavigation.goToTab(4)")))
        })
    },
    this.parseAttributeData = function (e) {
        var t = e.attr("data-add-cookie-property");
        return t = JSON.parse(t), {
            propertyName: t.propertyName,
            propertyValue: t.value
        }
    },
    this.getProductInfo = function (e) {
        var t = {};
        if (e)
            try {
                e = JSON.parse(e),
                t = {
                    name: e.label,
                    fullPrice: e.fullPrice,
                    discountedPrice: e.discountedPrice,
                    pricingType: e.pricingType
                }
            } catch (e) {
                console.error('Datalayer Parse error: unable to parse "data-c-mainproduct" for this product')
            }
        return t
    },
    this.basketAccordion = function (e, t) {
        var a = $("[data-baskettype=MAIN] [aria-expanded=true]"),
        r = $("[data-baskettype=MAIN] [aria-expanded=false]"),
        n = $("[data-baskettype=BUNDLE_PRODUCT] [aria-expanded=true]"),
        o = $("[data-baskettype=BUNDLE_PRODUCT] [aria-expanded=false]");
        $("[data-baskettype=CROSSSELLING_OFFER] [aria-expanded=true]"),
        $("[data-baskettype=CROSSSELLING_OFFER] [aria-expanded=false]");
        if (null !== e && void 0 !== e && "" !== e && !1 !== e.attr("data-baskettypebtn") && null !== e.attr("data-baskettypebtn") && "" !== e.attr("data-baskettypebtn")) {
            var i = e.attr("data-baskettypebtn");
            "add" == t && ("CROSSSELLING_PRODUCT" == i && r.trigger("click"), "BUNDLE_PRODUCT" == i && a.trigger("click"), "CROSSSELLING_OFFER" == i && (n.trigger("click"), r.trigger("click")), "CROSSSELLING_CUSTOME_OFFER" == i && (n.trigger("click"), a.trigger("click"))),
            "remove" == t && ("CROSSSELLING_PRODUCT" == i && a.trigger("click"), "BUNDLE_PRODUCT" == i && r.trigger("click"), "CROSSSELLING_OFFER" == i && (a.trigger("click"), o.trigger("click")), "CROSSSELLING_CUSTOME_OFFER" == i && (r.trigger("click"), o.trigger("click")))
        }
    },
    this.addCookieProperty = function (t, a) {
        console.log("Add cookie property: " + t);
        var r = e.getCookie("product");
        r = JSON.parse(r),
        r[t] = a,
        r = JSON.stringify(r),
        e.setCookie("product", r, 30)
    },
    this.deleteCookieProperty = function (t) {
        console.log("Delete cookie property: " + t);
        var a = e.getCookie("product");
        a = JSON.parse(a),
        delete a[t],
        a = JSON.stringify(a),
        e.setCookie("product", a, 30)
    },
    this.updateCookie = function (t, a) {
        var r = e.getCookie("product"),
        n = JSON.parse(r);
        "" !== t && void 0 !== t && (null !== t && (t = JSON.parse(t)), "" !== a && void 0 !== a && ("add" == a && (console.log(n.accountOffer), n.accountOffer && delete n.accountOffer, n.accountOffer = t, console.log(n.accountOffer)), "remove" == a && (console.log(n.accountOffer), n.accountOffer && delete n.accountOffer, console.log(n.accountOffer)))),
        r = JSON.stringify(n),
        e.setCookie("product", r, 30)
    },
    this.createCookie = function (t) {
        console.log("Create basket cookie");
        var a = t.attr("data-c-selectedProcess"),
        r = t.attr("data-c-editLink"),
        n = t.attr("data-c-mainProduct"),
        o = t.attr("data-c-cart"),
        i = t.attr("data-c_accountPack"),
        s = t.attr("data-c-personalLoanConfiguration");
        if ("" !== s && null !== s && void 0 !== s)
            var l = '"personalLoanConfiguration": ' + s + ",", c = '{"selectedProcess": "' + a + '","editLink": "' + r + '",' + l + '"mainProduct": ' + n + ',"cart": ' + o + "}";
        else
            var c = '{"selectedProcess": "' + a + '","editLink": "' + r + '","mainProduct": ' + n + ',"cart": ' + o + ',"accountOffer": ' + i + "}";
        "" != e.getCookie("product") && e.deleteCookie("product"),
        e.setCookie("product", c, 30),
        localStorage.setItem("product", c)
    },
    this.getCookie = function (e) {
        console.log("Get basket cookie");
        for (var t = e + "=", a = decodeURIComponent(document.cookie), r = a.split(";"), n = 0; n < r.length; n++) {
            for (var o = r[n]; " " == o.charAt(0); )
                o = o.substring(1);
            if (0 == o.indexOf(t))
                return base64_decode(o.substring(t.length, o.length))
        }
        return ""
    },
    this.setCookie = function (t, a, r) {
        console.log("Set basket cookie"),
        console.log(a);
        var n = new Date;
        n.setTime(n.getTime() + 24 * r * 60 * 60 * 1e3);
        var o = "expires=" + n.toGMTString();
        a = base64_encode(a),
        document.cookie = t + "=" + a + ";" + o + ";path=/";
        var i = $(".btn-checkout");
        if (i.length) {
            i.data("url")
        }
        localStorage.setItem("categoryResumeMap", JSON.stringify(e.categoryResumeMap))
    },
    this.deleteCookie = function (t) {
        console.log("Delete basket cookie"),
        document.cookie = t + "=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;",
        e.categoryResumeMap = new Map,
        localStorage.removeItem("categoryResumeMap")
    },
    this.addToCart = function (t, a) {
        console.log("Add product to basket");
        var r = e.categoryMap.get(a);
        void 0 != r && e.removeFromCart(r, !0);
        var n = e.getCookie("product");
        if ("" != n) {
            n = JSON.parse(n),
            t = JSON.parse(t);
            var o = t.id;
            n.cart.some(function (e) {
                return e.id === o
            }) || (n.cart.push(t), e.categoryMap.set(a, o)),
            n = JSON.stringify(n),
            e.setCookie("product", n, 30)
        }
    },
    this.removeFromCart = function (t, a) {
        console.log("Remove product from basket"),
        console.log(e.categoryMap);
        var r = void 0;
        e.categoryMap.forEach(function (a, n, o) {
            a == t && (e.categoryMap.delete(n), r = n)
        });
        var n = e.getCookie("product");
        if ("" != n) {
            n = JSON.parse(n),
            t = parseInt(t);
            for (var o = 0; o < n.cart.length; o++)
                n.cart[o].id == t && (a && void 0 != r && e.categoryResumeMap.set(r, JSON.stringify(n.cart[o])), n.cart.splice(o, 1));
            n = JSON.stringify(n),
            e.setCookie("product", n, 30)
        }
        a || void 0 == r || (console.log(e.categoryResumeMap), console.log(r), e.categoryResumeMap.forEach(function (t, a, n) {
                a == r && e.addToCart(e.categoryResumeMap.get(a), r)
            }))
    },
    this.setLoanConfigurationsCookie = function () {
        var e = $('[data-algoritmresult="monthlyInstallmentStandard"]').text(),
        t = $('[data-algoritmresult="interestRateStandard"]').text(),
        a = $('[data-algoritmresult="aprStandard"]').text();
        e = e.replace(/\s/g, ""),
        t = t.replace(",", "."),
        a = a.replace(",", ".");
        try {
            var r = $("*[data-generate-cookie]").attr("data-c-personalloanconfiguration");
            r = JSON.parse(r),
            r.INSTALLMENT = e,
            r.INTERESTRATE = t,
            r.APR = a,
            r.DISCOUNTCODE = "",
            $("*[data-generate-cookie]").attr("data-c-personalloanconfiguration", JSON.stringify(r))
        } catch (e) {
            console.log("[data-generate-cookie] doesn't exists or it's not a valid JSON")
        }
    },
    this.disableSalaryDiscount = function () {
        var e = $(".con16-2_tabCircleWrapper .com16-2__tabItem.active").attr("data-salary-code");
        $(".con16-2_tabCircleWrapper .com16-2__tabItem").removeClass("active");
        var t = $(".con16-2_tabCircleWrapper").parent();
        t.css({
            opacity: .4,
            position: "relative"
        }),
        t.append('<div class="input-shield" data-prev="' + e + '" style="position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 9999;"></div>')
    },
    this.enableSalaryDiscount = function () {
        var e = $(".input-shield"),
        t = e.attr("data-prev");
        e.remove(),
        $(".con16-2_tabCircleWrapper").parent().removeAttr("style"),
        $('[data-salary-code="' + t + '"]').trigger("click")
    }
}, Intesa.BasketCookie.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.basket_cookie || (window.intesa.basket_cookie = new Intesa.BasketCookie),
    window.intesa.basket_cookie
};
var Intesa = Intesa || {};
Intesa.BasketCore = function () {
    var e = this,
    t = Intesa.LoanCalculator.getInstance(),
    a = Intesa.BasketCookie.getInstance();
    this.activeSalaryCode = "",
    this.boot = !0,
    this.init = function () {
        $("section.cart .loansItem__list").length && (e.changeSalaryCallback(), $(".-js-loansItem__link.itemActive").length && (e.activeSalaryCode = $(".-js-loansItem__link.itemActive").data("salaryCode")), $(document).on("click", ".-js-loansItem__link", function () {
                var t = $(this);
                e.updateCartLoanDisclaimer(),
                setTimeout(function () {
                    t.data("salaryCode") != e.activeSalaryCode || e.boot ? e.changeSalaryCallback(t) : e.removeSalaryCallback(),
                    e.boot = !1
                }, 100)
            }), $(document).on("click", ".cart__summary__item--salary .cart__summary__item__remove", function (t) {
                e.removeSalaryCallback()
            }))
    },
    this.updateCartLoanDisclaimer = function () {
        !$(".loansItem__link.itemActive").attr("data-id") ? ($('[data-disclaimer="with-salary"]').addClass("hide"), $('[data-disclaimer="without-salary"],[data-salary-box-info]').removeClass("hide")) : ($('[data-disclaimer="with-salary"]').removeClass("hide"), $('[data-disclaimer="without-salary"],[data-salary-box-info]').addClass("hide"))
    },
    this.changeSalaryCallback = function (a) {
        a && (e.activeSalaryCode = a.data("salaryCode")),
        t.initOutputElements(),
        t.getInputs(".itemActive"),
        t.calculateLoan(),
        t.fillOutputElements(),
        $("*[data-mainproduct]").attr("data-mainproduct", t.monthlyInstallmentValuePromo),
        $("*[data-mainproductstandard]").attr("data-mainproductstandard", t.monthlyInstallmentValueStandard),
        e.eventDispatch("recalculatePercentage"),
        e.eventDispatch("calculateSum"),
        e.updateBasketCookie("promo")
    },
    this.eventDispatch = function (e) {
        var t;
        "function" == typeof Event ? t = new Event(e) : (t = document.createEvent("Event"), t.initEvent(e, !0, !0)),
        document.dispatchEvent(t)
    },
    this.removeSalaryCallback = function () {
        t.interestRatePromo.text(t.interestRateResultStandard),
        t.loanAmountPromo.text(t.loanAmountResultStandard),
        t.monthlyInstallmentPromo.text(t.monthlyInstallmentResultStandard),
        $("*[data-mainproduct]").attr("data-mainproduct", t.monthlyInstallmentValueStandard),
        $(".-js-loansItem__link.-js-no-click").addClass("itemActive"),
        e.eventDispatch("recalculatePercentage"),
        e.eventDispatch("calculateSum"),
        e.updateBasketCookie("standard")
    },
    this.updateBasketCookie = function (e) {
        var r = a.getCookie("product"),
        n = JSON.parse(r),
        o = n.personalLoanConfiguration;
        o.DURATION = t.tenorCalculatedPromo.toString(),
        "promo" == e ? (o.DISCOUNTCODE = t.salaryInterestRateCode.toString(), o.INSTALLMENT = t.monthlyInstallmentValuePromo.toString(), o.INTERESTRATE = t.salaryInterestRateValue.toString(), o.LOANAMOUNT = t.loanAmountCalculatedPromo.toString(), o.APR = t.salaryAPRValue.toString()) : (void 0 != t.standardInterestRateCode ? o.DISCOUNTCODE = t.standardInterestRateCode.toString() : o.DISCOUNTCODE = "", o.INSTALLMENT = t.monthlyInstallmentValueStandard.toString(), o.INTERESTRATE = t.standardInterestRateValue.toString(), o.LOANAMOUNT = t.loanAmountCalculatedStandard.toString(), o.APR = t.standardAPRValue.toString()),
        r = JSON.stringify(n),
        a.setCookie("product", r, 30)
    }
}, Intesa.BasketCore.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.basket_core || (window.intesa.basket_core = new Intesa.BasketCore),
    window.intesa.basket_core
};
var Intesa = Intesa || {};
Intesa.bibTableComponent = function () {
    $("html").attr("data-bank");
    this.init = function () {
        0 != $(".bib-website-table-component").length && ($(".bib__table__component__arrow").click(function () {
                $(this).find(".icon-ic_small_arrow_down").hasClass("inverted") ? $(this).find(".icon-ic_small_arrow_down").removeClass("inverted") : $(this).find(".icon-ic_small_arrow_down").addClass("inverted")
            }), $(".bib-website-table-component").each(function (e, t) {
                if ("false" == $("div[data-hide-table]", t).attr("data-hide-table")) {
                    var a = $("div[data-table-excel]", t).attr("data-table-excel");
                    $.ajax({
                        type: "GET",
                        cache: !1,
                        url: a,
                        context: document.body,
                        xhrFields: {
                            responseType: "arraybuffer"
                        }
                    }).done(function (e, a, r) {
                        var n = $(".bib-table-component", t)[0];
                        n.innerHTML = "";
                        var o = new FileReader,
                        i = new Blob([e], {
                            type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
                        });
                        o.readAsArrayBuffer(i),
                        o.onload = function (e) {
                            try {
                                var t = new Uint8Array(o.result),
                                a = new ExcelJS.Workbook;
                                a.xlsx.load(t).then(function () {
                                    var e = a.worksheets[0],
                                    t = e.lastRow.number,
                                    r = e.getRows(1, t);
                                    if (t > 0) {
                                        var o = '<table class="listViewTable table-sortable" id="listViewTable">';
                                        r.forEach(function (e, t) {
                                            o += '<tr class="ce1 colorYellow">';
                                            var a = e.worksheet._merges;
                                            e.eachCell({
                                                includeEmpty: !0
                                            }, function (e, r) {
                                                var n = null;
                                                if (4 == e.type) {
                                                    var i = $("html").attr("data-bank"),
                                                    s = new Date(e.value);
                                                    if ("CIB" == i)
                                                        n = s.toISOString().split("T")[0].replace(/\-/g, ".");
                                                    else {
                                                        var l = s.toISOString().split("T")[0];
                                                        n = l.split("-")[2] + "." + l.split("-")[1] + "." + l.split("-")[0]
                                                    }
                                                } else
                                                    n = e.value;
                                                if (0 == t && 1 != e.isMerged)
                                                    o += null != n ? '<th class="name1 hsText">' + n + "</th>" : '<th class="name1 hsText"></th>';
                                                else if (1 == e.isMerged) {
                                                    if (e.address in a) {
                                                        var c = "",
                                                        u = "";
                                                        if (a[e.address].model.top != a[e.address].model.bottom) {
                                                            var d = a[e.address].model.bottom - a[e.address].model.top + 1;
                                                            c = ' rowspan="' + d + '" '
                                                        }
                                                        if (a[e.address].model.left != a[e.address].model.right) {
                                                            var m = a[e.address].model.right - a[e.address].model.left + 1;
                                                            u = ' colspan="' + m + '" style="text-align:center" '
                                                        }
                                                        if (0 == t)
                                                            o += null != n ? '<th class="name1 hsText" ' + c + u + ">" + n + "</th>" : '<th class="name1 hsText" ' + c + u + "></th>";
                                                        else if (void 0 != n && null != n && void 0 == n.richText)
                                                            void 0 != e.style.font && 1 == e.style.font.bold ? o += '<td class="entry1 hsText" ' + c + u + "><strong>" + n + "</strong></td>" : o += '<td class="entry1 hsText" ' + c + u + ">" + n + "</td>";
                                                        else if (void 0 != n && null != n && void 0 != n.richText) {
                                                            for (var p = "", h = 0; h < n.richText.length; h++)
                                                                void 0 != n.richText[h].font && void 0 != n.richText[h].font.bold && 1 == n.richText[h].font.bold ? p += "<strong>" + n.richText[h].text + "</strong>" : p += n.richText[h].text;
                                                            o += '<td class="entry1 hsText" ' + c + u + ">" + p + "</td>"
                                                        } else
                                                            o += '<td class="entry1 hsText" ' + c + u + "></td>"
                                                    }
                                                } else
                                                    void 0 != n && null != n ? void 0 != e.style.font && 1 == e.style.font.bold ? o += '<td class="entry1 hsText"><strong>' + n + "</strong></td>" : o += '<td class="entry1 hsText">' + n + "</td>" : o += '<td class="entry1 hsText"></td>'
                                            }),
                                            o += "</tr>"
                                        }),
                                        o += "</table>",
                                        n.innerHTML = o
                                    }
                                })
                            } catch (e) {
                                console.log(e)
                            }
                        }
                    })
                }
            }))
    }
}, Intesa.bibTableComponent.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.bib_Table_Component || (window.intesa.bib_Table_Component = new Intesa.bibTableComponent),
    window.intesa.bib_Table_Component
};
var Intesa = Intesa || {};
Intesa.MerchantList = function () {
    var e,
    t,
    a,
    r = this,
    n = [];
    const o = $("div[data-type-table-merchant=Merchant]");
    this.defaultInstallments = [12, 6, 3, 9, 18, 24];
    var s;
    this.debitArr = [3, 6, 9, 12],
    this.creditArr = [3, 6, 9, 12, 18, 24],
    this.condensedListAnalysis = [],
    $("#select-card-placeholder").length > 0 && (s = $("#select-card-placeholder")[0].innerHTML),
    r.filtered = {},
    this.init = function () {
        if ("BIB" == $("html").attr("data-bank"))
            try {
                t = JSON.parse($("#calculatorLabels").val()),
                a = JSON.parse($("#MCCLabels").val());
                var n = $("div[data-type-table-merchant]");
                e = n.clone(),
                $(n).each(function (e) {
                    var t = $(this),
                    a = t.attr("data-type-table-merchant");
                    r.createTableMerchant(a)
                })
            } catch (e) {
                console.log("can't start merchant, if you are in the correct page check configuration, if you are in another page ignore this error" + e)
            }
        $("#installment").prop("checked", !0),
        $("#physical").prop("checked", !0),
        $("#online").prop("checked", !0),
        $("input[name=all]").prop("checked", !0),
        $("#show-extra").click()
    },
    this.installmentString = function (e) {
        return e > 3 ? t.INSTALLMENTS : t.INSTALLMENT
    },
    this.addElementsToTable = function (e, a, n, o) {
        var s = a.find("tbody"),
        l = a.find("thead"),
        c = l.find(".tbl__highlistValue").length;
        e.forEach(function (e, l) {
            if (l >= n && l < o) {
                s = a.find("tbody");
                var u = document.createElement("tr"),
                d = "",
                m = Array.from(e.Brand);
                for (i = 0; i < c - 1; i++) {
                    switch (i) {
                    case 0:
                        d = e.RetailerName1,
                        d = d.toUpperCase();
                        break;
                    case 1:
                        d = "Internet" == e.TerminalType ? e.RetailerName2 : e.RetailerCityName + " " + e.RetailerAddressLine1,
                        d = d.toUpperCase();
                        break;
                    case 2:
                        d = "",
                        m.forEach(function (e) {
                            d += '<img class="creditCardIcon" src="' + window.location.origin + "/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/ico_small/" + e + '.png"/> '
                        });
                        break;
                    case 3:
                        var p = new Set(m);
                        d = void 0 != e.InstNoMaxD && e.InstNoMaxD < 18 && (p.has("DINA") || p.has("Visa")) ? t.MAX + " " + e.InstNoMaxD + " " + r.installmentString(e.InstNoMaxD) : "";
                        break;
                    case 4:
                        d = t.MAX + " " + e.InstNoMaxC + " " + r.installmentString(e.InstNoMaxC);
                        break;
                    default:
                        d = ""
                    }
                    var h = document.createElement("td");
                    if (3 === i || 4 === i) {
                        var g = document.createElement("div");
                        g.classList.add("cards-container");
                        var f = e;
                        m.forEach(function (e) {
                            if (4 === i && "dina" != e.toLowerCase()) {
                                var t = document.createElement("img");
                                t.classList.add("creditCardIcon"),
                                t.src = window.location.origin + "/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/ico_small/" + e + ".png",
                                g.append(t)
                            } else if (3 === i && "amex" != e.toLowerCase() && "mastercard" != e.toLowerCase() && void 0 != f.InstNoMaxD && f.InstNoMaxD < 18) {
                                var t = document.createElement("img");
                                t.classList.add("creditCardIcon"),
                                t.src = window.location.origin + "/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/ico_small/" + e + ".png",
                                g.append(t)
                            }
                        }),
                        h.append(g);
                        var v = document.createElement("span");
                        v.innerText = d,
                        h.append(v),
                        h.classList.add("numberinstall-cell"),
                        3 === i ? h.classList.add("debit-cell") : h.classList.add("credit-cell")
                    } else
                        h.innerHTML = d;
                    0 !== i && 1 !== i || h.classList.add("text-cell"),
                    h.classList.add("value-cell"),
                    u.append(h)
                }
                s.append(u)
            }
            $("tbody").find("tr").each(function (e, t) {
                e % 2 != 0 && t.children[0].classList.add("store-name")
            })
        })
    },
    this.createTableMerchant = function (e) {
        const t = $("div[data-type-table-merchant=" + e + "]"),
        a = $("#merchant-list").val();
        if ("" != a && "Merchant" == e) {
            var o = JSON.parse(a),
            i = o.fileContent[0].ExactFile.Records.RAcqInstallmentRange,
            s = [],
            l = [],
            c = 0,
            u = null;
            i.forEach(function (e, t) {
                if (0 == t)
                    s[c] = e, u = e, l.push(e.Brand);
                else {
                    u.CustomerName1 == e.CustomerName1 && u.CustomerName2 == e.CustomerName2 && u.RetailerAddressLine1 == e.RetailerAddressLine1 && u.RetailerCityName == e.RetailerCityName ? t == i.length - 1 ? s[c].Brand = new Set(l) : l.push(e.Brand) : (s[c].Brand = new Set(l), l = [], c++, s[c] = e, l.push(e.Brand), u = e)
                }
                "C" == e.CardType ? s[c].InstNoMaxC = e.InstNoMax : "D" == e.CardType && (s[c].InstNoMaxD = e.InstNoMax)
            }),
            n = s,
            r.condensedListAnalysis = s,
            r.addElementsToTable(s, t, 0, 10),
            r.populate(s)
        }
    },
    this.geStoresByName = function (e, t) {
        return "" != e && null != e && (t = t.filter(function (t) {
                var a = t.RetailerName1;
                a = a.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""),
                e = e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "");
                var r = e;
                return new RegExp("\\b" + r + "\\b", "g").test(a) ? (console.log("filtered name " + e), t) : a.indexOf(e) >= 0 && !a.charAt(a.indexOf(e) - 1).match(/[a-zA-Z]/i) ? (console.log("filtered name " + e), t) : void 0
            })),
        t
    },
    this.getStoresByPlace = function (e, t, a) {
        return a = a.filter(function (a) {
            var r = a.RetailerAddressLine1 + " " + a.RetailerCityName;
            if (r = r.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase(), null != e && void 0 != e && (e = e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase()), null != t && void 0 != t && (t = t.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase()), null != t && void 0 != t && null != e && void 0 != e && "" != t) {
                if (console.log("condizione per entrambi"), r.includes(e) && r.includes(t))
                    return console.log("condizione per entrambi" + r + " " + t), a
            } else if (null == t || void 0 == t || "" == t || null != e && void 0 != e) {
                if ((null == t || void 0 == t || "" == t) && null != e && void 0 != e && (console.log("condizione solo per city"), r.includes(e)))
                    return console.log("condizione solo per city" + r + " " + t), a
            } else if (console.log("condizione solo per address"), r.includes(t))
                return console.log("condizione solo per address" + r + " " + t), a
        })
    },
    this.getStoresByType = function (e, t, a) {
        const r = t.online,
        n = t.physical,
        o = "" != e && null != e && e.length > 0;
        var i = [];
        return null != e && (e.indexOf(",") > -1 ? i = e.split(",") : i.push(e)),
        a = a.filter(function (e) {
            if (r && !n) {
                if (($.inArray(e.MCC.toString(), i) > -1 || !o) && "Internet" == e.TerminalType)
                    return e
            } else if (n && !r) {
                if (($.inArray(e.MCC.toString(), i) > -1 || !o) && "Internet" != e.TerminalType)
                    return e
            } else if ($.inArray(e.MCC.toString(), i) > -1 || !o)
                return e
        })
    },
    this.getStoresByAcceptedCards = function (e, t) {
        return void 0 != e && 0 != e.length && (t = t.filter(function (t) {
                acceptedCards = Array.from(t.Brand);
                for (var a = !0, r = 0; r < e.length && a; r++)
                     - 1 === acceptedCards.indexOf(e[r]) && (a = !1);
                if (a)
                    return t
            })),
        t
    },
    this.getStoresByInstallmentPayments = function (e, t, a) {
        return check = t.credit || t.debit,
        ("" != e && null != e || check) && (a = "" != e && null != e && void 0 != e ? a.filter(function (a) {
                return console.log("elem.InstNoMaxD " + a.InstNoMaxD + "elem.InstNoMaxC " + a.InstNoMaxC),
                !(t.allInstallments || t.credit && t.debit || !t.credit && !t.debit) || a.InstNoMaxD != e && a.InstNoMaxC != e ? t.credit && !t.debit && a.InstNoMaxC == e ? a : t.debit && !t.credit && a.InstNoMaxD == e ? a : void 0 : a
            }) : a.filter(function (e) {
                return t.allInstallments || t.credit && t.debit || !t.credit && !t.debit ? e : t.credit && !t.debit ? e : t.debit && !t.credit ? e : void 0
            })),
        a
    },
    this.hideShowCards = function () {
        const e = $("#debit").prop("checked"),
        t = $("#credit").prop("checked");
        t && (e ? ($(".debit-cell").css("visibility", ""), $(".credit-cell").css("visibility", "")) : ($(".credit-cell").css("visibility", ""), $(".debit-cell").css("visibility", "hidden"))),
        t || (e ? ($(".credit-cell").css("visibility", "hidden"), $(".debit-cell").css("visibility", "")) : ($(".credit-cell").css("visibility", ""), $(".debit-cell").css("visibility", "")))
    },
    this.filter = function (e, t, a, o) {
        var i = $("div[data-type-table-merchant=" + o + "]");
        $(".section").find("tbody")[0].innerHTML = "";
        var s = [];
        return s = r.geStoresByName(e, n),
        s = r.getStoresByPlace(t, a, s),
        r.addElementsToTable(s, i, 0, 10),
        s
    },
    this.extraFilter = function (e) {
        const t = Object.create({
            physical: $(".type-checkboxes").find("#physical").prop("checked"),
            online: $(".type-checkboxes").find("#online").prop("checked"),
            credit: $(".checkbox-list").find("#credit").prop("checked"),
            debit: $(".checkbox-list").find("#debit").prop("checked"),
            allInstallments: $(".checkbox-list").find("#installment").prop("checked")
        }),
        a = Array.from($(".cards-list").find("input[type=checkbox]"));
        var n = [];
        a.forEach(function (e) {
            "all" != e.name && e.checked && n.push(e.name)
        });
        var i = r.filter($("input[name=name]").val(), $("select[name=city-selector").val(), $("input[name=address").val(), e);
        return i = r.getStoresByType($("select[name=type-selector]").val(), t, i),
        i = r.getStoresByAcceptedCards(n, i),
        i = r.getStoresByInstallmentPayments($("select[name=installments-selector]").val(), t, i),
        $(".section").find("tbody")[0].innerHTML = "",
        r.addElementsToTable(i, o, 0, 10),
        r.hideShowCards(),
        i
    },
    this.clearFilters = function () {
        $(".extra-filters-wrapper").find("select").val(""),
        $(".extra-filters-wrapper").find('input[type="checkbox"').each(function (e, t) {
            $(t).prop("checked", !1)
        }),
        $("#select-card-placeholder")[0].innerHTML = s,
        r.filtered = {}
    },
    this.populateSelector = function (e, a, n) {
        var o = [];
        switch (n) {
        case "City":
            o = $.map(e, function (e) {
                var t = e.RetailerCityName;
                return t = t.charAt(0).toUpperCase() + t.slice(1).toLowerCase()
            }).filter(function (e) {
                return !/\d/g.test(e) && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Novi Beograd".toLowerCase() && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Banovo brdo".toLowerCase() && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Zvezdara".toLowerCase() && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Mali mokri lug".toLowerCase() && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Beograd-strai grad".toLowerCase() && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Beograd-vozdovac".toLowerCase() && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Beograd-zemun".toLowerCase() && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Nis-novo selo".toLowerCase() && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Beograd-savski venac".toLowerCase() && e.toLowerCase() !== "Palic".toLowerCase() && e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase() !== "Zemun polje".toLowerCase()
            });
            break;
        case "Installment":
            o = r.defaultInstallments
        }
        o = Array.from(new Set(o)),
        "Installment" == n ? (o.sort(function (e, t) {
                return e < t ? -1 : e > t ? 1 : 0
            }), o.forEach(function (e, n) {
                $(a).append($('<option value="' + e + '">', {
                        index: e
                    }).text(t.MAX + " " + e + " " + r.installmentString(e)))
            })) : (o.sort(function (e, t) {
                var a = e.toUpperCase(),
                r = t.toUpperCase();
                return a < r ? -1 : a > r ? 1 : 0
            }), o.forEach(function (e, t) {
                $(a).append($('<option value="' + e + '">', {
                        index: e
                    }).text(e.toUpperCase()))
            }))
    },
    this.populateCardsSelector = function (e) {
        var t = [];
        e.forEach(function (e) {
            Array.from(e.Brand).forEach(function (e) {
                t.push(e)
            })
        }),
        t = [new Set(t)],
        t[0].forEach(function (e, t) {
            if (e.length > 1) {
                const a = document.createElement("label");
                a.for = e,
                a.classList.add("card");
                const r = document.createElement("input");
                r.type = "checkbox",
                r.name = e,
                r.id = e;
                const n = document.createElement("span");
                n.innerText = e,
                "DINA" == e && (n.innerText = "DinaCard"),
                "Amex" == e && (n.innerText = "American Express"),
                a.append(r),
                a.append(n),
                $(".cards-list").append(a)
            }
        }),
        $(".cards-list input").click(function () {
            var e = $(this);
            if ($(this).prop("checked")) {
                Array.from($(".cards-list").find("input[type=checkbox]")).forEach(function (t) {
                    e.attr("id") != $(t).attr("id") && $(t).prop("checked", !1)
                })
            }
        })
    },
    this.populateTypeSelector = function (e, t) {
        var r = [],
        n = [],
        o = [];
        e.forEach(function (e) {
            n.push(e.MCC)
        }),
        n = Array.from(new Set(n)),
        n.forEach(function (e, t) {
            var i = [];
            if (label = a["" + e], i.push(e), n.forEach(function (e, t) {
                    label == a["" + e] && -1 == $.inArray(e, i) && i.push(e)
                }), "" != label && null != label && -1 == $.inArray(label, o)) {
                o.push(label);
                var s = [];
                s.push(label),
                s.push(i),
                r.push(s)
            }
        }),
        r.sort();
        for (var i = 0; i < r.length; i++)
            $(t).append($('<option value="' + r[i][1] + '">', {
                    index: i
                }).text(r[i][0]))
    },
    this.sortByRelevance = function () {
        function e(t, a) {
            return t.length ? a.length ? Math.min(e(t.substring(1), a) + 1, e(a.substring(1), t) + 1, e(t.substring(1), a.substring(1)) + (t[0] !== a[0] ? 1 : 0)) : t.length : a.length
        }
        return function (t, a) {
            return t.sort(function (t, r) {
                return e(t, a) - e(r, a)
            })
        }
    },
    this.populateInput = function (e, t) {
        var a;
        a = "Name" == t ? $.map(e, function (e) {
            return {
                name: e.RetailerName1
            }
        }) : $.map(e, function (e) {
            return {
                name: e.RetailerAddressLine1
            }
        });
        var r = {
            data: a,
            getValue: "name",
            list: {
                match: {
                    enabled: !0,
                    method: function (e, t) {
                        const a = e.normalize("NFD").replace(/[\u0300-\u036f]/g, ""),
                        r = t.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
                        var n = r,
                        o = new RegExp("\\b" + n + "\\b", "g"),
                        i = !1;
                        return o.test(a) ? i = !0 : a.indexOf(r) >= 0 && (a.charAt(a.indexOf(r) - 1).match(/[a-zA-Z]/i) || (console.log("filtered name " + r), i = !0)),
                        i
                    }
                },
                sort: {
                    enabled: !0,
                    method: function (e, t) {
                        return console.log(e.name + " " + t.name),
                        e.name.length - t.name.length
                    }
                }
            },
            theme: "square",
            highlightPhrase: !1
        };
        "Name" == t ? $("#store-name").easyAutocomplete(r) : $("#store-address").easyAutocomplete(r)
    },
    this.populate = function (e) {
        r.populateSelector(e, "select[name=city-selector]", "City"),
        r.populateSelector(e, "select[name=installments-selector]", "Installment"),
        r.populateCardsSelector(e),
        r.populateTypeSelector(e, "select[name=type-selector]"),
        r.populateInput(e, "Name"),
        r.populateInput(e, "Address"),
        $("#filter-container").find("select").val("")
    },
    this.repopulateSelector = function (e, a) {
        $(a).empty(),
        e.forEach(function (e, n) {
            $(a).append($('<option value="' + e + '">', {
                    index: e
                }).text(t.MAX + " " + e + " " + r.installmentString(e.InstNoMax)))
        }),
        $(a).prepend($('<option selected disabled value="">').text(t.NUMBEROFINSTALLMENTS))
    },
    $("#search, #apply-filters").click(function () {
        var e = $("div[data-type-table-merchant]").attr("data-type-table-merchant"),
        t = $("div[data-type-table-merchant=" + e + "]"),
        a = $("input[name=name]").val(),
        o = $("select[name=city-selector").val(),
        i = $("input[name=address").val();
        $(".section").find("tbody")[0].innerHTML = "",
        "" == a && "" == o && "" == i ? r.addElementsToTable(n, t, 0, 10) : r.filtered = JSON.stringify(r.filter(a, o, i, e)),
        r.filtered = JSON.stringify(r.extraFilter(e)),
        $(".merchant-table")[0].scrollIntoView({
            block: "nearest",
            behavior: "smooth"
        })
    }),
    $("#show-extra").click(function () {
        $(".extra-filters-wrapper").toggle(),
        $(".icon-ic_filter").toggleClass("icn_white"),
        $("#show-extra").toggleClass("icn_btn_white"),
        screen.width <= 769 && $(".extra-filters-wrapper")[0].scrollIntoView({
            block: "nearest",
            behavior: "smooth"
        }),
        $(this).hasClass("icn_btn_white") ? $("#search").hide() : $("#search").show()
    }),
    $("#load-more").click(function () {
        var e = $("div[data-type-table-merchant]").attr("data-type-table-merchant"),
        t = $("div[data-type-table-merchant=" + e + "]"),
        a = $("tbody").find("tr").length;
        r.filtered != {}
         ? (r.addElementsToTable(JSON.parse(r.filtered), t, a, a + 10), r.hideShowCards()) : r.addElementsToTable(n, t, a, a + 10)
    }),
    $("#multi-selector").click(function (e) {
        $(".card-list").toggle()
    }),
    $("#installment:checkbox").change(function () {
        this.checked ? (r.repopulateSelector(r.creditArr, "select[name=installments-selector]"), $("#credit").prop("checked", !1), $("#debit").prop("checked", !1)) : ($("#credit").prop("checked", !1), $("#debit").prop("checked", !1))
    }),
    $("#credit:checkbox").change(function () {
        $("#debit").prop("checked");
        this.checked && ($("#installment").prop("checked", !1), $("#debit").prop("checked", !1)),
        this.checked ? r.repopulateSelector(r.creditArr, "select[name=installments-selector]") : r.repopulateSelector(r.debitArr, "select[name=installments-selector]")
    }),
    $("#debit:checkbox").change(function () {
        $("#credit").prop("checked");
        this.checked && ($("#installment").prop("checked", !1), $("#credit").prop("checked", !1)),
        this.checked ? r.repopulateSelector(r.debitArr, "select[name=installments-selector]") : r.repopulateSelector(r.creditArr, "select[name=installments-selector]")
    }),
    $(".cards-list").click(function () {
        try {
            var e = $(".cards-list").find("input:checked")[0].parentNode.innerText
        } catch (e) {
            console.log("empty node")
        }
        $("#select-card-placeholder")[0].innerHTML = void 0 != e ? e : s
    }),
    $(".select-field").click(function () {
        $(".cards-list").toggle()
    }),
    $(".type-checkboxes input").change(function () {
        0 == $(".type-checkboxes input:checked").length && ("physical" == $(this).attr("id") ? $("#online").prop("checked", !0) : $("#physical").prop("checked", !0))
    });
    var l = !1;
    window.onscroll = function () {
        screen.width <= 769 && window.pageYOffset > 1300 && 0 == l && ($("#mobile-rotate").show(), setTimeout(function () {
                $("#mobile-rotate").hide()
            }, 3500), l = !0)
    },
    $(document).mouseup(function (e) {
        var t = $(".cards-list");
        t.is(e.target) || 0 !== t.has(e.target).length || t.hide()
    })
}, Intesa.MerchantList.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.merchantList || (window.intesa.merchantList = new Intesa.MerchantList),
    window.intesa.merchantList
};
var Intesa = Intesa || {};
Intesa.Bid = function () {
    var e,
    t = this,
    a = $("div[data-type-table]"),
    r = $("#bid-json");
    this.init = function () {
        e = a.clone(),
        $(a).each(function (e) {
            var a = $(this),
            r = a.attr("data-type-table");
            "tableSurface" == r && t.createTable(r, "")
        })
    },
    this.createTable = function (e, t) {
        console.log($("div[data-type-table]").length);
        var a = $("div[data-type-table=" + e + "]"),
        r = $("#bid-json").val();
        if ("" != r) {
            var n = JSON.parse(r);
            if (null != n.bids.HRK && delete n.bids.HRK, "" != t) {
                $(".-js-date-exchange-valid-" + e).text($("#" + t).val());
                var o = new Date,
                i = new Date($("#" + t).val().split(".")[2], $("#" + t).val().split(".")[1] - 1, $("#" + t).val().split(".")[0]);
                i.setDate(i.getDate() - 1);
                var s = "" + (i.getMonth() + 1),
                l = "" + i.getDate(),
                c = i.getFullYear();
                $(".-js-date-exchange-established").text([l, s, c].join("."))
            } else {
                var o = new Date,
                u = "" + (o.getMonth() + 1),
                d = "" + o.getDate(),
                m = o.getFullYear(),
                i = new Date;
                i.setDate(o.getDate() - 1);
                var s = "" + (i.getMonth() + 1),
                l = "" + i.getDate(),
                c = i.getFullYear();
                u.length < 2 && (u = "0" + u),
                d.length < 2 && (d = "0" + d),
                s.length < 2 && (s = "0" + s),
                l.length < 2 && (l = "0" + l),
                $(".-js-date-exchange-valid-" + e).text([d, u, m].join(".")),
                $(".-js-date-exchange-established").text([l, s, c].join("."))
            }
            var p = (a.clone(), a.find("ul.tbl2__highlist")),
            h = p.find("li.tbl2__highlistItem"),
            g = h.find("ul.tbl__highlist"),
            f = g.find("li.tbl__highlistItem"),
            v = a.find(".tbl2__head__highlist"),
            y = v.find(".tbl__highlistItem").length,
            b = v.find("ul.tbl__highlist"),
            C = b.find("li.tbl__highlistItem");
            for (console.log(y), g.html(""), p.html(""), b.html(""), counter = 0; counter < Object.keys(n.bids).length; counter++) {
                var I = C.clone();
                I = '<li class="tbl__highlistItem"><span class="tbl__highlistValue"><strong>' + Object.keys(n.bids)[counter] + "</strong></span></li>",
                b.append(I)
            }
            for (var o = 0, n = JSON.parse($("#bid-json").val()), w = n.bids, S = 0; S < Object.keys(w).length; S++)
                if (6 != w[Object.keys(w)[S]].length)
                    for (var _ = 0; _ < w[Object.keys(w)[S]].length; _++) {
                        var T = [{
                                interestCode: "PBZON",
                                interestName: "bid O/N",
                                revalPeriod: 1,
                                revalUnit: "DAY",
                                currency: "EUR",
                                percentage: "",
                                currencyClause: "no"
                            }, {
                                interestCode: "PBZ1T",
                                interestName: "bid 1 tjedan",
                                revalPeriod: 1,
                                revalUnit: "WEEK",
                                currency: "EUR",
                                percentage: "",
                                currencyClause: "no"
                            }, {
                                interestCode: "PBZ1M",
                                interestName: "bid 1 mjesec",
                                revalPeriod: 1,
                                revalUnit: "MONTH",
                                currency: "EUR",
                                percentage: "",
                                currencyClause: "no"
                            }, {
                                interestCode: "PBZ3M",
                                interestName: "bid 3 mjeseca",
                                revalPeriod: 3,
                                revalUnit: "MONTH",
                                currency: "EUR",
                                percentage: "",
                                currencyClause: "no"
                            }, {
                                interestCode: "PBZ6M",
                                interestName: "bid 6 mjeseci",
                                revalPeriod: 6,
                                revalUnit: "MONTH",
                                currency: "EUR",
                                percentage: "",
                                currencyClause: "no"
                            }, {
                                interestCode: "PBZ1G",
                                interestName: "bid 1 godina",
                                revalPeriod: 12,
                                revalUnit: "MONTH",
                                currency: "EUR",
                                percentage: "",
                                currencyClause: "no"
                            }
                        ],
                        R = w[Object.keys(w)[S]][_].interestCode.split(w[Object.keys(w)[S]][_].currency.toUpperCase())[1];
                        if (R != T[_].interestCode ? (console.log("different ->" + R), cmdCheckUnit = T[_], cmdCheckUnit.currency = w[Object.keys(w)[S]][_].currency, cmdCheckUnit.interestCode = w[Object.keys(w)[S]][_].currency + R, w[Object.keys(w)[S]].splice(_, 0, cmdCheckUnit)) : console.log("same ->", R), 6 == w[Object.keys(w)[S]].length)
                            break
                    }
            for (n.bids = w, counter = 0; counter < Object.keys(n.bids).length; )
                $.each(n.bids[Object.keys(n.bids)[counter]], function (e, t) {
                    var a = h.clone(),
                    r = g.clone(),
                    i = "",
                    s = "";
                    $.each(n.bids, function (e, t) {
                        var a = f.clone();
                        i = "" != t[o].percentage ? t[o].percentage + " %" : "",
                        a.html('<span class="tbl__highlistLabel"></span><span class="tbl__highlistValue"><strong>' + i + "</strong></span>"),
                        r.append(a),
                        s = t[o].interestName.split("bid")[1].trim(),
                        "en" == $(document).find("html").attr("lang") && (s = s.replace("tjedan", "week").replace("tjedni", "weeks").replace("mjeseci", "months").replace("mjeseca", "months").replace("mjesec", "month").replace("dana", "days").replace("dan", "day").replace("godina", "year").replace("godine", "years"))
                    }),
                    a.find("div.tbl__textWrapper div.tbl__label").text(s),
                    a.find("div.tbl__textWrapper").append(r),
                    p.append(a),
                    o++,
                    counter++
                })
        }
    },
    this.formatNumber = function (e) {
        return Number(e).toFixed(6)
    },
    this.clearTable = function (t) {
        $(e).each(function (e) {
            $(this).attr("data-type-table") == t && ($("div[data-type-table=" + t + "]").html(""), $("div[data-type-table=" + t + "]").html($(this).html()))
        })
    },
    this.search = function (e, a, n) {
        var o = $("#" + a),
        i = (new Date, t.formatDate(t.formatSlashedDate(o.val().slice(0, 10).split(".").join("/")))),
        s = window.location.origin + $("#bid-url").val() + "&date=" + i;
        t.clearTable(n),
        t.getJsonAjaxControl(s, r, n, a, i, 0)
    },
    this.getJsonAjax = function (e, a, r, n) {
        console.log("invoked url: " + e),
        $.ajax({
            method: "GET",
            url: e
        }).done(function (e) {
            null != e && (console.log("----" + JSON.stringify(e) + "----"), $(a).val(JSON.stringify(e)), t.createTable(r, n))
        })
    },
    this.getJsonAjaxControl = function (e, a, n, o, i, s) {
        console.log("invoked url: " + e),
        $.ajax({
            method: "GET",
            url: e
        }).done(function (e) {
            if (null != e && 200 == JSON.parse(JSON.stringify(e)).statusCode) {
                console.log("----" + JSON.stringify(e) + "----");
                var a = ($("#" + o), new Date, window.location.origin + $("#bid-url").val() + "&date=" + i);
                t.clearTable(n),
                t.getJsonAjax(a, r, n, o)
            }
        })
    },
    this.formatDate = function (e) {
        var t = new Date(e),
        a = "" + (t.getMonth() + 1),
        r = "" + t.getDate(),
        n = t.getFullYear();
        return a.length < 2 && (a = "0" + a),
        r.length < 2 && (r = "0" + r),
        [n, a, r].join("-")
    },
    this.formatSlashedDate = function (e) {
        var t = e,
        a = t.split("/");
        return new Date(+a[2], a[1] - 1, +a[0]).toDateString()
    }
}, Intesa.Bid.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.bid || (window.intesa.bid = new Intesa.Bid),
    window.intesa.bid
};
var Intesa = Intesa || {};
Intesa.ComparingTool = function () {
    var e,
    t,
    a,
    r = this,
    n = navigator.userAgent.toLowerCase() || navigator.vendor.toLowerCase() || window.opera.toLowerCase();
    this.init = function () {
        if (e = $(".comparing-cell > p"), t = $(".mobile-compare table")[0], a = $(".cardCompare-group a")[0], $(document).on("click", ".cardCompare-group a", function () {
                $(t).fadeOut();
                for (var e = $(".cardCompare-group a"), r = $(this).attr("id"), n = 0; n < e.length; n++)
                    r == e[n].id && ($(a).removeClass("active"), t = $(".mobile-compare table")[n], a = e[n], $(a).addClass("active"));
                    $(t).fadeIn()
                }), $(".cardLink").on("click", function () {
                    var e = $(this).attr("link");
                    console.log(e),
                    $("#CardComparingModal").modal("show"),
                    $("#CardComparingModal").find("#modal_subtitle_confirm_gdpr").removeClass("hide"),
                    $("#CardComparingModal").find("#modal_subtitle_error_gdpr").addClass("hide"),
                    $("#CardComparingModal").find("#modal_subtitle_tooManyerror_gdpr").addClass("hide"),
                    $("#CardComparingModal").find(".modal-body").show(),
                    $("#CardComparingModal").find(".modal-footer-custom").show(),
                    $("#CardComparingModal").find(".modal-footer-custom-confirm").addClass("hide")
                }), 0 != $(".comparingTool").length) {
                switch (i) {
                case "GOOGLE_STORE":
                    o = $("[name=linkToAndroidStore]").attr("value");
                    break;
                case "APPLE_STORE":
                    o = $("[name=linkToIOSStore]").attr("value");
                    break;
                case "HUAWEI_STORE":
                    o = $("[name=linkToHuaweiStore]").attr("value")
                }
                var n = window.location.href.split("?")[0] + "?android=" + $("[name=linkToAndroidStore]").attr("value") + "&ios=" + $("[name=linkToIOSStore]").attr("value") + "&huawei=" + $("[name=linkToHuaweiStore]").attr("value"),
                n = new QRious({
                    element: document.getElementById("qr-modal-bottom"),
                    value: n
                });
                n.set({
                    background: "white",
                    backgroundAlpha: 1,
                    foreground: "black",
                    foregroundAlpha: 1,
                    level: "H",
                    padding: null,
                    size: 225
                });
                var o,
                i = r.getMobileStore();
                $(".header-card a").each(function () {
                    $(this).attr("href", o)
                }),
                console.log("Intesa.RedirectToRightStore - END "),
                screen.width < 768 && setTimeout(function () {
                    var e = function (e) {
                        var t = e.getBoundingClientRect(),
                        a = window.pageXOffset || document.documentElement.scrollLeft,
                        r = window.pageYOffset || document.documentElement.scrollTop;
                        return {
                            top: t.top + r,
                            left: t.left + a
                        }
                    }
                    (document.querySelector(".cardCompare-group")),
                    t = $(".cardCompare-group").height(),
                    a = t + e.top + $(".mobile-compare > .for_table > .col-24").height();
                    $(window).scroll(function (t) {
                        var r = $(".cardCompare-group");
                        r.css("position");
                        $(this).scrollTop() < e.top || $(this).scrollTop() > a ? (r.css({
                                position: "static"
                            }), $(".mobile-compare > .for_table").css({
                                "margin-top": "0px"
                            })) : (r.css({
                                position: "fixed"
                            }), $(".mobile-compare > .for_table").css({
                                "margin-top": "120px"
                            }))
                    })
                }, 800)
            }
    },
    this.mobileCheck = function () {
        var e = !1;
        return function (t) {
            (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0, 4))) && (e = !0)
        }
        (navigator.userAgent || navigator.vendor || window.opera),
        e
    },
    this.iOS = function () {
        return ["iPad Simulator", "iPhone Simulator", "iPod Simulator", "iPad", "iPhone", "iPod"].includes(navigator.platform) || navigator.userAgent.includes("Mac") && "ontouchend" in document
    },
    this.isHuaweiDevice = function () {
        return navigator.usertAgentData.brands.forEach(function (e) {
            if (void 0 != e.brand && e.brand.toLowerCase().includes("huawei"))
                return !0
        })
    },
    this.getMobileStore = function () {
        var e = n.match(/"ALP-"|"AMN-"|"ANE-"|"AN,G-"|"AQM-"|"ARS-"|"ART-"|"ATU-"|"BAC-"|"BLA-"|"BRQ-"|"CAG-"|"CAM-"|"CAN-"|"CAZ-"|"CDL-"|"CLT-"|"CRO-"|"CUN-"|"DIG-"|"DRA-"|"DUA-"|"DUB-"|"DVC-"|"ELE-"|"EML-"|"EVA-"|"EVR-"|"FIG-"|"FLA-"|"FRL-"|"GLK-"|"HMA-"|"HW-"|"HWI-"|"INE-"|"JAT-"|"JKM-"|"JSC-"|"LDN-"|"LON-"|"LUA-"|"LYA-"|"LYO-"|"MAR-"|"MED-"|"MHA-"|"MLA-"|"MRD-"|"MYA-"|"NCE-"|"NEO-"|"NOH-"|"NOP-"|"OCE-"|"PAR-"|"PIC-"|"POT-"|"PPA-"|"PRA-"|"RNE-"|"SEA-"|"SLA-"|"SNE-"|"SPN-"|"STK-"|"TET-"|"TRT-"|"VCE-"|"VIE-"|"VKY-"|"VNS-"|"VOG-"|"VTR-"|"WAS-"|"WKG-"|"WLZ-"|"YAL"/i);
        if (!r.mobileCheck())
            return "default";
        var t = void 0 != navigator.usertAgentData;
        return r.iOS() ? "APPLE_STORE" : t ? (isHuaweiDevice = redirectToRightStore.isHuaweiDevice(), isHuaweiDevice ? e ? (console.log("detected huawei with GMS"), "GOOGLE_STORE") : (console.log("detected huawei without GMS"), "HUAWEI_STORE") : void 0) : n.includes("huawei") ? e ? (console.log("detected huawei with GMS"), "GOOGLE_STORE") : (console.log("detected huawei without GMS"), "HUAWEI_STORE") : "GOOGLE_STORE"
    }
}, Intesa.ComparingTool.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.ComparingTool || (window.intesa.ComparingTool = new Intesa.ComparingTool),
    window.intesa.ComparingTool
};
var Intesa = Intesa || {};
Intesa.CreateLink = function () {
    console.log("stealth links pre init"),
    this.init = function () {
        console.log("creating stealth links")
    },
    this.createLink = function (e, t) {
        window.location.href = e + "@" + t
    }
}, Intesa.CreateLink.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.create_link || (window.intesa.create_link = new Intesa.CreateLink),
    window.intesa.create_link
};
var Intesa = Intesa || {};
Intesa.CurrencyConverter = function () {
    var e = this,
    t = "",
    a = {},
    r = null,
    n = null,
    o = $("[data-bank]").attr("data-bank");
    if ($("[data-url-fortimedate]").length > 0 && (t = $("[data-url-fortimedate]").attr("data-url-fortimedate")), e.localCurrencyLbl = "", e.numeralDecimalScale = 2, t)
        try {
            $.ajax({
                url: t,
                success: function (t) {
                    if (e.cJson = t, null === t)
                        e.cJson = JSON.parse("{}"), console.error("The currency service is null");
                    else {
                        if ("ISPBIH" == o) {
                            var a = {
                                rates: []
                            };
                            t.rates.forEach(function (e, t) {
                                a.rates[t] = JSON.parse('{"buyRateCash": {"currencyFrom": {"code": "977", "label": "BAM", "localizedLabel": "BAM"}, "currencyTo": {"code": "' + e.currencyCode + '", "label": "' + e.currencyName + '", "localizedLabel": "' + e.currencyName + '"}, "rate": ' + e.buyingRate + ', "units": ' + e.unit + '}, "defined": "' + e.defined + '", "fromCurrency": {"code": "977", "label": "BAM", "localizedLabel": "BAM"}, "institiution": "ISPBIH", "meanRate": {"currencyFrom": {"code": "977", "label": "BAM", "localizedLabel": "BAM"}, "currencyTo": {"code": "' + e.currencyCode + '", "label": "' + e.currencyName + '", "localizedLabel": "' + e.currencyName + '"}, "rate": ' + e.midRate + ', "units": ' + e.unit + '}, "sellingRateCash": {"currencyFrom": {"code": "977", "label": "BAM", "localizedLabel": "BAM"}, "currencyTo": {"code": "' + e.currencyCode + '", "label": "' + e.currencyName + '", "localizedLabel": "' + e.currencyName + '"}, "rate": ' + e.sellingRate + ', "units": ' + e.unit + '}, "buyRate": {"currencyFrom": {"code": "977", "label": "BAM", "localizedLabel": "BAM"}, "currencyTo": {"code": "' + e.currencyCode + '", "label": "' + e.currencyName + '", "localizedLabel": "' + e.currencyName + '"}, "rate": ' + e.buyingRateForeign + ', "units":' + e.unit + '}, "sellingRate": {"currencyFrom": {"code": "977", "label": "BAM", "localizedLabel": "BAM"}, "currencyTo": {"code": "' + e.currencyCode + '", "label": "' + e.currencyName + '", "localizedLabel": "' + e.currencyName + '"}, "rate": ' + e.sellingRateForeign + ', "units":' + e.unit + '}, "toCurrency":  {"code": "' + e.currencyCode + '", "label": "' + e.currencyName + '", "localizedLabel": "' + e.currencyName + '"}, "validFromDate": "' + e.validFromDate + '"}')
                            }),
                            e.cJson = a
                        }
                        if ($("[data-cash-no-cash-currency]").length > 0) {
                            var r = $('[data-cash-no-cash-currency="converterCurrencyDefault"]').val();
                            if ($('[data-cash-no-cash-currency="currenciesToAdd"]').length > 0) {
                                var n = 0,
                                i = 0,
                                s = !1;
                                "ISPBIH" == o && (i = 977),
                                e.cJson.rates.sort(function (e, t) {
                                    return parseInt(e.toCurrency.code) > parseInt(t.toCurrency.code) ? 1 : parseInt(e.toCurrency.code) < parseInt(t.toCurrency.code) ? -1 : 0
                                }),
                                e.cJson.rates.forEach(function (e) {
                                    "ISPBIH" == o && parseInt(e.toCurrency.code) > i && !s && ($('select[data-cash-no-cash-currency="toAmountCurrency"]').append(new Option(r, r)), $('select[data-cash-no-cash-currency="resultAmountFXCurrency"]').append(new Option(r, r)), $('select[data-cash-no-cash-currency="resultAmountCashCurrency"]').append(new Option(r, r)), $('select[data-cash-no-cash-currency="fromAmountCurrency"]').append(new Option(r, r)), s = !0, n += 1),
                                    $('select[data-cash-no-cash-currency="toAmountCurrency"]').append(new Option(e.toCurrency.label, e.toCurrency.label)),
                                    $('select[data-cash-no-cash-currency="resultAmountFXCurrency"]').append(new Option(e.toCurrency.label, e.toCurrency.label)),
                                    $('select[data-cash-no-cash-currency="resultAmountCashCurrency"]').append(new Option(e.toCurrency.label, e.toCurrency.label)),
                                    $('select[data-cash-no-cash-currency="fromAmountCurrency"]').append(new Option(e.toCurrency.label, e.toCurrency.label)),
                                    e.toCurrency.label == $("[data-cash-no-cash-currency=toAmountCurrencyDefault]").val() && ($('[data-cash-no-cash-currency="toAmountCurrency"] option')[n].selected = !0, $('[data-cash-no-cash-currency="resultAmountFXCurrency"] option')[n].selected = !0, $('[data-cash-no-cash-currency="resultAmountCashCurrency"] option')[n].selected = !0),
                                    e.toCurrency.label == $("[data-cash-no-cash-currency=fromAmountCurrencyDefault]").val() && ($('[data-cash-no-cash-currency="fromAmountCurrency"] option')[n].selected = !0),
                                    n += 1
                                }),
                                $('[data-cash-no-cash-currency="fromAmountCurrencyDefault"]').val() == r && ($('[data-cash-no-cash-currency="fromAmountCurrency"] option[value="' + r + '"]').get(0).selected = !0),
                                $('[data-cash-no-cash-currency="toAmountCurrencyDefault"]').val() == r && ($('[data-cash-no-cash-currency="toAmountCurrency"] option[value="' + r + '"]').get(0).selected = !0)
                            }
                            $('[data-cash-no-cash-currency="toAmountCurrency"]').trigger("change")
                        }
                        e.localCurrencyLbl = e.cJson.rates ? e.cJson.rates[0].fromCurrency.label : "",
                        "HRK" == e.localCurrencyLbl && (e.numeralDecimalScale = 6),
                        "VUB" == o && e.cJson.rates.forEach(function (e) {
                            $('select[name="selectedToCurrencyCode"]').append(new Option(e.toCurrency.label, e.toCurrency.label))
                        })
                    }
                }
            })
        } catch (t) {
            e.cJson = JSON.parse("{}"),
            console.error("The currency service is not responding")
        }
    this.getSettingsAndLabelsJsonData = function () {
        var e = $("#genericSettings");
        try {
            e.length && (a = JSON.parse(e.val()))
        } catch (e) {
            console.error("Settings JSON file invalid")
        }
    },
    this.init = function () {
        if (e.getSettingsAndLabelsJsonData(), e.formatMoneyInputs(), r = new RegExp("\\" + a.separator, "g"), n = new RegExp("\\" + a.decimal, "g"), $("[data-currency]").length > 0) {
            $("[data-currency]").on("input change", function () {
                var t = $("[data-currency=toAmount]").val(),
                a = $("[data-currency=toAmountCurrency] select").val(),
                i = $("[data-currency=fromAmount]").val();
                if ("VUB" == o)
                    var s = $("[data-currency=fromAmountCurrency]").text();
                else
                    var s = $("[data-currency=fromAmountCurrency] select").val();
                try {
                    t = parseFloat(t.replace(r, "").replace(n, ".")),
                    i = parseFloat(i.replace(r, "").replace(n, "."))
                } catch (e) {
                    t = 0,
                    i = 0,
                    console.error("TypeError: Unable to parse currency converter fromAmount/toAmount values")
                }
                void 0 !== t && void 0 !== a && void 0 !== i && void 0 !== s && ("toAmount" == $(this).attr("data-currency") ? e.calculateConversionToAmount(t, a, i, s) : e.calculateConversionFromAmount(t, a, i, s)),
                e.formatMoneyInputs()
            }),
            "BIB" == o && ($('select[name="selectedFromCurrencyCode"]').on("change", function (e) {
                    var t = $('select[name="selectedToCurrencyCode"]');
                    "RSD" != $(this).val() ? t.find("option[value=EUR_NET]").hide() : t.find("option[value=EUR_NET]").show()
                }), $('select[name="selectedToCurrencyCode"]').on("change", function (e) {
                    var t = $('select[name="selectedFromCurrencyCode"]');
                    "RSD" != $(this).val() ? t.find("option[value=EUR_NET]").hide() : t.find("option[value=EUR_NET]").show()
                }), $('select[name="selectedFromCurrencyCode"]').on("click", function (e) {
                    var t = $('select[name="selectedToCurrencyCode"]'),
                    a = t.attr("disabled");
                    void 0 !== a && !1 !== a && t.removeAttr("disabled"),
                    "EUR_NET" == $(this).val() && (t.val("RSD"), t.attr("disabled", "disabled"))
                }), $('select[name="selectedToCurrencyCode"]').on("click", function (e) {
                    var t = $('select[name="selectedFromCurrencyCode"]'),
                    a = t.attr("disabled");
                    void 0 !== a && !1 !== a && t.removeAttr("disabled"),
                    "EUR_NET" == $(this).val() && (t.val("RSD"), t.attr("disabled", "disabled"))
                }))
        }
        if ($("[data-cash-no-cash-currency]").length > 0) {
            $("[data-cash-no-cash-currency]").on("input change", function () {
                var t = $("[data-cash-no-cash-currency=fromAmount]").val(),
                a = $("[data-cash-no-cash-currency=toAmountCurrency]").val(),
                o = $("[data-cash-no-cash-currency=fromAmountCurrency]").val(),
                i = $("[data-cash-no-cash-currency=changeTypeCurrency]:checked").val();
                $("[data-cash-no-cash-currency='resultAmountFXCurrency']").val(a),
                $("[data-cash-no-cash-currency='resultAmountCashCurrency']").val(a);
                try {
                    t = parseFloat(t.replace(r, "").replace(n, "."))
                } catch (e) {
                    t = 0,
                    console.error("TypeError: Unable to parse currency converter fromAmount values")
                }
                void 0 !== a && void 0 !== t && void 0 !== o && void 0 !== i && e.calculateConversionCashNoCashAmount(a, t, o, i),
                e.formatMoneyInputs()
            })
        }
    },
    this.calculateConversionToAmount = function (t, r, n, i) {
        var s = 0,
        l = 0,
        c = 0;
        if (r !== i && "ISPSLOVENIA" != o && "VUB" != o && ("JPY" == i && (t *= 100), "JPY" == r && (t /= 100)),
            !$.isEmptyObject(e.cJson) && void 0 !== e.cJson.rates)
            if (r == i)
                s = t;
            else if (r == e.localCurrencyLbl) {
                for (var u = 0; u < e.cJson.rates.length; u++)
                    if (e.cJson.rates[u].toCurrency.label == i && e.cJson.rates[u].fromCurrency.label == r)
                        if (l = e.cJson.rates[u].sellingRate.rate, c = e.cJson.rates[u].meanRate.rate, "ISPSLOVENIA" == o || "PBZ" == o)
                            s = (t * l).toFixed(e.numeralDecimalScale);
                        else if ("VUB" == o)
                            s = (t * c).toFixed(e.numeralDecimalScale);
                        else if (console.log("condizione per banca bib " + o == "BIB" && i != e.localCurrencyLbl && r == e.localCurrencyLbl), "BIB" == o && i != e.localCurrencyLbl && r == e.localCurrencyLbl) {
                            var d = e.cJson.rates[u].buyRate.rate;
                            s = (t / d).toFixed(e.numeralDecimalScale)
                        } else
                            s = (t / l).toFixed(e.numeralDecimalScale)
            } else {
                for (var u = 0; u < e.cJson.rates.length; u++)
                    if (e.cJson.rates[u].toCurrency.label == r && e.cJson.rates[u].fromCurrency.label == e.localCurrencyLbl) {
                        var d = e.cJson.rates[u].buyRate.rate;
                        c = e.cJson.rates[u].meanRate.rate,
                        "BIB" == o && ("BIB" == o && i == e.localCurrencyLbl && r != e.localCurrencyLbl ? (d = e.cJson.rates[u].sellingRate.rate, s = (t * d).toFixed(e.numeralDecimalScale)) : d = e.cJson.rates[u].meanRate.rate),
                        s = "ISPSLOVENIA" == o || "PBZ" == o ? t / d : "VUB" == o ? t / c : t * d
                    }
                for (var m = 0; m < e.cJson.rates.length; m++)
                    e.cJson.rates[m].toCurrency.label == i && e.cJson.rates[m].fromCurrency.label == e.localCurrencyLbl && (l = e.cJson.rates[m].sellingRate.rate, c = e.cJson.rates[m].meanRate.rate, s = "ISPSLOVENIA" == o || "PBZ" == o ? (s * l).toFixed(e.numeralDecimalScale) : "VUB" == o ? (s * c).toFixed(e.numeralDecimalScale) : (s / l).toFixed(e.numeralDecimalScale))
            }
        "," == a.decimal && (s = s.toString().replace(/\./g, ",")),
        $('[data-currency="fromAmount"]').val(s)
    },
    this.calculateConversionFromAmount = function (t, r, n, i) {
        var s = 0,
        l = 0;
        if (r !== i && "ISPSLOVENIA" != o && "VUB" != o && ("JPY" == i && (n /= 100), "JPY" == r && (n *= 100)), !$.isEmptyObject(e.cJson) && void 0 !== e.cJson.rates)
            if (r == i)
                s = n;
            else if (i == e.localCurrencyLbl)
                for (var c = 0; c < e.cJson.rates.length; c++)
                    e.cJson.rates[c].toCurrency.label == r && e.cJson.rates[c].fromCurrency.label == i && (l = e.cJson.rates[c].sellingRate.rate, meanRate = e.cJson.rates[c].meanRate.rate, s = "ISPSLOVENIA" == o || "PBZ" == o ? (n * l).toFixed(e.numeralDecimalScale) : "VUB" == o ? (n * meanRate).toFixed(e.numeralDecimalScale) : (n / l).toFixed(e.numeralDecimalScale));
            else {
                for (var c = 0; c < e.cJson.rates.length; c++)
                    if (e.cJson.rates[c].toCurrency.label == i && e.cJson.rates[c].fromCurrency.label == e.localCurrencyLbl) {
                        var u = e.cJson.rates[c].buyRate.rate;
                        meanRate = e.cJson.rates[c].meanRate.rate,
                        "BIB" == o && (u = e.cJson.rates[c].meanRate.rate),
                        "ISPSLOVENIA" == o || "PBZ" == o ? s = n / u : "VUB" == o ? s = n / meanRate : (console.log("condizione per banca bib " + o == "BIB" && i != e.localCurrencyLbl && r == e.localCurrencyLbl), "BIB" == o && i != e.localCurrencyLbl && r == e.localCurrencyLbl ? (u = e.cJson.rates[c].buyRate.rate, s = (n * u).toFixed(e.numeralDecimalScale)) : s = n * u)
                    }
                for (var d = 0; d < e.cJson.rates.length; d++)
                    e.cJson.rates[d].toCurrency.label == r && e.cJson.rates[d].fromCurrency.label == e.localCurrencyLbl && (l = e.cJson.rates[d].sellingRate.rate, meanRate = e.cJson.rates[d].meanRate.rate, s = "ISPSLOVENIA" == o || "PBZ" == o ? (s * l).toFixed(e.numeralDecimalScale) : "VUB" == o ? (s * meanRate).toFixed(e.numeralDecimalScale) : (s / l).toFixed(e.numeralDecimalScale))
            }
        "," == a.decimal && (s = s.toString().replace(/\./g, ",")),
        $('[data-currency="toAmount"]').val(s)
    },
    this.calculateConversionCashNoCashAmount = function (t, r, n, o) {
        var i = 0,
        s = 0,
        l = 0,
        c = 0,
        u = 0,
        d = 0,
        m = $("[data-cash-no-cash-currency=converterCurrencyDefault]").val();
        if (!$.isEmptyObject(e.cJson) && void 0 !== e.cJson.rates)
            if (t == n)
                u = r, d = r;
            else if (n == m)
                for (var p = 0; p < e.cJson.rates.length; p++)
                    e.cJson.rates[p].fromCurrency.label == n && e.cJson.rates[p].toCurrency.label == t && (l = e.cJson.rates[p].buyRate.rate, c = e.cJson.rates[p].buyRateCash.rate, i = e.cJson.rates[p].sellingRate.rate, s = e.cJson.rates[p].sellingRateCash.rate, unit = e.cJson.rates[p].buyRate.units, "buySelected" == o ? (u = null == l ? 0 : r / l, d = null == c ? 0 : r / c) : (u = null == i ? 0 : r / i, d = null == s ? 0 : r / s), u *= unit, d *= unit);
            else if (t == m)
                for (var p = 0; p < e.cJson.rates.length; p++)
                    e.cJson.rates[p].fromCurrency.label == t && e.cJson.rates[p].toCurrency.label == n && (l = e.cJson.rates[p].buyRate.rate, c = e.cJson.rates[p].buyRateCash.rate, i = e.cJson.rates[p].sellingRate.rate, s = e.cJson.rates[p].sellingRateCash.rate, unit = e.cJson.rates[p].buyRate.units, "buySelected" == o ? (u = null == i ? 0 : r * i, d = null == s ? 0 : r * s) : (u = null == l ? 0 : r * l, d = null == c ? 0 : r * c), u /= unit, d /= unit);
            else {
                var h,
                g;
                if ("buySelected" == o) {
                    for (var p = 0; p < e.cJson.rates.length; p++)
                        e.cJson.rates[p].fromCurrency.label == m && e.cJson.rates[p].toCurrency.label == t && (l = e.cJson.rates[p].buyRate.rate, c = e.cJson.rates[p].buyRateCash.rate, i = e.cJson.rates[p].sellingRate.rate, s = e.cJson.rates[p].sellingRateCash.rate, unit = e.cJson.rates[p].buyRate.units, h = null == l ? 0 : r / l, g = null == c ? 0 : r / c, h *= unit, g *= unit);
                    for (var f = 0; f < e.cJson.rates.length; f++)
                        e.cJson.rates[f].fromCurrency.label == m && e.cJson.rates[f].toCurrency.label == n && (l = e.cJson.rates[f].buyRate.rate, c = e.cJson.rates[f].buyRateCash.rate, i = e.cJson.rates[f].sellingRate.rate, s = e.cJson.rates[f].sellingRateCash.rate, unit = e.cJson.rates[f].buyRate.units, u = null == i ? 0 : h * i, d = null == s ? 0 : g * s, u /= unit, d /= unit)
                } else {
                    for (var p = 0; p < e.cJson.rates.length; p++)
                        e.cJson.rates[p].fromCurrency.label == m && e.cJson.rates[p].toCurrency.label == n && (l = e.cJson.rates[p].buyRate.rate, c = e.cJson.rates[p].buyRateCash.rate, i = e.cJson.rates[p].sellingRate.rate, s = e.cJson.rates[p].sellingRateCash.rate, unit = e.cJson.rates[p].buyRate.units, h = null == l ? 0 : r * l, g = null == c ? 0 : r * c, h /= unit, g /= unit);
                    for (var f = 0; f < e.cJson.rates.length; f++)
                        e.cJson.rates[f].fromCurrency.label == m && e.cJson.rates[f].toCurrency.label == t && (l = e.cJson.rates[f].buyRate.rate, c = e.cJson.rates[f].buyRateCash.rate, i = e.cJson.rates[f].sellingRate.rate, s = e.cJson.rates[f].sellingRateCash.rate, unit = e.cJson.rates[f].buyRate.units, u = null == i ? 0 : h / i, d = null == s ? 0 : g / s, u *= unit, d *= unit)
                }
            }
        u = u.toFixed(e.numeralDecimalScale),
        d = d.toFixed(e.numeralDecimalScale),
        "," == a.decimal && (u = u.toString().replace(/\./g, ","), d = d.toString().replace(/\./g, ",")),
        0 != u && "0" != u && "0.00" != u && "0,00" != u || (u = "-"),
        0 != d && "0" != d && "0.00" != d && "0,00" != d || (d = "-"),
        $('[data-cash-no-cash-currency="resultAmountFX"]').val(u),
        $('[data-cash-no-cash-currency="resultAmountCash"]').val(d)
    },
    this.formatMoneyInputs = function () {
        var t = $("*[data-format-currency]");
        t.length && t.each(function () {
            new Cleave($(this), {
                delimiter: a.separator,
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: e.numeralDecimalScale,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    }
}, Intesa.CurrencyConverter.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.currencyConverter || (window.intesa.currencyConverter = new Intesa.CurrencyConverter),
    window.intesa.currencyConverter
};
var Intesa = Intesa || {};
Intesa.DataLayer = function () {
    var e = this,
    t = !1;
    this.init = function () {
        window.dataLayer = window.dataLayer || [],
        e.replaceProductName(),
        e.attachPushDataClickEvent(),
        e.attachPushDataClickEventCallEmailFooter(),
        e.attachPushDataClickEventLoan(),
        e.attachPushDataClickEventFormBIB(),
        e.attachPushDataWithRedirectClickEvent(),
        e.attachPushDataChatClickEvent(),
        e.attachUpdateLoanOptionsPushDataClickEvent(),
        e.attachRemoveLoanClickEvent(),
        e.attachCom08EmailClickEvent()
    },
    this.attachCom08EmailClickEvent = function () {
        var e = $('[data-component="FakeTab"] + .tab-content [data-component="Com08"]');
        e.length && $(e).on("click", "a", function () {
            var e = $(this).attr("href");
            e = e.split(":");
            var t = "mailto" === e[0],
            a = e[1] ? e[1] : void 0;
            t && void 0 !== a && ("VUB" == $("html").attr("data-bank") || "ISPBIH" == $("html").attr("data-bank") ? window.dataLayer.push({
                    event: "service",
                    eventCategory: "email",
                    eventAction: "submit",
                    eventLabel: a
                }) : window.dataLayer.push({
                    event: "service",
                    serviceCat: "email",
                    serviceAction: "submit",
                    serviceLabel: a
                }))
        })
    },
    this.attachRemoveLoanClickEvent = function () {
        $(document).on("click", ".cart__summary__item--salary .cart__summary__item__remove", function () {
            e.updateLoanOptionsEvtAction()
        })
    },
    this.attachUpdateLoanOptionsPushDataClickEvent = function () {
        $(document).on("click", ".-js-loansItem__link", function () {
            e.removeLastActiveOption($(this)),
            e.updateLoanOptionsEvtAction()
        })
    },
    this.removeLastActiveOption = function (e) {
        var a = !1 !== t,
        r = e.attr("data-salary-code") !== t;
        if (a && r) {
            var n = $('[data-salary-code="' + t + '"]').attr("data-layer-push");
            n = JSON.parse(n),
            window.dataLayer.push(n)
        }
    },
    this.updateLoanOptionsEvtAction = function () {
        var e = $(".-js-loansItem__link").not(".-js-no-click"),
        a = !1;
        e.each(function () {
            var e = $(this),
            r = e.hasClass("itemActive"),
            n = e.attr("data-layer-push");
            n = JSON.parse(n),
            r ? (a = !0, n.evtAction = "removed from cart", t = e.attr("data-salary-code")) : n.evtAction = "added to cart",
            n = JSON.stringify(n),
            e.attr("data-layer-push", n)
        }),
        a || (t = !1)
    },
    this.replaceProductName = function () {
        var e = $("*[data-replace-name]");
        if (e.length) {
            var t = e.attr("data-layer-push");
            t = t.replace("<productName>", '"' + window.globalProductName + '"'),
            e.attr("data-layer-push", t)
        }
    },
    this.attachPushDataClickEvent = function () {
        $(document).on("click", "*[data-layer-push]", function () {
            var e = $(this).attr("data-layer-push");
            e = JSON.parse(e),
            window.dataLayer.push(e)
        })
    },
    this.attachPushDataClickEventLoan = function () {
        $(document).on("click", "*[data-layer-loan-calculator]", function () {
            var e = $(this).parents("[data-calculator]");
            if (1 === e.length) {
                var t,
                a = "BIB" == $("html").attr("data-bank"),
                r = "ISPBIH" == $("html").attr("data-bank");
                t = r ? '{"event": "calculator","eventCategory": "loan","eventAction": "[PLAN]","eventLabel": "submit","eventName": "loan calculator","loan_amount": "[AMOUNT]","currency_code": "[CURRENCY]","interest_type": "[TYPE]","loan_duration": "[DURATION]","with_mortgage": "[MORTGAGE]","salary_transfer": "[YES|NO]","monthly_installment": "[INSTALLMENT]","amount_to_repay": "[REPAY]","tenor": "[TENOR]","interest_rate": "[RATE]","aprc": "[APRC]","approval_cost": "[COST]","fee": "[FEE]"}' : '{"event": "loan_calculator","eventCategory": "loan calculator","eventAction": "[PLAN]","eventLabel": "submit","eventName": "submit","loan_amount": "[AMOUNT]","currency_code": "[CURRENCY]","interest_type": "[TYPE]","loan_duration": "[DURATION]","with_mortgage": "[MORTGAGE]","salary_transfer": "[YES|NO]","monthly_installment": "[INSTALLMENT]","amount_to_repay": "[REPAY]","tenor": "[TENOR]","interest_rate": "[RATE]","aprc": "[APRC]","approval_cost": "[COST]","fee": "[FEE]"}';
                var n = e.find(".open strong[data-layer-loan-amount]").text();
                n = a || r ? n.replace(",", "[P]").replaceAll(".", "").replace("[P]", ".").replace(/\s/g, "") : n.replace(/\s/g, "").replace(",", "."),
                n = parseFloat(n);
                var o = e.find("select[name='interestRateType']").val(),
                i = null != e.find("input[class='rangeslider rangeslider--2']").val() && "undefined" != e.find("input[class='rangeslider rangeslider--2']").val() ? e.find("input[class='rangeslider rangeslider--2']").val() : e.find("input[name='repaymentOptionsValue']").val(),
                s = e.find(".open").length > 0 && e.find(".open").get(0).hasAttribute("data-layer-loan-salary-transfer") ? "YES" : "NO",
                l = e.find("input[class='rangeslider rangeslider--2']").val();
                if (a || r) {
                    var c = e.find("input[class='rangeslider rangeslider--2']").val();
                    e.find(".open strong[data-layer-loan-tenor]").length > 0 && (c = e.find(".open strong[data-layer-loan-tenor]").text()),
                    l = c,
                    i = c
                }
                var u = "";
                if (e.find(".open strong[data-layer-loan-repay]").length > 1) {
                    var d = e.find(".open strong[data-layer-loan-repay]");
                    for (u = "", index = 0; index < d.length; ++index)
                        u = u + d[index].innerText + "|-|"
                } else
                    u = e.find(".open strong[data-layer-loan-repay]").text(), u = a ? u.replace(",", "[P]").replaceAll(".", "").replace("[P]", ".").replace(/\s/g, "") : u.replace(/\s/g, "").replace(",", "."), u = parseFloat(u);
                var m = "";
                if (e.find(".open strong[data-layer-loan-installment]").length > 1) {
                    var d = e.find(".open strong[data-layer-loan-installment]");
                    for (m = "", index = 0; index < d.length; ++index) {
                        var p = d[index].innerText;
                        (a || r) && (p = p.replace(",", "[P]").replaceAll(".", "").replace("[P]", ".").replace(/\s/g, "")),
                        m = m + p + "|-|"
                    }
                } else
                    m = e.find(".open strong[data-layer-loan-installment]").text(), m = a || r ? m.replace(",", "[P]").replaceAll(".", "").replace("[P]", ".").replace(/\s/g, "") : m.replace(/\s/g, "").replace(",", "."), m = parseFloat(m);
                var h = "";
                if (e.find(".open strong[data-layer-loan-rate]").length > 1) {
                    var d = e.find(".open strong[data-layer-loan-rate]");
                    for (h = "", index = 0; index < d.length; ++index)
                        h = h + d[index].innerText + "|-|"
                } else
                    h = e.find(".open strong[data-layer-loan-rate]").text(), h = a || r ? h.replace(",", "[P]").replaceAll(".", "").replace("[P]", ".").replace(/\s/g, "") : h.replace(/\s/g, "").replace(",", "."), h = parseFloat(h);
                var g = "";
                if (e.find(".open strong[data-layer-loan-aprc]").length > 1) {
                    var d = e.find(".open strong[data-layer-loan-aprc]");
                    for (index = 0; index < d.length; ++index)
                        g = g + d[index].innerText + "|-|"
                } else
                    g = e.find(".open strong[data-layer-loan-aprc]").text(), g = a || r ? g.replace(",", "[P]").replaceAll(".", "").replace("[P]", ".").replace(/\s/g, "") : g.replace(/\s/g, "").replace(",", "."), g = parseFloat(g);
                var f = e.find(".open strong[data-layer-loan-cost]").text();
                f = a || r ? f.replace(",", "[P]").replaceAll(".", "").replace("[P]", ".").replace(/\s/g, "") : f.replace(/\s/g, "").replace(",", "."),
                f = parseFloat(f);
                var v = e.find(".open strong[data-layer-loan-fee]").text();
                v = a || r ? v.replace(",", "[P]").replaceAll(".", "").replace("[P]", ".").replace(/\s/g, "") : v.replace(/\s/g, "").replace(",", "."),
                v = parseFloat(v);
                var y = e.find(".open").length > 0 && e.find(".open").get(0).hasAttribute("data-layer-mortgage") ? "YES" : "NO",
                b = e.find(".open").length > 0 && e.find(".open").get(0).hasAttribute("data-layer-loan-currency") ? e.find(".open").get(0).getAttribute("data-layer-loan-currency") : "";
                t = t.replace("[AMOUNT]", n),
                null != o && "undefined" != o && (t = t.replace("[TYPE]", o)),
                null != i && "undefined" != i && (t = t.replace("[DURATION]", i)),
                null != s && "undefined" != s && (t = t.replace("[YES|NO]", s)),
                null != m && "undefined" != m && (t = t.replace("[INSTALLMENT]", m)),
                null != u && "undefined" != u && (t = t.replace("[REPAY]", u)),
                null != l && "undefined" != l && (t = t.replace("[TENOR]", l)),
                null != h && "undefined" != h && (t = t.replace("[RATE]", h)),
                null != g && "undefined" != g && (t = t.replace("[APRC]", g)),
                null != f && "undefined" != f && (t = t.replace("[COST]", f)),
                null != v && "undefined" != v && (t = t.replace("[FEE]", v)),
                null != y && "undefined" != y && (t = t.replace("[MORTGAGE]", y)),
                null != b && "undefined" != b && (t = t.replace("[CURRENCY]", b));
                var C = e.find("input[name='typeloan']").val();
                null != C && "undefined" != C && (t = t.replace("[PLAN]", C));
                var t = JSON.parse(t);
                t.monthly_installment = parseFloat(t.monthly_installment),
                t.amount_to_repay = parseFloat(t.amount_to_repay),
                t.tenor = parseFloat(t.tenor),
                t.loan_duration = parseFloat(t.loan_duration),
                t.interest_rate = parseFloat(t.interest_rate),
                t.aprc = parseFloat(t.aprc),
                a && (t.approval_cost = 0),
                r && (t.approval_cost = 0, t.aprc = 0),
                t.approval_cost = parseFloat(t.approval_cost),
                t.fee = parseFloat(t.fee),
                window.dataLayer.push(t)
            }
        })
    },
    this.attachPushDataClickEventCallEmailFooter = function () {
        $(document).on("click", "*[data-layer-floating-call]", function () {
            var e = '{"event": "call_me_back","eventCategory": "contact us","eventAction": "call me back","eventLabel": "[BRANCH]","eventName": "call me back","call_back_time": "[TIME]"}',
            t = $("input[name='branch']").length > 0 ? $("input[name='branch']").get($("input[name='branch']").length - 1).value : "";
            null != t && "undefined" != t && (e = e.replace("[BRANCH]", t));
            var a = $("select[name='selectTime']").length > 0 ? $("select[name='selectTime']").val() : "";
            if (null != a && "undefined" != a && (e = e.replace("[TIME]", a)), null != a && "undefined" != a && null != t && "undefined" != t) {
                var e = JSON.parse(e);
                window.dataLayer.push(e)
            }
        }),
        $(document).on("click", "*[data-layer-calls]", function () {
            var e = '{"event": "contact_link","eventCategory": "contact_link","eventAction": "phone number","eventLabel": "[POSITION]","eventName": "contact_link","service":"[SERVICE]"}',
            t = $(this).attr("data-path-footer");
            null != t && "undefined" != t && (e = e.replace("[POSITION]", t));
            var a = $(this).attr("data-footer-menu_title");
            null != a && "undefined" != a && (e = e.replace("[SERVICE]", a));
            var e = JSON.parse(e);
            window.dataLayer.push(e)
        }),
        $(document).on("click", "*[data-layer-email]", function () {
            var e = '{"event": "contact_link","eventCategory": "contact_link","eventAction": "email","eventLabel": "[POSITION]","eventName": "contact_link"}',
            t = $(this).attr("data-path-footer");
            null != t && "undefined" != t && (e = e.replace("[POSITION]", t));
            var e = JSON.parse(e);
            window.dataLayer.push(e)
        })
    },
    this.attachPushDataClickEventFormBIB = function () {
        $(document).on("click", "*[data-layer-bib-push]", function () {
            var e = "",
            t = $("input[name='formType']").val();
            if (null != t && "undefined" != t)
                if ("CONTACTUS" === t) {
                    e = '{"event": "service","eventCategory": "contactus","eventAction": "submit","eventLabel": "[TOPIC]","eventName": "contact us"}';
                    var a = $("input[name='topicOption']").val();
                    null != a && "undefined" != a && (e = e.replace("[TOPIC]", a))
                } else if ("LEAVEAMESSAGE" === t)
                    e = '{"event": "service","eventCategory": "message","eventAction": "sumbit","eventName": "leave a message", "eventLabel": ""}';
                else if ("ANONYMCALLME" === t) {
                    if (e = '{"event": "service","eventCategory": "call me back","eventAction": "submit","eventLabel": "[BRANCH]","call_back_time": "[MORNING|AFTERNOON]"}', null != n && "undefined" != n && (e = e.replace("[BRANCH]", n)), $("select[name='selectTime']").length > 0) {
                        var r = $("select[name='selectTime']").val();
                        e = e.replace("[MORNING|AFTERNOON]", r)
                    }
                } else if ("ANONYMCALLMETOBOOKAPP" === t)
                    if ("VUB" != $("html").attr("data-bank")) {
                        e = '{"event": "service","eventCategory": "appointments","eventAction": "submit","eventLabel": "[BRANCH]","eventName": "book an appointment","time_preference": "[MORNING|AFTERNOON]","service": "[SERVICE]"}';
                        var n = $("input[name='branch']").val();
                        if (null != n && "undefined" != n && (e = e.replace("[BRANCH]", n)), $("input[name='radio']:checked").length > 0) {
                            var r = $("input[name='radio']:checked").get(0).value;
                            e = e.replace("[MORNING|AFTERNOON]", r)
                        }
                        var o = $("input[name='topicOption']").val();
                        null != o && "undefined" != o && (e = e.replace("[SERVICE]", o))
                    } else {
                        e = '{"event": "service","eventCategory": "appointments","eventAction": "submit","eventName": "book an appointment","branchname": "[BRANCH]"}';
                        var n = $("input[name='branch']").val();
                        null != n && "undefined" != n && (e = e.replace("[BRANCH]", n))
                    }
                else if ("COMPLAINTS_TICKETING_INDIVIDUAL" === t) {
                    e = '{"event": "service","eventCategory": "complaints","eventAction": "individuals complaint","eventLabel": "[SERVICE]","eventName": "individuals complaint","request_type": "[COMPLAIN|REQUEST]","complaint_details": "[DETAILS]"}';
                    var i = $("input[name='reasonOfRequest']").val();
                    i = i.split("|");
                    var o = i.length > 2 ? i[1] : "";
                    null != o && "undefined" != o && (e = e.replace("[SERVICE]", o));
                    var s = i.length > 2 ? i[2] : "";
                    null != s && "undefined" != s && (e = e.replace("[COMPLAIN|REQUEST]", s));
                    var l = $(".dz-details").length > 0 ? "YES" : "NO";
                    null != l && "undefined" != l && (e = e.replace("[DETAILS]", l))
                } else if ("COMPLAINTS_TICKETING_LEGAL_ENTITY" === t) {
                    e = '{"event": "service","eventCategory": "complaints","eventAction": "legal entities complaint","eventLabel": "[SERVICE]","eventName": "legal entities complaint","request_type": "[COMPLAIN|REQUEST]","complaint_details": "[DETAILS]"}';
                    var i = $("input[name='reasonOfRequest']").val();
                    i = i.split("|");
                    var o = i.length > 2 ? i[1] : "";
                    null != o && "undefined" != o && (e = e.replace("[SERVICE]", o));
                    var c = $(".for__tabItem.j-for__tabItem.ticketing.activeWhite").length > 0 ? $(".for__tabItem.j-for__tabItem.ticketing.activeWhite")[0].getAttribute("data-tab-value") : "",
                    s = null;
                    null != c && "undefined" != c && (c = c.split("|"), s = c.length > 0 ? c[0] : ""),
                    null != s && "undefined" != s && (e = e.replace("[COMPLAIN|REQUEST]", s));
                    var l = $(".dz-details").length > 0 ? "YES" : "NO";
                    null != l && "undefined" != l && (e = e.replace("[DETAILS]", l))
                } else if ("COMPLAINTS_PLATFORM" === t) {
                    e = '{"event": "track_request","eventCategory": "contact us","eventAction": "track_request","eventLabel": "[OUTCOME]","eventName": "track_request"}';
                    var u = "Request accepted";
                    e = e.replace("[OUTCOME]", u)
                }
            sessionStorage.setItem("jsonFormSubmit", e)
        }),
        $(document).ready(function () {
            var e = sessionStorage.getItem("jsonFormSubmit");
            if (sessionStorage.setItem("jsonFormSubmit", ""), $("div[data-success-data-layer]").length > 0) {
                var e = ($("input[name='formType']").val(), JSON.parse(e));
                window.dataLayer.push(e)
            }
        })
    },
    this.attachPushDataWithRedirectClickEvent = function () {
        $(document).on("click", "*[data-layer-push-redirect]", function (e) {
            e.preventDefault();
            var t = $(this).attr("data-layer-push-redirect");
            t = JSON.parse(t),
            window.dataLayer.push(t),
            window.location = $(this).attr("href")
        })
    },
    this.attachPushDataChatClickEvent = function () {
        if (!("VUB" == $("html").attr("data-bank") || $("#startChatBtn").length <= 0)) {
            var e = $("input[name='formType']").val(),
            t = "chat";
            document.getElementById("startChatBtn").addEventListener("click", function () {
                "ISPBIH" == $("html").attr("data-bank") ? (window.dataLayer = window.dataLayer || [], window.dataLayer.push({
                        event: "service",
                        eventCategory: "chat",
                        eventName: "chat",
                        eventAction: "submit",
                        eventLabel: window.dataLayer[0].pageName
                    })) : "VUB" != $("html").attr("data-bank") && (window.dataLayer = window.dataLayer || [], window.dataLayer.push({
                        event: "service",
                        serviceCat: "chat",
                        serviceAction: "chat",
                        serviceLabel: window.dataLayer[0].pageName
                    }))
            }),
            $(document).on("click", "#cmb__form button", function () {
                setTimeout(function () {
                    null != e && "undefined" != e && (t = "CONTACTUS" === e ? "contactus" : "LEAVEAMESSAGE" === e ? "message" : "ANONYMCALLME" === e ? "call me back" : "ANONYMCALLMETOBOOKAPP" === e ? "appointments" : "chat"),
                    $("#cmb__form").find(".filled").length <= 0 && "CIB" != $("html").attr("data-bank") && ("VUB" == $("html").attr("data-bank") ? window.dataLayer.push({
                            event: "service",
                            eventCategory: "chat",
                            eventAction: "submit"
                        }) : window.dataLayer.push({
                            event: "service",
                            serviceCat: t,
                            serviceAction: "submit",
                            serviceLabel: window.dataLayer[0].pageName
                        }))
                }, 500)
            }),
            $(document).on("click", "#cmb__form__retail button", function () {
                setTimeout(function () {
                    null != e && "undefined" != e && (t = "CONTACTUS" === e ? "contactus" : "LEAVEAMESSAGE" === e ? "message" : "ANONYMCALLME" === e ? "call me back" : "ANONYMCALLMETOBOOKAPP" === e ? "appointments" : "chat"),
                    $("#cmb__form__retail").find(".filled").length <= 0 && ("VUB" == $("html").attr("data-bank") ? window.dataLayer.push({
                            event: "service",
                            eventCategory: "chat",
                            eventAction: "submit"
                        }) : window.dataLayer.push({
                            event: "service",
                            serviceCat: t,
                            serviceAction: "submit",
                            serviceLabel: window.dataLayer[0].pageName
                        }))
                }, 500)
            }),
            $(document).on("click", "#cmb__form__business button", function () {
                setTimeout(function () {
                    null != e && "undefined" != e && (t = "CONTACTUS" === e ? "contactus" : "LEAVEAMESSAGE" === e ? "message" : "ANONYMCALLME" === e ? "call me back" : "ANONYMCALLMETOBOOKAPP" === e ? "appointments" : "chat"),
                    $("#cmb__form__business").find(".filled").length <= 0 && ("VUB" == $("html").attr("data-bank") ? window.dataLayer.push({
                            event: "service",
                            eventCategory: "chat",
                            eventAction: "submit",
                            eventLabel: window.dataLayer[0].pageName
                        }) : window.dataLayer.push({
                            event: "service",
                            serviceCat: t,
                            serviceAction: "submit",
                            serviceLabel: window.dataLayer[0].pageName
                        }))
                }, 500)
            })
        }
    }
}, Intesa.DataLayer.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.data_layer || (window.intesa.data_layer = new Intesa.DataLayer),
    window.intesa.data_layer
};
var Intesa = Intesa || {};
Intesa.DatePickerAppointment = function () {
    var e = this;
    this.init = function () {
        console.log("Component -> DatePickerAppointment"),
        e.changeElementToArab(),
        $("strong.pop1__value__strong.translate_arab").text(function (t, a) {
            return e.changeToArab(a.split(""))
        }),
        $(".translate_arab").length > 0 && $("table").keypress(function () {
            e.changeElementToArab()
        }),
        $(".translate_arab").length > 0 && $("table").keydown(function () {
            e.changeElementToArab()
        }),
        $(".translate_arab").length > 0 && $(".pull-right,.pull-left").on("click", function () {
            e.changeElementToArab()
        })
    },
    this.changeElementToArab = function () {
        $(".translate_arab").find(".day.selectable,.day.unselectable,.empty,.datepicker-month").each(function (e, t) {
            var a = ["۰", "۱", "۲", "۳", "٤", "٥", "٦", "۷", "۸", "۹"];
            if (console.log("change number to arab "), void 0 != $(t)[0])
                for (var r = 0; r < $(t)[0].childNodes.length; r++) {
                    for (var n = $(t)[0].childNodes[r].textContent.split(""), e = 0; e < n.length; e++)
                        parseFloat(n[e]) > -1 && (n[e] = a[n[e]]);
                    $(t)[0].childNodes[r].textContent = n.join("")
                }
        }),
        $(".translate_arab").find(".day.selectable,.day.unselectable,.empty").each(function () {
            var t = this,
            a = $(t).attr("title");
            a && $(t).attr("title", e.changeToArab(a.split("")))
        })
    },
    this.changeToArab = function (e) {
        for (var t = ["۰", "۱", "۲", "۳", "٤", "٥", "٦", "۷", "۸", "۹"], a = 0; a < e.length; a++)
            parseFloat(e[a]) > -1 && (e[a] = t[e[a]]);
        return e.join("")
    }
}, Intesa.DatePickerAppointment.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.date_picker_appointment || (window.intesa.date_picker_appointment = new Intesa.DatePickerAppointment),
    window.intesa.date_picker_appointment
}, $(document).ready(function () {
    function e(e) {
        for (var t = e; t < p; t++)
            document.querySelectorAll(".card_education__card")[t].classList.add("hidden")
    }
    function t(e) {
        for (var t = l; t < p && !(t >= l + e); t++)
            document.querySelectorAll(".card_education__card")[t].classList.remove("hidden");
        l += e,
        0 == document.querySelectorAll(".card_education__card.hidden").length && document.querySelector(".card_education__loadingMore").classList.add("hidden")
    }
    function a() {
        var e,
        t,
        a,
        r,
        n,
        o;
        for (e = document.getElementById("faqSearch"), t = e.value.toUpperCase(), a = document.querySelector(".card_education__cards_container"), r = a.getElementsByClassName("card_education__card"), o = 0; o < r.length; o++)
            n = r[o].innerText, n.toUpperCase().indexOf(t) > -1 ? r[o].style.display = "" : r[o].style.display = "none"
    }
    function r(e, t) {
        for (var a = o[t].querySelectorAll(".card_education__card").length, r = e; r < a; r++)
            o[t].querySelectorAll(".card_education__card")[r].classList.add("hidden")
    }
    function n(e, t) {
        var a = o[t].querySelectorAll(".card_education__card").length;
        l = o[t].querySelectorAll(".card_education__card").length - o[t].querySelectorAll(".card_education__card.hidden").length;
        for (var r = l; r < a && !(r >= l + e); r++)
            o[t].querySelectorAll(".card_education__card")[r].classList.remove("hidden");
        l += e,
        0 == o[t].querySelectorAll(".card_education__card.hidden").length && o[t].querySelector(".card_education__loadingMore").classList.add("hidden")
    }
    if (null != document.querySelector(".card_education__container")) {
        var o = document.querySelectorAll(".card_education__cards_container"),
        i = document.querySelectorAll(".card_education__cards_container").length,
        s = [];
        if (o = Array.prototype.slice.call(o), i > 1)
            for (var l = 0, c = 0; c < i; c++) {
                var u = (o[c].querySelectorAll(".card_education__card").length, window.matchMedia("(max-width: 480px)")),
                d = window.matchMedia("(max-width: 1080px)"),
                m = window.matchMedia("(max-width: 2560px)");
                u.matches ? (l = 3, r(3, c), null != o[c].querySelector(".card_education__loadingMore") && (s.push(c), s.length > 0 && s.forEach(function (e) {
                            o[e].querySelector(".card_education__loadingMore").addEventListener("click", function () {
                                n(1, e)
                            }),
                            s.shift()
                        }))) : d.matches ? (l = 4, r(4, c), null != o[c].querySelector(".card_education__loadingMore") && (s.push(c), s.length > 0 && s.forEach(function (e) {
                            o[e].querySelector(".card_education__loadingMore").addEventListener("click", function () {
                                n(2, e)
                            }),
                            s.shift()
                        }))) : m.matches && (l = 6, r(6, c), null != o[c].querySelector(".card_education__loadingMore") && (s.push(c), s.length > 0 && s.forEach(function (e) {
                            o[e].querySelector(".card_education__loadingMore").addEventListener("click", function () {
                                n(3, e)
                            }),
                            s.shift()
                        })))
            }
        else {
            var p = document.querySelectorAll(".card_education__card").length,
            l = 0,
            u = window.matchMedia("(max-width: 480px)"),
            d = window.matchMedia("(max-width: 1080px)"),
            m = window.matchMedia("(max-width: 2560px)");
            if (u.matches ? (l = 3, e(3), document.querySelectorAll(".card_education__card").length > 3 && document.querySelector(".card_education__loadingMore").addEventListener("click", function () {
                        t(1)
                    })) : d.matches ? (l = 4, e(4), document.querySelectorAll(".card_education__card").length > 4 && document.querySelector(".card_education__loadingMore").addEventListener("click", function () {
                        t(2)
                    })) : m.matches && (l = 6, e(6), document.querySelectorAll(".card_education__card").length > 6 && document.querySelector(".card_education__loadingMore").addEventListener("click", function () {
                        t(3)
                    })), 0 != document.querySelectorAll(".faqlist").length)
                for (var h = document.querySelectorAll(".faqlist"), g = 0; g < h.length; g++)
                    if (h[g].childElementCount > 5) {
                        console.log(g);
                        for (var c = 5; c < h[g].childElementCount; c++)
                            h[g].children[c].classList.add("hidden");
                        h[g].parentElement.querySelector(".faq_card_loadmore").classList.remove("hidden")
                    }
            0 != document.querySelectorAll(".faq_search_title").length && document.getElementById("faqSearch").addEventListener("keyup", function () {
                a()
            })
        }
    }
    if (null != document.querySelector(".related_faqs_cards")) {
        var f = document.querySelectorAll(".card_education__card.rel_faqs"),
        v = [];
        if (f = Array.prototype.slice.call(f), function () {
            for (g = 0; g < 3; g++)
                v.push(f.splice(Math.floor(Math.random() * f.length), 1));
                v[0][0].classList.remove("hide"),
                v[1][0].classList.remove("hide"),
                v[2][0].classList.remove("hide")
            }
                (), 0 != document.querySelectorAll(".faqlist_related").length)for (var h = document.querySelectorAll(".faqlist_related"), g = 0; g < h.length; g++)
                if (h[g].childElementCount > 5) {
                    console.log(g);
                    for (var c = 5; c < h[g].childElementCount; c++)
                        h[g].children[c].classList.add("hidden");
                    h[g].parentElement.querySelector(".faq_card_loadmore").classList.remove("hidden")
                }
    }
});
var origTables;
$(document).ready(function () {
    if ("CIB" == $("html").attr("data-bank")) {
        var e = $("div[data-type-tables]");
        origTables = e.clone(),
        $(e).each(function (e) {
            var t = $(this),
            a = t.attr("data-type-tables"),
            r = window.location.origin + $("#exchange-rates-" + a.toLowerCase() + "-endpoint").val();
            getJsonAjaxs(r, $("#exchange-rates-" + a.toLowerCase()), a)
        })
    }
}), setValidationDateInpage = function (e) {
    1 == $(".-js-date-exchange").length && $(".-js-date-exchange").html(moment(e.rates[0].validFromDate).locale("en").format("YYYY.MM.DD HH:mm"))
}, createTables = function (e) {
    var t = $("#data-label-ratio").val(),
    a = $("#data-label-sell").val(),
    r = $("#data-label-middle").val(),
    n = $("#data-label-buy").val(),
    o = $("#data-ecb-hiddend-column-buy").val(),
    s = $("#data-ecb-hiddend-column-sell").val(),
    l = $("#data-ecb-hiddend-column-middle").val(),
    u = $("#data-ecb-hiddend-column-ratio").val(),
    d = $("html").attr("lang"),
    m = $("#ecb-rates").val(),
    p = '{"0":{"' + m.slice(m.indexOf("Cube"));
    console.log($("div[data-type-tables]").length);
    var h = $("div[data-type-tables=STANDARD]"),
    g = $("#exchange-rates-standard").val(),
    f = JSON.parse(p);
    if (setValidationDateInpage(JSON.parse(g)), "" != g) {
        var v = JSON.parse(g),
        y = (h.clone(), h.find("ul.tbl2__highlist")),
        b = y.find("li.tbl2__highlistItem"),
        C = b.find("div.tbl__textWrapper"),
        I = C.find("ul.tbl__highlist"),
        w = I.find("li.tbl__highlistItem");
        console.log(5),
        I.html(""),
        y.html(""),
        $.each(v.rates, function (e, m) {
            var p = b.clone();
            console.log(m);
            var h = m,
            g = I.clone(),
            v = C.clone(),
            $ = "",
            S = "",
            _ = h.fromCurrency,
            T = _.label.toUpperCase(),
            R = h.toCurrency,
            A = R.label;
            if ("KWD" != A)
                for (i = 0; i < 5; i++) {
                    var k = w.clone();
                    switch (i) {
                    case 0:
                        if ($ = A, v.append('<div class="tbl__title" >' + $ + "</div>"), "hu" == d)
                            switch ($) {
                            case "AUD":
                                $ = "ausztrál dollár";
                                break;
                            case "CAD":
                                $ = "kanadai dollár";
                                break;
                            case "CHF":
                                $ = "svájci frank";
                                break;
                            case "CZK":
                                $ = "cseh korona";
                                break;
                            case "DKK":
                                $ = "dán korona";
                                break;
                            case "EUR":
                                $ = "euró";
                                break;
                            case "GBP":
                                $ = "brit font";
                                break;
                            case "HRK":
                                $ = "horvát kuna";
                                break;
                            case "JPY":
                                $ = "japán jen (100)";
                                break;
                            case "NOK":
                                $ = "norvég korona";
                                break;
                            case "PLN":
                                $ = "lengyel zloty";
                                break;
                            case "RON":
                                $ = "román lej";
                                break;
                            case "SEK":
                                $ = "svéd korona";
                                break;
                            case "USD":
                                $ = "USA-dollár"
                            }
                        else
                            switch ($) {
                            case "AUD":
                                $ = "Australian Dollar";
                                break;
                            case "CAD":
                                $ = "Canadian Dollar";
                                break;
                            case "CHF":
                                $ = "Swiss Franc";
                                break;
                            case "CZK":
                                $ = "Czech Koruna";
                                break;
                            case "DKK":
                                $ = "Danish Krone";
                                break;
                            case "EUR":
                                $ = "Euro";
                                break;
                            case "GBP":
                                $ = "Pound Sterling";
                                break;
                            case "HRK":
                                $ = "Croatian Kuna";
                                break;
                            case "JPY":
                                $ = "Yen";
                                break;
                            case "NOK":
                                $ = "Norwegian Krone";
                                break;
                            case "PLN":
                                $ = "Zloty";
                                break;
                            case "RON":
                                $ = "Romanian Leu";
                                break;
                            case "SEK":
                                $ = "Swedish Krona";
                                break;
                            case "USD":
                                $ = "US Dollar"
                            }
                        v.append('<div class="tbl__label" >' + $ + "</div>");
                        break;
                    case 1:
                        "false" == o ? ($ = h.buyRate.rate, S = n) : $ = "false";
                        break;
                    case 2:
                        "false" == l ? ($ = h.meanRate.rate, S = r) : $ = "false";
                        break;
                    case 3:
                        "false" == s ? ($ = h.sellingRate.rate, S = a) : $ = "false";
                        break;
                    case 4:
                        if ("false" == u) {
                            var x = [];
                            x = f[0].Cube.Cube.Cube;
                            var P = 0,
                            M = 0;
                            for (c = 0; c < x.length; c++)
                                x[c].currency == T && (M = x[c].rate, console.log(M)), x[c].currency == A && (P = x[c].rate, console.log(P));
                            $ = calculateRateFormulas(h.sellingRate.rate, M, P, A),
                            S = t
                        } else
                            $ = "false";
                        break;
                    default:
                        $ = ""
                    }
                    i >= 1 && "false" != $ && (k.html('<span class="tbl__highlistLabel">' + S + '</span><span class="tbl__highlistValue"><strong>' + $ + "</strong></span>"), g.append(k), v.append(g))
                }
            p.append(v),
            y.append(p)
        })
    }
}, calculateRateFormulas = function (e, t, a, r) {
    if (result = 0, console.log("esegue la formula "), "EUR" == r)
        result = 100 * (e / t - 1), console.log(result);
    else {
        if ("HUF" != r && "DKK" != r && "SEK" != r && "PLN" != r && "CZK" != r && "RON" != r && "HRK" != r && "NOK" != r && "CHF" != r)
            return "-";
        result = 100 * (e / (t / a) - 1),
        console.log(result)
    }
    return Number(result).toFixed(2) + "%"
}, clearTable = function (e) {
    $(origTables).each(function (t) {
        $(this).attr("data-type-tables") == e && ($("div[data-type-tables=" + e + "]").html(""), $("div[data-type-tables=" + e + "]").html($(this).html()))
    })
}, getJsonAjaxs = function (e, t, a) {
    console.log("invoked url: " + e),
    $.ajax({
        method: "GET",
        url: e
    }).done(function (e) {
        null != e && (console.log("----" + JSON.stringify(e) + "----"), $(t).val(JSON.stringify(e)), console.log("element :" + t), createTables(a))
    })
};
var origTables;
$(document).ready(function () {
    if ("PBZ" == $("html").attr("data-bank")) {
        var e = $("div[data-type-table]"),
        t = new Date,
        a = new Date("2023-01-01");
        origTables = e.clone(),
        $(e).each(function (e) {
            var r = $(this),
            n = r.attr("data-type-table"),
            o = "&refCurrency=";
            o += t < a ? "HRK" : "EUR";
            var i = window.location.origin + $("#exchange-rates-" + n.toLowerCase() + "-endpoint").val() + o;
            getJsonAjax(i, $("#exchange-rates-" + n.toLowerCase()), n, !1, "")
        })
    }
}), createTable = function (e, t, a) {
    var r = $("#ecb-rates").val(),
    n = $("#ecb-rates-archive").val(),
    o = '{"0":{"' + r.slice(r.indexOf("Cube")),
    s = '{"0":{"' + n.slice(r.indexOf("Cube"));
    console.log($("div[data-type-table]").length);
    var l = $("div[data-type-table=" + e + "]"),
    u = 0,
    d = $("#exchange-rates-" + e.toLowerCase()).val();
    if (t)
        var m = JSON.parse(s);
    else
        var m = JSON.parse(o);
    if ("" != d) {
        var p = JSON.parse(d),
        h = new Date(p.rates[0].validFromDate),
        g = new Date(p.rates[0].defined);
        if (("PBZ-ISSUING" == e || "PBZ-CARD-ISSUING" == e) && t)
            var h = new Date(p.rates[p.rates.length - 1].validFromDate), g = new Date(p.rates[p.rates.length - 1].defined);
        var f = h.getDate() + "." + (h.getMonth() + 1) + "." + h.getFullYear();
        $(".-js-date-exchange-valid-" + e).text(f);
        var v = g.getHours(),
        y = g.getMinutes();
        v < 10 && (v = "0" + v),
        y < 10 && (y = "0" + y);
        var b = g.getDate() + "." + (g.getMonth() + 1) + "." + g.getFullYear() + "; " + v + ":" + y;
        $(".-js-date-exchange-" + e).text(b);
        var C = (l.clone(), l.find("ul.tbl2__highlist")),
        I = C.find("li.tbl2__highlistItem"),
        w = I.find("ul.tbl__highlist"),
        S = w.find("li.tbl__highlistItem"),
        _ = l.find(".tbl2__head__highlist"),
        T = _.find(".tbl__highlistItem").length;
        w.html(""),
        C.html(""),
        "ATM-DCC" == e || "POS-DCC" == e ? $.each(p.rates, function (e, a) {
            var r = I.clone(),
            n = a,
            o = w.clone(),
            s = "",
            l = n.exRate.currencyFrom,
            d = l.label.toUpperCase(),
            p = n.exRate.currencyTo,
            h = p.label;
            for (i = 0; i < T; i++) {
                var g = S.clone();
                switch (i) {
                case 0:
                    s = d;
                    break;
                case 1:
                    s = l.code;
                    break;
                case 2:
                    s = n.exRate.units;
                    break;
                case 3:
                    s = formatNumber(n.exRate.rate);
                    break;
                case 4:
                    var f = [];
                    t ? (u = findEcbArchiveJsonIndex(m, n.validFromDate), f = m[0].Cube.Cube[u].Cube) : f = m[0].Cube.Cube.Cube;
                    var v = 0,
                    y = 0;
                    for (c = 0; c < f.length; c++)
                        f[c].currency == d && (y = f[c].rate), f[c].currency == h && (v = f[c].rate);
                    "EUR" === d && (y = 1),
                    s = calculateRateFormula(n.exRate.rate, v, y, h);
                    break;
                case 5:
                    s = p.code;
                    break;
                case 6:
                    s = p.label;
                    break;
                default:
                    s = ""
                }
                g.html('<span class="tbl__highlistLabel"></span><span class="tbl__highlistValue"><strong>' + s + "</strong></span>"),
                o.append(g)
            }
            r.append(o),
            C.append(r)
        }) : "PBZ-ISSUING" != e && "PBZ-CARD-ISSUING" != e || $.each(p.rates, function (a, r) {
            var n = I.clone(),
            o = r,
            s = o.fromCurrency,
            l = s.label,
            d = o.toCurrency,
            p = d.label,
            h = w.clone(),
            g = "";
            for (i = 0; i < T; i++) {
                var f = S.clone();
                if ("PBZ-ISSUING" == e)
                    switch (i) {
                    case 0:
                        g = t ? l : p;
                        break;
                    case 1:
                        g = t ? s.code : d.code;
                        break;
                    case 2:
                        g = o.buyRate.units;
                        break;
                    case 3:
                        g = formatNumber(o.buyRateCash.rate);
                        break;
                    case 4:
                        g = formatNumber(o.buyRateCurrency.rate);
                        break;
                    case 5:
                        var v = [];
                        t ? (u = findEcbArchiveJsonIndex(m, o.validFromDate), v = m[0].Cube.Cube[u].Cube) : v = m[0].Cube.Cube.Cube;
                        var y = 0,
                        b = 0;
                        if (t)
                            for (c = 0; c < v.length; c++)
                                v[c].currency == p && (b = v[c].rate), v[c].currency == l && (y = v[c].rate);
                        else
                            for (c = 0; c < v.length; c++)
                                v[c].currency == l && (b = v[c].rate), v[c].currency == p && (y = v[c].rate);
                        var $ = o.buyRateCurrency.rate;
                        if (t) {
                            "EUR" !== p && "HUF" == l && ($ = o.buyRateCurrency.rate / 100);
                            var _ = 5;
                            g = calculateCardIssuingRateFormula($, b, y, l, e, _, p)
                        } else {
                            "EUR" !== l && "HUF" == p && ($ = o.buyRateCurrency.rate / 100);
                            var _ = 5;
                            g = calculateCardIssuingRateFormula($, b, y, p, e, _, l)
                        }
                        break;
                    case 6:
                        g = formatNumber(o.meanRate.rate);
                        break;
                    case 7:
                        g = formatNumber(o.sellingRateCurrency.rate);
                        break;
                    case 8:
                        var v = [];
                        t ? (u = findEcbArchiveJsonIndex(m, o.validFromDate), v = m[0].Cube.Cube[u].Cube) : v = m[0].Cube.Cube.Cube;
                        var y = 0,
                        b = 0;
                        if (t)
                            for (c = 0; c < v.length; c++)
                                v[c].currency == p && (b = v[c].rate), v[c].currency == l && (y = v[c].rate);
                        else
                            for (c = 0; c < v.length; c++)
                                v[c].currency == l && (b = v[c].rate), v[c].currency == p && (y = v[c].rate);
                        var $ = o.sellingRateCurrency.rate;
                        if (t) {
                            "EUR" !== p && "HUF" == l && ($ = o.sellingRateCurrency.rate / 100);
                            var _ = 8;
                            g = calculateCardIssuingRateFormula($, b, y, l, e, _, p)
                        } else {
                            "EUR" !== l && "HUF" == p && ($ = o.sellingRateCurrency.rate / 100);
                            var _ = 8;
                            g = calculateCardIssuingRateFormula($, b, y, p, e, _, l)
                        }
                        break;
                    case 9:
                        g = formatNumber(o.sellingRateCash.rate);
                        break;
                    case 10:
                        var v = [];
                        t ? (u = findEcbArchiveJsonIndex(m, o.validFromDate), v = m[0].Cube.Cube[u].Cube) : v = m[0].Cube.Cube.Cube;
                        var y = 0,
                        b = 0;
                        if (t)
                            for (c = 0; c < v.length; c++)
                                v[c].currency == p && (b = v[c].rate), v[c].currency == l && (y = v[c].rate);
                        else
                            for (c = 0; c < v.length; c++)
                                v[c].currency == l && (b = v[c].rate), v[c].currency == p && (y = v[c].rate);
                        var $ = o.sellingRateCash.rate;
                        if (t) {
                            "EUR" !== p && "HUF" == l && ($ = o.sellingRateCash.rate / 100);
                            var _ = 10;
                            g = calculateCardIssuingRateFormula($, b, y, l, e, _, p)
                        } else {
                            "EUR" !== l && "HUF" == p && ($ = o.sellingRateCash.rate / 100);
                            var _ = 10;
                            g = calculateCardIssuingRateFormula($, b, y, p, e, _, l)
                        }
                        break;
                    default:
                        g = ""
                    }
                if ("PBZ-CARD-ISSUING" == e)
                    switch (i) {
                    case 0:
                        g = t ? l : p;
                        break;
                    case 1:
                        g = t ? s.code : d.code;
                        break;
                    case 2:
                        g = o.buyRate.units;
                        break;
                    case 3:
                        g = formatNumber(o.buyRateCash.rate);
                        break;
                    case 4:
                        g = formatNumber(o.buyRateCurrency.rate);
                        break;
                    case 5:
                        g = formatNumber(o.meanRate.rate);
                        break;
                    case 6:
                        g = formatNumber(o.sellingRateCurrency.rate);
                        break;
                    case 7:
                        var v = [];
                        t ? (u = findEcbArchiveJsonIndex(m, o.validFromDate), v = m[0].Cube.Cube[u].Cube) : v = m[0].Cube.Cube.Cube;
                        var y = 0,
                        b = 0;
                        for (c = 0; c < v.length; c++)
                            t ? (v[c].currency == p && (b = v[c].rate), v[c].currency == l && (y = v[c].rate)) : (v[c].currency == l && (b = v[c].rate), v[c].currency == p && (y = v[c].rate));
                        var $ = o.sellingRateCurrency.rate;
                        if (t) {
                            "EUR" !== p && "HUF" == l && ($ = o.sellingRateCurrency.rate / 100);
                            var _ = 7;
                            g = calculateCardIssuingRateFormula($, b, y, l, e, _, p)
                        } else {
                            "EUR" !== l && "HUF" == p && ($ = o.sellingRateCurrency.rate / 100);
                            var _ = 7;
                            g = calculateCardIssuingRateFormula($, b, y, p, e, _, l)
                        }
                        break;
                    case 8:
                        g = formatNumber(o.sellingRateCash.rate);
                        break;
                    default:
                        g = ""
                    }
                f.html('<span class="tbl__highlistLabel"></span><span class="tbl__highlistValue"><strong>' + g + "</strong></span>"),
                h.append(f)
            }
            n.append(h),
            C.append(n)
        }),
        json2xml(e, null)
    }
}, calculateRateFormula = function (e, t, a, r) {
    return result = 0,
    "EUR" == r && (t = 1),
    "CHF" != r && "CZK" != r && "DKK" != r && "HUF" != r && "NOK" != r && "PLN" != r && "SEK" != r && "HRK" != r && "EUR" != r ? "-" : (result = 100 * (e / (t / a) - 1), Number(result).toFixed(2) + "%")
}, calculateCardIssuingRateFormula = function (e, t, a, r, n, o, i) {
    if (i = i || "EUR", result = 0, "EUR" == r)
        a = t, result = (e - a) / t * 100;
    else if ("CHF" == r || "CZK" == r || "HUF" == r || "NOK" == r || "PLN" == r || "SEK" == r || "HRK" == r)
        result = "EUR" === i ? ecbRatioFormulaEur(a, e) : (e - t / a) / (t / a) * 100;
    else {
        if ("DKK" != r)
            return "-";
        result = "EUR" === i ? ecbRatioFormulaEur(a, e) : "PBZ-ISSUING" == n && 5 == o ? 100 * (e - t / a / (t / a)) : (e - t / a) / (t / a) * 100
    }
    return Number(result).toFixed(2) + "%"
}, ecbRatioFormulaEur = function (e, t) {
    return 100 * (e / t - 1)
}, formatNumber = function (e) {
    return Number(e).toFixed(6)
}, clearTable = function (e) {
    $(origTables).each(function (t) {
        $(this).attr("data-type-table") == e && ($("div[data-type-table=" + e + "]").html(""), $("div[data-type-table=" + e + "]").html($(this).html()))
    })
}, getArchive = function (e, t, a) {
    var r = $("#" + t),
    n = (new Date, formatDate(formatSlashedDate(r.val().slice(0, 10).split(".").join("/")))),
    o = new Date("2023-01-01"),
    i = new Date(n),
    s = "&refCurrency=",
    l = "&fromCurrency=";
    i < o ? (s += "HRK", l += "HRK") : (s += "EUR", l += "EUR");
    var c = window.location.origin + $("#exchange-rates-" + a.toLowerCase() + "-endpoint-archive").val() + l + "&toCurrency=CZK&datePickerStart=" + n + "&datePickerStop=" + n + s;
    clearTable(a);
    getJsonAjaxControl(c, e, a, !0, t, n, 0)
}, getJsonAjax = function (e, t, a, r, n) {
    console.log("invoked url: " + e),
    $.ajax({
        method: "GET",
        url: e
    }).done(function (e) {
        null != e && (console.log("----" + JSON.stringify(e) + "----"), $(t).val(JSON.stringify(e)), createTable(a, r, n))
    })
}, getJsonAjaxControl = function (e, t, a, r, n, o, i) {
    console.log("invoked url: " + e),
    $.ajax({
        method: "GET",
        url: e
    }).done(function (e) {
        if (null != e && 200 == JSON.parse(JSON.stringify(e)).statusCode) {
            console.log("----" + JSON.stringify(e) + "----");
            var r = ($("#" + n), new Date, o),
            s = new Date("2023-01-01"),
            l = new Date(o),
            c = "&refCurrency=",
            u = "&fromCurrency=";
            l < s ? (c += "HRK", u += "HRK") : (c += "EUR", u += "EUR");
            var d = window.location.origin + $("#exchange-rates-" + a.toLowerCase() + "-endpoint-archive").val() + u + "&toCurrency=CZK&datePickerStart=" + r + "&datePickerStop=" + r + c;
            clearTable(a);
            var m = !0;
            getJsonAjax(d, $("#exchange-rates-" + a.toLowerCase()), a, m, n)
        } else if (null != e && i < 10) {
            i += 1;
            var r = new Date(o);
            r.setDate(r.getDate() - 1);
            var p = formatDate(r),
            s = new Date("2023-01-01"),
            l = new Date(o),
            c = "&refCurrency=",
            u = "&fromCurrency=";
            l < s ? (c += "HRK", u += "HRK") : (c += "EUR", u += "EUR");
            var d = window.location.origin + $("#exchange-rates-" + a.toLowerCase() + "-endpoint-archive").val() + u + "&toCurrency=CZK&datePickerStart=" + p + "&datePickerStop=" + p + c;
            getJsonAjaxControl(d, t, a, m, n, p, i)
        }
    })
}, $(".submitButton").click(function () {
    var e = document.documentElement.getAttribute("data-bank");
    console.log(e),
    "ISPSLOVENIA" == e && ($(".hideTable").hide(), $(".hiddenArchiveSlo").show())
}), $("a.tab-link").click(function () {
    var e = document.documentElement.getAttribute("data-bank");
    console.log(e),
    "ISPSLOVENIA" == e && ($(".hiddenArchiveSlo").hide(), $(".hideTable").show())
});
var origTables, date = new Date;
$(document).ready(function () {
    if ("VUB" == $("html").attr("data-bank")) {
        var e = $("div[data-type-table]");
        origTables = e.clone(),
        $(e).each(function (e) {
            var t,
            a = $(this),
            r = a.attr("data-type-table");
            if ("euribor" != r) {
                date = new Date;
                var n = formatDate(date);
                t = $("#exchange-rates-" + r.toLowerCase() + "-endpoint-archive").val() + "&fromCurrency=EUR&toCurrency=&datePickerStart=" + n + "&datePickerStop=" + n
            } else
                t = $("#exchange-rates-" + r.toLowerCase() + "-endpoint-archive").val();
            getJsonAjaxVub(t, $("#exchange-rates-" + r.toLowerCase()), r)
        })
    }
}), createTablesVub = function (e) {
    var t = ($("data-label-code").val(), $("data-label-currency").val(), $("data-label-rate").val(), $("#data-ecb-hiddend-column-code").val(), $("#data-ecb-hiddend-column-currency").val(), $("#data-ecb-hiddend-column-rate").val(), $("html").attr("lang"), $("div[data-type-table=" + e + "]")),
    a = $("#exchange-rates-" + e.toLowerCase()).val();
    if ("" != a) {
        var r,
        n = JSON.parse(a),
        o = (t.clone(), t.find("ul.tbl2__highlist")),
        s = o.find("li.tbl2__highlistItem"),
        l = s.find("ul.tbl__highlist"),
        c = l.find("li.tbl__highlistItem");
        if (l.html(""), o.html(""), "ATM-DCC" == e)
            date = new Date(n.rates[0].defined), updateDateLabel(date), r = 2, $.each(n.rates, function (e, t) {
                var a = s.clone(),
                n = t,
                u = l.clone(),
                d = "",
                m = n.fromCurrency.label.toUpperCase(),
                p = n.toCurrency,
                h = p.label.toUpperCase(),
                g = n.meanRate.rate.toString().replace(".", ",");
                if (m !== h) {
                    for (i = 0; i < r; i++) {
                        var f = c.clone();
                        switch (i) {
                        case 0:
                            var v = window.location.origin.length > 0 ? window.location.origin : null;
                            d = null != v ? '<img src="' + v + "/" + getFlagImagePath(h) + '">' + h : '<img src="' + getFlagImagePath(h) + '">' + h;
                            break;
                        case 1:
                            d = g;
                            break;
                        default:
                            d = ""
                        }
                        "" != d && (f.html('<span class="tbl__highlistLabel"></span><span class="tbl__highlistValue"><strong>' + d + "</strong></span>"), u.append(f))
                    }
                    a.append(u),
                    o.append(a)
                }
            });
        else if ("euribor" == e) {
            r = 2;
            for (var u in n.euriborData) {
                var d = s.clone(),
                m = l.clone(),
                p = u,
                h = n.euriborData[u];
                if ("dateRate" != p) {
                    for (p = p.replace("fix", ""), i = 0; i < r; i++) {
                        var g = c.clone();
                        switch (i) {
                        case 0:
                            valueResult = p;
                            break;
                        case 1:
                            valueResult = h;
                            break;
                        default:
                            valueResult = ""
                        }
                        "" != valueResult && (g.html('<span class="tbl__highlistLabel"></span><span class="tbl__highlistValue"><strong>' + valueResult + "</strong></span>"), m.append(g))
                    }
                    d.append(m),
                    o.append(d)
                } else
                    $(".-js-date-exchange-euribor").html(h)
            }
        }
        json2xmlVub(e, null)
    }
}, calculateRateFormulas = function (e, t, a, r) {
    if (result = 0, "EUR" == r)
        result = 100 * (e / t - 1);
    else {
        if ("HUF" != r && "DKK" != r && "SEK" != r && "PLN" != r && "CZK" != r && "RON" != r && "HRK" != r && "NOK" != r && "CHF" != r)
            return "-";
        result = 100 * (e / (t / a) - 1)
    }
    return Number(result).toFixed(2) + "%"
}, clearTable = function (e) {
    $(origTables).each(function (t) {
        $(this).attr("data-type-table") == e && ($("div[data-type-table=" + e + "]").html(""), $("div[data-type-table=" + e + "]").html($(this).html()))
    })
}, getArchiveVUB = function (e, t, a) {
    var r = $("#" + t),
    n = (new Date, r.val().slice(0, 10).split(".").join("/"));
    date = new Date(r.val());
    var o = formatDate(formatSlashedDate(n)),
    i = window.location.origin + $("#exchange-rates-" + a.toLowerCase() + "-endpoint-archive").val() + "&fromCurrency=EUR&toCurrency=&datePickerStart=" + o + "&datePickerStop=" + o;
    clearTable(a);
    getJsonAjaxControlVub(i, e, a, !0, t, o, 0)
}, getJsonAjaxVub = function (e, t, a) {
    $.ajax({
        method: "GET",
        url: e
    }).done(function (e) {
        null != e && ($(t).val(JSON.stringify(e)), createTablesVub(a))
    })
}, getJsonAjaxControlVub = function (e, t, a, r, n, o, i) {
    $.ajax({
        method: "GET",
        url: e
    }).done(function (e) {
        if (null != e && 200 == JSON.parse(JSON.stringify(e)).statusCode) {
            var r = ($("#" + n), new Date, o),
            s = $("#exchange-rates-" + a.toLowerCase() + "-endpoint-archive").val() + "&fromCurrency=EUR&toCurrency=&datePickerStart=" + r + "&datePickerStop=" + r;
            clearTable(a);
            var l = !0;
            getJsonAjaxVub(s, $("#exchange-rates-" + a.toLowerCase()), a, l, n)
        } else if (null != e && i < 10) {
            i += 1;
            var r = new Date(o);
            r.setDate(r.getDate() - 1);
            var c = formatDate(r),
            s = window.location.origin + $("#exchange-rates-" + a.toLowerCase() + "-endpoint-archive").val() + "&fromCurrency=EUR&toCurrency=&datePickerStart=" + c + "&datePickerStop=" + c;
            getJsonAjaxControlVub(s, t, a, l, n, c, i)
        }
    })
};
var Intesa = Intesa || {};
Intesa.Forms = function () {
    function e() {
        $("#recaptchainput").val("true"),
        setTimeout(function () {
            $('form[name="formThanksMortgage"]').parsley().validate(),
            c.checkPrivacy()
        }, 500)
    }
    function t() {
        setTimeout(function () {
            $('form[name="formThanksMortgage"]').parsley().validate(),
            c.checkPrivacy()
        }, 500)
    }
    function a(e) {
        $(".rstepwrapper").addClass("rhide"),
        e.indexOf("One") > -1 && ($(".rstep1").removeClass("rhide"), c.setStep(1), c.refreshStep(1)),
        e.indexOf("Two") > -1 && ($(".rstep2").removeClass("rhide"), c.setStep(2), c.refreshStep(2)),
        e.indexOf("Three") > -1 && ($(".rstep3").removeClass("rhide"), c.setStep(3), c.refreshStep(3)),
        e.indexOf("Four") > -1 && ($(".rstep4").removeClass("rhide"), c.setStep(4), c.refreshStep(4)),
        e.indexOf("Five") > -1 && ($(".rstep5").removeClass("rhide"), c.setStep(5), c.refreshStep(5))
    }
    function r() {
        $("[data-bgimg]").length > 0 && $("[data-bgimg]").each(function () {
            var e = $(this).attr("data-bgimg");
            $(this).css("background-image", "url(" + e + ")")
        })
    }
    var n = $('input[name="myForm"]').val(),
    o = "CIB" == $("html").attr("data-bank"),
    s = "ISPSLOVENIA" == $("html").attr("data-bank"),
    l = "PBZ" == $("html").attr("data-bank"),
    c = this;
    this.init = function () {
        if (l && (!o || !s))
            return void(window.intesa.forms = null);
        console.log("init cib"),
        window.recaptchaCallback = $("input[name='recaptchaKey']").length >= 1 ? t : e,
        c.sessionMortage = o ? [{
                    form1: {
                        basicQuestionsOne: "",
                        basicQuestionsTwo: "",
                        basicQuestionsThree: "",
                        basicQuestionsFour: "",
                        basicQuestionsFive: "",
                        installment: "",
                        tenor: "",
                        loanAmount: "",
                        productId: "",
                        productName: "",
                        interestRate: "",
                        interestPeriod: "",
                        loanPurpose: ""
                    },
                    form2: {
                        debitorIncomeOne: "",
                        debitorIncomeTwo: "",
                        debitorIncomeThree: "",
                        debitorIncomeFour: "",
                        installmentExistingsLoan: "",
                        existingCreditCardLimit: "",
                        existingOverdraftLimit: "",
                        otherDeductionsExpenses: "",
                        step2Questions: "",
                        cashLoan: "ciao",
                        babyLoan: ""
                    },
                    form3: {
                        collateralOne: "",
                        locatedOne: "",
                        collateralTwo: "",
                        locatedTwo: "",
                        collateralThree: "",
                        locatedThree: ""
                    }
                }
            ] : [{
                    form1: {
                        basicQuestionsOne: "",
                        basicQuestionsTwo: "",
                        installment: "",
                        tenor: "",
                        loanAmount: "",
                        productId: "",
                        productName: "",
                        interestRate: "",
                        interestPeriod: "",
                        loanPurpose: ""
                    },
                    form2: {
                        averageMonthlyIncome: "",
                        debitors: "",
                        debitorIncomeOne: "",
                        debitorIncomeTwo: "",
                        debitorIncomeThree: "",
                        dependentMembers: "",
                        childWith: "0",
                        supportChildWith: "0",
                        childWithout: "0",
                        adult: "0",
                        retiree: "0",
                        monthlyLoan: "",
                        monthlyLoanAmount1: "",
                        monthlyLoanAmount2: "",
                        creditCard: "",
                        creditCardLimit: "",
                        overdraft: "",
                        overdraftLimit: ""
                    },
                    form3: {
                        collateral: "",
                        collateralValue: ""
                    }
                }
            ];
        var a = sessionStorage.getItem("mortageJSON") || "";
        if (a.length > 0) {
            var r = JSON.parse(a);
            c.sessionMortage = r
        }
        ($('[data-component-r="formStep1Mortagage"]').length > 0 || $('[data-component-r="formStep2Mortagage"]').length > 0 || $('[data-component-r="formStep3Mortagage"]').length > 0 || $('[data-component-r="survey_loan"]').length > 0) && (c.refreshStep(1), c.toggleAccordion(), c.formStep1Mortagage(), c.setActiveInput(), c.setActiveImport(), c.stepByStorage(), c.goToNext(), c.goBackStep(), c.plusMinus(), c.showHideLoan(), c.initStep(), $("#privacystatus").length > 0 && c.checkPrivacy())
    },
    this.initStep = function () {
        var e = sessionStorage.getItem("mortageJSON") || "",
        t = $('input[name="myForm"]').val();
        if (e.length > 0) {
            var a = JSON.parse(e);
            c.sessionMortage = a
        }
        o || "" == c.sessionMortage || "form3" == t && (tenor = c.sessionMortage[0].form1.tenor, loanAmount = c.sessionMortage[0].form1.loanAmount, null != c.sessionMortage[0] && tenor > 20 && loanAmount > 5e4 ? $(".question2").removeClass("rhide") : $(".question1").removeClass("rhide"));
        var t = $('input[name="myForm"]').val(),
        r = JSON.parse(sessionStorage.getItem("mortageJSON")),
        n = $(".r-cur-step").text();
        "form2" == t && (o ? "" != r[0].form2.debitorIncomeOne && 6 == n && ($(".rstepwrapper").eq(0).removeClass("rhide"), c.setActiveNext($("button.r-btn-next"))) : "" != r[0].form2.averageMonthlyIncome && 3 == n && ($(".rstepwrapper").eq(0).removeClass("rhide"), c.setActiveNext($("button.r-btn-next"))))
    },
    this.stepByStorage = function () {
        var e = sessionStorage.getItem("mortageJSON") || "";
        if (e.length > 0) {
            var t = JSON.parse(e);
            if (t && t[0] && t[0].form1)
                for (var r in t[0].form1)
                    "installment" != r && "tenor" != r && "loanAmount" != r && "productId" != r && "productName" != r && "interestRate" != r && "interestPeriod" != r && "loanPurpose" != r && $('input[name="' + r + '"]').length > 0 && t[0].form1[r].length > 0 && (a(r), $('input[name="' + r + '"]').each(function () {
                            var e = this;
                            $(e).val() == t[0].form1[r] && $(e).attr("checked", !0).parent("label").trigger("click")
                        }), "basicQuestionsOne" == r && (c.setStep(1), c.refreshStep(1), $(".rstep1").removeClass("rhide")), "basicQuestionsTwo" == r && (c.setStep(2), c.refreshStep(2), $(".rstep2").removeClass("rhide")));
            if (t && t[0] && t[0].form2)
                for (var r in t[0].form2)
                    if ($('input[name="' + r + '"]').length > 0 && t[0].form2[r].length > 0) {
                        o ? "step2Questions" != r ? $('input[name="' + r + '"]').val(t[0].form2[r]) : ("cashLoan" != r && "babyLoan" != r || "" == t[0].form2.cashLoan && "" == t[0].form2.babyLoan || (console.log(r + " check cash/baby not empty"), $('input[name="' + r + '"]').val(t[0].form2[r])), "yes" == t[0].form2.step2Questions ? $(".rstepwrapper").eq(5).find("#hungary1").trigger("click") : $(".rstepwrapper").eq(5).find("#hungary2").trigger("click")) : "radio" != $(self).attr("type") && $('input[name="' + r + '"]').val(t[0].form2[r]);
                        var n = parseInt(c.getStep());
                        switch ($(".rstepwrapper").eq(n - 1).find('input[name="' + r + '"]').trigger("keyup"), $('input[name="' + r + '"]').each(function () {
                                var e = this;
                                o ? $(e).val() == t[0].form2[r] && $(e).attr("checked", !0).parent("label").trigger("click") : "radio" == $(e).attr("type") && 2 == $('input[name="' + r + '"]').length && (o ? "no" == t[0].form2[r] ? ($($('input[name="' + r + '"]')[1]).attr("checked", !0).trigger("click"), $($('input[name="' + r + '"]')[1]).val("no"), $($('input[name="' + r + '"]')[0]).val("yes")) : ($($('input[name="' + r + '"]')[0]).attr("checked", !0).trigger("click"), $($('input[name="' + r + '"]')[0]).val("yes"), $($('input[name="' + r + '"]')[1]).val("no")) : "no" == t[0].form2[r] || "ne" == t[0].form2[r] ? ($($('input[name="' + r + '"]')[1]).attr("checked", !0).trigger("click"), $($('input[name="' + r + '"]')[1]).val("ne"), $($('input[name="' + r + '"]')[0]).val("da")) : ($($('input[name="' + r + '"]')[0]).attr("checked", !0).trigger("click"), $($('input[name="' + r + '"]')[0]).val("da"), $($('input[name="' + r + '"]')[1]).val("ne")))
                            }), "debitorIncomeOne" == r && ($(".rstep1 .rvalue-increase").text(1), $(".rstepwrapper").eq(0).find(".mod-hom1").eq(0).removeClass("rhide")), "debitorIncomeTwo" == r && ($(".rstep1 .rvalue-increase").text(2), $(".rstepwrapper").eq(0).find(".mod-hom1").eq(1).removeClass("rhide")), "debitorIncomeThree" == r && ($(".rstep1 .rvalue-increase").text(3), $(".rstepwrapper").eq(0).find(".mod-hom1").eq(2).removeClass("rhide")), "debitorIncomeFour" == r && ($(".rstep1 .rvalue-increase").text(4), $(".rstepwrapper").eq(0).find(".mod-hom1").eq(3).removeClass("rhide")), o && $(".rstepwrapper").addClass("rhide"), r) {
                        case "debitorIncomeOne":
                        case "debitorIncomeTwo":
                        case "debitorIncomeThree":
                        case "debitorIncomeFour":
                            o && (c.setStep(1), c.refreshStep(1), $(".rstep1").removeClass("rhide"));
                            break;
                        case "installmentExistingsLoan":
                            o && (c.setStep(2), c.refreshStep(2), $(".rstep2").removeClass("rhide"));
                            break;
                        case "existingCreditCardLimit":
                            c.setStep(3),
                            c.refreshStep(3),
                            $(".rstep3").removeClass("rhide");
                            break;
                        case "existingOverdraftLimit":
                            c.setStep(4),
                            c.refreshStep(4),
                            $(".rstep4").removeClass("rhide");
                            break;
                        case "otherDeductionsExpenses":
                            c.setStep(5),
                            c.refreshStep(5),
                            $(".rstep5").removeClass("rhide");
                            break;
                        case "cashLoan":
                        case "babyLoan":
                            c.setStep(6),
                            c.refreshStep(6),
                            $(".rstep6").removeClass("rhide"),
                            $('input[name="step2Questions"]').each(function () {
                                var e = this;
                                "yes" == $(e).val() && $(e).attr("checked", !0).parent("label").addClass("active")
                            });
                            break;
                        case "averageMonthlyIncome":
                            c.setStep(1),
                            c.refreshStep(1),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep1").removeClass("rhide");
                            break;
                        case "debitors":
                            "true" == localStorage.getItem("back") && (c.setStep(2), c.refreshStep(2), $(".rstepwrapper").addClass("rhide"), $(".rstep2").removeClass("rhide"));
                            break;
                        case "dependentMembers":
                            "true" == localStorage.getItem("back") && (c.setStep(3), c.refreshStep(3), $(".rstepwrapper").addClass("rhide"), $(".rstep3").removeClass("rhide"));
                            break;
                        case "monthlyLoan":
                            "true" == localStorage.getItem("back") && (c.setStep(4), c.refreshStep(4), $(".rstepwrapper").addClass("rhide"), $(".rstep4").removeClass("rhide"));
                            break;
                        case "creditCard":
                            "true" == localStorage.getItem("back") && (c.setStep(5), c.refreshStep(5), $(".rstepwrapper").addClass("rhide"), $(".rstep5").removeClass("rhide"));
                            break;
                        case "overdraft":
                            "true" == localStorage.getItem("back") && (c.setStep(6), c.refreshStep(6), $(".rstepwrapper").addClass("rhide"), $(".rstep6").removeClass("rhide"));
                            break;
                        default:
                            o && c.setStep(1)
                        }
                    }
        }
        if (t && t[0] && t[0].form3)
            for (var r in t[0].form3)
                if ($('input[name="' + r + '"]').length > 0 && t[0].form3[r].length > 0) {
                    if (o || (c.setStep(9), c.refreshStep(9), $(".rstep1").removeClass("rhide")), $('input[name="' + r + '"]').val(t[0].form3[r]).trigger("focus"), $('input[name="' + r + '"]').val(t[0].form3[r]).trigger("keyup"), "collateralOne" == r) {
                        $(".rstep1 .rvalue-increase").text(1);
                        var i = $(".rstepwrapper").eq(0);
                        i.find(".mod-hom1").eq(0).removeClass("rhide")
                    }
                    if ("collateralTwo" == r) {
                        $(".rstep1 .rvalue-increase").text(2);
                        var i = $(".rstepwrapper").eq(0);
                        i.find(".mod-hom1").eq(1).removeClass("rhide")
                    }
                    if ("collateralThree" == r) {
                        $(".rstep1 .rvalue-increase").text(3);
                        var i = $(".rstepwrapper").eq(0);
                        i.find(".mod-hom1").eq(2).removeClass("rhide")
                    }
                }
    },
    this.goToNext = function () {
        $(document).on("click", "button.r-btn-next", function (e) {
            localStorage.removeItem("back"),
            e.preventDefault();
            var t = $(this),
            a = parseInt(t.attr("data-step")) + 1,
            r = $('input[name="myForm"]').val();
            if ("form2" == r && o && ("no" == $("[name='step2Questions']:checked").val() ? (c.sessionMortage[0].form2.cashLoan = "", c.sessionMortage[0].form2.babyLoan = "") : "yes" == $("[name='step2Questions']:checked").val() && (c.sessionMortage[0].form2.step2Questions = $("[name='step2Questions']:checked").val(), c.sessionMortage[0].form2.cashLoan = $('input[name="babyLoan"]').val(), c.sessionMortage[0].form2.babyLoan = $('input[name="cashLoan"]').val())), sessionStorage.setItem("mortageJSON", JSON.stringify(c.sessionMortage)), "form1" == r && sessionStorage.setItem("mortageStep", "1"), "form2" == r && sessionStorage.setItem("mortageStep", "2"), "form3" == r && sessionStorage.setItem("mortageStep", "3"), a > $("#numberofsteps").val()) {
                var r = $('input[name="myForm"]').val(),
                n = sessionStorage.getItem("mortageJSON");
                if (n.length > 0)
                    var i = JSON.parse(n);
                if ("form1" == r && i && i[0] && i[0].form1)
                    for (var s in i[0].form1)
                        i[0].form1[s].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form1[s] + '"/>') : "installment" != s && "loanAmount" != s && "tenor" != s && "interestPeriod" != s && "interestRate" != s && "productName" != s && "productId" != s && "loanPurpose" != s || $("form#formTemp").append('<input type="hidden" name="' + s + '" value="0"/>');
                if ("form2" == r) {
                    if (i && i[0] && i[0].form1)
                        for (var s in i[0].form1)
                            i[0].form1[s].length > 0 && $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form1[s] + '"/>');
                    if (i && i[0] && i[0].form2)
                        for (var s in i[0].form2)
                            i[0].form2[s].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form2[s].replace(/[^0-9]/g, "").replace("&nbsp;", "") + '"/>') : $("form#formTemp").append('<input type="hidden" name="' + s + '" value="0"/>')
                }
                if ("form3" == r) {
                    if (i && i[0] && i[0].form1)
                        for (var s in i[0].form1)
                            i[0].form1[s].length > 0 && $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form1[s] + '"/>');
                    if (i && i[0] && i[0].form2)
                        for (var s in i[0].form2)
                            i[0].form2[s].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form2[s].replace(/[^0-9]/g, "").replace("&nbsp;", "") + '"/>') : $("form#formTemp").append('<input type="hidden" name="' + s + '" value="0"/>');
                    if (i && i[0] && i[0].form3)
                        for (var s in i[0].form3)
                            i[0].form3[s].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form3[s].replace(/[^0-9]/g, "").replace("&nbsp;", "") + '"/>') : $("form#formTemp").append('<input type="hidden" name="' + s + '" value="0"/>')
                }
                $("form#formTemp").submit()
            } else {
                c.disableNext($("button.r-btn-next"));
                var r = $('input[name="myForm"]').val();
                "form1" == r && setTimeout(function () {
                    $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : c.disableNext(t)
                }, 100),
                "form2" == r && setTimeout(function () {
                    if ($(".rstepwrapper").eq(a - 1).find("input").val().length > 0) {
                        if (!o) {
                            $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                                $(this).is(":checked") && c.setActiveNext($("button.r-btn-next"))
                            });
                            var e = JSON.parse(sessionStorage.getItem("mortageJSON"))[0].form2;
                            if ($(".rstepwrapper").eq(a - 1).find("div[data-val]").each(function (t, a) {
                                    var r = e[a.id];
                                    a.innerHTML = r,
                                    "0" != a.innerText && (a.parentNode.children[0].classList.remove("disabled"), c.setActiveNext($("button.r-btn-next")))
                                }), a - 1 == 1)
                                for (var t = 0; t < e.debitors; t++)
                                    $(".rstepwrapper").eq(a - 1).find(".col-md-10")[t].classList.remove("rhide");
                            e.childWith > 0 && $(".supportInput").removeClass("rhide")
                        }
                        var e = JSON.parse(sessionStorage.getItem("mortageJSON"))[0].form2;
                        "yes" != e.step2Questions && "da" != e.step2Questions || "6" != a || ($(".rstepwrapper").eq(a - 1).find("input[data-showloan]").trigger("click"), $(".rstepwrapper").eq(a - 1).find("input[data-showloan]").parent(".rcontainer-input").trigger("click")),
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            var e = $(this);
                            e.is(":visible") && e.trigger("keyup")
                        })
                    } else
                        o || 2 != $("button.r-btn-next").attr("data-step") ? c.disableNext($("button.r-btn-next")) : c.setActiveNext($("button.r-btn-next"))
                }, 100),
                c.refreshStep(a),
                c.setStep(a),
                $(".rstepwrapper").addClass("rhide"),
                $(".rstepwrapper").eq(a - 1).removeClass("rhide")
            }
            c.showHideLoan(),
            c.scrollToTop(),
            o || c.initStep(),
            o || a > $("#numberofsteps").val() && window.location.replace($("#submit").attr("data-redirect"))
        })
    },
    this.scrollToTop = function () {
        $("html, body").animate({
            scrollTop: 0
        }, "500")
    },
    $(".r-form-top-section").length > 0 && c.scrollToTop(),
    this.goBackStep = function () {
        $(document).on("click", "button.r-btn-back", function (e) {
            e.preventDefault();
            var t = $(this),
            a = parseInt(t.attr("data-step")) - 1,
            r = $('input[name="myForm"]').val();
            if (a < 1) {
                var n = "",
                i = localStorage.getItem("mortageForm") || "";
                "" !== i && (i = JSON.parse(i), "form1" == r && (n = i.landing), "form2" == r && (n = i.form1), "form3" == r && (n = i.form2), "" !== n && (localStorage.setItem("back", "true"), window.location.href = n))
            } else
                c.disableNext($("button.r-btn-next")), "form1" == r && setTimeout(function () {
                    $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : c.disableNext($("button.r-btn-next"))
                }, 100), "form2" == r && setTimeout(function () {
                    if ($(".rstepwrapper").eq(a - 1).find("input").val().length > 0) {
                        var e = JSON.parse(sessionStorage.getItem("mortageJSON"))[0].form2;
                        if ($(".rstepwrapper").eq(a - 1).find("input").each(function () {
                                $(this).is(":checked") && c.setActiveNext($("button.r-btn-next"))
                            }), !o) {
                            if ($(".rstepwrapper").eq(a - 1).find("div[data-val]").each(function (t, a) {
                                    var r = e[a.id];
                                    a.innerHTML = r,
                                    "0" != a.innerText && (a.parentNode.children[0].classList.remove("disabled"), c.setActiveNext($("button.r-btn-next")), "supportChildWith" == a.id && a.parentNode.children[2].classList.add("disabled"))
                                }), a - 1 == 1)
                                for (var t = 0; t < e.debitors; t++)
                                    $(".rstepwrapper").eq(a - 1).find(".col-md-10")[t].classList.remove("rhide");
                            e.childWith > 0 && $(".supportInput").removeClass("rhide")
                        }
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            var e = $(this);
                            e.is(":visible") && e.trigger("keyup")
                        })
                    } else
                        c.setActiveNext($("button.r-btn-next"))
                }, 100), c.refreshStep(a), c.setStep(a), $(".rstepwrapper").addClass("rhide"), $(".rstepwrapper").eq(a - 1).removeClass("rhide");
            c.showHideLoan(),
            c.scrollToTop()
        })
    },
    this.formStep1Mortagage = function () {
        c.setStep(1)
    },
    this.setActiveInput = function () {
        $(".rcontainer-input").on("click", function () {
            var e = $(this).find("input").attr("name");
            $("[name=" + e + "]").parent().removeClass("active"),
            $(this).addClass("active");
            var t = $('input[name="myForm"]').val();
            if ("form1" == t) {
                var a = parseInt(c.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok]").is(":checked") && (c.sessionMortage[0].form1[e] = $("[name=" + e + "]:checked").val())
            }
            if ("form2" == t) {
                var a = parseInt(c.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok]").is(":checked");
                c.sessionMortage[0].form2[e] = $("[name=" + e + "]:checked").val()
            }
            if ("form3" == t) {
                var a = parseInt(c.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok]").is(":checked");
                c.sessionMortage[0].form3[e] = $("[name=" + e + "]:checked").val()
            }
            c.showError(c.getStep())
        })
    },
    this.setActiveImport = function () {
        $(".rcontainer-import input").on("keyup", function () {
            var e = $(this);
            if (e.val().length > 0) {
                "babyLoan" == e.attr("name") || "cashLoan" == e.attr("name") ? $("[name=cashLoan]").val().length > 0 && $("[name=babyLoan]").val().length > 0 ? c.setActiveNext($("button.r-btn-next")) : c.disableNext($("button.r-btn-next")) : c.setActiveNext($("button.r-btn-next")),
                $(".rstepwrapper").eq(parseInt(c.getStep()) - 1).find("input").length > 1 && void 0 == $(".rstepwrapper").eq(parseInt(c.getStep()) - 1).find(".rcontainer-import").attr("data-showhideloan") && $(".rstepwrapper").eq(parseInt(c.getStep()) - 1).find("input").each(function () {
                    if ($(this).is(":visible") && "" == $(this).val())
                        return void c.disableNext($("button.r-btn-next"))
                });
                var t = $(this).attr("name"),
                a = $('input[name="myForm"]').val();
                if ("form2" == a)
                    if (o)
                        c.sessionMortage[0].form2[t] = $("[name=" + t + "]").val().replace(/ /g, "");
                    else if ("radio" != $("[name=" + t + "]").attr("type") && $("[name=" + t + "]").length > 1)
                        for (var r = 0; r < $("[name=" + t + "]").length; r++)
                            "" != $($("[name=" + t + "]")[r]).val() && (c.sessionMortage[0].form2[t] = $($("[name=" + t + "]")[r]).val().replace(/ /g, ""));
                    else
                        c.sessionMortage[0].form2[t] = $("[name=" + t + "]").val().replace(/ /g, "");
                if ("form3" == a)
                    if ($("[name=" + t + "]").length > 1)
                        for (var r = 0; r < $("[name=" + t + "]").length; r++)
                            "" != $($("[name=" + t + "]")[r]).val() && (c.sessionMortage[0].form3[t] = $($("[name=" + t + "]")[r]).val().replace(/ /g, ""));
                    else
                        c.sessionMortage[0].form3[t] = $("[name=" + t + "]").val().replace(/ /g, "")
            } else
                c.disableNext($("button.r-btn-next"))
        })
    },
    this.refreshStep = function (e) {
        var t,
        a = $('input[name="myForm"]').val();
        t = o ? "12" : "9",
        o ? ("form2" == a && (e += 5), "form3" == a && (e += 11)) : ("form2" == a && (e += 2), "form3" == a && (e += 8)),
        null !== e && "" !== e && void 0 !== e && ($(".r-cur-step").text(e), null !== t && "" !== t && void 0 !== t && ($(".r-tot-step").text(t), $(".r-progress-bar-fill").width(parseInt(e) / parseInt(t) * 100 + "%")))
    },
    this.setActiveNext = function (e) {
        e.addClass("active").prop("disabled", !1)
    },
    this.disableNext = function (e) {
        e.removeClass("active").prop("disabled", !0)
    },
    this.getStep = function () {
        return $("button.r-btn-next").attr("data-step")
    },
    this.showError = function (e) {
        e = parseInt(e);
        var t = $(".rstepwrapper").eq(e - 1).find("input[data-ok]").is(":checked") || !1;
        t || "true" == t ? ($(".rstepwrapper").eq(e - 1).find(".rerror-choice").addClass("rhide"), c.setActiveNext($("button.r-btn-next"))) : ($(".rstepwrapper").eq(e - 1).find(".rerror-choice").removeClass("rhide"), c.disableNext($("button.r-btn-next")))
    },
    this.setStep = function (e) {
        $(".r-form-submit-wrapper button").attr("data-step", e),
        c.refreshStep(e)
    },
    this.toggleAccordion = function () {
        $('[data-accordion="title"]').on("click", function () {
            $(this).addClass("rhide"),
            $(this).next('[data-accordion="detail"]').removeClass("rhide")
        }),
        $('[data-accordion="detail"] .rtitle-accordotion').on("click", function () {
            $(this).parent().addClass("rhide"),
            $(this).parent().prev('[data-accordion="title"]').removeClass("rhide")
        })
    },
    this.plusMinus = function (e) {
        $("[data-plusminus]").length > 0 && ($("[data-plusminus]").each(function (t, a) {
                null !== e && void 0 !== e && "" !== e && $(a).find("[data-val]").text(e);
                var r = $(a).attr("data-maximum"),
                n = $(a).find("[data-val]").text(),
                o = $(a).find("[data-minus]"),
                i = $(a).find("[data-plus]");
                o.removeClass("disabled"),
                i.removeClass("disabled"),
                "0" == n && o.addClass("disabled"),
                n == r && i.addClass("disabled")
            }), o || ("form2" == $('input[name="myForm"]').val() && 3 == $("button.r-btn-next").attr("data-step") && $("a.btnMinus").splice(1).forEach(function (e) {
                    $(this).hasClass("disable") || c.setActiveNext($("button.r-btn-next"))
                }), $(".rvalue-increase").each(function (e, t) {
                    var a = t.id;
                    c.sessionMortage[0].form2[a] = t.innerText
                })))
    },
    $("[data-landing]").on("click", function () {
        var e = JSON.parse(localStorage.getItem("mortageForm"));
        e.landing = window.location.pathname,
        void 0 != e && (mortageFormJSON = JSON.stringify(e), localStorage.setItem("mortageForm", mortageFormJSON))
    }),
    $("[data-openmortgageform]").on("click", function () {
        c.getInputs(this);
        var e = window.location.pathname,
        t = $(this).attr("data-openmortgageform") || "",
        a = $(this).attr("data-openmortgageform2") || "",
        r = $(this).attr("data-openmortgageform3") || "",
        n = {
            calc: e,
            form1: t,
            form2: a,
            form3: r
        };
        mortageFormJSON = JSON.stringify(n),
        localStorage.setItem("mortageForm", mortageFormJSON);
        var o = sessionStorage.getItem("mortageStep") || "";
        return "" !== o ? ("2" == o && (window.location.href = $(this).attr("data-openmortgageform2")), "3" == o && (window.location.href = $(this).attr("data-openmortgageform3")), "2" !== o && "3" !== o && (window.location.href = $(this).attr("data-openmortgageform"))) : window.location.href = $(this).attr("href"),
        !1
    }),
    this.getInputs = function (e) {
        if (o) {
            if ($('[data-active-tab="withsalary"]').hasClass("open"))
                var t = "" + window.intesa.mortgage_calculator.monthlyInstallmentValuePromo || "", a = "" + window.intesa.mortgage_calculator.interestRateResultPromo || "";
            else
                var t = "" + window.intesa.mortgage_calculator.monthlyInstallmentValueStandard || "", a = "" + window.intesa.mortgage_calculator.interestRateResultStandard || "";
            var r = $(e).parents("section[data-calculator]"),
            n = "" + window.intesa.mortgage_calculator.tenorValue || "",
            i = "" + window.intesa.mortgage_calculator.borrowAmountValue || "",
            s = $("[name=fProductName]", r).val() || "",
            l = $("[name=fProductId]", r).val() || "",
            u = $("[name=fInterestPeriod]", r).val() || "",
            d = $("[name=fLoanPurpose]", r).val() || "";
            c.sessionMortage[0].form1.loanAmount = i || "",
            c.sessionMortage[0].form1.installment = t || "",
            c.sessionMortage[0].form1.tenor = n || "",
            c.sessionMortage[0].form1.productId = l || "",
            c.sessionMortage[0].form1.productName = s || "",
            c.sessionMortage[0].form1.interestRate = a || "",
            c.sessionMortage[0].form1.interestPeriod = u || "",
            c.sessionMortage[0].form1.loanPurpose = d || ""
        } else {
            if ($('[data-active-tab="withsalary"]').hasClass("open"))
                var t = "" + window.intesa.loan_calculator_ispslovenia.firstMonthlyInstallment || "", a = "" + window.intesa.loan_calculator_ispslovenia.firstInterestRate || "";
            else
                var t = "" + window.intesa.loan_calculator_ispslovenia.firstMonthlyInstallment || "", a = "" + window.intesa.loan_calculator_ispslovenia.firstInterestRate || "";
            var n = "" + window.intesa.loan_calculator_ispslovenia.tenor || "",
            i = "" + window.intesa.loan_calculator_ispslovenia.loanAmount || "",
            s = $("[name=fProductName]").val() || "",
            l = $("[name=fProductId]").val() || "",
            u = $("[name=fInterestPeriod]").val() || "",
            d = $("[name=fLoanPurpose]").val() || "";
            c.sessionMortage[0].form1.loanAmount = i || "",
            c.sessionMortage[0].form1.installment = t || "",
            c.sessionMortage[0].form1.tenor = n || "",
            c.sessionMortage[0].form1.productId = l || "",
            c.sessionMortage[0].form1.productName = s || "",
            c.sessionMortage[0].form1.interestRate = a || "",
            c.sessionMortage[0].form1.interestPeriod = u || "",
            c.sessionMortage[0].form1.loanPurpose = d || ""
        }
        sessionStorage.setItem("mortageJSON", JSON.stringify(c.sessionMortage))
    },
    this.showHideElements = function (e) {
        if (null !== e && void 0 !== e && "" !== e) {
            var t = c.getStep(),
            a = $(".rstepwrapper").eq(t - 1);
            for (a.find(".mod-hom1").addClass("rhide"), e = parseInt(e), i = 0; i <= e - 1; i++)
                a.find(".mod-hom1").eq(i).removeClass("rhide");
            e > 0 && c.setActiveNext($("button.r-btn-next")),
            $(".rstepwrapper").eq(parseInt(c.getStep()) - 1).find("input").length > 1 && $(".rstepwrapper").eq(parseInt(c.getStep()) - 1).find("input").each(function () {
                if ($(this).is(":visible") && "" == $(this).val())
                    return o || 2 != c.getStep() || c.setActiveNext($("button.r-bth-next")), void c.disableNext($("button.r-btn-next"))
            })
        }
    },
    this.resetForms2 = function (e) {
        parseInt(e) - 1 == 0 && ($('input[name="debitorIncomeOne"]').val(""), c.sessionMortage[0].form2.debitorIncomeOne = ""),
        parseInt(e) - 1 == 1 && ($('input[name="debitorIncomeTwo"]').val(""), c.sessionMortage[0].form2.debitorIncomeTwo = ""),
        parseInt(e) - 1 == 2 && ($('input[name="debitorIncomeThree"]').val(""), c.sessionMortage[0].form2.debitorIncomeThree = ""),
        parseInt(e) - 1 == 3 && ($('input[name="debitorIncomeFour"]').val(""), c.sessionMortage[0].form2.debitorIncomeFour = "")
    },
    this.resetForms3 = function (e) {
        parseInt(e) - 1 == 0 && ($('input[name="collateralOne"]').val(""), $('input[name="locatedOne"]').val(""), c.sessionMortage[0].form3.collateralOne = "", c.sessionMortage[0].form3.locatedOne = ""),
        parseInt(e) - 1 == 1 && ($('input[name="collateralTwo"]').val(""), $('input[name="locatedTwo"]').val(""), c.sessionMortage[0].form3.collateralTwo = "", c.sessionMortage[0].form3.locatedTwo = ""),
        parseInt(e) - 1 == 2 && ($('input[name="collateralThree"]').val(""), $('input[name="locatedThree"]').val(""), c.sessionMortage[0].form3.collateralThree = "", c.sessionMortage[0].form3.locatedThree = "")
    },
    o || $("#dependent2").on("click", function () {
        $(".rvalue-increase").splice(1).forEach(function (e) {
            e.innerHTML = "0"
        }),
        $(".btnMinus").splice(1).forEach(function (e) {
            e.classList.add("disabled")
        }),
        $(".supportInput").addClass("rhide"),
        c.disableNext($("button.r-btn-next"))
    }),
    $("[data-minus]").on("click", function () {
        var e = $(this).next("[data-val]"),
        t = e.text();
        if ($(this).hasClass("disabled") || (e.text(parseInt(t) - 1), c.plusMinus(), c.showHideElements(parseInt(t) - 1), $('input[name="debitorIncomeOne"]').length > 0 && c.resetForms2(t), $('input[name="collateralOne"]').length > 0 && c.resetForms3(t)), !o) {
            if (2 == $("button.r-btn-next").attr("data-step") && "0" == $(".rvalue-increase")[0].innerText && c.setActiveNext($("button.r-btn-next")), 2 != $("button.r-btn-next").attr("data-step") && "0" != $(".rvalue-increase")[0].innerText || c.setActiveNext($("button.r-btn-next")), 3 == $("button.r-btn-next").attr("data-step")) {
                var a = !0;
                $(".rvalue-increase").splice(1, 4).forEach(function (e) {
                    "0" != e.innerHTML && (a = !1)
                }),
                a && c.disableNext($("button.r-btn-next"))
            }
            "0" == $(".childSupport")[0].innerText && $(".supportInput").addClass("rhide")
        }
    });
    $(".rcontainer-import");
    $("[data-showloan]").on("click", function () {
        $(this).parents(".rstepwrapper").find("[data-showhideloan]").removeClass("rhide")
    }),
    $("[data-hideloan]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan]").addClass("rhide").find("input").val(""), !o && "form2" == n) {
            var e = $(this),
            t = parseInt(e.attr("data-step")) - 1,
            a = $(".rstepwrapper").eq(t - 1).find("input[data-format-currency").attr("name");
            $(".rstepwrapper").eq(t - 1).find('input[name="' + a + '"]').trigger("keyup");
            JSON.parse(sessionStorage.getItem("mortageJSON") || "")[0].form2
        }
    }),
    this.showHideLoan = function () {
        o || null != c.sessionMortage[0] && ("Repayment of existing loans" == c.sessionMortage[0].form1.basicQuestionsOne || "Poplačilo stanovanjskega kredita" == c.sessionMortage[0].form1.basicQuestionsOne ? $(".case2-1").addClass("rhide") : $(".case2-2").addClass("rhide"))
    },
    $("[data-plus]").on("click", function () {
        var e = $(this).prev("[data-val]"),
        t = e.text();
        $(this).hasClass("disabled") || (e.text(parseInt(t) + 1), c.plusMinus(), c.showHideElements(parseInt(t) + 1), o && (parseInt(t) + 1 == 1 && $('input[name="debitorIncomeOne"]').trigger("keyup"), parseInt(t) + 1 == 2 && $('input[name="debitorIncomeTwo"]').trigger("keyup"), parseInt(t) + 1 == 3 && $('input[name="debitorIncomeThree"]').trigger("keyup"), parseInt(t) + 1 == 4 && $('input[name="debitorIncomeFour"]').trigger("keyup")), o || "0" != $(".childSupport")[0].innerText && $(".supportInput").removeClass("rhide"))
    }),
    $(".r-thankyou-time label").on("click", function () {
        $(".r-thankyou-time label").removeClass("active"),
        $(this).addClass("active")
    }),
    $(document).on("input", ".r-thankyou-wrapper [name='prefixNumber'], .r-thankyou-wrapper [name='phoneNumber']", function (e) {
        $(this).val($(this).val().replace(/[^0-9]/g, ""))
    }),
    this.checkPrivacy = function () {
        var e = "none";
        $("#item_thanksName").length > 0 && (e = $("#item_thanksName").val());
        var t = "none";
        $("#item_thanksLastname").length > 0 && (t = $("#item_thanksLastname").val());
        var a = $("input[name='recaptchaKey']").length >= 1 || "" != $(".g-recaptcha-response").val();
        $("#privacystatus").is(":checked") && "" !== $("#item_email").val() && "" !== e && "" !== t && "" !== $('[name="prefixNumber"]').val() && "" !== $('[name="phoneNumber"]').val() && a ? $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !1) : $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !0)
    },
    $("#privacystatus").on("click", function () {
        c.checkPrivacy()
    }),
    $(".r-thankyou-wrapper input").on("change input", function (e) {
        c.checkPrivacy()
    }),
    $(".r-thankyou-content input[required]").on("focusout blur", function () {
        $(this).parsley().validate()
    }),
    $(document).ready(function () {
        if ("true" == localStorage.getItem("back")) {
            var e = $('input[name="myForm"]').val(),
            t = 0;
            "form1" == e && (t = o ? 5 : 2),
            "form2" == e && ($(".rstepwrapper").addClass("rhide"), $(".rstep6").removeClass("rhide"), t = 6),
            window.intesa.forms.setStep(t),
            window.intesa.forms.refreshStep(t);
            var a = JSON.parse(sessionStorage.getItem("mortageJSON") || "")[0].form2;
            if ("form2" == e && (o ? "" == a.cashLoan && "" == a.babyLoan || ($(".rstepwrapper").eq(t - 1).find("input[data-showloan]").trigger("click"), $(".rstepwrapper").eq(t - 1).find("input[data-showloan]").parent(".rcontainer-input").trigger("click")) : "" != a.averageMonthlyIncome && ($(".rstepwrapper").eq(t - 1).find("input[data-showloan]").trigger("click"), $(".rstepwrapper").eq(t - 1).find("input[data-showloan]").parent(".rcontainer-input").trigger("click")), !o)) {
                var a = JSON.parse(sessionStorage.getItem("mortageJSON") || "")[0].form2,
                r = $(".rstepwrapper").eq(5).find("input[type=radio]").attr("name");
                if ("" != a.inputName) {
                    var n = a[r];
                    $(".rstepwrapper").eq(5).find("input[value=" + n + "]").trigger("click"),
                    $(".rstepwrapper").eq(5).find("input[value=" + n + "]").parent(".rcontainer-input").trigger("click")
                }
            }
            window.intesa.forms.setActiveNext($("button.r-btn-next")),
            localStorage.removeItem("back")
        }
    }),
    $(".r-thankyou-wrapper .j-privacy__btn").on("click", function (e) {
        if (e.preventDefault(), $('form[name="formThanksMortgage"]').parsley().validate())
            if ($(".r-thankyou-content :input").each(function () {
                    if (void 0 !== $(this).attr("name")) {
                        var e = $(this).val() || "",
                        t = $(this).attr("name") || "";
                        "privacystatus" == t && (e = $(this).is(":checked") ? "true" : "false"),
                        "radioTime" == t ? $(this).is(":checked") && ($("form#formTemp").find("input[name=" + $(this).attr("name") + "]").remove(), $("form#formTemp").append('<input type="hidden" name="' + $(this).attr("name") + '" value="' + e + '"/>')) : ($("form#formTemp").find("input[name=" + $(this).attr("name") + "]").remove(), $("form#formTemp").append('<input type="hidden" name="' + $(this).attr("name") + '" value="' + e + '"/>'))
                    }
                }), o) {
                var t = sessionStorage.getItem("mortageJSON") || "";
                if ("" !== t && t.length > 0)
                    var a = JSON.parse(t);
                if (a && a[0] && a[0].form1)
                    for (var r in a[0].form1)
                        a[0].form1[r].length > 0 && $("form#formTemp").append('<input type="hidden" name="' + r + '" value="' + a[0].form1[r] + '"/>');
                if (a && a[0] && a[0].form2)
                    for (var r in a[0].form2)
                        a[0].form2[r].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + r + '" value="' + a[0].form2[r].replace(/[^0-9]/g, "").replace("&nbsp;", "") + '"/>') : $("form#formTemp").append('<input type="hidden" name="' + r + '" value="0"/>');
                if (a && a[0] && a[0].form3)
                    for (var r in a[0].form3)
                        a[0].form3[r].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + r + '" value="' + a[0].form3[r].replace(/[^0-9]/g, "").replace("&nbsp;", "") + '"/>') : $("form#formTemp").append('<input type="hidden" name="' + r + '" value="0"/>');
                $("form#formTemp").submit()
            } else {
                var t = sessionStorage.getItem("mortageJSON") || "";
                if ("" !== t && t.length > 0)
                    var a = JSON.parse(t);
                if (a && a[0] && a[0].form1)
                    for (var r in a[0].form1)
                        a[0].form1[r].length > 0 && $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form1[r] + '"/>');
                if (a && a[0] && a[0].form2)
                    for (var r in a[0].form2)
                        a[0].form2[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form2[r].replace("&nbsp;", "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="0"/>');
                if (a && a[0] && a[0].form3)
                    for (var r in a[0].form3)
                        a[0].form3[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form3[r].replace("&nbsp;", "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="0"/>');
                $(".leaveMessage__submit.j-privacy__btn.j-leaveMessage__submit.btn.btn-primary").attr("disabled", !0),
                $('form[name="formThanksMortgage"]').submit()
            }
        return !1
    }),
    $("[data-formsent]").length > 0 && (sessionStorage.removeItem("mortageJSON"), sessionStorage.removeItem("mortageStep"));
    var u;
    window.onresize = function () {
        clearTimeout(u),
        u = setTimeout(r, 10)
    };
    var d = sessionStorage.getItem("mortageJSON") || "";
    if (d.length > 0) {
        var m = JSON.parse(d),
        p = m[0].form1.productName || "";
        $(".r-title").length > 0 && $(".r-title").each(function () {
            var e = $(this).html();
            e = e.replace("${productName}", p),
            $(this).html(e)
        })
    }
    this.callServlet = function (e, t) {
        $.ajax({
            type: "POST",
            data: t.serialize(),
            url: e,
            success: function (e) {
                console.log("success sending form")
            },
            error: function (e) {
                console.log("error sending form")
            }
        })
    }
}, Intesa.Forms.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.forms || (window.intesa.forms = new Intesa.Forms),
    window.intesa.forms
};
var Intesa = Intesa || {};
Intesa.FormsBIB = function () {
    function e() {
        $("#recaptchainput").val("true"),
        setTimeout(function () {
            $('form[name="formThanksMortgage"]').parsley().validate(),
            d.checkPrivacy()
        }, 500)
    }
    function t() {
        setTimeout(function () {
            $('form[name="formThanksMortgage"]').parsley().validate(),
            forms.checkPrivacy()
        }, 500)
    }
    function a(e) {
        $(".rstepwrapper").addClass("rhide"),
        e.indexOf("One") > -1 && ($(".rstep1").removeClass("rhide"), d.setStep(1), d.refreshStep(1)),
        e.indexOf("Two") > -1 && ($(".rstep2").removeClass("rhide"), d.setStep(2), d.refreshStep(2)),
        e.indexOf("Three") > -1 && ($(".rstep3").removeClass("rhide"), d.setStep(3), d.refreshStep(3)),
        e.indexOf("Four") > -1 && ($(".rstep4").removeClass("rhide"), d.setStep(4), d.refreshStep(4)),
        e.indexOf("Five") > -1 && ($(".rstep5").removeClass("rhide"), d.setStep(5), d.refreshStep(5))
    }
    function r() {
        $("[data-bgimg]").length > 0 && $("[data-bgimg]").each(function () {
            var e = $(this).attr("data-bgimg");
            $(this).css("background-image", "url(" + e + ")")
        })
    }
    this.score1 = "";
    var n = sessionStorage.getItem("score1") || "";
    if (n.length > 0) {
        var o = JSON.parse(n);
        this.score1 = o
    }
    var s = $('input[name="myForm"]').val(),
    l = "PBZ" == $("html").attr("data-bank"),
    c = "CIB" == $("html").attr("data-bank"),
    u = "ISPSLOVENIA" == $("html").attr("data-bank"),
    d = ($("html").attr("data-bank"), this);
    this.init = function () {
        if (c || u || l)
            return void(window.intesa.formsBIB = null);
        window.recaptchaCallback = $("input[name='recaptchaKey']").length >= 1 ? t : e,
        d.sessionMortgage = [{
                form1: {
                    propertyFound: ""
                },
                form2: {
                    propertyType: "",
                    pricePropertyOld: "",
                    pricePropertyNew: "",
                    areaPropertyNew: "",
                    householdMembers: "0",
                    downpaymentProperty: "",
                    propertySubject: "",
                    collateralProperties: "0",
                    mortgageBirthDate: "",
                    mortgageRepaymentMonths: "",
                    isFinancedPropertyCollateral: ""
                },
                form3: {
                    debtorPresence: "",
                    incomePersonal: "",
                    incomeCodebtor: "",
                    incomePersonalUnique: "",
                    creditCardPresence: "",
                    creditCardDebt: "",
                    codebtorCreditCardPresence: "",
                    codebtorCreditCardDebt: ""
                },
                summary: {
                    loanAmountSummary: "",
                    monthlyInstallmentDesired: "",
                    maxLoanAmount: "",
                    processingFee: "",
                    maxMonthlyInstallment: "",
                    vatRefund: "",
                    minValueCollateralForMaxLoanAmount: "",
                    totalExpensesBeforeLoan: "",
                    mass_uppermass: "",
                    isMagnifica: "",
                    cadastreFee: "",
                    cbReportFee: "",
                    estimationMarketValueRealEstate: "",
                    billsOfExchange: "",
                    notaryFeeandCostsNotarization: "",
                    annualPremiumInsurance: "",
                    cadastreFeeMortgageRegistration: "",
                    rewardAndCostsNotaries: "",
                    productId: "",
                    productName: "",
                    countryPrefix: "381"
                },
                score: "",
                typeOfAppointment: ""
            }
        ];
        var a = sessionStorage.getItem("mortgageJSON") || "";
        if (a.length > 0) {
            var r = JSON.parse(a);
            d.sessionMortgage = r
        }
        $('[data-component-r="formMortgageSummaryComponent"]').length > 0 && a.length > 0 && (d.getJsonAjax(), d.initAndUpdateSummary()),
        d.setProductName(),
        d.setMagnificaCss(),
        $('[name="linkDefaultMagnificaMortgage"]').length > 0 && d.setStartingPage(),
        ($('[data-component-r="formStep1Mortagage"]').length > 0 || $('[data-component-r="formStep2Mortagage"]').length > 0 || $('[data-component-r="formStep3Mortagage"]').length > 0 || $('[data-component-r="survey_loan"]').length > 0) && (d.refreshStep(1), d.toggleAccordion(), d.formStep1Mortagage(), "true" != sessionStorage.getItem("back") && $(".rstep1").removeClass("rhide"), d.setActiveInput(), d.setActiveImport(), d.goToNext(), d.goBackStep(), d.plusMinus(), $("#privacystatus").length > 0 && d.checkPrivacy(), d.initStep(), d.writeInput()),
        $('[name="downpaymentProperty"]').length > 0 && d.setAndCheckDownPayment(),
        $('[name="mortgageBirthDate"]').length > 0 && d.setAndCheckBirthDate(),
        $('[name="mortgageRepaymentMonths"]').length > 0 && d.setAndCheckRepaymentMonths(!1)
    },
    this.setMagnificaCss = function () {
        window.location.pathname.toLowerCase().includes("magnifica") && ($(".r-btn-nextMortgage").each(function () {
                $(this).addClass("nextButtonMagnifica")
            }), $(".r-progress-bar-fillMortgage").each(function () {
                $(this).addClass("r-progress-bar-fill-magnifica")
            }), $(".rtitle-accordotionMortgage").each(function () {
                $(this).addClass("rtitle-accordotion-magnifica")
            }), $(".buttonPlusMinusMortgage").each(function () {
                $(this).addClass("plusMinusButtonMagnifica")
            }), $(".loanCalculator__close_mortgage").each(function () {
                $(this).addClass("loanCalculator__close_mortgage_magnifica")
            }))
    },
    this.pmtFunctionRate = function (e, t, a, r, n) {
        if (r || (r = 0), n || (n = 0), 0 == e)
            return  - (a + r) / t;
        var o = Math.pow(1 + e, t),
        i = e / (o - 1) *  - (a * o + r);
        return 1 == n && (i /= 1 + e),
        i
    },
    this.pvFunction = function (e, t, a, r, n) {
        if (r || (r = 0), n || (n = 0), 0 == n) {
            var o = 0 == e ? t : (1 - Math.pow(1 + e, -t)) / e;
            return -a * o - r * Math.pow(1 + e, -t)
        }
        var o = 0 == e ? t : (1 - Math.pow(1 + e, -t)) * (1 + e) / e;
        return -a * o - r * Math.pow(1 + e, -t)
    },
    this.getJsonAjax = function () {
        var e = window.location.origin + "/digitalServicesServlet/?operation=getExchangeRates&httpMethod=GET&endpointName=getExchangeRates&listType=BIB_DEV&headers=standardHeaders&bank=BIB&bankId=BIB&locale=sr";
        middleExchangeRateActive = $.ajax({
            method: "GET",
            async: !1,
            url: e
        }).done(function (e) {
            null != e && (d.exchangeRate = d.setUniversalMiddleExchangeRates(JSON.parse(JSON.stringify(e))))
        })
    },
    this.setUniversalMiddleExchangeRates = function (e) {
        var t,
        a,
        r;
        return $.each(e.rates, function (e, n) {
            var o = n;
            "EUR" == o.toCurrency.label && (a = number_format(o.meanRate.rate, 2, ".", " "), r = number_format(o.meanRate.rate, 2, ".", " "), t = number_format(o.meanRate.rate, 2, ".", " "))
        }),
        t
    },
    this.initAndUpdateSummary = function () {
        var e,
        t = new RegExp("\\B(?=(\\d{3})+(?!\\d))", "g"),
        a = d.sessionMortgage[0],
        r = a.form2.pricePropertyNew.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, ""),
        n = a.form2.pricePropertyOld.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, "");
        n.length > 0 && (null == r || void 0 == r || "" == r || 0 == r.lenght) ? ($('[name="{vatRefund}"]').addClass("mortgage-hide-summary"), e = parseFloat(n)) : e = parseFloat(r);
        var o = $("[name=summaryMortgageJsonValues]").attr("data-mortgage-summary-json-values"),
        i = JSON.parse(o),
        s = i.values,
        l = i.notaryFee,
        c = i.cadastralTariff,
        u = i.totalNotaryCost,
        m = i.resultsSection,
        p = parseFloat(a.form2.downpaymentProperty.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, "")),
        h = e - p,
        g = (Math.floor(Math.pow(10, 2) * h + .5) * Math.pow(10, -2)).toFixed(2);
        $("[data-output-summary='{loanAmount}']").html(g.toString().replace(".", ",").replace(t, "."));
        var f,
        v = s.margin360Mass,
        y = s.margin360Uppermass,
        b = s.margin360Magnifica,
        C = s.margin180Mass,
        I = s.margin180Uppermass,
        w = s.margin180Magnifica;
        f = parseFloat(a.form2.mortgageRepaymentMonths.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, ""));
        var S,
        _,
        T = a.form3.incomePersonal.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, ""),
        R = a.form3.incomeCodebtor.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, ""),
        A = a.form3.incomePersonalUnique.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, "");
        A.length > 0 ? S = parseFloat(A) : (S = parseFloat(T), _ = parseFloat(R));
        var k;
        k = f < 181 ? S < 700 ? C : S < 1500 ? I : w : S < 700 ? v : S < 1500 ? y : b;
        var x = s.value3mEuribor,
        P = k + x;
        P = (Math.floor(Math.pow(10, 2) * P + .5) * Math.pow(10, -2)).toFixed(2);
        var M = P / 100 / 360 * 30.5,
        N = parseFloat(d.pmtFunctionRate(M, f, -h)),
        L = (Math.floor(Math.pow(10, 2) * N + .5) * Math.pow(10, -2)).toFixed(2),
        O = $("#headerMonthlyInstallDesiredSummary").html();
        O = O.replace("{value}", L.toString().replace(".", ",").replace(t, ".")),
        $("#headerMonthlyInstallDesiredSummary").html(O),
        $("[data-algorithm-output='monthlyInstallDesiredSummary']").html(L.toString().replace(".", ",").replace(t, "."));
        var F,
        V = a.form2.isFinancedPropertyCollateral;
        F = "Yes" == V ? e / 1.25 : e / 1.11111111;
        var E,
        D = s.kCoeffVariableInterest,
        B = s.fxCoeff,
        U = s.coeffNetMonthlyIncome1,
        J = s.coeffNetMonthlyIncome2;
        E = null == d.exchangeRate || void 0 == d.exchangeRate || "" == d.exchangeRate ? s.exchangeRateNbs : d.exchangeRate,
        console.log("Today Exchange Rate: ", E);
        var q,
        j,
        G,
        H = s.customerBasket,
        W = H / E,
        Y = a.form3.creditCardDebt.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, ""),
        z = a.form3.codebtorCreditCardDebt.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, ""),
        Q = 0,
        K = 0;
        q = Y.length > 0 ? parseFloat(0) + parseFloat(Y) : parseFloat(0),
        Q = Math.min(D * B * U * (S - W) - q, D * B * (S * J) - q),
        A.length > 0 || (j = z.length > 0 ? parseFloat(0) + parseFloat(z) : parseFloat(0), K = Math.min(D * B * U * (_ - W) - j, D * B * (_ * J) - j)),
        G = Q + K;
        var Z = P / 100 / 360 * 30.501,
        X = parseFloat(d.pvFunction(Z, f, -G)),
        ee = Math.min(F, X),
        te = (Math.floor(Math.pow(10, 2) * ee + .5) * Math.pow(10, -2)).toFixed(2);
        $("[data-output-summary='{maxLoan}']").html(te.toString().replace(".", ",").replace(t, "."));
        var ae,
        re = s.loanProcessingFeeMass,
        ne = s.loanProcessingFeeUppermass,
        oe = s.loanProcessingFeeMagnifica;
        ae = S < 700 ? ee * re : S < 1500 ? ee * ne : ee * oe;
        var ie = (Math.floor(Math.pow(10, 2) * ae + .5) * Math.pow(10, -2)).toFixed(2);
        $("[data-output-summary='{processingFee}']").html(ie.toString().replace(".", ",").replace(t, "."));
        var se = parseFloat(d.pmtFunctionRate(M, f, -F));
        se = (Math.floor(Math.pow(10, 2) * se + .5) * Math.pow(10, -2)).toFixed(2);
        var le = Math.min(se, G),
        ce = (Math.floor(Math.pow(10, 2) * le + .5) * Math.pow(10, -2)).toFixed(2);
        $("[data-output-summary='{maxInstallment}']").html(ce.toString().replace(".", ",").replace(t, "."));
        var ue = "/";
        if (r.length > 0 && (null == n || void 0 == n || "" == n || 0 == n.lenght)) {
            var de,
            me = parseFloat(a.form2.areaPropertyNew.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, "")),
            pe = a.form2.householdMembers.replace(/\s/g, "").replace(/\s/g, "").replace(/\,/g, "").replace(/\./g, "");
            de = me <= 40 ? me : 40;
            var he;
            "0" == pe ? he = 0 : "1" == pe ? he = 15 : "2" == pe ? he = 30 : "3" == pe ? he = 45 : "4" == pe ? he = 60 : "5" == pe ? he = 75 : "6" == pe ? he = 90 : "7" == pe ? he = 105 : "8" == pe ? he = 120 : "9" == pe ? he = 135 : "10" == pe && (he = 150);
            var ge;
            ge = de + he > me ? me : de + he;
            var fe = e / me,
            ve = s.vatRate,
            ye = fe * ge * (ve / 100);
            ue = (Math.floor(Math.pow(10, 2) * ye + .5) * Math.pow(10, -2)).toFixed(2),
            $("[data-output-summary='{vatRefund}']").html(ue.toString().replace(".", ",").replace(t, "."))
        }
        var be = "/";
        if ("Yes" == V)
            $('[name="{minValueCollateral}"]').addClass("mortgage-hide-summary");
        else {
            var $e = 1.25 * ee;
            be = (Math.floor(Math.pow(10, 2) * $e + .5) * Math.pow(10, -2)).toFixed(2),
            $("[data-output-summary='{minValueCollateral}']").html(be.toString().replace(".", ",").replace(t, "."))
        }
        var Ce,
        Ie = e * E,
        we = ee * E,
        Se = parseFloat(u.totalNotaryCostValue),
        _e = parseFloat(l.notaryRewardCoeff),
        Te = parseFloat(l.notaryRewardPercentage) / 100,
        Re = 0,
        Ae = 0,
        ke = parseFloat(l.maxLimitLegalWorkValue),
        xe = parseFloat(l.legalWorkValue6Points);
        Ce = we < ke ? "Manje od 14 mil. RSD" : we;
        var Pe;
        try {
            Pe = 10 * Math.ceil((Ce - ke) / 1e6) < 0 ? 0 : 10 * Math.ceil((Ce - ke) / 1e6)
        } catch (e) {
            Pe = "Nema"
        }
        var Me,
        Ne = parseFloat(l.limitTotalNumberOfPoints);
        try {
            Me = Pe + xe > Ne ? Ne : Pe + xe
        } catch (e) {
            Me = ""
        }
        "Nema" != Pe.toString() && (Ae = Me > Ne ? Ne * _e * Te : Me * _e * Te);
        var Le,
        Oe;
        we > 1 && we <= 6e5 ? (Le = parseFloat(l.legalWorkValue1Points), Oe = Le * _e * Te, rewardAndNotaryCostsInRSD = Oe + Se) : we > 6e5 && we <= 25e5 ? (Le = parseFloat(l.legalWorkValue2Points), Oe = Le * _e * Te, rewardAndNotaryCostsInRSD = Oe + Se) : we > 25e5 && we <= 5e6 ? (Le = parseFloat(l.legalWorkValue3Points), Oe = Le * _e * Te, rewardAndNotaryCostsInRSD = Oe + Se) : we > 5e6 && we <= 7e6 ? (Le = parseFloat(l.legalWorkValue4Points), Oe = Le * _e * Te, rewardAndNotaryCostsInRSD = Oe + Se) : we > 7e6 && we <= 1e7 ? (Le = parseFloat(l.legalWorkValue5Points), Oe = Le * _e * Te, rewardAndNotaryCostsInRSD = Oe + Se) : we > 1e7 && we <= 14e6 ? (Le = parseFloat(l.legalWorkValue6Points), Oe = Le * _e * Te, rewardAndNotaryCostsInRSD = Oe + Se) : rewardAndNotaryCostsInRSD = 0 == we ? 0 : Ae + Se,
        "Nema" == Pe.toString() && (Ae = rewardAndNotaryCostsInRSD);
        var Fe,
        Ve = parseFloat(c.republicAdministrativeFee);
        we <= 6e6 ? Fe = parseFloat(c.cadastralTariff1Fee) : we > 6e6 && we <= 3e7 ? Fe = parseFloat(c.cadastralTariff2Fee) : we > 3e7 && we <= 6e7 ? Fe = parseFloat(c.cadastralTariff3Fee) : we > 6e7 && (Fe = parseFloat(c.cadastralTariff4Fee));
        var Ee,
        De = Fe + Ve;
        Ee = Ie < ke ? "Manje od 14 mil. RSD" : Ie;
        var Be;
        try {
            Be = 10 * Math.ceil((Ee - ke) / 1e6) < 0 ? 0 : 10 * Math.ceil((Ee - ke) / 1e6)
        } catch (e) {
            Be = "Nema"
        }
        var Ue;
        try {
            Ue = Be + xe > Ne ? Ne : Be + xe
        } catch (e) {
            Ue = ""
        }
        "Nema" != Be.toString() && (Re = Ue > Ne ? Ne * _e : Ue * _e);
        var Je,
        qe,
        je;
        Ie > 1 && Ie <= 6e5 ? (Je = parseFloat(l.legalWorkValue1Points), qe = Je * _e, je = qe + Se) : Ie > 6e5 && Ie <= 25e5 ? (Je = parseFloat(l.legalWorkValue2Points), qe = Je * _e, je = qe + Se) : Ie > 25e5 && Ie <= 5e6 ? (Je = parseFloat(l.legalWorkValue3Points), qe = Je * _e, je = qe + Se) : Ie > 5e6 && Ie <= 7e6 ? (Je = parseFloat(l.legalWorkValue4Points), qe = Je * _e, je = qe + Se) : Ie > 7e6 && Ie <= 1e7 ? (Je = parseFloat(l.legalWorkValue5Points), qe = Je * _e, je = qe + Se) : Ie > 1e7 && Ie <= 14e6 ? (Je = parseFloat(l.legalWorkValue6Points), qe = Je * _e, je = qe + Se) : je = 0 == Ie ? 0 : Re + Se,
        "Nema" == Be.toString() && (Re = je);
        var Ge = parseFloat(m.cadastreFee) / E,
        He = parseFloat(m.cbReportFee) / E,
        We = parseFloat(m.coeffEstimationMarketValueRealEstate),
        Ye = We * E / E,
        ze = parseFloat(m.billsOfExchange) / E,
        Qe = rewardAndNotaryCostsInRSD / E,
        Ke = parseFloat(m.coeffAnnualPremiumInsurance),
        Ze = Ke * E / E,
        Xe = De / E,
        et = je / E,
        tt = Ge + He + Ye + ze + Qe + Ze + Xe + et,
        at = (Math.floor(Math.pow(10, 2) * Ge + .5) * Math.pow(10, -2)).toFixed(2),
        rt = (Math.floor(Math.pow(10, 2) * He + .5) * Math.pow(10, -2)).toFixed(2),
        nt = (Math.floor(Math.pow(10, 2) * Ye + .5) * Math.pow(10, -2)).toFixed(2),
        ot = (Math.floor(Math.pow(10, 2) * ze + .5) * Math.pow(10, -2)).toFixed(2),
        it = (Math.floor(Math.pow(10, 2) * Qe + .5) * Math.pow(10, -2)).toFixed(2),
        st = (Math.floor(Math.pow(10, 2) * Ze + .5) * Math.pow(10, -2)).toFixed(2),
        lt = (Math.floor(Math.pow(10, 2) * Xe + .5) * Math.pow(10, -2)).toFixed(2),
        ct = (Math.floor(Math.pow(10, 2) * et + .5) * Math.pow(10, -2)).toFixed(2),
        ut = (Math.floor(Math.pow(10, 2) * tt + .5) * Math.pow(10, -2)).toFixed(2);
        $("[data-output-summary='{cadastreFee}']").html(at.toString().replace(".", ",").replace(t, ".")),
        $("[data-output-summary='{cbReportFee}']").html(rt.toString().replace(".", ",").replace(t, ".")),
        $("[data-output-summary='{estimationMarketValueRealEstate}']").html(nt.toString().replace(".", ",").replace(t, ".")),
        $("[data-output-summary='{billsOfExchange}']").html(ot.toString().replace(".", ",").replace(t, ".")),
        $("[data-output-summary='{notaryFeeandCostsNotarization}']").html(it.toString().replace(".", ",").replace(t, ".")),
        $("[data-output-summary='{annualPremiumInsurance}']").html(st.toString().replace(".", ",").replace(t, ".")),
        $("[data-output-summary='{cadastreFeeMortgageRegistration}']").html(lt.toString().replace(".", ",").replace(t, ".")),
        $("[data-output-summary='{rewardAndCostsNotaries}']").html(ct.toString().replace(".", ",").replace(t, ".")),
        $("[data-output-summary='{totalExpensesBeforeLoan}']").html(ut.toString().replace(".", ",").replace(t, "."));
        var dt = sessionStorage.getItem("mortgageJSON"),
        mt = dt ? JSON.parse(dt) : {},
        pt = "",
        ht = "false",
        gt = "",
        ft = "";
        $("[name=summaryMortgageProductMagnifica]").length && (gt = $("[name=summaryMortgageProductMagnifica]").attr("data-mortgage-summary-product-id-magnifica"), ft = $("[name=summaryMortgageProductMagnifica]").attr("data-mortgage-summary-product-name-magnifica"));
        var vt = "",
        yt = "";
        $("[name=summaryMortgageProductRetail]").length && (vt = $("[name=summaryMortgageProductMagnifica]").attr("data-mortgage-summary-product-id-retail"), yt = $("[name=summaryMortgageProductMagnifica]").attr("data-mortgage-summary-product-name-retail")),
        S < 700 ? (pt = "mass", mt[0].summary.productId = vt.substring(0, 2), mt[0].summary.productName = yt) : S < 1500 ? (pt = "uppermass", mt[0].summary.productId = vt.substring(0, 2), mt[0].summary.productName = yt) : (ht = "true", pt = "", mt[0].summary.productId = gt.substring(0, 2), mt[0].summary.productName = ft),
        void 0 !== mt[0] && null !== mt[0] && (mt[0].summary.isMagnifica = ht, mt[0].summary.mass_uppermass = pt, mt[0].summary.loanAmountSummary = g.toString().replace(t, " "), mt[0].summary.monthlyInstallmentDesired = L.toString().replace(t, " "), mt[0].summary.maxLoanAmount = te.toString().replace(t, " "), mt[0].summary.processingFee = ie.toString().replace(t, " "), mt[0].summary.maxMonthlyInstallment = ce.toString().replace(t, " "), mt[0].summary.vatRefund = ue.toString().replace(t, " "), mt[0].summary.minValueCollateralForMaxLoanAmount = be.toString().replace(t, " "), mt[0].summary.cadastreFee = at.toString().replace(t, " "), mt[0].summary.cbReportFee = rt.toString().replace(t, " "), mt[0].summary.estimationMarketValueRealEstate = nt.toString().replace(t, " "), mt[0].summary.billsOfExchange = ot.toString().replace(t, " "), mt[0].summary.notaryFeeandCostsNotarization = it.toString().replace(t, " "), mt[0].summary.annualPremiumInsurance = st.toString().replace(t, " "), mt[0].summary.cadastreFeeMortgageRegistration = lt.toString().replace(t, " "), mt[0].summary.rewardAndCostsNotaries = ct.toString().replace(t, " "), mt[0].summary.totalExpensesBeforeLoan = ut.toString().replace(t, " ")),
        sessionStorage.setItem("mortgageJSON", JSON.stringify(mt))
    },
    this.setProductName = function () {
        var e = d.sessionMortgage[0].form1.productName;
        if (null != e) {
            for (var t = e.split(" "), a = 0; a < t.length; a++)
                t[a] = t[a].charAt(0).toUpperCase() + t[a].slice(1);
            var r = t.join(" ");
            $(".productName").length > 0 && $(".productName").each(function () {
                var e = $(this).html();
                e = e.replace("${productName}", r),
                $(this).html(e)
            })
        }
    },
    $('[name="pricePropertyNew"]').on("change input", function () {
        JSON.parse(sessionStorage.getItem("mortgageJSON"))[0].form2.pricePropertyNew.replace(/\./g, "").replace(/\s/g, "") !== $('[name="pricePropertyNew"]').val().replace(/\./g, "").replace(/\s/g, "") && $('[name="downpaymentProperty"]').val("")
    }),
    $('[name="pricePropertyOld"]').on("change input", function () {
        JSON.parse(sessionStorage.getItem("mortgageJSON"))[0].form2.pricePropertyOld.replace(/\./g, "").replace(/\s/g, "") !== $('[name="pricePropertyOld"]').val().replace(/\./g, "").replace(/\s/g, "") && $('[name="downpaymentProperty"]').val("")
    }),
    this.setAndCheckDownPayment = function () {
        var e,
        t = new RegExp("\\B(?=(\\d{3})+(?!\\d))", "g"),
        a = parseFloat($('[name="downpaymentProperty"]').attr("data-mortgage-min-percentage")),
        r = parseFloat($('[name="downpaymentProperty"]').attr("data-mortgage-max-percentage")),
        n = parseFloat($('[name="downpaymentProperty"]').attr("data-mortgage-default-percentage")),
        o = JSON.parse(sessionStorage.getItem("mortgageJSON"))[0].form2.pricePropertyOld,
        i = JSON.parse(sessionStorage.getItem("mortgageJSON"))[0].form2.pricePropertyNew;
        "" !== o && 0 !== o && void 0 !== o && null !== o ? (o = o.replace(/\./g, ""), o = o.replace(/\s/g, ""), e = parseInt(o)) : "" !== i && 0 !== i && void 0 !== i && null !== i && (i = i.replace(/\./g, ""), i = i.replace(/\s/g, ""), e = parseInt(i));
        var s = Math.ceil(e * r / 100),
        l = Math.floor(e * a / 100),
        c = Math.floor(e * n / 100);
        $('[name="downpaymentProperty"]').attr("data-parsley-min", l),
        $('[name="downpaymentProperty"]').attr("data-parsley-max", s);
        var u = $('[name="downpaymentProperty"]').attr("data-parsley-error-message");
        if (u.includes("<span") ? (u = u.replace(/<span id='minValueDownpayment'>.*<\/span>/, "<span id='minValueDownpayment'>" + l.toString().replace(".", ",").replace(t, ".") + "</span>"), u = u.replace(/<div style='display:inline' id='maxValueDownpayment'>.*<\/div>/, "<div style='display:inline' id='maxValueDownpayment'>" + s.toString().replace(".", ",").replace(t, ".") + "</div>")) : (u = u.replace("{minValueDownpayment}", "<span id='minValueDownpayment'>" + l.toString().replace(".", ",").replace(t, ".") + "</span>"),
                u = u.replace("{maxValueDownpayment}", "<div style='display:inline' id='maxValueDownpayment'>" + s.toString().replace(".", ",").replace(t, ".") + "</div>")), $('[name="downpaymentProperty"]').attr("data-parsley-error-message", u), "" == $('[name="downpaymentProperty"]').val() || null == $('[name="downpaymentProperty"]').val() || void 0 == $('[name="downpaymentProperty"]').val() || isNaN($('[name="downpaymentProperty"]').val().replace(/\./g, "").replace(/\s/g, "")))
            $('[name="downpaymentProperty"]').val(c.toString().replace(t, "."));
        else {
            $('[name="downpaymentProperty"]').parsley().destroy();
            var m = $('[name="downpaymentProperty"]').val(),
            p = $('[name="downpaymentProperty"]').val();
            m = m.replace(/\./g, ""),
            m = m.replace(/\s/g, ""),
            $('[name="downpaymentProperty"]').val(m),
            $('[name="downpaymentProperty"]').parsley().validate(),
            $('[name="downpaymentProperty"]').val(p);
            var h = d.getStep();
            d.setNextActiveCheckingFields(h)
        }
        var g = $('[name="downpaymentProperty"]').attr("name"),
        f = $('[name="downpaymentProperty"]').val();
        void 0 !== d.sessionMortgage[0].form2[g] && (d.sessionMortgage[0].form2[g] = f)
    },
    this.setAndCheckBirthDate = function () {
        var e = parseFloat($('[name="mortgageBirthDate"]').attr("data-mortgage-years-min")),
        t = parseFloat($('[name="mortgageBirthDate"]').attr("data-mortgage-years-max")),
        a = parseFloat($('[name="mortgageRepaymentMonths"]').attr("data-mortgage-repayment-min")),
        r = e,
        n = (parseInt(t) - Math.ceil(parseInt(a) / 12)).toString(),
        o = new Date,
        i = o.getFullYear(),
        s = o.getMonth(),
        l = o.getDate(),
        c = new Date(i - parseInt(e), s, l),
        u = new Date(i - parseInt(t), s + parseInt(a), l),
        d = c.getFullYear(),
        m = c.getMonth() + 1,
        p = c.getDate();
        p < 10 && (p = "0" + p),
        m < 10 && (m = "0" + m);
        var h = u.getFullYear(),
        g = u.getMonth() + 1,
        f = u.getDate();
        f < 10 && (f = "0" + f),
        g < 10 && (g = "0" + g);
        var v = p + "/" + m + "/" + d,
        y = f + "/" + g + "/" + h;
        $('[name="mortgageBirthDate"]').removeAttr("data-parsley-mindate"),
        $('[name="mortgageBirthDate"]').removeAttr("data-parsley-maxdate"),
        $('[name="mortgageBirthDate"]').attr("data-parsley-mindate", y),
        $('[name="mortgageBirthDate"]').attr("data-parsley-maxdate", v);
        var b = p + "." + m + "." + d,
        C = f + "." + g + "." + h;
        $('[name="mortgageBirthDate"]').attr("data-min", C),
        $('[name="mortgageBirthDate"]').attr("data-max", b);
        var I = $('[name="mortgageBirthDate"]').attr("data-parsley-error-message"),
        w = $("#descriptionQuestionBirthDate").html().toString();
        w.includes("{minBirthDateMortgage}") && (w = w.replace("{minBirthDateMortgage}", "<span id='minBirthDateMortgage'>" + r + "</span>"), w = w.replace("{maxBirthDateMortgage}", "<div style='display:inline' id='maxBirthDateMortgage'>" + n + "</div>")),
        I.includes("{minBirthDateMortgage}") && (I = I.replace("{minBirthDateMortgage}", "<span id='minBirthDateMortgage'>" + r + "</span>"), I = I.replace("{maxBirthDateMortgage}", "<div style='display:inline' id='maxBirthDateMortgage'>" + n + "</div>")),
        $('[name="mortgageBirthDate"]').attr("data-parsley-error-message", I),
        $("#descriptionQuestionBirthDate").html(w);
        var S = $('[name="mortgageBirthDate"]').val();
        null !== S && void 0 !== S && "" !== S && (window.Parsley.addValidator("mindate", {
                validateString: function (e, t) {
                    var a = e.replaceAll(".", "/"),
                    r = a.split("/"),
                    n = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
                    if ((r[2] % 400 == 0 || r[2] % 100 != 0 && r[2] % 4 == 0) && (n[1] = 29), r[0] > n[r[1] - 1])
                        return !1;
                    var o = new Date(+r[2], r[1] - 1, +r[0]),
                    i = t.split("/");
                    return o >= new Date(+i[2], i[1] - 1, +i[0])
                }
            }), window.Parsley.addValidator("maxdate", {
                validateString: function (e, t) {
                    var a = e.replaceAll(".", "/"),
                    r = a.split("/"),
                    n = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
                    if ((r[2] % 400 == 0 || r[2] % 100 != 0 && r[2] % 4 == 0) && (n[1] = 29), r[0] > n[r[1] - 1])
                        return !1;
                    var o = new Date(+r[2], r[1] - 1, +r[0]),
                    i = t.split("/");
                    return o <= new Date(+i[2], i[1] - 1, +i[0])
                }
            }), $('[name="mortgageBirthDate"]').parsley().validate())
    },
    this.setAndCheckRepaymentMonths = function (e) {
        var t,
        a,
        r = parseFloat($('[name="mortgageRepaymentMonths"]').attr("data-mortgage-repayment-min")),
        n = parseFloat($('[name="mortgageRepaymentMonths"]').attr("data-mortgage-repayment-max")),
        o = $('[name="mortgageBirthDate"]').val();
        if (null === o || void 0 === o || "" === o)
            t = r, a = n;
        else {
            var i,
            s = parseInt($('[name="mortgageBirthDate"]').attr("data-mortgage-years-max")),
            l = o.replace(/\./g, "/"),
            c = l.split("/"),
            u = new Date(+c[2], c[1] - 1, +c[0]),
            m = u.getFullYear(),
            p = u.getMonth(),
            h = u.getDate(),
            g = new Date(m + s, p, h),
            f = new Date;
            i = 12 * (g.getFullYear() - f.getFullYear()),
            i -= f.getMonth(),
            i += g.getMonth();
            h < f.getDate() && (i -= 1),
            a = i > parseInt(n) ? n : i.toString(),
            t = r
        }
        $('[name="mortgageRepaymentMonths"]').attr("data-parsley-min", t),
        $('[name="mortgageRepaymentMonths"]').attr("data-parsley-max", a);
        var v = $('[name="mortgageRepaymentMonths"]').attr("data-parsley-error-message"),
        y = $("#descriptionQuestionRepayment").html().toString();
        if (y.includes("{minRepaymentMonthsMortgage}")) {
            window.matchMedia("only screen and (max-width: 760px)").matches && (y = y.replace("-", "<br>")),
            y = y.replace("{minRepaymentMonthsMortgage}", "<span id='minRepaymentMonthsMortgage'>" + t + "</span>"),
            y = y.replace("{maxRepaymentMonthsMortgage}", '<div style="display:inline" id="maxRepaymentMonthsMortgage">' + a + "</div>")
        } else
            y = y.replace(/<span id='minRepaymentMonthsMortgage'>.*<\/span>/, "<span id='minRepaymentMonthsMortgage'>" + t + "</span>"), y = y.replace(/<div style="display:inline" id="maxRepaymentMonthsMortgage">.*<\/div>/, '<div style="display:inline" id="maxRepaymentMonthsMortgage">' + a + "</div>");
        if (v.includes("{minRepaymentMonthsMortgage}") ? (v = v.replace("{minRepaymentMonthsMortgage}", "<span id='minRepaymentMonthsMortgage'>" + t + "</span>"), v = v.replace("{maxRepaymentMonthsMortgage}", "<div style='display:inline' id='maxRepaymentMonthsMortgage'>" + a + "</div>")) : (v = v.replace(/<span id='minRepaymentMonthsMortgage'>.*<\/span>/, "<span id='minRepaymentMonthsMortgage'>" + t + "</span>"), v = v.replace(/<div style='display:inline' id='maxRepaymentMonthsMortgage'>.*<\/div>/, "<div style='display:inline' id='maxRepaymentMonthsMortgage'>" + a + "</div>")), $('[name="mortgageRepaymentMonths"]').attr("data-parsley-error-message", v), $("#descriptionQuestionRepayment").html(y), null !== o && void 0 !== o && "" !== o) {
            var b = $('[name="mortgageRepaymentMonths"]').val();
            if (null !== b && void 0 !== b && "" !== b) {
                e && $('[name="mortgageRepaymentMonths"]').val(a),
                $('[name="mortgageRepaymentMonths"]').parsley().validate();
                var C = d.getStep();
                d.setNextActiveCheckingFields(C)
            } else
                $('[name="mortgageRepaymentMonths"]').val(a), $('[name="mortgageRepaymentMonths"]').hasClass("fc-primary") && $('[name="mortgageRepaymentMonths"]').addClass("fc-edited"), $('[name="mortgageRepaymentMonths"]').parsley().validate();
            var I = $('[name="mortgageRepaymentMonths"]').attr("name"),
            w = $('[name="mortgageRepaymentMonths"]').val();
            void 0 !== d.sessionMortgage[0].form2[I] && (d.sessionMortgage[0].form2[I] = w)
        }
    },
    this.checkMobileOrDesktopQuestionOne = function () {
        var e = d.getStep(),
        t = parseInt(e);
        "form1" == $('input[name="myForm"]').val() && 1 == t ? ($("#submit").addClass("mobileVersion"), $("#previous").addClass("desktopVersion")) : ($("#submit").removeClass("mobileVersion"), $("#previous").removeClass("desktopVersion"))
    },
    this.freeEmptyField = function () {
        var e = d.getStep(),
        t = parseInt(e),
        a = $('input[name="myForm"]').val();
        $(".rstepwrapper").eq(t - 1).find("input:hidden").each(function (e) {
            var r = this.name,
            n = this.type;
            d.sessionMortgage[0][a][r] && (d.sessionMortgage[0][a][r] = ""),
            "radio" == n ? ($(".rstepwrapper").eq(t - 1).find("input:hidden").eq(e).parent().removeClass("active"), this.checked = !1) : this.value = ""
        }),
        $(".rstepwrapper").eq(t - 1).find("[data-val]:hidden").each(function (e) {
            var t = $(this).attr("name");
            d.sessionMortgage[0][a][t] && (d.sessionMortgage[0][a][t] = "0")
        })
    },
    this.setNextActiveCheckingFields = function (e) {
        var t = !0,
        a = parseInt(e);
        $(".rstepwrapper").eq(a - 1).find("input:visible").each(function () {
            if ("radio" == this.type) {
                var e = this.name;
                0 == $(".rstepwrapper").eq(a - 1).find("input[name=" + e + "]:checked").length && (t = !1)
            } else
                "" != this.value && null != this.value && void 0 != this.value || (t = !1)
        }),
        t ? $(".parsley-custom-error-message:visible").length > 0 ? d.disableNext($("button.r-btn-next")) : (d.setActiveNext($("button.r-btn-next")), d.checkMinCollateral()) : d.disableNext($("button.r-btn-next"))
    },
    $("#mortgage_dateYear").focusin(function () {
        $(".dataPickerContainerMortgage").addClass("fc-edited");
        var e = d.getStep();
        d.setNextActiveCheckingFields(e)
    }),
    $("#mortgage_dateYear").focusout(function () {
        if ("" !== $("#mortgage_dateYear").val() && null !== $("#mortgage_dateYear").val() && void 0 !== $("#mortgage_dateYear").val()) {
            $(".dataPickerContainerMortgage").addClass("fc-edited"),
            d.sessionMortgage[0].form2.mortgageBirthDate = $("#mortgage_dateYear").val();
            var e = d.getStep();
            d.setNextActiveCheckingFields(e)
        } else
            $(".dataPickerContainerMortgage").removeClass("fc-edited")
    }),
    $("#mortgage_dateYear").on("change input", function () {
        "" !== $("#mortgage_dateYear").val() && null !== $("#mortgage_dateYear").val() && void 0 !== $("#mortgage_dateYear").val() ? ($(".dataPickerContainerMortgage").addClass("fc-edited"), d.sessionMortgage[0].form2.mortgageBirthDate = $("#mortgage_dateYear").val()) : $(".dataPickerContainerMortgage").removeClass("fc-edited");
        var e = d.getStep();
        d.setNextActiveCheckingFields(e)
    }),
    $(document).on("change input", "[data-mortgage-input=checkMortgageInputNumerical]", function () {
        if ("mortgageBirthDate" !== $(this).attr("name")) {
            $(this).parsley().destroy();
            var e = $(this).val(),
            t = $(this).val();
            "creditCardDebt" !== $(this).attr("name") && "codebtorCreditCardDebt" !== $(this).attr("name") || (t = t.replace(/\-/g, ""), e = e.replace(/\-/g, "")),
            e.includes(",") && (t = t.substring(0, t.indexOf(",")), e = e.substring(0, e.indexOf(","))),
            t = t.replace(/\,/g, ""),
            e = e.replace(/\,/g, ""),
            e = e.replace(/\./g, ""),
            e = e.replace(/\s/g, ""),
            $(this).val(e),
            $(this).parsley().validate(),
            $(this).val(t);
            var a = d.getStep();
            d.setNextActiveCheckingFields(a)
        } else {
            $(this).parsley().destroy();
            var e = $(this).val(),
            t = $(this).val();
            e = e.replace(/\./g, "/"),
            window.Parsley.addValidator("mindate", {
                validateString: function (e, t) {
                    var a = e.replaceAll(".", "/"),
                    r = a.split("/"),
                    n = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
                    if ((r[2] % 400 == 0 || r[2] % 100 != 0 && r[2] % 4 == 0) && (n[1] = 29), r[0] > n[r[1] - 1])
                        return !1;
                    var o = new Date(+r[2], r[1] - 1, +r[0]),
                    i = t.split("/");
                    return o >= new Date(+i[2], i[1] - 1, +i[0])
                }
            }),
            window.Parsley.addValidator("maxdate", {
                validateString: function (e, t) {
                    var a = e.replaceAll(".", "/"),
                    r = a.split("/"),
                    n = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
                    if ((r[2] % 400 == 0 || r[2] % 100 != 0 && r[2] % 4 == 0) && (n[1] = 29), r[0] > n[r[1] - 1])
                        return !1;
                    var o = new Date(+r[2], r[1] - 1, +r[0]),
                    i = t.split("/");
                    return o <= new Date(+i[2], i[1] - 1, +i[0])
                }
            });
            var r = $(this).parsley().validate();
            $(this).val(t);
            var a = d.getStep();
            d.setNextActiveCheckingFields(a),
            !0 === r && d.setAndCheckRepaymentMonths(!0)
        }
    }),
    $("#summaryVideochat").on("click", function () {
        var e = $("#summaryVideochat").attr("data-mail-content"),
        t = sessionStorage.getItem("mortgageJSON"),
        a = t ? JSON.parse(t) : {};
        void 0 !== a[0] && null !== a[0] && a[0].hasOwnProperty("typeOfAppointment") && (a[0].typeOfAppointment = e),
        sessionStorage.setItem("mortgageJSON", JSON.stringify(a)),
        $("#summaryVideochat")[0].innerHTML = '<span><img class="loading-mortgage" width="22" height="22"></img></span>',
        $("#summaryVideochat")[0].disabled = !0,
        window.location.replace($("#summaryVideochat").attr("data-redirect-link"))
    }),
    $("#summaryInBranch").on("click", function () {
        var e = $("#summaryInBranch").attr("data-mail-content"),
        t = sessionStorage.getItem("mortgageJSON"),
        a = t ? JSON.parse(t) : {};
        void 0 !== a[0] && null !== a[0] && a[0].hasOwnProperty("typeOfAppointment") && (a[0].typeOfAppointment = e),
        sessionStorage.setItem("mortgageJSON", JSON.stringify(a)),
        $("#summaryInBranch")[0].innerHTML = '<span><img class="loading-mortgage" width="22" height="22"></img></span>',
        $("#summaryInBranch")[0].disabled = !0,
        window.location.replace($("#summaryInBranch").attr("data-redirect-link"))
    }),
    this.scoreFunction = function () {
        var e = $('input[name="myForm"]').val(),
        t = d.getStep() - 1;
        "form1" == e && 0 == t && (d.score1 = $(".rstepwrapper").eq(t - 1).find("input:checked").attr("js-data-score"), sessionStorage.setItem("score1", JSON.stringify(d.score1)));
        var a = sessionStorage.getItem("mortgageJSON"),
        r = a ? JSON.parse(a) : {};
        r[0].score = d.score1,
        sessionStorage.setItem("mortgageJSON", JSON.stringify(r))
    },
    this.writeInput = function () {
        var e = Array.from($(".control-input-mortgage")),
        t = sessionStorage.getItem("mortgageJSON") || "",
        a = $('input[name="myForm"]').val(),
        r = t ? JSON.parse(t) : {};
        if (r && r[0] && e.forEach(function (e) {
                var t = e.name;
                r[0][a][t].length > 0 && ("radio" == e.type ? e.name == t && e.value == r[0][a][t] && e.click() : (e.value = r[0][a][t], "mortgageBirthDate" == t && $(".dataPickerContainerMortgage").addClass("fc-edited"), $('[name="' + t + '"]').addClass("fc-edited")))
            }), "form2" === a) {
            var n = r[0][a].householdMembers;
            $("#householdMembers").html(n);
            var o = parseInt($('[name="householdMembers"]').attr("data-maximum"));
            0 === parseInt(n) ? ($('[name="householdMembersMinus"]').addClass("disabled"), $('[name="householdMembersPlus"]').removeClass("disabled")) : parseInt(n) === o ? ($('[name="householdMembersMinus"]').removeClass("disabled"), $('[name="householdMembersPlus"]').addClass("disabled")) : ($('[name="householdMembersMinus"]').removeClass("disabled"), $('[name="householdMembersPlus"]').removeClass("disabled"));
            var i = r[0][a].collateralProperties;
            $("#collateralProperties").html(i);
            var s = parseInt($('[name="collateralProperties"]').attr("data-maximum"));
            0 === parseInt(i) ? ($('[name="collateralPropertiesMinus"]').addClass("disabled"), $('[name="collateralPropertiesPlus"]').removeClass("disabled")) : parseInt(i) === s ? ($('[name="collateralPropertiesMinus"]').removeClass("disabled"), $('[name="collateralPropertiesPlus"]').addClass("disabled")) : ($('[name="collateralPropertiesMinus"]').removeClass("disabled"), $('[name="collateralPropertiesPlus"]').removeClass("disabled"))
        }
        if (sessionStorage.getItem("next")) {
            var l = d.getStep();
            d.setNextActiveCheckingFields(l)
        }
        sessionStorage.getItem("back") && d.setActiveNext($("button.r-btn-next"))
    },
    this.initStep = function () {
        var e = (sessionStorage.getItem("mortgageJSON"), $('input[name="myForm"]').val());
        "true" == sessionStorage.getItem("back") && ("form1" == e && ($(".rstepwrapper").addClass("rhide"), $(".rstep1").removeClass("rhide"), dataNewStep = 1), "form2" == e && ($(".rstepwrapper").addClass("rhide"), $(".rstep4").removeClass("rhide"), dataNewStep = 4), "form3" == e && ($(".rstepwrapper").addClass("rhide"), $(".rstep1").removeClass("rhide"), dataNewStep = 3), window.intesa.formsBIB.setStep(dataNewStep), window.intesa.formsBIB.refreshStep(dataNewStep)),
        "true" == sessionStorage.getItem("next") && ($(".rstepwrapper").addClass("rhide"), $(".rstep1").removeClass("rhide"), dataNewStep = 1, window.intesa.formsBIB.setStep(dataNewStep), window.intesa.formsBIB.refreshStep(dataNewStep))
    },
    this.stepByStorage = function () {
        var e = sessionStorage.getItem("mortgageJSON") || "";
        if (e.length > 0) {
            var t = JSON.parse(e);
            if (t && t[0] && t[0].form1)
                for (var r in t[0].form1)
                    if ($('input[name="' + r + '"]').length > 0 && t[0].form1[r].length > 0 && "true" != sessionStorage.getItem("next"))
                        switch (a(r), $('input[name="' + r + '"]').each(function () {
                                var e = this;
                                $(e).val() == t[0].form1[r] && $(e).attr("checked", !0).parent("label").trigger("click")
                            }), r) {
                        case "propertyFound":
                            d.setStep(1),
                            d.refreshStep(1),
                            $(".rstep1").removeClass("rhide")
                        }
            if (t && t[0] && t[0].form2)
                for (var r in t[0].form2)
                    if ($('input[name="' + r + '"]').length > 0 && t[0].form2[r].length > 0 && "true" != sessionStorage.getItem("next")) {
                        "radio" != $(self).attr("type") && $('input[name="' + r + '"]').val(t[0].form2[r]);
                        var n = parseInt(d.getStep());
                        switch ($(".rstepwrapper").eq(n - 1).find('input[name="' + r + '"]').trigger("keyup"), r) {
                        case "propertyType":
                            d.setStep(1),
                            d.refreshStep(1),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep1").removeClass("rhide");
                            break;
                        case "downpaymentProperty":
                            d.setStep(2),
                            d.refreshStep(2),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep2").removeClass("rhide");
                            break;
                        case "propertySubject":
                            d.setStep(3),
                            d.refreshStep(3),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep3").removeClass("rhide");
                            break;
                        case "mortgageBirthDate":
                            d.setStep(4),
                            d.refreshStep(4),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep4").removeClass("rhide")
                        }
                    }
            if (t && t[0] && t[0].form3)
                for (var r in t[0].form3) {
                    if ($('input[name="' + r + '"]').length > 0 && t[0].form3[r].length > 0 && "true" != sessionStorage.getItem("next"))
                        switch (r) {
                        case "debtorPresence":
                            d.setStep(1),
                            d.refreshStep(1),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep1").removeClass("rhide");
                            break;
                        case "":
                            d.setStep(2),
                            d.refreshStep(2),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep2").removeClass("rhide");
                            break;
                        case "":
                            d.setStep(3),
                            d.refreshStep(3),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep3").removeClass("rhide")
                        }
                    $('input[name="' + r + '"]').val(t[0].form3[r]).trigger("focus"),
                    $('input[name="' + r + '"]').val(t[0].form3[r]).trigger("keyup")
                }
        }
    },
    this.goToNext = function () {
        $(document).on("click", "button.r-btn-next", function (e) {
            d.freeEmptyField(),
            sessionStorage.removeItem("back"),
            sessionStorage.removeItem("next"),
            e.preventDefault();
            var t = $(this),
            a = parseInt(t.attr("data-step")) + 1,
            r = $('input[name="myForm"]').val();
            if (sessionStorage.setItem("mortgageJSON", JSON.stringify(d.sessionMortgage)), "form1" == r && sessionStorage.setItem("mortgageStep", "1"), "form2" == r && (sessionStorage.setItem("mortgageStep", "2"), $('[name="downpaymentProperty"]').length > 0 && d.setAndCheckDownPayment(), $('[name="mortgageBirthDate"]').length > 0 && d.setAndCheckBirthDate(), $('[name="mortgageRepaymentMonths"]').length > 0 && a <= $("#numberofsteps").val() && d.setAndCheckRepaymentMonths(!1)), "form3" == r && sessionStorage.setItem("mortgageStep", "3"), a > $("#numberofsteps").val()) {
                var r = $('input[name="myForm"]').val(),
                n = sessionStorage.getItem("mortgageJSON") || "";
                if ("" !== n && n.length > 0)
                    var o = JSON.parse(n);
                if (o && o[0] && o[0].form1)
                    for (var i in o[0].form1)
                        o[0].form1[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form1[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                if (o && o[0] && o[0].form2)
                    for (var i in o[0].form2)
                        o[0].form2[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form2[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                if (o && o[0] && o[0].form3)
                    for (var i in o[0].form3)
                        o[0].form3[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form3[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                if (o && o[0] && o[0].summary)
                    for (var i in o[0].summary)
                        o[0].summary[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].summary[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                if (o && o[0] && o[0].score) {
                    var s = o[0].score,
                    l = s;
                    $('form[name="formThanksMortgage"]').append('<input type="hidden" name="priorityMortgage" value="' + l + '"/>')
                }
                if (o && o[0] && o[0].typeOfAppointment) {
                    var c = o[0].typeOfAppointment;
                    $('form[name="formThanksMortgage"]').append('<input type="hidden" name="typeOfAppointment" value="' + c + '"/>')
                }
                if (o && o[0] && o[0].summary && o[0].summary.isMagnifica) {
                    var u = "";
                    u = "true" == o[0].summary.isMagnifica ? $("[name=emailSubjectCustomerType]").attr("data-mortgage-magnifica-customer-email-placeholder") : $("[name=emailSubjectCustomerType]").attr("data-mortgage-intesacasa-customer-email-placeholder"),
                    $('form[name="formThanksMortgage"]').append('<input type="hidden" name="customerType" value="' + u + '"/>')
                }
                $(".leaveMessage__submit.j-privacy__btn.j-leaveMessage__submit.btn.btn-primary").attr("disabled", !0),
                $('form[name="formThanksMortgage"]').submit()
            } else {
                d.disableNext($("button.r-btn-next"));
                var r = $('input[name="myForm"]').val();
                if ("form1" == r && ($(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : d.disableNext(t)), "form2" == r)
                    if ($(".rstepwrapper").eq(a - 1).find("input").val().length > 0) {
                        var m = parseInt(d.getStep()),
                        p = $(".rstepwrapper").eq(m - 1).find("div[data-val]")[0];
                        if (p && null != p && void 0 != p && parseInt(p.innerText) >= 0) {
                            var h = d.getStep();
                            d.setNextActiveCheckingFields(h)
                        }
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            var e = $(this);
                            e.is(":visible") && e.trigger("keyup")
                        }),
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            if ($(this).is(":checked")) {
                                var e = d.getStep();
                                d.setNextActiveCheckingFields(e)
                            }
                        })
                    } else
                        d.disableNext($("button.r-btn-next"));
                var g = d.getStep(),
                f = parseInt(g);
                $(".rstepwrapper").eq(f - 1).find("input[data-ok]:checked").hasClass("not_eligible") ? window.location.replace($("#submit").attr("data-redirect-not-eligible")) : (d.refreshStep(a), d.setStep(a), $(".rstepwrapper").addClass("rhide"), $(".rstepwrapper").eq(a - 1).removeClass("rhide"))
            }
            d.scrollToTop();
            var g = parseInt(d.getStep());
            if (d.setNextActiveCheckingFields(g), d.scoreFunction(), $(".rstepwrapper").eq(a - 2).find("input[data-ok]:checked:visible").hasClass("not_eligible"))
                window.location.replace($("#submit").attr("data-redirect-not-eligible"));
            else if (a > $("#numberofsteps").val()) {
                sessionStorage.setItem("next", "true"),
                $(".r-btn-nextMortgage")[0].innerHTML = '<span><img class="loading-mortgage" width="22" height="22"></img></span>',
                $(".r-btn-nextMortgage")[0].disabled = !0;
                var r = $('input[name="myForm"]').val();
                "form2" == r && "WITHOUT_MORTGAGE" == d.sessionMortgage[0].form1.mortgage ? window.location.replace($("#submit").attr("data-redirect-contact")) : window.location.replace($("#submit").attr("data-redirect"))
            }
        })
    },
    this.scrollToTop = function () {
        $(".r-component-wrapper")[0].scrollIntoView({
            block: "nearest",
            behavior: "smooth"
        })
    },
    this.goBackStep = function () {
        $(document).on("click", "button.r-btn-back", function (e) {
            d.freeEmptyField(),
            sessionStorage.removeItem("next"),
            sessionStorage.removeItem("back"),
            e.preventDefault();
            var t = $(this),
            a = parseInt(t.attr("data-step")) - 1,
            r = $('input[name="myForm"]').val();
            if (sessionStorage.setItem("mortgageJSON", JSON.stringify(d.sessionMortgage)), a < 1) {
                sessionStorage.getItem("mortgageForm");
                if ("form1" !== r)
                    sessionStorage.setItem("back", "true"), window.location.replace($("#previous").attr("data-redirect-previous-step"));
                else {
                    var n = sessionStorage.getItem("calc");
                    if (null == n || void 0 == n || "" == n) {
                        var o = window.location.pathname;
                        o.includes("stanovnistvo") ? n = "/stanovnistvo" : o.includes("magnifica") && (n = "/magnifica")
                    }
                    window.location.replace(n)
                }
            } else
                d.disableNext($("button.r-btn-next")), "form1" == r && setTimeout(function () {
                    $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : d.disableNext($("button.r-btn-next"))
                }, 100), "form2" == r && setTimeout(function () {
                    if ($(".rstepwrapper").eq(a - 1).find("input").val().length > 0) {
                        var e = (JSON.parse(sessionStorage.getItem("mortgageJSON"))[0].form2, parseInt(d.getStep())),
                        t = $(".rstepwrapper").eq(e - 1).find("div[data-val]")[0];
                        if (t && null != t && void 0 != t && parseInt(t.innerText) >= 0) {
                            var r = d.getStep();
                            d.setNextActiveCheckingFields(r)
                        }
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            if ($(this).is(":checked")) {
                                var e = d.getStep();
                                d.setNextActiveCheckingFields(e)
                            }
                        }),
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            var e = $(this);
                            e.is(":visible") && e.trigger("keyup")
                        })
                    } else {
                        var r = d.getStep();
                        d.setNextActiveCheckingFields(r)
                    }
                }, 100), "form3" == r && setTimeout(function () {
                    $(".rstepwrapper").eq(a - 1).find("input:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input:checked").parent(".rcontainer-input").trigger("click") : d.disableNext($("button.r-btn-next"))
                }, 100), d.refreshStep(a), d.setStep(a), $(".rstepwrapper").addClass("rhide"), $(".rstepwrapper").eq(a - 1).removeClass("rhide");
            d.scrollToTop()
        })
    },
    this.formStep1Mortagage = function () {
        d.setStep(1)
    },
    this.setActiveInput = function () {
        $(".rcontainer-input").on("click", function () {
            var e = $(this).find("input").attr("name");
            $("[name=" + e + "]").parent().removeClass("active"),
            $(this).addClass("active");
            var t = $('input[name="myForm"]').val();
            if ("form1" == t) {
                var a = parseInt(d.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked") && (d.sessionMortgage[0].form1[e] = $("[name=" + e + "]:checked").val())
            }
            if ("form2" == t) {
                var a = parseInt(d.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked");
                d.sessionMortgage[0].form2[e] = $("[name=" + e + "]:checked").val(),
                "propertySubject" == e && ($("#propertySubject1").is(":checked") && (d.sessionMortgage[0].form2.isFinancedPropertyCollateral = "Yes"), $("#propertySubject2").is(":checked") && (d.sessionMortgage[0].form2.isFinancedPropertyCollateral = "No"))
            }
            if ("form3" == t) {
                var a = parseInt(d.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked");
                d.sessionMortgage[0].form3[e] = $("[name=" + e + "]:checked").val()
            }
            var r = parseInt(d.getStep());
            d.setNextActiveCheckingFields(r)
        })
    },
    this.setActiveImport = function () {
        $(".rcontainer-import input").on("keyup", function () {
            if ($(this).val().length > 0) {
                var e = d.getStep();
                d.setNextActiveCheckingFields(e),
                $(".rstepwrapper").eq(parseInt(d.getStep()) - 1).find("input").length > 1 && void 0 == $(".rstepwrapper").eq(parseInt(d.getStep()) - 1).find(".rcontainer-import").attr("data-showhideloan") && $(".rstepwrapper").eq(parseInt(d.getStep()) - 1).find("input").each(function () {
                    if ($(this).is(":visible") && "" == $(this).val())
                        return void d.disableNext($("button.r-btn-next"))
                });
                var t = $(this).attr("name"),
                a = $('input[name="myForm"]').val();
                if ("form2" == a)
                    if (c)
                        d.sessionMortgage[0].form2[t] = $("[name=" + t + "]").val().replace(/ /g, "");
                    else if ("radio" != $("[name=" + t + "]").attr("type") && $("[name=" + t + "]").length > 1)
                        for (var r = 0; r < $("[name=" + t + "]").length; r++)
                            "" != $($("[name=" + t + "]")[r]).val() && (d.sessionMortgage[0].form2[t] = $($("[name=" + t + "]")[r]).val().replace(/ /g, ""));
                    else
                        d.sessionMortgage[0].form2[t] = $("[name=" + t + "]").val().replace(/ /g, "");
                if ("form3" == a)
                    if ($("[name=" + t + "]").length > 1)
                        for (var r = 0; r < $("[name=" + t + "]").length; r++)
                            "" != $($("[name=" + t + "]")[r]).val() && (d.sessionMortgage[0].form3[t] = $($("[name=" + t + "]")[r]).val().replace(/ /g, ""));
                    else
                        d.sessionMortgage[0].form3[t] = $("[name=" + t + "]").val().replace(/ /g, "")
            } else
                d.disableNext($("button.r-btn-next"))
        })
    },
    this.refreshStep = function (e) {
        var t = $('input[name="myForm"]').val();
        if (totalSteps = 8, "form2" == t && (e += 1), "form3" == t)
            if ($("#debtorPresence2").is(":checked") ? (totalSteps = 7, $("#numberofsteps").attr("value", "2"), d.sessionMortgage[0].form3.codebtorCreditCardDebt = "", d.sessionMortgage[0].form3.codebtorCreditCardPresence = "") : (totalSteps = 8, $("#numberofsteps").attr("value", "3")), (e += 5) === totalSteps) {
                var a = $("[name=lastQuestionMortgage]").attr("data-last-question");
                $("[name=lastQuestionMortgage]").html(a)
            } else {
                var r = $("[name=lastQuestionMortgage]").attr("data-notlast-question");
                $("[name=lastQuestionMortgage]").html(r)
            }
        null !== e && "" !== e && void 0 !== e && ($(".r-cur-step").text(e), null !== totalSteps && "" !== totalSteps && void 0 !== totalSteps && ($(".r-tot-step").text(totalSteps), $(".r-progress-bar-fill").width(parseInt(e) / parseInt(totalSteps) * 100 + "%"))),
        d.scrollToTop()
    },
    this.setActiveNext = function (e) {
        e.addClass("active").prop("disabled", !1)
    },
    this.disableNext = function (e) {
        e.removeClass("active").prop("disabled", !0)
    },
    this.getStep = function () {
        return $("button.r-btn-next").attr("data-step")
    },
    this.showError = function (e) {
        e = parseInt(e);
        var t = $(".rstepwrapper").eq(e - 1).find("input[data-ok]").is(":checked") || !1;
        if (t || "true" == t) {
            $(".rstepwrapper").eq(e - 1).find(".rerror-choice").addClass("rhide");
            var a = d.getStep();
            d.setNextActiveCheckingFields(a)
        } else
            $(".rstepwrapper").eq(e - 1).find(".rerror-choice").removeClass("rhide"), d.disableNext($("button.r-btn-next"))
    },
    this.setStep = function (e) {
        $(".r-form-submit-wrapper button").attr("data-step", e),
        d.refreshStep(e)
    },
    this.toggleAccordion = function () {
        $('[data-accordion="title"]').on("click", function () {
            $(this).addClass("rhide"),
            $(this).next('[data-accordion="detail"]').removeClass("rhide")
        }),
        $('[data-accordion="detail"] .rtitle-accordotion').on("click", function () {
            $(this).parent().addClass("rhide"),
            $(this).parent().prev('[data-accordion="title"]').removeClass("rhide")
        })
    },
    this.checkMinCollateral = function () {
        $("#collateralProperties").is(":visible") && (val = $("#collateralProperties").html(), "0" != val ? d.setActiveNext($("button.r-btn-next")) : d.disableNext($("button.r-btn-next")))
    },
    this.plusMinus = function (e) {
        $("[data-plusminus]").length > 0 && $("[data-plusminus]").each(function (t, a) {
            null !== e && void 0 !== e && "" !== e && $(a).find("[data-val]").text(e);
            var r = $(a).attr("data-maximum"),
            n = $(a).find("[data-val]").text(),
            o = $(a).find("[data-minus]"),
            i = $(a).find("[data-plus]");
            o.removeClass("disabled"),
            i.removeClass("disabled"),
            "0" == n && o.addClass("disabled"),
            n == r && i.addClass("disabled"),
            d.checkMinCollateral()
        })
    },
    this.setStartingPage = function () {
        var e,
        t = document.referrer,
        a = window.location.pathname;
        if (t.includes("stanovnistvo") || t.includes("magnifica"))
            e = t;
        else if (a.includes("stanovnistvo")) {
            var r = $("[name=linkDefaultRetailMortgage]").attr("data-mortgage-link-default-retail");
            e = r
        } else if (a.includes("magnifica")) {
            var n = $("[name=linkDefaultMagnificaMortgage]").attr("data-mortgage-link-default-magnifica");
            e = n
        }
        sessionStorage.setItem("calc", e)
    },
    $("[data-openmortgageform]").on("click", function () {
        d.getInputs();
        var e = window.location.pathname;
        sessionStorage.setItem("calc", e),
        window.location.replace($("[data-openmortgageform]").attr("data-mortgage-link"))
    }),
    $(".loanLink").click(function () {
        var e = sessionStorage.getItem("calc");
        if (null == e || void 0 == e || "" == e) {
            var t = window.location.pathname;
            t.includes("stanovnistvo") ? e = "/stanovnistvo" : t.includes("magnifica") && (e = "/magnifica")
        }
        this.href = e
    }),
    this.getInputs = function () {
        var e = "" + window.intesa.loan_calculator_bib.tenor || "",
        t = "" + window.intesa.loan_calculator_bib.tenorUnit || "",
        a = "" + window.intesa.loan_calculator_bib.loanAmount || "",
        r = "" + window.intesa.loan_calculator_bib.interestRateType || "",
        n = "" + window.intesa.loan_calculator_bib.firstInterestRate || "",
        o = "" + window.intesa.loan_calculator_bib.firstMonthlyInstallment || "",
        i = "" + window.intesa.loan_calculator_bib.currency || "",
        s = $(".salary_buttons").find(":radio:checked").attr("id") || "",
        l = "";
        "" !== s && (l = "salaryButtons2" === s ? "uppermass" : "mass");
        var c = $("[data-algorithm-output=fee]:visible").html().replaceAll("&nbsp;", " ") || "",
        u = $("[data-algorithm-output=amountToRepay]:visible").html().replaceAll("&nbsp;", " ") || "",
        m = $("[data-algorithm-output=loanAmount]:visible").html().replaceAll("&nbsp;", " ") || "";
        "" == m && (m = a);
        var p = window.location.pathname,
        h = "false";
        p.includes("magnifica") && (h = "true");
        var g = $("[name=fProductName]").val() || "",
        f = $("[name=fProductId]").val() || "";
        d.sessionMortgage[0].form1.loanAmount = a || "",
        d.sessionMortgage[0].form1.tenor = e || "",
        d.sessionMortgage[0].form1.interestRate = r || "",
        d.sessionMortgage[0].form1.installment = o || "",
        d.sessionMortgage[0].form1.amountToRepay = u || "",
        d.sessionMortgage[0].form1.currency = i || "",
        d.sessionMortgage[0].form1.firstInterestRate = n || "",
        d.sessionMortgage[0].form1.tenorUnit = t || "",
        d.sessionMortgage[0].form1.fee = c || "",
        d.sessionMortgage[0].form1.loanAmountWithoutPartecipation = m || "",
        d.sessionMortgage[0].form1.productIdOld = f || "",
        d.sessionMortgage[0].form1.productNameOld = g || "",
        d.sessionMortgage[0].summary.mass_uppermass = l || "",
        d.sessionMortgage[0].summary.isMagnifica = h || "",
        sessionStorage.setItem("mortgageJSON", JSON.stringify(d.sessionMortgage)),
        sessionStorage.setItem("isMagnificaSegment", h)
    },
    this.showHideElements = function (e) {
        if (null !== e && void 0 !== e && "" !== e) {
            var t = d.getStep(),
            a = $(".rstepwrapper").eq(t - 1);
            for (a.find(".mod-hom1").addClass("rhide"), e = parseInt(e), i = 0; i <= e - 1; i++)
                a.find(".mod-hom1").eq(i).removeClass("rhide");
            if (e > 0) {
                var r = d.getStep();
                d.setNextActiveCheckingFields(r)
            }
            $(".rstepwrapper").eq(parseInt(d.getStep()) - 1).find("input").length > 1 && $(".rstepwrapper").eq(parseInt(d.getStep()) - 1).find("input").each(function () {
                if ($(this).is(":visible") && "" == $(this).val()) {
                    if (!c && 2 == d.getStep()) {
                        var e = d.getStep();
                        d.setNextActiveCheckingFields(e)
                    }
                    return void d.disableNext($("button.r-btn-next"))
                }
            })
        }
    },
    $("[data-minus]").on("click", function () {
        var e = $(this).next("[data-val]"),
        t = e.text();
        if (!$(this).hasClass("disabled")) {
            e.text(parseInt(t) - 1);
            var a = $("[data-val]:visible").attr("name");
            d.sessionMortgage[0].form2[a] = String(parseInt(t) - 1),
            d.plusMinus()
        }
        var r = parseInt(d.getStep());
        d.setNextActiveCheckingFields(r)
    });
    $(".rcontainer-import");
    $("[data-showloan]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan]").removeClass("rhide"), $("[data-val]:visible").length > 0) {
            var e = $("[data-val]:visible").attr("name"),
            t = d.sessionMortgage[0].form2[e];
            $("[data-val]:visible").html(t),
            "0" === t && $("[data-minus]:visible").addClass("disabled")
        }
        var a = parseInt(d.getStep());
        d.setNextActiveCheckingFields(a)
    }),
    $("[data-showloan-second]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan-second]").removeClass("rhide"), $("[data-val]:visible").length > 0) {
            var e = $("[data-val]:visible").attr("name"),
            t = d.sessionMortgage[0].form2[e];
            $("[data-val]:visible").html(t),
            "0" === t && $("[data-minus]:visible").addClass("disabled")
        }
        var a = parseInt(d.getStep());
        d.setNextActiveCheckingFields(a)
    }),
    $("[data-hideloan]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan]").addClass("rhide").find("input"), "form2" == s) {
            var e = $(this),
            t = parseInt(e.attr("data-step")) - 1,
            a = $(".rstepwrapper").eq(t - 1).find("input[data-format-currency").attr("name");
            $(".rstepwrapper").eq(t - 1).find('input[name="' + a + '"]').trigger("keyup");
            JSON.parse(sessionStorage.getItem("mortgageJSON") || "")[0].form2
        }
        var r = parseInt(d.getStep());
        d.setNextActiveCheckingFields(r)
    }),
    $("[data-hideloan-second]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan-second]").addClass("rhide").find("input"), "form2" == s) {
            var e = $(this),
            t = parseInt(e.attr("data-step")) - 1,
            a = $(".rstepwrapper").eq(t - 1).find("input[data-format-currency").attr("name");
            $(".rstepwrapper").eq(t - 1).find('input[name="' + a + '"]').trigger("keyup");
            JSON.parse(sessionStorage.getItem("mortgageJSON") || "")[0].form2
        }
        var r = parseInt(d.getStep());
        d.setNextActiveCheckingFields(r)
    }),
    $("[data-plus]").on("click", function () {
        var e = $(this).prev("[data-val]"),
        t = e.text();
        if (!$(this).hasClass("disabled")) {
            e.text(parseInt(t) + 1);
            var a = $("[data-val]:visible").attr("name");
            d.sessionMortgage[0].form2[a] = String(parseInt(t) + 1),
            d.plusMinus(),
            c && (parseInt(t) + 1 == 1 && $('input[name="debitorIncomeOne"]').trigger("keyup"), parseInt(t) + 1 == 2 && $('input[name="debitorIncomeTwo"]').trigger("keyup"), parseInt(t) + 1 == 3 && $('input[name="debitorIncomeThree"]').trigger("keyup"), parseInt(t) + 1 == 4 && $('input[name="debitorIncomeFour"]').trigger("keyup"))
        }
        var r = parseInt(d.getStep());
        d.setNextActiveCheckingFields(r)
    }),
    $(".r-thankyou-time label").on("click", function () {
        $(".r-thankyou-time label").removeClass("active"),
        $(this).addClass("active")
    }),
    $(document).on("input", ".r-thankyou-wrapper [name='prefixNumber'], .r-thankyou-wrapper [name='phoneNumber']", function (e) {
        $(this).val($(this).val().replace(/[^0-9]/g, ""))
    }),
    this.checkPrivacy = function () {
        var e = "none";
        $("#item_thanksName").length > 0 && (e = $("#item_thanksName").val());
        var t = "none";
        $("#item_thanksLastname").length > 0 && (t = $("#item_thanksLastname").val());
        var a = $("input[name='recaptchaKey']").length >= 1 || "" != $(".g-recaptcha-response").val();
        const r = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/,
        n = /^[a-zA-ZÁÉÚŰŐÓÜÖÍáéúűőóüöíčćšžđČĆŠŽĐ \- \\s.]*$/;
        $("#privacystatus").is(":checked") && "" !== $("#item_email").val() && r.test($("#item_email").val()) && "" !== e && "" !== t && n.test(e) && n.test(t) && "" !== $('[name="prefixNumber"]').val() && "" !== $('[name="phoneNumber"]').val() && 1 == $('[name="phoneNumber"]:visible').parsley().validate() && a && "" !== $("#selectedCity").val() ? $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !1) : $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !0)
    },
    $("#privacystatus").on("click", function () {
        d.checkPrivacy()
    }),
    $("#selectedCity").on("change input", function (e) {
        d.checkPrivacy()
    }),
    $(".r-thankyou-wrapper input").on("change input", function (e) {
        d.checkPrivacy()
    }),
    $(".r-thankyou-content input[required]").on("focusout blur", function () {
        $(this).parsley().validate()
    }),
    $(".r-thankyou-wrapper .j-privacy__btn").on("click", function (e) {
        if (e.preventDefault(), $('form[name="formThanksMortgage"]').parsley().validate()) {
            $(".r-thankyou-content :input").each(function () {
                if (void 0 !== $(this).attr("name")) {
                    var e = $(this).val() || "",
                    t = $(this).attr("name") || "";
                    "privacystatus" == t && (e = $(this).is(":checked") ? "true" : "false"),
                    "radioTime" == t ? $(this).is(":checked") && ($("form#formTemp").find("input[name=" + $(this).attr("name") + "]").remove(), $("form#formTemp").append('<input type="hidden" name="' + $(this).attr("name") + '" value="' + e + '"/>')) : ($("form#formTemp").find("input[name=" + $(this).attr("name") + "]").remove(), $("form#formTemp").append('<input type="hidden" name="' + $(this).attr("name") + '" value="' + e + '"/>'))
                }
            });
            var t = sessionStorage.getItem("mortgageJSON") || "";
            if ("" !== t && t.length > 0)
                var a = JSON.parse(t);
            if (a && a[0] && a[0].form1) {
                for (var r in a[0].form1)
                    a[0].form1[r].length > 0 && "personalLoanConfiguration" != r ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form1[r].replace(String.fromCharCode(160), "") + '"/>') : "personalLoanConfiguration" != r && $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
                void 0 != a[0].form1.personalLoanConfiguration && ($('form[name="formThanksMortgage"]').append('<input type="hidden" name="personalLoanConfiguration" value=""/>'), $('form[name="formThanksMortgage"] input[name="personalLoanConfiguration"]').val(JSON.stringify(a[0].form1.personalLoanConfiguration).toString()))
            }
            if (a && a[0] && a[0].form2)
                for (var r in a[0].form2)
                    a[0].form2[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form2[r].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
            if (a && a[0] && a[0].form3)
                for (var r in a[0].form3)
                    a[0].form3[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form3[r].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
            if (a && a[0] && a[0].summary)
                for (var r in a[0].summary)
                    a[0].summary[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].summary[r].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
            if (a && a[0] && a[0].score) {
                var n = a[0].score,
                o = n;
                $('form[name="formThanksMortgage"]').append('<input type="hidden" name="priorityMortgage" value="' + o + '"/>')
            }
            if (a && a[0] && a[0].typeOfAppointment) {
                var i = a[0].typeOfAppointment;
                $('form[name="formThanksMortgage"]').append('<input type="hidden" name="typeOfAppointment" value="' + i + '"/>')
            }
            if (a && a[0] && a[0].summary && a[0].summary.isMagnifica) {
                var s = "";
                s = "true" == a[0].summary.isMagnifica ? $("[name=emailSubjectCustomerType]").attr("data-mortgage-magnifica-customer-email-placeholder") : $("[name=emailSubjectCustomerType]").attr("data-mortgage-intesacasa-customer-email-placeholder"),
                $('form[name="formThanksMortgage"]').append('<input type="hidden" name="customerType" value="' + s + '"/>')
            }
            $(".leaveMessage__submit.j-privacy__btn.j-leaveMessage__submit.btn.btn-primary")[0].innerHTML = '<span><img class="loading-mortgage" width="22" height="22"></img></span>',
            $(".leaveMessage__submit.j-privacy__btn.j-leaveMessage__submit.btn.btn-primary").attr("disabled", !0),
            $('form[name="formThanksMortgage"]').submit()
        }
        return !1
    }),
    $("[data-formsent]").length > 0 && (sessionStorage.removeItem("mortgageJSON"), sessionStorage.removeItem("mortgageStep"));
    var m;
    window.onresize = function () {
        clearTimeout(m),
        m = setTimeout(r, 10)
    };
    var p = sessionStorage.getItem("mortgageJSON") || "";
    if (p.length > 0) {
        var h = JSON.parse(p),
        g = h[0].form1.productName || "";
        $(".r-title").length > 0 && $(".r-title").each(function () {
            var e = $(this).html();
            e = e.replace("${productName}", g),
            $(this).html(e)
        })
    }
    this.callServlet = function (e, t) {
        $.ajax({
            type: "POST",
            data: t.serialize(),
            url: e,
            success: function (e) {
                console.log("success sending form")
            },
            error: function (e) {
                console.log("error sending form")
            }
        })
    },
    $(document).ready(function () {
        $("#landing-button-mortgage").length > 0 && (setTimeout(function () {
                $("#landing-button-mortgage").removeClass("disabled")
            }, 1e3), $("#landing-button-mortgage").on("click", function (e) {
                $("#landing-button-mortgage")[0].innerHTML = '<span><img class="loading-mortgage" width="22" height="22"></img></span>',
                $("#landing-button-mortgage")[0].disabled = !0
            }))
    })
}, Intesa.FormsBIB.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.formsBIB || (window.intesa.formsBIB = new Intesa.FormsBIB),
    window.intesa.formsBIB
};
var Intesa = Intesa || {};
Intesa.FormsISPALBANIA = function () {
    function e(e) {
        $(".rstepwrapper").addClass("rhide"),
        e.indexOf("One") > -1 && ($(".rstep1").removeClass("rhide"), l.setStep(1), l.refreshStep(1)),
        e.indexOf("Two") > -1 && ($(".rstep2").removeClass("rhide"), l.setStep(2), l.refreshStep(2)),
        e.indexOf("Three") > -1 && ($(".rstep3").removeClass("rhide"), l.setStep(3), l.refreshStep(3)),
        e.indexOf("Four") > -1 && ($(".rstep4").removeClass("rhide"), l.setStep(4), l.refreshStep(4)),
        e.indexOf("Five") > -1 && ($(".rstep5").removeClass("rhide"), l.setStep(5), l.refreshStep(5)),
        e.indexOf("Six") > -1 && ($(".rstep6").removeClass("rhide"), l.setStep(6), l.refreshStep(6))
    }
    function t() {
        $("[data-bgimg]").length > 0 && $("[data-bgimg]").each(function () {
            var e = $(this).attr("data-bgimg");
            $(this).css("background-image", "url(" + e + ")")
        })
    }
    var a = $('input[name="myForm"]').val(),
    r = "PBZ" == $("html").attr("data-bank"),
    n = "CIB" == $("html").attr("data-bank"),
    o = "ISPSLOVENIA" == $("html").attr("data-bank"),
    s = "BIB" == $("html").attr("data-bank"),
    l = ($("html").attr("data-bank"), this);
    this.init = function () {
        function e() {
            $("#recaptchainput").val("true"),
            setTimeout(function () {
                $('form[name="formThanksMortgage"]').parsley().validate(),
                l.checkPrivacy()
            }, 500)
        }
        function t() {
            setTimeout(function () {
                $('form[name="formThanksMortgage"]').parsley().validate(),
                forms.checkPrivacy()
            }, 500)
        }
        if (n || o || r || s)
            return void(window.intesa.formsISPALBANIA = null);
        window.recaptchaCallback = $("input[name='recaptchaKey']").length >= 1 ? t : e,
        l.sessionMortgage = [{
                form1: {
                    loanPurpose: "",
                    borrowingProcess: "",
                    borrowingProcessFirstPossibility: "",
                    borrowingProcessSecondPossibility: "",
                    borrowingProcessThirdPossibility: "",
                    permanentAddress: "",
                    adultAge: "",
                    incomeType: "",
                    incomeTypeOther: "",
                    refinancedLoanAmount: "",
                    refinancedLoanCurrency: "",
                    investmentAmount: "",
                    investmentCurrency: ""
                },
                form2: {
                    monthlyIncome: "",
                    monthlyIncomeCurrency: "",
                    householdMembers: "1",
                    previousLoan: "",
                    previousLoanInstallment: "",
                    previousLoanInstallmentCurrency: "",
                    creditCard: "",
                    creditCardLimit: "",
                    creditCardLimitCurrency: "",
                    overdraft: "",
                    overdraftLimit: "",
                    overdraftLimitCurrency: ""
                },
                form3: {
                    valueOfProperty: "",
                    valueOfPropertyCurrency: "",
                    collateral: "",
                    collateralValue: "",
                    collateralValueCurrency: ""
                },
                form4: {
                    referralSource: "",
                    partner: "",
                    promoCodePartner: "",
                    promoCodeBankCustomer: "",
                    referralSourceOther: ""
                },
                typeOfAppointment: "",
                loanPurposeIndex: "0"
            }
        ];
        var a = sessionStorage.getItem("mortgageJSON") || "";
        if (a.length > 0) {
            var i = JSON.parse(a);
            l.sessionMortgage = i
        }
        l.setProductName(),
        $('[name="linkDefaultRetailMortgage"]').length > 0 && l.setStartingPage(),
        ($('[data-component-r="formStep1Mortagage"]').length > 0 || $('[data-component-r="formStep2Mortagage"]').length > 0 || $('[data-component-r="formStep3Mortagage"]').length > 0 || $('[data-component-r="formStep4Mortagage"]').length > 0) && (l.refreshStep(1), l.toggleAccordion(), l.formStep1Mortagage(), "true" != sessionStorage.getItem("back") && $(".rstep1").removeClass("rhide"), l.setActiveInput(), l.setActiveImport(), l.setActiveSelect(), l.goToNext(), l.goBackStep(), l.plusMinus(), $("#privacystatus").length > 0 && l.checkPrivacy(), l.initStep(), l.writeInput())
    },
    this.setMagnificaCss = function () {
        window.location.pathname.toLowerCase().includes("magnifica") && ($(".r-btn-nextMortgage").each(function () {
                $(this).addClass("nextButtonMagnifica")
            }), $(".r-progress-bar-fillMortgage").each(function () {
                $(this).addClass("r-progress-bar-fill-magnifica")
            }), $(".rtitle-accordotionMortgage").each(function () {
                $(this).addClass("rtitle-accordotion-magnifica")
            }), $(".buttonPlusMinusMortgage").each(function () {
                $(this).addClass("plusMinusButtonMagnifica")
            }), $(".loanCalculator__close_mortgage").each(function () {
                $(this).addClass("loanCalculator__close_mortgage_magnifica")
            }))
    },
    this.setProductName = function () {
        var e = l.sessionMortgage[0].form1.productName;
        if (null != e) {
            for (var t = e.split(" "), a = 0; a < t.length; a++)
                t[a] = t[a].charAt(0).toUpperCase() + t[a].slice(1);
            var r = t.join(" ");
            $(".productName").length > 0 && $(".productName").each(function () {
                var e = $(this).html();
                e = e.replace("${productName}", r),
                $(this).html(e)
            })
        }
    },
    this.checkMobileOrDesktopQuestionOne = function () {
        var e = l.getStep(),
        t = parseInt(e);
        "form1" == $('input[name="myForm"]').val() && 1 == t ? ($("#submit").addClass("mobileVersion"), $("#previous").addClass("desktopVersion")) : ($("#submit").removeClass("mobileVersion"), $("#previous").removeClass("desktopVersion"))
    },
    this.freeEmptyField = function () {
        var e = l.getStep(),
        t = parseInt(e),
        a = $('input[name="myForm"]').val();
        $(".rstepwrapper").eq(t - 1).find("input:hidden").each(function (e) {
            var r = this.name,
            n = this.type;
            l.sessionMortgage[0][a][r] && (l.sessionMortgage[0][a][r] = ""),
            "radio" == n ? ($(".rstepwrapper").eq(t - 1).find("input:hidden").eq(e).parent().removeClass("active"), this.checked = !1) : this.value = ""
        }),
        $(".rstepwrapper").eq(t - 1).find("select:hidden").each(function () {
            var e = this.name;
            l.sessionMortgage[0][a][e] && (l.sessionMortgage[0][a][e] = ""),
            $(this).parents().hasClass("mortgage_currency_select") ? $(this).val($("option:first", this).val()) : this.value = "",
            $(this).removeClass("fc-edited")
        }),
        $(".rstepwrapper").eq(t - 1).find("[data-val]:hidden").each(function (e) {
            var t = $(this).attr("name");
            l.sessionMortgage[0][a][t] && (l.sessionMortgage[0][a][t] = "0")
        })
    },
    this.setNextActiveCheckingFields = function (e) {
        var t = !0,
        a = parseInt(e);
        $(".rstepwrapper").eq(a - 1).find("input:visible").each(function () {
            var e = this.type;
            if (!$(this).hasClass("mortgage-input-optional"))
                if ("radio" == e) {
                    var r = this.name;
                    0 == $(".rstepwrapper").eq(a - 1).find("input[name=" + r + "]:checked").length && (t = !1)
                } else
                    "" != this.value && null != this.value && void 0 != this.value || (t = !1)
        }),
        $(".rstepwrapper").eq(a - 1).find("select:visible").each(function () {
            "" != this.value && null != this.value && void 0 != this.value || (t = !1)
        }),
        t ? $(".parsley-custom-error-message:visible").length > 0 ? l.disableNext($("button.r-btn-next")) : l.setActiveNext($("button.r-btn-next")) : l.disableNext($("button.r-btn-next"))
    },
    this.writeInput = function () {
        var e = Array.from($(".control-input-mortgage")),
        t = sessionStorage.getItem("mortgageJSON") || "",
        a = $('input[name="myForm"]').val(),
        r = t ? JSON.parse(t) : {};
        if ("form4" === a && $('[name="partner"]').length > 0) {
            var n = $('[name="partner"]').attr("data-partner-itemlist"),
            o = n.split("<br/>"),
            s = o.length;
            for (i = 0; i < s; i++) {
                var c = o[i];
                1 == s ? ($("#selector-partner-mortgage").append('<option value="' + c + '" selected="selected">' + c + "</option>"), $("#selector-partner-mortgage").prop("disabled", "disabled"), $("#selector-partner-mortgage").val(c), $("#selector-partner-mortgage").trigger("change")) : ($("#selector-partner-mortgage").append('<option value="' + c + '">' + c + "</option>"), $("#selector-partner-mortgage").val(""))
            }
        }
        if (r && r[0]) {
            e.forEach(function (e) {
                var t = e.name;
                r[0][a][t].length > 0 && ("radio" == e.type ? e.name == t && e.value == r[0][a][t] && e.click() : (e.value = r[0][a][t], "mortgageBirthDate" == t && $(".dataPickerContainerMortgage").addClass("fc-edited"), $('[name="' + t + '"]').addClass("fc-edited")))
            });
            Array.from($(".rcontainer-select")).forEach(function (e) {
                var t = e.name;
                r[0][a][t].length > 0 ? ($(e).val(r[0][a][t]), $(e).addClass("fc-edited"), $(e).trigger("change")) : null == $(e).val() || void 0 == $(e).val() ? l.sessionMortgage[0][a][t] = "" : (l.sessionMortgage[0][a][t] = $(e).val(), $(e).addClass("fc-edited"), $(e).trigger("change"))
            })
        }
        if ("form2" === a) {
            var u = r[0][a].householdMembers;
            $("#householdMembers").html(u);
            var d = parseInt($('[name="householdMembers"]').attr("data-maximum")),
            m = parseInt($('[name="householdMembers"]').attr("data-minimum"));
            parseInt(u) === m ? ($('[name="householdMembersMinus"]').addClass("disabled"), $('[name="householdMembersPlus"]').removeClass("disabled")) : parseInt(u) === d ? ($('[name="householdMembersMinus"]').removeClass("disabled"), $('[name="householdMembersPlus"]').addClass("disabled")) : ($('[name="householdMembersMinus"]').removeClass("disabled"), $('[name="householdMembersPlus"]').removeClass("disabled"))
        }
        if (sessionStorage.getItem("next")) {
            var p = l.getStep();
            l.setNextActiveCheckingFields(p)
        }
        sessionStorage.getItem("back") && l.setActiveNext($("button.r-btn-next"))
    },
    this.initStep = function () {
        var e = (sessionStorage.getItem("mortgageJSON"), $('input[name="myForm"]').val());
        if ("true" == sessionStorage.getItem("back")) {
            if ("form1" == e) {
                $(".rstepwrapper").addClass("rhide");
                var t = l.sessionMortgage[0].loanPurposeIndex;
                "1" == t ? ($("#numberofsteps").attr("value", "6"), $(".rstep6-1").addClass("rstep6"), $(".rstep6-2").removeClass("rstep6"), $(".rstep6-1").after($(".rstep6-2")), $(".rstep6").removeClass("rhide"), dataNewStep = 6) : "2" == t ? ($("#numberofsteps").attr("value", "6"), $(".rstep6-1").removeClass("rstep6"), $(".rstep6-2").addClass("rstep6"), $(".rstep6-2").after($(".rstep6-1")), $(".rstep6").removeClass("rhide"), dataNewStep = 6) : ($("#numberofsteps").attr("value", "5"), $(".rstep6-1").removeClass("rstep6"), $(".rstep6-2").removeClass("rstep6"), $(".rstep5").removeClass("rhide"), dataNewStep = 5)
            }
            "form2" == e && ($(".rstepwrapper").addClass("rhide"), $(".rstep5").removeClass("rhide"), dataNewStep = 5),
            "form3" == e && ($(".rstepwrapper").addClass("rhide"), $(".rstep2").removeClass("rhide"), dataNewStep = 2),
            "form4" == e && ($(".rstepwrapper").addClass("rhide"), $(".rstep1").removeClass("rhide"), dataNewStep = 1),
            window.intesa.formsISPALBANIA.setStep(dataNewStep),
            window.intesa.formsISPALBANIA.refreshStep(dataNewStep)
        }
        "true" == sessionStorage.getItem("next") && ($(".rstepwrapper").addClass("rhide"), $(".rstep1").removeClass("rhide"), dataNewStep = 1, window.intesa.formsISPALBANIA.setStep(dataNewStep), window.intesa.formsISPALBANIA.refreshStep(dataNewStep))
    },
    this.stepByStorage = function () {
        var t = sessionStorage.getItem("mortgageJSON") || "";
        if (t.length > 0) {
            var a = JSON.parse(t);
            if (a && a[0] && a[0].form1)
                for (var r in a[0].form1)
                    if ($('input[name="' + r + '"]').length > 0 && a[0].form1[r].length > 0 && "true" != sessionStorage.getItem("next"))
                        switch (e(r), $('input[name="' + r + '"]').each(function () {
                                var e = this;
                                $(e).val() == a[0].form1[r] && $(e).attr("checked", !0).parent("label").trigger("click")
                            }), r) {
                        case "loanPurpose":
                            l.setStep(1),
                            l.refreshStep(1),
                            $(".rstep1").removeClass("rhide");
                            break;
                        case "borrowingProcess":
                            l.setStep(2),
                            l.refreshStep(2),
                            $(".rstep2").removeClass("rhide");
                            break;
                        case "permanentAddress":
                            l.setStep(3),
                            l.refreshStep(3),
                            $(".rstep3").removeClass("rhide");
                            break;
                        case "adultAge":
                            l.setStep(4),
                            l.refreshStep(4),
                            $(".rstep4").removeClass("rhide");
                            break;
                        case "incomeType":
                            l.setStep(5),
                            l.refreshStep(5),
                            $(".rstep5").removeClass("rhide");
                            break;
                        case "refinancedLoanAmount":
                        case "investmentAmount":
                            l.setStep(6),
                            l.refreshStep(6),
                            $(".rstep6").removeClass("rhide")
                        }
            if (a && a[0] && a[0].form2)
                for (var r in a[0].form2)
                    if ($('input[name="' + r + '"]').length > 0 && a[0].form2[r].length > 0 && "true" != sessionStorage.getItem("next")) {
                        "radio" != $(self).attr("type") && $('input[name="' + r + '"]').val(a[0].form2[r]);
                        var n = parseInt(l.getStep());
                        switch ($(".rstepwrapper").eq(n - 1).find('input[name="' + r + '"]').trigger("keyup"), r) {
                        case "monthlyIncome":
                            l.setStep(1),
                            l.refreshStep(1),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep1").removeClass("rhide");
                            break;
                        case "householdMembers":
                            l.setStep(2),
                            l.refreshStep(2),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep2").removeClass("rhide");
                            break;
                        case "previousLoan":
                            l.setStep(3),
                            l.refreshStep(3),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep3").removeClass("rhide");
                            break;
                        case "creditCard":
                            l.setStep(4),
                            l.refreshStep(4),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep4").removeClass("rhide");
                            break;
                        case "overdraft":
                            l.setStep(5),
                            l.refreshStep(5),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep5").removeClass("rhide")
                        }
                    }
            if (a && a[0] && a[0].form3)
                for (var r in a[0].form3) {
                    if ($('input[name="' + r + '"]').length > 0 && a[0].form3[r].length > 0 && "true" != sessionStorage.getItem("next"))
                        switch (r) {
                        case "valueOfProperty":
                            l.setStep(1),
                            l.refreshStep(1),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep1").removeClass("rhide");
                            break;
                        case "collateral":
                            l.setStep(2),
                            l.refreshStep(2),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep2").removeClass("rhide")
                        }
                    $('input[name="' + r + '"]').val(a[0].form3[r]).trigger("focus"),
                    $('input[name="' + r + '"]').val(a[0].form3[r]).trigger("keyup")
                }
            if (a && a[0] && a[0].form4)
                for (var r in a[0].form4) {
                    if ($('input[name="' + r + '"]').length > 0 && a[0].form4[r].length > 0 && "true" != sessionStorage.getItem("next"))
                        switch (r) {
                        case "referralSource":
                            l.setStep(1),
                            l.refreshStep(1),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep1").removeClass("rhide")
                        }
                    $('input[name="' + r + '"]').val(a[0].form4[r]).trigger("focus"),
                    $('input[name="' + r + '"]').val(a[0].form4[r]).trigger("keyup")
                }
        }
    },
    this.goToNext = function () {
        $(document).on("click", "button.r-btn-next", function (e) {
            l.freeEmptyField(),
            sessionStorage.removeItem("back"),
            sessionStorage.removeItem("next"),
            e.preventDefault();
            var t = $(this),
            a = parseInt(t.attr("data-step")) + 1,
            r = $('input[name="myForm"]').val();
            if (sessionStorage.setItem("mortgageJSON", JSON.stringify(l.sessionMortgage)), "form1" == r && sessionStorage.setItem("mortgageStep", "1"), "form2" == r && sessionStorage.setItem("mortgageStep", "2"), "form3" == r && sessionStorage.setItem("mortgageStep", "3"), "form4" == r && sessionStorage.setItem("mortgageStep", "4"), a > $("#numberofsteps").val()) {
                var r = $('input[name="myForm"]').val(),
                n = sessionStorage.getItem("mortgageJSON") || "";
                if ("" !== n && n.length > 0)
                    var o = JSON.parse(n);
                if (o && o[0] && o[0].form1)
                    for (var i in o[0].form1)
                        o[0].form1[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form1[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                if (o && o[0] && o[0].form2)
                    for (var i in o[0].form2)
                        o[0].form2[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form2[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                if (o && o[0] && o[0].form3)
                    for (var i in o[0].form3)
                        o[0].form3[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form3[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                if (o && o[0] && o[0].form4)
                    for (var i in o[0].form4)
                        o[0].form4[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form4[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                $(".leaveMessage__submit.j-privacy__btn.j-leaveMessage__submit.btn.btn-primary").attr("disabled", !0),
                $('form[name="formThanksMortgage"]').submit()
            } else {
                l.disableNext($("button.r-btn-next"));
                var r = $('input[name="myForm"]').val();
                if ($(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : l.disableNext(t), $(".rstepwrapper").eq(a - 1).find("input").length > 0 && $(".rstepwrapper").eq(a - 1).find("input").val().length > 0) {
                    var s = parseInt(l.getStep()),
                    c = $(".rstepwrapper").eq(s - 1).find("div[data-val]")[0];
                    if (c && null != c && void 0 != c && parseInt(c.innerText) >= 0) {
                        var u = l.getStep();
                        l.setNextActiveCheckingFields(u)
                    }
                    $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                        var e = $(this);
                        e.is(":visible") && e.trigger("keyup")
                    }),
                    $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                        if ($(this).is(":checked")) {
                            var e = l.getStep();
                            l.setNextActiveCheckingFields(e)
                        }
                    })
                } else {
                    var u = l.getStep();
                    l.setNextActiveCheckingFields(u)
                }
                var d = l.getStep(),
                m = parseInt(d);
                $(".rstepwrapper").eq(m - 1).find("input[data-ok]:checked").hasClass("not_eligible") ? window.location.replace($("#submit").attr("data-redirect-not-eligible")) : (l.refreshStep(a), l.setStep(a), $(".rstepwrapper").addClass("rhide"), $(".rstepwrapper").eq(a - 1).removeClass("rhide"))
            }
            l.scrollToTop();
            var d = parseInt(l.getStep());
            if (l.setNextActiveCheckingFields(d), $(".rstepwrapper").eq(a - 2).find("input[data-ok]:checked:visible").hasClass("not_eligible"))
                window.location.replace($("#submit").attr("data-redirect-not-eligible"));
            else if (a > $("#numberofsteps").val()) {
                sessionStorage.setItem("next", "true"),
                $(".r-btn-nextMortgage")[0].innerHTML = '<span><img class="loading-mortgage" width="22" height="22"></img></span>',
                $(".r-btn-nextMortgage")[0].disabled = !0;
                var r = $('input[name="myForm"]').val();
                "form2" == r && "WITHOUT_MORTGAGE" == l.sessionMortgage[0].form1.mortgage ? window.location.replace($("#submit").attr("data-redirect-contact")) : window.location.replace($("#submit").attr("data-redirect"))
            }
        })
    },
    this.scrollToTop = function () {
        $(".r-component-wrapper")[0].scrollIntoView({
            block: "nearest",
            behavior: "smooth"
        })
    },
    this.goBackStep = function () {
        $(document).on("click", "button.r-btn-back", function (e) {
            l.freeEmptyField(),
            sessionStorage.removeItem("next"),
            sessionStorage.removeItem("back"),
            e.preventDefault();
            var t = $(this),
            a = parseInt(t.attr("data-step")) - 1,
            r = $('input[name="myForm"]').val();
            if (sessionStorage.setItem("mortgageJSON", JSON.stringify(l.sessionMortgage)), a < 1) {
                sessionStorage.getItem("mortgageForm");
                if ("form1" !== r)
                    sessionStorage.setItem("back", "true"), window.location.replace($("#previous").attr("data-redirect-previous-step"));
                else {
                    var n = sessionStorage.getItem("calc");
                    window.location.replace(n)
                }
            } else
                l.disableNext($("button.r-btn-next")), setTimeout(function () {
                    if ($(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : l.disableNext($("button.r-btn-next")), $(".rstepwrapper").eq(a - 1).find("input").length > 0 && $(".rstepwrapper").eq(a - 1).find("input").val().length > 0) {
                        var e = (JSON.parse(sessionStorage.getItem("mortgageJSON"))[0].form2, parseInt(l.getStep())),
                        t = $(".rstepwrapper").eq(e - 1).find("div[data-val]")[0];
                        if (t && null != t && void 0 != t && parseInt(t.innerText) >= 0) {
                            var r = l.getStep();
                            l.setNextActiveCheckingFields(r - 1)
                        }
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            if ($(this).is(":checked")) {
                                var e = l.getStep();
                                l.setNextActiveCheckingFields(e - 1)
                            }
                        }),
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            var e = $(this);
                            e.is(":visible") && e.trigger("keyup")
                        })
                    } else {
                        var r = l.getStep();
                        l.setNextActiveCheckingFields(r - 1)
                    }
                }, 100), l.refreshStep(a), l.setStep(a), $(".rstepwrapper").addClass("rhide"), $(".rstepwrapper").eq(a - 1).removeClass("rhide");
            l.scrollToTop()
        })
    },
    this.formStep1Mortagage = function () {
        l.setStep(1)
    },
    this.setActiveInput = function () {
        $(".rcontainer-input").on("click", function () {
            var e = $(this).find("input").attr("name");
            $("[name=" + e + "]").parent().removeClass("active"),
            $(this).addClass("active");
            var t = $('input[name="myForm"]').val();
            if ("form1" == t) {
                var a = parseInt(l.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked") && (l.sessionMortgage[0].form1[e] = $("[name=" + e + "]:checked").val()),
                "loanPurpose" == e && (l.sessionMortgage[0].loanPurposeIndex = $("[name='loanPurpose']").index($("[name='loanPurpose']:checked"))),
                "borrowingProcess" == e && (l.sessionMortgage[0].form1.borrowingProcessFirstPossibility = $("#borrowingProcess1").val(), l.sessionMortgage[0].form1.borrowingProcessSecondPossibility = $("#borrowingProcess2").val(), l.sessionMortgage[0].form1.borrowingProcessThirdPossibility = $("#borrowingProcess3").val())
            }
            if ("form2" == t) {
                var a = parseInt(l.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked");
                l.sessionMortgage[0].form2[e] = $("[name=" + e + "]:checked").val()
            }
            if ("form3" == t) {
                var a = parseInt(l.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked");
                l.sessionMortgage[0].form3[e] = $("[name=" + e + "]:checked").val()
            }
            if ("form4" == t) {
                var a = parseInt(l.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked");
                l.sessionMortgage[0].form4[e] = $("[name=" + e + "]:checked").val()
            }
            var r = parseInt(l.getStep());
            l.setNextActiveCheckingFields(r)
        })
    },
    this.setActiveImport = function () {
        $(".rcontainer-import input").on("keyup", function () {
            if ($(this).val().length > 0) {
                var e = l.getStep();
                l.setNextActiveCheckingFields(e),
                $(".rstepwrapper").eq(parseInt(l.getStep()) - 1).find("input").length > 1 && void 0 == $(".rstepwrapper").eq(parseInt(l.getStep()) - 1).find(".rcontainer-import").attr("data-showhideloan") && $(".rstepwrapper").eq(parseInt(l.getStep()) - 1).find("input").each(function () {
                    if ($(this).is(":visible") && "" == $(this).val())
                        return void l.disableNext($("button.r-btn-next"))
                });
                var t = $(this).attr("name"),
                a = $('input[name="myForm"]').val();
                if ("form1" == a)
                    if ("radio" != $("[name=" + t + "]").attr("type") && $("[name=" + t + "]").length > 1)
                        for (var r = 0; r < $("[name=" + t + "]").length; r++)
                            "" != $($("[name=" + t + "]")[r]).val() && (l.sessionMortgage[0].form1[t] = $($("[name=" + t + "]")[r]).val().replace(/ /g, ""));
                    else
                        l.sessionMortgage[0].form1[t] = $("[name=" + t + "]").val();
                if ("form2" == a)
                    if ("radio" != $("[name=" + t + "]").attr("type") && $("[name=" + t + "]").length > 1)
                        for (var r = 0; r < $("[name=" + t + "]").length; r++)
                            "" != $($("[name=" + t + "]")[r]).val() && (l.sessionMortgage[0].form2[t] = $($("[name=" + t + "]")[r]).val().replace(/ /g, ""));
                    else
                        l.sessionMortgage[0].form2[t] = $("[name=" + t + "]").val();
                if ("form3" == a)
                    if ($("[name=" + t + "]").length > 1)
                        for (var r = 0; r < $("[name=" + t + "]").length; r++)
                            "" != $($("[name=" + t + "]")[r]).val() && (l.sessionMortgage[0].form3[t] = $($("[name=" + t + "]")[r]).val().replace(/ /g, ""));
                    else
                        l.sessionMortgage[0].form3[t] = $("[name=" + t + "]").val();
                if ("form4" == a)
                    if ($("[name=" + t + "]").length > 1)
                        for (var r = 0; r < $("[name=" + t + "]").length; r++)
                            "" != $($("[name=" + t + "]")[r]).val() && (l.sessionMortgage[0].form4[t] = $($("[name=" + t + "]")[r]).val().replace(/ /g, ""));
                    else
                        l.sessionMortgage[0].form4[t] = $("[name=" + t + "]").val()
            } else
                l.disableNext($("button.r-btn-next"))
        })
    },
    this.setActiveSelect = function () {
        $(".rcontainer-select").on("change", function () {
            var e = $(this).attr("name"),
            t = $('input[name="myForm"]').val();
            "form1" == t && (l.sessionMortgage[0].form1[e] = $("[name=" + e + "]").val()),
            "form2" == t && (l.sessionMortgage[0].form2[e] = $("[name=" + e + "]").val()),
            "form3" == t && (l.sessionMortgage[0].form3[e] = $("[name=" + e + "]").val()),
            "form4" == t && (l.sessionMortgage[0].form4[e] = $("[name=" + e + "]").val());
            var a = parseInt(l.getStep());
            l.setNextActiveCheckingFields(a)
        })
    },
    this.refreshStep = function (e) {
        var t = $('input[name="myForm"]').val(),
        a = l.sessionMortgage[0].loanPurposeIndex;
        if (totalSteps = "1" == a ? 14 : "2" == a ? 14 : 13, "form1" == t && ("1" == a ? (l.sessionMortgage[0].form1.investmentAmount = "", $("[name='investmentAmount']").val(""), $("#numberofsteps").attr("value", "6"), $(".rstep6-1").addClass("rstep6"), $(".rstep6-2").removeClass("rstep6"), $(".rstep6-1").after($(".rstep6-2"))) : "2" == a ? (l.sessionMortgage[0].form1.refinancedLoanAmount = "", $("[name='refinancedLoanAmount']").val(""), $("#numberofsteps").attr("value", "6"), $(".rstep6-1").removeClass("rstep6"), $(".rstep6-2").addClass("rstep6"), $(".rstep6-2").after($(".rstep6-1"))) : (l.sessionMortgage[0].form1.refinancedLoanAmount = "", l.sessionMortgage[0].form1.investmentAmount = "", $("[name='refinancedLoanAmount']").val(""), $("[name='investmentAmount']").val(""), $("#numberofsteps").attr("value", "5"), $(".rstep6-1").removeClass("rstep6"), $(".rstep6-2").removeClass("rstep6"))), "form2" == t && (e += "1" == a ? 6 : "2" == a ? 6 : 5), "form3" == t && (e += "1" == a ? 11 : "2" == a ? 11 : 10), "form4" == t)
            if ((e += "1" == a ? 13 : "2" == a ? 13 : 12) === totalSteps) {
                var r = $("[name=lastQuestionMortgage]").attr("data-last-question");
                $("[name=lastQuestionMortgage]").html(r)
            } else {
                var n = $("[name=lastQuestionMortgage]").attr("data-notlast-question");
                $("[name=lastQuestionMortgage]").html(n)
            }
        null !== e && "" !== e && void 0 !== e && ($(".r-cur-step").text(e), null !== totalSteps && "" !== totalSteps && void 0 !== totalSteps && ($(".r-tot-step").text(totalSteps), $(".r-progress-bar-fill").width(parseInt(e) / parseInt(totalSteps) * 100 + "%"))),
        l.scrollToTop()
    },
    this.setActiveNext = function (e) {
        e.addClass("active").prop("disabled", !1)
    },
    this.disableNext = function (e) {
        e.removeClass("active").prop("disabled", !0)
    },
    this.getStep = function () {
        return $("button.r-btn-next").attr("data-step")
    },
    this.showError = function (e) {
        e = parseInt(e);
        var t = $(".rstepwrapper").eq(e - 1).find("input[data-ok]").is(":checked") || !1;
        if (t || "true" == t) {
            $(".rstepwrapper").eq(e - 1).find(".rerror-choice").addClass("rhide");
            var a = l.getStep();
            l.setNextActiveCheckingFields(a)
        } else
            $(".rstepwrapper").eq(e - 1).find(".rerror-choice").removeClass("rhide"), l.disableNext($("button.r-btn-next"))
    },
    this.setStep = function (e) {
        $(".r-form-submit-wrapper button").attr("data-step", e),
        l.refreshStep(e)
    },
    this.toggleAccordion = function () {
        $('[data-accordion="title"]').on("click", function () {
            $(this).addClass("rhide"),
            $(this).next('[data-accordion="detail"]').removeClass("rhide")
        }),
        $('[data-accordion="detail"] .rtitle-accordotion').on("click", function () {
            $(this).parent().addClass("rhide"),
            $(this).parent().prev('[data-accordion="title"]').removeClass("rhide")
        })
    },
    this.plusMinus = function (e) {
        $("[data-plusminus]").length > 0 && $("[data-plusminus]").each(function (t, a) {
            null !== e && void 0 !== e && "" !== e && $(a).find("[data-val]").text(e);
            var r = $(a).attr("data-maximum"),
            n = $(a).find("[data-val]").text(),
            o = $(a).find("[data-minus]"),
            i = $(a).find("[data-plus]");
            o.removeClass("disabled"),
            i.removeClass("disabled"),
            "1" == n && o.addClass("disabled"),
            n == r && i.addClass("disabled")
        })
    },
    this.setStartingPage = function () {
        var e,
        t = document.referrer;
        window.location.pathname;
        if (t.includes("retail"))
            e = t;
        else {
            e = $("[name=linkDefaultRetailMortgage]").attr("data-mortgage-link-default-retail")
        }
        sessionStorage.setItem("calc", e)
    },
    $("[data-openmortgageform]").on("click", function () {
        l.getInputs();
        var e = window.location.pathname;
        sessionStorage.setItem("calc", e)
    }),
    $(".loanLink").click(function () {
        var e = sessionStorage.getItem("calc");
        this.href = e
    }),
    this.getInputs = function () {
        var e = "" + window.intesa.loan_calculator_albania.tenorCalculatedPromo || "",
        t = "" + window.intesa.loan_calculator_albania.loanAmountResultStandard || "",
        a = "" + window.intesa.loan_calculator_albania.currency || "",
        r = "" + window.intesa.loan_calculator_albania.selectedInterestRateValue || "",
        n = "" + window.intesa.loan_calculator_albania.interestRateFirstPeriod || "",
        o = "" + window.intesa.loan_calculator_albania.interestRateRemainingPeriod || "",
        i = "" + window.intesa.loan_calculator_albania.monthlyInstallmentResultStandard || "",
        s = "" + window.intesa.loan_calculator_albania.monthlyInstallmentResultStandard2 || "",
        c = "" + window.intesa.loan_calculator_albania.amountToRepayResultStandard || "",
        u = $("[name=fProductName]").val() || "",
        d = $("[name=fProductId]").val() || "";
        l.sessionMortgage[0].form1.loanAmount = t || "",
        l.sessionMortgage[0].form1.currency = a || "",
        l.sessionMortgage[0].form1.tenor = e || "",
        l.sessionMortgage[0].form1.interestRateType = r || "",
        l.sessionMortgage[0].form1.firstInterestRate = n || "",
        l.sessionMortgage[0].form1.secondInterestRate = o || "",
        l.sessionMortgage[0].form1.installmentFirstPeriod = i || "",
        l.sessionMortgage[0].form1.installmentSecondPeriod = s || "",
        l.sessionMortgage[0].form1.amountToRepay = c || "",
        l.sessionMortgage[0].form1.productId = d || "",
        l.sessionMortgage[0].form1.productName = u || "",
        sessionStorage.setItem("mortgageJSON", JSON.stringify(l.sessionMortgage))
    },
    this.showHideElements = function (e) {
        if (null !== e && void 0 !== e && "" !== e) {
            var t = l.getStep(),
            a = $(".rstepwrapper").eq(t - 1);
            for (a.find(".mod-hom1").addClass("rhide"), e = parseInt(e), i = 0; i <= e - 1; i++)
                a.find(".mod-hom1").eq(i).removeClass("rhide");
            if (e > 0) {
                var r = l.getStep();
                l.setNextActiveCheckingFields(r)
            }
            $(".rstepwrapper").eq(parseInt(l.getStep()) - 1).find("input").length > 1 && $(".rstepwrapper").eq(parseInt(l.getStep()) - 1).find("input").each(function () {
                if ($(this).is(":visible") && "" == $(this).val()) {
                    if (!n && 2 == l.getStep()) {
                        var e = l.getStep();
                        l.setNextActiveCheckingFields(e)
                    }
                    return void l.disableNext($("button.r-btn-next"))
                }
            })
        }
    },
    $("[data-minus]").on("click", function () {
        var e = $(this).next("[data-val]"),
        t = e.text();
        if (!$(this).hasClass("disabled")) {
            e.text(parseInt(t) - 1);
            var a = $("[data-val]:visible").attr("name");
            l.sessionMortgage[0].form2[a] = String(parseInt(t) - 1),
            l.plusMinus()
        }
        var r = parseInt(l.getStep());
        l.setNextActiveCheckingFields(r)
    });
    $(".rcontainer-import");
    $("[data-showloan]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan]").removeClass("rhide"), $("[data-val]:visible").length > 0) {
            var e = $("[data-val]:visible").attr("name"),
            t = l.sessionMortgage[0].form2[e];
            $("[data-val]:visible").html(t),
            "0" === t && $("[data-minus]:visible").addClass("disabled")
        }
        var a = parseInt(l.getStep());
        l.setNextActiveCheckingFields(a)
    }),
    $("[data-showloan-second]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan-second]").removeClass("rhide"), $("[data-val]:visible").length > 0) {
            var e = $("[data-val]:visible").attr("name"),
            t = l.sessionMortgage[0].form2[e];
            $("[data-val]:visible").html(t),
            "0" === t && $("[data-minus]:visible").addClass("disabled")
        }
        var a = parseInt(l.getStep());
        l.setNextActiveCheckingFields(a)
    }),
    $("[data-showloan-third]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan-third]").removeClass("rhide"), $("[data-val]:visible").length > 0) {
            var e = $("[data-val]:visible").attr("name"),
            t = l.sessionMortgage[0].form2[e];
            $("[data-val]:visible").html(t),
            "0" === t && $("[data-minus]:visible").addClass("disabled")
        }
        var a = parseInt(l.getStep());
        l.setNextActiveCheckingFields(a)
    }),
    $("[data-show-promo]").on("change", function () {
        $(this).parents(".rcontainer-import").find("[data-showhidepromo]").removeClass("rhide");
        var e = parseInt(l.getStep());
        l.setNextActiveCheckingFields(e)
    }),
    $("[data-hideloan]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan]").addClass("rhide").find("input"), "form2" == a) {
            var e = $(this),
            t = parseInt(e.attr("data-step")) - 1,
            r = $(".rstepwrapper").eq(t - 1).find("input[data-format-currency").attr("name");
            $(".rstepwrapper").eq(t - 1).find('input[name="' + r + '"]').trigger("keyup");
            JSON.parse(sessionStorage.getItem("mortgageJSON") || "")[0].form2
        }
        var n = parseInt(l.getStep());
        l.setNextActiveCheckingFields(n)
    }),
    $("[data-hideloan-second]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan-second]").addClass("rhide").find("input"), "form2" == a) {
            var e = $(this),
            t = parseInt(e.attr("data-step")) - 1,
            r = $(".rstepwrapper").eq(t - 1).find("input[data-format-currency").attr("name");
            $(".rstepwrapper").eq(t - 1).find('input[name="' + r + '"]').trigger("keyup");
            JSON.parse(sessionStorage.getItem("mortgageJSON") || "")[0].form2
        }
        var n = parseInt(l.getStep());
        l.setNextActiveCheckingFields(n)
    }),
    $("[data-hideloan-third]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan-third]").addClass("rhide").find("input"), "form2" == a) {
            var e = $(this),
            t = parseInt(e.attr("data-step")) - 1,
            r = $(".rstepwrapper").eq(t - 1).find("input[data-format-currency").attr("name");
            $(".rstepwrapper").eq(t - 1).find('input[name="' + r + '"]').trigger("keyup");
            JSON.parse(sessionStorage.getItem("mortgageJSON") || "")[0].form2
        }
        var n = parseInt(l.getStep());
        l.setNextActiveCheckingFields(n)
    }),
    $("[data-plus]").on("click", function () {
        var e = $(this).prev("[data-val]"),
        t = e.text();
        if (!$(this).hasClass("disabled")) {
            e.text(parseInt(t) + 1);
            var a = $("[data-val]:visible").attr("name");
            l.sessionMortgage[0].form2[a] = String(parseInt(t) + 1),
            l.plusMinus(),
            n && (parseInt(t) + 1 == 1 && $('input[name="debitorIncomeOne"]').trigger("keyup"), parseInt(t) + 1 == 2 && $('input[name="debitorIncomeTwo"]').trigger("keyup"), parseInt(t) + 1 == 3 && $('input[name="debitorIncomeThree"]').trigger("keyup"), parseInt(t) + 1 == 4 && $('input[name="debitorIncomeFour"]').trigger("keyup"))
        }
        var r = parseInt(l.getStep());
        l.setNextActiveCheckingFields(r)
    }),
    $(".r-thankyou-time label").on("click", function () {
        $(".r-thankyou-time label").removeClass("active"),
        $(this).addClass("active")
    }),
    $(document).on("input", ".r-thankyou-wrapper [name='phoneCountryPrefix'], .r-thankyou-wrapper [name='phoneNumber']", function (e) {
        $(this).val($(this).val().replace(/[^0-9]/g, ""))
    }),
    this.checkPrivacy = function () {
        var e = "none";
        $("#item_thanksName").length > 0 && (e = $("#item_thanksName").val());
        var t = $("input[name='recaptchaKey']").length >= 1 || "" != $(".g-recaptcha-response").val();
        const a = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/,
        r = /^[a-zA-ZÁÉÚŰŐÓÜÖÍáéúűőóüöíčćšžđČĆŠŽĐ \- \\s.]*$/;
        $("#privacystatus").is(":checked") && "" !== $("#item_email").val() && a.test($("#item_email").val()) && "" !== e && r.test(e) && "" !== $('[name="phoneCountryPrefix"]').val() && "" !== $('[name="phoneNumber"]').val() && 1 == $('[name="phoneNumber"]:visible').parsley().validate() && t ? $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !1) : $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !0)
    },
    $("#privacystatus").on("click", function () {
        l.checkPrivacy()
    }),
    $(".r-thankyou-wrapper input").on("change input", function (e) {
        l.checkPrivacy()
    }),
    $("[name='formThanksMortgage'] #idField-prefix").on("click", function (e) {
        $('[name="phoneCountryPrefix"]').focus(),
        $('[name="phoneCountryPrefix"]').click()
    }),
    $(".r-thankyou-content input[required]").on("focusout blur", function () {
        $(this).parsley().validate()
    }),
    $(".r-thankyou-wrapper .j-privacy__btn").on("click", function (e) {
        if (e.preventDefault(), $('form[name="formThanksMortgage"]').parsley().validate()) {
            $(".r-thankyou-content :input").each(function () {
                if (void 0 !== $(this).attr("name")) {
                    var e = $(this).val() || "",
                    t = $(this).attr("name") || "";
                    "privacystatus" == t && (e = $(this).is(":checked") ? "true" : "false"),
                    "radioTime" == t ? $(this).is(":checked") && ($("form#formTemp").find("input[name=" + $(this).attr("name") + "]").remove(), $("form#formTemp").append('<input type="hidden" name="' + $(this).attr("name") + '" value="' + e + '"/>')) : ($("form#formTemp").find("input[name=" + $(this).attr("name") + "]").remove(), $("form#formTemp").append('<input type="hidden" name="' + $(this).attr("name") + '" value="' + e + '"/>'))
                }
            });
            var t = sessionStorage.getItem("mortgageJSON") || "";
            if ("" !== t && t.length > 0)
                var a = JSON.parse(t);
            if (a && a[0] && a[0].form1) {
                for (var r in a[0].form1)
                    a[0].form1[r].length > 0 && "personalLoanConfiguration" != r ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form1[r].replace(String.fromCharCode(160), "") + '"/>') : "personalLoanConfiguration" != r && $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
                void 0 != a[0].form1.personalLoanConfiguration && ($('form[name="formThanksMortgage"]').append('<input type="hidden" name="personalLoanConfiguration" value=""/>'), $('form[name="formThanksMortgage"] input[name="personalLoanConfiguration"]').val(JSON.stringify(a[0].form1.personalLoanConfiguration).toString()))
            }
            if (a && a[0] && a[0].form2)
                for (var r in a[0].form2)
                    a[0].form2[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form2[r].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
            if (a && a[0] && a[0].form3)
                for (var r in a[0].form3)
                    a[0].form3[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form3[r].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
            if (a && a[0] && a[0].form4)
                for (var r in a[0].form4)
                    a[0].form4[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form4[r].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
            if (a && a[0] && a[0].typeOfAppointment) {
                var n = a[0].typeOfAppointment;
                $('form[name="formThanksMortgage"]').append('<input type="hidden" name="typeOfAppointment" value="' + n + '"/>')
            }
            $(".leaveMessage__submit.j-privacy__btn.j-leaveMessage__submit.btn.btn-primary")[0].innerHTML = '<span><img class="loading-mortgage" width="22" height="22"></img></span>',
            $(".leaveMessage__submit.j-privacy__btn.j-leaveMessage__submit.btn.btn-primary").attr("disabled", !0),
            $('form[name="formThanksMortgage"]').submit()
        }
        return !1
    }),
    $("[data-formsent]").length > 0 && (sessionStorage.removeItem("mortgageJSON"), sessionStorage.removeItem("mortgageStep"));
    var c;
    window.onresize = function () {
        clearTimeout(c),
        c = setTimeout(t, 10)
    };
    var u = sessionStorage.getItem("mortgageJSON") || "";
    if (u.length > 0) {
        var d = JSON.parse(u),
        m = d[0].form1.productName || "";
        $(".r-title").length > 0 && $(".r-title").each(function () {
            var e = $(this).html();
            e = e.replace("${productName}", m),
            $(this).html(e)
        })
    }
    this.callServlet = function (e, t) {
        $.ajax({
            type: "POST",
            data: t.serialize(),
            url: e,
            success: function (e) {
                console.log("success sending form")
            },
            error: function (e) {
                console.log("error sending form")
            }
        })
    },
    $(document).ready(function () {
        $("#landing-button-mortgage").length > 0 && (setTimeout(function () {
                $("#landing-button-mortgage").removeClass("disabled")
            }, 1e3), $("#landing-button-mortgage").on("click", function (e) {
                $("#landing-button-mortgage")[0].innerHTML = '<span><img class="loading-mortgage" width="22" height="22"></img></span>',
                $("#landing-button-mortgage")[0].disabled = !0
            }))
    })
}, Intesa.FormsISPALBANIA.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.formsISPALBANIA || (window.intesa.formsISPALBANIA = new Intesa.FormsISPALBANIA),
    window.intesa.formsISPALBANIA
};
var Intesa = Intesa || {};
Intesa.FormsLanding = function () {
    var e = this,
    t = !($(".com07-1__formContainer").find(".g-recaptcha-response").length > 0),
    a = $(".com07-1").length > 0,
    r = $("#rc").length > 0,
    n = $(".leaveMessage__submitWrapper").length > 0 ? $(".leaveMessage__submitWrapper").offset().top : null;
    this.init = function () {
        console.log("Forms Landing"),
        "CIB" === $("html").attr("data-bank") && $(".js-landing__form").length && (e.setLandingRc(), e.updateRc(), e.stickySubmit())
    },
    this.recaptchaCallback = function () {
        console.log("Captcha Verified"),
        t = !0,
        window.checkValidFormCaptcha()
    },
    this.validationCallback = function () {
        setTimeout(function () {
            console.log("Captcha Verified"),
            t = !0,
            window.checkValidFormCaptcha()
        }, 500)
    },
    window.recaptchaCallback = $("input[name='recaptchaKey']").length >= 1 ? this.validationCallback : this.recaptchaCallback,
    this.setLandingRc = function () {
        if (a && r) {
            var t = e.findGetParameter("rc");
            null != t && "" != t && void 0 != t && $("input[name='rc']").each(function () {
                $(this).val(t),
                $(this).hasClass("fc-primary") && $(this).addClass("fc-edited")
            })
        }
    },
    this.findGetParameter = function (e) {
        var t = null,
        a = [];
        return location.search.substr(1).split("&").forEach(function (r) {
            a = r.split("="),
            a[0] === e && (t = decodeURIComponent(a[1]))
        }),
        t
    },
    this.updateRc = function () {
        $("input[name='rc']").on("change", function () {
            var e = $(this).val();
            $("input[name='rc']").each(function () {
                $(this).val(e)
            })
        })
    },
    this.stickySubmit = function () {
        var t = $(".com07-1__formContainer.new__form__container.js-landing__form"),
        a = t.find(".leaveMessage__submitWrapper button").length > 0,
        r = $(".com07_submit_button").length > 0;
        a && r ? (e.replaceSubmitLabel(), e.activeSubmitButton(), e.checkScrollSubmit(), e.stickyButtonSubmit()) : e.enableSubmitFormButton()
    },
    this.enableSubmitFormButton = function () {
        $(".typeLandingPage").find(".leaveMessage__submit").hasClass("disabled") && $(".typeLandingPage").find(".leaveMessage__submit").removeClass("disabled")
    },
    this.activeSubmitButton = function () {
        var e = $(".com07-1__formContainer.new__form__container.js-landing__form"),
        a = $(".com07_submit_button"),
        r = $(e).find(".leaveMessage__submit");
        $(e.find("input , select")).each(function () {
            $(this).on("input", function () {
                var e = $(this).closest("form");
                console.log("isCaptcha -> ", t),
                console.log(t),
                e.parsley().isValid() && t ? (a.hasClass("disabled") && a.removeClass("disabled"), r.hasClass("disabled") && r.removeClass("disabled")) : (a.hasClass("disabled") || a.addClass("disabled"), r.hasClass("disabled") || r.addClass("disabled"))
            })
        })
    },
    window.checkValidFormCaptcha = function () {
        var e = $(".com07-1__formContainer.new__form__container.js-landing__form"),
        a = $(".com07_submit_button"),
        r = $(e).find(".leaveMessage__submit");
        e.length > 0 && (e.parsley().isValid() && t ? (a.hasClass("disabled") && a.removeClass("disabled"), r.hasClass("disabled") && r.removeClass("disabled")) : (a.hasClass("disabled") || a.addClass("disabled"), r.hasClass("disabled") || r.addClass("disabled")))
    },
    this.replaceSubmitLabel = function () {
        var t = $(".com07-1__formContainer.new__form__container.js-landing__form").find(".leaveMessage__submitWrapper button").text();
        $(".com07_submit_button").text(t),
        e.checksIfButtonShouldBeVisibile()
    },
    this.checksIfButtonShouldBeVisibile = function () {
        $(".com07_button").css("left", "9990px"),
        $(".com07_button").removeClass("hide"),
        $(".com07_button").offset().top < n && $(".com07_button").css("left", "")
    },
    this.checkScrollSubmit = function () {
        var e = !1;
        $(document).on("scroll", function () {
            var t;
            t = $(".com07_button").offset().top,
            e = "9990px" != $(".com07_button").css("left"),
            t >= n ? e && $(".com07_button").css("left", "9990px") : e || $(".com07_button").css("left", "")
        })
    },
    this.stickyButtonSubmit = function () {
        $(".com07_submit_button").on("click", function () {
            var e = $(".com07-1__formContainer.new__form__container.js-landing__form").find(".leaveMessage__submitWrapper button");
            $(e).click()
        })
    }
}, Intesa.FormsLanding.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.formsLanding || (window.intesa.formsLanding = new Intesa.FormsLanding),
    window.intesa.formsLanding
};
var Intesa = Intesa || {};
Intesa.FormsPBZ = function () {
    function e() {
        $("#recaptchainput").val("true"),
        setTimeout(function () {
            $('form[name="formThanksMortgage"]').parsley().validate(),
            p.checkPrivacy()
        }, 500)
    }
    function t() {
        setTimeout(function () {
            $('form[name="formThanksMortgage"]').parsley().validate(),
            forms.checkPrivacy()
        }, 500)
    }
    function a(e) {
        $(".rstepwrapper").addClass("rhide"),
        e.indexOf("One") > -1 && ($(".rstep1").removeClass("rhide"), p.setStep(1), p.refreshStep(1)),
        e.indexOf("Two") > -1 && ($(".rstep2").removeClass("rhide"), p.setStep(2), p.refreshStep(2)),
        e.indexOf("Three") > -1 && ($(".rstep3").removeClass("rhide"), p.setStep(3), p.refreshStep(3)),
        e.indexOf("Four") > -1 && ($(".rstep4").removeClass("rhide"), p.setStep(4), p.refreshStep(4)),
        e.indexOf("Five") > -1 && ($(".rstep5").removeClass("rhide"), p.setStep(5), p.refreshStep(5))
    }
    function r() {
        $("[data-bgimg]").length > 0 && $("[data-bgimg]").each(function () {
            var e = $(this).attr("data-bgimg");
            $(this).css("background-image", "url(" + e + ")")
        })
    }
    this.score1 = 0,
    this.score2 = 0;
    var n = sessionStorage.getItem("score1") || "";
    if (n.length > 0) {
        var o = parseInt(JSON.parse(n));
        this.score1 = o
    }
    var s = sessionStorage.getItem("score2") || "";
    if (s.length > 0) {
        var l = parseInt(JSON.parse(s));
        this.score2 = l
    }
    var c = $('input[name="myForm"]').val(),
    u = "PBZ" == $("html").attr("data-bank"),
    d = "CIB" == $("html").attr("data-bank"),
    m = "ISPSLOVENIA" == $("html").attr("data-bank"),
    p = this;
    this.init = function () {
        if ((d || m) && !u)
            return void(window.intesa.formsPBZ = null);
        window.recaptchaCallback = $("input[name='recaptchaKey']").length >= 1 ? t : e,
        p.sessionMortgage = [{
                form1: {
                    basicQuestionsOne: "",
                    basicQuestionsTwo: "",
                    permanentAddress: "",
                    codebtor: "",
                    account: "",
                    employment: "",
                    sameEmployer: ""
                },
                form2: {
                    averageSalary: "",
                    debitors: "0",
                    debitorIncomeOne: "",
                    debitorIncomeTwo: "",
                    existingLoan: "",
                    monthlyObligations: "",
                    revolvingCard: "",
                    maxCardLimit: "",
                    overdraft: "",
                    overdraftLimit: ""
                },
                form3: {
                    valueOfProperty: ""
                },
                score: ""
            }
        ];
        var a = sessionStorage.getItem("mortgageJSON") || "";
        if (a.length > 0) {
            var r = JSON.parse(a);
            p.sessionMortgage = r
        }
        p.setProductName(),
        ($('[data-component-r="formStep1Mortagage"]').length > 0 || $('[data-component-r="formStep2Mortagage"]').length > 0 || $('[data-component-r="formStep3Mortagage"]').length > 0 || $('[data-component-r="survey_loan"]').length > 0) && (p.refreshStep(1), p.toggleAccordion(), p.formStep1Mortagage(), "true" != sessionStorage.getItem("back") && $(".rstep1").removeClass("rhide"), p.setActiveInput(), p.setActiveImport(), p.goToNext(), p.goBackStep(), p.plusMinus(), $("#privacystatus").length > 0 && p.checkPrivacy(), p.initStep(), p.writeInput())
    },
    this.setProductName = function () {
        var e = p.sessionMortgage[0].form1.productName;
        if (null != e) {
            for (var t = e.split(" "), a = 0; a < t.length; a++)
                t[a] = t[a].charAt(0).toUpperCase() + t[a].slice(1);
            var r = t.join(" ");
            $(".productName").length > 0 && $(".productName").each(function () {
                var e = $(this).html();
                e = e.replace("${productName}", r),
                $(this).html(e)
            })
        }
    },
    this.checkMobileOrDesktopQuestionOne = function () {
        var e = p.getStep(),
        t = parseInt(e);
        "form1" == $('input[name="myForm"]').val() && 1 == t ? ($("#submit").addClass("mobileVersion"), $("#previous").addClass("desktopVersion")) : ($("#submit").removeClass("mobileVersion"), $("#previous").removeClass("desktopVersion"))
    },
    this.freeEmptyField = function () {
        var e = p.getStep(),
        t = parseInt(e),
        a = $('input[name="myForm"]').val();
        $(".rstepwrapper").eq(t - 1).find("input:hidden").each(function (e) {
            var r = this.name,
            n = this.type;
            p.sessionMortgage[0][a][r] && (p.sessionMortgage[0][a][r] = ""),
            "radio" == n ? ($(".rstepwrapper").eq(t - 1).find("input:hidden").eq(e).parent().removeClass("active"), this.checked = !1) : this.value = ""
        })
    },
    this.setNextActiveCheckingFields = function (e) {
        var t = !0,
        a = parseInt(e);
        $(".rstepwrapper").eq(a - 1).find("input:visible").each(function () {
            if ("radio" == this.type) {
                var e = this.name;
                0 == $(".rstepwrapper").eq(a - 1).find("input[name=" + e + "]:checked").length && (t = !1)
            } else
                "" != this.value && null != this.value && void 0 != this.value || (t = !1)
        }),
        t ? p.setActiveNext($("button.r-btn-next")) : p.disableNext($("button.r-btn-next"))
    },
    this.scoreFunction = function () {
        var e = $('input[name="myForm"]').val(),
        t = p.getStep() - 1;
        if ("form1" == e && 2 == t && (p.score1 = parseInt($(".rstepwrapper").eq(t - 1).find("input:checked").attr("js-data-score")), sessionStorage.setItem("score1", JSON.stringify(p.score1))), "form2" == e && 1 == t) {
            var a = parseInt($(".rstepwrapper").eq(t - 1).find(".js-data-score").val().replace(/[^0-9]/g, ""));
            a >= 1400 && (p.score2 = 3),
            a >= 1e3 && a < 1400 && (p.score2 = 2),
            a < 1e3 && (p.score2 = 1),
            sessionStorage.setItem("score2", JSON.stringify(p.score2))
        }
        var r = sessionStorage.getItem("mortgageJSON"),
        n = r ? JSON.parse(r) : {};
        n[0].score = p.score1 + p.score2,
        sessionStorage.setItem("mortgageJSON", JSON.stringify(n))
    },
    this.writeInput = function () {
        var e = Array.from($(".control-input-mortgage")),
        t = sessionStorage.getItem("mortgageJSON") || "",
        a = $('input[name="myForm"]').val(),
        r = t ? JSON.parse(t) : {};
        if (r && r[0] && e.forEach(function (e) {
                var t = e.name;
                r[0][a][t].length > 0 && ("debitorIncomeOne" == t ? ($("[data-plus]").click(), $(".mod-hom1").eq(1).removeClass("rhide")) : "debitorIncomeTwo" == t && ($("[data-plus]").click(), $(".mod-hom1").eq(2).removeClass("rhide")), "radio" == e.type ? e.name == t && e.value == r[0][a][t] && e.click() : e.value = r[0][a][t])
            }), sessionStorage.getItem("next")) {
            var n = p.getStep();
            p.setNextActiveCheckingFields(n)
        }
        sessionStorage.getItem("back") && p.setActiveNext($("button.r-btn-next"))
    },
    this.initStep = function () {
        var e = (sessionStorage.getItem("mortgageJSON"), $('input[name="myForm"]').val());
        "true" == sessionStorage.getItem("back") && ("form1" == e && ($(".rstepwrapper").addClass("rhide"), $(".rstep6").removeClass("rhide"), dataNewStep = 6), "form2" == e && ($(".rstepwrapper").addClass("rhide"), $(".rstep5").removeClass("rhide"), dataNewStep = 5), window.intesa.formsPBZ.setStep(dataNewStep), window.intesa.formsPBZ.refreshStep(dataNewStep)),
        "true" == sessionStorage.getItem("next") && ($(".rstepwrapper").addClass("rhide"), $(".rstep1").removeClass("rhide"), dataNewStep = 1, window.intesa.formsPBZ.setStep(dataNewStep), window.intesa.formsPBZ.refreshStep(dataNewStep))
    },
    this.stepByStorage = function () {
        var e = sessionStorage.getItem("mortgageJSON") || "";
        if (e.length > 0) {
            var t = JSON.parse(e);
            if (t && t[0] && t[0].form1)
                for (var r in t[0].form1)
                    if ($('input[name="' + r + '"]').length > 0 && t[0].form1[r].length > 0 && "true" != sessionStorage.getItem("next"))
                        switch (a(r), $('input[name="' + r + '"]').each(function () {
                                var e = this;
                                $(e).val() == t[0].form1[r] && $(e).attr("checked", !0).parent("label").trigger("click")
                            }), r) {
                        case "basicQuestionsOne":
                            p.setStep(1),
                            p.refreshStep(1),
                            $(".rstep1").removeClass("rhide");
                            break;
                        case "basicQuestionsTwo":
                            p.setStep(2),
                            p.refreshStep(2),
                            $(".rstep2").removeClass("rhide");
                            break;
                        case "permanentAddress":
                            p.setStep(3),
                            p.refreshStep(3),
                            $(".rstep3").removeClass("rhide");
                            break;
                        case "codebtor":
                            p.setStep(4),
                            p.refreshStep(4),
                            $(".rstep4").removeClass("rhide");
                            break;
                        case "account":
                            p.setStep(5),
                            p.refreshStep(5),
                            $(".rstep5").removeClass("rhide");
                            break;
                        case "employment":
                            p.setStep(6),
                            p.refreshStep(6),
                            $(".rstep6").removeClass("rhide")
                        }
            if (t && t[0] && t[0].form2)
                for (var r in t[0].form2)
                    if ($('input[name="' + r + '"]').length > 0 && t[0].form2[r].length > 0 && "true" != sessionStorage.getItem("next")) {
                        "radio" != $(self).attr("type") && $('input[name="' + r + '"]').val(t[0].form2[r]);
                        var n = parseInt(p.getStep());
                        switch ($(".rstepwrapper").eq(n - 1).find('input[name="' + r + '"]').trigger("keyup"), r) {
                        case "averageSalary":
                            p.setStep(1),
                            p.refreshStep(1),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep1").removeClass("rhide");
                            break;
                        case "debitorIncomeOne":
                            p.setStep(2),
                            p.refreshStep(2),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep2").removeClass("rhide");
                            break;
                        case "existingLoan":
                            p.setStep(3),
                            p.refreshStep(3),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep3").removeClass("rhide");
                            break;
                        case "revolvingCard":
                            p.setStep(4),
                            p.refreshStep(4),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep4").removeClass("rhide");
                            break;
                        case "overdraft":
                            p.setStep(5),
                            p.refreshStep(5),
                            $(".rstepwrapper").addClass("rhide"),
                            $(".rstep5").removeClass("rhide")
                        }
                    }
            if (t && t[0] && t[0].form3)
                for (var r in t[0].form3)
                    $('input[name="' + r + '"]').length > 0 && t[0].form3[r].length > 0 && "true" != sessionStorage.getItem("next") && "valueOfProperty" == r && (p.setStep(1), p.refreshStep(1), $(".rstep1").removeClass("rhide")), $('input[name="' + r + '"]').val(t[0].form3[r]).trigger("focus"), $('input[name="' + r + '"]').val(t[0].form3[r]).trigger("keyup")
        }
    },
    this.goToNext = function () {
        $(document).on("click", "button.r-btn-next", function (e) {
            p.freeEmptyField(),
            sessionStorage.removeItem("back"),
            sessionStorage.removeItem("next"),
            e.preventDefault();
            var t = $(this),
            a = parseInt(t.attr("data-step")) + 1,
            r = $('input[name="myForm"]').val();
            if (sessionStorage.setItem("mortgageJSON", JSON.stringify(p.sessionMortgage)), "form1" == r && sessionStorage.setItem("mortgageStep", "1"), "form2" == r && sessionStorage.setItem("mortgageStep", "2"), "form3" == r && sessionStorage.setItem("mortgageStep", "3"), a > $("#numberofsteps").val()) {
                var r = $('input[name="myForm"]').val(),
                n = sessionStorage.getItem("mortgageJSON") || "";
                if ("" !== n && n.length > 0)
                    var o = JSON.parse(n);
                if (o && o[0] && o[0].form1)
                    for (var i in o[0].form1)
                        o[0].form1[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form1[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                if (o && o[0] && o[0].form2)
                    for (var i in o[0].form2)
                        o[0].form2[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form2[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                if (o && o[0] && o[0].form3)
                    for (var i in o[0].form3)
                        o[0].form3[i].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value="' + o[0].form3[i].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + i + '" value=""/>');
                o && o[0] && o[0].score && $('form[name="formThanksMortgage"]').append('<input type="hidden" name="score" value="' + o[0].score + '"/>'),
                $(".leaveMessage__submit.j-privacy__btn.j-leaveMessage__submit.btn.btn-primary").attr("disabled", !0),
                $('form[name="formThanksMortgage"]').submit()
            } else {
                p.disableNext($("button.r-btn-next"));
                var r = $('input[name="myForm"]').val();
                if ("form1" == r && ($(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : p.disableNext(t)), "form2" == r)
                    if ($(".rstepwrapper").eq(a - 1).find("input").val().length > 0) {
                        var s = parseInt(p.getStep()),
                        l = $(".rstepwrapper").eq(s - 1).find("div[data-val]")[0];
                        l && null != l && void 0 != l && parseInt(l.innerText) >= 0 && p.setActiveNext($("button.r-btn-next")),
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            var e = $(this);
                            e.is(":visible") && e.trigger("keyup")
                        }),
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            $(this).is(":checked") && p.setActiveNext($("button.r-btn-next"))
                        })
                    } else
                        p.disableNext($("button.r-btn-next"));
                var c = p.getStep(),
                u = parseInt(c);
                $(".rstepwrapper").eq(u - 1).find("input[data-ok]:checked").hasClass("not_eligible") ? window.location.replace($("#submit").attr("data-redirect-not-eligible")) : (p.refreshStep(a), p.setStep(a), $(".rstepwrapper").addClass("rhide"), $(".rstepwrapper").eq(a - 1).removeClass("rhide"))
            }
            p.scrollToTop();
            var c = parseInt(p.getStep());
            if (p.setNextActiveCheckingFields(c), p.scoreFunction(), $(".rstepwrapper").eq(a - 2).find("input[data-ok]:checked:visible").hasClass("not_eligible"))
                window.location.replace($("#submit").attr("data-redirect-not-eligible"));
            else if (a > $("#numberofsteps").val()) {
                sessionStorage.setItem("next", "true");
                var r = $('input[name="myForm"]').val();
                "form2" == r && "WITHOUT_MORTGAGE" == p.sessionMortgage[0].form1.mortgage ? window.location.replace($("#submit").attr("data-redirect-contact")) : window.location.replace($("#submit").attr("data-redirect"))
            }
        })
    },
    this.scrollToTop = function () {
        $(".r-component-wrapper")[0].scrollIntoView({
            block: "nearest",
            behavior: "smooth"
        })
    },
    this.goBackStep = function () {
        $(document).on("click", "button.r-btn-back", function (e) {
            p.freeEmptyField(),
            sessionStorage.removeItem("next"),
            sessionStorage.removeItem("back"),
            e.preventDefault();
            var t = $(this),
            a = parseInt(t.attr("data-step")) - 1,
            r = $('input[name="myForm"]').val();
            if (sessionStorage.setItem("mortgageJSON", JSON.stringify(p.sessionMortgage)), a < 1) {
                sessionStorage.getItem("mortgageForm");
                if ("form1" !== r)
                    sessionStorage.setItem("back", "true"), window.location.replace($("#previous").attr("data-redirect-previous-step"));
                else {
                    var n = sessionStorage.getItem("calc");
                    window.location.replace(n)
                }
            } else
                p.disableNext($("button.r-btn-next")), "form1" == r && setTimeout(function () {
                    $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : p.disableNext($("button.r-btn-next"))
                }, 100), "form2" == r && setTimeout(function () {
                    if ($(".rstepwrapper").eq(a - 1).find("input").val().length > 0) {
                        var e = (JSON.parse(sessionStorage.getItem("mortgageJSON"))[0].form2, parseInt(p.getStep())),
                        t = $(".rstepwrapper").eq(e - 1).find("div[data-val]")[0];
                        t && null != t && void 0 != t && parseInt(t.innerText) >= 0 && p.setActiveNext($("button.r-btn-next")),
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            $(this).is(":checked") && p.setActiveNext($("button.r-btn-next"))
                        }),
                        $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                            var e = $(this);
                            e.is(":visible") && e.trigger("keyup")
                        })
                    } else
                        p.setActiveNext($("button.r-btn-next"))
                }, 100), p.refreshStep(a), p.setStep(a), $(".rstepwrapper").addClass("rhide"), $(".rstepwrapper").eq(a - 1).removeClass("rhide");
            p.scrollToTop()
        })
    },
    this.formStep1Mortagage = function () {
        p.setStep(1)
    },
    this.setActiveInput = function () {
        $(".rcontainer-input").on("click", function () {
            var e = $(this).find("input").attr("name");
            $("[name=" + e + "]").parent().removeClass("active"),
            $(this).addClass("active");
            var t = $('input[name="myForm"]').val();
            if ("form1" == t) {
                var a = parseInt(p.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked") && (p.sessionMortgage[0].form1[e] = $("[name=" + e + "]:checked").val())
            }
            if ("form2" == t) {
                var a = parseInt(p.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked");
                p.sessionMortgage[0].form2[e] = $("[name=" + e + "]:checked").val()
            }
            if ("form3" == t) {
                var a = parseInt(p.getStep());
                $(".rstepwrapper").eq(a - 1).find("input[data-ok][name=" + e + "]").is(":checked");
                p.sessionMortgage[0].form3[e] = $("[name=" + e + "]:checked").val()
            }
            var r = parseInt(p.getStep());
            p.setNextActiveCheckingFields(r)
        })
    },
    this.setActiveImport = function () {
        $(".rcontainer-import input").on("keyup", function () {
            if ($(this).val().length > 0) {
                p.setActiveNext($("button.r-btn-next")),
                $(".rstepwrapper").eq(parseInt(p.getStep()) - 1).find("input").length > 1 && void 0 == $(".rstepwrapper").eq(parseInt(p.getStep()) - 1).find(".rcontainer-import").attr("data-showhideloan") && $(".rstepwrapper").eq(parseInt(p.getStep()) - 1).find("input").each(function () {
                    if ($(this).is(":visible") && "" == $(this).val())
                        return void p.disableNext($("button.r-btn-next"))
                });
                var e = $(this).attr("name"),
                t = $('input[name="myForm"]').val();
                if ("form2" == t)
                    if (d)
                        p.sessionMortgage[0].form2[e] = $("[name=" + e + "]").val().replace(/ /g, "");
                    else if ("radio" != $("[name=" + e + "]").attr("type") && $("[name=" + e + "]").length > 1)
                        for (var a = 0; a < $("[name=" + e + "]").length; a++)
                            "" != $($("[name=" + e + "]")[a]).val() && (p.sessionMortgage[0].form2[e] = $($("[name=" + e + "]")[a]).val().replace(/ /g, ""));
                    else
                        p.sessionMortgage[0].form2[e] = $("[name=" + e + "]").val().replace(/ /g, "");
                if ("form3" == t)
                    if ($("[name=" + e + "]").length > 1)
                        for (var a = 0; a < $("[name=" + e + "]").length; a++)
                            "" != $($("[name=" + e + "]")[a]).val() && (p.sessionMortgage[0].form3[e] = $($("[name=" + e + "]")[a]).val().replace(/ /g, ""));
                    else
                        p.sessionMortgage[0].form3[e] = $("[name=" + e + "]").val().replace(/ /g, "")
            } else
                p.disableNext($("button.r-btn-next"))
        })
    },
    this.refreshStep = function (e) {
        var t = $('input[name="myForm"]').val();
        totalSteps = 12,
        "form2" == t && (e += 6),
        "form3" == t && (e += 11),
        null !== e && "" !== e && void 0 !== e && ($(".r-cur-step").text(e), null !== totalSteps && "" !== totalSteps && void 0 !== totalSteps && ($(".r-tot-step").text(totalSteps), $(".r-progress-bar-fill").width(parseInt(e) / parseInt(totalSteps) * 100 + "%"))),
        p.scrollToTop()
    },
    this.setActiveNext = function (e) {
        e.addClass("active").prop("disabled", !1)
    },
    this.disableNext = function (e) {
        e.removeClass("active").prop("disabled", !0)
    },
    this.getStep = function () {
        return $("button.r-btn-next").attr("data-step")
    },
    this.showError = function (e) {
        e = parseInt(e);
        var t = $(".rstepwrapper").eq(e - 1).find("input[data-ok]").is(":checked") || !1;
        t || "true" == t ? ($(".rstepwrapper").eq(e - 1).find(".rerror-choice").addClass("rhide"), p.setActiveNext($("button.r-btn-next"))) : ($(".rstepwrapper").eq(e - 1).find(".rerror-choice").removeClass("rhide"), p.disableNext($("button.r-btn-next")))
    },
    this.setStep = function (e) {
        $(".r-form-submit-wrapper button").attr("data-step", e),
        p.refreshStep(e)
    },
    this.toggleAccordion = function () {
        $('[data-accordion="title"]').on("click", function () {
            $(this).addClass("rhide"),
            $(this).next('[data-accordion="detail"]').removeClass("rhide")
        }),
        $('[data-accordion="detail"] .rtitle-accordotion').on("click", function () {
            $(this).parent().addClass("rhide"),
            $(this).parent().prev('[data-accordion="title"]').removeClass("rhide")
        })
    },
    this.plusMinus = function (e) {
        $("[data-plusminus]").length > 0 && $("[data-plusminus]").each(function (t, a) {
            null !== e && void 0 !== e && "" !== e && $(a).find("[data-val]").text(e);
            var r = $(a).attr("data-maximum"),
            n = $(a).find("[data-val]").text(),
            o = $(a).find("[data-minus]"),
            i = $(a).find("[data-plus]");
            o.removeClass("disabled"),
            i.removeClass("disabled"),
            "0" == n && o.addClass("disabled"),
            n == r && i.addClass("disabled")
        })
    },
    $("[data-openmortgageform]").on("click", function () {
        p.getInputs();
        var e = window.location.pathname;
        sessionStorage.setItem("calc", e)
    }),
    $(".loanLink").click(function () {
        var e = sessionStorage.getItem("calc");
        this.href = e
    }),
    this.getInputs = function () {
        var e = "" + window.intesa.loan_calculator_pbz.tenor || "",
        t = "" + window.intesa.loan_calculator_pbz.tenorUnit || "",
        a = "" + window.intesa.loan_calculator_pbz.loanAmount || "",
        r = "" + window.intesa.loan_calculator_pbz.interestRateType || "",
        n = "" + window.intesa.loan_calculator_pbz.firstInterestRate || "",
        o = "" + window.intesa.loan_calculator_pbz.firstMonthlyInstallment || "",
        i = "" + window.intesa.loan_calculator_pbz.activeMortgage.variantType || "",
        s = "" + window.intesa.loan_calculator_pbz.amountToRepay || "",
        l = "" + window.intesa.loan_calculator_pbz.currency || "",
        c = $("[name=fProductName]").val() || "",
        u = $("[name=fProductId]").val() || "",
        d = $("[name=fInterestPeriod]").val() || "",
        m = $("[name=fLoanPurpose]").val() || "",
        h = JSON.parse($("[name=personalLoanConfiguration]").val()) || "";
        p.sessionMortgage[0].form1.loanAmount = a || "",
        p.sessionMortgage[0].form1.tenor = e || "",
        p.sessionMortgage[0].form1.interestRate = r || "",
        p.sessionMortgage[0].form1.installment = o || "",
        p.sessionMortgage[0].form1.mortgage = i || "",
        p.sessionMortgage[0].form1.amountToRepay = s || "",
        p.sessionMortgage[0].form1.currency = l || "",
        p.sessionMortgage[0].form1.firstInterestRate = n || "",
        p.sessionMortgage[0].form1.tenorUnit = t || "",
        p.sessionMortgage[0].form1.productId = u || "",
        p.sessionMortgage[0].form1.productName = c || "",
        p.sessionMortgage[0].form1.interestPeriod = d || "",
        p.sessionMortgage[0].form1.loanPurpose = m || "",
        p.sessionMortgage[0].form1.personalLoanConfiguration = h || "",
        sessionStorage.setItem("mortgageJSON", JSON.stringify(p.sessionMortgage))
    },
    this.showHideElements = function (e) {
        if (null !== e && void 0 !== e && "" !== e) {
            var t = p.getStep(),
            a = $(".rstepwrapper").eq(t - 1);
            for (a.find(".mod-hom1").addClass("rhide"), e = parseInt(e), i = 0; i <= e - 1; i++)
                a.find(".mod-hom1").eq(i).removeClass("rhide");
            e > 0 && p.setActiveNext($("button.r-btn-next")),
            $(".rstepwrapper").eq(parseInt(p.getStep()) - 1).find("input").length > 1 && $(".rstepwrapper").eq(parseInt(p.getStep()) - 1).find("input").each(function () {
                if ($(this).is(":visible") && "" == $(this).val())
                    return d || 2 != p.getStep() || p.setActiveNext($("button.r-bth-next")), void p.disableNext($("button.r-btn-next"))
            })
        }
    },
    $("[data-minus]").on("click", function () {
        var e = $(this).next("[data-val]"),
        t = e.text();
        $(this).hasClass("disabled") || (e.text(parseInt(t) - 1), p.sessionMortgage[0].form2.debitors = String(parseInt(t) - 1), p.plusMinus(), p.showHideElements(parseInt(t) - 1));
        var a = parseInt(p.getStep());
        p.setNextActiveCheckingFields(a)
    });
    $(".rcontainer-import");
    $("[data-showloan]").on("click", function () {
        $(this).parents(".rstepwrapper").find("[data-showhideloan]").removeClass("rhide");
        var e = parseInt(p.getStep());
        p.setNextActiveCheckingFields(e)
    }),
    $("[data-hideloan]").on("click", function () {
        if ($(this).parents(".rstepwrapper").find("[data-showhideloan]").addClass("rhide").find("input"), "form2" == c) {
            var e = $(this),
            t = parseInt(e.attr("data-step")) - 1,
            a = $(".rstepwrapper").eq(t - 1).find("input[data-format-currency").attr("name");
            $(".rstepwrapper").eq(t - 1).find('input[name="' + a + '"]').trigger("keyup");
            JSON.parse(sessionStorage.getItem("mortgageJSON") || "")[0].form2
        }
        var r = parseInt(p.getStep());
        p.setNextActiveCheckingFields(r)
    }),
    $("[data-plus]").on("click", function () {
        var e = $(this).prev("[data-val]"),
        t = e.text();
        $(this).hasClass("disabled") || (e.text(parseInt(t) + 1), p.sessionMortgage[0].form2.debitors = String(parseInt(t) + 1), p.plusMinus(), p.showHideElements(parseInt(t) + 1), d && (parseInt(t) + 1 == 1 && $('input[name="debitorIncomeOne"]').trigger("keyup"), parseInt(t) + 1 == 2 && $('input[name="debitorIncomeTwo"]').trigger("keyup"), parseInt(t) + 1 == 3 && $('input[name="debitorIncomeThree"]').trigger("keyup"), parseInt(t) + 1 == 4 && $('input[name="debitorIncomeFour"]').trigger("keyup")));
        var a = parseInt(p.getStep());
        p.setNextActiveCheckingFields(a)
    }),
    $(".r-thankyou-time label").on("click", function () {
        $(".r-thankyou-time label").removeClass("active"),
        $(this).addClass("active")
    }),
    $(document).on("input", ".r-thankyou-wrapper [name='prefixNumber'], .r-thankyou-wrapper [name='phoneNumber']", function (e) {
        $(this).val($(this).val().replace(/[^0-9]/g, ""))
    }),
    this.checkPrivacy = function () {
        var e = "none";
        $("#item_thanksName").length > 0 && (e = $("#item_thanksName").val());
        var t = "none";
        $("#item_thanksLastname").length > 0 && (t = $("#item_thanksLastname").val());
        var a = $("input[name='recaptchaKey']").length >= 1 || "" != $(".g-recaptcha-response").val();
        const r = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/,
        n = /^[a-zA-ZÁÉÚŰŐÓÜÖÍáéúűőóüöíčćšžđČĆŠŽĐ \- \\s.]*$/;
        $("#privacystatus").is(":checked") && "" !== $("#item_email").val() && r.test($("#item_email").val()) && "" !== e && "" !== t && n.test(e) && n.test(t) && "" !== $('[name="prefixNumber"]').val() && "" !== $('[name="phoneNumber"]').val() && 9 == $('[name="phoneNumber"]').val().length && a ? $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !1) : $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !0)
    },
    $("#privacystatus").on("click", function () {
        p.checkPrivacy()
    }),
    $(".r-thankyou-wrapper input").on("change input", function (e) {
        p.checkPrivacy()
    }),
    $(".r-thankyou-content input[required]").on("focusout blur", function () {
        $(this).parsley().validate()
    }),
    $(".r-thankyou-wrapper .j-privacy__btn").on("click", function (e) {
        if (e.preventDefault(), $('form[name="formThanksMortgage"]').parsley().validate()) {
            $(".r-thankyou-content :input").each(function () {
                if (void 0 !== $(this).attr("name")) {
                    var e = $(this).val() || "",
                    t = $(this).attr("name") || "";
                    "privacystatus" == t && (e = $(this).is(":checked") ? "true" : "false"),
                    "radioTime" == t ? $(this).is(":checked") && ($("form#formTemp").find("input[name=" + $(this).attr("name") + "]").remove(), $("form#formTemp").append('<input type="hidden" name="' + $(this).attr("name") + '" value="' + e + '"/>')) : ($("form#formTemp").find("input[name=" + $(this).attr("name") + "]").remove(), $("form#formTemp").append('<input type="hidden" name="' + $(this).attr("name") + '" value="' + e + '"/>'))
                }
            });
            var t = sessionStorage.getItem("mortgageJSON") || "";
            if ("" !== t && t.length > 0)
                var a = JSON.parse(t);
            if (a && a[0] && a[0].form1) {
                for (var r in a[0].form1)
                    a[0].form1[r].length > 0 && "personalLoanConfiguration" != r ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form1[r].replace(String.fromCharCode(160), "") + '"/>') : "personalLoanConfiguration" != r && $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
                void 0 != a[0].form1.personalLoanConfiguration && ($('form[name="formThanksMortgage"]').append('<input type="hidden" name="personalLoanConfiguration" value=""/>'), $('form[name="formThanksMortgage"] input[name="personalLoanConfiguration"]').val(JSON.stringify(a[0].form1.personalLoanConfiguration).toString()))
            }
            if (a && a[0] && a[0].form2)
                for (var r in a[0].form2)
                    a[0].form2[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form2[r].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
            if (a && a[0] && a[0].form3)
                for (var r in a[0].form3)
                    a[0].form3[r].length > 0 ? $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value="' + a[0].form3[r].replace(String.fromCharCode(160), "") + '"/>') : $('form[name="formThanksMortgage"]').append('<input type="hidden" name="' + r + '" value=""/>');
            if (a && a[0] && a[0].score) {
                var n = a[0].score,
                o = "";
                n <= 3 && (o = "Low Priority (" + n + "/6)"),
                n > 3 && n <= 5 && (o = "Medium Priority (" + n + "/6)"),
                n >= 6 && (o = "High Priority (" + n + "/6)"),
                $('form[name="formThanksMortgage"]').append('<input type="hidden" name="score" value="' + o + '"/>')
            }
            $(".leaveMessage__submit.j-privacy__btn.j-leaveMessage__submit.btn.btn-primary").attr("disabled", !0),
            $('form[name="formThanksMortgage"]').submit()
        }
        return !1
    }),
    $("[data-formsent]").length > 0 && (sessionStorage.removeItem("mortgageJSON"), sessionStorage.removeItem("mortgageStep"));
    var h;
    window.onresize = function () {
        clearTimeout(h),
        h = setTimeout(r, 10)
    };
    var g = sessionStorage.getItem("mortgageJSON") || "";
    if (g.length > 0) {
        var f = JSON.parse(g),
        v = f[0].form1.productName || "";
        $(".r-title").length > 0 && $(".r-title").each(function () {
            var e = $(this).html();
            e = e.replace("${productName}", v),
            $(this).html(e)
        })
    }
    this.callServlet = function (e, t) {
        $.ajax({
            type: "POST",
            data: t.serialize(),
            url: e,
            success: function (e) {
                console.log("success sending form")
            },
            error: function (e) {
                console.log("error sending form")
            }
        })
    },
    $(document).ready(function () {
        $("#landing-button-mortgage").length > 0 && (console.log("inner mortgage"), setTimeout(function () {
                $("#landing-button-mortgage").removeClass("disabled")
            }, 1e3))
    })
}, Intesa.FormsPBZ.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.formsPBZ || (window.intesa.formsPBZ = new Intesa.FormsPBZ),
    window.intesa.formsPBZ
};
var Intesa = Intesa || {};
Intesa.FormsVub = function () {
    var e = this,
    t = {};
    this.init = function () {
        var t = $("html").attr("data-bank");
        if ("VUB" == t) {
            e.getSettingsAndLabelsJsonData();
            var a,
            r,
            n = $("#deferralLoanBusiness").length,
            o = $("#deferallLoan").length > 0;
            $("#formType").length > 0 && (a = $("#formType").val(), r = "cashWithdrawal" == a),
            n = $("#deferralLoanBusiness").length > 0 && $("#deferralLoanBusiness").val(),
            o = $("#deferallLoan").length > 0 && $("#deferallLoan").val(),
            $("#gdprForm").length > 0 ? gdprForm = !0 : gdprForm = !1;
            var i = window.innerWidth > 0 ? window.innerWidth : screen.width,
            s = i < 768;
            "VUB" == t && "true" == o ? ("false" == s.toString() && e.blankSpacesForm(), e.hideMailPickup(!0, s), e.showHideMailPickup()) : "VUB" == t && "true" == n ? (e.hideMailPickup(!1, s), "false" == s.toString() && e.blankSpacesForm(), e.showHideMailPickupBusiness(), e.deferralLoanRepayment(), e.moreInfoCheckbox(), e.submitCheck()) : "VUB" == t && r ? (e.arrowDisplay(), e.addMoreOrder()) : "VUB" == t && gdprForm && (e.hideMailPickup(!1, s), e.showHideMailPickup(), e.otpInput(), e.gdprCall(), e.initGDPRComponents()),
            e.setDataLayerFields(),
            e.dataPushDataLayerVub(),
            e.dataLayerOpenChat(),
            e.componentsToParse()
        }
    },
    this.otpInput = function () {
        $(".rstep2-gdpr").find("input").each(function () {
            $(this).attr("maxlength", 1),
            $(this).on("keyup", function (e) {
                var t = $($(this).parent());
                if (8 === e.keyCode || 37 === e.keyCode) {
                    var a = t.find("input#" + $(this).data("previous"));
                    a.length && ($(a).select(), e.stopPropagation())
                } else if (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 65 && e.keyCode <= 90 || e.keyCode >= 96 && e.keyCode <= 105 || 39 === e.keyCode) {
                    var r = t.find("input#" + $(this).data("next"));
                    r.length && $(this).val().length > 0 ? ($(r).select(), e.stopPropagation()) : console.log("last-step")
                }
            })
        })
    },
    this.getSettingsAndLabelsJsonData = function () {
        var e = $("#genericSettings"),
        a = $("#calculatorLabels");
        try {
            e.length && (t = JSON.parse(e.val())),
            a.length && (calculatorLabels = JSON.parse(a.val()))
        } catch (e) {
            console.error("Settings or Labels JSON file invalid"),
            invalidJsonFiles = !0
        }
    },
    this.dataPushDataLayerVub = function () {
        if ($("#data-success-submit").length > 0) {
            var e = $("#formType").length > 0;
            if (e)
                switch (e = $("#formType").val(), e.toUpperCase()) {
                case "CONTACT":
                    var t = localStorage.getItem("topic");
                    window.dataLayer = window.dataLayer || [],
                    window.dataLayer.push({
                        event: "service",
                        eventCategory: "contactus",
                        eventAction: "submit",
                        eventLabel: t,
                        eventName: "contact us"
                    }),
                    console.log("Data Layer Push Contact Us"),
                    localStorage.removeItem("topic");
                    break;
                case "COMPLAINT":
                    var a = localStorage.getItem("salesChannel"),
                    r = localStorage.getItem("service"),
                    n = localStorage.getItem("product");
                    window.dataLayer.push({
                        event: "service",
                        eventCategory: "complaints",
                        eventAction: a,
                        eventLabel: r,
                        eventName: "complaints",
                        product: n
                    }),
                    console.log("Data Layer Push Complaint"),
                    localStorage.removeItem("salesChannel"),
                    localStorage.removeItem("service"),
                    localStorage.removeItem("product");
                    break;
                default:
                    console.log("form non gestito da data layer")
                }
        }
    },
    this.gdprCall = function () {
        $("[name='firstButtonGDPR'").on("click", function () {
            var t = $(".for__form").parsley({
                excluded: "input[type=text]:hidden, input[type=hidden]"
            }).validate();
            if (e.refreshOtpDigits(), t) {
                var a = $(this).parents("form"),
                r = $(a).find("[name='phoneNumber']").val().toString(),
                n = "0" + r,
                o = null != localStorage.getItem("phoneNumber") ? localStorage.getItem("phoneNumber") : null,
                i = a.serialize();
                i = i.replace(/(phoneNumber=)(\d+)/, "$1" + n),
                $("#messageId").val().length > 0 && n == o ? $("#otpSubmitModal").modal("show") : $.ajax({
                    type: "POST",
                    data: i,
                    url: "/otpServlet/?operation=sendOtp",
                    success: function (t) {
                        switch ($('[name="secondButtonGDPR"]').prop("disabled", !0), e.removeErrorTentativeOtpDigits(), $("#otpSubmitModal").find("#otp__invalid__error_retry").addClass("hide"), e.substituteOtpTentativeNumber(), t.status) {
                        case "OK":
                            $(".rstep2-gdpr").removeClass("rhide-gdpr"),
                            $("#messageId").val(t.messageId),
                            localStorage.setItem("phoneNumber", n),
                            $("#otpSubmitModal").modal("show"),
                            $("#otpSubmitModal").find("#modal_subtitle_confirm_gdpr").removeClass("hide"),
                            $("#otpSubmitModal").find("#modal_subtitle_error_gdpr").addClass("hide"),
                            $("#otpSubmitModal").find("#modal_subtitle_tooManyerror_gdpr").addClass("hide"),
                            $("#otpSubmitModal").find(".modal-body").show(),
                            $("#otpSubmitModal").find(".modal-footer-custom").show(),
                            $("#otpSubmitModal").find(".modal-footer-custom-confirm").addClass("hide");
                            break;
                        case "ERR":
                            $(".rstep2-gdpr").removeClass("rhide-gdpr"),
                            $("#messageId").val(t.messageId),
                            localStorage.setItem("phoneNumber", n),
                            $("#otpSubmitModal").modal("show"),
                            $("#otpSubmitModal").find("#modal_subtitle_error_gdpr").removeClass("hide"),
                            $("#otpSubmitModal").find("#modal_subtitle_confirm_gdpr").addClass("hide"),
                            $("#otpSubmitModal").find("#modal_subtitle_tooManyerror_gdpr").addClass("hide"),
                            $("#otpSubmitModal").find(".modal-body").hide(),
                            $("#otpSubmitModal").find(".modal-footer-custom").show(),
                            $("#otpSubmitModal").find(".modal-footer-custom-confirm").addClass("hide");
                            break;
                        default:
                            console.log("Default")
                        }
                    },
                    error: function (e) {
                        console.log("Error")
                    }
                })
            } else {
                $(".for__form").parsley().validate("checkbox-block") || document.getElementById("gdpr__checkboxes__form").scrollIntoView(),
                console.log("Parsley Error")
            }
        }),
        $("[name='secondButtonGDPR'").on("click", function () {
            var t = $(this).parents("form"),
            a = $(".for__form").parsley({
                excluded: "input[type=text]:hidden, input[type=hidden]"
            }).validate(),
            r = $(this).parents("#otpSubmitModal"),
            n = e.generateOtp();
            a && n ? ($("#test_GDPR_phone").val(n), $.ajax({
                    type: "POST",
                    data: t.serialize(),
                    url: "/otpServlet/?operation=checkOtp",
                    success: function (t) {
                        switch (t) {
                        case "ERR":
                            r.attr("data-error-message"),
                            $("#otpSubmitModal").find("#modal_subtitle_error_gdpr").addClass("hide"),
                            $("#otpSubmitModal").find("#modal_subtitle_confirm_gdpr").addClass("hide"),
                            $("#otpSubmitModal").find("#modal_subtitle_tooManyerror_gdpr").removeClass("hide"),
                            r.find(".modal-body").hide(),
                            r.find(".modal-footer-custom").hide(),
                            r.find(".modal-footer-custom-confirm").removeClass("hide"),
                            e.refreshOtpDigits();
                            break;
                        case "RET":
                            e.updateOtpTentativeNumber(),
                            e.refreshOtpDigits(),
                            e.addErrorTentativeOtpDigits(),
                            $("#otpSubmitModal").find("#otp__invalid__error_retry").removeClass("hide");
                            break;
                        case "OK":
                            e.handleResponse(!0, r),
                            e.refreshOtpDigits(),
                            e.removeErrorTentativeOtpDigits(),
                            $("#otpSubmitModal").find("#otp__invalid__error_retry").addClass("hide"),
                            localStorage.setItem("phoneNumber", "");
                            break;
                        case "WSKO":
                            e.handleResponse(!1, r),
                            e.refreshOtpDigits(),
                            e.removeErrorTentativeOtpDigits(),
                            $("#otpSubmitModal").find("#otp__invalid__error_retry").addClass("hide");
                            break;
                        default:
                            console.log("Default")
                        }
                    },
                    error: function (e) {
                        console.log("Error")
                    }
                })) : console.log("Parsley Error")
        })
    },
    this.generateOtp = function () {
        var e = "";
        return $(".rstep2-gdpr input.otpInput").each(function () {
            e = e.concat($(this).val().toString())
        }),
        6 == e.length ? e : null
    },
    this.refreshOtpDigits = function () {
        $(".rstep2-gdpr input.otpInput").each(function () {
            $(this).removeClass("red__border__validation__otpinput"),
            $(this).val("")
        }),
        $('[name="secondButtonGDPR"]').prop("disabled", !0)
    },
    this.addErrorTentativeOtpDigits = function () {
        $(".rstep2-gdpr input.otpInput").each(function () {
            $(this).addClass("red__border__validation__otpinput")
        })
    },
    this.removeErrorTentativeOtpDigits = function () {
        $(".rstep2-gdpr input.otpInput").each(function () {
            $(this).removeClass("red__border__validation__otpinput")
        })
    },
    this.substituteOtpTentativeNumber = function () {
        e.otpTentativeNumber = 3;
        var t = $("#otp__invalid__error_retry").get(0).outerHTML.replace("{otp_tentative_number}", "<span id='otp__tentative__number__dynamic'>" + e.otpTentativeNumber.toString() + "</span>");
        $("#otp__invalid__error_retry").replaceWith(t)
    },
    this.updateOtpTentativeNumber = function () {
        e.otpTentativeNumber = e.otpTentativeNumber - 1,
        $("#otp__tentative__number__dynamic").text(e.otpTentativeNumber.toString())
    },
    this.handleResponse = function (t, a) {
        var r = $("#notifcationGdprType").attr("data-error-title-message"),
        n = $("#notifcationGdprType").attr("data-error-description-message"),
        o = $("#notifcationGdprType").attr("data-success-description-message"),
        i = $("#notifcationGdprType").attr("data-success-title-message"),
        s = $("#notifcationGdprType").length > 0 ? $("#notifcationGdprType") : null;
        null != s ? (e.resetResultMessage(), t ? (s.addClass("com3-4"), s.find(".com3__icon").removeClass("icon-ic_error"), s.find(".com3__icon").addClass("icon-ic_check"), s.find(".com3__title").text(i), s.find(".com3__description").text(o), $("#notificationGdpr").is(":visible"), $("#notificationGdpr").removeClass("hide"), $("#notifcationGdprType").is(":visible"), $("#notifcationGdprType").css("display", "block")) : (s.addClass("com3-3"), s.find(".com3__icon").removeClass("icon-ic_check"), s.find(".com3__icon").addClass("icon-ic_error"), s.find(".com3__title").text(r), s.find(".com3__description").text(n), $("#notificationGdpr").is(":visible"), $("#notificationGdpr").removeClass("hide"), $("#notifcationGdprType").is(":visible"), $("#notifcationGdprType").css("display", "block")), a.modal("hide"), $("#notificationGdpr").removeClass("hide")) : console.log("element not found")
    },
    this.resetResultMessage = function () {
        var e = $("#notifcationGdprType").length > 0 ? $("#notifcationGdprType") : null;
        e.hasClass("com3-2"),
        e.removeClass("com3-2"),
        e.hasClass("com3-3"),
        e.removeClass("com3-3"),
        e.hasClass("com3-4"),
        e.removeClass("com3-4")
    },
    this.initGDPRComponents = function () {
        $("#containerMailboxError").find("input").each(function () {
            $(this).attr("required", !1)
        }),
        e.substituteOtpTentativeNumber(),
        $("#item_select_component_gdpr").change(function () {
            e.cleanInputTextArea(),
            $(".for__form").parsley().validate("checkbox-block"),
            $(".r-select-component-gdpr").addClass("rhide-gdpr");
            var t = $("#item_select_component_gdpr").val(),
            a = ".r-select-component-gdpr-" + t;
            $(a).removeClass("rhide-gdpr"),
            $(".selecteGDPR").each(function () {
                $(this).prop("required", !1)
            }),
            $(".selecteGDPR:visible").each(function () {
                e.fillInputTextArea(this),
                $(this).hasClass("required-gdpr") && $(this).prop("required", !0)
            }),
            $(".otpInput").keyup(function () {
                e.removeErrorTentativeOtpDigits();
                var t = !0;
                $(".otpInput").each(function (e, a) {
                    "true" !== $(a).parsley({
                        excluded: "input[type=text]:hidden, input[type=hidden]"
                    }).validate().toString() && (t = !1)
                }),
                t ? $('[name="secondButtonGDPR"]').removeAttr("disabled") : $('[name="secondButtonGDPR"]').prop("disabled", !0)
            })
        }),
        $(".selecteGDPR").on("keyup", function () {
            $(".selecteGDPR:visible").each(function () {
                e.fillInputTextArea(this)
            })
        });
        var t = document.querySelector(".checkbox__gdpr__visibility");
        $(t).parsley().on("field:error", function () {
            $(".validation_error_checkbox_border").each(function () {
                $(this).removeClass("red__border__validation__checkbox"),
                $(this).is(":checked") || $(this).addClass("red__border__validation__checkbox")
            }),
            setTimeout(function () {
                document.activeElement.blur()
            }, 10)
        }),
        $(t).parsley().on("field:success", function () {
            $(".validation_error_checkbox_border").each(function () {
                $(this).removeClass("red__border__validation__checkbox")
            })
        }),
        $("#item_select_component_gdpr").change(function () {
            var e,
            t = parseInt($(this).val().toString()),
            a = $(this).find("option[value=" + t + "]").length > 0 ? $(this).find("option[value=" + t + "]") : null;
            a ? (e = a.text(), $("#item_select_component_gdpr_value").val(e)) : console.log("ELEMENT NOT FOUND")
        }),
        $('[name="birthdate"]').change(function () {
            $(this).parsley().validate(),
            "" !== $('[name="birthdate"]').val() && null !== $('[name="birthdate"]').val() && void 0 !== $('[name="birthdate"]').val() ? $(".birthdate__gdpr>div").addClass("fc-edited") : $(".birthdate__gdpr>div").removeClass("fc-edited")
        }),
        $(".gdpr__mobile [data-id='item_dynamicDropdown']").change(function () {
            2 == $("[data-id='item_dynamicDropdown']").prop("selectedIndex") ? ($(".identification__gdpr").addClass("hide__gdpr__component"), $(".birthdate__gdpr").removeClass("hide__gdpr__component")) : ($(".birthdate__gdpr").addClass("hide__gdpr__component"), $(".identification__gdpr").removeClass("hide__gdpr__component"))
        })
    },
    this.cleanInputTextArea = function () {
        $(".textArea-gdpr-input").each(function () {
            $(this).val("")
        })
    },
    this.fillInputTextArea = function (e) {
        var t = e.name,
        a = e.value,
        r = "input_" + t;
        $("#" + r).val(a)
    },
    this.setDataLayerFields = function () {
        $(".j-leaveMessage__submit").on("click", function () {
            var e = $("#formType").length > 0;
            if (e)
                switch (e = $("#formType").val(), e.toUpperCase()) {
                case "CONTACT":
                    localStorage.setItem("topic", $("#item_selectSubject").val());
                    break;
                case "COMPLAINT":
                    localStorage.setItem("salesChannel", ""),
                    localStorage.setItem("service", ""),
                    localStorage.setItem("product", $("#item_selectSubject").val());
                    break;
                default:
                    console.log("form non gestito da data layer")
                }
        })
    },
    this.dataLayerOpenChat = function () {
        $("#startChatBtn").on("click", function () {
            window.dataLayer = window.dataLayer || [],
            window.dataLayer.push({
                event: "service",
                eventCategory: "chat",
                eventAction: "submit",
                eventLabel: window.dataLayer[0].pageName,
                eventName: "chat"
            })
        })
    },
    this.arrowDisplay = function () {
        $("a.arrowAdaptive").after().on("click", function () {
            $(".containerOrder ").hasClass("hide") ? ($(".containerOrder ").removeClass("hide"), $(".arrowAdaptive").addClass("open")) : ($(".containerOrder ").addClass("hide"), $(".arrowAdaptive").removeClass("open"))
        })
    },
    this.submitCheck = function () {
        $(".j-leaveMessage__submit").on("click", function () {
            var e = $(".for__checkbox__mailbox__business").is(":visible"),
            t = $(".for__form").parsley({
                excluded: "input[type=text]:hidden, input[type=hidden]"
            }).validate();
            e && 0 == t && ($(".for__checkbox__mailbox__business").addClass("hide"), $("#containerMailboxError").show(), $(".blank").removeClass("hide"), $("#containerMailboxError").addClass("containerMailboxError"), $("#errorContainer").removeClass("hide"))
        })
    },
    this.moreInfoCheckbox = function () {
        $(".for__checkbox.more").each(function (t) {
            var a = $(this).find(".for__checkbox__inner"),
            r = a.find("p");
            if (r.text().length > 210) {
                var n = r.text(),
                o = n.substring(0, 210),
                i = o;
                r.text(i);
                var s = $(this).find(".moreInfo"),
                l = s.find(".arrowAdaptive");
                s.removeClass("hide"),
                e.showOriginalMessage(n, r, l)
            }
        })
    },
    this.showOriginalMessage = function (e, t, a) {
        a.on("click", function () {
            t.text(e),
            a.parent().hide()
        })
    },
    this.showHideMailPickup = function () {
        $("#mailPickup").change(function () {
            var e = $("#containerMailboxError");
            e.is(":visible") ? (e.hide(), $(".blank").addClass("hide"), e.find("input").each(function () {
                    $(this).attr("required", !1)
                })) : (e.show(), $(".blank").removeClass("hide"), e.find("input").each(function () {
                    $(this).attr("required", !0)
                }))
        })
    },
    this.showHideMailPickupBusiness = function () {
        $("#mailPickupBusiness").on("click", function () {
            $("#item_municipalityMailPickupAddress").is(":visible") || ($(".for__checkbox__mailbox__business").addClass("hide"), $("#containerMailboxError").show(), $(".blank").removeClass("hide"))
        })
    },
    this.blankSpacesForm = function () {
        var e = 0;
        $(".for__leaveMessage__formItem").each(function (t, a) {
            "cmb__form" != $(this).parent().parent().find("form").attr("id") && $(this).hasClass("for__leaveMessage__formItem--fullWidth") ? e % 2 == 1 ? ($(this).prev().is(":visible") && "containerMailboxError" == $(this).prev().attr("id") ? $('<div class="for__leaveMessage__formItem hide blank"><div class="form__title__inner"><p></p></div><div class="label-inside"><div class="form-control " style="border:none!important"></div></div></div>').appendTo($(this).prev()) : $(this).prev().is(":visible") ? $('<div class="for__leaveMessage__formItem"><div class="form__title__inner"><p></p></div><div class="label-inside"><div class="form-control " style="border:none!important"></div></div></div>').insertAfter($(this).prev()) : $("#containerMailboxError").length > 0 ? $('<div class="for__leaveMessage__formItem hide blank"><div class="form__title__inner"><p></p></div><div class="label-inside"><div class="form-control " style="border:none!important"></div></div></div>').appendTo($(this).prev()) : $('<div class="for__leaveMessage__formItem hide blank"><div class="form__title__inner"><p></p></div><div class="label-inside"><div class="form-control " style="border:none!important"></div></div></div>').insertAfter($(this).prev()), e = 0) : e = 0 : e++
        })
    },
    this.hideMailPickup = function (e, t) {
        "true" != $("#editMode").val() && ($("#containerMailboxError").hide(), e && t && $("#checkboxMailPickupDeferral").insertAfter("#containerMailboxError"))
    },
    this.deferralLoanRepayment = function () {
        $("label.for__radio.for__radio__label.inpage-radio").find("input[type=radio]").change(function () {
            $("label.for__radio.for__radio__label.inpage-radio").each(function (e) {
                "true" == $(this).find("input").is(":checked").toString() && ("2" == e ? ($("#repaymentDate").parent().parent().find(".for__datePicker").addClass("hide"), $("#repaymentDate").addClass("disabled"), $("#repaymentDate").val(""), $("#repaymentDate").prop("required") ? $("#repaymentDate").prop("required", !1) : console.log("not required")) : ($("#repaymentDate").parent().parent().find(".for__datePicker").removeClass("hide"), $("#repaymentDate").removeClass("disabled"), "true" == $("#repaymentDate").attr("data-required") ? $("#repaymentDate").prop("required", !0) : console.log("not required")))
            })
        })
    },
    this.addMoreOrder = function () {
        $("#addMoreButton").on("click", function () {
            if ($(".containerOrderClone").length <= 4) {
                4 == $(".containerOrderClone").length && $(".addMore").hide();
                var t = $(".containerOrderClone").eq(0).clone(!0, !0),
                a = t.find("input[name='pieces']"),
                r = t.find("input[name='amountOrder']"),
                n = t.find("label[for='item_pieces']"),
                o = t.find("label[for='item_amountOrder']"),
                i = t.find(".phoneNumberMessages__withdrawalPieces"),
                s = t.find(".phoneNumberMessages__withdrawalAmount");
                a.removeData("Parsley"),
                a.removeClass("parsley-error"),
                r.removeData("Parsley"),
                r.removeClass("parsley-error"),
                a.val(""),
                r.val(""),
                s.find("ul.parsley-errors-list.filled").remove(),
                s.removeClass("phoneNumberMessages__withdrawalAmount"),
                s.addClass("phoneNumberMessages__withdrawalAmount" + $(".containerOrderClone").length),
                i.find("ul.parsley-errors-list.filled").remove(),
                i.removeClass("phoneNumberMessages__withdrawalPieces"),
                i.addClass("phoneNumberMessages__withdrawalPieces" + $(".containerOrderClone").length),
                a.attr("name", "pieces" + $(".containerOrderClone").length),
                a.attr("id", "item_pieces" + $(".containerOrderClone").length),
                a.attr("data-parsley-errors-container", ".phoneNumberMessages__withdrawalPieces" + $(".containerOrderClone").length),
                r.attr("name", "amountOrder" + $(".containerOrderClone").length),
                r.attr("id", "item_amountOrder" + $(".containerOrderClone").length),
                r.attr("data-parsley-errors-container", ".phoneNumberMessages__withdrawalAmount" + $(".containerOrderClone").length),
                o.attr("for", "item_amountOrder" + $(".containerOrderClone").length),
                n.attr("for", "item_pieces" + $(".containerOrderClone").length);
                var l = $(".containerOrderClone").length - 1;
                r.parsley(),
                a.parsley(),
                t.find("[name='currencyOrder']").attr("name", "currencyOrder" + $(".containerOrderClone").length),
                t.insertAfter($(".containerOrderClone").eq(l)),
                e.componentsToParse()
            } else
                $(".addMore").hide()
        })
    },
    this.componentsToParse = function () {
        $(".validatorDecimal").each(function () {
            $(this).parsley(e.formatParsleyDecimalValue())
        })
    },
    this.formatParsleyDecimalValue = function () {
        return {
            value: function (e) {
                return $(e.element).val().replaceAll(t.separator, "").replace(t.decimal, ".")
            }
        }
    }
}, Intesa.FormsVub.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.formsVub || (window.intesa.formsVub = new Intesa.FormsVub),
    window.intesa.formsVub
};
var Intesa = Intesa || {};
Intesa.FormValidatorsPbz = function () {
    var e = this,
    t = "PBZ" == $("html").attr("data-bank");
    this.init = function () {
        t && ($("#item_mbs").length > 0 || $("#item_oib").length > 0) && (this.eventErrorManager(), this.mbsCheck(), this.oibCheck(), this.submitCheck())
    },
    this.oibCheck = function () {
        $(".item_oib").on("keyup", function () {
            if (11 == $(this).val().length) {
                var e = $(this).attr("data-parsley-errors-container"),
                t = $(e),
                a = $(this).attr("data-message-validator-formula"),
                r = $(this).val(),
                n = new MOD11_10;
                console.log(n.verify(r));
                var o = n.verify(r).toString();
                if (console.log("check :", o), "true" == o)
                    window.ParsleyUI.removeError($(this).parsley(), "myCustomError"), $(this).parent().find("#checkErrorsFormulaOIB").val("false");
                else {
                    t.find("ul").find(".parsley-myCustomError").length > 0 ? (console.log("error exist"), $(this).parent().find("#checkErrorsFormulaOIB").val("true")) : (window.ParsleyUI.addError($(this).parsley(), "myCustomError", a), $(this).parent().find("#checkErrorsFormulaOIB").val("true"))
                }
            } else
                $(this).parent().find("#checkErrorsFormulaOIB").val("false"), $(this).parsley().validate()
        })
    },
    this.mbsCheck = function () {
        $(".item_mbs").on("keyup", function () {
            var t = $(this).attr("data-message-validator-formula"),
            a = $(this).attr("data-parsley-errors-container"),
            r = $(a);
            if (8 == $(this).val().length) {
                var n = $(this).val();
                if (0 == e.calcArray(n)) {
                    r.find("ul").find(".parsley-myCustomError").length > 0 ? (console.log("error exist"), $(this).parent().find("#checkErrorsFormulaMBS").val("true")) : (window.ParsleyUI.addError($(this).parsley(), "myCustomError", t), $(this).parent().find("#checkErrorsFormulaMBS").val("true"))
                } else
                    $(this).parent().find("#checkErrorsFormulaMBS").val("false"), window.ParsleyUI.removeError($(this).parsley(), "myCustomError")
            } else
                $(this).parent().find("#checkErrorsFormulaMBS").val("false"), $(this).parsley().validate()
        })
    },
    this.eventErrorManager = function () {
        $(".item_mbs").each(function () {
            $(this).parsley().on("field:validate", function () {
                $(this.element).attr("data-message-validator-formula");
                window.ParsleyUI.removeError($(this.element).parsley(), "myCustomError")
            })
        }),
        $(".item_oib").each(function () {
            $(this).parsley().on("field:validate", function () {
                $(this.element).attr("data-message-validator-formula");
                window.ParsleyUI.removeError($(this.element).parsley(), "myCustomError")
            })
        }),
        $(".item_mbs").each(function () {
            $(this).parsley().on("field:validated", function () {
                var e = $(this.element).parent().find("#checkErrorsFormulaMBS").val().toString(),
                t = $(this.element).attr("data-message-validator-formula");
                if ("true" == e) {
                    var a = $(this).attr("data-parsley-errors-container");
                    $(a).find("ul").find(".parsley-myCustomError").length > 0 ? console.log("error exist") : window.ParsleyUI.addError($(this.element).parsley(), "myCustomError", t)
                } else
                    window.ParsleyUI.removeError($(this.element).parsley(), "myCustomError")
            })
        }),
        $(".item_oib").each(function () {
            $(this).parsley().on("field:validated", function () {
                var e = $(this.element).parent().find("#checkErrorsFormulaOIB").val().toString(),
                t = $(this.element).attr("data-message-validator-formula");
                if ("true" == e) {
                    var a = $(this).attr("data-parsley-errors-container");
                    $(a).find("ul").find(".parsley-myCustomError").length > 0 ? console.log("error exist") : window.ParsleyUI.addError($(this.element).parsley(), "myCustomError", t)
                } else
                    window.ParsleyUI.removeError($(this.element).parsley(), "myCustomError")
            })
        })
    },
    this.submitCheck = function () {
        $(".for__form").on("submit", function (e) {
            e.preventDefault();
            var t = $(this).find("#item_mbs").attr("data-message-validator-formula"),
            a = $(this).find("#item_oib").attr("data-message-validator-formula");
            console.log("sdfsadfsadfdasfasdfasdf");
            var r = $(this).find("#checkErrorsFormulaMBS"),
            n = $(this).find("#checkErrorsFormulaOIB");
            if ("true" == r.val() || "true" == n.val())
                return "true" == r.val() && window.ParsleyUI.addError($($(this).find("#item_mbs")).parsley(), "myCustomError", t), "true" == n.val() && window.ParsleyUI.addError($($(this).find("#item_oib")).parsley(), "myCustomError", a), e.preventDefault(), !1;
            $(this)[0].submit()
        })
    },
    this.calcArray = function (e) {
        for (var t = 0, a = 0, r = 0, n = 0; n < e.length; n++)
            switch (n) {
            case 0:
                cmdNumber = parseInt(e[n]),
                t += 8 * cmdNumber;
                break;
            case 1:
                cmdNumber = parseInt(e[n]),
                t += 7 * cmdNumber;
                break;
            case 2:
                cmdNumber = parseInt(e[n]),
                t += 6 * cmdNumber;
                break;
            case 3:
                cmdNumber = parseInt(e[n]),
                t += 5 * cmdNumber;
                break;
            case 4:
                cmdNumber = parseInt(e[n]),
                t += 4 * cmdNumber;
                break;
            case 5:
                cmdNumber = parseInt(e[n]),
                t += 3 * cmdNumber;
                break;
            case 6:
                cmdNumber = parseInt(e[n]),
                t += 2 * cmdNumber
            }
        return a = t % 11,
        a = Math.round(a),
        r = 11 - a,
        10 == r && (r = 0),
        r == e[7] ? (console.log("true"), !0) : (console.log("false"), !1)
    }
}, Intesa.FormValidatorsPbz.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.form_validator_pbz || (window.intesa.form_validator_pbz = new Intesa.FormValidatorsPbz),
    window.intesa.form_validator_pbz
}, $(document).ready(function () {
    $(window).on("load", function () {
        var e = $.fn.modal.Constructor.prototype.setScrollbar;
        $.fn.modal.Constructor.prototype.setScrollbar = function () {
            e.apply(this),
            this.bodyIsOverflowing && this.scrollbarWidth && $(".new-menu.content-target,.floatingIcon").css("padding-right", this.scrollbarWidth)
        };
        var t = $.fn.modal.Constructor.prototype.resetScrollbar;
        $.fn.modal.Constructor.prototype.resetScrollbar = function () {
            t.apply(this),
            $(".new-menu.content-target,.floatingIcon").css("padding-right", "")
        }
    })
}), $(document).ready(function () {
    $(window).on("load", function () {
        "ISPROMANIA" == $("html").attr("data-bank") && void 0 != window.location.href.split("#")[1] && $("input[name='CUI']").val(window.location.href.split("#")[1])
    })
}), window.docuementLoadedCustum = function () {
    function e() {
        this.style.height = "auto",
        this.style.height = this.scrollHeight + "px"
    }
    var t = null;
    setTimeout(function () {
        Intesa.LoanCalculatorISPSLOVENIA.getInstance().init();
        var e = Intesa.LoanCalculator.getInstance();
        e.init();
        var t = Intesa.MortgageCalculator.getInstance();
        t.init();
        var a = Intesa.LoanCalculatorAlbania.getInstance();
        a.init();
        var r = Intesa.LoanCalculatorAlex.getInstance();
        r.init();
        var n = Intesa.LoanCalculatorPBZ.getInstance();
        n.init(),
        Intesa.LoanCalculatorISPBIH.getInstance().init();
        var o = Intesa.LoanCalculatorBIB.getInstance();
        o.init();
        var i = Intesa.LoanCalculatorBIBCombined.getInstance();
        i.init();
        var s = Intesa.LoanCalculatorRomania.getInstance();
        s.init(),
        Intesa.LoanCalculatorVUB.getInstance().init();
        var l = Intesa.LoanCalculatorAll.getInstance();
        (l.init(), Intesa.bibTableComponent.getInstance().init(), l.allBanksCalculators.push(e), l.allBanksCalculators.push(t), l.allBanksCalculators.push(a), l.allBanksCalculators.push(r), l.allBanksCalculators.push(n), l.allBanksCalculators.push(o), l.allBanksCalculators.push(i), l.allBanksCalculators.push(s), Intesa.InvestmentCalculatorVUB.getInstance().init(), Intesa.CreateLink.getInstance().init(), Intesa.CurrencyConverter.getInstance().init(), Intesa.Bid.getInstance().init(), Intesa.SelectCurrencies.getInstance().init(), Intesa.MerchantList.getInstance().init(), Intesa.ComparingTool.getInstance().init(), Intesa.FormValidatorsPbz.getInstance().init(), Intesa.appleBusinessWidget.getInstance().init(), Intesa.FormsVub.getInstance().init(), "CIB" == $("html").attr("data-bank") && $(".js-landing__form").length > 0) && Intesa.FormsLanding.getInstance().init();
        (Intesa.LocalStorageImplementations.getInstance().init(), Intesa.RedirectToRightStore.getInstance().init(), $('[data-layer-tab="unsubscribe"]').length > 0 || $('[data-layer-tab="subscribe"]').length > 0) && Intesa.SubscribeUnsubscribe.getInstance().init();
        "BIB" == $("html").attr("data-bank") && dateSelect()
    }, 1e3),
    setTimeout(function () {
        if ($(".tbl__title").length > 0)
            for (i = 0; i < $(".tbl__title").length; i++)
                "EUR_NET" == $($(".tbl__title")[i]).text() && $($(".tbl__title")[i]).text("EUR NET")
    }, 1e3),
    setTimeout(function () {
        if ($("html").attr("data-bank").indexOf("ISPSLOVENIA") > -1) {
            var e = document.querySelectorAll(".tbl__title");
            -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
            e.forEach(function (e) {
                var t = e.innerText;
                t.indexOf("NOK") > -1 ? (newcurr = t.replace("NOK", "NOK *"), e.innerText = newcurr) : t.indexOf("PLN") > -1 ? (newcurr = t.replace("PLN", "PLN *"), e.innerText = newcurr) : t.indexOf("SEK") > -1 ? (newcurr = t.replace("SEK", "SEK *"), e.innerText = newcurr) : t.indexOf("DKK") > -1 && (newcurr = t.replace("DKK", "DKK *"), e.innerText = newcurr)
            })
        }
    }, 1e3),
    setTimeout(function () {
        if ($("html").attr("data-bank").indexOf("ISPSLOVENIA") > -1) {
            var e = document.querySelectorAll(".hideTable .tbl__title");
            -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
            e.forEach(function (e) {
                var t = e.innerText;
                t.indexOf("NOK *") > -1 ? (newcurrency = t.replace("NOK *", "NOK"), e.innerText = newcurrency) : t.indexOf("PLN *") > -1 ? (newcurrency = t.replace("PLN *", "PLN"), e.innerText = newcurrency) : t.indexOf("SEK *") > -1 ? (newcurrency = t.replace("SEK *", "SEK"), e.innerText = newcurrency) : t.indexOf("DKK *") > -1 && (newcurrency = t.replace("DKK *", "DKK"), e.innerText = newcurrency)
            })
        }
    }, 1e3),
    setTimeout(function () {
        $("html").attr("data-bank").indexOf("ALEX") > -1 && (textarea = document.querySelector("textarea"), null != textarea && textarea.addEventListener("input", e, !1))
    }, 1e3),
    Intesa.DataLayer.getInstance().init(),
    Intesa.BasketCookie.getInstance().init(),
    Intesa.BasketCore.getInstance().init(),
    Intesa.DatePickerAppointment.getInstance().init();
    var a = "PBZ" == $("html").attr("data-bank"),
    r = "CIB" == $("html").attr("data-bank"),
    n = "ISPSLOVENIA" == $("html").attr("data-bank"),
    o = "BIB" == $("html").attr("data-bank"),
    s = "ISPALBANIA" == $("html").attr("data-bank");
    if ((r || n) && !a) {
        Intesa.Forms.getInstance().init()
    }
    if (r) {
        Intesa.Survey.getInstance().init()
    }
    if (a && (!r || !n)) {
        Intesa.FormsPBZ.getInstance().init()
    }
    if (o) {
        Intesa.FormsBIB.getInstance().init()
    }
    if (s) {
        Intesa.FormsISPALBANIA.getInstance().init()
    }
    Intesa.TicketingComplaint.getInstance().init(),
    Intesa.videoPlayerHandler.getInstance().init(),
    setTimeout(function () {
        $("[data-show-modal]").length && $("[data-show-modal]").each(function (e, t) {
            if ("true" == $(this).attr("data-show-modal")) {
                var a = $(this).attr("id");
                $("[data-bs-target='#" + a + "']").get(0).click(),
                $("#" + a).addClass("in")
            }
        })
    }, 1e3),
    $(".sectionLogin").on("click", function () {
        $(".topNavigation").toggleClass("fixedNavigation")
    }),
    $("[data-internal-nav-btn]").on("click", function () {
        $(this).toggleClass("noSpace")
    }),
    $(".j-leaveMessage__submit").on("click", function (e) {
        console.log("DBG: generic leaveMessageSubmit event"),
        $(e.currentTarget).closest(".j-for__form").parsley().isValid() ? setTimeout(function () {
            $(".j-leaveMessage__submit")[0].innerHTML = '<style>.loading{animation:rotate 1.5s linear infinite; margin-bottom: 5px;}@keyframes rotate{to{transform:rotate(360deg);}}</style><span><img class="loading" src="/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/load-icon.png" width="22" height="22"></img></span>',
            $(".j-leaveMessage__submit")[0].disabled = !0
        }, 40) : console.log("Check your form")
    }),
    $(".cmb__modal__btnAgree").on("click", function () {
        console.log("DBG: generic cmb modal btnAgree event"),
        null == t && (t = $(".cmb__modal__btnSend")[0].innerHTML),
        $(".cmb__modal__btnSend")[0].innerHTML = t,
        $(".cmb__modal__btnSend")[0].disabled = !1
    }),
    $(".cmb__modal__btnSend").on("click", function (e) {
        console.log("DBG: generic cmb modal btnSend event"),
        $(e.currentTarget).closest(".j-for__form").parsley().isValid() ? setTimeout(function () {
            $(".cmb__modal__btnSend")[0].innerHTML = '<style>.loading{animation:rotate 1.5s linear infinite; margin-bottom: 5px;}@keyframes rotate{to{transform:rotate(360deg);}}</style><span><img class="loading" src="/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/load-icon.png" width="22" height="22"></img></span>',
            $(".cmb__modal__btnSend")[0].disabled = !0
        }, 40) : console.log("Check your form")
    }),
    $(".cib .j-leaveMessage__submit").length > 0 && $(".cib .j-leaveMessage__submit").on("click", function (e) {
        $(e.currentTarget).closest(".j-for__form").parsley().isValid() ? setTimeout(function () {
            $(".cib .j-leaveMessage__submit")[0].innerHTML = '<style>.loading{animation:rotate 1.5s linear infinite; margin-bottom: 5px;}@keyframes rotate{to{transform:rotate(360deg);}}</style><span><img class="loading" src="/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/load-icon.png" width="22" height="22"></img></span>',
            $(".cib .j-leaveMessage__submit")[0].disabled = !0
        }, 40) : console.log("Check your form")
    }),
    $(".cib .cmb__modal__btnAgree").length > 0 && $(".cib .cmb__modal__btnAgree").on("click", function () {
        null == t && (t = $(".cib .cmb__modal__btnSend")[0].innerHTML),
        $(".cib .cmb__modal__btnSend")[0].innerHTML = t,
        $(".cib .cmb__modal__btnSend")[0].disabled = !1
    }),
    $(".cib .cmb__modal__btnSend").length > 0 && $(".cib .cmb__modal__btnSend").on("click", function (e) {
        $(e.currentTarget).closest(".j-for__form").parsley().isValid() ? setTimeout(function () {
            $(".cib .cmb__modal__btnSend")[0].innerHTML = '<style>.loading{animation:rotate 1.5s linear infinite; margin-bottom: 5px;}@keyframes rotate{to{transform:rotate(360deg);}}</style><span><img class="loading" src="/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/load-icon.png" width="22" height="22"></img></span>',
            $(".cib .cmb__modal__btnSend")[0].disabled = !0
        }, 40) : console.log("Check your form")
    }),
    $(".ispromania .j-leaveMessage__submit").length > 0 && $(".ispromania .j-leaveMessage__submit").on("click", function (e) {
        $(e.currentTarget).closest(".j-for__form").parsley().isValid() ? setTimeout(function () {
            $(".ispromania .j-leaveMessage__submit")[0].innerHTML = '<style>.loading{animation:rotate 1.5s linear infinite; margin-bottom: 5px;}@keyframes rotate{to{transform:rotate(360deg);}}</style><span><img class="loading" src="/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/load-icon.png" width="22" height="22"></img></span>',
            $(".ispromania .j-leaveMessage__submit")[0].disabled = !0
        }, 40) : console.log("Check your form")
    }),
    $(".ispromania .cmb__modal__btnAgree").length > 0 && $(".ispromania .cmb__modal__btnAgree").on("click", function () {
        null == t && (t = $(".ispromania .cmb__modal__btnSend")[0].innerHTML),
        $(".ispromania .cmb__modal__btnSend")[0].innerHTML = t,
        $(".ispromania .cmb__modal__btnSend")[0].disabled = !1
    }),
    $(".ispromania .cmb__modal__btnSend").length > 0 && $(".ispromania .cmb__modal__btnSend").on("click", function (e) {
        $(e.currentTarget).closest(".j-for__form").parsley().isValid() ? setTimeout(function () {
            $(".ispromania .cmb__modal__btnSend")[0].innerHTML = '<style>.loading{animation:rotate 1.5s linear infinite; margin-bottom: 5px;}@keyframes rotate{to{transform:rotate(360deg);}}</style><span><img class="loading" src="/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/load-icon.png" width="22" height="22"></img></span>',
            $(".ispromania .cmb__modal__btnSend")[0].disabled = !0
        }, 40) : console.log("Check your form")
    }),
    $(".pbz .j-leaveMessage__submit").length > 0 && $(".pbz .j-leaveMessage__submit").on("click", function (e) {
        $(e.currentTarget).closest(".j-for__form").parsley().isValid() ? setTimeout(function () {
            $(".pbz .j-leaveMessage__submit")[0].innerHTML = '<style>.loading{animation:rotate 1.5s linear infinite; margin-bottom: 5px;}@keyframes rotate{to{transform:rotate(360deg);}}</style><span><img class="loading" src="/.resources/intesaSanPaolo-templating-module/templates/webresources/CIB/images/load-icon.png" width="22" height="22"></img></span>',
            $(".pbz .j-leaveMessage__submit")[0].disabled = !0
        }, 40) : console.log("Check your form")
    }),
    $("[name='leaveMessage__form'] .leaveMessage__submit").on("click", function () {
        if (0 != $("#checkbox10").length) {
            for (var e = 0, t = "#checkbox1" + e, a = {}; 0 != $(t).length; ) {
                var r = $(t).attr("name"),
                n = $(t).is(":checked");
                a[r] = n,
                e += 1,
                t = "#checkbox1" + e
            }
            0 != $('[name="consentsPrizeWinningGame"]').length ? $('[name="consentsPrizeWinningGame"]').val(JSON.stringify(a)) : $('form[name="leaveMessage__form"]').append("<input type='hidden' name='consentsPrizeWinningGame' value='" + JSON.stringify(a) + "'/>")
        }
    }),
    $("#termsandcoditions_link_modal").click(function () {
        $("#showTermsModal").modal("show"),
        setTimeout(function () {
            $("#modalBody").prop("scrollHeight") - $("#modalBody").prop("scrollTop") < 450 && (document.getElementById("acceptTerms").disabled = !1, document.getElementById("acceptTerms").style.opacity = "1", console.log($("#modalBody").prop("scrollHeight") - $("#modalBody").prop("scrollTop")))
        }, 500)
    }),
    null != document.getElementById("acceptTerms") && (document.getElementById("acceptTerms").disabled = !0, document.getElementById("acceptTerms").style.opacity = "0.5"),
    $("#acceptTerms").click(function () {
        $("#termsAndConditionsHtml").prop("checked", !0),
        $('input[name="termsAndConditions"]').val(!0)
    }),
    $("#gdprPrivacyHtml").click(function () {
        $("#gdprPrivacy").val(!0)
    }),
    $("#showTermsModal").on("hidden.bs.modal", function () {
        $([document.documentElement, document.body]).animate({
            scrollTop: $("#item_firstnameGuest").offset().top
        }, 1e3)
    }),
    $("#modalBody").on("scroll", function () {
        $("#modalBody").prop("scrollHeight") - $("#modalBody").prop("scrollTop") < 450 && (document.getElementById("acceptTerms").removeAttribute("disabled"), document.getElementById("acceptTerms").disabled = !1, document.getElementById("acceptTerms").style.opacity = "1")
    })
}, $("body").on("click", "a[data-scrollto]", function (e) {
    e.preventDefault();
    var t = $(this).attr("data-scrollto"),
    a = 80;
    $(window).width() < 690 && (a = 10),
    $("html,body").animate({
        scrollTop: $(t).offset().top - a
    }, 500)
}), $(document).ready(function () {
    var e = $("#content-adaptive-data"),
    t = $("#requestId");
    if (t.length && t.val(getRequestFormId()), e.length) {
        var a = e.attr("data-value"),
        r = e.attr("data-name"),
        n = e.attr("data-expire-after"),
        o = e.attr("data-show-after");
        o = parseInt(o),
        o *= 1e3,
        setTimeout(function () {
            setCookie(a, n, r)
        }, o)
    }
    var t = $("#requestId");
    t.length && t.attr("value", getRequestFormId())
}), $(document).ready(function () {
    if ($(window).width() > 768 ? $(".mobile-video-ourworld").remove() : $(".desktop-video-ourworld").remove(), 0 != $(".comparingTool").length) {
        switch (a) {
        case googleStore:
            t = $("[name=linkToAndroidStore]").attr("value");
            break;
        case appleStore:
            t = $("[name=linkToIOSStore]").attr("value");
            break;
        case huaweiStore:
            t = $("[name=linkToHuaweiStore]").attr("value")
        }
        var e = window.location.href.split("?")[0] + "?android=" + $("[name=linkToAndroidStore]").attr("value") + "&ios=" + $("[name=linkToIOSStore]").attr("value") + "&huawei=" + $("[name=linkToHuaweiStore]").attr("value"),
        e = new QRious({
            element: document.getElementById("qr-modal-bottom"),
            value: e
        });
        e.set({
            background: "white",
            backgroundAlpha: 1,
            foreground: "black",
            foregroundAlpha: 1,
            level: "H",
            padding: null,
            size: 225
        });
        var t,
        a = ComparingTool.getMobileStore();
        $(".header-card a").each(function () {
            $(this).attr("href", t)
        }),
        console.log("Intesa.RedirectToRightStore - END "),
        screen.width < 768 && setTimeout(function () {
            var e = function (e) {
                var t = e.getBoundingClientRect(),
                a = window.pageXOffset || document.documentElement.scrollLeft,
                r = window.pageYOffset || document.documentElement.scrollTop;
                return {
                    top: t.top + r,
                    left: t.left + a
                }
            }
            (document.querySelector(".cardCompare-group")),
            t = $(".cardCompare-group").height(),
            a = t + e.top + $(".mobile-compare > .for_table > .col-24").height();
            $(window).scroll(function (t) {
                var r = $(".cardCompare-group");
                r.css("position");
                $(this).scrollTop() < e.top || $(this).scrollTop() > a ? (r.css({
                        position: "static"
                    }), $(".mobile-compare > .for_table").css({
                        "margin-top": "0px"
                    })) : (r.css({
                        position: "fixed"
                    }), $(".mobile-compare > .for_table").css({
                        "margin-top": "120px"
                    }))
            })
        }, 800)
    }
}), $(document).ready(function () {
    $('input[name="callMeBackCheckbox"]').on("change", function () {
        $('input[name="isCallMe"]').val($('input[name="callMeBackCheckbox"]').prop("checked"))
    })
}), $(document).ready(function () {
    if ($("input[name='recaptchaKey']").length >= 1) {
        var e = $("body").find(".g-recaptcha").attr("sitekey"),
        t = document.createElement("script");
        t.src = "https://www.google.com/recaptcha/api.js?render=" + e,
        t.id = "googleCaptchaId",
        t.setAttribute("async", !0),
        document.documentElement.querySelector("body").appendChild(t);
        var a = $("form .leaveMessage__submit");
        console.log("Form founded:" + (a.length > 0)),
        setTimeout(function () {
            null == window.grecaptcha && void 0 == window.grecaptcha || grecaptcha.ready(function () {
                if (console.log("ready captcha"), a.length > 0) {
                    var t = document.createElement("textarea");
                    t.name = "g-recaptcha-response",
                    t.setAttribute("class", "g-recaptcha-response"),
                    t.setAttribute("style", "display:none");
                    var r = document.createElement("div");
                    r.classList.add("privacyRecaptcha"),
                    r.innerHTML = $(".g-recaptcha-privacy").attr("value"),
                    $("form .leaveMessage__submit").parent().children(".g-recaptcha-response").length <= 0 ? ($("form .leaveMessage__submit").parent().append(t), $("form .leaveMessage__submit").parent().append(r)) : $(".js-landing__form input[name='requestId']").length <= 0 ? ($(".js-landing__form input[name='requestId']").append(t), $(".js-landing__form input[name='requestId']").append(r)) : $(".r-thankyou-page .leaveMessage__submitWrapper").length <= 0 && ($(".r-thankyou-page .leaveMessage__submitWrapper").append(t), $(".r-thankyou-page .leaveMessage__submitWrapper").append(r)),
                    $("div[data-component='Callmeback']").length > 0 && window.grecaptcha.execute($("body").find(".g-recaptcha").attr("sitekey"), {
                        action: "contact"
                    }).then(function (e) {
                        $("div[data-component='Callmeback'] form .g-recaptcha-response").val(e)
                    })
                } else
                    grecaptcha.execute(e, {
                        action: "homepage"
                    })
            })
        }, 800)
    }
}), $(document).ready(function () {
    if ($(".inputRadio__face[data-question-placeholder]").click(function (e) {
            console.log("Init Emoticon");
            var t = $(this).attr("data-question-placeholder");
            console.log("Question = " + t),
            document.getElementById("_idqst").innerText = t
        }), document.getElementById("webinarList")) {
        var e = $("#webinarList").attr("data-link"),
        t = $("#webinarList").attr("data-response"),
        a = JSON.parse(t),
        r = a.webinars;
        for (var n in r) {
            if ("" != r[n].agenda)
                var o = r[n].agenda;
            if ("" == r[n].agenda || void 0 == r[n].agenda)
                var o = "";
            if ("" != r[n].join_url)
                if ("" != e && null != e)
                    var i = e + "/" + r[n].id;
                else
                    var i = r[n].join_url;
            if ("" != r[n].start_time && null != r[n].start_time)
                var s = r[n].start_time, l = new Date(s), c = l.getDate() + "\\" + (l.getMonth() + 1) + "\\" + l.getFullYear() + "   " + l.getHours() + ":" + (l.getMinutes() < 10 ? "0" : "") + l.getMinutes();
            else
                var c = "";
            if ("" != r[n].topic)
                var u = r[n].topic;
            $("#webinarList").append('<div class="content-column" id="content' + n + '"><p><a style="font-weight:bold;" id="join' + n + '"><span style="font-weight:bold;" id="description' + n + '"></span></a></p><p><span style="font-weight:bold;" id="date' + n + '"></span></p><p><span id="title' + n + '"></span></p></div>'),
            document.getElementById("join" + n).setAttribute("href", i),
            document.getElementById("title" + n).innerHTML = o,
            document.getElementById("date" + n).innerHTML = c,
            document.getElementById("description" + n).innerHTML = u
        }
    }
    if (document.getElementById("webinarSingle")) {
        var t = $("#webinarSingle").attr("data-response"),
        d = JSON.parse(t),
        m = d.registration_url;
        if (null == m)
            var m = d.start_url;
        document.getElementById("webinar").src = m
    }
    $(".table__component").on("touchstart", function () {
        var e = $(window).width() < 769;
        "false" == $("#overlayShowed").val() && e && ($(".table__mobile__overlay").css("display", "block"), $(".table__mobile__overlay").fadeOut(6e3), $("#overlayShowed").val("true"))
    })
}), $(document).ready(function () {
    document.querySelectorAll("a").forEach(function (e) {
        e.href.indexOf(".html/") > -1 && (e.href = e.href.split(".html/").join("/"))
    })
}), $(document).ready(function () {
    var e = $("html").attr("data-bank");
    console.log(e),
    e.indexOf("ALEX") > -1 && (setDynamicTop("item_dynamicDropdown"), setDynamicTop("item_dynamicDependentDropdown"), setDynamicTop("item_dynamicDependentDropdown_DD"))
}), setTimeout(function () {
    if ($(window).width() < 990) {
        console.log("mobile view");
        var e = $(".com4__mobileNav"),
        t = $("li.com4__listItem a"),
        a = $(".com4__mobileNav span");
        1 == t.length && (console.log("one"), e.removeClass(".com4__mobileNav").addClass("newClass"), a.replaceWith(function () {
                return t
            })),
        $(".newClass").click(function () {
            console.log("remove box bianco"),
            $("ul").remove()
        })
    }
}, 150), setTimeout(function () {
    $(".dz-error-message").length > 0 && (console.log("errore presente"), $(".leaveMessage__submit").attr("type", ""))
}, 2e3), setTimeout(function () {
    "intesa-world" == $("section.branchLocator__wrapper").attr("data-world") && (console.log("oscura filtri"), $("button.wrapperLbsFilter__buttonFiltering").hide())
}, 180), $(document).ready(function () {
    $(window).width() > 768 ? $(".mobile-video-ourworld").remove() : $(".desktop-video-ourworld").remove()
}), setTimeout(function () {
    if ($(window).width() < 990) {
        console.log("mobile view");
        var e = $("#mobileTags option");
        console.log(e.length),
        options = Array.prototype.slice.call(e),
        options.forEach(function (e) {
            var t = e.innerText,
            a = t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
            console.log(a);
            var r = t.replace(t, a);
            e.innerText = r
        })
    }
}, 10), setTimeout(function () {
    $(".titleTooltip").on("mouseenter", function () {
        var e = $(this),
        t = $(window).width() - e.offset().left,
        a = e.offset().left;
        t < 100 ? e.addClass("titleTooltip--to-left") : a < 100 && e.addClass("titleTooltip--to-right")
    }),
    $(".titleTooltip").on("mouseleave", function () {
        var e = $(this);
        e.removeClass("titleTooltip--to-right"),
        e.removeClass("titleTooltip--to-left")
    })
}, 500), window.startDemo = function () {
    setTimeout(function () {
        $(this.wrapper).addClass("demoFloating"),
        showFloating()
    }, 1e3)
}, window.stopDemo = function () {
    setTimeout(function () {
        hideFloating()
    }, 1e3)
};
var contaTot = parseInt($("#contaImages").val()), conta = 0, contaPrecedente = 0, sliderFunction, image = "";
$(document).ready(function () {
    if (void 0 != $(".home-canvas")[0]) {
        $(".list-slideshow-image img").css("-webkit-transition", "none");
        if ($(window).width() > 767) {
            for (var e = 0; e < contaTot; e++)
                $(".list-slideshow-image .imageSlideShowMobile")[e].classList.remove("active");
            $(".list-slideshow-image .imageSlideShow")[0].classList.add("active")
        } else {
            for (var e = 0; e < contaTot; e++)
                $(".list-slideshow-image .imageSlideShow")[e].classList.remove("active");
            $(".list-slideshow-image .imageSlideShowMobile")[0].classList.add("active")
        }
        contaTot > 1 && (sliderFunction = setInterval("slideshow()", 3e3)),
        $(".home-canvas .btn.btn-primary").mouseover(function () {
            contaTot > 1 && clearInterval(sliderFunction),
            conta = parseInt($(this)[0].getAttribute("data-index"));
            var e = "";
            if (e = $(window).width() > 767 ? $(this)[0].getAttribute("data-src-desktop") : $(this)[0].getAttribute("data-src-mobile"), 1 != contaTot) {
                $(".list-slideshow-image .imageSlideShowCurrency")[0].src = e,
                $(".list-slideshow-image .imageSlideShowCurrency")[0].classList.add("active");
                for (var t = 0; t < contaTot; t++)
                    $(".list-slideshow-image .imageSlideShowMobile")[t].classList.remove("active"), $(".list-slideshow-image .imageSlideShow")[t].classList.remove("active")
            } else {
                if ($(window).width() > 767 && null != $(".list-slideshow-image .imageSlideShow")[0].src && !e.indexOf($(".list-slideshow-image .imageSlideShow")[0].src) > -1) {
                    for (var t = 0; t < contaTot; t++)
                        $(".list-slideshow-image .imageSlideShowMobile")[t].classList.remove("active"), $(".list-slideshow-image .imageSlideShow")[t].classList.remove("active");
                    $(".list-slideshow-image .imageSlideShowCurrency")[0].src = e,
                    $(".list-slideshow-image .imageSlideShowCurrency")[0].classList.add("active")
                }
                if ($(window).width() < 767 && null != $(".list-slideshow-image .imageSlideShow")[0].src && !e.indexOf($(".list-slideshow-image .imageSlideShow")[0].src) > -1) {
                    for (var t = 0; t < contaTot; t++)
                        $(".list-slideshow-image .imageSlideShowMobile")[t].classList.remove("active"), $(".list-slideshow-image .imageSlideShow")[t].classList.remove("active");
                    $(".list-slideshow-image .imageSlideShowCurrency")[0].src = e,
                    $(".list-slideshow-image .imageSlideowCurrency")[0].classList.add("active")
                }
            }
        }).mouseout(function () {
            if (conta = 0, $(window).width() > 767) {
                $(".list-slideshow-image .imageSlideShow")[0].classList.add("active");
                for (var e = 0; e < contaTot; e++)
                    $(".list-slideshow-image .imageSlideShowMobile")[e].classList.remove("active")
            } else {
                for (var e = 0; e < contaTot; e++)
                    $(".list-slideshow-image .imageSlideShow")[e].classList.remove("active");
                $(".list-slideshow-image .imageSlideShowMobile")[0].classList.add("active")
            }
            $(".list-slideshow-image .imageSlideShowCurrency")[0].classList.remove("active"),
            contaTot > 1 && (sliderFunction = setInterval("slideshow()", 3e3))
        })
    }
});
var Intesa = Intesa || {}, getJSON = {
    arab: {
        _digits: "٠١٢٣٤٥٦٧٨٩"
    }
};
Intesa.InputToArab = function () {
    var e = this;
    this.init = function () {
        console.log("Component -> InputToArab"),
        $("strong.pop1__value__strong.translate_arab").text(function (t, a) {
            return e.changeToArab(a)
        });
        for (var t = $.map($('[id^="idField-phoneNumber"]'), function (e, t) {
                return e.id.replace("idField-phoneNumber", "")
            }), a = 0; a < t.length; a++)
            e.setNumSystemArab($("#idField-arab-phoneNumber" + t[a]), $("#idField-phoneNumber" + t[a])), e.setNumSystem($("#idField-phoneNumber" + t[a])), $("#idField-phoneNumber" + t[a] + ".arab_phone_language").on("input", function (e) {
                $(this).val()
            });
        for (var r = $.map($('[id^="idField-cityPrefix"]'), function (e, t) {
                return e.id.replace("idField-cityPrefix", "")
            }), a = 0; a < r.length; a++)
            e.setNumSystemArab($("#idField-arab-cityPrefix" + r[a]), $("#idField-cityPrefix" + r[a])), e.setNumSystem($("#idField-cityPrefix" + r[a])), $("#idField-arab-cityPrefix" + r[a] + ".arab_phone_language").length > 0 && $("#idField-arab-cityPrefix" + r[a]).val(e.changeToArab($("#idField-cityPrefix" + r[a]).val())), $("#idField-cityPrefix" + r[a]).on("input", function (e) {
                $(this).val()
            }), this.contentInputPhonePrefix("#idField-cityPrefix" + r[a], "#idField-arab-cityPrefix" + r[a], "#contentInputPhonePrefix" + r[a], "#prefixList" + r[a], "#prefixListWrapper" + r[a]), this.urlPrefix("#idField-cityPrefix" + r[a], "#idField-arab-cityPrefix" + r[a], "#contentInputPhonePrefix" + r[a], "#prefixList" + r[a], "#prefixListWrapper" + r[a])
    },
    this.urlPrefix = function (t, a, r, n, o) {
        var i = $(t).data("country-codes"),
        n = $(n);
        n.empty(),
        $.getJSON(i, function (i) {
            this.dataPrefix = i,
            $.each(i, function (e, t) {
                n.append($('<li><a href="javascript:;" data-prefix="' + t.dial_code + '"><span>' + t.dial_code + "</span> (" + t.name + ") </a> </li>"))
            }),
            $(r).find(".for__leaveMessage__internationalPrefix__listWrapper").on("click", "li", function (n) {
                var i = $(t).data("maxlength-country"),
                s = $(t).data("parserlenght-country"),
                l = $(t).data("parserlenght-others-countries"),
                c = $(t).data("maxlength-others-countries"),
                u = $(n.currentTarget).find("a").data("prefix").replace("+", "");
                "+2" === $(n.currentTarget).find("a").data("prefix") ? $(r).next().find("input").attr("maxlength", i).attr("data-parsley-pattern", s) : $(r).next().find("input").attr("data-parsley-pattern", l).attr("maxlength", c),
                setTimeout(function () {
                    $(t).val(e.returnToNumeric(u)).addClass("fc-edited").trigger("input"),
                    $(t).removeClass("parsley-error"),
                    $(".for__phoneNumber__boxErrors").css({
                        display: "none"
                    }),
                    e.isNumber(u) ? $(t).val(u) : $(a).val(u),
                    $(r).find(o)[0].style.display = "none"
                }, 2)
            })
        })
    },
    this.contentInputPhonePrefix = function (e, t, r, n, o) {
        $(t).on("keyup", function () {
            for ($(r).find(o)[0].style.display = "block", ul = $(r).find(n), li = ul.find("li"), input = $(t), count = 0, filter = input.val().toLowerCase(), i = 0; i < li.length; i++)
                a = li[i].getElementsByTagName("a")[0], txtValue = a.textContent || a.innerText, txtValue.toLowerCase().indexOf(filter) > -1 ? li[i].style.display = "block" : (li[i].style.display = "none", count++)
        }),
        $(e).on("keyup", function () {
            for ($(r).find(o)[0].style.display = "block", ul = $(r).find(n), li = ul.find("li"), input = $(e), count = 0, filter = input.val().toLowerCase(), i = 0; i < li.length; i++)
                a = li[i].getElementsByTagName("a")[0], txtValue = a.textContent || a.innerText, txtValue.toLowerCase().indexOf(filter) > -1 ? li[i].style.display = "block" : (li[i].style.display = "none", count++)
        })
    },
    this.setNumSystemArab = function (t, a) {
        t && a && (t.keydown(function (r) {
                if ("Backspace" === r.key || "Delete" === r.key)
                    setTimeout(function () {
                        var r = $(t).val();
                        r = e.returnToNumeric(r),
                        a.val(r).trigger("input")
                    }, 2);
                else if (e.isArab(r.key) || e.isNumber(r.key)) {
                    if (r.preventDefault(), a.attr("data-max-length") && a.val().length >= a.attr("data-max-length"))
                        return;
                    var n = t.val(),
                    o = t.prop("selectionStart");
                    n = n.substr(0, o) + e.changeToArab(r.key) + n.substr(t.selectionEnd),
                    t.val(n),
                    t.prop("selectionStart", t.selectionEnd = o + 1);
                    var i = t.val(),
                    s = e.returnToNumeric(i);
                    a.val(s).trigger("input")
                }
            }), t.bind("paste change", function (r) {
                var n,
                o,
                i = "";
                r.stopPropagation(),
                r.preventDefault(),
                n = r.clipboardData || window.clipboardData || r.originalEvent.clipboardData,
                o = n ? n.getData("text") : r && r.currentTarget ? r.currentTarget.value : "",
                o && o.length > 0 && (e.isArab(o) ? (t.val(o), i = e.returnToNumeric(o)) : e.isNumber(o) && (i = o, t.val(e.changeToArab(o)))),
                a.val(i).trigger("input")
            }))
    },
    this.setNumSystem = function (e) {
        e.keydown(function (t) {
            if (e.val().length >= e.attr("data-max-length"))
                return void e.val(e.val().substring(0, e.attr("data-max-length") - 1))
        })
    },
    this.returnToNumeric = function (e) {
        for (var t = e.split(""), a = "", r = 0; r < t.length; r++)
            switch (t[r]) {
            case "٠":
                a += "0";
                break;
            case "١":
                a += "1";
                break;
            case "٢":
                a += "2";
                break;
            case "٣":
                a += "3";
                break;
            case "٤":
                a += "4";
                break;
            case "٥":
                a += "5";
                break;
            case "٦":
                a += "6";
                break;
            case "٧":
                a += "7";
                break;
            case "٨":
                a += "8";
                break;
            case "٩":
                a += "9";
                break;
            default:
                a += t[r]
            }
        return a
    },
    this.changeToArab = function (e) {
        for (var t = e.split(""), a = 0; a < t.length; a++)
            parseFloat(t[a]) > -1 && (t[a] = getJSON.arab._digits[t[a]]);
        return t.join("")
    },
    this.isArab = function (e) {
        for (var t = ("" + e).split(""), a = new RegExp("[*٠١٢٣٤٥٦٧٨٩]"), r = 0; r < t.length; r++)
            if (a.test(t[r]))
                return !0;
        return !1
    },
    this.isNumber = function (e) {
        for (var t = ("" + e).split(""), a = new RegExp(/\d/), r = 0; r < t.length; r++)
            if (a.test(t[r]))
                return !0;
        return !1
    }
}, Intesa.InputToArab.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.input_to_arab || (window.intesa.input_to_arab = new Intesa.InputToArab),
    window.intesa.input_to_arab
};
var Intesa = Intesa || {};
Intesa.InvestmentCalculatorVUB = function () {
    var e = this,
    t = !1,
    a = {},
    r = {};
    this.MAX_ITERATIONS = 50,
    this.activeCalculator = null,
    this.activeVariant = {},
    this.activeMortgage = {},
    this.activeCurrency = {},
    this.activeInterestType = {},
    this.errorState = !1,
    this.defaultEducation = null,
    this.productCategory = "",
    this.eurizonMutualFund = 0,
    this.month12Appreciation = 0,
    this.investmentChart = null,
    this.portfolios = {},
    this.funds = {},
    this.savingsAccounts = {},
    this.targetAmount = 0,
    this.selectedFunds = [],
    this.singleFundInvestment = 0,
    this.tenor = 0,
    this.tenorUnit = null,
    this.monthlyInstallment = 0,
    this.investmentAmount = 0,
    this.activePortfolioCode = "",
    this.activeFundCode = "",
    this.activeSavingsAccountCode = "",
    this.yield = 0,
    this.currency = null,
    this.urlParams = {},
    this.init = function () {
        var t = "VUB" == $("html").attr("data-bank"),
        a = $(".investment-calculator").length > 0;
        $("section.com16-14").length && t && a && (e.getSettingsAndLabelsJsonData(), e.setVisibleCalculatorAsActive(), e.setActiveVariant(), e.setActiveMortgage(e.getDefaultMortgage()), e.setActiveCurrency(e.getDefaultCurrency()), e.setActiveInterestType(e.getDefaultInterestType()), e.mapSliders(), e.attachChangeEvents(), e.updateProductCategory(), e.updateCalculatorInputs(), e.updateCalculatorOutputs(), "SAVINGS_ACCOUNT" !== e.getProductCategory() && "COMBIPRODUCT" !== e.getProductCategory() || e.attachDataLayerClickEvent(), e.formatInputDecimal())
    },
    this.initChart = function () {
        var t,
        a = [],
        r = [];
        if (console.log(e.getProductCategory()), "INVESTMENT_PORTFOLIOS" == e.getProductCategory())
            t = e.getInvestmentPortfolioData(), console.log(t), r = t[0], a = t[1];
        else {
            if ("INVESTMENT_SAVINGS" != e.getProductCategory())
                return;
            t = e.getInvestmentSavingData(),
            console.log(t),
            r = t[0],
            a = t[1]
        }
        var n = document.getElementById("chartLegend").getAttribute("value");
        const o = $(".content-target__wrapper").css("background-color");
        Chart.defaults.font.size = 14;
        const i = {
            type: "line",
            data: {
                labels: r,
                datasets: [{
                        label: n,
                        data: a,
                        fill: !0,
                        borderColor: o,
                        tension: .1,
                        pointStyle: "line"
                    }
                ]
            },
            options: {
                scales: {
                    y: {
                        ticks: {
                            callback: function (e, t, a) {
                                return e + " €"
                            }
                        }
                    }
                },
                devicePixelRatio: 2,
                plugins: {
                    legend: {
                        display: !1,
                        position: "bottom",
                        align: "center",
                        labels: {
                            usePointStyle: !0,
                            pointStyle: "circle",
                            boxWidth: 8,
                            boxHeight: 10
                        }
                    }
                }
            }
        };
        if ($(window).width() < 768)
            var s = document.getElementById("chartCanvasMobile");
        else
            var s = document.getElementById("chartCanvas");
        void 0 != e.investmentChart || null != e.investmentChart ? (e.investmentChart.destroy(), e.investmentChart = new Chart(s, i)) : e.investmentChart = new Chart(s, i)
    },
    this.getInvestmentPortfolioData = function () {
        for (var t = [], a = [], r = e.portfolios[this.activePortfolioCode], n = 0; n < e.tenorInYears; n++)
            console.log("Anno n" + n + "1: " + e.investmentAmount * Math.pow(1 + r / 100, n + 1)), t[n] = e.investmentAmount * Math.pow(1 + r / 100, n + 1), console.log(t[n]), a[n] = n + 1;
        return [a, t]
    },
    this.getInvestmentSavingData = function () {
        var t = [],
        a = [],
        r = e.funds[e.activeFundCode],
        n = 0;
        if ($(window).width() < 768)
            var o = parseInt($("[name=investmentAmount]")[1].value);
        else
            var o = parseInt($("[name=investmentAmount]")[0].value);
        for (var i = 0; i < e.tenorInYears; i++)
            n = i + 1, t[i] = 0 - e.FV(Math.pow(1 + r / 100, 1 / 12) - 1, 12 * n, e.monthlyInstallment, o + e.monthlyInstallment, 1), console.log(t[i]), a[i] = i + 1;
        return [a, t]
    },
    this.getCalculatorInputs = function () {
        for (var t = $("[data-algorithm-input]", e.activeCalculator), r = t.length, n = 0; n < r; n++) {
            var o = t[n].getAttribute("data-algorithm-input"),
            i = t[n].value;
            i = i.replace(",", ".").replaceAll(a.separator, ""),
            "currency" !== o && (i = parseFloat(i)),
            e[o] = i
        }
    },
    this.appendCalculatorOutputs = function () {
        const t = ["monthlyInstallment", "investmentAmount", "yield", "investmentValue", "month12TermDeposit", "eurizonMutualFund", "singleFundInvestment", "month12Appreciation", "saverContribution", "savedAmount"];
        var n = $("[data-algorithm-output]", e.activeCalculator),
        o = "";
        n.each(function () {
            var n = $(this).attr("data-algorithm-output");
            o = t.includes(n) ? number_format(e[n], 2, a.decimal, a.separator) : "selectedPortfolio" == n && e.activePortfolioCode ? r.portfolio[e.activePortfolioCode] : e[n],
            $(this).text(o)
        })
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first()),
        "mobile" === a && $(".calculator-desktop").hide()
    },
    this.setActiveVariant = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorData").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.setActiveMortgage = function (t) {
        for (var a = e.activeVariant.glProductVariantList, r = a.length, n = 0; n < r; n++)
            if (a[n].variantType === t) {
                e.activeMortgage = a[n];
                break
            }
        e.mortgage = t
    },
    this.getDefaultMortgage = function () {
        if (e.activeVariant) {
            for (var t = e.activeVariant.glProductVariantList, a = t.length, r = "", n = !1, o = 0; o < a; o++)
                if (!0 === t[o].default) {
                    r = t[o].variantType,
                    e.mortgage = r,
                    n = !0;
                    break
                }
            return n || (r = t[0].variantType),
            e.mortgage = r,
            r
        }
    },
    this.setActiveCurrency = function (t) {
        for (var a = e.activeMortgage.glConfigurationList, r = a.length, n = 0; n < r; n++)
            if (a[n].currency === t) {
                e.activeCurrency = a[n];
                break
            }
    },
    this.getDefaultCurrency = function () {
        for (var t = e.activeMortgage.glConfigurationList, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].currency;
                break
            }
        return r
    },
    this.getSettingsAndLabelsJsonData = function () {
        var e = $("#genericSettings"),
        n = $("#calculatorLabels");
        try {
            e.length && (a = JSON.parse(e.val())),
            n.length && (r = JSON.parse(n.val()))
        } catch (e) {
            console.error("Settings or Labels JSON file invalid"),
            t = !0
        }
    },
    this.updateCalculatorInputs = function () {
        e.updatetargetAmountInput(),
        e.updateExpectedAnnualIncomeInput(),
        e.updateMonthlyDepositInput(),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        e.updateTenorSlider(),
        e.initSavingsAccountSelect(e.loadInterestRates()),
        "INVESTMENT_PORTFOLIOS" === e.productCategory && e.initPortfolioTypesSelect(this.loadPortfoliosData()),
        "INVESTMENT_SAVINGS" === e.productCategory && e.initFundTypesSelect(this.loadFundsData(), "DOP"),
        "COMBIPRODUCT" === e.productCategory && e.initCombiFundsSelect(this.loadFundsData())
    },
    this.updateCalculatorOutputs = function () {
        e.getCalculatorInputs(),
        e.checkErrors(),
        e.calculateResults(),
        e.appendCalculatorOutputs(),
        e.initChart(),
        e.updateDataLayer()
    },
    this.updatetargetAmountInput = function () {
        var t = $('[data-algorithm-input="targetAmount"]', e.activeCalculator);
        if (0 === t.length)
            var t = $('[data-algorithm-input="investmentAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeCurrency.glGenericCalculationList[0].minimumAmount,
            n = e.activeCurrency.glGenericCalculationList[0].maxAmountForOnline,
            o = e.activeCurrency.glGenericCalculationList[0].defaultAmount;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]", e.activeCalculator).text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]", e.activeCalculator).text(s),
            ("0" == t.val() || parseInt(t.val()) < o) && t.val(o),
            t.parsley().validate()
        }
    },
    this.updateExpectedAnnualIncomeInput = function () {
        var t = $('[data-algorithm-input="expectedAnnualIncome"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeCurrency.glGenericCalculationList[0].minExpectedAnnualIncome,
            n = e.activeCurrency.glGenericCalculationList[0].maxExpectedAnnualIncome,
            o = e.activeCurrency.glGenericCalculationList[0].defaultExpectedAnnualIncome;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-expected-annual-income-min]", e.activeCalculator).text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-expected-annual-income-max]", e.activeCalculator).text(s),
            ("0" == t.val() || parseInt(t.val()) < o) && (o = number_format(o, 2, a.decimal, a.separator), t.val(o)),
            t.parsley(e.formatParsleyDecimalValue()).validate()
        }
    },
    this.updateCurrencySelect = function () {
        var t = e.activeMortgage.glConfigurationList,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator),
        r = "";
        a.length && (a.html(""), t.forEach(function (t) {
                t = t.currency,
                t === e.activeCurrency.currency ? r += '<option value="' + t + '" selected>' + t + "</option>" : r += '<option value="' + t + '">' + t + "</option>"
            }), t.length <= 1 && a.attr("disabled", "disabled"), a.append(r))
    },
    this.mapSliders = function () {
        if (window.sliderbootstrap) {
            window.sliderbootstrap.forEach(function (e, t) {
                e.attr("data-slider-index", t)
            })
        }
    },
    this.getTenorInMonths = function () {
        "YEARS" === e.tenorUnit && (e.tenor = 12 * e.tenor)
    },
    this.updateTenorUnit = function () {
        e.tenorUnit = e.activeCurrency.tenorUnit;
        var t = r[e.tenorUnit];
        $("[data-tenor-unit]", e.activeCalculator).text(t)
    },
    this.updateTenorSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper"),
            o = e.activeCurrency.glGenericCalculationList[0].amountList[0].tenorScalingFactor;
            t.attr("data-slider-step", o);
            var i = e.activeCurrency.glGenericCalculationList[0].amountList[0].minimumTenor;
            2 === e.activeInterestType.periods && i <= e.activeInterestType.firstPeriod.monthDuration && (i = e.activeInterestType.firstPeriod.monthDuration + 12),
            "YEARS" === e.tenorUnit && (i /= 12),
            t.attr("data-slider-min", i),
            n.find("[data-min-tenor]").html(i);
            var s = e.activeCurrency.glGenericCalculationList[0].amountList[0].maximumTenor;
            "YEARS" === e.tenorUnit && (s /= 12),
            t.attr("data-slider-max", s),
            n.find("[data-max-tenor]").html(s),
            r.slider("destroy"),
            r.slider({
                tooltip: "show"
            });
            var l = e.activeCurrency.glGenericCalculationList[0].amountList[0].defaultTenor ? e.activeCurrency.glGenericCalculationList[0].amountList[0].defaultTenor : i;
            "YEARS" === e.tenorUnit && (l /= 12);
            var c = $('input[data-algorithm-input="loanDuration"]', e.activeCalculator);
            c.length > 0 && (c.attr("data-parsley-min", r.attr("data-slider-min")), c.attr("data-parsley-max", r.attr("data-slider-max")), c.val(l), c.parsley().validate());
            var u = $("[data-min-tenor]", e.activeCalculator);
            u.html(i);
            var d = $("[data-max-tenor]", e.activeCalculator);
            d.html(s),
            "YEARS" === e.tenorUnit && (u.next("[data-tenor-unit]").html(e.getYearsLabel(i)), d.next("[data-tenor-unit]").html(e.getYearsLabel(s))),
            r.slider("setValue", l),
            n.find(".qty").val(l),
            t.siblings(".qty").trigger("change"),
            r.on("slide", function () {
                var e = r.slider("getValue");
                n.find(".qty").val(e),
                t.siblings(".qty").trigger("change")
            })
        }
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.attachChangeEvents = function () {
        if ($(document).on("click", ".com15__filterItem", function () {
                var t,
                a = $(this).attr("data-filter"),
                r = $('.com15__filter[data-filter="' + a + '"]');
                t = $(window).width() < 768 ? r.find(".calculator-mobile") : r.find(".calculator-desktop"),
                e.setActiveCalculator(t),
                e.setActiveVariant(),
                e.updateProductCategory(),
                e.setActiveMortgage(e.getDefaultMortgage()),
                e.setActiveCurrency(e.getDefaultCurrency()),
                e.setActiveInterestType(e.getDefaultInterestType()),
                e.updateCalculatorInputs(),
                e.updateCalculatorOutputs()
            }), $(document).on("change", ".rangeslider", function () {
                var t = $(this).val();
                $(this).parents(".sliderRange__wrapper").find(".qty").val(t),
                e.updateCalculatorOutputs()
            }), $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
                var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
                parseInt(t.attr("data-slider-index"));
                t.slider("setValue", $(this).val(), !0)
            }), $(document).on("change", ".js-portfolio-select", function () {
                e.activePortfolioCode = $(this).val(),
                e.updateCalculatorOutputs()
            }), $(document).on("change", ".js-fund-select", function () {
                e.activeFundCode = $(this).val(),
                e.updateCalculatorOutputs()
            }), $(document).on("change", ".js-savings-account-select", function () {
                e.activeSavingsAccountCode = $(this).val(),
                e.updateCalculatorOutputs()
            }), $(document).on("focusout", "[data-algorithm-input]", function () {
                e.checkInvestmentAmount(),
                e.updateCalculatorOutputs()
            }), $(document).on("change  keyup", "[data-algorithm-input]", function () {
                e.updateCalculatorOutputs()
            }), $(document).on("click", ".js-btnMinus, .js-btnAdd", function () {
                $('[data-algorithm-input="tenorInYears"]').trigger("change")
            }), $(document).on("click", ".js-calculator-gotop", function (t) {
                t.preventDefault(),
                $(window).scrollTop($(".mobile-loan", e.activeCalculator).offset().top)
            }), $(document).on("click", ".js-combi-select-item", function () {
                var t = $(this);
                if (t.hasClass("selected")) {
                    t.removeClass("selected"),
                    $itemIcon = t.find(".cs-item__icon"),
                    $itemIcon && ($itemIcon.addClass("ic-circle-cross"), $itemIcon.removeClass("ic-check"));
                    var a = t.attr("data-fund-code");
                    -1 != e.selectedFunds.indexOf(a) && (e.selectedFunds = e.selectedFunds.filter(function (e) {
                            return e != a
                        }))
                } else {
                    t.addClass("selected"),
                    $itemIcon = t.find(".cs-item__icon"),
                    $itemIcon && ($itemIcon.removeClass("ic-circle-cross"), $itemIcon.addClass("ic-check"));
                    var a = t.attr("data-fund-code");
                    -1 == e.selectedFunds.indexOf(a) && e.selectedFunds.push(a)
                }
                e.updateCalculatorOutputs();
                var r = t.parents(".calculator-field").find(".alertMessage");
                !e.singleFundInvestment || e.singleFundInvestment <= 150 ? r.removeClass("hide") : r.addClass("hide")
            }), $(window).width() < 768) {
            var t = e.activeCalculator,
            a = t.height();
            $(window).on("scroll", function () {
                var r = $(".mobile-loan .tab-results", e.activeCalculator),
                n = $(".mobile-loan .loanCalculator", e.activeCalculator);
                t.height(a);
                var o = n.offset().top - $(window).scrollTop(),
                i = n.offset().top + n.height() + r.height() - ($(window).scrollTop() + $(window).innerHeight());
                !(i < 0) && o < -160 ? (r.css("position", "fixed"), r.css("bottom", 0), t.height(a)) : !(i < 0) && o < t.height() - n.height() - 160 ? (r.css("position", "fixed"), r.css("bottom", 0 - o - 160), t.height(a)) : (r.css("position", "static"), t.height("auto"))
            })
        }
    },
    this.setActiveInterestType = function (t) {
        if (t)
            for (var a = e.activeCurrency.glGenericCalculationList[0].interest, r = a.length, n = 0; n < r; n++)
                if (a[n].interestCode === t) {
                    e.activeInterestType = a[n],
                    e.interestRateType = t;
                    break
                }
    },
    this.checkInvestmentAmount = function () {
        var t = $("[name=investmentAmount]", e.activeCalculator);
        parseInt(t.val()) > parseInt(t.attr("data-parsley-max")) && (t.val(t.attr("data-parsley-max")), t.parsley().validate()),
        parseInt(t.val()) < parseInt(t.attr("data-parsley-min")) && (t.val(t.attr("data-parsley-min")), t.parsley().validate())
    },
    this.getDefaultInterestType = function () {
        var t = e.activeCurrency.glGenericCalculationList[0].interest;
        if (null != t) {
            for (var a = t.length, r = "", n = 0; n < a; n++)
                if (!0 === t[n].default) {
                    r = t[n].interestCode;
                    break
                }
            return r
        }
    },
    this.getTenorInMonths = function () {
        "YEARS" === e.tenorUnit && (e.tenor = 12 * e.tenorInYears)
    },
    this.checkErrors = function () {
        var t = $(".parsley-errors-list li", e.activeCalculator).length;
        e.errorState = t > 0
    },
    this.calculateResults = function () {
        if (!0 !== e.errorState) {
            var t = e.activePortfolioValue;
            if ("TARGET_AMOUNT" === e.productCategory) {
                var a = e.targetAmount,
                r = 12 * e.tenorInYears,
                n = e.expectedAnnualIncome / 100;
                e.monthlyInstallment = n / 12 / (Math.pow(1 + n / 12, r) - 1) * a,
                e.investmentAmount = e.monthlyInstallment * r,
                e.yield = a - e.investmentAmount
            } else if ("INVESTMENT_PORTFOLIOS" === e.productCategory) {
                var r = e.tenorInYears,
                t = e.portfolios[this.activePortfolioCode];
                t && (e.investmentValue = e.investmentAmount * Math.pow(1 + t / 100, r), e.yield = e.investmentValue - e.investmentAmount)
            } else if ("INVESTMENT_SAVINGS" === e.productCategory) {
                var r = e.tenorInYears,
                o = e.monthlyInstallment,
                i = e.investmentAmount,
                s = e.funds[e.activeFundCode];
                e.investmentAmount = i + o * r * 12,
                s && (e.investmentValue = 0 - e.FV(Math.pow(1 + s / 100, 1 / 12) - 1, 12 * r, o, i + o, 1), e.yield = e.investmentValue - e.investmentAmount)
            } else if ("SAVINGS_ACCOUNT" === e.productCategory) {
                if (e.activeSavingsAccountCode) {
                    var l = e.savingsAccounts[e.activeSavingsAccountCode] / 100;
                    e.saverContribution = e.investmentAmount + e.monthlyInstallment * e.tenorInYears * 12,
                    e.savedAmount = round(e.investmentAmount * (1 + l * e.tenorInYears) + e.monthlyInstallment * (Math.pow(1 + l / 12, 12 * e.tenorInYears) - 1) / (l / 12), 2)
                }
            } else if ("COMBIPRODUCT" === e.productCategory) {
                var c = e.activeInterestType.firstPeriod.interestRate;
                if (e.selectedFunds.length > 0) {
                    e.investmentAmount;
                    e.month12TermDeposit = Math.round(e.investmentAmount / 3),
                    e.eurizonMutualFund = Math.round(e.investmentAmount - e.month12TermDeposit),
                    e.singleFundInvestment = e.eurizonMutualFund / e.selectedFunds.length;
                    var u = 0;
                    e.selectedFunds.forEach(function (t) {
                        u += e.calculateSingleFundYield(e.investmentAmount / e.selectedFunds.length, c / 100, e.funds[t])
                    }),
                    e.month12Appreciation = Math.floor(u)
                } else
                    e.month12TermDeposit = 0, e.eurizonMutualFund = 0, e.month12Appreciation = 0
            }
        }
    },
    this.loadPortfoliosData = function () {
        if (e.activeCalculator) {
            var t = $(".portfoliosData").val();
            try {
                return JSON.parse(t).funds
            } catch (e) {
                console.log("Error when loading portfolios data.")
            }
        }
    },
    this.loadFundsData = function () {
        if (e.activeCalculator) {
            var t = $(".fundsData").val();
            try {
                return JSON.parse(t).funds
            } catch (e) {
                console.log("Error when loading funds data.")
            }
        }
    },
    this.loadFundCodes = function () {
        if (e.activeCalculator) {
            var t = $(".fundCodes").val();
            try {
                return JSON.parse(t)
            } catch (e) {
                console.log("Error when loading fund codes data.")
            }
        }
    },
    this.loadInterestRates = function () {
        if (e.activeCurrency)
            return e.activeCurrency.glGenericCalculationList[0].interest
    },
    this.initPortfolioTypesSelect = function (t, a) {
        if (t) {
            var n = $(".js-portfolio-select", e.activeCalculator);
            if (n.html(""), n.length && r.portfolio) {
                for (var o = Object.keys(t), i = 0; i < o.length; i++)
                    e.portfolios[o[i]] = t[o[i]], n.append($('<option value="' + o[i] + '">' + r.portfolio[o[i]] + "</option>"));
                e.activePortfolioCode = o.includes(a) ? a : o[0],
                n.val(e.activePortfolioCode),
                n.trigger("change")
            }
        }
    },
    this.initFundTypesSelect = function (t, a) {
        if (t) {
            var n = $(".js-fund-select", e.activeCalculator);
            n.html("");
            var o = [];
            if (n.length && r.fund) {
                for (var o = e.loadFundCodes(), i = 0; i < o.length; i++)
                    e.funds[o[i]] = t[o[i]], n.append($('<option value="' + o[i] + '">' + r.fund[o[i]] + "</option>"));
                e.activeFundCode = o.includes(a) ? a : o[0],
                n.val(e.activeFundCode),
                n.trigger("change")
            }
        }
    },
    this.initSavingsAccountSelect = function (t) {
        if (t) {
            var a = $(".js-savings-account-select", e.activeCalculator),
            n = 0;
            if (a.html(""), a.length) {
                for (var o = 0; o < t.length; o++) {
                    var i = t[o].interestCode;
                    t[o].default && (n = o),
                    e.savingsAccounts[i] = t[o].firstPeriod.interestRate,
                    a.append($('<option value="' + i + '">' + (r.savingsAccount[i] || "") + "</option>"))
                }
                a.val(t[n].interestCode),
                a.trigger("change")
            }
        }
    },
    this.initCombiFundsSelect = function (t) {
        if (t) {
            var a = $(".js-combi-funds-select", e.activeCalculator),
            n = $(a.find(".js-combi-select-item")[0]);
            if (a.html(""), a.length && r.fund) {
                e.loadFundCodes().forEach(function (o) {
                    var i = r.fund[o];
                    e.funds[o] = t[o],
                    $selectItem = n.clone(),
                    $selectItem.attr("data-fund-code", o),
                    $selectItem.toggle(!0),
                    $selectItem.find(".cs-item__label").text(i),
                    a.append($selectItem)
                })
            }
        }
    },
    this.updateProductCategory = function () {
        e.activeVariant && (e.productCategory = e.activeVariant.productCategory)
    },
    this.updateMonthlyDepositInput = function () {
        var t = $('[data-algorithm-input="monthlyInstallment"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeCurrency.glGenericCalculationList[0].minMonthlyDeposit,
            n = e.activeCurrency.glGenericCalculationList[0].maxMonthlyDeposit,
            o = e.activeCurrency.glGenericCalculationList[0].defaultMonthlyDeposit;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-monthly-deposit-min]", e.activeCalculator).text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-monthly-deposit-max]", e.activeCalculator).text(s),
            ("0" == t.val() || parseInt(t.val()) < o) && t.val(o),
            t.parsley().validate()
        }
    },
    this.FV = function (e, t, a, r, n) {
        var o = Math.pow(1 + e, t);
        return e ? a * (1 + e * n) * (1 - o) / e - r * o : -1 * (r + a * t)
    },
    this.calculateSingleFundYield = function (e, t, a) {
        return e / 3 * t + e / 3 + (e / 3 * 2 * a / 100 + e / 3 * 2) - e
    },
    this.formatInputDecimal = function () {
        var e;
        e = $("[data-format-decimal]"),
        e.length && e.each(function () {
            new Cleave(this, {
                delimiter: "",
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 2,
                numeralThousandsGroupStyle: "thousand"
            })
        }),
        e = $("[data-format-no-decimal]"),
        e.length && e.each(function () {
            new Cleave(this, {
                delimiter: "",
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 0,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.formatParsleyDecimalValue = function () {
        return {
            value: function (e) {
                return $(e.element).val().replaceAll(a.separator, "").replace(a.decimal, ".")
            }
        }
    },
    this.updateDataLayer = function () {
        var t = "",
        a = e.activeVariant.productCategory;
        "SAVINGS_ACCOUNT" === a ? (t = '{ "event": "saving_calculator", "eventCategory": "saving", "eventAction": "[ACTION]", "eventLabel": "[CTA]", "eventName": "saving_calculator", "amount": [INV_AMOUNT], "currency_code": "[CURRENCY]", "duration": [DURATION], "monthly_installment": [INSTALLMENT], "saved_amount": [SAVED_AMOUNT]  }', t = t.replace("[ACTION]", e.activeSavingsAccountCode).replace("[SAVED_AMOUNT]", e.savedAmount)) : "COMBIPRODUCT" === a && (t = '{ "event": "investment_calculator", "eventCategory": "investment", "eventAction": "[ACTION]", "eventLabel": "[CTA]", "eventName": "investment_calculator", "amount": [INV_AMOUNT], "currency_code": "[CURRENCY]", "mutual_fund": [MUTUAL_FUND], "monthly_appreciation": [MONTHLY_APPRECIATION], "appreciation": [APPRECIATION], "fund_combination": "[FUND_COMBINATION]" }', t = t.replace("[ACTION]", a).replace("[MUTUAL_FUND]", e.eurizonMutualFund.toFixed(2)).replace("[MONTHLY_APPRECIATION]", e.month12Appreciation.toFixed(2)).replace("[APPRECIATION]", e.singleFundInvestment.toFixed(2)).replace("[FUND_COMBINATION]", e.selectedFunds.map(function (e) {
                        return r.fund[e]
                    }).join(", "))),
        t = t.replace("[INV_AMOUNT]", e.investmentAmount.toFixed(2)).replace("[CURRENCY]", e.activeCurrency.currency).replace("[DURATION]", e.tenorInYears).replace("[INSTALLMENT]", e.monthlyInstallment.toFixed(2)),
        e.dataLayer = t
    },
    this.attachDataLayerClickEvent = function () {
        $(document).on("click", "[data-layer-vub-calculator]", function (t) {
            var a = e.dataLayer;
            a = $(t.target).hasClass("js-callmecta") ? a.replace("[CTA]", "Call Me Back") : a.replace("[CTA]", "Get It Now"),
            a = JSON.parse(a),
            window.dataLayer.push(a)
        })
    },
    this.getProductCategory = function () {
        if (e.activeVariant)
            return e.activeVariant.productCategory
    },
    this.getYearsLabel = function (e) {
        return "sk" === document.documentElement.lang ? (console.log("SK LANGUAGE"), 1 === e ? r.YEAR : 3 === e || 4 === e ? r.YEARS34 : r.YEARS) : 1 === e ? r.YEAR : r.YEARS
    }
}, Intesa.InvestmentCalculatorVUB.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.investment_calculator_vub || (window.intesa.investment_calculator_vub = new Intesa.InvestmentCalculatorVUB),
    window.intesa.investment_calculator_vub
};
var _createClass = function () {
    function e(e, t) {
        for (var a = 0; a < t.length; a++) {
            var r = t[a];
            r.enumerable = r.enumerable || !1,
            r.configurable = !0,
            "value" in r && (r.writable = !0),
            Object.defineProperty(e, r.key, r)
        }
    }
    return function (t, a, r) {
        return a && e(t.prototype, a),
        r && e(t, r),
        t
    }
}
(), PureSystemCalculator = function () {
    function e(t) {
        var a = t.Modulus,
        r = t.Radix,
        n = t.Remainder,
        o = void 0 === n ? 1 : n,
        i = t.ApplicationCharset,
        s = t.CheckCharset,
        l = t.IsDoubleCheckCharacter,
        c = t.SingleDigitDesignation,
        u = void 0 === c ? 0 : c,
        d = t.IsCaseSensitive,
        m = void 0 !== d && d;
        _classCallCheck(this, e),
        this.M = a,
        this.r = r,
        this.acs = i,
        this.ccs = s,
        this.dblchk = l,
        this.R = o,
        this.desig = u,
        this.cs = m,
        this.patt_a = new RegExp("^[" + this.acs + "]+$", this.cs ? null : "i"),
        this.acsEnum = {};
        for (var p = 0; p < this.acs.length; p++)
            this.acsEnum[this.acs[p]] = p;
        Object.freeze(this.acsEnum)
    }
    return _createClass(e, [{
                key: "compute",
                value: function (e) {
                    if ("string" != typeof e || "" === e)
                        return null;
                    if (this.patt_a.test(e)) {
                        this.cs || (e = e.toUpperCase());
                        for (var t = 0, a = 0; a < e.length; a++)
                            t = (t + this.acsEnum[e.charAt(a)]) * this.r % this.M;
                        if (this.dblchk) {
                            t = t * this.r % this.M;
                            var r = this.M + this.R - t,
                            n = ~~(r / this.r),
                            o = r - n * this.r;
                            return this.ccs.charAt(n) + this.ccs.charAt(o)
                        }
                        return this.ccs.charAt((this.M + this.R - t) % this.M)
                    }
                }
            }, {
                key: "complete",
                value: function (e) {
                    var t = this.compute(e);
                    return "string" == typeof t ? e + t : t
                }
            }, {
                key: "verify",
                value: function (e) {
                    var t = 1 + this.dblchk;
                    if ("string" != typeof e || e.length <= t)
                        return null;
                    var a = e.substr(0, e.length - t),
                    r = this.compute(a);
                    return "string" == typeof r ? r === (this.cs ? e.substr(-t) : e.substr(-t).toUpperCase()) : r
                }
            }
        ]),
    e
}
(), HybridSystemCalculator = function (e) {
    function t(e) {
        var a = e.Modulus,
        r = e.Remainder,
        n = e.ApplicationCharset,
        o = e.CheckCharset,
        i = e.SingleDigitDesignation,
        s = e.IsCaseSensitive;
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: a,
                Radix: 2,
                Remainder: r,
                ApplicationCharset: n,
                CheckCharset: o,
                IsDoubleCheckCharacter: !1,
                SingleDigitDesignation: i,
                IsCaseSensitive: s
            }))
    }
    return _inherits(t, PureSystemCalculator),
    _createClass(t, [{
                key: "compute",
                value: function (e) {
                    if ("string" != typeof e || "" === e)
                        return null;
                    if (this.patt_a.test(e)) {
                        this.cs || (e = e.toUpperCase());
                        for (var t = this.M, a = 0; a < e.length; a++)
                            0 == (t = (t + this.acsEnum[e.charAt(a)]) % this.M) && (t = this.M), t = t * this.r % (this.M + 1);
                        return this.ccs.charAt((this.M + this.R - t) % this.M)
                    }
                }
            }
        ]),
    t
}
(), MOD11_2 = function (e) {
    function t() {
        _classCallCheck(this, t);
        var e = _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                    Modulus: 11,
                    Radix: 2,
                    ApplicationCharset: "0123456789",
                    CheckCharset: "0123456789X",
                    IsDoubleCheckCharacter: !1,
                    SingleDigitDesignation: 1
                }));
        return e.patt_fast = new RegExp(/^\d+[\dX]$/, e.cs ? null : "i"),
        e.ccsEnum = {
            0: 0,
            1: 1,
            2: 2,
            3: 3,
            4: 4,
            5: 5,
            6: 6,
            7: 7,
            8: 8,
            9: 9,
            X: 10
        },
        e
    }
    return _inherits(t, PureSystemCalculator),
    _createClass(t, [{
                key: "verify_fast",
                value: function (e) {
                    if ("string" != typeof e || e.length <= 1)
                        return null;
                    if (this.patt_fast.test(e)) {
                        for (var t = 0, a = 0; a < e.length - 1; a++)
                            t += +e.charAt(a), t <<= 1;
                        return (t += this.ccsEnum[e.charAt(e.length - 1)]) % 11 == 1
                    }
                }
            }
        ]),
    t
}
(), MOD37_2 = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 37,
                Radix: 2,
                ApplicationCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                CheckCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*",
                IsDoubleCheckCharacter: !1,
                SingleDigitDesignation: 2
            }))
    }
    return _inherits(t, PureSystemCalculator),
    t
}
(), MOD97_10 = function (e) {
    function t() {
        _classCallCheck(this, t);
        var e = _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                    Modulus: 97,
                    Radix: 10,
                    ApplicationCharset: "0123456789",
                    CheckCharset: "0123456789",
                    IsDoubleCheckCharacter: !0,
                    SingleDigitDesignation: 3
                }));
        return e.patt_fast = new RegExp(/^\d+$/),
        e
    }
    return _inherits(t, PureSystemCalculator),
    _createClass(t, [{
                key: "compute_fast",
                value: function (e) {
                    return "string" != typeof e || "" === e ? null : this.patt_fast.test(e) ? "" + (98 - 100 * e % 97) : void 0
                }
            }, {
                key: "complete_fast",
                value: function (e) {
                    var t = this.compute_fast(e);
                    return "string" == typeof t ? e + t : t
                }
            }, {
                key: "verify_fast",
                value: function (e) {
                    return "string" != typeof e || e.length <= 2 ? null : this.patt_fast.test(e) ? e % 97 == 1 : void 0
                }
            }
        ]),
    t
}
(), MOD661_26 = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 661,
                Radix: 26,
                ApplicationCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                CheckCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                IsDoubleCheckCharacter: !0,
                SingleDigitDesignation: 4
            }))
    }
    return _inherits(t, PureSystemCalculator),
    t
}
(), MOD1271_36 = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 1271,
                Radix: 36,
                ApplicationCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                CheckCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                IsDoubleCheckCharacter: !0,
                SingleDigitDesignation: 5
            }))
    }
    return _inherits(t, PureSystemCalculator),
    t
}
(), MOD11_10 = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 10,
                ApplicationCharset: "0123456789",
                CheckCharset: "0123456789",
                SingleDigitDesignation: 6
            }))
    }
    return _inherits(t, HybridSystemCalculator),
    t
}
(), MOD27_26 = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 26,
                ApplicationCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                CheckCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                SingleDigitDesignation: 7
            }))
    }
    return _inherits(t, HybridSystemCalculator),
    t
}
(), MOD37_36 = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 36,
                ApplicationCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                CheckCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                SingleDigitDesignation: 8
            }))
    }
    return _inherits(t, HybridSystemCalculator),
    t
}
(), GB11643 = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments))
    }
    return _inherits(t, MOD11_2),
    t
}
(), GB11714 = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 11,
                Radix: 2,
                Remainder: 0,
                ApplicationCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                CheckCharset: "0123456789X",
                IsDoubleCheckCharacter: !1
            }))
    }
    return _inherits(t, PureSystemCalculator),
    t
}
(), GB32100 = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 31,
                Radix: 3,
                ApplicationCharset: "0123456789ABCDEFGHJKLMNPQRTUWXY",
                CheckCharset: "0123456789ABCDEFGHJKLMNPQRTUWXY",
                IsDoubleCheckCharacter: !1,
                Remainder: 0
            }))
    }
    return _inherits(t, PureSystemCalculator),
    _createClass(t, [{
                key: "compute",
                value: function (e) {
                    for (var t = 0, a = e.length - 1; a >= 0; a--) {
                        var r = this.acsEnum[e.charAt(a)];
                        t = t * this.r % this.M + r
                    }
                    return this.ccs.charAt((this.M + this.R - t) % this.M)
                }
            }
        ]),
    t
}
(), MOD29_2_DK = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 29,
                Radix: 2,
                ApplicationCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ",
                CheckCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ",
                IsDoubleCheckCharacter: !1
            }))
    }
    return _inherits(t, PureSystemCalculator),
    t
}
();
_createClass = function () {
    function e(e, t) {
        for (var a = 0; a < t.length; a++) {
            var r = t[a];
            r.enumerable = r.enumerable || !1,
            r.configurable = !0,
            "value" in r && (r.writable = !0),
            Object.defineProperty(e, r.key, r)
        }
    }
    return function (t, a, r) {
        return a && e(t.prototype, a),
        r && e(t, r),
        t
    }
}
();
var PureSystemCalculator_poly = function () {
    function e(t) {
        var a = t.Modulus,
        r = t.Radix,
        n = t.Weight,
        o = void 0 === n ? [] : n,
        i = t.Remainder,
        s = void 0 === i ? 1 : i,
        l = t.ApplicationCharset,
        c = t.CheckCharset,
        u = t.IsDoubleCheckCharacter,
        d = t.SingleDigitDesignation,
        m = void 0 === d ? 0 : d,
        p = t.IsCaseSensitive,
        h = void 0 !== p && p;
        _classCallCheck(this, e),
        this.M = a,
        this.r = r,
        this.w = o,
        this.R = s,
        this.acs = l,
        this.ccs = c,
        this.dblchk = u,
        this.desig = m,
        this.cs = h,
        this.patt_a = new RegExp("^[" + this.acs + "]+$", this.cs ? null : "i"),
        this.acsEnum = {};
        for (var g = 0; g < this.acs.length; g++)
            this.acsEnum[this.acs[g]] = g;
        Object.freeze(this.acsEnum)
    }
    return _createClass(e, [{
                key: "compute",
                value: function (e) {
                    if ("string" != typeof e || "" === e)
                        return null;
                    if (this.patt_a.test(e)) {
                        this.cs || (e = e.toUpperCase());
                        for (var t = e.length, a = 1 + this.dblchk, r = this.w.length, n = 0, o = t; o > 0; ) {
                            var i = this.acsEnum[e.charAt(o - 1)];
                            n += r + o > t + a ? i * this.w[t + a - o] : i * Math.pow(this.r, t + a - o),
                            o--
                        }
                        if (this.dblchk) {
                            var s = this.M + this.R - n % this.M,
                            l = ~~(s / this.r),
                            c = s - l * this.r;
                            return this.ccs.charAt(l) + this.ccs.charAt(c)
                        }
                        return this.ccs.charAt((this.M + this.R - n % this.M) % this.M)
                    }
                }
            }, {
                key: "complete",
                value: function (e) {
                    var t = this.compute(e);
                    return "string" == typeof t ? e + t : t
                }
            }, {
                key: "verify",
                value: function (e) {
                    var t = 1 + this.dblchk;
                    if ("string" != typeof e || e.length <= t)
                        return null;
                    var a = e.substr(0, e.length - t),
                    r = this.compute(a);
                    return "string" == typeof r ? r === (this.cs ? e.substr(-t) : e.substr(-t).toUpperCase()) : r
                }
            }
        ]),
    e
}
(), MOD11_2_poly = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 11,
                Radix: 2,
                Weight: [1, 2, 4, 8, 5, 10, 9, 7, 3, 6, 1, 2, 4, 8, 5, 10, 9, 7, 3, 6, 1, 2, 4, 2, 4, 8, 5, 10, 9, 7, 3, 6],
                ApplicationCharset: "0123456789",
                CheckCharset: "0123456789X",
                IsDoubleCheckCharacter: !1,
                SingleDigitDesignation: 1
            }))
    }
    return _inherits(t, PureSystemCalculator_poly),
    t
}
(), MOD37_2_poly = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 37,
                Radix: 2,
                Weight: [1, 2, 4, 8, 16, 32, 27, 17, 34, 31, 25, 13, 26, 15, 30, 23, 9, 18, 36, 35, 33, 29, 21, 5, 10, 20, 3, 6, 12, 24, 11, 22],
                ApplicationCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                CheckCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*",
                IsDoubleCheckCharacter: !1,
                SingleDigitDesignation: 2
            }))
    }
    return _inherits(t, PureSystemCalculator_poly),
    t
}
(), MOD97_10_poly = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 97,
                Radix: 10,
                Weight: [1, 10, 3, 30, 9, 90, 27, 76, 81, 34, 49, 5, 50, 15, 53, 45, 62, 38, 89, 17, 73, 51, 25, 56, 75, 71, 31, 19, 93, 57, 85, 74],
                ApplicationCharset: "0123456789",
                CheckCharset: "0123456789",
                IsDoubleCheckCharacter: !0,
                SingleDigitDesignation: 3
            }))
    }
    return _inherits(t, PureSystemCalculator_poly),
    t
}
(), MOD661_26_poly = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 661,
                Radix: 26,
                Weight: [1, 26, 15, 390, 225, 562, 70, 498, 389, 199, 547, 341, 273, 488, 129, 49, 613, 74, 602, 449, 437, 125, 606, 553, 497, 363, 184, 157, 116, 372, 418, 292],
                ApplicationCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                CheckCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                IsDoubleCheckCharacter: !0,
                SingleDigitDesignation: 4
            }))
    }
    return _inherits(t, PureSystemCalculator_poly),
    t
}
(), MOD1271_36_poly = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 1271,
                Radix: 36,
                Weight: [1, 36, 25, 900, 625, 893, 373, 718, 428, 156, 532, 87, 590, 904, 769, 993, 160, 676, 187, 377, 862, 528, 1214, 490, 1117, 811, 1234, 1210, 346, 1017, 1024, 5],
                ApplicationCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                CheckCharset: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                IsDoubleCheckCharacter: !0,
                SingleDigitDesignation: 5
            }))
    }
    return _inherits(t, PureSystemCalculator_poly),
    t
}
(), MOD29_2_DK_poly = function (e) {
    function t() {
        return _classCallCheck(this, t),
        _possibleConstructorReturn(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, {
                Modulus: 29,
                Radix: 2,
                weight: [1, 2, 4, 8, 16, 3, 6, 12, 24, 19, 9, 18, 7, 14, 28],
                ApplicationCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ",
                CheckCharset: "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ",
                IsDoubleCheckCharacter: !1
            }))
    }
    return _inherits(t, PureSystemCalculator_poly),
    t
}
();
$(document).ready(function () {
    $(".viewSloveniaMobile").length > 0 && (showTables(), $("#wikiComponentSlovenia").on("change", function () {
            showTables()
        }))
}), $(document).ready(function () {
    function e() {
        var e = $('[name="selectedFromCurrencyCode"]').val();
        $('[name="selectedFromCurrencyCode"]').val($('[name="selectedToCurrencyCode"]').val()),
        $('[name="selectedToCurrencyCode"]').val(e).change()
    }
    if ($(document).on("click", ".mod-hom1__switchbutton", function () {
            e()
        }), $("*[data-message=wrapMessage]").length > 0) {
        $("*[data-message=wrapMessage] .com3__close").click(function () {
            $("*[data-message=wrapMessage]").addClass("hide"),
            sessionStorage.setItem("hideMessage", "true")
        });
        "" !== (sessionStorage.getItem("hideMessage") || "") ? $("*[data-message=wrapMessage]").addClass("hide") : $("*[data-message=wrapMessage]").removeClass("hide")
    }
}), function (e) {
    var t = function (e, t, a) {
        "use strict";
        var r,
        n;
        if (function () {
            var t,
            a = {
                lazyClass: "lazyload",
                loadedClass: "lazyloaded",
                loadingClass: "lazyloading",
                preloadClass: "lazypreload",
                errorClass: "lazyerror",
                autosizesClass: "lazyautosizes",
                fastLoadedClass: "ls-is-cached",
                iframeLoadMode: 0,
                srcAttr: "data-src",
                srcsetAttr: "data-srcset",
                sizesAttr: "data-sizes",
                minSize: 40,
                customMedia: {},
                init: !0,
                expFactor: 1.5,
                hFac: .8,
                loadMode: 2,
                loadHidden: !0,
                ricTimeout: 0,
                throttleDelay: 125
            };
            n = e.lazySizesConfig || e.lazysizesConfig || {};
            for (t in a)
                t in n || (n[t] = a[t])
            }
                (), !t || !t.getElementsByClassName)return {
                init: function () {},
                cfg: n,
                noSupport: !0
            };
        var o = t.documentElement,
        i = e.HTMLPictureElement,
        s = "addEventListener",
        l = "getAttribute",
        c = e[s].bind(e),
        u = e.setTimeout,
        d = e.requestAnimationFrame || u,
        m = e.requestIdleCallback,
        p = /^picture$/i,
        h = ["load", "error", "lazyincluded", "_lazyloaded"],
        g = {},
        f = Array.prototype.forEach,
        v = function (e, t) {
            return g[t] || (g[t] = new RegExp("(\\s|^)" + t + "(\\s|$)")),
            g[t].test(e[l]("class") || "") && g[t]
        },
        y = function (e, t) {
            v(e, t) || e.setAttribute("class", (e[l]("class") || "").trim() + " " + t)
        },
        b = function (e, t) {
            var a;
            (a = v(e, t)) && e.setAttribute("class", (e[l]("class") || "").replace(a, " "))
        },
        $ = function (e, t, a) {
            var r = a ? s : "removeEventListener";
            a && $(e, t),
            h.forEach(function (a) {
                e[r](a, t)
            })
        },
        C = function (e, a, n, o, i) {
            var s = t.createEvent("Event");
            return n || (n = {}),
            n.instance = r,
            s.initEvent(a, !o, !i),
            s.detail = n,
            e.dispatchEvent(s),
            s
        },
        I = function (t, a) {
            var r;
            !i && (r = e.picturefill || n.pf) ? (a && a.src && !t[l]("srcset") && t.setAttribute("srcset", a.src), r({
                    reevaluate: !0,
                    elements: [t]
                })) : a && a.src && (t.src = a.src)
        },
        w = function (e, t) {
            return (getComputedStyle(e, null) || {})[t]
        },
        S = function (e, t, a) {
            for (a = a || e.offsetWidth; a < n.minSize && t && !e._lazysizesWidth; )
                a = t.offsetWidth, t = t.parentNode;
            return a
        },
        _ = function () {
            var e,
            a,
            r = [],
            n = [],
            o = r,
            i = function () {
                var t = o;
                for (o = r.length ? n : r, e = !0, a = !1; t.length; )
                    t.shift()();
                e = !1
            },
            s = function (r, n) {
                e && !n ? r.apply(this, arguments) : (o.push(r), a || (a = !0, (t.hidden ? u : d)(i)))
            };
            return s._lsFlush = i,
            s
        }
        (),
        T = function (e, t) {
            return t ? function () {
                _(e)
            }
             : function () {
                var t = this,
                a = arguments;
                _(function () {
                    e.apply(t, a)
                })
            }
        },
        R = function (e) {
            var t,
            r = 0,
            o = n.throttleDelay,
            i = n.ricTimeout,
            s = function () {
                t = !1,
                r = a.now(),
                e()
            },
            l = m && i > 49 ? function () {
                m(s, {
                    timeout: i
                }),
                i !== n.ricTimeout && (i = n.ricTimeout)
            }
             : T(function () {
                u(s)
            }, !0);
            return function (e) {
                var n;
                (e = !0 === e) && (i = 33),
                t || (t = !0, n = o - (a.now() - r), n < 0 && (n = 0), e || n < 9 ? l() : u(l, n))
            }
        },
        A = function (e) {
            var t,
            r,
            n = function () {
                t = null,
                e()
            },
            o = function () {
                var e = a.now() - r;
                e < 99 ? u(o, 99 - e) : (m || n)(n)
            };
            return function () {
                r = a.now(),
                t || (t = u(o, 99))
            }
        },
        k = function () {
            var i,
            m,
            h,
            g,
            S,
            k,
            P,
            M,
            N,
            L,
            O,
            F,
            V = /^img$/i,
            E = /^iframe$/i,
            D = "onscroll" in e && !/(gle|ing)bot/.test(navigator.userAgent),
            B = 0,
            U = 0,
            J = -1,
            q = function (e) {
                U--,
                (!e || U < 0 || !e.target) && (U = 0)
            },
            j = function (e) {
                return null == F && (F = "hidden" == w(t.body, "visibility")),
                F || !("hidden" == w(e.parentNode, "visibility") && "hidden" == w(e, "visibility"))
            },
            G = function (e, a) {
                var r,
                n = e,
                i = j(e);
                for (M -= a, O += a, N -= a, L += a; i && (n = n.offsetParent) && n != t.body && n != o; )
                    (i = (w(n, "opacity") || 1) > 0) && "visible" != w(n, "overflow") && (r = n.getBoundingClientRect(), i = L > r.left && N < r.right && O > r.top - 1 && M < r.bottom + 1);
                return i
            },
            H = function () {
                var e,
                a,
                s,
                c,
                u,
                d,
                p,
                h,
                f,
                v,
                y,
                b,
                $ = r.elements;
                if ((g = n.loadMode) && U < 8 && (e = $.length)) {
                    for (a = 0, J++; a < e; a++)
                        if ($[a] && !$[a]._lazyRace)
                            if (!D || r.prematureUnveil && r.prematureUnveil($[a]))
                                ee($[a]);
                            else if ((h = $[a][l]("data-expand")) && (d = 1 * h) || (d = B), v || (v = !n.expand || n.expand < 1 ? o.clientHeight > 500 && o.clientWidth > 500 ? 500 : 370 : n.expand, r._defEx = v, y = v * n.expFactor, b = n.hFac, F = null, B < y && U < 1 && J > 2 && g > 2 && !t.hidden ? (B = y, J = 0) : B = g > 1 && J > 1 && U < 6 ? v : 0), f !== d && (k = innerWidth + d * b, P = innerHeight + d, p = -1 * d, f = d), s = $[a].getBoundingClientRect(), (O = s.bottom) >= p && (M = s.top) <= P && (L = s.right) >= p * b && (N = s.left) <= k && (O || L || N || M) && (n.loadHidden || j($[a])) && (m && U < 3 && !h && (g < 3 || J < 4) || G($[a], d))) {
                                if (ee($[a]), u = !0, U > 9)
                                    break
                            } else !u && m && !c && U < 4 && J < 4 && g > 2 && (i[0] || n.preloadAfterLoad) && (i[0] || !h && (O || L || N || M || "auto" != $[a][l](n.sizesAttr))) && (c = i[0] || $[a]);
                    c && !u && ee(c)
                }
            },
            W = R(H),
            Y = function (e) {
                var t = e.target;
                if (t._lazyCache)
                    return void delete t._lazyCache;
                q(e),
                y(t, n.loadedClass),
                b(t, n.loadingClass),
                $(t, Q),
                C(t, "lazyloaded")
            },
            z = T(Y),
            Q = function (e) {
                z({
                    target: e.target
                })
            },
            K = function (e, t) {
                var a = e.getAttribute("data-load-mode") || n.iframeLoadMode;
                0 == a ? e.contentWindow.location.replace(t) : 1 == a && (e.src = t)
            },
            Z = function (e) {
                var t,
                a = e[l](n.srcsetAttr);
                (t = n.customMedia[e[l]("data-media") || e[l]("media")]) && e.setAttribute("media", t),
                a && e.setAttribute("srcset", a)
            },
            X = T(function (e, t, a, r, o) {
                var i,
                s,
                c,
                d,
                m,
                g;
                (m = C(e, "lazybeforeunveil", t)).defaultPrevented || (r && (a ? y(e, n.autosizesClass) : e.setAttribute("sizes", r)), s = e[l](n.srcsetAttr), i = e[l](n.srcAttr), o && (c = e.parentNode, d = c && p.test(c.nodeName || "")), g = t.firesLoad || "src" in e && (s || i || d), m = {
                        target: e
                    }, y(e, n.loadingClass), g && (clearTimeout(h), h = u(q, 2500), $(e, Q, !0)), d && f.call(c.getElementsByTagName("source"), Z), s ? e.setAttribute("srcset", s) : i && !d && (E.test(e.nodeName) ? K(e, i) : e.src = i), o && (s || d) && I(e, {
                        src: i
                    })),
                e._lazyRace && delete e._lazyRace,
                b(e, n.lazyClass),
                _(function () {
                    var t = e.complete && e.naturalWidth > 1;
                    g && !t || (t && y(e, n.fastLoadedClass), Y(m), e._lazyCache = !0, u(function () {
                            "_lazyCache" in e && delete e._lazyCache
                        }, 9)),
                    "lazy" == e.loading && U--
                }, !0)
            }),
            ee = function (e) {
                if (!e._lazyRace) {
                    var t,
                    a = V.test(e.nodeName),
                    r = a && (e[l](n.sizesAttr) || e[l]("sizes")),
                    o = "auto" == r;
                    (!o && m || !a || !e[l]("src") && !e.srcset || e.complete || v(e, n.errorClass) || !v(e, n.lazyClass)) && (t = C(e, "lazyunveilread").detail, o && x.updateElem(e, !0, e.offsetWidth), e._lazyRace = !0, U++, X(e, t, o, r, a))
                }
            },
            te = A(function () {
                n.loadMode = 3,
                W()
            }),
            ae = function () {
                3 == n.loadMode && (n.loadMode = 2),
                te()
            },
            re = function () {
                if (!m) {
                    if (a.now() - S < 999)
                        return void u(re, 999);
                    m = !0,
                    n.loadMode = 3,
                    W(),
                    c("scroll", ae, !0)
                }
            };
            return {
                _: function () {
                    S = a.now(),
                    r.elements = t.getElementsByClassName(n.lazyClass),
                    i = t.getElementsByClassName(n.lazyClass + " " + n.preloadClass),
                    c("scroll", W, !0),
                    c("resize", W, !0),
                    c("pageshow", function (e) {
                        if (e.persisted) {
                            var a = t.querySelectorAll("." + n.loadingClass);
                            a.length && a.forEach && d(function () {
                                a.forEach(function (e) {
                                    e.complete && ee(e)
                                })
                            })
                        }
                    }),
                    e.MutationObserver ? new MutationObserver(W).observe(o, {
                        childList: !0,
                        subtree: !0,
                        attributes: !0
                    }) : (o[s]("DOMNodeInserted", W, !0), o[s]("DOMAttrModified", W, !0), setInterval(W, 999)),
                    c("hashchange", W, !0),
                    ["focus", "mouseover", "click", "load", "transitionend", "animationend"].forEach(function (e) {
                        t[s](e, W, !0)
                    }),
                    /d$|^c/.test(t.readyState) ? re() : (c("load", re), t[s]("DOMContentLoaded", W), u(re, 2e4)),
                    r.elements.length ? (H(), _._lsFlush()) : W()
                },
                checkElems: W,
                unveil: ee,
                _aLSL: ae
            }
        }
        (),
        x = function () {
            var e,
            a = T(function (e, t, a, r) {
                var n,
                o,
                i;
                if (e._lazysizesWidth = r, r += "px", e.setAttribute("sizes", r), p.test(t.nodeName || ""))
                    for (n = t.getElementsByTagName("source"), o = 0, i = n.length; o < i; o++)
                        n[o].setAttribute("sizes", r);
                a.detail.dataAttr || I(e, a.detail)
            }),
            r = function (e, t, r) {
                var n,
                o = e.parentNode;
                o && (r = S(e, o, r), n = C(e, "lazybeforesizes", {
                        width: r,
                        dataAttr: !!t
                    }), n.defaultPrevented || (r = n.detail.width) && r !== e._lazysizesWidth && a(e, o, n, r))
            },
            o = function () {
                var t,
                a = e.length;
                if (a)
                    for (t = 0; t < a; t++)
                        r(e[t])
            },
            i = A(o);
            return {
                _: function () {
                    e = t.getElementsByClassName(n.autosizesClass),
                    c("resize", i)
                },
                checkElems: i,
                updateElem: r
            }
        }
        (),
        P = function () {
            !P.i && t.getElementsByClassName && (P.i = !0, x._(), k._())
        };
        return u(function () {
            n.init && P()
        }),
        r = {
            cfg: n,
            autoSizer: x,
            loader: k,
            init: P,
            uP: I,
            aC: y,
            rC: b,
            hC: v,
            fire: C,
            gW: S,
            rAF: _
        }
    }
    (e, e.document, Date);
    e.lazySizes = t,
    "object" == typeof module && module.exports && (module.exports = t)
}
("undefined" != typeof window ? window : {});
var Intesa = Intesa || {};
Intesa.LoanCalculator = function () {
    var e = this,
    t = !0,
    a = !0,
    r = JSON.parse($("#genericSettings").val()),
    n = "\\" + r.separator;
    "\\&nbsp;" == n && (n = "\\ ");
    var o = "\\" + r.decimal;
    "\\&nbsp;" == o && (o = "\\ ");
    this.activeCalculator = null;
    var i,
    s,
    l,
    c,
    u,
    d = 0,
    m = 1;
    this.urlParams = {},
    this.init = function () {
        $(document).ready(function () {
            if ($(window).width() <= 768) {
                var e = $(".mobile-loan input[data-parsley-max][data-parsley-min]");
                e && e.length > 0 && e.each(function () {
                    var e = $(this);
                    e.parsley().on("field:error", function () {
                        e.closest(".tab-mobile").find(".btn-primary").prop("disabled", !0)
                    }),
                    e.parsley().on("field:success", function () {
                        e.closest(".tab-mobile").find(".btn-primary").prop("disabled", !1)
                    })
                })
            } else {
                var e = $(".desktop-loan input[data-parsley-max][data-parsley-min]");
                e && e.length > 0 && e.each(function () {
                    var e = $(this);
                    e.parsley().on("field:error", function () {
                        var t = e.closest(".desktop-loan").find(".btn-primary");
                        t.addClass("disabled");
                        var t = e.closest(".desktop-loan").find(".btn-secondary");
                        t.addClass("disabled")
                    }),
                    e.parsley().on("field:success", function () {
                        var t = e.closest(".desktop-loan").find(".btn-primary");
                        t.removeClass("disabled");
                        var t = e.closest(".desktop-loan").find(".btn-secondary");
                        t.removeClass("disabled")
                    })
                })
            }
        }),
        "ISPROMANIA" == $("html").attr("data-bank") ? $(document).on("click", ".hero__link > .btn-primary", function () {
            e.stepProgressBar(void 0)
        }) : $(document).on("click", ".js-loan-hero-btn", function () {
            e.stepProgressBar(void 0)
        }),
        $(document).on("click", ".js-your-data-edit-li", function () {
            e.stepProgressBar(0)
        }),
        $(document).on("click", ".js-loan-filter-hero-btn", function () {
            e.stepProgressBar(void 0, $(this).attr("data-filter"))
        }),
        "VUB" == $("html").attr("data-bank") ? ($(document).on("click", ".js-calc-nav-prev", function () {
                e.stepProgressBar(-1)
            }), $(document).on("click", ".js-calc-nav-next", function () {
                e.stepProgressBar(1)
            })) : $(document).on("click", ".loanCalculator__mbtn", function () {
            $(this).attr("onclick").includes("-1") ? e.stepProgressBar(-1) : e.stepProgressBar(1)
        }),
        $("section.com16-18").length && (e.setVisibleCalculatorAsActive(), e.changeCallback(), e.attachChangeMinAmountClickEvent(), e.getUrlQueryStringParams(), $(document).on("change focusin focusout", '*[data-algoritmInput="borrowAmount"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
                var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
                parseInt(t.attr("data-slider-index"));
                t.slider("setValue", $(this).val(), !0),
                $('*[data-algoritmInput="tenor"]', e.activeCalculator).trigger("change")
            }), $(document).on("change", '*[data-algoritmInput="tenor"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("click", '*[data-algoritmInput="salary"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("click", '*[data-algoritmInput="calculateBtn"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("click", ".js-com16__toggle", function () {
                e.changeCallback()
            }), 2 == $(".increaseHoverEffect", e.activeCalculator).length && $(".increaseHoverEffect", e.activeCalculator).eq(0).on("click", function () {
                $(".increaseHoverEffect", e.activeCalculator).eq(1).find("input").val("")
            }), $(document).on("click", ".com15__filterItem", function () {
                var t = $(this).attr("data-filter"),
                a = "desktop";
                if ($(window).width() < 768)
                    var a = "mobile";
                var r = $('.com15__filter[data-filter="' + t + '"]').find("[data-calculator=" + a + "]");
                e.setActiveCalculator(r),
                e.changeCallback(),
                e.attachChangeMinAmountClickEvent(),
                e.getUrlQueryStringParams(),
                e.fillInputsWithQueryParams()
            }), $(document).on("click", ".js-btnMinus", function () {
                $('*[data-algoritmInput="tenor"]', e.activeCalculator).trigger("change")
            }), $(document).on("click", ".js-btnAdd", function () {
                $('*[data-algoritmInput="tenor"]', e.activeCalculator).trigger("change")
            }), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).length > 0 && ($('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-min", e.tenor.attr("data-slider-min")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-max", e.tenor.attr("data-slider-max")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).val(e.tenor.val())), e.fillInputsWithQueryParams(), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).length > 0 && $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).parsley().validate())
    },
    this.getUrlQueryStringParams = function () {
        var t = window.location.href;
        t = t.split("?");
        var a = t[1];
        if (void 0 !== a) {
            a.split("&").forEach(function (t) {
                var a = t.split("="),
                r = a[0],
                n = a[1];
                e.urlParams[r] = n
            })
        }
    },
    this.fillInputsWithQueryParams = function () {
        !$.isEmptyObject(e.urlParams) && (e.setDiscountCodeFromQuery(), e.setTabFromQuery(), e.setLoanAmountFromQuery(), e.setTenorFromQuery(), e.changeCallback())
    },
    this.setDiscountCodeFromQuery = function () {
        var t = e.urlParams.discountCode,
        a = $('[data-salary-code="' + t + '"]', e.activeCalculator);
        if (t && a.length)
            var r = setInterval(function () {
                console.log("check basket cookie"),
                void 0 != window.intesa.basket_cookie ? (console.log("Exists basket cookie! triggering click"), a.parent().trigger("click"), a.trigger("click"), clearInterval(r)) : (console.log("basket cookie not exist after 3 second stopping interval..."), 30 == ++d && (console.log("interval stopped"), clearInterval(r)))
            }, 100)
    },
    this.setLoanAmountFromQuery = function () {
        var t = e.urlParams.loanAmount;
        if (t && !isNaN(t)) {
            t = parseInt(t);
            var a = $('[data-algoritmInput="borrowAmount"]', e.activeCalculator),
            r = a.attr("data-input-min") ? parseInt(a.attr("data-input-min")) : 0,
            n = a.attr("data-input-max") ? parseInt(a.attr("data-input-max")) : 1e14;
            t >= r && t <= n && a.val(t)
        }
    },
    this.setTenorFromQuery = function () {
        var t = parseInt(e.urlParams.tenor);
        if (t && !isNaN(t)) {
            var a = $('[data-algoritminput="tenor"]', e.activeCalculator).attr("data-slider-step");
            a = parseInt(a),
            t -= t % a;
            $('[data-algoritminput="tenor"]', e.activeCalculator).slider("setValue", t, !0)
        }
    },
    this.setTabFromQuery = function () {
        var t = "false" !== e.urlParams.isDefault;
        $('[data-tab="without-salary"] > a', e.activeCalculator).is(":visible") && !t && $('[data-tab="without-salary"] > a', e.activeCalculator).trigger("click")
    },
    this.attachChangeMinAmountClickEvent = function () {
        $(document).on("click", "*[data-trigger-amount-validation]", function () {
            var t = $(this),
            a = t.attr("data-min-amount-value"),
            r = t.attr("data-min-amount-message"),
            n = t.attr("data-max-amount-value"),
            o = t.attr("data-max-amount-message"),
            i = $('[data-algoritminput="borrowAmount"]', e.activeCalculator);
            i.attr("data-input-min", a),
            i.attr("data-parsley-min", a),
            i.attr("data-parsley-min-message", r),
            "" != n && void 0 != n && (i.attr("data-input-max", n), i.attr("data-parsley-max", n), i.attr("data-parsley-max-message", o)),
            i.parsley().validate(),
            e.updateLoanAmountMinMax($(this))
        })
    },
    this.updateLoanAmountMinMax = function (t) {
        if (null !== t && void 0 !== t && "" !== t) {
            var a = t.attr("data-min-amount-formatted"),
            r = t.attr("data-max-amount-formatted");
            void 0 !== a && "" !== a && $("[data-loan-min]").length > 0 && $("[data-loan-min]").html(a),
            void 0 !== r && "" !== r && $("[data-loan-max]", e.activeCalculator).length > 0 && $("[data-loan-max]", e.activeCalculator).html(r)
        }
    },
    this.updateShareCalculatorLink = function () {
        var t = window.location.href;
        t = t.split("?"),
        t = t[0];
        var a = "?loanAmount=" + e.borrowAmountValue + "&tenor=" + e.tenorValue + "&discountCode=" + e.salaryInterestRateCode;
        $('[data-tab="without-salary"]', e.activeCalculator).hasClass("open") && (a += "&isDefault=false"),
        $("[data-socialshare]", e.activeCalculator).length > 0 && $("[data-socialshare]", e.activeCalculator).each(function () {
            "facebook" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + t + a),
            "twitter" == $(this).attr("data-socialshare") && $(this).attr("href", "https://twitter.com/home?status=" + t + a),
            "linkedin" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.linkedin.com/sharing/share-offsite/?url=" + t + a),
            "whatsapp" == $(this).attr("data-socialshare") && $(this).attr("href", " https://wa.me/?text=" + encodeURIComponent(t) + encodeURIComponent(a)),
            "mail" == $(this).attr("data-socialshare") && $(this).attr("href", "mailto:?body=" + t + encodeURIComponent(a))
        })
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first())
    },
    this.changeCallback = function () {
        Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
        $("*[data-generate-cookie]").attr("data-enabled", "false"),
        e.getInputs(".active"),
        e.borrowAmount.hasClass("parsley-error") || (e.initOutputElements(), e.calculateLoan(), e.fillOutputElements(), $("*[data-generate-cookie]").removeAttr("data-enabled"), e.updateShareCalculatorLink())
    },
    this.getCountFormSteps = function (e) {
        var t = $("[data-filter='" + e + "']").children(".calculator-mobile").children(".mobile-loan").toArray();
        null != t && 0 != t.length || (t = $(".mobile-loan > .tab-mobile").toArray());
        $(".js-loan-filter-hero-btn").length;
        s = 0,
        l = 0;
        var a = !1;
        m = 1;
        if ("VUB" == $("html").attr("data-bank") && $(".js-loan-filter-hero-btn").length > 1) {
            var r = 0;
            $(".filters-grouped > .collapsed").length > 0 && (r = $(".filters-grouped > .collapsed").attr("class").split(/\s+/).filter(function (e) {
                    return e.includes("FHB-")
                }).toString()[4]);
            var n = 0,
            o = 0;
            if (0 == r) {
                for (u = 0; u < t.length && (o++, !$(".mobile-loan > .tab-mobile").toArray()[u].classList.contains("tab-results")); u++);
                console.log("IF 1: end: " + o + " order: " + r)
            } else {
                var c = r;
                for (u = 0; u < t.length; u++)
                    if (o++, $(".mobile-loan > .tab-mobile").toArray()[u].classList.contains("tab-results") && 0 == --c) {
                        for (n = o, u = 0; u < t.length && (o++, !$(".mobile-loan > .tab-mobile").toArray()[u].classList.contains("tab-results")); u++);
                        break
                    }
                console.log("IF 2: end: " + o + " order: " + r + " start: " + n + "steps: " + c)
            }
            console.log("start: " + n + " end: " + o + " order: " + r);
            for (var u = n; u < o; u++) {
                var d = t[u];
                d.classList.contains("second-part-tab") && (a = !0),
                a ? l++ : s++
            }
        } else if ("ISPBIH" == $("html").attr("data-bank") && $(".js-loan-filter-hero-btn").length > 1) {
            var p = 0;
            if ($(".filters-grouped > .collapsed").length > 0) {
                p = $(".filters-grouped > .collapsed").attr("class").split(/\s+/).filter(function (e) {
                    return e.includes("FHB-")
                }).toString();
                var h = $("." + p).attr("data-filter");
                for (u = 0; u < t.length; u++) {
                    var d = t[u];
                    if (d.classList.contains("second-part-tab") && (a = !0), a ? l++ : s++, $("[data-filter=" + h + "] .mobile-loan > .tab-mobile").toArray()[u].classList.contains("tab-results"))
                        break
                }
            }
        } else
            for (var u = 0; u < t.length; u++) {
                var d = t[u];
                d.classList.contains("second-part-tab") && (a = !0),
                a ? l++ : s++
            }
        0 == l ? (s -= 1, console.log("Steps first " + s)) : (l -= 1, console.log("Steps second " + s)),
        i = s + l,
        console.log(i + " " + l + " " + s)
    },
    this.setStepLabel = function () {
        c = document.getElementsByName("titleDialog")[0].getAttribute("data-title-first-step"),
        u = document.getElementsByName("titleDialog")[0].getAttribute("data-title-second-step")
    },
    this.stepProgressBar = function (t, a) {
        0 == t ? m = 1 : void 0 == t ? (e.getCountFormSteps(a), e.setStepLabel()) : m += t;
        var r,
        n,
        o = m;
        if (m > s) {
            r = l,
            o = m - s;
            var i = u
        } else {
            r = s;
            var i = c
        }
        n = Math.ceil(o / r * 100),
        $(".mobile-loan > .tab-mobile > .loanCalculator > .progress-container").html('<div class="progress loanCalculator__progress">\t\t<div class="progress-bar" role="progressbar" aria-valuenow="' + n + '" aria-valuemin="0" aria-valuemax="' + n + '" style="width: ' + n + '%;">\t\t\t<span class="sr-only">' + n + " Complete</span>\t\t</div>\t</div>"),
        $(".loanCalculator__step-title").text(o + "/" + r + " " + i)
    },
    this.calculateLoan = function () {
        e.interestRateResultPromo = number_format(e.salaryInterestRateValue, r.decimals_number, r.decimal_number, r.separator_number),
        e.interestRateResultStandard = number_format(e.standardInterestRateValue, r.decimals_number, r.decimal_number, r.separator_number),
        e.APRResultPromo = number_format(e.salaryAPRValue, r.decimals_number, r.decimal, r.separator),
        e.APRResultStandard = number_format(e.standardAPRValue, r.decimals_number, r.decimal_number, r.separator_number),
        console.log("---------------------"),
        console.log("FORMULA"),
        console.log("---------------------"),
        e.scaledInterestRateValuePromo = e.calculateScaledInterestRate(e.salaryInterestRateValue),
        e.scaledInterestRateValueStandard = e.calculateScaledInterestRate(e.standardInterestRateValue),
        console.log("Scaled Interest Rate Value Promo: " + e.scaledInterestRateValuePromo + " - " + typeof e.scaledInterestRateValuePromo),
        console.log("Scaled Interest Rate Value Sandard: " + e.scaledInterestRateValueStandard + " - " + typeof e.scaledInterestRateValueStandard);
        var n,
        o,
        i,
        s;
        i = s = e.tenorValue,
        n = o = e.borrowAmountValue,
        e.tenorCalculatedPromo = i,
        e.tenorCalculatedStandard = s,
        e.loanAmountCalculatedPromo = n,
        e.loanAmountCalculatedStandard = o,
        console.log("Tenor Calculated Value Promo: " + i + " - " + typeof i),
        console.log("Tenor Calculated Value Standard: " + s + " - " + typeof s),
        console.log("Loan Amount Value Promo: " + n + " - " + typeof n),
        console.log("Loan Amount Value Sandard: " + o + " - " + typeof o),
        t && (e.loanAmountResultPromo = number_format(n, r.decimals, r.decimal, r.separator), e.tenorResultPromo = number_format(i, 0, r.decimal_number, r.separator_number), !isNaN(i) && n >= e.borrowAmountMin ? (e.monthlyInstallmentValuePromo = e.calculateMonthlyInstallment(e.scaledInterestRateValuePromo, n, i), console.log("Monthly Installment Value Promo: " + e.monthlyInstallmentValuePromo + " - " + typeof e.monthlyInstallmentValuePromo), e.monthlyInstallmentResultPromo = number_format(e.monthlyInstallmentValuePromo, r.decimals, r.decimal, r.separator), isNaN(e.monthlyInstallmentValuePromo) ? t = !1 : (e.amountToRepayValuePromo = e.calculataAmountToRepay(e.monthlyInstallmentValuePromo, i), console.log("Amount to Repay Value Promo: " + e.amountToRepayValuePromo + " - " + typeof e.amountToRepayValuePromo), e.amountToRepayResultPromo = number_format(e.amountToRepayValuePromo, r.decimals, r.decimal, r.separator), isNaN(e.amountToRepayValuePromo) && (t = !1))) : t = !1),
        a && (e.loanAmountResultStandard = number_format(o, r.decimals, r.decimal, r.separator), e.tenorResultStandard = number_format(s, "0", r.decimal_number, r.separator_number), !isNaN(s) && o >= e.borrowAmountMin ? (e.monthlyInstallmentValueStandard = e.calculateMonthlyInstallment(e.scaledInterestRateValueStandard, o, s), console.log("Monthly Installment Value Standard: " + e.monthlyInstallmentValueStandard + " - " + typeof e.monthlyInstallmentValueStandard), e.monthlyInstallmentResultStandard = number_format(e.monthlyInstallmentValueStandard, r.decimals, r.decimal, r.separator), isNaN(e.monthlyInstallmentValueStandard) ? a = !1 : (e.amountToRepayValueStandard = e.calculataAmountToRepay(e.monthlyInstallmentValueStandard, s), console.log("Amount to Repay Value Standard: " + e.amountToRepayValueStandard + " - " + typeof e.amountToRepayValueStandard), e.amountToRepayResultStandard = number_format(e.amountToRepayValueStandard, r.decimals, r.decimal, r.separator), isNaN(e.amountToRepayValueStandard) && (a = !1))) : a = !1)
    },
    this.calculateScaledInterestRate = function (e) {
        return Number(e / 100 * (365 / 360 / 12))
    },
    this.calculateMonthlyInstallment = function (t, a, r) {
        var n = NaN;
        return null !== a && "0" !== a && null !== t && "0" !== t && null !== r && "0" !== r && (r > e.tenorMax || r < e.tenorMin ? n = NaN : (n = Math.round(a * t / (1 - 1 / Math.pow(1 + t, r))), n = n.toFixed(2))),
        Number(n)
    },
    this.calculataAmountToRepay = function (e, t) {
        var a = NaN;
        return null !== e && "0" !== e && (a = e * t),
        Number(a)
    },
    this.initOutputElements = function () {
        e.setOutputElements(),
        e.resetOutputElements()
    },
    this.setOutputElements = function () {
        e.setOutputElementsPromo(),
        e.setOutputElementsStandard()
    },
    this.setOutputElementsPromo = function () {
        e.monthlyInstallmentPromo = $('*[data-algoritmResult="monthlyInstallmentPromo"]', e.activeCalculator),
        e.loanAmountPromo = $('*[data-algoritmResult="loanAmountPromo"]', e.activeCalculator),
        e.amountToRepayPromo = $('*[data-algoritmResult="amountToRepayPromo"]', e.activeCalculator),
        e.tenorPromo = $('*[data-algoritmResult="tenorPromo"]', e.activeCalculator),
        e.interestRatePromo = $('*[data-algoritmResult="interestRatePromo"]', e.activeCalculator),
        e.aprPromo = $('*[data-algoritmResult="aprPromo"]', e.activeCalculator),
        e.getButton = $("*[data-generate-cookie]"),
        e.callButton = $("*[data-tab] .com16__buttonCover .call-btn", e.activeCalculator)
    },
    this.setOutputElementsStandard = function () {
        e.monthlyInstallmentStandard = $('*[data-algoritmResult="monthlyInstallmentStandard"]'),
        e.loanAmountStandard = $('*[data-algoritmResult="loanAmountStandard"]'),
        e.amountToRepayStandard = $('*[data-algoritmResult="amountToRepayStandard"]'),
        e.tenorStandard = $('*[data-algoritmResult="tenorStandard"]'),
        e.interestRateStandard = $('*[data-algoritmResult="interestRateStandard"]'),
        e.aprStandard = $('*[data-algoritmResult="aprStandard"]')
    },
    this.resetOutputElements = function () {
        e.resetOutputElementsPromo(),
        e.resetOutputElementsStandard()
    },
    this.resetOutputElementsPromo = function () {
        t = !0,
        e.monthlyInstallmentResultPromo = void 0,
        e.loanAmountResultPromo = void 0,
        e.amountToRepayResultPromo = void 0,
        e.tenorResultPromo = void 0,
        e.interestRateResultPromo = void 0,
        e.APRResultPromo = void 0,
        e.monthlyInstallmentPromo.text("-"),
        e.loanAmountPromo.text("-"),
        e.amountToRepayPromo.text("-"),
        e.tenorPromo.text("-"),
        e.interestRatePromo.text("-"),
        e.aprPromo.text("-"),
        e.toggleShopBtn(e.getButton, "hide"),
        e.callButton.show()
    },
    this.resetOutputElementsStandard = function () {
        a = !0,
        e.monthlyInstallmentResultStandard = void 0,
        e.loanAmountResultStandard = void 0,
        e.amountToRepayResultStandard = void 0,
        e.tenorResultStandard = void 0,
        e.interestRateResultStandard = void 0,
        e.APRResultStandard = void 0,
        e.monthlyInstallmentStandard.text("-"),
        e.loanAmountStandard.text("-"),
        e.amountToRepayStandard.text("-"),
        e.tenorStandard.text("-"),
        e.interestRateStandard.text("-"),
        e.aprStandard.text("-")
    },
    this.getInputs = function (t) {
        if (console.log("---------------------"), console.log("CALCULATOR INPUTS"), console.log("---------------------"), e.maxAmountForOnline = $('*[data-algoritmInput="maxAmountForOnline"]', e.activeCalculator), e.maxAmountForOnlineValue = Number(parseFloat(e.maxAmountForOnline.val())), console.log("Max Amount for Online Value: " + e.maxAmountForOnlineValue + " - " + typeof e.maxAmountForOnlineValue), e.borrowAmount = $('*[data-algoritmInput="borrowAmount"]', e.activeCalculator), e.borrowAmountRoundingValue = Number(parseFloat(e.borrowAmount.attr("data-input-rounding"))), e.borrowAmount.val(Number(parseFloat(Math.round(e.borrowAmount.val().replace(new RegExp(n, "g"), "").replace(new RegExp(o, "g"), ".") / e.borrowAmountRoundingValue) * e.borrowAmountRoundingValue))), $("*[data-format-currency]", e.activeCalculator).length) {
            new Cleave("[data-format-currency]", {
                delimiter: r.separator,
                numeral: !0,
                numeralDecimalMark: r.decimal,
                numeralDecimalScale: 0,
                numeralThousandsGroupStyle: "thousand"
            })
        }
        if (e.borrowAmountValue = Number(parseFloat(e.borrowAmount.val().replace(new RegExp(n, "g"), "").replace(new RegExp(o, "g"), "."))), e.borrowAmountMin = Number(parseFloat(e.borrowAmount.attr("data-input-min"))), e.borrowAmountMax = Number(parseFloat(e.borrowAmount.attr("data-input-max"))), console.log("Borrow Amount Rounding: " + e.borrowAmountRoundingValue + " - " + typeof e.borrowAmountRoundingValue), console.log("Borrow Amount Value: " + e.borrowAmountValue + " - " + typeof e.borrowAmountValue), console.log("Borrow Amount Min Value: " + e.borrowAmountMin + " - " + typeof e.borrowAmountMin), console.log("Borrow Amount Max Value: " + e.borrowAmountMax + " - " + typeof e.borrowAmountMax), e.standardInterestRate = $('*[data-algoritmInput="standardInterestRate"]', e.activeCalculator), e.standardInterestRateValue = Number(parseFloat(e.standardInterestRate.val())), e.standardInterestRateCode = $('*[data-algoritmInput="standardInterestRateCode"]', e.activeCalculator).val(), console.log("Standard Interest Rate Value: " + e.standardInterestRateValue + " - " + typeof e.standardInterestRateValue), console.log("Standard Interest Rate Code: " + e.standardInterestRateCode + " - " + typeof e.standardInterestRateCode), $('*[data-algoritmInput="salary"]' + t, e.activeCalculator).length && (e.salaryInterestRate = e.getIRRange()), e.salaryInterestRateValue = Number(parseFloat(e.salaryInterestRate.replace(new RegExp(o, "g"), "."))), $('*[data-algoritmInput="salary"]' + t, e.activeCalculator).length ? e.salaryInterestRateCode = $('*[data-algoritmInput="salary"]' + t, e.activeCalculator).attr("data-salary-code") : e.salaryInterestRateCode = "", e.borrowAmountValue >= 7e6) {
            var a = $('.loansItem__link[data-salary-rate="7.77"]', e.activeCalculator);
            a.length && a.each(function () {
                var t = $(this);
                if ("AKTIV450" == $(this).attr("data-salary-code")) {
                    var a = $("[data-aktiv=AKTIV450]", e.activeCalculator).val();
                    t.attr("data-salary-rate", a),
                    t.attr("data-discount", a),
                    t.find(".discountToApply").text(a + "%");
                    var r = t.attr("data-layer-push");
                    r = JSON.parse(r),
                    r.evtLabel = "Personal Loan" + a + "% interest"
                } else if ("AKTIV250" == $(this).attr("data-salary-code")) {
                    var n = $("[data-aktiv=AKTIV250]", e.activeCalculator).val();
                    t.attr("data-salary-rate", n),
                    t.attr("data-discount", n),
                    t.find(".discountToApply").text(n + "%");
                    var r = t.attr("data-layer-push");
                    r = JSON.parse(r),
                    r.evtLabel = "Personal Loan" + n + "% interest"
                }
                r = JSON.stringify(r),
                t.attr("data-layer-push", r)
            })
        }
        var i = $("[data-aktiv=AKTIV450]", e.activeCalculator).val();
        $('.itemActive[data-salary-rate="' + i + '"]', e.activeCalculator).length && ($(".cart__summary__item--salary", e.activeCalculator).attr("data-salarydiscount", i), $(".cart__summary__item--salary .cart__summary__item__number", e.activeCalculator).text(i + "%")),
        console.log("Salary Interest Rate Value: " + e.salaryInterestRateValue + " - " + typeof e.salaryInterestRateValue),
        console.log("Salary Interest Rate Code: " + e.salaryInterestRateCode + " - " + typeof e.salaryInterestRateCode),
        e.standardAPR = $('*[data-algoritmInput="standardAPR"]', e.activeCalculator),
        e.standardAPRValue = Number(parseFloat(e.standardAPR.val())),
        console.log("Standard APR Value: " + e.standardAPRValue + " - " + typeof e.standardAPRValue),
        $('*[data-algoritmInput="salary"]' + t, e.activeCalculator).length && (e.salaryAPR = e.getAPRRange()),
        e.salaryAPRValue = Number(parseFloat(e.salaryAPR)),
        console.log("Salary APR Value: " + e.salaryAPRValue + " - " + typeof e.salaryAPRValue),
        e.maxAmountForOnline = $('*[data-algoritmInput="maxAmountForOnline"]', e.activeCalculator),
        e.maxAmountForOnlineValue = Number(parseFloat(e.maxAmountForOnline.val())),
        console.log("Max Amount for Online Value: " + e.maxAmountForOnlineValue + " - " + typeof e.maxAmountForOnlineValue),
        e.borrowAmount = $('*[data-algoritmInput="borrowAmount"]', e.activeCalculator),
        e.borrowAmountRoundingValue = Number(parseFloat(e.borrowAmount.attr("data-input-rounding"))),
        e.borrowAmount.val(Number(parseFloat(Math.round(e.borrowAmount.val().replace(new RegExp(n, "g"), "").replace(new RegExp(o, "g"), ".") / e.borrowAmountRoundingValue) * e.borrowAmountRoundingValue))),
        e.formatMoneyInputs(),
        e.borrowAmountValue = Number(parseFloat(e.borrowAmount.val().replace(new RegExp(n, "g"), "").replace(new RegExp(o, "g"), "."))),
        e.borrowAmountMin = Number(parseFloat(e.borrowAmount.attr("data-input-min"))),
        e.borrowAmountMax = Number(parseFloat(e.borrowAmount.attr("data-input-max"))),
        console.log("Borrow Amount Rounding: " + e.borrowAmountRoundingValue + " - " + typeof e.borrowAmountRoundingValue),
        console.log("Borrow Amount Value: " + e.borrowAmountValue + " - " + typeof e.borrowAmountValue),
        console.log("Borrow Amount Min Value: " + e.borrowAmountMin + " - " + typeof e.borrowAmountMin),
        console.log("Borrow Amount Max Value: " + e.borrowAmountMax + " - " + typeof e.borrowAmountMax),
        e.tenor = $('*[data-algoritmInput="tenor"]', e.activeCalculator),
        e.tenorValue = Number(e.tenor.val()),
        e.tenorMin = Number(e.tenor.attr("data-slider-min")),
        e.tenorMax = Number(e.tenor.attr("data-slider-max")),
        e.tenorStep = Number(e.tenor.attr("data-slider-step")),
        console.log("Tenor Value: " + e.tenorValue + " - " + typeof e.tenorValue),
        console.log("Tenor Min Value: " + e.tenorMin + " - " + typeof e.tenorMin),
        console.log("Tenor Max Value: " + e.tenorMax + " - " + typeof e.tenorMax),
        console.log("Tenor Step Value: " + e.tenorStep + " - " + typeof e.tenorStep)
    },
    this.formatMoneyInputs = function () {
        var t = $("*[data-format-currency]", e.activeCalculator);
        t.length && t.each(function () {
            new Cleave($(this), {
                delimiter: r.separator,
                numeral: !0,
                numeralDecimalMark: r.decimal,
                numeralDecimalScale: 0,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.fillOutputElements = function () {
        e.fillOutputElementsPromo(),
        e.fillOutputElementsStandard()
    },
    this.fillOutputElementsPromo = function () {
        t ? (e.interestRatePromo.text(e.interestRateResultPromo), e.aprPromo.text(e.APRResultPromo), e.loanAmountPromo.text(e.loanAmountResultPromo),
            e.tenorPromo.text(e.tenorResultPromo), e.monthlyInstallmentPromo.text(e.monthlyInstallmentResultPromo), e.amountToRepayPromo.text(e.amountToRepayResultPromo), e.updateBasketCookie(), e.loanAmountCalculatedPromo > e.maxAmountForOnlineValue ? (e.toggleShopBtn(e.getButton, "hide"), e.callButton.show()) : (e.toggleShopBtn(e.getButton, "show"), e.callButton.hide())) : e.resetOutputElementsPromo()
    },
    this.fillOutputElementsStandard = function () {
        a ? (e.interestRateStandard.text(e.interestRateResultStandard), e.aprStandard.text(e.APRResultStandard), e.loanAmountStandard.text(e.loanAmountResultStandard), e.tenorStandard.text(e.tenorResultStandard), e.monthlyInstallmentStandard.text(e.monthlyInstallmentResultStandard), e.amountToRepayStandard.text(e.amountToRepayResultStandard)) : e.resetOutputElementsStandard()
    },
    this.getAPRRange = function () {
        return parseInt(e.borrowAmountValue) >= 0 && parseInt(e.borrowAmountValue) < 3e6 ? $('*[data-algoritmInput="salary"].active', e.activeCalculator).attr("data-salary-apr-u3") : parseInt(e.borrowAmountValue) >= 3e6 && parseInt(e.borrowAmountValue) < 7e6 ? $('*[data-algoritmInput="salary"].active', e.activeCalculator).attr("data-salary-apr-o3-u7") : $('*[data-algoritmInput="salary"].active', e.activeCalculator).attr("data-salary-apr-o7")
    },
    this.getIRRange = function () {
        return parseInt(e.borrowAmountValue) >= 0 && parseInt(e.borrowAmountValue) < 3e6 ? $('*[data-algoritmInput="salary"].active', e.activeCalculator).attr("data-salary-rate-u3") : parseInt(e.borrowAmountValue) >= 3e6 && parseInt(e.borrowAmountValue) < 7e6 ? $('*[data-algoritmInput="salary"].active', e.activeCalculator).attr("data-salary-rate-o3-u7") : $('*[data-algoritmInput="salary"].active', e.activeCalculator).attr("data-salary-rate-o7")
    },
    this.updateBasketCookie = function () {
        var t = $("*[data-generate-cookie]"),
        a = $("*[data-cmb-input]");
        if (t.length)
            var r = t.attr("data-c-personalLoanConfiguration");
        else
            var r = '{"LOANAMOUNT": "-","DURATION": "0","INSTALLMENT": "-","DISCOUNTCODE": "-","APR": "0","INTERESTRATE": "0"}';
        var n = JSON.parse(r);
        n.APR = e.salaryAPRValue.toString(),
        n.DISCOUNTCODE = e.salaryInterestRateCode.toString(),
        n.DURATION = e.tenorCalculatedPromo.toString(),
        n.INSTALLMENT = e.monthlyInstallmentValuePromo.toString(),
        n.INTERESTRATE = e.salaryInterestRateValue.toString(),
        n.LOANAMOUNT = e.loanAmountCalculatedPromo.toString(),
        t.length && t.attr("data-c-personalLoanConfiguration", JSON.stringify(n)),
        a.length && a.val(JSON.stringify(n))
    },
    this.toggleShopBtn = function (e, t) {
        e.each(function (e, a) {
            var r = $(a);
            if (r.hasClass("sectionNewAccount") || r.hasClass("sectionNewAccount_hide")) {
                var n = r.parent().find(".sectionLogin");
                "hide" == t ? (r.css({
                        opacity: 0,
                        top: "-3000px"
                    }), r.removeClass("sectionNewAccount").addClass("sectionNewAccount_hide"), n.length && n.css({
                        opacity: 1,
                        top: "50%"
                    })) : (r.css({
                        opacity: 1,
                        top: "50%"
                    }), r.removeClass("sectionNewAccount_hide").addClass("sectionNewAccount"), n.length && n.css({
                        opacity: 0,
                        top: "-3000px"
                    }))
            } else
                "hide" == t ? r.hide() : r.show()
        })
    }
}, "VUB" != $("html").attr("data-bank") && "ISPBIH" != $("html").attr("data-bank") || $(document).ready(function () {
    if ($(".js-loan-filter-hero-btn").length > 1) {
        isMultiButtonPage = !0,
        console.log("isMultiButtonPage=true " + $(".js-loan-filter-hero-btn").length);
        for (var e = $(".js-loan-filter-hero-btn").toArray(), t = 0; t < e.length; t++)
            e[t].classList.add("FHB-" + t)
    }
}), Intesa.LoanCalculator.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator || (window.intesa.loan_calculator = new Intesa.LoanCalculator),
    window.intesa.loan_calculator
};
var Intesa = Intesa || {};
Intesa.LoanCalculatorAlbania = function () {
    var e = this,
    t = !0,
    a = !0,
    r = JSON.parse($("#genericSettings").val()),
    n = "\\" + r.separator;
    "\\&nbsp;" == n && (n = "\\ ");
    var o = "\\" + r.decimal;
    "\\&nbsp;" == o && (o = "\\ ");
    var s = [];
    this.activeCalculator = null,
    this.currency = "Lek",
    this.activeCurrencySelect = $($(".defaultSelect").get(0)),
    this.urlParams = {},
    this.init = function () {
        ($("section.com16-9").length || $("section.com16-10").length || $("section.com16-8").length) && (e.changeCallback(), e.getUrlQueryStringParams(), e.setVisibleCalculatorAsActive(), $(document).on("click", "[data-tab-default]", function () {
                $("li[data-tab]").removeClass("open"),
                "true" == $(this).attr("data-tab-default") ? ($('li[data-tab="with-salary"]', e.activeCalculator).addClass("open"), $('li[data-tab="with-salary"]', e.activeCalculator).show()) : ($('li[data-tab="without-salary"]', e.activeCalculator).addClass("open"), $('li[data-tab="without-salary"]', e.activeCalculator).show())
            }), $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
                var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
                parseInt(t.attr("data-slider-index"));
                t.slider("setValue", $(this).val(), !0)
            }), $(document).on("change focusin focusout", '*[data-algoritmInput="borrowAmount"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("change", '*[data-algoritmInput="selectedCurrency"]', function (t) {
                t.preventDefault(),
                e.activeCurrencySelect = $(this),
                e.currency = $(this).val(),
                "localCurrency" == e.currency && (e.currency = "Lek"),
                $(this).children().each(function (t, a) {
                    var r = $(a).attr("value");
                    "localCurrency" == r && (r = "Lek"),
                    e.currency == r ? $(a).attr("selected", "selected") : $(a).removeAttr("selected")
                }),
                e.changeCurrencyInput($(this).val()),
                e.updateInterestOptions($(this).val()),
                e.changeCallback(),
                e.presentCurrency.text(e.selectedCurrencyText),
                $("[data-select]", e.activeCalculator).length > 0 && ($("[data-select]", e.activeCalculator).addClass("hide"), $("[data-select=" + e.selectedCurrencyValue.toLowerCase() + "]", e.activeCalculator).removeClass("hide"))
            }), $(document).on("change", "[data-algorithm-input=newInterest] input", function () {
                var t = $(this).val();
                "fixed" == t && $("input[name='repaymentOptions']").slider("setValue", e.tenorMin),
                $('*[data-algoritmInput="selectedInterestRate"]', e.activeCalculator).val(t),
                $('*[data-algoritmInput="selectedInterestRate"]').trigger("change")
            }), $(document).on("change", '*[data-algoritmInput="selectedInterestRate"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("change", '*[data-algoritmInput="tenor"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("change", '*[data-algoritmInput="selectedCar"] input', function (t) {
                t.preventDefault();
                var a = parseInt($(this).attr("data-loan-open-tab"));
                e.changeTab(a),
                $('*[data-algoritmInput="selectedCurrency"]', e.activeCalculator).trigger("change"),
                e.changeCallback()
            }), $(document).on("click", '*[data-algoritmInput="salary"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("click", '*[data-algoritmInput="calculateBtn"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("click", ".js-com16__toggle", function () {
                e.changeCallback()
            }), 2 == $(".increaseHoverEffect").length && $(".increaseHoverEffect").eq(0).on("click", function () {
                $(".increaseHoverEffect").eq(1).find("input").val("")
            }), e.setupTabs(), $(document).on("click", ".js-btnMinus", function () {
                $('*[data-algoritmInput="tenor"]', e.activeCalculator).trigger("change")
            }), $(document).on("click", ".js-btnAdd", function () {
                $('*[data-algoritmInput="tenor"]', e.activeCalculator).trigger("change")
            }), e.fillInputsWithQueryParams(), $(document).on("click", ".com15__filterItem", function () {
                var t = $(this).attr("data-filter"),
                a = "desktop";
                if ($(window).width() < 768)
                    var a = "mobile";
                var r = $('.com15__filter[data-filter="' + t + '"]').find("[data-calculator=" + a + "]");
                e.setActiveCalculator(r),
                e.changeCallback(),
                e.getUrlQueryStringParams(),
                e.setVisibleCalculatorAsActive(),
                e.setupTabs(),
                e.fillInputsWithQueryParams()
            }))
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]", e.activeCalculator),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]", e.activeCalculator).first())
    },
    this.getUrlQueryStringParams = function () {
        var t = window.location.href;
        t = t.split("?");
        var a = t[1];
        if (void 0 !== a) {
            a.split("&").forEach(function (t) {
                var a = t.split("="),
                r = a[0],
                n = a[1];
                e.urlParams[r] = n
            })
        }
    },
    this.fillInputsWithQueryParams = function () {
        !$.isEmptyObject(e.urlParams) && (e.setCurrencyFromQuery(), e.setTabFromQuery(), e.setCarConditionFromQuery(), e.setInterestTypeFromQuery(), e.setLoanAmountFromQuery(), e.setTenorFromQuery(), e.changeCallback())
    },
    this.setTenorFromQuery = function () {
        var t = parseInt(e.urlParams.tenor),
        a = $('[data-algoritminput="tenor"]', e.activeCalculator);
        if (t && !isNaN(t) && a.length) {
            var r = a.attr("data-slider-step");
            r = parseInt(r),
            t -= t % r;
            window.sliderbootstrap[0].slider("setValue", t, !0)
        }
    },
    this.setLoanAmountFromQuery = function () {
        var t = parseInt(e.urlParams.loanAmount),
        a = $('[data-algoritminput="borrowAmount"]', e.activeCalculator);
        if (t && !isNaN(t) && a.length) {
            var r = a.attr("data-input-min") ? parseInt(a.attr("data-input-min")) : 0,
            n = a.attr("data-input-max") ? parseInt(a.attr("data-input-max")) : 1e14;
            t >= r && t <= n && (a.val(t), a.parsley().validate())
        }
    },
    this.setInterestTypeFromQuery = function () {
        var t = e.urlParams.interestType,
        a = $('[data-algoritminput="selectedInterestRate"]', e.activeCalculator),
        r = !!$('[data-algoritminput="selectedInterestRate"] option[value="' + t + '"]', e.activeCalculator).length,
        n = "block" === $('[data-algoritminput="selectedInterestRate"] option[value="' + t + '"]', e.activeCalculator).css("display");
        t && a.length && r && n && a.val(t)
    },
    this.setCarConditionFromQuery = function () {
        var t = e.urlParams.carCondition,
        a = $('[data-algoritminput="selectedCar"]', e.activeCalculator),
        r = $('[data-algoritminput="selectedCar"] input[value="' + t + '"]', e.activeCalculator);
        t && a.length && r.length && r.trigger("click")
    },
    this.setCurrencyFromQuery = function () {
        var t = e.urlParams.currency,
        a = $('[data-algoritminput="selectedCurrency"]', e.activeCalculator),
        r = !!$('[data-algoritminput="selectedCurrency"] option[value="' + t + '"]', e.activeCalculator).length;
        t && a.length && r && (a.val(t), a.trigger("change"))
    },
    this.setTabFromQuery = function () {
        var t = "false" !== e.urlParams.isDefault,
        a = $('[data-tab="without-salary"] > a', e.activeCalculator);
        a.is(":visible") && !t && a.trigger("click")
    },
    this.changeCallback = function () {
        Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
        $("*[data-generate-cookie]").attr("data-enabled", "false"),
        e.getInputs(".active"),
        e.borrowAmount.hasClass("parsley-error") || (e.initOutputElements(), e.calculateLoan(), e.fillOutputElements(), e.setupTableRows(), $("*[data-generate-cookie]").removeAttr("data-enabled"), e.updateShareCalculatorLink())
    },
    this.updateShareCalculatorLink = function () {
        var t = window.location.href;
        t = t.split("?"),
        t = t[0];
        var a = $('[data-algoritminput="selectedCurrency"]', e.activeCalculator).val(),
        r = "?loanAmount=" + e.borrowAmountValue + "&tenor=" + e.tenorValue + "&currency=" + a + "&interestType=" + e.selectedInterestRateValue;
        ($('[data-tab="without-salary"]', e.activeCalculator).hasClass("open") && (r += "&isDefault=false"), $('[data-algoritminput="selectedCar"]', e.activeCalculator).length) && (r += "&carCondition=" + ($('input[value="new"]', e.activeCalculator).prop("checked") ? "new" : "used"))
    },
    this.updateSliderTenor = function () {
        "fixed" == e.selectedInterestRateValue ? (e.tenorMin = Number($("input[data-algoritmInput='min-tenor-fixed']").val()), e.tenorMax = Number($("input[data-algoritmInput='max-tenor-fixed']").val()), $("li[data-name='variableInterestRateRemainingPeriod']").css("display", "none")) : ("5yfixed+variable" == e.selectedInterestRateValue && (e.tenorMin = e.tenorMin + 1, e.tenorValue <= 60 && $("input[name='repaymentOptions']").slider("setValue", e.tenorMin + 1)), $("li[data-name='variableInterestRateRemainingPeriod']").css("display", "")),
        $("input[name='repaymentOptions']").slider("setAttribute", "min", e.tenorMin),
        $("input[name='repaymentOptions']").slider("setAttribute", "max", e.tenorMax),
        $("section[data-component='SliderRange'] .pull-left b").html(e.tenorMin),
        $("section[data-component='SliderRange'] .pull-right b").html(e.tenorMax)
    },
    this.changeCurrencyInput = function (t) {
        $("*[data-currency-input-container]", e.activeCalculator).addClass("hide"),
        $("[data-currency-name]", e.activeCalculator).attr("data-algoritminput", ""),
        $("[data-currency-name=" + t + "]", e.activeCalculator).parents("*[data-currency-input-container]").removeClass("hide"),
        $("[data-currency-name=" + t + "]", e.activeCalculator).attr("data-algoritminput", "borrowAmount"),
        $("[data-currency-name=" + t + "]", e.activeCalculator).parent().find("[data-algoritminput=selectedCurrency]").val(t)
    },
    this.updateInterestOptions = function (t) {
        var a = $("*[data-algoritmInput='selectedInterestRate'] option[value='2yfixed+variable']", e.activeCalculator),
        r = $("*label[for='2yfixed+variable']", e.activeCalculator).parent().parent();
        a.length && ("eur" === t ? (a.css("display", "none"), r.css("display", "none"), $($(".section__form--radioinline .section__form__inline")[0]).children().children().click(), "2yfixed+variable" === $('[data-algoritminput="selectedInterestRate"]', e.activeCalculator).val() && $("*[data-algoritmInput='selectedInterestRate']", e.activeCalculator).val("1yfixed+variable")) : (a.css("display", "block"), r.css("display", "block")))
    },
    this.setupTabs = function () {
        if ($("*[data-loan-tab-container]", e.activeCalculator).length) {
            $("*[data-loan-tab]", e.activeCalculator).each(function () {
                var e = parseInt($(this).attr("data-loan-tab")),
                t = $(this)[0];
                s.push({
                    index: e,
                    content: t
                })
            }),
            e.changeTab(0)
        }
    },
    this.changeTab = function (t) {
        var a = $("*[data-loan-tab-container]", e.activeCalculator);
        $("*[data-loan-tab]", e.activeCalculator).detach(),
        $.each(s, function () {
            if ($(this)[0].index == t) {
                var e = $(this)[0].content;
                a.append(e)
            }
        })
    },
    this.setupTableRows = function () {
        var t = $("[data-name]", e.activeCalculator),
        a = $('[data-algoritminput="selectedCurrency"]', e.activeCalculator).val(),
        r = JSON.parse($('[data-algoritminput="rowsToDisplay"]', e.activeCalculator).val());
        r = r[a],
        t.hide(),
        t.each(function () {
            var e = $(this),
            t = e.attr("data-name");
            -1 !== $.inArray(t, r) && e.show()
        })
    },
    this.showHideTab = function (t) {
        "show" == t && (console.log("show it!"), $('[data-tab="without-salary"],[data-tab="with-salary"]', e.activeCalculator).show(), $("section.section.com16-8").addClass("com16-2").removeClass("com16-8")),
        "hide" == t && (console.log("hide it!"), $('[data-tab="without-salary"],[data-tab="with-salary"]', e.activeCalculator).hide(), $('[data-tab="with-salary"]', e.activeCalculator).show(), $('[data-tab="without-salary"]', e.activeCalculator).removeClass("open"), $('[data-tab="with-salary"]', e.activeCalculator).addClass("open"), $('[data-tab="with-salary"]', e.activeCalculator).hasClass("open") || $('[data-tab="with-salary"]', e.activeCalculator).show(), $("section.section.com16-2").addClass("com16-8").removeClass("com16-2"))
    },
    this.calculateLoan = function () {
        e.interestRateFirstPeriodResult = number_format(e.interestRateFirstPeriod, r.decimals_number, r.decimal_number, r.separator_number),
        e.interestRateRemainingPeriodResult = number_format(e.interestRateRemainingPeriod, r.decimals_number, r.decimal_number, r.separator_number),
        e.promoInterestRateFirstPeriodResult = number_format(e.promoInterestRateFirstPeriod, r.decimals_number, r.decimal_number, r.separator_number),
        e.promoInterestRateRemainingPeriodResult = number_format(e.promoInterestRateRemainingPeriod, r.decimals_number, r.decimal_number, r.separator_number),
        console.log("---------------------"),
        console.log("FORMULA ALBANIA"),
        console.log("---------------------"),
        e.scaledInterestRateValuePromo = e.calculateScaledInterestRate(e.promoInterestRateFirstPeriod),
        e.scaledInterestRateValueStandard = e.calculateScaledInterestRate(e.interestRateFirstPeriod),
        e.scaledInterestRateValuePromo2 = e.calculateScaledInterestRate(e.promoInterestRateRemainingPeriod),
        e.scaledInterestRateValueStandard2 = e.calculateScaledInterestRate(e.interestRateRemainingPeriod),
        console.log("Scaled Interest Rate Value Promo first period: " + e.scaledInterestRateValuePromo + " - " + typeof e.scaledInterestRateValuePromo),
        console.log("Scaled Interest Rate Value Sandard first period: " + e.scaledInterestRateValueStandard + " - " + typeof e.scaledInterestRateValueStandard),
        console.log("Scaled Interest Rate Value Promo Remaining period: " + e.scaledInterestRateValuePromo2 + " - " + typeof e.scaledInterestRateValuePromo2),
        console.log("Scaled Interest Rate Value Sandard Remaining period: " + e.scaledInterestRateValueStandard2 + " - " + typeof e.scaledInterestRateValueStandard2);
        var n,
        o,
        i,
        s;
        if (i = s = e.tenorValue, n = o = e.borrowAmountValue, e.tenorCalculatedPromo = i, e.tenorCalculatedStandard = s, e.loanAmountCalculatedPromo = n, e.loanAmountCalculatedStandard = o, console.log("Tenor Calculated Value Promo: " + i + " - " + typeof i), console.log("Tenor Calculated Value Standard: " + s + " - " + typeof s), console.log("Loan Amount Value Promo: " + n + " - " + typeof n), console.log("Loan Amount Value Sandard: " + o + " - " + typeof o), t) {
            if (e.loanAmountResultPromo = number_format(n, r.decimals, r.decimal, r.separator), e.tenorResultPromo = number_format(i, 0, r.decimal_number, r.separator_number), !isNaN(i) && n >= e.borrowAmountMin)
                if (e.monthlyInstallmentValuePromo = e.calculateMonthlyInstallment(e.scaledInterestRateValuePromo, n, i), console.log("Monthly Installment Value Promo first period: " + e.monthlyInstallmentValuePromo + " - " + typeof e.monthlyInstallmentValuePromo), e.monthlyInstallmentResultPromo = number_format(e.monthlyInstallmentValuePromo, r.decimals, r.decimal, r.separator), isNaN(e.monthlyInstallmentValuePromo) ? t = !1 : (e.amountToRepayValuePromo = e.calculataAmountToRepay(e.monthlyInstallmentValuePromo, i), console.log("Amount to Repay Value Promo first period: " + e.amountToRepayValuePromo + " - " + typeof e.amountToRepayValuePromo), e.amountToRepayResultPromo = number_format(e.amountToRepayValuePromo, r.decimals, r.decimal, r.separator), isNaN(e.amountToRepayValuePromo) && (t = !1)), e.scaledInterestRateValuePromo2 > 0) {
                    var l = null;
                    e.scaledInterestRateValuePromo2 !== e.scaledInterestRateValuePromo && (l = "promo"),
                    e.monthlyInstallmentValuePromo2 = e.calculateMonthlyInstallment(e.scaledInterestRateValuePromo2, n, i, l),
                    console.log("Monthly Installment Value Promo remaining period: " + e.monthlyInstallmentValuePromo2 + " - " + typeof e.monthlyInstallmentValuePromo2),
                    e.monthlyInstallmentResultPromo2 = number_format(e.monthlyInstallmentValuePromo2, r.decimals, r.decimal, r.separator),
                    isNaN(e.monthlyInstallmentValuePromo2) ? t = !1 : (e.amountToRepayValuePromo2 = e.calculataAmountToRepay(e.monthlyInstallmentValuePromo2, i), console.log("Amount to Repay Value Promo remaining period: " + e.amountToRepayValuePromo2 + " - " + typeof e.amountToRepayValuePromo2), e.amountToRepayResultPromo2 = number_format(e.amountToRepayValuePromo2, r.decimals, r.decimal, r.separator), isNaN(e.amountToRepayValuePromo2) && (t = !1))
                } else
                    e.monthlyInstallmentResultPromo2 = void 0;
            else
                t = !1;
            e.amountToRepayValuePromo !== e.amountToRepayValuePromo2 && !isNaN(e.amountToRepayValuePromo) && !isNaN(e.amountToRepayValuePromo2) && e.scaledInterestRateValuePromo2 > 0 && (e.amountToRepayValuePromo = e.monthlyInstallmentValuePromo * e.firstPeriodDurationPromo + e.monthlyInstallmentValuePromo2 * e.remainingPeriodDurationPromo, e.amountToRepayResultPromo = number_format(e.amountToRepayValuePromo, r.decimals, r.decimal, r.separator), console.log("Total amountToRepayValuePromo for both periods: " + e.amountToRepayValuePromo))
        }
        if (a) {
            if (e.loanAmountResultStandard = number_format(o, r.decimals, r.decimal, r.separator), e.tenorResultStandard = number_format(s, "0", r.decimal_number, r.separator_number), !isNaN(s) && o >= e.borrowAmountMin)
                if (e.monthlyInstallmentValueStandard = e.calculateMonthlyInstallment(e.scaledInterestRateValueStandard, o, s), console.log("Monthly Installment Value Standard for the first period: " + e.monthlyInstallmentValueStandard + " - " + typeof e.monthlyInstallmentValueStandard), e.monthlyInstallmentResultStandard = number_format(e.monthlyInstallmentValueStandard, r.decimals, r.decimal, r.separator), isNaN(e.monthlyInstallmentValueStandard) ? a = !1 : (e.amountToRepayValueStandard = e.calculataAmountToRepay(e.monthlyInstallmentValueStandard, s), console.log("Amount to Repay Value Standard for the first period: " + e.amountToRepayValueStandard + " - " + typeof e.amountToRepayValueStandard), e.amountToRepayResultStandard = number_format(e.amountToRepayValueStandard, r.decimals, r.decimal, r.separator), isNaN(e.amountToRepayValueStandard) && (a = !1)), e.scaledInterestRateValueStandard2 > 0) {
                    var l = null;
                    e.scaledInterestRateValueStandard2 !== e.scaledInterestRateValueStandard && (l = "standard"),
                    e.monthlyInstallmentValueStandard2 = e.calculateMonthlyInstallment(e.scaledInterestRateValueStandard2, o, s, l),
                    console.log("Monthly Installment Value Standard for the remaining period: " + e.monthlyInstallmentValueStandard2 + " - " + typeof e.monthlyInstallmentValueStandard2),
                    e.monthlyInstallmentResultStandard2 = number_format(e.monthlyInstallmentValueStandard2, r.decimals, r.decimal, r.separator),
                    isNaN(e.monthlyInstallmentValueStandard2) ? a = !1 : (e.amountToRepayValueStandard2 = e.calculataAmountToRepay(e.monthlyInstallmentValueStandard2, s), console.log("Amount to Repay Value Standard for the remaining period: " + e.amountToRepayValueStandard2 + " - " + typeof e.amountToRepayValueStandard2), e.amountToRepayResultStandard2 = number_format(e.amountToRepayValueStandard2, r.decimals, r.decimal, r.separator), isNaN(e.amountToRepayValueStandard2) && (a = !1))
                } else
                    e.monthlyInstallmentResultStandard2 = void 0;
            else
                a = !1;
            e.amountToRepayValueStandard !== e.amountToRepayValueStandard2 && !isNaN(e.amountToRepayValueStandard) && !isNaN(e.amountToRepayValueStandard2) && e.scaledInterestRateValueStandard2 > 0 && (e.amountToRepayValueStandard = e.monthlyInstallmentValueStandard * e.firstPeriodDurationStandard + e.monthlyInstallmentValueStandard2 * e.remainingPeriodDurationStandard, e.amountToRepayResultStandard = number_format(e.amountToRepayValueStandard, r.decimals, r.decimal, r.separator), console.log("Total amountToRepayValueStandard for both periods: " + e.amountToRepayValueStandard))
        }
    },
    this.calculateScaledInterestRate = function (e) {
        return Number(31 * e / 365 / 100)
    },
    this.calculateMonthlyInstallment = function (t, a, r, n) {
        var o = NaN;
        if (null !== a && "0" !== a && null !== t && "0" !== t && null !== r && "0" !== r)
            if (r > e.tenorMax || r < e.tenorMin)
                o = NaN;
            else if (null !== n && void 0 !== n) {
                if ("promo" == n) {
                    var i = a,
                    s = 0,
                    l = 0,
                    c = 0;
                    c = e.monthlyInstallmentValuePromo;
                    for (var u = 1; u <= e.firstPeriodDurationPromo; u++)
                        s = Number(parseFloat(e.scaledInterestRateValuePromo * i).toFixed(2)), l = c - s, i -= l;
                    o = t * i * Math.pow(1 + t, r - e.firstPeriodDurationPromo) / (1 - Math.pow(1 + t, r - e.firstPeriodDurationPromo))
                }
                if ("standard" == n) {
                    var i = a,
                    s = 0,
                    l = 0,
                    c = 0;
                    c = e.monthlyInstallmentValueStandard;
                    for (var u = 1; u <= e.firstPeriodDurationStandard; u++)
                        s = Number(parseFloat(e.scaledInterestRateValueStandard * i).toFixed(2)), l = c - s, i -= l;
                    o = t * i * Math.pow(1 + t, r - e.firstPeriodDurationStandard) / (1 - Math.pow(1 + t, r - e.firstPeriodDurationStandard))
                }
            } else
                o = t * a * Math.pow(1 + t, r) / (1 - Math.pow(1 + t, r));
        return o = o.toFixed(2),
        o *= -1,
        Number(o)
    },
    this.calculataAmountToRepay = function (e, t) {
        var a = NaN;
        return null !== e && "0" !== e && (a = e * t),
        Number(a)
    },
    this.initOutputElements = function () {
        e.setOutputElements(),
        e.resetOutputElements()
    },
    this.setOutputElements = function () {
        e.setOutputElementsPromo(),
        e.setOutputElementsStandard()
    },
    this.setOutputElementsPromo = function () {
        e.monthlyInstallmentPromoFirstPeriod = $('*[data-algoritmResult="monthlyInstallmentFirstPeriodPromo"]', e.activeCalculator),
        e.monthlyInstallmentPromoRemainingPeriod = $('*[data-algoritmResult="monthlyInstallmentRemainingPeriodPromo"]', e.activeCalculator),
        e.fixedInterestRatePromoFirstPeriod = $('*[data-algoritmResult="fixedInterestRateFirstPeriodPromo"]', e.activeCalculator),
        e.variableInterestRatePromo = $('*[data-algoritmResult="variableInterestRatePromo"]', e.activeCalculator),
        e.fixedInterestRatePromoRemainingPeriod = $('*[data-algoritmResult="fixedInterestRateRemainingPeriodPromo"]', e.activeCalculator),
        e.variableInterestRatePromoRemainingPeriod = $('*[data-algoritmResult="variableInterestRateRemainingPeriodPromo"]', e.activeCalculator),
        e.fixedInterestRateStandardFirstPeriod = $('*[data-algoritmResult="fixedInterestRateFirstPeriodStandard"]', e.activeCalculator),
        e.variableInterestRateStandard = $('*[data-algoritmResult="variableInterestRateStandard"]', e.activeCalculator),
        e.fixedInterestRateStandardRemainingPeriod = $('*[data-algoritmResult="fixedInterestRateRemainingPeriodStandard"]', e.activeCalculator),
        e.variableInterestRateStandardRemainingPeriod = $('*[data-algoritmResult="variableInterestrateRemainingPeriodStandard"]', e.activeCalculator),
        e.loanAmountPromo = $('*[data-algoritmResult="loanAmountPromo"]', e.activeCalculator),
        e.amountToRepayPromo = $('*[data-algoritmResult="amountToRepayPromo"]', e.activeCalculator),
        e.tenorPromo = $('*[data-algoritmResult="tenorPromo"]', e.activeCalculator),
        e.interestRatePromo = $('*[data-algoritmResult="interestRatePromo"]', e.activeCalculator),
        e.aprPromo = $('*[data-algoritmResult="aprPromo"]', e.activeCalculator),
        e.getButton = $("*[data-generate-cookie]", e.activeCalculator),
        e.callButton = $("*[data-tab] .com16__buttonCover .call-btn", e.activeCalculator)
    },
    this.setOutputElementsStandard = function () {
        e.monthlyInstallmentStandardFirstPeriod = $('*[data-algoritmResult="monthlyInstallmentFirstPeriodStandard"]', e.activeCalculator),
        e.monthlyInstallmentStandardRemainingPeriod = $('*[data-algoritmResult="monthlyinstallmentRemainingPeriodStandard"]', e.activeCalculator),
        e.loanAmountStandard = $('*[data-algoritmResult="loanAmountStandard"]', e.activeCalculator),
        e.amountToRepayStandard = $('*[data-algoritmResult="amountToRepayStandard"]', e.activeCalculator),
        e.tenorStandard = $('*[data-algoritmResult="tenorStandard"]', e.activeCalculator),
        e.interestRateStandard = $('*[data-algoritmResult="interestRateStandard"]', e.activeCalculator),
        e.aprStandard = $('*[data-algoritmResult="aprStandard"]', e.activeCalculator)
    },
    this.resetOutputElements = function () {
        e.resetOutputElementsPromo(),
        e.resetOutputElementsStandard()
    },
    this.resetOutputElementsPromo = function () {
        t = !0,
        e.monthlyInstallmentResultPromo = void 0,
        e.loanAmountResultPromo = void 0,
        e.amountToRepayResultPromo = void 0,
        e.amountToRepayResultPromo2 = void 0,
        e.tenorResultPromo = void 0,
        e.interestRateResultPromo = void 0,
        e.monthlyInstallmentPromoFirstPeriod.text("-"),
        e.monthlyInstallmentPromoRemainingPeriod.text("-"),
        e.fixedInterestRatePromoFirstPeriod.text("-"),
        e.variableInterestRatePromo.text("-"),
        e.fixedInterestRatePromoRemainingPeriod.text("-"),
        e.variableInterestRatePromoRemainingPeriod.text("-"),
        e.fixedInterestRateStandardFirstPeriod.text("-"),
        e.variableInterestRateStandard.text("-"),
        e.fixedInterestRateStandardRemainingPeriod.text("-"),
        e.variableInterestRateStandardRemainingPeriod.text("-"),
        e.loanAmountPromo.text("-"),
        e.amountToRepayPromo.text("-"),
        e.tenorPromo.text("-"),
        e.interestRatePromo.text("-"),
        e.aprPromo.text("-"),
        e.callButton.show()
    },
    this.resetOutputElementsStandard = function () {
        a = !0,
        e.monthlyInstallmentResultStandard = void 0,
        e.loanAmountResultStandard = void 0,
        e.amountToRepayResultStandard = void 0,
        e.tenorResultStandard = void 0,
        e.interestRateResultStandard = void 0,
        e.monthlyInstallmentStandardFirstPeriod.text("-"),
        e.monthlyInstallmentStandardRemainingPeriod.text("-"),
        e.loanAmountStandard.text("-"),
        e.amountToRepayStandard.text("-"),
        e.tenorStandard.text("-"),
        e.interestRateStandard.text("-"),
        e.aprStandard.text("-")
    },
    this.getInputs = function (t) {
        switch (console.log("---------------------"), console.log("CALCULATOR INPUTS ALBANIA"), console.log("---------------------"), e.productCategory = $('*[data-algoritmInput="productCategory"]', e.activeCalculator), e.productCategoryValue = e.productCategory.val(), e.selectedCar = $('*[data-algoritmInput="selectedCar"]', e.activeCalculator), e.selectedCarValue = e.selectedCar.find("input[name=selectedCar]:checked").val(), e.selectedCurrency = e.activeCurrencySelect, e.selectedCurrencyValue = e.selectedCurrency.val(), e.selectedCurrencyText = e.activeCurrencySelect.children(" option:selected").text(), e.presentCurrency = $("*[data-currency]", e.activeCalculator), e.selectedInterestRate = $('*[data-algoritmInput="selectedInterestRate"]', e.activeCalculator), e.selectedInterestRateValue = e.selectedInterestRate.val(), e.interestRate = $('*[data-algoritmInput="interestRate"]', e.activeCalculator), e.interestRateValue = JSON.parse(stripslashes(e.interestRate.val())), e.tenor = $('*[data-algoritmInput="tenor"]', e.activeCalculator), e.tenorValue = Number(e.tenor.val()), e.tenorMin = Number(e.tenor.attr("data-slider-min")), e.tenorMax = Number(e.tenor.attr("data-slider-max")), e.tenorStep = Number(e.tenor.attr("data-slider-step")), console.log("Tenor Value: " + e.tenorValue + " - " + typeof e.tenorValue), console.log("Tenor Min Value: " + e.tenorMin + " - " + typeof e.tenorMin), console.log("Tenor Max Value: " + e.tenorMax + " - " + typeof e.tenorMax), console.log("Tenor Step Value: " + e.tenorStep + " - " + typeof e.tenorStep), e.updateSliderTenor(), e.productCategoryValue) {
        case "PERSONAL_LOAN":
            if (console.log("PERSONAL_LOAN"), "eur" == e.selectedCurrencyValue) {
                e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur)),
                e.interestRateRemainingPeriod = e.interestRateFirstPeriod,
                e.promoInterestRateFirstPeriod = e.interestRateFirstPeriod,
                e.promoInterestRateRemainingPeriod = e.interestRateFirstPeriod,
                e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.salary_customers.interest_rate[0]));
                var a = e.interestRateValue.eurCurrency.salary_customers.period;
                for (i = 0; i < a.length; i++)
                    e.tenorValue > 36 ? a[i] > 36 && i > 0 && (e.tenorValue > 36 && 60 == a[i] && e.tenorValue <= 60 || e.tenorValue > 60 && 84 == a[i] && e.tenorValue <= 84) && (e.promoInterestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.salary_customers.interest_rate[i][1])), e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.salary_customers.interest_rate[i][0]))) : e.tenorValue == a[i] && e.tenorValue <= 36 ? e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.salary_customers.interest_rate[i])) : e.tenorValue > a[i] && e.tenorValue < a[i + 1] && a[i + 1] <= 36 && (e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.salary_customers.interest_rate[i + 1])));
                e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.other_customers.interest_rate[0]));
                var s = e.interestRateValue.eurCurrency.other_customers.period;
                for (i = 0; i < s.length; i++)
                    e.tenorValue > 36 ? s[i] > 36 && i > 0 && (e.tenorValue > 36 && 60 == s[i] && e.tenorValue <= 60 || e.tenorValue > 60 && 84 == s[i] && e.tenorValue <= 84) && (e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.other_customers.interest_rate[i][1])), e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.other_customers.interest_rate[i][0]))) : e.tenorValue == s[i] && e.tenorValue <= 36 ? e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.other_customers.interest_rate[i])) : e.tenorValue > s[i] && e.tenorValue < s[i + 1] && s[i + 1] <= 36 && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eurCurrency.other_customers.interest_rate[i + 1])));
                e.tenorValue <= 36 && (e.promoInterestRateRemainingPeriod = void 0, e.interestRateRemainingPeriod = void 0),
                e.showHideTab("show")
            }
            if ("localCurrency" == e.selectedCurrencyValue) {
                e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.other_customers.interest_rate[0]));
                var s = e.interestRateValue.localCurrency.other_customers.period;
                for (i = 0; i < s.length; i++)
                    e.tenorValue > 36 ? s[i] > 36 && i > 0 && (e.tenorValue > 36 && 60 == s[i] && e.tenorValue <= 60 || e.tenorValue > 60 && 84 == s[i] && e.tenorValue <= 84) && (e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.other_customers.interest_rate[i][1])), e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.other_customers.interest_rate[i][0]))) : e.tenorValue == s[i] && e.tenorValue <= 36 ? e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.other_customers.interest_rate[i])) : e.tenorValue > s[i] && e.tenorValue < s[i + 1] && s[i + 1] <= 36 && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.other_customers.interest_rate[i + 1])));
                e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.salary_customers.interest_rate[0]));
                var a = e.interestRateValue.localCurrency.salary_customers.period;
                for (i = 0; i < a.length; i++)
                    e.tenorValue > 36 ? a[i] > 36 && i > 0 && (e.tenorValue > 36 && 60 == a[i] && e.tenorValue <= 60 || e.tenorValue > 60 && 84 == a[i] && e.tenorValue <= 84) && (e.promoInterestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.salary_customers.interest_rate[i][1])),
                        e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.salary_customers.interest_rate[i][0]))) : e.tenorValue == a[i] && e.tenorValue <= 36 ? e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.salary_customers.interest_rate[i])) : e.tenorValue > a[i] && e.tenorValue < a[i + 1] && a[i + 1] <= 36 && (e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.salary_customers.interest_rate[i + 1])));
                e.tenorValue <= 36 && (e.promoInterestRateRemainingPeriod = void 0, e.interestRateRemainingPeriod = void 0),
                e.showHideTab("show")
            }
            void 0 !== e.interestRateValue.localCurrency.other_customers.period[0] && (e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.localCurrency.other_customers.period[0]))),
            void 0 !== e.interestRateValue.eurCurrency.other_customers.period[0] && (e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.eurCurrency.other_customers.period[0]))),
            void 0 !== e.interestRateValue.localCurrency.salary_customers.period[0] && (e.firstPeriodDurationPromo = Number(parseFloat(e.interestRateValue.localCurrency.salary_customers.period[0]))),
            void 0 !== e.interestRateValue.localCurrency.other_customers.period[0] && (e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard),
            void 0 !== e.interestRateValue.localCurrency.salary_customers.period[0] && (e.remainingPeriodDurationPromo = e.tenorValue - e.firstPeriodDurationPromo),
            console.log("First Period Duration Standard " + e.firstPeriodDurationStandard),
            console.log("Remaining Period Duration Standard " + e.remainingPeriodDurationStandard),
            console.log("First Period Duration Promo " + e.firstPeriodDurationPromo),
            console.log("Remaining Period Duration Promo " + e.remainingPeriodDurationPromo);
            break;
        case "FAST_LOAN":
            console.log("FAST_LOAN"),
            "eur" == e.selectedCurrencyValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur.other_customers.interest_rate)), e.interestRateRemainingPeriod = e.interestRateFirstPeriod, e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur.salary_customers.interest_rate)), e.promoInterestRateRemainingPeriod = e.promoInterestRateFirstPeriod, e.showHideTab("show")),
            "localCurrency" == e.selectedCurrencyValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.other_customers.interest_rate)), e.interestRateRemainingPeriod = e.interestRateFirstPeriod, e.promoInterestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.salary_customers.interest_rate)), e.promoInterestRateRemainingPeriod = e.promoInterestRateFirstPeriod, e.showHideTab("show"));
            break;
        case "STUDENT_LOAN":
            console.log("STUDENT_LOAN"),
            "eur" == e.selectedCurrencyValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[0])), e.interestRateValue.eur.period[0] >= e.tenorValue ? e.interestRateRemainingPeriod = void 0 : e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[1])), e.promoInterestRateFirstPeriod = e.interestRateFirstPeriod, e.promoInterestRateRemainingPeriod = e.interestRateRemainingPeriod, void 0 !== e.interestRateValue.eur.period[0] && (e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.eur.period[0])), e.firstPeriodDurationPromo = e.firstPeriodDurationStandard), void 0 !== e.interestRateValue.eur.period[0] && (e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard, e.remainingPeriodDurationPromo = e.remainingPeriodDurationStandard)),
            "localCurrency" == e.selectedCurrencyValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[0])), e.promoInterestRateFirstPeriod = e.interestRateFirstPeriod, e.interestRateValue.localCurrency.period[0] >= e.tenorValue ? e.interestRateRemainingPeriod = void 0 : e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[1])), e.promoInterestRateRemainingPeriod = e.interestRateRemainingPeriod, void 0 !== e.interestRateValue.localCurrency.period[0] && (e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.localCurrency.period[0])), e.firstPeriodDurationPromo = e.firstPeriodDurationStandard), void 0 !== e.interestRateValue.localCurrency.period[0] && (e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard, e.remainingPeriodDurationPromo = e.remainingPeriodDurationStandard)),
            e.showHideTab("hide");
            break;
        case "CAR_LOAN":
            console.log("CAR_LOAN"),
            "eur" == e.selectedCurrencyValue && ("new" == e.selectedCarValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.new.eur)), e.interestRateRemainingPeriod = e.interestRateFirstPeriod, e.promoInterestRateFirstPeriod = e.interestRateFirstPeriod, e.promoInterestRateRemainingPeriod = e.interestRateFirstPeriod, e.variableInterestRate = e.interestRateFirstPeriod), "used" == e.selectedCarValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.used.eur)), e.interestRateRemainingPeriod = e.interestRateFirstPeriod, e.promoInterestRateFirstPeriod = e.interestRateFirstPeriod, e.promoInterestRateRemainingPeriod = e.interestRateFirstPeriod, e.variableInterestRate = e.interestRateFirstPeriod)),
            "localCurrency" == e.selectedCurrencyValue && ("new" == e.selectedCarValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.new.localCurrency)), e.interestRateRemainingPeriod = e.interestRateFirstPeriod, e.promoInterestRateFirstPeriod = e.interestRateFirstPeriod, e.promoInterestRateRemainingPeriod = e.interestRateFirstPeriod, e.variableInterestRate = e.interestRateFirstPeriod), "used" == e.selectedCarValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.used.localCurrency)), e.interestRateRemainingPeriod = e.interestRateFirstPeriod, e.promoInterestRateFirstPeriod = e.interestRateFirstPeriod, e.promoInterestRateRemainingPeriod = e.interestRateFirstPeriod, e.variableInterestRate = e.interestRateFirstPeriod));
            break;
        case "NON_RESIDENTIAL_SPACE_MORTGAGE":
        case "HOUSE_MORTGAGE":
        case "ALL_PURPOSE_MORTGAGE":
            console.log("MORTGAGE"),
            "eur" == e.selectedCurrencyValue && ("1yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[0])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[2])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.eur.period[0])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard), "3yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[1])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[3])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.eur.period[1])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard)),
            "localCurrency" == e.selectedCurrencyValue && ("1yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[0])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[3])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.localCurrency.period[0])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard), "2yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[1])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[4])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.localCurrency.period[1])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard), "3yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[2])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[5])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.localCurrency.period[2])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard));
            break;
        case "YOUTH_LOAN":
            console.log("Youth loan"),
            "eur" == e.selectedCurrencyValue && ("fixed" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[0])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[0])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = e.tenorValue, e.remainingPeriodDurationStandard = 0), "1yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[1])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[4])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.eur.period[0])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard), "3yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[2])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[5])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.eur.period[1])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard), "5yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[3])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.eur.interest_rate[6])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.eur.period[2])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard)),
            "localCurrency" == e.selectedCurrencyValue && ("fixed" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[0])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[0])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = e.tenorValue, e.remainingPeriodDurationStandard = 0), "1yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[1])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[5])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.localCurrency.period[0])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard), "2yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[2])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[6])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.localCurrency.period[1])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard), "3yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[3])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[7])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.localCurrency.period[2])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard), "5yfixed+variable" == e.selectedInterestRateValue && (e.interestRateFirstPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[4])), e.interestRateRemainingPeriod = Number(parseFloat(e.interestRateValue.localCurrency.interest_rate[8])), e.variableInterestRateRemainingPeriod = e.interestRateRemainingPeriod, e.firstPeriodDurationStandard = Number(parseFloat(e.interestRateValue.localCurrency.period[3])), e.remainingPeriodDurationStandard = e.tenorValue - e.firstPeriodDurationStandard));
            break;
        default:
            console.log("unknown category"),
            e.interestRateFirstPeriod = void 0,
            e.interestRateRemainingPeriod = e.interestRateFirstPeriod,
            e.promoInterestRateFirstPeriod = e.interestRateFirstPeriod,
            e.promoInterestRateRemainingPeriod = e.interestRateFirstPeriod
        }
        console.log("Current Category: " + e.productCategoryValue + " - " + typeof e.productCategoryValue),
        console.log("Selected Currency: " + e.selectedCurrencyValue + " - " + typeof e.selectedCurrencyValue),
        console.log("Selected Interest Rate: " + e.selectedInterestRateValue + " - " + typeof e.selectedInterestRateValue),
        console.log("Interest rate: " + e.interestRate.val() + " - " + typeof e.interestRateValue),
        console.log("Interest rate first period: " + e.interestRateFirstPeriod + " - " + typeof e.interestRateFirstPeriod),
        console.log("Interest rate Remaining period: " + e.interestRateRemainingPeriod + " - " + typeof e.interestRateRemainingPeriod),
        console.log("Promo Interest rate first period: " + e.promoInterestRateFirstPeriod + " - " + typeof e.promoInterestRateFirstPeriod),
        console.log("Promo Interest rate Remaining period: " + e.promoInterestRateRemainingPeriod + " - " + typeof e.promoInterestRateRemainingPeriod),
        e.standardInterestRate = $('*[data-algoritmInput="standardInterestRate"]', e.activeCalculator),
        e.standardInterestRateValue = Number(parseFloat(e.standardInterestRate.val())),
        e.maxAmountForOnline = $('*[data-algoritmInput="maxAmountForOnline"]', e.activeCalculator),
        e.maxAmountForOnlineValue = Number(parseFloat(e.maxAmountForOnline.val())),
        console.log("Max Amount for Online Value: " + e.maxAmountForOnlineValue + " - " + typeof e.maxAmountForOnlineValue),
        e.borrowAmount = $('*[data-algoritmInput="borrowAmount"]', e.activeCalculator),
        e.borrowAmountRoundingValue = Number(parseFloat(e.borrowAmount.attr("data-input-rounding"))),
        e.borrowAmount.val(Number(parseFloat(Math.round(e.borrowAmount.val().replace(new RegExp(n, "g"), "").replace(new RegExp(o, "g"), ".") / e.borrowAmountRoundingValue) * e.borrowAmountRoundingValue)));
        var l = $("*[data-format-currency]", e.activeCalculator);
        l.length && l.each(function () {
            var e = $(this).attr("data-currency-name"),
            t = '[data-currency-name="' + e + '"]';
            new Cleave(t, {
                delimiter: r.separator,
                numeral: !0,
                numeralDecimalMark: r.decimal,
                numeralDecimalScale: 0,
                numeralThousandsGroupStyle: "thousand"
            })
        }),
        e.borrowAmountValue = Number(parseFloat(e.borrowAmount.val().replace(new RegExp(n, "g"), "").replace(new RegExp(o, "g"), "."))),
        e.borrowAmountMin = Number(parseFloat(e.borrowAmount.attr("data-input-min"))),
        e.borrowAmountMax = Number(parseFloat(e.borrowAmount.attr("data-input-max"))),
        console.log("Borrow Amount Rounding: " + e.borrowAmountRoundingValue + " - " + typeof e.borrowAmountRoundingValue),
        console.log("Borrow Amount Value: " + e.borrowAmountValue + " - " + typeof e.borrowAmountValue),
        console.log("Borrow Amount Min Value: " + e.borrowAmountMin + " - " + typeof e.borrowAmountMin),
        console.log("Borrow Amount Max Value: " + e.borrowAmountMax + " - " + typeof e.borrowAmountMax)
    },
    this.fillOutputElements = function () {
        e.fillOutputElementsPromo(),
        e.fillOutputElementsStandard()
    },
    this.fillOutputElementsPromo = function () {
        t ? (e.interestRatePromo.text(e.interestRateResultPromo), e.loanAmountPromo.text(e.loanAmountResultPromo), e.tenorPromo.text(e.tenorResultPromo), e.monthlyInstallmentPromoFirstPeriod.text(e.monthlyInstallmentResultPromo), e.monthlyInstallmentPromoRemainingPeriod.text(e.monthlyInstallmentResultPromo2), e.fixedInterestRatePromoFirstPeriod.text(e.promoInterestRateFirstPeriod), e.fixedInterestRatePromoRemainingPeriod.text(e.promoInterestRateRemainingPeriod), e.amountToRepayPromo.text(e.amountToRepayResultPromo), e.loanAmountCalculatedPromo > e.maxAmountForOnlineValue ? e.callButton.show() : e.callButton.hide()) : e.resetOutputElementsPromo()
    },
    this.fillOutputElementsStandard = function () {
        a ? (e.interestRateStandard.text(e.interestRateResultStandard), e.fixedInterestRateStandardFirstPeriod.text(e.interestRateFirstPeriod), e.fixedInterestRateStandardRemainingPeriod.text(e.interestRateRemainingPeriod), e.loanAmountStandard.text(e.loanAmountResultStandard), e.tenorStandard.text(e.tenorResultStandard), e.monthlyInstallmentStandardFirstPeriod.text(e.monthlyInstallmentResultStandard), e.monthlyInstallmentStandardRemainingPeriod.text(e.monthlyInstallmentResultStandard2), e.amountToRepayStandard.text(e.amountToRepayResultStandard), e.variableInterestRateStandard.text(e.variableInterestRate), e.variableInterestRateStandardRemainingPeriod.text(e.variableInterestRateRemainingPeriod)) : e.resetOutputElementsStandard()
    },
    this.updateBasketCookie = function () {
        var t = $("*[data-generate-cookie]"),
        a = $("*[data-cmb-input]");
        if (t.length)
            var r = t.attr("data-c-personalLoanConfiguration");
        else
            var r = '{"LOANAMOUNT": "-","DURATION": "0","INSTALLMENT": "-","DISCOUNTCODE": "-","APR": "0","INTERESTRATE": "0"}';
        var n = JSON.parse(r);
        n.DURATION = e.tenorCalculatedPromo.toString(),
        n.INSTALLMENT = e.monthlyInstallmentValuePromo.toString(),
        n.INTERESTRATE = e.promoInterestRateFirstPeriod.toString(),
        n.LOANAMOUNT = e.loanAmountCalculatedPromo.toString(),
        t.length && t.attr("data-c-personalLoanConfiguration", JSON.stringify(n)),
        a.length && a.val(JSON.stringify(n))
    },
    this.toggleShopBtn = function (e, t) {
        e.each(function (e, a) {
            var r = $(a);
            if (r.hasClass("sectionNewAccount") || r.hasClass("sectionNewAccount_hide")) {
                var n = r.parent().find(".sectionLogin");
                "hide" == t ? (r.css({
                        opacity: 0,
                        top: "-3000px"
                    }), r.removeClass("sectionNewAccount").addClass("sectionNewAccount_hide"), n.length && n.css({
                        opacity: 1,
                        top: "50%"
                    })) : (r.css({
                        opacity: 1,
                        top: "50%"
                    }), r.removeClass("sectionNewAccount_hide").addClass("sectionNewAccount"), n.length && n.css({
                        opacity: 0,
                        top: "-3000px"
                    }))
            } else
                "hide" == t ? r.hide() : r.show()
        })
    }
}, Intesa.LoanCalculatorAlbania.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_albania || (window.intesa.loan_calculator_albania = new Intesa.LoanCalculatorAlbania),
    window.intesa.loan_calculator_albania
};
var Intesa = Intesa || {};
Intesa.LoanCalculatorAlex = function () {
    var e = this,
    t = !1,
    a = $("html")[0].getAttribute("lang");
    this.calculatorData = {},
    this.calculatorLabels = {};
    try {
        var r = JSON.parse($("#genericSettings").val())
    } catch (e) {
        console.log("an error occurred while getting config " + e),
        t = !0
    }
    var n = ["&#1632;", "&#1633;", "&#1634;", "&#1635;", "&#1636;", "&#1637;", "&#1638;", "&#1639;", "&#1640;", "&#1641;"];
    this.loanAmount = 0,
    this.annualInterestRate = 0,
    this.tenorInMonths = 0,
    this.monthlyNETIncome = 0,
    this.monthlyNETIncome35Percent = 0,
    this.monthlyInstallment = 0,
    this.carValue = null,
    this.downPayment = 0,
    this.productVariants = [],
    this.activeVariant = {},
    this.activeInterestType = {},
    this.activeTab = 0,
    this.errorState = !1,
    this.error35State = !1,
    this.errorCarState = !1,
    this.urlParams = {},
    this.activeCalculator = null,
    this.isdefaultElement = "true",
    this.init = function () {
        if ($("section.com16-11").length) {
            if (t)
                return void e.showErrorMessage();
            e.setVisibleCalculatorAsActive(),
            e.activeCalculator ? (console.log("finding labels and data"), e.calculatorData = JSON.parse(e.activeCalculator.siblings("#calculatorData").val()), e.calculatorLabels = JSON.parse(e.activeCalculator.siblings("#calculatorLabels").val())) : console.log("can't find json configuration please check");
            var a = Intesa.CalculatorNavigation.getInstance(e.activeCalculator);
            a.currentTab = 0,
            a.init(),
            e.setNumSystem(".loan_arab_language"),
            e.setNumSystem(".monthly_arab_language"),
            e.setNumSystem(".car_arab_language"),
            e.setNumSystem(".carmonthly_arab_language"),
            e.setNumSystem(".carborrow_arab_language"),
            e.mapProductVariants(),
            e.getUrlQueryStringParams(),
            e.setVariantInitValue(),
            e.setTabInitValue(),
            e.setInterestTypeInitValue(),
            e.addPurposeSelectOptions(),
            e.attachChangeEvents(),
            e.updateCalculatorInputs("urlParams"),
            e.handleNoMoreThan65YearsLong(),
            e.updateCalculatorOutputs()
        }
    },
    this.generateTranslatedNumber = function (t) {
        var a = "rtl" === $("html").attr("dir");
        return void 0 !== t && a && (t = e.translateInArabicNumber(t)),
        t
    },
    this.translateInArabicNumber = function (e) {
        var t = "";
        e = e.toString();
        for (var a = 0; a < e.length; a++)
            isNaN(e[a]) || "" === e[a] ? t += e[a] : t += "," == e.charAt(a) || " " == e.charAt(a) ? "," : n[parseInt(e.charAt(a))];
        return t
    },
    this.setVariantInitValue = function () {
        var t = e.getDefaultVariantLabel(),
        a = e.urlParams.loanPurpose ? e.urlParams.loanPurpose : t;
        e.setActiveVariant(a)
    },
    this.setTabInitValue = function () {
        var t = "false" !== e.urlParams.isDefault;
        e.setActiveTab(t, !0)
    },
    this.setInterestTypeInitValue = function () {
        var t = e.getDefaultInterestTypeLabel(),
        a = e.urlParams.interestType ? e.urlParams.interestType : t;
        e.setActiveInterestType(a)
    },
    this.updateCalculatorInputs = function (t) {
        e.updateTabsNumber(),
        e.updateInterestTypesSelect(),
        e.updateMonthlyIncomeInput(t),
        e.updateCarValueInput(t),
        e.updateLoanAmountInput(t),
        e.updateTenorInMonthsSlider(t),
        e.updateAgeSlider(t),
        e.formatMoneyInputs(),
        $('[name="monthlyNETIncomeValueAR"]', e.activeCalculator).val(e.getInputValue($('[name="monthlyNETIncomeValue"]', e.activeCalculator))).trigger("keyup"),
        $('[name="borrowAmoutValueAR"]', e.activeCalculator).val($('[name="borrowAmoutValue"]', e.activeCalculator).attr("data-parsley-min")).trigger("keyup"),
        $('[name="carValueAR"]', e.activeCalculator).val($('[name="borrowAmoutValue"]', e.activeCalculator).attr("data-parsley-min")).trigger("keyup")
    },
    this.updateCalculatorOutputs = function () {
        e.checkErrors(),
        e.getCalculatorInputs(),
        e.calculateMonthlyInstallment(),
        e.calculateDownPayment(),
        e.check35PercentErrors(),
        e.checkCarValueError(),
        e.appendCalculatorOutputs(),
        e.updateCallBackJsonValues(),
        e.updateShareCalculatorLink(),
        e.changeValueInput(".loan_arab_language"),
        e.changeValueInput(".monthly_arab_language"),
        e.changeValueInput(".car_arab_language"),
        e.changeValueInput(".carmonthly_arab_language"),
        e.changeValueInput(".carborrow_arab_language")
    },
    this.updateShareCalculatorLink = function () {
        var t = window.location.href;
        t = t.split("?"),
        t = t[0];
        var a = parseInt($('[data-algorithm-input="age"]', e.activeCalculator).val()),
        r = "?loanPurpose=" + e.activeVariant.name + "&loanAmount=" + e.loanAmount + "&tenor=" + e.tenorInMonths + "&age=" + a + "&monthlyIncome=" + e.monthlyNETIncome + "&interestType=" + e.activeInterestType.code + "&isDefault=" + e.activeTab.isDefault + "&carValue=" + e.carValue;
        $("[data-socialshare]", e.activeCalculator).length > 0 && $("[data-socialshare]", e.activeCalculator).each(function () {
            "facebook" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + t + r),
            "twitter" == $(this).attr("data-socialshare") && $(this).attr("href", "https://twitter.com/home?status=" + t + r),
            "linkedin" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.linkedin.com/sharing/share-offsite/?url=" + t + r),
            "whatsapp" == $(this).attr("data-socialshare") && $(this).attr("href", " https://wa.me/?text=" + encodeURIComponent(t) + encodeURIComponent(r)),
            "mail" == $(this).attr("data-socialshare") && $(this).attr("href", "mailto:?body=" + t + encodeURIComponent(r))
        })
    },
    this.checkCarValueError = function () {
        var t = $("[data-car-error]", e.activeCalculator),
        a = $('[data-algorithm-input="loanAmount"]', e.activeCalculator),
        n = a.parents(".spaceBottom").find(".parsley-errors-list li"),
        o = e.carValue,
        i = e.activeTab.data.downPayment;
        null !== i && void 0 !== i ? (o = e.carValue - e.carValue * (e.activeTab.data.downPayment / 100), $('[data-car-error-msg="withoutsalary"] b', e.activeCalculator).replaceWith("{value}"), $('[data-car-error-msg="withsalary"]', e.activeCalculator).hide(), $('[data-car-error-msg="withoutsalary"]', e.activeCalculator).show().html($('[data-car-error-msg="withoutsalary"]', e.activeCalculator).html().replace(/{value}/g, "<b>" + number_format(o, 0, r.decimal_number, r.separator_number) + "</b>"))) : ($('[data-car-error-msg="withsalary"]', e.activeCalculator).show(), $('[data-car-error-msg="withoutsalary"]', e.activeCalculator).hide());
        var s = e.loanAmount > o,
        l = !1 === e.errorState && !1 === e.error35State;
        a.length && t.length && (s && l ? (this.errorCarState = !0, t.removeClass("hide"), a.removeClass("parsley-success"), a.addClass("parsley-error")) : (this.errorCarState = !1, t.addClass("hide"), n.length || (a.addClass("parsley-success"), a.removeClass("parsley-error"))))
    },
    this.getUrlQueryStringParams = function () {
        var t = window.location.href;
        t = t.split("?");
        var a = t[1];
        if (void 0 !== a) {
            a.split("&").forEach(function (t) {
                var a = t.split("="),
                r = a[0],
                n = a[1];
                e.urlParams[r] = n
            })
        }
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first())
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.updateCalculatorConfigurationByTenor = function (t) {
        var a = (e.activeVariant.data.glProductVariantList, !1);
        for (k = 0; k < e.activeVariant.data.glGenericCalculationList.length || a; k++) {
            var r = e.activeVariant.data.glGenericCalculationList[k],
            n = r.interest[0].firstPeriod.monthDuration;
            if (null != r.interest[0].firstPeriod.monthDuration && "null" != r.interest[0].firstPeriod.monthDuration || (n = r.interest[1].firstPeriod.monthDuration), r.amountList[0].minimumTenor <= t && n >= t && r.amountList[0].maximumTenor >= t && e.activeTab.data.standard == r.standard) {
                e.activeTab = {
                    isDefault: r.isDefault,
                    data: r
                },
                a = !0;
                break
            }
        }
        if (!a)
            for (k = 0; k < e.activeVariant.data.glGenericCalculationList.length || a; k++) {
                var r = e.activeVariant.data.glGenericCalculationList[k];
                if (r.isDefault) {
                    e.activeTab = {
                        isDefault: r.isDefault,
                        data: r
                    },
                    a = !0;
                    break
                }
            }
        e.updateInterestTypesSelect()
    },
    this.attachChangeEvents = function () {
        $(document).on("click", ".com15__filterItem", function () {
            var t = $(this).attr("data-filter"),
            a = "desktop";
            if ($(window).width() < 768)
                var a = "mobile";
            var r = $('.com15__filter[data-filter="' + t + '"]').find("[data-calculator=" + a + "]");
            e.setActiveCalculator(r),
            e.activeCalculator ? (console.log("finding labels and data"), e.calculatorData = JSON.parse(e.activeCalculator.siblings("#calculatorData").val()), e.calculatorLabels = JSON.parse(e.activeCalculator.siblings("#calculatorLabels").val())) : console.log("can't find json configuration please check"),
            e.productVariants = [];
            var n = Intesa.CalculatorNavigation.getInstance(e.activeCalculator);
            n.currentTab = 0,
            n.init(),
            e.mapProductVariants(),
            e.getUrlQueryStringParams(),
            e.setVariantInitValue(),
            e.setTabInitValue(),
            e.setInterestTypeInitValue(),
            e.addPurposeSelectOptions(),
            e.updateCalculatorInputs("urlParams"),
            e.handleNoMoreThan65YearsLong(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-purpose-select]", function () {
            var t = $(this).val();
            e.setActiveVariant(t),
            e.setActiveTab(!0, !0),
            e.setActiveInterestType(e.getDefaultInterestTypeLabel()),
            e.updateCalculatorInputs("default"),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-interest-select]", function () {
            var t = $(this).find(":selected").attr("data-interest-code");
            e.setActiveInterestType(t),
            e.updateTenorInMonthsSlider(),
            e.updateCalculatorConfigurationByTenor(e.tenorInMonths),
            e.handleNoMoreThan65YearsLong(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", "[data-tab-default]", function () {
            var t = "true" === $(this).attr("data-tab-default") ? "true" : "false";
            e.isdefaultElement = t,
            e.setActiveTab(t, !1),
            e.updateCalculatorInputs(),
            e.handleNoMoreThan65YearsLong(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change focusin focusout keyup", "[data-algorithm-input]", function () {
            "age" === $(this).attr("data-algorithm-input") && e.handleNoMoreThan65YearsLong(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".js-btnMinus, .js-btnAdd", function () {
            $(this).parents(".sliderRange__wrapper").find(".rangeslider").trigger("change")
        }),
        $(document).on("keyup", 'input[data-algorithm-input="loanDurationMobile"]', function () {
            var t = $(".rangeslider.rangeslider--3", e.activeCalculator);
            parseInt(t.attr("data-slider-index"));
            $(this).val(e.changeToLatin($(this).val())),
            $(this).parsley().validate();
            var r = e.changeToLatin($(this).val());
            a.indexOf("ar") > -1 && (isNaN(Number(e.changeToLatin($(this).val()))) ? $(this).val("") : $(this).val(e.changeToArab($(this).val().split("")))),
            t.slider("setValue", r, !0),
            e.updateCalculatorConfigurationByTenor(r)
        }),
        $(document).on("change", "[data-algorithm-input=newInterest] input", function () {
            var t = $("select[data-interest-select]", e.activeCalculator);
            $(this).attr("id").includes("fixed") ? t.find("option[data-interest-code='FIXED']").prop("selected", !0) : t.find("option[data-interest-code='VARIABLE']").prop("selected", !0),
            t.trigger("change")
        }),
        $(document).on("change", "[data-algorithm-input=newPurpose] input", function () {
            var t = $(this).val(),
            a = $("select[data-purpose-select]", e.activeCalculator);
            a.val(t),
            a.trigger("change")
        }),
        $(document).on("keyup", 'input[data-algorithm-input="loanAge"]', function () {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
            $(this).parsley().validate();
            parseInt(t.attr("data-slider-index"));
            t.slider("setValue", $(this).val(), !0),
            t.trigger("change"),
            $('[name="loanAgeAr"]', e.activeCalculator).val(e.changeToArab($(this).val().split("")))
        }),
        $(document).on("keyup", 'input[name="loanAgeAr"]', function () {
            var t = e.changeToLatin($(this).val());
            isNaN(Number(t)) && (t = ""),
            $('input[data-algorithm-input="loanAge"]', e.activeCalculator).val(t),
            $('input[data-algorithm-input="loanAge"]', e.activeCalculator).parsley().validate(),
            isNaN(Number(e.changeToLatin($(this).val()))) ? $(this).val("") : $(this).val(e.changeToArab($(this).val().split("")));
            var a = $(".rangeslider.rangeslider--2", e.activeCalculator);
            parseInt(a.attr("data-slider-index"));
            a.slider("setValue", t, !0),
            a.trigger("change")
        }),
        $(document).on("change", ".rangeslider", function () {
            var t = $(this).val(),
            a = $(this).parents(".sliderRange__wrapper");
            a.find(".qty").val(t),
            a.find(".valShow").html(e.generateTranslatedNumber(t)),
            $(this).siblings('[data-algorithm-input="age"]').length && e.handleNoMoreThan65YearsLong(),
            e.updateCalculatorConfigurationByTenor(t),
            e.updateCalculatorOutputs()
        })
    },
    this.updateCallBackJsonValues = function () {
        var t = $("*[data-cmb-input]", e.activeCalculator);
        if (t && t.length > 0) {
            var a = !0 === e.errorState || !0 === e.error35State || !0 === e.errorCarState,
            r = parseInt($('[data-algorithm-input="age"]', e.activeCalculator).val()),
            n = {
                LOANAMOUNT: a ? "N/A" : e.loanAmount,
                DURATION: a ? "N/A" : e.tenorInMonths,
                INSTALLMENT: a ? "N/A" : e.monthlyInstallment,
                MONTHLYINCOME: a ? "N/A" : e.monthlyNETIncome,
                AGE: a ? "N/A" : r,
                ISDEFAULT: a ? "N/A" : e.activeTab.data.isDefault,
                INTERESTRATE: a ? "N/A" : e.annualInterestRate
            };
            null !== e.activeVariant.name && (n.LOANPURPOSE = a ? "N/A" : e.activeVariant.name),
            null !== e.carValue && (n.CARVALUE = a ? "N/A" : e.carValue),
            t.val(JSON.stringify(n))
        }
    },
    this.handleNoMoreThan65YearsLong = function () {
        var t = e.getVariantMaximumTenor(),
        a = t / 12,
        r = parseInt($('[data-algorithm-input="age"]', e.activeCalculator).val()),
        n = $(".rangeslider.rangeslider--3", e.activeCalculator),
        o = n,
        i = n.parents(".sliderRange__wrapper"),
        s = o.slider("getValue"),
        l = !1,
        c = parseInt(n.attr("data-slider-max"));
        if (a + r >= 65) {
            var u = a + r - 65;
            u *= 12,
            t = Math.ceil(t - u)
        }
        l = t > c && s >= c,
        n.attr("data-slider-max", t),
        o.slider("destroy"),
        o.slider(),
        s >= t || l ? (i.find(".qty").val(t), i.find(".valShow").html(e.generateTranslatedNumber(t)), o.slider("setValue", t, !0)) : (i.find(".qty").val(s), i.find(".valShow").html(e.generateTranslatedNumber(s)), o.slider("setValue", s, !0)),
        e.attachOnSlideEvent(o, n, i),
        i.find("[data-max]").html(e.generateTranslatedNumber(t))
    },
    this.updateTabsNumber = function () {
        var t = e.activeVariant.data.glGenericCalculationList,
        a = t.length,
        r = $(".com16__tabMenu", e.activeCalculator),
        n = $(".com16__tabContainer", e.activeCalculator);
        a <= 1 ? (r.hide(), n.css("padding-top", "40px")) : (r.show(), n.removeAttr("style")),
        $('[data-component="Com16_11"]', e.activeCalculator).show()
    },
    this.calculateDownPayment = function () {
        e.downPayment = e.carValue * (e.activeTab.data.downPayment / 100)
    },
    this.setActiveVariant = function (t) {
        for (var a = e.productVariants, r = a.length, n = !1, o = 0; o < r; o++) {
            if (a[o].name === t) {
                e.activeVariant = a[o],
                n = !0;
                break
            }
        }
        n || e.setActiveVariant(e.getDefaultVariantLabel())
    },
    this.setActiveInterestType = function (t) {
        for (var a = e.activeTab.data.interest, r = a.length, n = !1, o = 0; o < r; o++) {
            var i = a[o];
            if (i.interestCode === t) {
                e.activeInterestType = {
                    code: i.interestCode,
                    maxTenor: i.firstPeriod.monthDuration
                },
                n = !0;
                break
            }
        }
        n || (e.activeInterestType = {
                code: a[0].interestCode,
                maxTenor: a[0].firstPeriod.monthDuration
            })
    },
    this.check35PercentErrors = function () {
        var t = $('[data-35-error="loanAmount"]', e.activeCalculator),
        a = $('[data-35-error="tenorInMonths"]', e.activeCalculator),
        r = $('[data-algorithm-input="loanAmount"]', e.activeCalculator),
        n = r.parents(".spaceBottom").find(".parsley-errors-list li"),
        o = e.monthlyInstallment > e.monthlyNETIncome35Percent;
        e.update35PercentErrorMessages(),
        o && !1 === e.errorState ? (e.error35State = !0, r.removeClass("parsley-success"), r.addClass("parsley-error"), t.removeAttr("style"), e.loanAmount > e.calculateMaximumLoanAmount(parseInt(e.activeInterestType.maxTenor)) ? a.addClass("hide") : a.removeClass("hide")) : (e.error35State = !1, n.length || (r.addClass("parsley-success"), r.removeClass("parsley-error")), t.css("color", "#4d4d4d"), a.addClass("hide"))
    },
    this.update35PercentErrorMessages = function () {
        var t = e.calculateMaximumLoanAmount();
        t = e.limitMaximumLoanAmount(t),
        t = number_format(t, 0, r.decimal_number, r.separator_number),
        t = e.generateTranslatedNumber(t);
        var a = "<b>" + t + "</b>";
        e.set35PercentErrorMessage("loanAmount", a);
        var n = e.calculateMinimumTenor();
        n = number_format(n, 0, r.decimal_number, r.separator_number),
        n = e.generateTranslatedNumber(n);
        var o = "<b>" + n + "</b>";
        e.set35PercentErrorMessage("tenorInMonths", o)
    },
    this.limitMaximumLoanAmount = function (t) {
        var a = e.activeTab.data.maxAmountForOnline ? e.activeTab.data.maxAmountForOnline : t;
        return t > a && (t = a),
        t
    },
    this.set35PercentErrorMessage = function (t, a) {
        console.log("data-35-error" + t);
        var r = $('[data-35-error="' + t + '"]', e.activeCalculator),
        n = r.html();
        n = n.replace(/<b>(.*?)<\/b>/g, a),
        n = n.replace(/{value}/g, a),
        r.html(n)
    },
    this.checkErrors = function () {
        e.checkInterestTypeTenorMaximum(),
        e.checkAgeMaximum(),
        e.updateErrorState()
    },
    this.updateErrorState = function () {
        var t = $(".parsley-errors-list li", e.activeCalculator).length,
        a = $(".alertMessage.fc-error[data-max-error]", e.activeCalculator).not(".hide").length;
        console.log($(".alertMessage.fc-error[data-max-error]", e.activeCalculator));
        var r = t > 0 || a > 0;
        e.errorState = !!r
    },
    this.getDefaultInterestTypeLabel = function () {
        return e.activeTab.data.interest[0].interestCode
    },
    this.updateAgeSlider = function (t) {
        var a = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (a.length) {
            var r = a,
            n = a.parents(".sliderRange__wrapper"),
            o = r.slider("getValue");
            e.updateAgeMaximumErrorMessage();
            var i = e.activeTab.data.stepAge ? e.activeTab.data.stepAge : 1;
            i = Math.ceil(i),
            a.attr("data-slider-step", i);
            var s = e.getVariantMaxAndMinAge(),
            l = s.max,
            c = s.min;
            if (a.attr("data-slider-max", l), a.attr("data-slider-min", c), n.find("[data-max]").html(e.generateTranslatedNumber(l)), n.find("[data-min]").html(e.generateTranslatedNumber(c)), $('input[data-algorithm-input="loanAge"]', e.activeCalculator).attr("data-parsley-min", c), $('input[data-algorithm-input="loanAge"]', e.activeCalculator).attr("data-parsley-max", l), $(".age-min-max", e.activeCalculator).find("[data-max]").html(e.generateTranslatedNumber(l)), $(".age-min-max", e.activeCalculator).find("[data-min]").html(e.generateTranslatedNumber(c)), r.slider("destroy"), r.slider(), "urlParams" === t) {
                var u = parseInt(e.urlParams.age);
                u = u && u >= c && u <= l ? u : c,
                n.find(".qty").val(u),
                n.find(".valShow").html(e.generateTranslatedNumber(u)),
                r.slider("setValue", u, !0),
                $('input[data-algorithm-input="loanAge"]', e.activeCalculator).val(u),
                $('[name="loanAgeAr"]', e.activeCalculator).val(e.changeToArab(u.toString().split("")))
            } else
                "default" === t || o > l ? (n.find(".qty").val(c), n.find(".valShow").html(e.generateTranslatedNumber(c)), r.slider("setValue", c, !0), $('input[data-algorithm-input="loanAge"]', e.activeCalculator).val(c), $('[name="loanAgeAr"]', e.activeCalculator).val(e.changeToArab(c.toString().split("")))) : (n.find(".qty").val(o), n.find(".valShow").html(e.generateTranslatedNumber(o)), r.slider("setValue", o, !0), $('input[data-algorithm-input="loanAge"]', e.activeCalculator).val(o), $('[name="loanAgeAr"]', e.activeCalculator).val(e.changeToArab(o.toString().split(""))))
        }
    },
    this.updateAgeMaximumErrorMessage = function () {
        var t = $('[data-algorithm-input="age"]', e.activeCalculator).parents(".sliderRange__wrapper"),
        a = e.activeTab.data.maxAge;
        a = number_format(a, 0, r.decimal_number, r.separator_number),
        a = e.generateTranslatedNumber(a);
        var n = "<span>" + a + "</span>",
        o = t.find("[data-max-error]").html();
        o = o.replace(/<span>(.*?)<\/span>/g, n),
        o = o.replace(/{value}/g, n),
        t.find("[data-max-error]").html(o)
    },
    this.checkAgeMaximum = function () {
        var t = $('[data-algorithm-input="age"]', e.activeCalculator).parents(".sliderRange__wrapper");
        t.find("input[data-algorithm-input=age]").val() > parseInt(e.activeTab.data.maxAge) ? t.find("[data-max-error]").removeClass("hide") : t.find("[data-max-error]").addClass("hide")
    },
    this.updateTenorInMonthsSlider = function (t) {
        var r = $(".rangeslider.rangeslider--3", e.activeCalculator);
        if (r.length) {
            var n = r,
            o = r.parents(".sliderRange__wrapper"),
            i = n.slider("getValue");
            e.updateTenorMaximumErrorMessage();
            var s = e.activeTab.data.amountList[0].tenorScalingFactor ? e.activeTab.data.amountList[0].tenorScalingFactor : 1;
            s = Math.ceil(s),
            r.attr("data-slider-step", s);
            var l = e.getVariantMaximumTenor(),
            c = e.activeTab.data.amountList[0].minimumTenor;
            if (r.attr("data-slider-max", l), r.attr("data-slider-min", c), o.find("[data-max]").html(e.generateTranslatedNumber(l)), o.find("[data-min]").html(e.generateTranslatedNumber(c)), $('input[data-algorithm-input="loanDurationMobile"]', e.activeCalculator).attr("data-parsley-min", n.attr("data-slider-min")), $('input[data-algorithm-input="loanDurationMobile"]', e.activeCalculator).attr("data-parsley-max", n.attr("data-slider-max")), a.indexOf("ar") > -1 ? ($(".tenor-slider-min-max", e.activeCalculator).find("[data-max]").html(e.changeToArab(n.attr("data-slider-max").toString().split(""))), $(".tenor-slider-min-max", e.activeCalculator).find("[data-min]").html(e.changeToArab(n.attr("data-slider-min").toString().split("")))) : ($(".tenor-slider-min-max", e.activeCalculator).find("[data-max]").html(n.attr("data-slider-max")), $(".tenor-slider-min-max", e.activeCalculator).find("[data-min]").html(n.attr("data-slider-min"))), n.slider("destroy"), n.slider(), "urlParams" === t) {
                var u = parseInt(e.urlParams.tenor);
                u = u && u >= c && u <= l ? u : l,
                o.find(".qty").val(u),
                o.find(".valShow").html(e.generateTranslatedNumber(u)),
                n.slider("setValue", u, !0),
                a.indexOf("ar") > -1 && (u = e.changeToArab(u.toString().split(""))),
                $('input[data-algorithm-input="loanDurationMobile"]', e.activeCalculator).val(u)
            } else
                "default" === t || i > l ? (o.find(".qty").val(l), o.find(".valShow").html(e.generateTranslatedNumber(l)), n.slider("setValue", l, !0), a.indexOf("ar") > -1 && (l = e.changeToArab(l.toString().split(""))), $('input[data-algorithm-input="loanDurationMobile"]', e.activeCalculator).val(l)) : (o.find(".qty").val(i), o.find(".valShow").html(e.generateTranslatedNumber(i)), n.slider("setValue", i, !0), a.indexOf("ar") > -1 && (i = e.changeToArab(i.toString().split(""))), $('input[data-algorithm-input="loanDurationMobile"]', e.activeCalculator).val());
            e.attachOnSlideEvent(n, r, o),
            r.trigger("change")
        }
    },
    this.attachOnSlideEvent = function (t, a, r) {
        t.on("slide", function () {
            var n = t.slider("getValue");
            r.find(".qty").val(n),
            r.find(".valShow").html(e.generateTranslatedNumber(n)),
            a.siblings(".qty").trigger("change")
        })
    },
    this.changeToArab = function (e) {
        for (var t = ["۰", "۱", "۲", "۳", "٤", "٥", "٦", "۷", "۸", "۹"], a = 0; a < e.length; a++)
            parseFloat(e[a]) > -1 && (e[a] = t[e[a]]);
        return e.join("")
    },
    this.changeToLatin = function (e) {
        try {
            for (var t = e.split(""), a = 0; a < t.length; a++)
                switch (t[a]) {
                case "۰":
                    t[a] = "0";
                    break;
                case "۱":
                    t[a] = "1";
                    break;
                case "۲":
                    t[a] = "2";
                    break;
                case "۳":
                    t[a] = "3";
                    break;
                case "٤":
                    t[a] = "4";
                    break;
                case "٥":
                    t[a] = "5";
                    break;
                case "٦":
                    t[a] = "6";
                    break;
                case "۷":
                    t[a] = "7";
                    break;
                case "۸":
                    t[a] = "8";
                    break;
                case "۹":
                    t[a] = "9";
                    break;
                case ".":
                    t[a] = ".";
                    break;
                case ",":
                    break;
                default:
                    t[a] = e[a]
                }
            return t.join("")
        } catch (t) {
            return e
        }
    },
    this.updateTenorMaximumErrorMessage = function () {
        var t = $('[data-algorithm-input="tenorInMonths"]', e.activeCalculator).parents(".sliderRange__wrapper"),
        a = e.getVariantMaximumTenor();
        a = number_format(a, 0, r.decimal_number, r.separator_number),
        a = e.generateTranslatedNumber(a);
        var n = "<span>" + a + "</span>",
        o = t.find("[data-max-error]").html();
        o = o.replace(/<span>(.*?)<\/span>/g, n),
        o = o.replace(/{value}/g, n),
        t.find("[data-max-error]").html(o)
    },
    this.checkInterestTypeTenorMaximum = function () {
        var t = $('[data-algorithm-input="tenorInMonths"]', e.activeCalculator).parents(".sliderRange__wrapper");
        $('[data-algorithm-input="tenorInMonths"]', e.activeCalculator).val() > e.getVariantMaximumTenor() ? t.find("[data-max-error]").removeClass("hide") : t.find("[data-max-error]").addClass("hide")
    },
    this.getVariantMaxAndMinAge = function () {
        var t = e.activeVariant.data.glGenericCalculationList,
        a = [];
        return t.forEach(function (e) {
            a.push(e.maxAge),
            a.push(e.minAge)
        }), {
            max: Math.max.apply(!1, a),
            min: Math.min.apply(!1, a)
        }
    },
    this.getVariantMaximumTenor = function () {
        var t = e.activeVariant.data.glGenericCalculationList,
        a = [];
        return t.forEach(function (t) {
            var r = 1 == t.isDefault ? "true" : "false",
            n = $("[name=productIdCalculator]").attr("value");
            "100" != n && "101" != n && "102" != n && "103" != n && (e.isdefaultElement = "true", r = "true");
            var o = t.interest;
            o.forEach(function (t) {
                (t.interestCode === e.activeInterestType.code && r == e.isdefaultElement || o.length <= 1) && a.push(t.firstPeriod.monthDuration)
            })
        }),
        Math.max.apply(!1, a)
    },
    this.updateLoanAmountInput = function (t) {
        var a = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (a.length) {
            var r = e.activeTab.data.minimumAmount,
            n = e.activeTab.data.maxAmountForOnline,
            o = e.activeTab.data.defaultAmount;
            e.updateTextInputMinErrorMessage(r, a),
            e.updateTextInputMaxErrorMessage(n, a),
            e.setInputValue(a, r, n, o, t, "loanAmount")
        }
        a.parsley().validate()
    },
    this.updateMonthlyIncomeInput = function (t) {
        var a = $('[data-algorithm-input="monthlyNETIncome"]', e.activeCalculator);
        if (a.length) {
            var r = e.activeTab.data.minNetMonthlyIncome,
            n = e.activeTab.data.maxNetMonthlyIncome,
            o = e.activeTab.data.defaultNetMonthlyIncome;
            e.updateTextInputMinErrorMessage(r, a),
            e.updateTextInputMaxErrorMessage(n, a),
            e.setInputValue(a, r, n, o, t, "monthlyIncome"),
            a.parsley().validate()
        }
    },
    this.updateCarValueInput = function (t) {
        var a = $('[data-algorithm-input="carValue"]', e.activeCalculator);
        if (a.length) {
            var r = e.activeTab.data.carMin,
            n = e.activeTab.data.carMax,
            o = e.activeTab.data.defaultAmount;
            e.updateTextInputMinErrorMessage(r, a),
            e.updateTextInputMaxErrorMessage(n, a),
            e.setInputValue(a, r, n, o, t, "carValue"),
            a.parsley().validate()
        }
    },
    this.updateTextInputMinErrorMessage = function (t, a) {
        null !== t && void 0 !== t ? (a.attr("data-parsley-min", t), t = number_format(t, 0, r.decimal_number, r.separator_number), e.setTextInputErrorMessage(a, t, "data-parsley-min-message")) : a.removeAttr("data-parsley-min")
    },
    this.updateTextInputMaxErrorMessage = function (t, a) {
        null !== t && void 0 !== t ? (a.attr("data-parsley-max", t), t = number_format(t, 0, r.decimal_number, r.separator_number), e.setTextInputErrorMessage(a, t, "data-parsley-max-message")) : a.removeAttr("data-parsley-max")
    },
    this.setTextInputErrorMessage = function (t, a, r) {
        a = e.generateTranslatedNumber(a);
        var n = "<span>" + a + "</span>",
        o = t.attr(r);
        o && (o = o.replace(/<span>(.*?)<\/span>/g, n), o = o.replace(/{value}/g, n), t.attr(r, o))
    },
    this.getDefaultVariantLabel = function () {
        for (var t = e.productVariants, a = t.length, r = 0; r < a; r++) {
            if (t[r].isDefault)
                return t[r].name
        }
    },
    this.setActiveTab = function (t, a) {
        var r = !1 !== t;
        if (a) {
            $('[data-tab-default="' + r + '"]', e.activeCalculator).parent().hasClass("open") || $('[data-tab-default="' + r + '"]', e.activeCalculator).trigger("click")
        }
        for (var n = e.activeVariant.data.glGenericCalculationList, o = n.length, i = !1, s = 0; s < o; s++) {
            if (n[s].isDefault === r) {
                e.activeTab = {
                    isDefault: n[s].isDefault,
                    data: n[s]
                };
                var i = !0;
                break
            }
        }
        i || (e.activeTab = {
                isDefault: n[0].isDefault,
                data: n[0]
            })
    },
    this.updateInterestTypesSelect = function () {
        var t = e.activeTab.data.interest,
        a = t.length,
        r = $("[data-interest-select]", e.activeCalculator),
        n = "";
        r.html("");
        var o = 0;
        t.forEach(function (t) {
            var a = e.calculatorLabels[t.interestCode],
            r = t.firstPeriod.interestRate,
            i = t.interestCode,
            s = t.firstPeriod.monthDuration;
            t.interestCode === e.activeInterestType.code ? n += '<option data-max-tenor="' + s + '" data-interest-code="' + i + '" value="' + r + '" selected>' + a + "</option>" : n += '<option data-max-tenor="' + s + '" data-interest-code="' + i + '" value="' + r + '">' + a + "</option>",
            $("div[data-algorithm-input=newInterest]", e.activeCalculator).children().find("input[type=radio]").each(function (e, t) {
                if (console.log("index"), e == o)
                    return $(t).val(r), $(t).parent().find("span").text(a), $(window).width() > 768 ? $(t).parents(".section__form__inline").css("display", "inline-block") : $(t).parents(".section__form__inline").css("display", "block"), o += 1, !1
            })
        }),
        r.append(n),
        e.updateSelectDisabledProp(r, a)
    },
    this.updateSelectDisabledProp = function (e, t) {
        var a = t <= 1;
        e.prop("disabled", a)
    },
    this.mapProductVariants = function () {
        e.calculatorData.glGenericSimulatorParams.glProductVariantList.forEach(function (t) {
            "PERSONAL_FINANCE" === t.variantType ? e.getPersonalFinanceSubVariants().forEach(function (a) {
                var r = "PERSONAL_USE" === a;
                e.productVariants.push({
                    name: a,
                    isDefault: r,
                    data: t.glConfigurationList[0]
                })
            }) : e.productVariants.push({
                name: t.variantType,
                isDefault: t.default,
                data: t.glConfigurationList[0]
            })
        })
    },
    this.getPersonalFinanceSubVariants = function () {
        var t = e.calculatorLabels.PERSONAL_FINANCE_OPTIONS,
        a = [];
        for (var r in t)
            a.push(r);
        return a
    },
    this.addPurposeSelectOptions = function () {
        var t = "",
        a = e.calculatorData.glGenericSimulatorParams.glProductVariantList,
        r = [];
        a.forEach(function (e) {
            r.push(e.variantType)
        });
        var n = 0;
        e.productVariants.forEach(function (a) {
            var o = a.name,
            i = e.calculatorLabels[a.name] ? e.calculatorLabels[a.name] : e.calculatorLabels.PERSONAL_FINANCE_OPTIONS ? e.calculatorLabels.PERSONAL_FINANCE_OPTIONS[a.name] : void 0;
            a.name === e.activeVariant.name ? t += '<option value="' + o + '" selected>' + i + "</option>" : t += '<option value="' + o + '">' + i + "</option>",
            $("div[data-algorithm-input=newPurpose]", e.activeCalculator).children().find("input[type=radio]").each(function (e, t) {
                if (console.log("index"), e == n && (r.indexOf(o) >= 0 || "PERSONAL_USE" == o))
                    return $(t).val(o), $(t).parent().find("span").text(i), $(t).parents(".section__form__inline").css("display", "inline-block"), n += 1, !1
            })
        }),
        $("[data-purpose-select]", e.activeCalculator).append(t)
    },
    this.addCommas = function (e) {
        var t = /(\d+)(\d{3})/;
        return String(e).replace(/^\d+/, function (e) {
            for (; t.test(e); )
                e = e.replace(t, "$1,$2");
            return e
        })
    },
    this.setNumSystem = function (t) {
        setTimeout(function () {
            $('[name="monthlyNETIncomeValueAR"]', e.activeCalculator).val($('[name="monthlyNETIncomeValue"]', e.activeCalculator).attr("data-parsley-min")).trigger("keyup"),
            $('[name="borrowAmoutValueAR"]', e.activeCalculator).val($('[name="borrowAmoutValue"]', e.activeCalculator).attr("data-parsley-min")).trigger("keyup"),
            $('[name="carValueAR"]', e.activeCalculator).val($('[name="borrowAmoutValue"]', e.activeCalculator).attr("data-parsley-min")).trigger("keyup")
        }, 500)
    },
    this.changeValueInput = function (e) {
        var t = $(e);
        t && t.length
    },
    $(document).on("keypress keyup blur", "[name=monthlyNETIncomeValueAR],[name=borrowAmoutValueAR],[name=carValueAR]", function (t) {
        (t.which < 48 || t.which > 57) && t.preventDefault();
        var a = $(this).val(),
        r = $('[name="monthlyNETIncomeValue"]', e.activeCalculator);
        if ("borrowAmoutValueAR" == $(this).attr("name") && (r = $('[name="borrowAmoutValue"]', e.activeCalculator)), "carValueAR" == $(this).attr("name") && (r = $('[name="carValue"]', e.activeCalculator)), a.length > 0) {
            $(this).val($.latin2Arabic.toArabic(a)),
            r.val($.latin2Arabic.toLatin(a).replace(/\D/g, "")).parsley().validate();
            var n = r.val();
            finalRes = parseInt(n).toLocaleString("ar-EG"),
            $(this).val(finalRes)
        } else
            r.val("");
        setTimeout(function () {
            r.trigger("change")
        }, 50)
    }),
    $(document).on("focusout", "[name=monthlyNETIncomeValueAR],[name=borrowAmoutValueAR],[name=carValueAR]", function (t) {
        "" == $(this).val() && ("monthlyNETIncomeValueAR" == $(this).attr("name") && $('[name="monthlyNETIncomeValueAR"]', e.activeCalculator).val($('[name="monthlyNETIncomeValue"]', e.activeCalculator).attr("data-parsley-min")).trigger("keyup"), "carValueAR" == $(this).attr("name") && $('[name="carValueAR"]', e.activeCalculator).val($('[name="borrowAmoutValue"]', e.activeCalculator).attr("data-parsley-min")).trigger("keyup"), "borrowAmoutValueAR" == $(this).attr("name") && $('[name="borrowAmoutValueAR"]', e.activeCalculator).val($('[name="borrowAmoutValue"]', e.activeCalculator).attr("data-parsley-min")).trigger("keyup"))
    }),
    this.returnToArabicNumberFromArray = function (t) {
        for (var a = "", r = 0; r < t.length; r++)
            ",.".includes(t[r]) ? a += t[r] : a += e.returnToArabicNumber(t[r]);
        return a
    },
    this.returnToArabicNumber = function (e) {
        var t = {
            arab: {
                _digits: "٠١٢٣٤٥٦٧٨٩"
            }
        },
        a = t.arab._digits;
        return parseFloat(e) > -1 ? a[e] : e
    },
    this.returnToNumeric = function (e) {
        try {
            for (var t = e.split(""), a = "", r = 0; r < t.length; r++)
                switch (t[r]) {
                case "٠":
                    a += "0";
                    break;
                case "١":
                    a += "1";
                    break;
                case "٢":
                    a += "2";
                    break;
                case "٣":
                    a += "3";
                    break;
                case "٤":
                    a += "4";
                    break;
                case "٥":
                    a += "5";
                    break;
                case "٦":
                    a += "6";
                    break;
                case "٧":
                    a += "7";
                    break;
                case "٨":
                    a += "8";
                    break;
                case "٩":
                    a += "9";
                    break;
                case ".":
                    a += ".";
                    break;
                case ",":
                    break;
                default:
                    a = e
                }
            return a
        } catch (t) {
            return e
        }
    },
    this.getCalculatorInputs = function () {
        for (var t = $("[data-algorithm-input]", e.activeCalculator), a = parseFloat($(e.activeCalculator).attr("data-loan-monthly-percentage-income")), r = 0; r < t.length; r++) {
            var n = t[r].getAttribute("data-algorithm-input");
            if ("newInterest" != n && "newPurpose" != n) {
                var o = t[r].value;
                if (o = o.replace(/,/g, ""), t[r].getAttribute("class").indexOf("_arab_language") > -1 && (o = e.returnToNumeric(o)), "loanDurationMobile" != n && "loanAgeAr" != n || (o = e.changeToLatin(o)), o = parseFloat(o), isNaN(o)) {
                    e.errorState = !0;
                    break
                }
                e.errorState = !1,
                e[n] = o
            } else {
                e.errorState = !1;
                var o = t[r].value;
                e[n] = o
            }
        }
        e.monthlyNETIncome35Percent = e.monthlyNETIncome * a
    },
    this.appendCalculatorOutputs = function () {
        var t = $("[data-algorithm-output]", e.activeCalculator),
        a = $(".com16__buttonCover .btn", e.activeCalculator);
        if (e.toggleDownPaymentOutputLine(), !0 === e.errorState || !0 === e.error35State || !0 === e.errorCarState)
            return $("[data-algorithm-output]", e.activeCalculator).text(e.calculatorLabels.ERROR_VALUE), void a.addClass("disabled");
        a.removeClass("disabled"),
        t.each(function () {
            var t = $(this).attr("data-algorithm-output"),
            a = e[t];
            "monthlyInstallment" !== t && "downPayment" !== t || (a = number_format(e[t], r.decimals_number, r.decimal_number, r.separator_number)),
            "loanAmount" === t && (a = number_format(e[t], 2, r.decimal_number, r.separator_number)),
            $(this).html(e.generateTranslatedNumber(a))
        })
    },
    this.toggleDownPaymentOutputLine = function () {
        var t = e.activeTab.data.downPayment,
        a = $('[data-algorithm-output="downPayment"]', e.activeCalculator).parents(".com16__highlistItem");
        null !== t && void 0 !== t ? a.removeClass("hide") : a.addClass("hide")
    },
    this.calculateMonthlyInstallment = function () {
        var t = e.loanAmount * (e.annualInterestRate / 100 / 12),
        a = 1 + e.annualInterestRate / 100 / 12,
        r = e.tenorInMonths,
        n = Math.pow(a, r),
        o = 1 - 1 / n,
        i = t / o;
        e.monthlyInstallment = parseFloat(i.toFixed(2))
    },
    this.calculateMinimumTenor = function () {
        var t = e.loanAmount * (e.annualInterestRate / 100 / 12) / e.monthlyNETIncome35Percent,
        a = 1 / (1 - t),
        r = 1 + e.annualInterestRate / 100 / 12;
        if (a <= 0 || r <= 0)
            return 1e4;
        var n = Math.log(a) / Math.log(r);
        return Math.ceil(n)
    },
    this.calculateMaximumLoanAmount = function (t) {
        var a = e.annualInterestRate / 100 / 12,
        r = 1 + e.annualInterestRate / 100 / 12,
        n = t || e.tenorInMonths,
        o = Math.pow(r, n),
        i = 1 - 1 / o,
        s = a / i,
        l = e.monthlyNETIncome35Percent / s;
        return l = Math.floor(l)
    },
    this.formatMoneyInputs = function () {
        var t = $("*[data-format-currency]", e.activeCalculator);
        t.length && t.each(function () {
            new Cleave($(this), {
                delimiter: r.separator,
                numeral: !0,
                numeralDecimalMark: r.decimal,
                numeralDecimalScale: 0,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.showErrorMessage = function () {
        $("section.com16-11, section.com16-13");
        $(".errorWsMessage").removeClass("hide")
    },
    this.consoleLogValues = function () {
        console.log("-------------------------------------------------"),
        console.log("variant name: " + e.activeVariant.name),
        console.log("loan amount: " + e.loanAmount),
        console.log("interest rate: " + e.annualInterestRate),
        console.log("tenor in months: " + e.tenorInMonths),
        console.log("monthly income: " + e.monthlyNETIncome),
        console.log("monthly income 35 percent: " + e.monthlyNETIncome35Percent),
        console.log("car value: " + e.carValue),
        console.log("down payment: " + e.downPayment),
        console.log("monthly installment: " + e.monthlyInstallment),
        console.log("-------------------------------------------------")
    },
    this.getInputValue = function (t) {
        var a = t.val();
        return a = a.replace(/,/g, "").replaceAll(r.separator, ""),
        t.hasClass("_arab_language") > -1 && (a = e.returnToNumeric(a)),
        parseFloat(a)
    },
    this.setInputValue = function (t, a, r, n, o, i) {
        var s = void 0;
        s = "urlParams" === o ? parseInt(e.urlParams[i]) : "default" === o ? n : e.getInputValue(t),
        s = s && (s >= a || null === a) && (s <= r || null === r) ? s : n,
        t.val(s)
    },
    $.latin2Arabic = {
        _numerals: [{
                arabic: "٠",
                latin: "0",
                html: "&#1632;"
            }, {
                arabic: "١",
                latin: "1",
                html: "&#1633;"
            }, {
                arabic: "٢",
                latin: "2",
                html: "&#1634;"
            }, {
                arabic: "٣",
                latin: "3",
                html: "&#1635;"
            }, {
                arabic: "٤",
                latin: "4",
                html: "&#1636;"
            }, {
                arabic: "٥",
                latin: "5",
                html: "&#1637;"
            }, {
                arabic: "٦",
                latin: "6",
                html: "&#1638;"
            }, {
                arabic: "٧",
                latin: "7",
                html: "&#1639;"
            }, {
                arabic: "٨",
                latin: "8",
                html: "&#1640;"
            }, {
                arabic: "٩",
                latin: "9",
                html: "&#1641;"
            }
        ],
        toArabic: function (e) {
            return $.each(this._numerals, function (t, a) {
                e = e.replace(new RegExp(a.latin, "g"), a.arabic)
            }),
            e
        },
        toLatin: function (e) {
            return $.each(this._numerals, function (t, a) {
                e = e.replace(new RegExp(a.arabic, "g"), a.latin)
            }),
            e
        },
        toHtml: function (e) {
            return $.each(this._numerals, function (t, a) {
                e = e.replace(new RegExp(a.arabic, "g"), a.html)
            }),
            e
        }
    }
}, Intesa.LoanCalculatorAlex.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_alex || (window.intesa.loan_calculator_alex = new Intesa.LoanCalculatorAlex),
    window.intesa.loan_calculator_alex
};
var Intesa = Intesa || {};
Intesa.LoanCalculatorAll = function () {
    var e = this;
    this.allBanksCalculators = [],
    this.urlParams = {},
    this.init = function () {
        e.attachChangeEvents(),
        e.changeToArab(),
        $(".filters-grouped.row.text-center").length > 0 && document.getElementsByClassName("com15__filterItem js-loan-filter-hero-btn j-filterItem active").length > 0 && (setTimeout(function () {
                document.getElementsByClassName("com15__filterItem js-loan-filter-hero-btn j-filterItem active")[0].click()
            }, 1500), window.outerWidth < 768 && document.getElementsByClassName("com15__filterItem js-loan-filter-hero-btn j-filterItem active").length > 0 && (document.getElementsByClassName("com15__filterItem js-loan-filter-hero-btn j-filterItem active")[0].className = "com15__filterItem js-loan-filter-hero-btn j-filterItem")),
        $("[data-calculator]").length > 0 && $(".pageTemplate").addClass("calculator-detail-page")
    },
    this.changeToArab = function () {
        var e = $("html")[0].getAttribute("lang");
        if (console.log("change numbers"), e.indexOf("ar") > -1) {
            var t = $(".loanCalculator__step-number"),
            a = $(".loanCalculator__step-title"),
            r = ["۰", "۱", "۲", "۳", "٤", "٥", "٦", "۷", "۸", "۹"];
            $(t).each(function (e, t) {
                for (var a = $(t).text().split(""), n = 0; n < a.length; n++)
                    parseFloat(a[n]) > -1 && (a[n] = r[a[n]]);
                $(t).text(a.join(""))
            }),
            $(a).each(function (e, t) {
                for (var a = $(t).text().split(""), n = 0; n < a.length; n++)
                    parseFloat(a[n]) > -1 && (a[n] = r[a[n]]);
                $(t).text(a.join(""))
            })
        }
    },
    this.attachChangeEvents = function () {
        $(window).scroll(function () {
            null != e.allBanksCalculators && $(e.allBanksCalculators).each(function (e, a) {
                if (null != $(a)[0].activeCalculator && $(window).width() > 991 && $($(a)[0].activeCalculator).length > 0)
                    if ($(".calculators-custom-filters").length > 0) {
                        if ("CIB" == $("html").attr("data-bank")) {
                            var r = $(".monthlyInstallment__inner", $(t)[0].activeCalculator).height(),
                            n = $(".loanCalculator", $(t)[0].activeCalculator).height();
                            if (r > n)
                                return !1
                        }
                        if ($(window).scrollTop() > $(".calculators-custom-filters").position().top) {
                            if ($(".desktop-loan", $(a)[0].activeCalculator).height() + $(".calculators-custom-filters").position().top > $(window).scrollTop()) {
                                $(window).scrollTop() - $(".calculators-custom-filters").position().top + $(".monthlyInstallment", $(a)[0].activeCalculator).height() < $(".desktop-loan", $(a)[0].activeCalculator).height() ? $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("top", $(window).scrollTop() - $(".calculators-custom-filters").position().top) : ($(".monthlyInstallment", $(a)[0].activeCalculator).parent().attr("style", ""), $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("bottom", 0));
                                var o = $("html")[0].getAttribute("lang");
                                o.indexOf("ar") > -1 ? $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("left", "24px") : $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("right", "24px"),
                                $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("position", "absolute")
                            }
                        } else
                            $(".monthlyInstallment", $(a)[0].activeCalculator).parent().attr("style", "")
                    } else {
                        if ("CIB" == $("html").attr("data-bank")) {
                            var r = $(".monthlyInstallment__inner", $(t)[0].activeCalculator).height(),
                            n = $(".loanCalculator", $(t)[0].activeCalculator).height();
                            if (r > n)
                                return !1
                        }
                        if ($(window).scrollTop() > $($(a)[0].activeCalculator).position().top) {
                            if ($(".desktop-loan", $(a)[0].activeCalculator).height() + $($(a)[0].activeCalculator).position().top > $(window).scrollTop()) {
                                $(window).scrollTop() - $($(a)[0].activeCalculator).position().top + $(".monthlyInstallment", $(a)[0].activeCalculator).height() < $(".desktop-loan", $(a)[0].activeCalculator).height() ? $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("top", $(window).scrollTop() - $($(a)[0].activeCalculator).position().top) : ($(".monthlyInstallment", $(a)[0].activeCalculator).parent().attr("style", ""), $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("bottom", 0));
                                var o = $("html")[0].getAttribute("lang");
                                o.indexOf("ar") > -1 ? $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("left", "24px") : $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("right", "24px"),
                                $(".monthlyInstallment", $(a)[0].activeCalculator).parent().css("position", "absolute")
                            }
                        } else
                            $(".monthlyInstallment", $(a)[0].activeCalculator).parent().attr("style", "")
                    }
            })
        }),
        $(".loanCalculator__footer .loanCalculator__btn, .calculator-desktop .slick-dots").click(function () {
            var e = $(".calculators-custom-filters").length > 0 ? ".calculators-custom-filters" : ".calculator-desktop";
            $("html, body").animate({
                scrollTop: $(e).position().top
            }, 1e3)
        }),
        $(document).on("click", ".js-call-me", function (e) {
            $('[data-bs-target="#cmbModal"]').click(),
            console.log("Opening Modal")
        }),
        $(document).on("click", ".loanCalculator__radio", function () {
            var e = $(this).find('input[type="radio"]'),
            t = $(this).find('input[type="radio"]').attr("name");
            console.log("element" + $(this).find('input[type="radio"]')),
            $("[name='" + t + "']").each(function () {
                $(this).is(e) ? $(this).parents(".loanCalculator__radio").addClass("selected") : $(this).parents(".loanCalculator__radio").removeClass("selected")
            })
        }),
        $(document).on("click", ".js-loan-hero-btn", function () {
            if ($(".calculator-desktop .monthlyInstallment").parent().attr("style", ""), $(window).width() < 768) {
                var e = $(".calculator-mobile");
                e.length && ($("body").addClass("calculator-mobile-open"), e.show())
            }
        }),
        $(document).on("click", ".js-loan-filter-hero-btn", function () {
            var e = $(".com15__filterContainer").find("div[data-filter=" + $(this).attr("data-filter") + "]");
            if (console.log("calculator found " + e), $(".calculator-desktop .monthlyInstallment").parent().attr("style", ""), $(window).width() < 992) {
                var t = $(e).find(".calculator-mobile");
                t.length && ($("body").addClass("calculator-mobile-open"), t.show(), t.parents(".com15__filter").css("transform", "none"), $(t.find(".tab-mobile")[0]).show())
            }
        }),
        $(document).on("click", ".filters-grouped a", function (e) {
            console.log("element" + $(this));
            var t = $(this),
            a = $(".filters-grouped a");
            console.log(a);
            var r = $(this).attr("data-filter");
            $("div[data-filter='" + r + "']").find(".increaseHoverEffect ").addClass("campoAttivo"),
            $("div[data-filter='" + r + "']").find(".increaseHoverEffect ").find(".monthlyInputText").prop("disabled", !1),
            $("div[data-filter='" + r + "']").find(".increaseHoverEffect ").find(".rangeslider").slider("enable"),
            $("div[data-filter='" + r + "']").find(".increaseHoverEffect ").find("[data-slider-repayment]").prop("disabled", !1),
            $(a).removeClass("active"),
            $(a).removeClass("collapsed"),
            $(t).addClass("collapsed"),
            $(a).each(function (e, t) {
                $($(t).attr("data-target")).collapse("hide")
            }),
            $($(t).attr("data-target")).collapse("toggle")
        }),
        $(document).ready(function () {
            if ($(window).width() < 768) {
                var t = $(".js-loan-hero-btn"),
                a = $(".heroBtnMobileContainer"),
                r = $(".heroBtnDesktopContainer");
                a.length > 0 && a.insertAfter($(".respondImage")),
                r.length > 0 && r.insertAfter($(".respondImage ")),
                t.length > 0 && (t.parent().insertAfter($("footer")), e.updateHeroButtonPositionWhenScrolling(t))
            }
        }),
        $(document).on("click", ".js-loan-filter-hero-btn", function () {
            var e = $(".com15__filterContainer").find("div[data-filter=" + $(this).attr("data-filter") + "]");
            if (console.log("calculator found " + e), $(window).width() < 768) {
                var t = $(e).find(".calculator-mobile");
                if (t.hasClass("investment-calculator"))
                    return;
                t.length && ($("body").addClass("calculator-mobile-open"), t.show(), t.parents(".com15__filter").css("transform", "none"), $(t.find(".tab-mobile")[0]).show())
            }
        }),
        $(window).width() > 768 && $(".com15__filterItem.js-loan-filter-hero-btn.j-filterItem.FHB-0").length && !$(".com15__filterItem.js-loan-filter-hero-btn.j-filterItem.FHB-0").hasClass("collapsed") && $(".com15__filterItem.js-loan-filter-hero-btn.j-filterItem.FHB-0").click()
    },
    this.updateHeroButtonPositionWhenScrolling = function (e) {
        var t = void 0;
        if (t = e.parent(), t.length > 0) {
            var a = $("body").height(),
            r = !0;
            $(window).on("scroll", function () {
                var e = $(".calculator-mobile-open").length > 0,
                n = $(window).scrollTop() + $(window).innerHeight();
                r && !e && (a = $("body").height()),
                n > a - 60 ? (r = !1, t.css("position", "static")) : (r = !0, t.css("position", "fixed"))
            })
        }
    }
}, Intesa.LoanCalculatorAll.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_all || (window.intesa.loan_calculator_all = new Intesa.LoanCalculatorAll),
    window.intesa.loan_calculator_all
};
var Intesa = Intesa || {};
Intesa.LoanCalculatorBIB = function () {
    console.log("started");
    var e = this,
    t = !1,
    a = {},
    r = {},
    n = !0,
    o = 0,
    s = 0,
    l = "",
    u = 0;
    this.MAX_ITERATIONS = 50,
    this.activeCalculator = null,
    this.activeVariant = {},
    this.activeMortgage = {},
    this.activeCurrency = {},
    this.activeInterestType = {},
    this.errorState = !1,
    this.defaultEducation = null,
    this.loanAmount = 0,
    this.firstInterestRate = 0,
    this.secondInterestRate = 0,
    this.thirdInterestRate = 0,
    this.tenor = 0,
    this.tenorUnit = null,
    this.stepTenor = [],
    this.firstMonthlyInstallment = 0,
    this.firstInterestRateCode = "",
    this.secondMonthlyInstallment = 0,
    this.firstMonthlyInstallmentRsd = 0,
    this.firstMonthlyInstallmentEur = 0,
    this.amountToRepay = 0,
    this.currency = null,
    this.apr = 0,
    this.aprc = 0,
    this.aprc2 = 0,
    this.fee = 0,
    this.notaryCost = 0,
    this.paymentsHistoryFirstPeriod = [],
    this.paymentsHistoryWholePeriod = [],
    this.p = [],
    this.urlParams = {},
    this.isWithMortgage = $('[data-algorithm-input="mortgage"]').length > 0,
    this.min_approval_cost = 0,
    this.max_approval_cost = 0,
    this.approval_cost = 0,
    this.downPayment = 0,
    this.downPaymentPercentage = parseInt($('[data-algorithm-input="downPayment"]').attr("data-down-min")),
    this.downPaymentPercentageMortgage = parseInt($('[data-algorithm-input="downPaymentPercentuage"]').attr("data-down-min")),
    this.errorDownState,
    this.downPaymentPercentuageUnder30 = !1,
    this.downpaymentPercentuageFix20 = !!$("[data-fixed-percentuage-downpayment]");
    var d = window.location.origin + $("input[name=exchangeRate]").val();
    console.log("endpoint " + d),
    this.typeLoan = "",
    this.endpoint = d,
    this.fixedInterestRate = 0,
    this.variableInterestRate = 0,
    this.newInterestRate = 0,
    this.nominalInterestRate = 0,
    this.newNominalInterestRate = 0,
    this.middleExchangeRate = 0,
    this.newMiddleExchangeRate = 0,
    this.secondCurrency = "",
    this.amountToRepayRsd = 0,
    this.firstMonthlyInstallmentEurInterestRate = 0,
    this.firstMonthlyInstallmentRsdInterestRate = 0,
    this.firstMonthlyInstallmentAfterExchangeRate = 0,
    this.firstMonthlyInstallmentAfterVInterestRateExchangeRate = 0,
    this.repaymentPlan = [],
    this.tenorTre = 0,
    this.tenorQuattro = 0,
    this.changedActiveTab = !1,
    this.originalVal = "",
    this.customer = !0,
    this.clientSegment = "",
    this.otherLoan = !0,
    this.getJsonAjax = function (t, a) {
        console.log("invoked url: " + a),
        $.ajax({
            method: "GET",
            async: !1,
            url: a
        }).done(function (a) {
            null != a && (console.log("----" + JSON.stringify(a) + "----"), $(t).val(JSON.stringify(a)), e.setUniversalMiddleExchangeRates(JSON.parse(JSON.stringify(a))))
        })
    },
    this.init = function () {
        e.getSettingsAndLabelsJsonData();
        var a = "BIB" == $("html").attr("data-bank");
        if ($("section.com16-14").length && a && !t && "combined" != e.typeLoan) {
            console.log("not combined loan"),
            "Universal Loan" == e.typeLoan && e.getJsonAjax($("#jsonExchange"), e.endpoint),
            e.setVisibleCalculatorAsActive();
            Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setTabInitValue(),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.clientSegment = $(".massBtn", e.activeCalculator).parent().text().trim(),
            e.mapSliders(),
            e.initCalculatorInputs(),
            e.updateCalculatorOutputs(),
            e.attachChangeEvents(),
            e.triggerDefaultEducation(),
            e.getUrlQueryStringParams(),
            e.fillInputsWithQueryParams(),
            $('[data-algorithm-input="currencySelect"]', e.activeCalculator).length > 0 && (e.setActiveCurrencyCarLoan("EUR"), e.updateCurrencySelect()),
            e.hideValueForIntermezzo(),
            e.hideValueForRefinanceWithOtherLoanOption(),
            "newCarLoan" == e.typeLoan && e.updateTenorSlider()
        }
    },
    this.setTabInitValue = function () {
        if (e.urlParams && e.urlParams.isDefault) {
            var t = "false" !== e.urlParams.isDefault;
            e.setActiveTab(t, !0, void 0)
        } else {
            var a,
            r = e.activeVariant.glProductVariantList,
            n = -1;
            for (i = 0; i < r.length && -1 === n; i++)
                if (!0 === r[i].default) {
                    var o = r[i].glConfigurationList;
                    for (j = 0; j < (o.length && -1 === n); j++)
                        if (!0 === o[j].default) {
                            var s = o[j].glGenericCalculationList;
                            for (k = 0; k < s.length && -1 === n; k++)
                                if (!0 === s[k].default) {
                                    n = s[k].isDefault,
                                    a = s[k];
                                    break
                                }
                        }
                }
            a && a.standard ? e.setActiveTab(!1, !0, a) : e.setActiveTab(!0, !0, a)
        }
    },
    this.setTabInitValueCarLoan = function () {
        if (e.urlParams && e.urlParams.isDefault) {
            var t = "false" !== e.urlParams.isDefault;
            e.setActiveTab(t, !0, void 0)
        } else {
            var a,
            r = e.activeVariant.glProductVariantList,
            n = -1;
            for (i = 0; i < r.length && -1 === n; i++)
                if (r[i].variantId == e.activeMortgage.variantId) {
                    var o = r[i].glConfigurationList;
                    for (j = 0; j < (o.length && -1 === n); j++)
                        if (!0 === o[j].default) {
                            var s = o[j].glGenericCalculationList;
                            for (k = 0; k < s.length && -1 === n; k++)
                                if (!0 === s[k].default) {
                                    n = s[k].isDefault,
                                    a = s[k];
                                    break
                                }
                        }
                }
            a && a.standard ? e.setActiveTab(!1, !0, a) : e.setActiveTab(!0, !0, a)
        }
    },
    this.getUrlQueryStringParams = function () {
        var t = window.location.href;
        t = t.split("?");
        var a = t[1];
        if (void 0 !== a) {
            a.split("&").forEach(function (t) {
                var a = t.split("="),
                r = a[0],
                n = a[1];
                e.urlParams[r] = n
            })
        }
    },
    this.fillInputsWithQueryParams = function () {
        !$.isEmptyObject(e.urlParams) && (e.setInterestRateFromQuery(), e.setMortgageFromQuery(), e.setLoanAmountFromQuery(), e.setCurrencyFromQuery(), e.setTenorFromQuery())
    },
    this.setCurrencyFromQuery = function () {
        var t = e.urlParams.currency,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator);
        t && a.length && a.val(t).trigger("change")
    },
    this.setLoanPurposeFromQuery = function () {},
    this.setLoanAmountFromQuery = function () {
        var t = e.urlParams.loanAmount;
        if (t && !isNaN(t)) {
            t = parseInt(t.split(/\s/g).join(""));
            $('[data-algorithm-input="loanAmount"]', e.activeCalculator).val(t),
            e.formatMoneyInputs()
        }
    },
    this.setDownpaymentPercentuage = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator).val(),
        a = $('[data-algorithm-input="downPayment"]', e.activeCalculator),
        r = $('[data-algorithm-input="downPaymentPercentuage"]', e.activeCalculator);
        if (t && !isNaN(t) && a.length > 0) {
            t = parseInt(t.split(".").join("").split(/\s/g).join(""));
            var n = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
            e.downPayment = 0,
            e.downPayment = n.val() * e.downPaymentPercentageMortgage / 100,
            a.val(e.downPayment),
            a.attr("data-parsley-min", e.downPayment),
            "Universal Loan" == e.typeLoan ? (a.attr("data-parsley-max", Number.MAX_VALUE), console.log("set max value universal ")) : a.attr("data-parsley-max", n.val()),
            r.val(e.downPaymentPercentageMortgage),
            e.formatMoneyInputs()
        } else
            e.downPayment = 0
    },
    this.setInterestRateFromQuery = function () {
        var t = e.urlParams.interestRateType,
        a = $('[name="interestRateType"]', e.activeCalculator);
        t && a.length && a.val(t).trigger("change")
    },
    this.setMortgageFromQuery = function () {
        var t = e.urlParams.mortgage,
        a = $('[data-algorithm-input="mortgage"]');
        t && a.length && $("[name=radio][value=" + t + "]", a).trigger("click")
    },
    this.setTenorFromQuery = function () {
        var t = parseInt(e.urlParams.tenor);
        if (t && !isNaN(t)) {
            var a = $("[data-slider-repayment]", e.activeCalculator).attr("data-slider-step");
            if (a = parseInt(a), t -= t % a, "YEARS" === e.tenorUnit && (t /= 12), "Universal Loan" != e.typeLoan)
                window.sliderbootstrap[0].slider("setValue", t, !0), window.sliderbootstrap[0].slider({
                    tooltip: "show"
                });
            else
                for (i = 0; i < window.sliderbootstrap.length; i++)
                    window.sliderbootstrp[i].slider({
                        tooltip: "show"
                    }), window.sliderbootstrap[i].slider("setValue", t, !0)
        }
    },
    this.hideValueForIntermezzo = function () {
        "10021" != e.activeVariant.productId && "10022" != e.activeVariant.productId && "10023" != e.activeVariant.productId && "16111" != e.activeVariant.productId && "16112" != e.activeVariant.productId && "16311" != e.activeVariant.productId && "17111" != e.activeVariant.productId && "17112" != e.activeVariant.productId && "17311" != e.activeVariant.productId && "30041" != e.activeVariant.productId && "30042" != e.activeVariant.productId && "30043" != e.activeVariant.productId && "20031" != e.activeVariant.productId && "20032" != e.activeVariant.productId && "20033" != e.activeVariant.productId && "40051" != e.activeVariant.productId && "40052" != e.activeVariant.productId && "40053" != e.activeVariant.productId && "40151" != e.activeVariant.productId && "40152" != e.activeVariant.productId && "40153" != e.activeVariant.productId || ($(".sliderRange__wrapper .fakelabel .valShow")[0].style.display = "none", $(".sliderRange__wrapper .fakelabel span:last").before('<span class="rangeslider--value valueShow">' + e.tenor + " </span>"), $(".sliderRange__wrapper .tooltip-inner")[0].style.display = "none", document.getElementsByClassName("tooltip")[0].innerHTML = "<div class='tooltip-inner'>" + e.tenor + " </div><div class='tooltip-arrow'></div>")
    },
    this.hideValueForRefinanceWithOtherLoanOption = function () {
        ("20031" == e.activeVariant.productId || "20032" == e.activeVariant.productId || "20041" == e.activeVariant.productId || "20042" == e.activeVariant.productId) && $(".otherLoanContainer").length > 0 && $(".refinance-other-loan").hide()
    },
    this.calcAprc = function (t, a) {
        return e.calcAprcWithBinarySearch(t, a, 0, 1, 0)
    },
    this.calcAprcWithBinarySearch = function (t, a, r, n, o) {
        if (n - r < 1e-14)
            return r;
        const i = (n - r) / 2 + r;
        if (o > e.MAX_ITERATIONS)
            return i;
        const s = a;
        for (var l = 0, c = 0; c < t.length; c++) {
            l += t[c] * Math.pow(1 + i,  - (c + 1) / 12)
        }
        return s == l ? i : s < l ? e.calcAprcWithBinarySearch(t, a, i, n, ++o) : e.calcAprcWithBinarySearch(t, a, r, i, ++o)
    },
    this.getSettingsAndLabelsJsonData = function () {
        var n = $("#genericSettings"),
        o = $("#calculatorLabels"),
        i = $("#typeloan");
        try {
            n.length && (a = JSON.parse(n.val())),
            o.length && (r = JSON.parse(o.val())),
            i.length > 0 && (e.typeLoan = i.val())
        } catch (e) {
            console.error("Settings or Labels JSON file invalid"),
            t = !0
        }
    },
    this.hideUnusedInput = function () {
        var t = e.activeCurrency.currency,
        a = e.activeInterestType.interestCode;
        "RSD" == t && "FIXED" == a ? ($(".divToHideEurFixed").css("display", ""), $(".divToHideRsdVariable").css("display", ""), $(".divToHide").css("display", "none"), l = "rsd-fixed") : "RSD" == t && "VARIABLE" == a ? ($(".divToHideEurFixed").css("display", ""), $(".divToHide").css("display", ""), $(".divToHideRsdVariable").css("display", "none"), l = "rsd-variable") : "EUR" == t && "FIXED" == a ? ($(".divToHide").css("display", ""), $(".divToHideRsdVariable").css("display", ""), $(".divToHideEurFixed").css("display", "none"), l = "eur-fixed") : ($(".divToHide").css("display", "block"), $(".divToHideRsdVariable").css("display", "block"), $(".divToHideEurFixed").css("display", "block"), l = "eur-variable")
    },
    this.initCalculatorInputs = function () {
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.initLoanAmountInput(),
        $('[data-algorithm-input="downPaymentPercentuage"]', e.activeCalculator).val() && e.setDownpaymentPercentuage(),
        e.toggleDownPaymentInputLine(n),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        e.updateTenorSlider(),
        e.updateTenorStep(),
        e.updateTenorSelect(),
        e.updateTenorInput(),
        e.updateMortgageRadio(),
        e.updateFee(),
        e.updateNotaryCost(),
        e.formatMoneyInputs(),
        "Universal Loan" == e.typeLoan && (e.hideUnusedInput(), e.setUniversalInterestRates())
    },
    this.updateCalculatorInputs = function () {
        console.log("update input"),
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.updateLoanAmountInput(),
        e.toggleDownPaymentInputLine(n),
        e.updateCurrencySelect(),
        "consumerLoan" != e.typeLoan && "energyEfficencyLoan" != e.typeLoan || (e.formatMoneyInputs(), e.updateTenorMaintainStepSlider(), e.updateTenorSelect()),
        e.updateTenorUnit(),
        e.updateTenorStep(),
        e.updateMortgageRadio(),
        e.updateFee(),
        e.updateNotaryCost(),
        e.formatMoneyInputs(),
        "Universal Loan" == e.typeLoan && (e.hideUnusedInput(), e.updateUniversalInterestRates(), e.updateInterestsSection())
    },
    this.calculateFirstMonthlyInstallmentAfterVInterestRateExchangeRate = function () {
        var t = (e.loanAmount, e.tenor, e.p),
        a = (e.repaymentPlan, []),
        r = [],
        n = [];
        void 0 !== e.activeInterestType.secondPeriod && (e.tenor, e.activeInterestType.firstPeriod.monthDuration);
        n = t[t.length - 1],
        r = t[0];
        var i = 1 / parseFloat(e.newMiddleExchangeRate.toString().replace(",", "."));
        if ("none" != $(".rangeslider--3", e.activeCalculator).parent().parent().parent().parent().css("display")) {
            console.log("period 2");
            var s = parseInt($(".rangeslider--3", e.activeCalculator).val());
            parseInt($(".rangeslider--4", e.activeCalculator).val());
            n = t[s - 1],
            r = t[0];
            var l = e.getDebitoRes(n);
            if (l > 0) {
                var c = parseFloat(e.newNominalInterestRate.toString().replace(",", ".")),
                a = e.piano(l, (e.tenor - s) / 12, c, 12);
                e.pianoUniversal(l, (e.tenor - s) / 12, c, 12);
                a[0],
                paymentToUse = [],
                "RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentAfterVInterestRateExchangeRate = parseFloat(e.firstMonthlyInstallmentEurInterestRate.toString().replace(",", ".")) * i : e.firstMonthlyInstallmentAfterVInterestRateExchangeRate = parseFloat(e.firstMonthlyInstallmentEurInterestRate.toString().replace(",", ".")) * parseFloat(e.newMiddleExchangeRate.toString().replace(",", "."))
            }
        } else
            0 == l && ("RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentAfterVInterestRateExchangeRate = parseFloat(e.getRata(r)) * i : e.firstMonthlyInstallmentAfterVInterestRateExchangeRate = parseFloat(e.getRata(r)) * parseFloat(o.toString().replace(",", ".")))
    },
    this.calculateFirstMonthlyInstallmentEurInterestRate = function () {
        var t = (e.loanAmount, e.tenor, e.p),
        a = e.repaymentPlan,
        r = [],
        n = [],
        o = [],
        s = [];
        void 0 !== e.activeInterestType.secondPeriod && (e.tenor, e.activeInterestType.firstPeriod.monthDuration);
        if (o = t[t.length - 1], n = t[0], "none" != $(".rangeslider--3", e.activeCalculator).parent().parent().parent().parent().css("display")) {
            console.log("period 2");
            var l = parseInt($(".rangeslider--3", e.activeCalculator).val()),
            u = parseInt($(".rangeslider--4", e.activeCalculator).val()),
            d = 0;
            d = l < u ? e.middleExchangeRate : e.newMiddleExchangeRate;
            var m = 1 / parseFloat(d.toString().replace(",", "."));
            o = t[l - 1],
            n = t[0];
            var p = e.getDebitoRes(o);
            if (p > 0) {
                var h = e.newNominalInterestRate.toString().replace(",", "."),
                r = e.piano(p, (e.tenor - l) / 12, h, 12),
                g = e.pianoUniversal(p, (e.tenor - l) / 12, h, 12);
                s = r[0],
                "RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentEurInterestRate = parseFloat(e.getRata(s)) * m : e.firstMonthlyInstallmentEurInterestRate = parseFloat(e.getRata(s));
                var f = [],
                v = [];
                for (i = 0; i < l; i++)
                    f.push(t[i]);
                var y = 0;
                for (i = f.length; i < t.length; i++)
                    f.push(r[y]), y++;
                for (e.p = f, c = 0; c < l; c++)
                    v.push(a[c]);
                for (y = 0, c = v.length; c < e.repaymentPlan.length; c++)
                    g[y][0] = c + 1, v.push(g[y]), y++;
                e.repaymentPlan = v
            }
        } else
            0 == p && ("RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentEurInterestRate = parseFloat(e.getRata(n)) * m : e.firstMonthlyInstallmentEurInterestRate = parseFloat(e.getRata(n)))
    },
    this.calculateFirstMonthlyInstallmentRsdInterestRate = function () {
        var t = (e.loanAmount, e.tenor, e.p),
        a = e.repaymentPlan,
        r = [],
        n = [],
        s = [],
        u = [];
        void 0 !== e.activeInterestType.secondPeriod && (e.tenor, e.activeInterestType.firstPeriod.monthDuration);
        if (s = t[t.length - 1], n = t[0], console.log("calculateFirstMonthlyInstallmentRsdInterestRate"), "none" != $(".rangeslider--3", e.activeCalculator).parent().parent().parent().parent().css("display")) {
            console.log("period 2");
            var d = parseInt($(".rangeslider--3", e.activeCalculator).val()),
            m = parseInt($(".rangeslider--4", e.activeCalculator).val());
            s = t[d - 1],
            n = t[0];
            var p = e.getDebitoRes(s);
            if (p > 0) {
                var h = e.newNominalInterestRate.toString().replace(",", "."),
                r = e.piano(p, (e.tenor - d) / 12, h, 12),
                g = e.pianoUniversal(p, (e.tenor - d) / 12, h, 12);
                u = r[0];
                var f = 0;
                f = d < m ? e.middleExchangeRate : e.newMiddleExchangeRate,
                "rsd-variable" == l && (f = e.middleExchangeRate),
                "eur-variable" == l && (f = e.middleExchangeRate),
                "RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentRsdInterestRate = parseFloat(e.firstMonthlyInstallmentEurInterestRate.toString().replace(",", ".")) : e.firstMonthlyInstallmentRsdInterestRate = parseFloat(e.firstMonthlyInstallmentEurInterestRate.toString().replace(",", ".")) * parseFloat(f.toString().replace(",", ".")),
                "rsd-variable" == l && ("RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentRsdInterestRate = parseFloat(e.getRata(u)) : e.firstMonthlyInstallmentRsdInterestRate = parseFloat(e.getRata(u)) * parseFloat(f.toString().replace(",", ".")));
                var v = [],
                y = [];
                for (i = 0; i < d; i++)
                    v.push(t[i]);
                var b = 0;
                for (i = v.length; i < t.length; i++)
                    v.push(r[b]), b++;
                for (e.p = v, c = 0; c < d; c++)
                    y.push(a[c]);
                for (b = 0, c = y.length; c < e.repaymentPlan.length; c++)
                    g[b][0] = c + 1, y.push(g[b]), b++;
                e.repaymentPlan = y
            } else
                0 == p && ("RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentRsdInterestRate = parseFloat(e.getRata(n)) : e.firstMonthlyInstallmentRsdInterestRate = parseFloat(e.getRata(n)) * parseFloat(o.toString().replace(",", ".")))
        }
    },
    this.calculateFirstMonthlyInstallmentAfterExchangeRate = function () {
        var t = (e.loanAmount, e.tenor, e.p),
        a = (e.repaymentPlan, []),
        r = [],
        n = [];
        void 0 !== e.activeInterestType.secondPeriod && (e.tenor, e.activeInterestType.firstPeriod.monthDuration);
        if (n = t[t.length - 1], r = t[0], "none" != $(".rangeslider--4", e.activeCalculator).parent().parent().parent().parent().css("display")) {
            console.log("period 2");
            var i = parseInt($(".rangeslider--4", e.activeCalculator).val());
            n = t[i - 1],
            r = t[0];
            var s = e.getDebitoRes(n);
            if (s > 0) {
                var l = parseFloat(e.firstInterestRate.toString().replace(",", ".")),
                a = e.piano(s, (e.tenor - i) / 12, l, 12);
                e.pianoUniversal(s, (e.tenor - i) / 12, l, 12);
                a[0],
                "RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentAfterExchangeRate = parseFloat(e.getRata(n)) : e.firstMonthlyInstallmentAfterExchangeRate = parseFloat(e.getRata(n)) * parseFloat(e.newMiddleExchangeRate.toString().replace(",", "."))
            } else
                0 == s && ("RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentAfterExchangeRate = parseFloat(e.getRata(r)) : e.firstMonthlyInstallmentAfterExchangeRate = parseFloat(e.firstMonthlyInstallmentEur.toString().replace(",", ".")) * parseFloat(o.toString().replace(",", ".")))
        }
    },
    this.updateCalculatorOutputs = function () {
        $('[data-algorithm-input="downPaymentPercentuage"]', e.activeCalculator).val() && e.updateDownpaymentPercentuage(),
        e.getCalculatorInputs(),
        e.getTenorInMonths(),
        e.getInterestRates(),
        e.calculateMonthlyInstallments(),
        "Universal Loan" == e.typeLoan && (e.calculateFirstMonthlyInstallmentRsd(), console.log(l), "eur-fixed" != l && "eur-variable" != l || e.calculateFirstMonthlyInstallmentEur(), "eur-fixed" != l && "eur-variable" != l || e.calculateFirstMonthlyInstallmentAfterExchangeRate(), "eur-variable" == l && e.calculateFirstMonthlyInstallmentEurInterestRate(), "rsd-variable" != l && "eur-variable" != l || e.calculateFirstMonthlyInstallmentRsdInterestRate(), "eur-variable" == l && e.calculateFirstMonthlyInstallmentAfterVInterestRateExchangeRate()),
        e.calculateAmountToRepay(),
        "Universal Loan" == e.typeLoan && e.calculateAmountToRepayRsd(),
        e.getPaymentListByPlan(),
        e.updateFee();
        var t = e.getInitialExpenses(e.loanAmount, e.fee, e.notaryCost, e.isWithMortgage);
        e.calculateAPRC(t, 0),
        e.checkErrors(),
        "0" !== $('[data-algorithm-input="downPayment"]', e.activeCalculator).val() && $('[data-algorithm-input="downPayment"]', e.activeCalculator).length > 0 && e.checkDownValueError(),
        e.checkGeneralError(),
        e.appendCalculatorOutputs(),
        "Universal Loan" == e.typeLoan && e.setPianoDiAmmortamento(),
        $("[data-showStatus]", e.activeCalculator).hide(),
        e.isWithMortgage ? $('[data-aprc="notary_cost"]', e.activeCalculator).show() : $('[data-aprc="notary_cost"]', e.activeCalculator).hide(),
        $('[data-aprc="first"]', e.activeCalculator).show(),
        $('[data-aprc="second"]', e.activeCalculator).hide(),
        e.updateShareCalculatorLink(),
        e.updateContactInputHidden(),
        "Universal Loan" == e.typeLoan && e.hideUnusedInput(),
        "10021" != e.activeVariant.productId && "10022" != e.activeVariant.productId && "10023" != e.activeVariant.productId && "16111" != e.activeVariant.productId && "16112" != e.activeVariant.productId && "16311" != e.activeVariant.productId && "17111" != e.activeVariant.productId && "17112" != e.activeVariant.productId && "17311" != e.activeVariant.productId && "30041" != e.activeVariant.productId && "30042" != e.activeVariant.productId && "30043" != e.activeVariant.productId && "20031" != e.activeVariant.productId && "20032" != e.activeVariant.productId && "20033" != e.activeVariant.productId && "40051" != e.activeVariant.productId && "40052" != e.activeVariant.productId && "40053" != e.activeVariant.productId && "40151" != e.activeVariant.productId && "40152" != e.activeVariant.productId && "40153" != e.activeVariant.productId || (document.getElementsByClassName("tooltip")[0].innerHTML = "<div class='tooltip-inner'>" + e.tenor + "</div><div class='tooltip-arrow'></div>")
    },
    this.updateDownpaymentPercentuage = function () {
        var t = parseInt($('[data-algorithm-input="loanAmount"]', e.activeCalculator).val().split(".").join("").split(/\s/g).join("")),
        a = parseInt($('[data-algorithm-input="downPayment"]', e.activeCalculator).val().split(/\./g).join("").split(/\s/g).join("")),
        r = 100 * a / t;
        $('[data-algorithm-input="downPaymentPercentuage"]', e.activeCalculator).val(r),
        e.downPaymentPercentuageUnder30 = 30 == r
    },
    this.updateContactInputHidden = function () {
        var t = JSON.stringify({
            LOANAMOUNT: number_format(parseFloat(e.loanAmount), 2, a.decimal, a.separator),
            DURATION: e.tenor,
            INSTALLMENT: number_format(parseFloat(e.firstMonthlyInstallment), 2, a.decimal, a.separator),
            DISCOUNTCODE: null,
            APR: number_format(parseFloat(e.aprc), 2, a.decimal, a.separator),
            INTERESTRATE: number_format(parseFloat(e.firstInterestRate), 2, a.decimal, a.separator)
        });
        "sr" == $("input[name=loanCalculatorLanguage]").val() && (t = JSON.stringify({
                IZNOSKREDITA: number_format(parseFloat(e.loanAmount), 2, a.decimal, a.separator),
                TRAJANJE: e.tenor,
                RATA: number_format(parseFloat(e.firstMonthlyInstallment), 2, a.decimal, a.separator),
                KODZAPOPUST: null,
                APR: number_format(parseFloat(e.aprc), 2, a.decimal, a.separator),
                KAMATNASTOPA: number_format(parseFloat(e.firstInterestRate), 2, a.decimal, a.separator)
            })),
        $("[data-cmb-input]").attr("value", t),
        $("#getloan-calc-config").attr("value", t)
    },
    this.attachChangeEvents = function () {
        $(document).on("click", ".com15__filterItem", function () {
            var t = $(this).attr("data-filter"),
            a = "desktop";
            if ($(window).width() < 768)
                var a = "mobile";
            var r = $('.com15__filter[data-filter="' + t + '"]').find("[data-calculator=" + a + "]");
            e.setActiveCalculator(r),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.initCalculatorInputs(),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".massBtn", function () {
            $(".massBtn", e.activeCalculator).hasClass("clicked") || ($(".upperMassBtn", e.activeCalculator).removeClass("clicked"), $(".massBtn", e.activeCalculator).addClass("clicked"), e.clientSegment = $(this).parent().text().trim(), e.setActiveVariant(), "carLoan" == e.typeLoan || "consumerLoan" == e.typeLoan || "energyEfficencyLoan" == e.typeLoan || "newCarLoan" == e.typeLoan ? (e.setActiveMortgage(e.activeMortgage.variantType), e.setActiveCurrency(e.currency), e.setTabInitValueCarLoan()) : (e.setTabInitValue(), e.setActiveMortgage(e.activeMortgage.variantType), e.setActiveCurrency(e.currency)), e.setActiveInterestType(e.activeInterestType.interestCode), "consumerLoan" != e.typeLoan && "energyEfficencyLoan" != e.typeLoan || e.updateCalculatorInputs(), e.updateCalculatorOutputs())
        }),
        $(document).on("click", ".upperMassBtn", function () {
            $(".upperMassBtn", e.activeCalculator).hasClass("clicked") || ($(".massBtn", e.activeCalculator).removeClass("clicked"), $(".upperMassBtn", e.activeCalculator).addClass("clicked"), e.clientSegment = $(this).parent().text().trim(), e.setActiveVariantUpperMass(), "carLoan" == e.typeLoan || "consumerLoan" == e.typeLoan || "energyEfficencyLoan" == e.typeLoan || "newCarLoan" == e.typeLoan ? (e.setActiveMortgage(e.activeMortgage.variantType), e.setActiveCurrency(e.currency), e.setTabInitValueCarLoan()) : (e.setTabInitValue(), e.setActiveMortgage(e.activeMortgage.variantType), e.setActiveCurrency(e.currency)), e.setActiveInterestType(e.activeInterestType.interestCode), "consumerLoan" != e.typeLoan && "energyEfficencyLoan" != e.typeLoan || e.updateCalculatorInputs(), e.updateCalculatorOutputs())
        }),
        $(document).on("click", "[data-tab-default]", function () {
            var t = "true" === $(this).attr("data-tab-default");
            e.customer = t,
            e.setActiveTab(t, !1, void 0),
            e.changeSalaryTransferDataLayer(t),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            "consumerLoan" != e.typeLoan && "energyEfficencyLoan" != e.typeLoan || (e.updateMaxMinLoanAmount(), e.updateCalculatorInputs()),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", "[data-tab-otherloan]", function () {
            var t = "true" === $(this).attr("data-tab-otherloan");
            e.otherLoan = t,
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup change", 'input[data-algorithm-input="fixedInterestRate"]', function () {
            console.log("passing for change function");
            var t = $(this).val().replace(",", ".");
            e.fixedInterestRate = number_format(parseFloat(t), 2, a.decimal, a.separator);
            var r = parseFloat(e.fixedInterestRate.toString().replace(",", ".")) + parseFloat(e.variableInterestRate.toString().replace(",", "."));
            "rsd-fixed" != l && "eur-fixed" != l || (r = parseFloat(e.fixedInterestRate.toString().replace(",", "."))),
            e.nominalInterestRate = number_format(r, 2, a.decimal, a.separator);
            var n = parseFloat(e.fixedInterestRate.toString().replace(",", ".")) + parseFloat(e.newInterestRate.toString().replace(",", "."));
            e.newNominalInterestRate = number_format(n, 2, a.decimal, a.separator),
            s = e.newNominalInterestRate,
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup input", 'input[data-algorithm-input="variableInterestRate"]', function () {
            console.log("passing for change function");
            var t = $(this).val().replace(",", ".");
            e.variableInterestRate = number_format(parseFloat(t), 2, a.decimal, a.separator);
            var r = parseFloat(e.fixedInterestRate.toString().replace(",", ".")) + parseFloat(e.variableInterestRate.toString().replace(",", "."));
            e.nominalInterestRate = number_format(r, 2, a.decimal, a.separator),
            s = e.nominalInterestRate,
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup input", 'input[data-algorithm-input="newInterestRate"]', function () {
            console.log("passing for change function");
            var t = $(this).val().replace(",", ".");
            e.newInterestRate = number_format(parseFloat(t), 2, a.decimal, a.separator);
            var r = parseFloat(e.fixedInterestRate.toString().replace(",", ".")) + parseFloat(e.newInterestRate.toString().replace(",", "."));
            e.newNominalInterestRate = number_format(r, 2, a.decimal, a.separator),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", 'input[data-algorithm-input="middleExchangeRate"]', function () {
            console.log("passing for change function");
            var t = $(this).val().replace(",", ".");
            e.middleExchangeRate = number_format(parseFloat(t), 2, a.decimal, a.separator),
            o = e.middleExchangeRate,
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", 'input[data-algorithm-input="newMiddleExchangeRate"]', function () {
            console.log("passing for change function");
            var t = $(this).val().replace(",", ".");
            e.newMiddleExchangeRate = number_format(parseFloat(t), 2, a.decimal, a.separator),
            o = e.newMiddleExchangeRate,
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", '[data-algorithm-input="mortgage"] input', function () {
            var t = $(this).val();
            e.isWithMortgage = "WITH_MORTGAGE" == t,
            e.setActiveMortgage(t),
            e.setActiveCurrency(e.activeCurrency.currency),
            "carLoan" != e.typeLoan && "newCarLoan" != e.typeLoan || (e.setTabInitValueCarLoan(), e.initLoanAmountInput()),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            "carLoan" != e.typeLoan && "newCarLoan" != e.typeLoan || (e.updateTenorUnit(), e.updateTenorSlider(), e.updateTenorStep()),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", '[data-algorithm-input="currencySelect"] input', function () {
            var t = $('[data-algorithm-input="currencySelect"] input:checked', e.activeCalculator).val();
            n = "EUR" == t,
            n ? (e.setActiveCurrencyCarLoan("EUR"), e.toggleDownPaymentInputLine(n)) : (e.setActiveCurrencyCarLoan("RSD"), e.toggleDownPaymentInputLine(n)),
            e.setActiveMortgage(t),
            e.setActiveCurrency(t),
            e.setTabInitValueCarLoan(),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.initCalculatorInputs(),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change focusout keyup", '[data-algorithm-input="loanAmount"]', function () {
            var t = $(this).val();
            e.loanAmount = t,
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", '[data-algorithm-input="currency"]', function () {
            if ($('[data-algorithm-input="currencySelect"] input[value]', e.activeCalculator).removeAttr("checked"), "carLoan" == e.typeLoan || "newCarLoan" == e.typeLoan) {
                var t = $(this).val();
                "RSD" == t ? ($(this).parents(".tab-mobile").find(".next-btn").attr("onclick", "window.intesa.calculatorNavigation.goToTab(3)"), $(this).parents(".mobile-loan").siblings().find(".back-btn").attr("onclick", "window.intesa.calculatorNavigation.goToTab(1)")) : ($('[data-algorithm-input="downPayment"]', e.activeCalculator).parent().find('[data-algorithm-input="currency"]').prop("disabled", !0), $(this).parents(".tab-mobile").find(".next-btn").attr("onclick", "window.intesa.calculatorNavigation.nextPrev(1, this)"), $(this).parents(".mobile-loan").siblings().find(".back-btn").attr("onclick", "window.intesa.calculatorNavigation.nextPrev(-1, this)")),
                $('[data-algorithm-input="currencySelect"] input[value=' + t + "]", e.activeCalculator).attr("checked", "checked"),
                $('[data-algorithm-input="currencySelect"] input[value=' + t + "]", e.activeCalculator).trigger("change")
            } else {
                var t = $(this).val();
                e.setActiveCurrency(t),
                e.setActiveInterestType(e.activeInterestType.interestCode),
                e.updateCalculatorInputs(),
                e.updateCalculatorOutputs()
            }
        }),
        $(document).on("change", "[data-interest-select]", function () {
            var t = $(this).val();
            if (e.setActiveMortgage(t), e.setActiveCurrency(e.activeCurrency.currency), e.updateCalculatorConfigurationByTenor(e.tenor, t), "consumerLoan" == e.typeLoan || "energyEfficencyLoan" == e.typeLoan) {
                var a = e.customer;
                e.setActiveTab(a, !1, void 0),
                e.changeSalaryTransferDataLayer(a)
            }
            e.setActiveInterestType(t),
            e.updateTenorSelect(),
            e.updateFee(),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-algorithm-input=newInterest] input", function () {
            var t = $(this).val();
            $("select[data-interest-select]", e.activeCalculator).val(t),
            $("select[data-interest-select]", e.activeCalculator).trigger("change")
        }),
        $(document).on("change focusout keyup", "[data-algorithm-input]", function () {
            "loanAmount" !== $(this).get(0).getAttribute("data-algorithm-input") && "fixedInterestRate" !== $(this).get(0).getAttribute("data-algorithm-input") && "variableInterestRate" !== $(this).get(0).getAttribute("data-algorithm-input") && "newInterestRate" !== $(this).get(0).getAttribute("data-algorithm-input") && e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".js-btnMinus, .js-btnAdd", function () {
            if ("10021" == e.activeVariant.productId || "10022" == e.activeVariant.productId || "10023" == e.activeVariant.productId || "16111" == e.activeVariant.productId || "16112" == e.activeVariant.productId || "16311" == e.activeVariant.productId || "17111" == e.activeVariant.productId || "17112" == e.activeVariant.productId || "17311" == e.activeVariant.productId || "30041" == e.activeVariant.productId || "30042" == e.activeVariant.productId || "30043" == e.activeVariant.productId || "20031" == e.activeVariant.productId || "20032" == e.activeVariant.productId || "20033" == e.activeVariant.productId || "40051" == e.activeVariant.productId || "40052" == e.activeVariant.productId || "40053" == e.activeVariant.productId || "40151" == e.activeVariant.productId || "40152" == e.activeVariant.productId || "40153" == e.activeVariant.productId) {
                $(this).hasClass("js-btnMinus") ? (e.originalVal = "minus", console.log("loan.originalVal " + e.originalVal)) : (e.originalVal = "add", console.log("loan.originalVal " + e.originalVal)),
                console.log("aggiornare stepvalue"),
                e.updateTenorStep();
                var t = $(".rangeslider").val();
                console.log("value è: " + t);
                var a = $(".rangeslider").parents(".sliderRange__wrapper");
                a.find(".qty").val(t),
                $(".sliderRange__wrapper .fakelabel .valueShow")[0].textContent = e.findTenorByIndex(t) + " ",
                $(".sliderRange__wrapper .tooltip-inner")[0].textContent = e.findTenorByIndex(t) + " ",
                a.find(".tooltip-main").addClass("in")
            } else if ("Universal Loan" != e.typeLoan) {
                $(this).hasClass("js-btnMinus") ? (e.originalVal = "minus", console.log("loan.originalVal " + e.originalVal)) : (e.originalVal = "add", console.log("loan.originalVal " + e.originalVal)),
                console.log("aggiornare stepvalue"),
                e.updateTenorStep();
                var t = $(".rangeslider").val();
                console.log("value è: " + t);
                var a = $(".rangeslider").parents(".sliderRange__wrapper");
                a.find(".qty").val(t),
                a.find(".tooltip-main").addClass("in")
            } else {
                e.updateTenorStep();
                var t = $(this).parents(".sliderRange__wrapper").find(".rangeslider").val();
                console.log("value è: " + t);
                var a = $(this).parents(".sliderRange__wrapper");
                if (a.find(".qty").val(t), a.find(".valShow").html(t), a.find(".tooltip-main").addClass("in"), $(this).parents(".sliderRange__wrapper").find(".rangeslider").hasClass("rangeslider--2")) {
                    var r = $(".rangeslider.rangeslider--3", e.activeCalculator),
                    n = $(".rangeslider.rangeslider--4", e.activeCalculator),
                    o = r.parents(".sliderRange__wrapper"),
                    i = n.parents(".sliderRange__wrapper");
                    r.attr("data-slider-max", t),
                    valTre = r.val(),
                    valQuattro = n.val(),
                    o.find("[data-max-tenor]").html(t),
                    n.attr("data-slider-max", t),
                    i.find("[data-max-tenor]").html(t);
                    var s = parseInt(r.attr("data-slider-index")),
                    l = parseInt(n.attr("data-slider-index")),
                    c = window.sliderbootstrap[s],
                    u = window.sliderbootstrap[l];
                    c.slider("destroy"),
                    c.slider({
                        tooltip: "show"
                    }),
                    u.slider("destroy"),
                    u.slider({
                        tooltip: "show"
                    }),
                    o.find(".qty").val(valTre),
                    o.find(".valShow").html(valTre),
                    i.find(".qty").val(valQuattro),
                    i.find(".valShow").html(valQuattro),
                    c.slider("setValue", valTre, !0),
                    u.slider("setValue", valQuattro, !0),
                    o.find(".tooltip-main").addClass("in"),
                    i.find(".tooltip-main").addClass("in")
                }
                $(".rangeslider").parents(".sliderRange__wrapper").find(".qty").removeClass("selected-tenor"),
                a.find(".qty").addClass("selected-tenor")
            }
            e.updateCalculatorOutputs()
        }),
        $(".slider-handle")[0].addEventListener("mouseover mouseup", function (t) {
            $(".sliderRange__wrapper .tooltip-inner")[0].textContent = e.findTenorByIndex(t.target.getAttribute("aria-valuenow"))
        }),
        $(document).on("slide change click", ".rangeslider", function (t) {
            if ("slide" != t.type && "mouseup" != t.type || "10021" != e.activeVariant.productId && "10022" != e.activeVariant.productId && "10023" != e.activeVariant.productId && "16111" != e.activeVariant.productId && "16112" != e.activeVariant.productId && "16311" != e.activeVariant.productId && "17111" != e.activeVariant.productId && "17112" != e.activeVariant.productId && "17311" != e.activeVariant.productId && "30041" != e.activeVariant.productId && "30042" != e.activeVariant.productId && "30043" != e.activeVariant.productId && "20031" != e.activeVariant.productId && "20032" != e.activeVariant.productId && "20033" != e.activeVariant.productId && "40051" != e.activeVariant.productId && "40052" != e.activeVariant.productId && "40053" != e.activeVariant.productId && "40151" != e.activeVariant.productId && "40152" != e.activeVariant.productId && "40153" != e.activeVariant.productId) {
                if ("change" == t.type) {
                    if ("Universal Loan" != e.typeLoan) {
                        values = t.value;
                        var a = values.oldValue,
                        r = values.newValue;
                        r > a ? (t.value.newValue = a, $(".js-btnAdd").trigger("click")) : (t.value.newValue = a, $(".js-btnMinus").trigger("click")),
                        "10021" != e.activeVariant.productId && "10022" != e.activeVariant.productId && "10023" != e.activeVariant.productId && "16111" != e.activeVariant.productId && "16112" != e.activeVariant.productId && "16311" != e.activeVariant.productId && "17111" != e.activeVariant.productId && "17112" != e.activeVariant.productId && "17311" != e.activeVariant.productId && "30041" != e.activeVariant.productId && "30042" != e.activeVariant.productId && "30043" != e.activeVariant.productId && "20031" != e.activeVariant.productId && "20032" != e.activeVariant.productId && "20033" != e.activeVariant.productId && "40051" != e.activeVariant.productId && "40052" != e.activeVariant.productId && "40053" != e.activeVariant.productId && "40151" != e.activeVariant.productId && "40152" != e.activeVariant.productId && "40153" != e.activeVariant.productId || ($(".sliderRange__wrapper .fakelabel .valueShow")[0].textContent = e.findTenorByIndex(r) + " ", $(".sliderRange__wrapper .tooltip-inner")[0].textContent = e.findTenorByIndex(r) + " ")
                    } else {
                        var n = $(this).val();
                        console.log("value è:" + n);
                        var o = $(this).parents(".sliderRange__wrapper");
                        o.find(".qty").val(n),
                        o.find(".valShow").html(n)
                    }
                    e.updateCalculatorOutputs()
                }
            } else
                $(".sliderRange__wrapper .fakelabel .valueShow")[0].textContent = e.findTenorByIndex(t.value) + " ", $(".sliderRange__wrapper .tooltip-inner")[0].textContent = e.findTenorByIndex(t.value) + " "
        }),
        $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator),
            a = parseInt(t.attr("data-slider-index"));
            window.sliderbootstrap[a].slider("setValue", $(this).val(), !0)
        }),
        $(document).on("change", "[data-tenor-select]", function () {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator),
            a = parseInt(t.attr("data-slider-index"));
            if ("10021" == e.activeVariant.productId || "10022" == e.activeVariant.productId || "10023" == e.activeVariant.productId || "16111" == e.activeVariant.productId || "16112" == e.activeVariant.productId || "16311" == e.activeVariant.productId || "17111" == e.activeVariant.productId || "17112" == e.activeVariant.productId || "17311" == e.activeVariant.productId || "30041" == e.activeVariant.productId || "30042" == e.activeVariant.productId || "30043" == e.activeVariant.productId || "20031" == e.activeVariant.productId || "20032" == e.activeVariant.productId || "20033" == e.activeVariant.productId || "40051" == e.activeVariant.productId || "40052" == e.activeVariant.productId || "40053" == e.activeVariant.productId || "40151" == e.activeVariant.productId || "40152" == e.activeVariant.productId || "40153" == e.activeVariant.productId) {
                var r = e.findIndexByTenor(parseInt($(this).val()));
                if (-1 != r) {
                    var n = $(t).parents(".sliderRange__wrapper");
                    n.find(".qty").val(r),
                    n.find(".valShow").html(r),
                    window.sliderbootstrap[a].slider("setValue", r, !0)
                }
            } else {
                var o = $(this).val();
                console.log("value è:" + o);
                var n = $(t).parents(".sliderRange__wrapper");
                n.find(".qty").val(o),
                n.find(".valShow").html(o),
                window.sliderbootstrap[a].slider("setValue", o, !0)
            }
            e.updateCalculatorOutputs()
        })
    },
    this.triggerDefaultEducation = function () {
        null !== e.defaultEducation && $('[data-filter="' + e.defaultEducation + '"]').trigger("click")
    },
    this.handleEducationCalculators = function () {
        var t = $("[data-education]");
        t.length && t.each(function () {
            var t = $(this),
            a = e.getEducationCalculatorDataFromJSON(t),
            r = t.attr("data-filter");
            if (null !== a) {
                a = e.removeEducationVariantsFromJSON(a, r);
                a.glGenericSimulatorParams.glProductVariantList[0].default && (e.defaultEducation = r),
                a = JSON.stringify(a),
                t.find(".calculatorData").val(a)
            }
        })
    },
    this.removeEducationVariantsFromJSON = function (e, t) {
        return e.glGenericSimulatorParams.glProductVariantList.forEach(function (e, a, r) {
            e.variantType !== t && r.splice(a, 1)
        }),
        e
    },
    this.getEducationCalculatorDataFromJSON = function (e) {
        var t = null,
        a = e.find(".calculatorData").val();
        try {
            t = JSON.parse(a)
        } catch (e) {
            console.error("Education JSON file invalid")
        }
        return t
    },
    this.checkErrors = function () {
        var t = $(".parsley-errors-list li", e.activeCalculator).length;
        e.errorState = t > 0
    },
    this.checkGeneralError = function () {
        var t = e.errorDownState,
        a = $(".parsley-errors-list li", e.activeCalculator).length;
        e.errorState = !!(a > 0 || t)
    },
    this.checkDownValueError = function () {
        var t = $("[data-down-error]", e.activeCalculator),
        a = $('[data-algorithm-input="loanAmount"]', e.activeCalculator),
        r = $('[data-algorithm-input="downPayment"]', e.activeCalculator),
        n = $('[data-algorithm-input="downPaymentPercentuage"]', e.activeCalculator),
        o = r.val().split(".").join("").split(/\s/g).join(""),
        i = r.parents(".spaceBottom").find(".parsley-errors-list li"),
        s = a.val().split(".").join("").split(/\s/g).join(""),
        l = a.val().split(".").join("").split(/\s/g).join(""),
        c = e.downPaymentPercentage,
        u = parseInt(r.attr("data-down-min"));
        if (n.length > 0 && (c = parseInt(n.val()), u = parseInt(n.attr("data-down-min"))), null !== c && void 0 !== c && (l -= l * (c / 100)), r.length > 0) {
            console.log(l * c / 100);
            var d = o > e.loanAmount,
            m = o < round(s * u / 100, 0);
            console.log("downPaymentVal:" + o),
            t.length > 0 ? d || m || "" == o ? "carLoan" == e.typeLoan || "newCarLoan" == e.typeLoan && "RSD" == e.currency ? (this.errorState = !1, this.errorDownState = !1, t.addClass("hide"), 0 == i.length && (r.removeClass("parsley-error"), r.addClass("parsley-success"))) : (this.errorState = !0, this.errorDownState = !0, t.removeClass("hide"), r.removeClass("parsley-success"), r.addClass("parsley-error")) : (this.errorState = !1, this.errorDownState = !1, t.addClass("hide"), 0 == i.length && (r.removeClass("parsley-error"), r.addClass("parsley-success"))) : (this.errorState = !1, this.errorDownState = !1, t.addClass("hide"), i.length < 0 && (r.addClass("parsley-success"), r.removeClass("parsley-error")))
        }
    },
    this.mapSliders = function () {
        window.sliderbootstrap.forEach(function (e, t) {
            e.attr("data-slider-index", t)
        })
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first())
    },
    this.getTenorInMonths = function () {
        "YEARS" === e.tenorUnit && (e.tenor = 12 * e.tenor)
    },
    this.updateFee = function () {
        u = e.activeTab.data.fee,
        console.log(u),
        void 0 != u && null != u && "undefined" != u && "null" != u ? "mortgageLoan" == e.typeLoan || "carLoan" == e.typeLoan || "newCarLoan" == e.typeLoan ? e.fee = (e.loanAmount - e.downPayment) * (u / 100) : e.fee = e.loanAmount * (u / 100) : e.fee = 0,
        isNaN(e.fee) && (e.fee = 0),
        console.log(e.fee),
        void 0 != e.activeTab.data.min_approval_cost && null != e.activeTab.data.min_approval_cost && "undefined" != e.activeTab.data.min_approval_cost && "null" != e.activeTab.data.min_approval_cost ? e.min_approval_cost = e.activeTab.data.min_approval_cost : e.min_approval_cost = 0,
        void 0 != e.activeTab.data.max_approval_cost && null != e.activeTab.data.max_approval_cost && "undefined" != e.activeTab.data.max_approval_cost && "null" != e.activeTab.data.max_approval_cost ? e.max_approval_cost = e.activeTab.data.max_approval_cost : e.max_approval_cost = 0
    },
    this.updateNotaryCost = function () {
        e.notaryCost = e.activeTab.data.notary_costs,
        null == e.notaryCost && (e.notaryCost = 0)
    },
    this.updateTenorUnit = function () {
        e.tenorUnit = e.activeCurrency.tenorUnit;
        var t = r[e.tenorUnit];
        $("[data-tenor-unit]", e.activeCalculator).text(t)
    },
    this.getInterestRates = function () {
        e.setFirstInterestRate(),
        e.setSecondInterestRate(),
        e.setThirdInterestRate()
    },
    this.setUniversalInterestRates = function () {
        if (1 === e.activeInterestType.periods) {
            e.fixedInterestRate = number_format(e.activeInterestType.firstPeriod.fixedInterestRate, 2, a.decimal, a.separator),
            e.variableInterestRate = number_format(e.activeInterestType.firstPeriod.variableInterestRate, 2, a.decimal, a.separator),
            e.newInterestRate = number_format(e.activeInterestType.firstPeriod.newInterestRate, 2, a.decimal, a.separator);
            var t = parseFloat(e.fixedInterestRate) + parseFloat(e.variableInterestRate);
            "rsd-fixed" != l && "eur-fixed" != l || (t = parseFloat(e.fixedInterestRate)),
            e.nominalInterestRate = number_format(t, 2, a.decimal, a.separator),
            e.firstInterestRate = e.nominalInterestRate;
            var r = parseFloat(e.fixedInterestRate) + parseFloat(e.newInterestRate);
            e.newNominalInterestRate = number_format(r, 2, a.decimal, a.separator),
            s = e.newNominalInterestRate,
            $("[data-algorithm-input=fixedInterestRate]").val(e.fixedInterestRate),
            $("[data-algorithm-input=variableInterestRate]").val(e.variableInterestRate),
            $("[data-algorithm-input=newInterestRate]").val(e.newInterestRate),
            $("[data-algorithm-input=nominalInterestRate]").val(e.nominalInterestRate),
            $("[data-algorithm-input=newNominalInterestRate]").val(e.newNominalInterestRate)
        }
    },
    this.updateUniversalInterestRates = function () {
        if (1 === e.activeInterestType.periods) {
            e.fixedInterestRate = number_format(parseFloat(e.fixedInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator),
            e.variableInterestRate = number_format(parseFloat(e.variableInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator),
            e.newInterestRate = number_format(parseFloat(e.newInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator);
            var t = parseFloat(e.fixedInterestRate.toString().replace(",", ".")) + parseFloat(e.variableInterestRate.toString().replace(",", "."));
            "rsd-fixed" != l && "eur-fixed" != l || (t = parseFloat(e.fixedInterestRate.toString().replace(",", "."))),
            e.nominalInterestRate = number_format(t, 2, a.decimal, a.separator),
            e.firstInterestRate = e.nominalInterestRate;
            var r = parseFloat(e.fixedInterestRate.toString().replace(",", ".")) + parseFloat(e.newInterestRate.toString().replace(",", "."));
            e.newNominalInterestRate = number_format(r, 2, a.decimal, a.separator),
            s = e.newNominalInterestRate
        }
    },
    this.updateInterestsSection = function () {
        $("[data-algorithm-input=nominalInterestRate]").val(number_format(parseFloat(e.nominalInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator)),
        $("[data-algorithm-input=newNominalInterestRate]").val(number_format(parseFloat(e.newNominalInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator))
    },
    this.setUniversalMiddleExchangeRates = function (t) {
        $.each(t.rates, function (t, r) {
            var n = r;
            "EUR" == n.toCurrency.label && (e.middleExchangeRate = number_format(n.meanRate.rate, 2, a.decimal, a.separator), e.newMiddleExchangeRate = number_format(n.meanRate.rate, 2, a.decimal, a.separator), o = number_format(n.meanRate.rate, 2, a.decimal, a.separator), $("[data-algorithm-input=middleExchangeRate]").val(e.middleExchangeRate), $("[data-algorithm-input=newMiddleExchangeRate]").val(e.newMiddleExchangeRate))
        })
    },
    this.setInterestRateBasedOnPeriod = function (t) {
        return 0 == e.otherLoan && "FIXED" == e.activeInterestType.interestCode && 1 == e.customer ? e.loanAmount > e.activeInterestType.noLoanRangeAmount ? e.activeInterestType[t].interestRateNoLoanSecondRange : e.activeInterestType[t].interestRateNoLoanFirstRange : e.activeInterestType[t].interestRate
    },
    this.setFirstInterestRate = function () {
        1 === e.activeInterestType.periods ? (e.updateCalculatorConfigurationByTenor(e.tenor, e.activeInterestType.interestCode), e.updateTenorSelect(), e.setActiveInterestType(e.activeInterestType.interestCode), e.firstInterestRate = e.setInterestRateBasedOnPeriod("firstPeriod")) : e.firstInterestRate = e.setInterestRateBasedOnPeriod("firstPeriod")
    },
    this.setSecondInterestRate = function () {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod ? e.secondInterestRate = e.setInterestRateBasedOnPeriod("secondPeriod") : 3 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod ? e.secondInterestRate = e.setInterestRateBasedOnPeriod("secondPeriod") : e.secondInterestRate = "-"
    },
    this.setThirdInterestRate = function () {
        3 === e.activeInterestType.periods && void 0 !== e.activeInterestType.thirdPeriod ? e.thirdInterestRate = e.setInterestRateBasedOnPeriod("thirdPeriod") : e.thirdInterestRate = "-"
    },
    this.calculateMonthlyInstallments = function () {
        "10021" != e.activeVariant.productId && "10022" != e.activeVariant.productId && "10023" != e.activeVariant.productId && "16111" != e.activeVariant.productId && "16112" != e.activeVariant.productId && "16311" != e.activeVariant.productId && "17111" != e.activeVariant.productId && "17112" != e.activeVariant.productId && "17311" != e.activeVariant.productId && "30041" != e.activeVariant.productId && "30042" != e.activeVariant.productId && "30043" != e.activeVariant.productId && "20031" != e.activeVariant.productId && "20032" != e.activeVariant.productId && "20033" != e.activeVariant.productId && "40051" != e.activeVariant.productId && "40052" != e.activeVariant.productId && "40053" != e.activeVariant.productId && "40151" != e.activeVariant.productId && "40152" != e.activeVariant.productId && "40153" != e.activeVariant.productId || (e.tenor = e.findTenorByIndex(e.tenor));
        var t = e.loanAmount;
        $('[data-algorithm-input="downPayment"]', e.activeCalculator).length > 0 ? t -= e.downPayment : (console.log("down payment non presente"), e.downPayment = 0, e.downPayment = 0);
        var a = e.tenor / 12,
        r = e.piano(t, a, e.firstInterestRate, 12);
        "mortgageLoan" == e.typeLoan && (r = e.pianoMortgageLoan(t, a, e.firstInterestRate, 12));
        var n = e.pianoUniversal(t, a, e.firstInterestRate, 12),
        o = [],
        s = [];
        e.p = [],
        e.repaymentPlan = [];
        var l = [],
        u = [],
        d = [];
        void 0 !== e.activeInterestType.secondPeriod && (e.tenor, e.activeInterestType.firstPeriod.monthDuration);
        if (2 === e.activeInterestType.periods && "homeRecostruction" == e.typeLoan && e.tenor > e.activeInterestType.firstPeriod.monthDuration)
            var r = e.piano(t, a, e.secondInterestRate, 12);
        else if (2 === e.activeInterestType.periods && "mortgageLoan" == e.typeLoan && e.tenor > e.activeInterestType.firstPeriod.monthDuration)
            var r = e.pianoMortgageLoan(t, a, e.secondInterestRate, 12);
        if (2 === e.activeInterestType.periods && "mortgageLoan" != e.typeLoan) {
            for (console.log("period 2"), l = r[0], u = r[e.activeInterestType.firstPeriod.monthDuration - 1], e.firstMonthlyInstallment = parseFloat(e.getRata(l)), i = 0; i < r.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
                e.p.push(r[i]);
            for (c = 0; c < n.length && i < e.activeInterestType.firstPeriod.monthDuration; c++)
                e.repaymentPlan.push(n[c]);
            var m = e.getDebitoRes(u);
            if (m > 0) {
                var p = e.setInterestRateBasedOnPeriod("secondPeriod");
                for (o = e.piano(m, (e.tenor - e.activeInterestType.firstPeriod.monthDuration) / 12, p, 12), s = e.pianoUniversal(m, (e.tenor - e.activeInterestType.firstPeriod.monthDuration) / 12, p, 12), d = o[0], e.secondMonthlyInstallment = parseFloat(e.getRata(d)), i = 0; i < o.length; i++)
                    e.p.push(o[i]);
                for (c = 0; c < s.length; c++)
                    e.repaymentPlan.push(s[i])
            }
        } else
            for (console.log("period 1"), e.secondMonthlyInstallment = "-", u = r[r.length - 1], l = r[0], e.firstMonthlyInstallment = parseFloat(e.getRata(l)), i = 0; i < r.length; i++)
                e.p.push(r[i])
    },
    this.calculateFirstMonthlyInstallmentEur = function () {
        var t = e.loanAmount,
        a = e.tenor / 12,
        r = e.piano(t, a, e.nominalInterestRate.toString().replace(",", "."), 12),
        n = (e.pianoUniversal(t, a, e.nominalInterestRate.toString().replace(",", "."), 12), []);
        console.log("period 1"),
        e.secondMonthlyInstallment = "-",
        r[r.length - 1],
        n = r[0];
        var o = 1 / e.middleExchangeRate.toString().replace(",", ".");
        "EUR" == e.activeCurrency.currency ? e.firstMonthlyInstallmentEur = parseFloat(e.getRata(n)) : e.firstMonthlyInstallmentEur = parseFloat(e.getRata(n)) * parseFloat(1 / o)
    },
    this.calculateFirstMonthlyInstallmentRsd = function () {
        e.firstInterestRate = e.nominalInterestRate;
        var t = e.loanAmount,
        a = e.tenor / 12,
        r = e.piano(t, a, e.nominalInterestRate.toString().replace(",", "."), 12),
        n = e.pianoUniversal(t, a, e.nominalInterestRate.toString().replace(",", "."), 12);
        e.p = [],
        e.repaymentPlan = [];
        var o = [];
        for (console.log("period 1"), e.secondMonthlyInstallment = "-", r[r.length - 1], o = r[0], "RSD" == e.activeCurrency.currency ? e.firstMonthlyInstallmentRsd = parseFloat(e.getRata(o)) : e.firstMonthlyInstallmentRsd = parseFloat(e.getRata(o)) * parseFloat(e.middleExchangeRate.toString().replace(",", ".")), i = 0; i < r.length; i++)
            e.p.push(r[i]);
        for (c = 0; c < n.length; c++)
            e.repaymentPlan.push(n[c])
    },
    this.getPaymentListByPlan = function () {
        for (e.paymentsHistoryFirstPeriod = [], e.paymentsHistoryWholePeriod = [], i = 0; i < e.p.length; i++)
            e.paymentsHistoryWholePeriod.push(e.getRata(e.p[i]));
        for (i = 0; i < e.p.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
            e.paymentsHistoryFirstPeriod.push(e.getRata(e.p[i]))
    },
    this.getInitialExpenses = function (t, a, r, n) {
        var o = t * a / 100;
        return o <= e.min_approval_cost ? e.approval_cost = e.min_approval_cost : o >= e.max_approval_cost ? e.approval_cost = e.max_approval_cost : e.approval_cost = o,
        initialExpenses = e.approval_cost,
        r = 1,
        initialExpenses += n ? r : 0
    },
    this.updatePeriodLines = function () {
        var t = e.activeInterestType.periods,
        a = $("[data-one-period]", e.activeCalculator),
        r = $("[data-two-periods]", e.activeCalculator);
        2 === t && "mortgageLoan" != e.typeLoan && "carLoan" != e.typeLoan && "newCarLoan" != e.typeLoan && "homeRecostruction" != e.typeLoan && "consumerLoan" != e.typeLoan && "energyEfficencyLoan" != e.typeLoan ? (a.addClass("hide"), r.removeClass("hide")) : (r.addClass("hide"), a.removeClass("hide"))
    },
    this.updateCurrencySelect = function () {
        var t = e.activeMortgage.glConfigurationList,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator),
        r = "",
        n = 0;
        if (a.length > 0) {
            if (a.html(""), "carLoan" != e.typeLoan && "newCarLoan" != e.typeLoan)
                t.forEach(function (t) {
                    t = t.currency,
                    t === e.activeCurrency.currency ? r += '<option value="' + t + '" selected>' + t + "</option>" : r += '<option value="' + t + '">' + t + "</option>",
                    n += 1
                });
            else {
                var o = [];
                for (t = e.activeVariant.glProductVariantList, $.each(t, function (e, t) {
                        o.push(t.glConfigurationList[0].currency)
                    }), o = o.sort().filter(function (e, t, a) {
                        return !t || e != a[t - 1]
                    }), count = 0; count < o.length; count++)
                    console.log("is equal " + o[count] == e.activeCurrency.currency), o[count] == e.activeCurrency.currency ? r += '<option value="' + o[count] + '" selected>' + o[count] + "</option>" : r += '<option value="' + o[count] + '">' + o[count] + "</option>", n += 1
            }
            a.append(r),
            n <= 1 && "carLoan" != e.typeLoan && "newCarLoan" != e.typeLoan && $('[data-algorithm-input="currency"]', e.activeCalculator).attr("disabled", !0),
            "carLoan" != e.typeLoan && "newCarLoan" != e.typeLoan || $('[data-algorithm-input="downPayment"]', e.activeCalculator).parent().find('[data-algorithm-input="currency"]').prop("disabled", !0)
        }
    },
    this.updateMortgageRadio = function () {
        var t = $('[data-algorithm-input="mortgage"]', e.activeCalculator),
        a = e.activeMortgage.variantType;
        t.length && null !== a && $('input[value="' + a + '"]', e.activeCalculator).trigger("click")
    },
    this.updateTenorStep = function () {
        if ("10021" == e.activeVariant.productId || "10022" == e.activeVariant.productId || "10023" == e.activeVariant.productId || "16111" == e.activeVariant.productId || "16112" == e.activeVariant.productId || "16311" == e.activeVariant.productId || "17111" == e.activeVariant.productId || "17112" == e.activeVariant.productId || "17311" == e.activeVariant.productId || "30041" == e.activeVariant.productId || "30042" == e.activeVariant.productId || "30043" == e.activeVariant.productId || "20031" == e.activeVariant.productId || "20032" == e.activeVariant.productId || "20033" == e.activeVariant.productId || "40051" == e.activeVariant.productId || "40052" == e.activeVariant.productId || "40053" == e.activeVariant.productId || "40151" == e.activeVariant.productId || "40152" == e.activeVariant.productId || "40153" == e.activeVariant.productId) {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator),
            a = $(".rangeslider.rangeslider--2").attr("data-value");
            console.log("valore default " + a);
            var r = 1;
            t.attr("data-slider-step", r)
        } else if ("Universal Loan" != e.typeLoan) {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator),
            a = $(".rangeslider.rangeslider--2").attr("data-value");
            if (console.log("valore default " + a), void 0 != e.activeTab.data.amountList[1] && a < e.activeTab.data.amountList[1].minimumTenor) {
                var r = e.activeTab.data.amountList[0].tenorScalingFactor;
                t.attr("data-slider-step", r)
            } else if (void 0 != e.activeTab.data.amountList[2] && a >= e.activeTab.data.amountList[0].maximumTenor && a < e.activeTab.data.amountList[2].minimumTenor) {
                var n = e.activeTab.data.amountList[1].tenorScalingFactor;
                t.attr("data-slider-step", n)
            } else if (void 0 != e.activeTab.data.amountList[2] && a > e.activeTab.data.amountList[1].maximumTenor) {
                var o = e.activeTab.data.amountList[2].tenorScalingFactor;
                t.attr("data-slider-step", o)
            } else if (void 0 == e.activeTab.data.amountList[2] && void 0 != e.activeTab.data.amountList[1] && a == e.activeTab.data.amountList[0].maximumTenor && "add" == e.originalVal) {
                var n = e.activeTab.data.amountList[1].tenorScalingFactor;
                t.attr("data-slider-step", n)
            } else if (void 0 == e.activeTab.data.amountList[2] && void 0 == e.activeTab.data.amountList[1] && a == e.activeTab.data.amountList[0].maximumTenor && "add" == e.originalVal) {
                var n = e.activeTab.data.amountList[0].tenorScalingFactor;
                t.attr("data-slider-step", n)
            } else if (void 0 == e.activeTab.data.amountList[2] && a == e.activeTab.data.amountList[0].maximumTenor && "minus" == e.originalVal) {
                var n = e.activeTab.data.amountList[0].tenorScalingFactor;
                t.attr("data-slider-step", n)
            }
            if (void 0 != e.activeTab.data.amountList[2] && a == e.activeTab.data.amountList[2].minimumTenor) {
                var n = e.activeTab.data.amountList[1].tenorScalingFactor;
                t.attr("data-slider-step", n)
            } else if (void 0 != e.activeTab.data.amountList[2] && a == e.activeTab.data.amountList[1].maximumTenor) {
                var o = e.activeTab.data.amountList[2].tenorScalingFactor;
                t.attr("data-slider-step", o)
            }
            if (1 == e.activeTab.data.amountList.length) {
                var r = e.activeTab.data.amountList[0].tenorScalingFactor;
                t.attr("data-slider-step", r)
            }
        } else {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator),
            a = $(".rangeslider.rangeslider--2").attr("data-value"),
            i = $(".rangeslider.rangeslider--3", e.activeCalculator),
            s = $(".rangeslider.rangeslider--3").attr("data-value"),
            l = $(".rangeslider.rangeslider--4", e.activeCalculator),
            c = $(".rangeslider.rangeslider--4").attr("data-value");
            if (a <= e.activeInterestType.firstPeriod.monthDuration) {
                var r = e.activeTab.data.amountList[0].tenorScalingFactor;
                t.attr("data-slider-step", r)
            }
            if (s <= e.activeInterestType.firstPeriod.monthDuration) {
                var r = e.activeTab.data.amountList[0].tenorScalingFactor;
                i.attr("data-slider-step", r)
            }
            if (c <= e.activeInterestType.firstPeriod.monthDuration) {
                var r = e.activeTab.data.amountList[0].tenorScalingFactor;
                l.attr("data-slider-step", r)
            }
        }
    },
    this.calculateStepIntermezzo = function () {
        for (var t = e.activeTab.data.amountList[0].minimumTenor, a = [t], r = e.activeTab.data.amountList[0].tenorScalingFactor, n = e.activeTab.data.amountList[0].maximumTenor, o = t, i = 0, s = 0; o < n; s++)
            o += r, o >= n && (o = n), i++, a.push(o);
        if (2 === e.activeInterestType.periods) {
            t = e.activeTab.data.amountList[1].minimumTenor,
            n = e.activeTab.data.amountList[1].maximumTenor,
            r = e.activeTab.data.amountList[1].tenorScalingFactor,
            o = t;
            for (var s = 0; o < n; s++)
                o += r, o >= n && (o = n), i++, a.push(o)
        }
        if (3 === e.activeInterestType.periods) {
            t = e.activeTab.data.amountList[1].minimumTenor,
            n = e.activeTab.data.amountList[1].maximumTenor,
            r = e.activeTab.data.amountList[1].tenorScalingFactor,
            o = t;
            for (var s = 0; o < n; s++)
                o += r, o >= n && (o = n), i++, a.push(o);
            t = e.activeTab.data.amountList[2].minimumTenor,
            n = e.activeTab.data.amountList[2].maximumTenor,
            r = e.activeTab.data.amountList[2].tenorScalingFactor,
            o = t;
            for (var s = 0; o < n; s++)
                o += r, o >= n && (o = n), i++, a.push(o)
        }
        e.stepTenor = a
    },
    this.findIndexByTenor = function (t) {
        return e.stepTenor.indexOf(t)
    },
    this.findTenorByIndex = function (t) {
        return e.stepTenor[t]
    },
    this.updateTenorSlider = function () {
        if ("10021" == e.activeVariant.productId || "10022" == e.activeVariant.productId || "10023" == e.activeVariant.productId || "16111" == e.activeVariant.productId || "16112" == e.activeVariant.productId || "16311" == e.activeVariant.productId || "17111" == e.activeVariant.productId || "17112" == e.activeVariant.productId || "17311" == e.activeVariant.productId || "30041" == e.activeVariant.productId || "30042" == e.activeVariant.productId || "30043" == e.activeVariant.productId || "20031" == e.activeVariant.productId || "20032" == e.activeVariant.productId || "20033" == e.activeVariant.productId || "40051" == e.activeVariant.productId || "40052" == e.activeVariant.productId || "40053" == e.activeVariant.productId || "40151" == e.activeVariant.productId || "40152" == e.activeVariant.productId || "40153" == e.activeVariant.productId) {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
            if (t.length) {
                this.calculateStepIntermezzo();
                var a = parseInt(t.attr("data-slider-index")),
                r = window.sliderbootstrap[a],
                n = t.parents(".sliderRange__wrapper"),
                o = e.findTenorByIndex(0);
                t.attr("data-slider-min", 0),
                n.find("[data-min-tenor]").html(e.findTenorByIndex(0));
                var i = e.findTenorByIndex(e.stepTenor.length - 1);
                t.attr("data-slider-max", e.stepTenor.length - 1),
                n.find("[data-max-tenor]").html(e.findTenorByIndex(e.stepTenor.length - 1)),
                r.slider("destroy"),
                r.slider({
                    tooltip: "show"
                });
                var s = e.activeTab.data.amountList[0].defaultTenor;
                t.attr("data-slider-value", e.findIndexByTenor(s)),
                n.find(".qty").val(e.findIndexByTenor(s)),
                n.find(".valShow").html(e.findIndexByTenor(s)),
                r.slider("setValue", e.findIndexByTenor(s), !0)
            }
        } else if ("Universal Loan" != e.typeLoan) {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
            if (t.length) {
                var a = parseInt(t.attr("data-slider-index")),
                r = window.sliderbootstrap[a],
                n = t.parents(".sliderRange__wrapper"),
                o = e.activeTab.data.amountList[0].minimumTenor;
                "YEARS" === e.tenorUnit && (o /= 12),
                t.attr("data-slider-min", o),
                n.find("[data-min-tenor]").html(o);
                var i = e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeTab.data.amountList[0].maximumTenor;
                2 === e.activeInterestType.periods && i <= e.activeInterestType.secondPeriod.monthDuration && (i = e.activeInterestType.secondPeriod.monthDuration),
                3 === e.activeInterestType.periods && i <= e.activeInterestType.thirdPeriod.monthDuration && (i = e.activeInterestType.thirdPeriod.monthDuration),
                "YEARS" === e.tenorUnit && (i /= 12),
                t.attr("data-slider-max", i),
                n.find("[data-max-tenor]").html(i),
                r.slider("destroy"),
                r.slider({
                    tooltip: "show"
                });
                var s = e.activeInterestType.firstPeriod.monthMinimum ? e.activeInterestType.firstPeriod.monthMinimum : e.activeTab.data.amountList[0].defaultTenor;
                null != e.tenor && void 0 != e.tenor && 0 != e.tenor && (s = e.tenor),
                1 == e.activeInterestType.periods && s <= o && (s = e.activeTab.data.amountList[0].defaultTenor),
                2 === e.activeInterestType.periods && s <= o && (s = o),
                e.changedActiveTab,
                s > i && (s = i),
                s < o && (s = o),
                "YEARS" === e.tenorUnit && (s /= 12),
                t.attr("data-slider-value", s),
                n.find(".qty").val(s),
                n.find(".valShow").html(s),
                r.slider("setValue", s, !0)
            }
        } else {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator),
            l = $(".rangeslider.rangeslider--3", e.activeCalculator),
            c = $(".rangeslider.rangeslider--4", e.activeCalculator);
            if (t.length && l.length && c.length) {
                var a = parseInt(t.attr("data-slider-index")),
                u = parseInt(l.attr("data-slider-index")),
                d = parseInt(c.attr("data-slider-index")),
                r = window.sliderbootstrap[a],
                m = window.sliderbootstrap[u],
                p = window.sliderbootstrap[d],
                n = t.parents(".sliderRange__wrapper"),
                h = l.parents(".sliderRange__wrapper"),
                g = c.parents(".sliderRange__wrapper"),
                o = e.activeTab.data.amountList[0].minimumTenor;
                "YEARS" === e.tenorUnit && (o /= 12),
                t.attr("data-slider-min", o),
                n.find("[data-min-tenor]").html(o),
                l.attr("data-slider-min", o),
                h.find("[data-min-tenor]").html(o),
                c.attr("data-slider-min", o),
                g.find("[data-min-tenor]").html(o);
                var i = e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeTab.data.amountList[0].maximumTenor;
                2 === e.activeInterestType.periods && i <= e.activeInterestType.secondPeriod.monthDuration && (i = e.activeInterestType.secondPeriod.monthDuration),
                3 === e.activeInterestType.periods && i <= e.activeInterestType.thirdPeriod.monthDuration && (i = e.activeInterestType.thirdPeriod.monthDuration);
                var s = e.activeInterestType.firstPeriod.monthMinimum ? e.activeInterestType.firstPeriod.monthMinimum : e.activeTab.data.amountList[0].defaultTenor;
                2 === e.activeInterestType.periods && s <= o && (s = o),
                "YEARS" === e.tenorUnit && (i /= 12),
                t.attr("data-slider-max", i),
                n.find("[data-max-tenor]").html(i),
                l.attr("data-slider-max", i),
                h.find("[data-max-tenor]").html(i),
                c.attr("data-slider-max", i),
                g.find("[data-max-tenor]").html(i),
                r.slider("destroy"),
                r.slider({
                    tooltip: "show"
                }),
                m.slider("destroy"),
                m.slider({
                    tooltip: "show"
                }),
                p.slider("destroy"),
                p.slider({
                    tooltip: "show"
                }),
                "YEARS" === e.tenorUnit && (s /= 12),
                t.attr("data-slider-value", s),
                n.find(".qty").val(s),
                n.find(".valShow").html(s),
                l.attr("data-slider-value", s),
                h.find(".qty").val(s),
                h.find(".valShow").html(s),
                c.attr("data-slider-value", s),
                g.find(".qty").val(s),
                g.find(".valShow").html(s),
                r.slider("setValue", s, !0),
                m.slider("setValue", s, !0),
                p.slider("setValue", s, !0),
                r.on("slide", function () {
                    var e = r.slider("getValue");
                    n.find(".qty").val(e),
                    n.find(".valShow").html(e),
                    t.siblings(".qty").trigger("change"),
                    l.attr("data-slider-max", r.slider("getValue")),
                    h.find("[data-max-tenor]").html(r.slider("getValue")),
                    c.attr("data-slider-max", r.slider("getValue")),
                    g.find("[data-max-tenor]").html(r.slider("getValue")),
                    m.slider("destroy"),
                    m.slider({
                        tooltip: "show"
                    }),
                    p.slider("destroy"),
                    p.slider({
                        tooltip: "show"
                    }),
                    m.slider("setValue", m.slider("getValue"), !0),
                    p.slider("setValue", p.slider("getValue"), !0),
                    parseInt(m.slider("getValue")) > parseInt(r.slider("getValue")) ? m.slider("setValue", r.slider("getValue"), !0) : m.slider("setValue", m.slider("getValue"), !0),
                    parseInt(p.slider("getValue")) > parseInt(r.slider("getValue")) ? p.slider("setValue", r.slider("getValue"), !0) : p.slider("setValue", p.slider("getValue"), !0),
                    h.find(".qty").val(m.slider("getValue")),
                    h.find(".valShow").html(m.slider("getValue")),
                    g.find(".qty").val(p.slider("getValue")),
                    g.find(".valShow").html(p.slider("getValue"))
                }),
                m.on("slide", function () {
                    var e = m.slider("getValue");
                    h.find(".qty").val(e),
                    n.find(".valShow").html(e),
                    l.siblings(".qty").trigger("change")
                }),
                p.on("slide", function () {
                    var e = p.slider("getValue");
                    g.find(".qty").val(e),
                    n.find(".valShow").html(e),
                    c.siblings(".qty").trigger("change")
                })
            }
        }
    },
    this.updateTenorMaintainStepSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            this.calculateStepIntermezzo();
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper");
            e.findTenorByIndex(0);
            t.attr("data-slider-min", 0),
            n.find("[data-min-tenor]").html(e.findTenorByIndex(0));
            e.findTenorByIndex(e.stepTenor.length - 1);
            t.attr("data-slider-max", e.stepTenor.length - 1),
            n.find("[data-max-tenor]").html(e.findTenorByIndex(e.stepTenor.length - 1));
            var o = e.tenor;
            if (e.findIndexByTenor(o) < 0) {
                r.slider("destroy"),
                r.slider({
                    tooltip: "show"
                });
                var i = e.activeTab.data.amountList[0].defaultTenor;
                t.attr("data-slider-value", e.findIndexByTenor(i)),
                n.find(".qty").val(e.findIndexByTenor(i)),
                n.find(".valShow").html(e.findIndexByTenor(i)),
                r.slider("setValue", e.findIndexByTenor(i), !0)
            } else
                r.slider("destroy"), r.slider({
                    tooltip: "show"
                }), t.attr("data-slider-value", e.findIndexByTenor(o)), n.find(".qty").val(e.findIndexByTenor(o)), n.find(".valShow").html(e.findIndexByTenor(o)), r.slider("setValue", e.findIndexByTenor(o), !0)
        }
    },
    this.updateInterestTypeSelect = function () {
        var t = (e.activeTab.data.interest, $("[data-interest-select]", e.activeCalculator)),
        a = "";
        if (t.length) {
            t.html("");
            var n = "",
            o = 0,
            i = 0;
            e.activeVariant.glProductVariantList.forEach(function (t) {
                code = t.variantType;
                var s = r[code];
                n.includes(s) || (code === e.activeMortgage.variantType ? a += '<option value="' + code + '" selected>' + s + "</option>" : a += '<option value="' + code + '">' + s + "</option>", $("div[data-algorithm-input=newInterest]", e.activeCalculator).children().find("input[type=radio]").each(function (e, t) {
                        if (console.log("index"), e == i)
                            return $(t).val(code), $(t).parent().find("span").text(s), $(".otherLoanContainer").length > 0 || $(t).parents(".section__form__inline").css("display", "inline-block"), i += 1, !1
                    }), n = n.concat(s + ","), o++)
            }),
            1 == o && ($("[data-interest-select]", e.activeCalculator).hide(), $("[data-interest-row]", e.activeCalculator).hide(), $("div[data-algorithm-input=newInterest]", e.activeCalculator).hide(), $("[data-fixed-interest-title]", e.activeCalculator).html("<p>" + $("[data-fixed-interest-title]", e.activeCalculator).text() + "</p>"), $("[data-fixed-interest-title]", e.activeCalculator).removeClass("block__title")),
            t.append(a)
        }
    },
    this.updateShareCalculatorLink = function () {
        var t = window.location.href;
        t = t.split("?"),
        t = t[0];
        var a = "?loanAmount=" + e.loanAmount + "&tenor=" + e.tenor + "&currency=" + e.currency + "&interestRateType=" + e.interestRateType + "&mortgage=" + e.mortgage;
        console.log(a),
        $('[data-tab="without-salary"]').hasClass("open") && (a += "&isDefault=false"),
        $("[data-socialshare]").length > 0 && $("[data-socialshare]").each(function () {
            $("html").hasClass("home") && !$(this).parents(".socialShare__calculator").length > 0 && (a = ""),
            $(this).attr("data-share-url").length > 0 && "" !== $(this).attr("data-share-url") && (t = $(this).attr("data-share-url")),
            "facebook" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + t + a),
            "twitter" == $(this).attr("data-socialshare") && $(this).attr("href", "https://twitter.com/home?status=" + t + a),
            "linkedin" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.linkedin.com/sharing/share-offsite/?url=" + t + a),
            "whatsapp" == $(this).attr("data-socialshare") && $(this).attr("href", " https://wa.me/?text=" + encodeURIComponent(t) + encodeURIComponent(a)),
            "mail" == $(this).attr("data-socialshare") && $(this).attr("href", "mailto:?body=" + t + encodeURIComponent(a))
        })
    },
    this.initLoanAmountInput = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeTab.data.minimumAmount,
            n = e.activeTab.data.maxAmountForOnline,
            o = e.activeTab.data.defaultAmount;
            "Universal Loan" == e.typeLoan ? (n = Number.MAX_VALUE, r = 0, console.log("set max value universal " + n)) : "mortgageLoan" == e.typeLoan ? (n = round(e.activeTab.data.maxAmountForOnline / .8, 0), r = round(e.activeTab.data.minimumAmount / .8, 0)) : "carLoan" == e.typeLoan || "newCarLoan" == e.typeLoan && "RSD" != e.activeCurrency.currency ? (n = round(e.activeTab.data.maxAmountForOnline / .7, 0), r = round(e.activeTab.data.minimumAmount / .7, 0)) : ("carLoan" == e.typeLoan || "newCarLoan" == e.typeLoan && "RSD" == e.activeCurrency.currency) && (n = round(e.activeTab.data.maxAmountForOnline, 0), r = round(e.activeTab.data.minimumAmount, 0)),
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]", e.activeCalculator).text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]", e.activeCalculator).text(s),
            ("0" == t.val() || parseInt(t.val()) < o || parseInt(t.val()) > n) && t.val(o),
            t.parsley().validate()
        }
    },
    this.updateLoanAmountInput = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var a = e.activeTab.data.defaultAmount;
            e.loanAmount = a,
            t.parsley().validate()
        }
    },
    this.updateMaxMinLoanAmount = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeTab.data.minimumAmount,
            n = e.activeTab.data.maxAmountForOnline;
            e.activeTab.data.defaultAmount;
            "Universal Loan" == e.typeLoan ? (n = Number.MAX_VALUE, r = 0, console.log("set max value universal " + n)) : "mortgageLoan" == e.typeLoan ? (n = round(e.activeTab.data.maxAmountForOnline / .8, 0), r = round(e.activeTab.data.minimumAmount / .8, 0)) : "carLoan" == e.typeLoan || "newCarLoan" == e.typeLoan && "RSD" != e.activeCurrency.currency ? (n = round(e.activeTab.data.maxAmountForOnline / .7, 0), r = round(e.activeTab.data.minimumAmount / .7, 0)) : ("carLoan" == e.typeLoan || "newCarLoan" == e.typeLoan && "RSD" == e.activeCurrency.currency) && (n = round(e.activeTab.data.maxAmountForOnline, 0), r = round(e.activeTab.data.minimumAmount, 0)),
            t.attr("data-parsley-min", r);
            var o = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]", e.activeCalculator).text(o),
            t.attr("data-parsley-max", n);
            var i = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]", e.activeCalculator).text(i),
            t.parsley().validate()
        }
    },
    this.toggleDownPaymentInputLine = function (t) {
        var a = $("div[data-show-input-group]", e.activeCalculator);
        if ($('[data-algorithm-input="downPaymentPercentuage"]', e.activeCalculator).val() && (e.downPaymentPercentage = e.downPaymentPercentageMortgage), $('[data-algorithm-input="loanAmount"]', e.activeCalculator).length > 0 && $('[data-algorithm-input="downPayment"]', e.activeCalculator).length > 0)
            if (t) {
                loanAmount = parseInt($('[data-algorithm-input="loanAmount"]', e.activeCalculator).val().split(".").join("").split(/\s/g).join(""));
                var r = $('[data-algorithm-input="downPayment"]', e.activeCalculator);
                e.downPayment = 0,
                e.downPayment = round(loanAmount * e.downPaymentPercentage / 100, 0),
                r.val(round(e.downPayment, 0)),
                r.attr("data-parsley-min", e.downPayment),
                r.attr("data-parsley-max", loanAmount),
                a.removeClass("hide")
            } else {
                e.downPayment = 0,
                e.downPayment = 0;
                var r = $('[data-algorithm-input="downPayment"]', e.activeCalculator);
                r.val(e.downPayment),
                r.attr("data-parsley-min", 0),
                r.attr("data-parsley-max", 0),
                a.addClass("hide")
            }
    },
    this.setActiveVariant = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorData").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.setActiveVariantUpperMass = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorDataUpperMass").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.updateCalculatorConfigurationByTenor = function (t, a) {
        var r = (e.activeVariant.glProductVariantList, !1),
        n = JSON.stringify(e.activeTab).toString();
        for (k = 0; k < e.activeCurrency.glGenericCalculationList.length || r; k++) {
            var o = e.activeCurrency.glGenericCalculationList[k];
            if ($('[data-algorithm-input="downPaymentPercentuage"]', e.activeCalculator).val()) {
                if (o.amountList[0].minimumTenor <= t && o.interest[0].firstPeriod.monthDuration >= t && o.amountList[0].maximumTenor >= t && e.activeTab.data.standard == o.standard)
                    if (e.downPaymentPercentuageUnder30) {
                        if ("30" == o.downPayment) {
                            e.activeTab = {
                                isDefault: o.isDefault,
                                data: o
                            },
                            r = !0,
                            n != JSON.stringify(e.activeTab).toString() && (e.setActiveInterestType(a), e.updateTenorUnit(), e.updateTenorSlider(), e.updateTenorStep()),
                            e.changedActiveTab = !0;
                            break
                        }
                    } else {
                        if ("20" == o.downPayment && e.downpaymentPercentuageFix20) {
                            e.activeTab = {
                                isDefault: o.isDefault,
                                data: o
                            },
                            r = !0,
                            n != JSON.stringify(e.activeTab).toString() && (e.setActiveInterestType(a), e.updateTenorUnit(), e.updateTenorSlider(), e.updateTenorStep()),
                            e.changedActiveTab = !0;
                            break
                        }
                        if ("20" == o.downPayment) {
                            e.activeTab = {
                                isDefault: o.isDefault,
                                data: o
                            },
                            r = !0,
                            n != JSON.stringify(e.activeTab).toString() && (e.setActiveInterestType(a), e.updateTenorUnit(), e.updateTenorSlider(), e.updateTenorStep()),
                            e.changedActiveTab = !0;
                            break
                        }
                        if ("null" == o.downPayment) {
                            e.activeTab = {
                                isDefault: o.isDefault,
                                data: o
                            },
                            r = !0,
                            n != JSON.stringify(e.activeTab).toString() && (e.setActiveInterestType(a), e.updateTenorUnit(), e.updateTenorSlider(), e.updateTenorStep()),
                            e.changedActiveTab = !0;
                            break
                        }
                    }
            } else if ("10021" != e.activeVariant.productId && "10022" != e.activeVariant.productId && "10023" != e.activeVariant.productId && "16111" != e.activeVariant.productId && "16112" != e.activeVariant.productId && "16311" != e.activeVariant.productId && "17111" != e.activeVariant.productId && "17112" != e.activeVariant.productId && "17311" != e.activeVariant.productId && "30041" != e.activeVariant.productId && "30042" != e.activeVariant.productId && "30043" != e.activeVariant.productId && "20031" != e.activeVariant.productId && "20032" != e.activeVariant.productId && "20033" != e.activeVariant.productId && "40051" != e.activeVariant.productId && "40052" != e.activeVariant.productId && "40053" != e.activeVariant.productId && "40151" != e.activeVariant.productId && "40152" != e.activeVariant.productId && "40153" != e.activeVariant.productId || (t = e.findTenorByIndex(t)), o.amountList[0].minimumTenor <= t && o.interest[0].firstPeriod.monthDuration >= t && o.amountList[0].maximumTenor >= t && e.activeTab.data.standard == o.standard) {
                e.activeTab = {
                    isDefault: o.isDefault,
                    data: o
                },
                r = !0,
                n != JSON.stringify(e.activeTab).toString() && (e.setActiveInterestType(a), e.updateTenorUnit(), e.updateTenorSlider(), e.updateTenorStep()),
                e.changedActiveTab = !0;
                break
            }
        }
        if (!r) {
            for (k = 0; k < e.activeCurrency.glGenericCalculationList.length || r; k++) {
                var o = e.activeCurrency.glGenericCalculationList[k];
                if (o.isDefault) {
                    e.activeTab = {
                        isDefault: o.isDefault,
                        data: o
                    },
                    r = !0,
                    e.changedActiveTab = !0;
                    break
                }
            }
            e.setActiveInterestType(a),
            e.updateTenorUnit(),
            e.updateTenorSlider(),
            e.updateTenorStep()
        }
        e.mortgage = ""
    },
    this.setActiveMortgage = function (t) {
        for (var a = e.activeVariant.glProductVariantList, r = a.length, n = 0; n < r; n++)
            if ("EUR" == t || "RSD" == t) {
                if (1 == a[n].variantId && 2 == e.activeMortgage.variantId) {
                    e.activeMortgage = a[n];
                    break
                }
                if (2 == a[n].variantId && 1 == e.activeMortgage.variantId) {
                    e.activeMortgage = a[n];
                    break
                }
                if (3 == a[n].variantId && 4 == e.activeMortgage.variantId) {
                    e.activeMortgage = a[n];
                    break
                }
                if (4 == a[n].variantId && 3 == e.activeMortgage.variantId) {
                    e.activeMortgage = a[n];
                    break
                }
            } else if (a[n].variantType === t && "carLoan" == e.typeLoan || "newCarLoan" == e.typeLoan) {
                if (console.log("outside mortgage options " + a[n].glConfigurationList[0].currency == e.currency), a[n].glConfigurationList[0].currency == e.currency) {
                    console.log("inside mortgage options "),
                    e.activeMortgage = a[n];
                    break
                }
            } else if (a[n].variantType === t && "carLoan" != e.typeLoan && "newCarLoan" != e.typeLoan) {
                e.activeMortgage = a[n];
                break
            }
        !$.isEmptyObject(e.activeMortgage) || "carLoan" != e.typeLoan && "newCarLoan" != e.typeLoan || (console.log("dentro"), e.activeMortgage = a[0]),
        e.mortgage = e.activeMortgage.variantType
    },
    this.getDefaultMortgage = function () {
        if (e.activeVariant) {
            for (var t = e.activeVariant.glProductVariantList, a = t.length, r = "", n = !1, o = 0; o < a; o++)
                if (!0 === t[o].default) {
                    r = t[o].variantType,
                    e.mortgage = r,
                    n = !0;
                    break
                }
            return n || (r = t[0].variantType),
            e.mortgage = r,
            r
        }
    },
    this.setActiveCurrency = function (t) {
        for (var a = e.activeMortgage.glConfigurationList, r = a.length, n = 0; n < r; n++)
            if (a[n].currency === t) {
                e.activeCurrency = a[n];
                break
            }
        "Universal Loan" == e.typeLoan && "EUR" == t && (e.secondCurrency = "RSD")
    },
    this.setActiveCurrencyCarLoan = function (t) {
        e.currency = t
    },
    this.getDefaultCurrency = function () {
        for (var t = e.activeMortgage.glConfigurationList, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].currency;
                break
            }
        return r
    },
    this.setActiveInterestType = function (t) {
        for (var a = e.activeTab.data.interest, r = a.length, n = 0; n < r; n++)
            if (a[n].interestCode === t) {
                e.activeInterestType = a[n],
                e.interestRateType = t;
                break
            }
    },
    this.getDefaultInterestType = function () {
        for (var t = e.activeTab.data.interest, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].interestCode;
                break
            }
        return r
    },
    this.getCalculatorInputs = function () {
        for (var t = $("[data-algorithm-input]", e.activeCalculator), a = t.length, r = 0; r < a; r++) {
            var n = t[r].getAttribute("data-algorithm-input"),
            o = t[r].value;
            "loanAmount" === n && (o = o.split(/\./g).join("").split(/\s/g).join("")),
            "downPayment" === n && (o = o.split(/\./g).join("").split(/\s/g).join("")),
            "mortgage" === n && (o = $("input[name=radio]:checked", '[data-algorithm-input="mortgage"]', e.activeCalculator).val()),
            "currency" !== n && "mortgage" !== n && "fixedInterestRate" !== n && "variableInterestRate" !== n && "middleExchangeRate" !== n && "newInterestRate" !== n && "newMiddleExchangeRate" !== n && "nominalInterestRate" !== n && "newNominalInterestRate" !== n && (o = parseFloat(o)),
            e[n] = o
        }
    },
    this.updateTabsNumber = function () {
        var t = e.activeVariant.glGenericCalculationList,
        a = t.length,
        r = $(".com16__tabMenu"),
        n = $(".com16__tabContainer");
        a <= 1 ? (r.hide(), n.css("padding-top", "40px")) : (r.show(), n.removeAttr("style"))
    },
    this.appendCalculatorOutputs = function () {
        var t = $("[data-algorithm-output]", e.activeCalculator),
        n = $(".com16__buttonCover .btn", e.activeCalculator);
        if (!0 === e.errorState || isNaN(e.loanAmount) || !0 === e.errorDownState || 0 == e.loanAmount)
            return $("[data-algorithm-output]:not([data-algorithm-output=currency])").text("-"), "Universal Loan" == e.typeLoan && $("[data-algorithm-output]:not([data-algorithm-output=secondCurrency])").text("-"), void n.addClass("disabled");
        n.removeClass("disabled"),
        t.each(function () {
            var t = $(this).attr("data-algorithm-output"),
            n = e[t];
            if ("monthlyInstallment" !== t && "firstMonthlyInstallment" !== t && "secondMonthlyInstallment" !== t && "secondInterestRate" !== t && "firstInterestRate" !== t || (n = number_format(e[t], 2, a.decimal, a.separator)), "Universal Loan" == e.typeLoan && ("firstMonthlyInstallmentAfterVInterestRateExchangeRate" == t && (n = number_format(e[t], 2, a.decimal, a.separator)), "firstMonthlyInstallmentAfterExchangeRate" == t && (n = number_format(e[t], 2, a.decimal, a.separator)), "firstMonthlyInstallmentRsd" == t && (n = number_format(e[t], 2, a.decimal, a.separator)), "firstMonthlyInstallmentEur" == t && (n = number_format(e[t], 2, a.decimal, a.separator)), "firstMonthlyInstallmentEurInterestRate" == t && (n = number_format(e[t], 2, a.decimal, a.separator)), "firstMonthlyInstallmentRsdInterestRate" == t && (n = number_format(e[t], 2, a.decimal, a.separator)), "amountToRepayRsd" === t && (n = number_format(e[t], 2, a.decimal, a.separator)), "currency" == t)) {
                var o = $(this).siblings();
                for (i = 0; i < o.length; i++)
                    "firstMonthlyInstallmentEurInterestRate" == $(o[i]).attr("data-algorithm-output") && (n = "EUR")
            }
            "loanAmount" !== t && "aprc" !== t && "aprc2" !== t || (n = number_format(e[t] - e.downPayment, 2, a.decimal, a.separator)),
            "amountToRepay" === t && (n = number_format(e[t] + e.fee, 2, a.decimal, a.separator)),
            "tenor" === t && "YEARS" === e.tenorUnit && (n = e.tenor / 12),
            "approval_cost" === t && (n = e.formatFeeOutput(n)),
            "notary_cost" === t && e.isWithMortgage && (n = e.formatFeeOutput(n)),
            "downPayment" === t && ("RSD" != e.currency ? $("[data-show-downPayment]").attr("data-show-downPayment", !0) : $("[data-show-downPayment]").attr("data-show-downPayment", !1)),
            "fee" === t && (n = e.formatFeeOutput(n)),
            "customer" === t && (1 == n ? ($("[data-show-customer]").attr("data-show-customer", !0), $("[data-show-notcustomer]").attr("data-show-notcustomer", !1), n = r.WITHSALARYMOBILE) : ($("[data-show-customer]").attr("data-show-customer", !1), $("[data-show-notcustomer]").attr("data-show-notcustomer", !0), n = r.WITHOUTSALARYMOBILE)),
            "clientSegment" === t && (1 == n ? ($("[data-show-mass]").attr("data-show-mass", !0), $("[data-show-uppermass]").attr("data-show-uppermass", !1)) : ($("[data-show-mass]").attr("data-show-mass", !1), $("[data-show-uppermass]").attr("data-show-uppermass", !0))),
            "otherLoan" === t && (1 == n ? ($("[data-show-otherloan]").attr("data-show-otherloan", !0), $("[data-show-nototherloan]").attr("data-show-nototherloan", !1), n = r.WITHOTHERLOAN) : ($("[data-show-otherloan]").attr("data-show-otherloan", !1), $("[data-show-nototherloan]").attr("data-show-nototherloan", !0), n = r.WITHOUTOTHERLOAN)),
            "firstInterestRateCode" === t && (n = "FIXED" == e.activeInterestType.interestCode.toUpperCase() ? r.FIXEDMOBILE : r.VARIABLEMOBILE),
            $(this).text(n)
        })
    },
    this.formatFeeOutput = function (e) {
        var t = $("[data-fixed-currency]");
        return null === e || void 0 === e ? (e = r.NO_FEE, t.addClass("hide")) : (e = number_format(e, 2, a.decimal, a.separator), t.removeClass("hide")),
        e
    },
    this.formatMoneyInputs = function () {
        var e = $("*[data-format-currency]");
        e.length > 0 && e.each(function () {
            new Cleave($(this), {
                delimiter: a.separator,
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 2,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.pianoUniversal = function (t, r, n, i) {
        var s = $("input[name=loanCalculatorLanguage]").val(),
        c = "Description";
        "sr" == s && (c = "Opis");
        var u = [],
        d = [],
        m = [];
        if ("rsd-variable" == l) {
            var p = t,
            h = r,
            g = n,
            f = g / 100,
            v = new Date,
            y = i || 12,
            b = y * h,
            C = e.calculateRepaymentDates(b, v),
            I = f / y,
            w = I + 1,
            S = p * I / (1 - Math.pow(w, -y * h));
            S = round(S, 4),
            f = 0;
            var _ = 0,
            T = 0,
            R = 0,
            A = p,
            k = 0,
            x = parseFloat(o.toString().replace(",", ".")),
            P = parseFloat(S);
            "EUR" == e.activeCurrency.currency && (P = parseFloat(S) * x),
            d.push([C[0], number_format(parseFloat(e.loanAmount), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, e.tenor + " months", number_format(parseFloat(e.nominalInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator) + " % (" + number_format(parseFloat(e.fixedInterestRate), 2, a.decimal, a.separator) + " % + " + number_format(parseFloat(e.variableInterestRate), 2, a.decimal, a.separator) + " % )", number_format(parseFloat(e.newNominalInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator) + " %(" + number_format(parseFloat(e.fixedInterestRate), 2, a.decimal, a.separator) + " % + " + number_format(parseFloat(e.newInterestRate), 2, a.decimal, a.separator) + " % )", number_format(parseFloat(e.firstMonthlyInstallmentRsd.toString().replace(",", ".")), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(P), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency]);
            var M = "";
            for (m.push(d[0]), sessionStorage.setItem("pianoTopPage", JSON.stringify(m)), f = 1; f <= b; f++)
                _ = round(I * A, 4), R = round(S - _, 4), A = round(A - R, 4), k = round(k + R, 4), T = round(T + _, 4), f == b && (S = round(S + A, 4), k = round(k + A, 4), R = round(R + A, 4), A = 0), M = 1 == f ? number_format(parseFloat(p), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency : "-", u.push([f, C[f], M, number_format(parseFloat(g), 2, a.decimal, a.separator) + " %", number_format(parseFloat(S), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(R), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(_), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(A), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, c])
        } else if ("rsd-fixed" == l) {
            var p = t,
            h = r,
            g = n,
            f = g / 100,
            v = new Date,
            y = i || 12,
            b = y * h,
            C = e.calculateRepaymentDates(b, v),
            I = f / y,
            w = I + 1,
            S = p * I / (1 - Math.pow(w, -y * h));
            S = round(S, 4),
            f = 0;
            var _ = 0,
            T = 0,
            R = 0,
            A = p,
            k = 0;
            d.push([C[0], number_format(parseFloat(p), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, e.tenor + " months", number_format(parseFloat(g), 2, a.decimal, a.separator) + " %", number_format(parseFloat(S), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency]);
            var M = "";
            for (m.push(d[0]), sessionStorage.setItem("pianoTopPage", JSON.stringify(m)), f = 1; f <= b; f++)
                _ = round(I * A, 4), R = round(S - _, 4), A = round(A - R, 4), k = round(k + R, 4), T = round(T + _, 4), f == b && (S = round(S + A, 4), k = round(k + A, 4), R = round(R + A, 4), A = 0), M = 1 == f ? number_format(parseFloat(p), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency : "-", u.push([f, C[f], M, number_format(parseFloat(S), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(R), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(_), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(A), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, c])
        } else if ("eur-fixed" == l) {
            var p = t,
            h = r,
            g = n,
            f = g / 100,
            v = new Date,
            y = i || 12,
            b = y * h,
            C = e.calculateRepaymentDates(b, v),
            I = f / y,
            w = I + 1,
            S = p * I / (1 - Math.pow(w, -y * h));
            S = round(S, 4),
            f = 0;
            var _ = 0,
            T = 0,
            R = 0,
            A = p,
            k = 0,
            N = S * parseFloat(e.newMiddleExchangeRate.toString().replace(",", "."));
            d.push([C[0], number_format(parseFloat(e.loanAmount), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, e.tenor + " months", number_format(parseFloat(g), 2, a.decimal, a.separator) + " %", number_format(parseFloat(e.middleExchangeRate), 2, a.decimal, a.separator) + " RSD", number_format(parseFloat(e.newMiddleExchangeRate), 2, a.decimal, a.separator) + " RSD", number_format(parseFloat(S), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(N), 2, a.decimal, a.separator) + " RSD"]),
            m.push(d[0]),
            sessionStorage.setItem("pianoTopPage", JSON.stringify(m));
            var M = "",
            L = (parseInt($(".rangeslider--3").val()), parseInt($(".rangeslider--4").val())),
            O = 0;
            for (f = 1; f <= b; f++)
                _ = round(I * A, 4), R = round(S - _, 4), A = round(A - R, 4), k = round(k + R, 4), T = round(T + _, 4), f == b && (S = round(S + A, 4), k = round(k + A, 4), R = round(R + A, 4), A = 0), M = 1 == f ? number_format(parseFloat(p), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency : "-", O = f < L ? e.middleExchangeRate : e.newMiddleExchangeRate, u.push([f, C[f], M, O + " RSD", number_format(parseFloat(S), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(R), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(_), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(A), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, c])
        } else if ("eur-variable" == l) {
            var p = t,
            h = r,
            g = n,
            f = g / 100,
            v = new Date,
            y = i || 12,
            b = y * h,
            C = e.calculateRepaymentDates(b, v),
            I = f / y,
            w = I + 1,
            S = p * I / (1 - Math.pow(w, -y * h));
            e.firstInterestRate,
            Math.pow(e.firstInterestRate / 100 / y + 1, -y * h);
            S = round(S, 4),
            f = 0;
            var _ = 0,
            T = 0,
            R = 0,
            A = p,
            k = 0,
            x = e.middleExchangeRate.toString().replace(",", ".");
            d.push([C[0], number_format(parseFloat(e.loanAmount), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, e.tenor + " months", number_format(parseFloat(e.nominalInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator) + " % (" + number_format(parseFloat(e.fixedInterestRate), 2, a.decimal, a.separator) + " % + " + number_format(parseFloat(e.variableInterestRate), 2, a.decimal, a.separator) + " % )", number_format(parseFloat(e.newNominalInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator) + " %(" + number_format(parseFloat(e.fixedInterestRate), 2, a.decimal, a.separator) + " % + " + number_format(parseFloat(e.newInterestRate), 2, a.decimal, a.separator) + " % )", number_format(parseFloat(e.middleExchangeRate.toString().replace(",", ".")), 2, a.decimal, a.separator) + " RSD", number_format(parseFloat(e.newMiddleExchangeRate.toString().replace(",", ".")), 2, a.decimal, a.separator) + " RSD", number_format(parseFloat(e.firstMonthlyInstallmentRsd.toString().replace(",", ".")), 2, a.decimal, a.separator) + " RSD", number_format(parseFloat(S), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(e.firstMonthlyInstallmentRsdInterestRate.toString().replace(",", ".")), 2, a.decimal, a.separator) + " RSD", number_format(parseFloat(e.firstMonthlyInstallmentAfterVInterestRateExchangeRate.toString().replace(",", ".")), 2, a.decimal, a.separator) + " RSD"]),
            m.push(d[0]),
            sessionStorage.setItem("pianoTopPage", JSON.stringify(m));
            var M = "",
            L = (parseInt($(".rangeslider--3").val()), parseInt($(".rangeslider--4").val())),
            O = 0;
            for (f = 1; f <= b; f++)
                _ = round(I * A, 4), R = round(S - _, 4), A = round(A - R, 4), k = round(k + R, 4), T = round(T + _, 4), f == b && (S = round(S + A, 4), k = round(k + A, 4), R = round(R + A, 4), A = 0), M = 1 == f ? number_format(parseFloat(p), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency : "-", O = f < L ? e.middleExchangeRate : e.newMiddleExchangeRate, b < e.tenor && (O = e.newMiddleExchangeRate), u.push([f, C[f], M, number_format(parseFloat(g), 2, a.decimal, a.separator) + " %", number_format(parseFloat(O.toString().replace(",", ".")), 2, a.decimal, a.separator) + " RSD", number_format(parseFloat(R), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(S), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(_), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, number_format(parseFloat(A), 2, a.decimal, a.separator) + " " + e.activeCurrency.currency, c])
        }
        return u
    },
    this.piano = function (e, t, a, r) {
        var n = [],
        o = e,
        i = t,
        s = a,
        l = s / 100,
        c = r || 12,
        u = c * i,
        d = l / c,
        m = d + 1,
        p = o * d / (1 - Math.pow(m, -c * i));
        p = round(p, 4),
        l = 0;
        var h = 0,
        g = 0,
        f = 0,
        v = o,
        y = 0;
        for (l = 1; l <= u; l++)
            h = round(d * v, 4), f = round(p - h, 4), v = round(v - f, 4), y = round(y + f, 4), g = round(g + h, 4), l == u && (p = round(p + v, 4), y = round(y + v, 4), f = round(f + v, 4), v = 0), n.push([l, g, p, f, h, v, y]);
        return n
    },
    this.pianoMortgageLoan = function (e, t, a, r) {
        var n = [],
        o = e,
        i = t,
        s = a,
        l = s / 100,
        c = r || 12,
        u = c * i,
        d = l / 360 * 30.5;
		"24" == $('[name="productId"]').val() && "50091" == $("#hiddenproductid").val() && (d = l / 360 * 30.421);
        var m = d + 1,
        p = o * d / (1 - Math.pow(m, -c * i));
        p = round(p, 4),
        l = 0;
        var h = 0,
        g = 0,
        f = 0,
        v = o,
        y = 0;
        for (l = 1; l <= u; l++)
            h = round(d * v, 4), f = round(p - h, 4), v = round(v - f, 4), y = round(y + f, 4), g = round(g + h, 4), l == u && (p = round(p + v, 4), y = round(y + v, 4), f = round(f + v, 4), v = 0), n.push([l, g, p, f, h, v, y]);
        return n
    },
    this.calculateRepaymentDates = function (t, a) {
        var r = [],
        n = a.getFullYear(),
        o = a.getMonth(),
        s = a.getDate();
        for (i = 0; i <= t; i++) {
            var l = new Date(n, o, s);
            l.setMonth(l.getMonth() + i),
            r[i] = e.formatDate(l)
        }
        return r
    },
    this.formatDate = function (e) {
        var t = new Date(e),
        a = "" + (t.getMonth() + 1),
        r = "" + t.getDate(),
        n = t.getFullYear();
        return a.length < 2 && (a = "0" + a),
        r.length < 2 && (r = "0" + r),
        [r, a, n].join(".")
    },
    this.getRata = function (e) {
        return e[2]
    },
    this.getDebitoRes = function (e) {
        return e && e[5] && e[5] >= 0 ? e[5] : 0
    },
    this.calculateAmountToRepay = function () {
        var t = e.getInitialExpenses(e.loanAmount, e.fee, e.notaryCost, e.isWithMortgage);
        for (e.amountToRepay = t, i = 0; i < e.p.length; i++)
            e.amountToRepay += e.getRata(e.p[i])
    },
    this.calculateAmountToRepayRsd = function () {
        if (e.amountToRepayRsd = 0, "RSD" == e.activeCurrency.currency)
            e.amountToRepayRsd = e.amountToRepay;
        else {
            var t = ($(".rangeslider--3").val(), $(".rangeslider--4").val()),
            a = 0;
            for (i = 0; i < e.p.length; i++)
                a = "eur-fixed" == l || "eur-variable" == l ? i < t ? e.middleExchangeRate : e.newMiddleExchangeRate : e.middleExchangeRate, e.amountToRepayRsd += e.getRata(e.p[i]) * parseFloat(a.toString().replace(",", ".")), console.log("amount to repay at rata : " + i + " " + e.amountToRepay)
        }
    },
    this.calculateAPRC_ = function (t, a) {
        e.aprc = e.calcAprc(e.paymentsHistoryFirstPeriod, e.loanAmount - t),
        e.aprc = 100 * e.aprc
    },
    this.calculateAPRC = function (t, a) {
        var r = e.loanAmount;
        if (!(r < 0)) {
            var n = t;
            if (!(n < 0)) {
                var o = e.firstMonthlyInstallment;
                if (!(o < 0)) {
                    var i = a;
                    if (!(i < 0)) {
                        var s = e.tenor / 12;
                        if (0 != s) {
                            if (rapporto = (r - n) / (o + i), nk = 12 * s, !(rapporto >= nk)) {
                                var l = e.bisezione(1e-14, 1),
                                c = Math.pow(1 + l, 12) - 1;
                                c *= 100,
                                e.aprc = c
                            }
                        }
                    }
                }
            }
        }
    },
    this.calculateAPRC2 = function (t, a) {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod && e.paymentsHistoryWholePeriod && e.paymentsHistoryWholePeriod.length ? (e.aprc2 = e.calcAprc(e.paymentsHistoryWholePeriod, e.loanAmount - t), e.aprc2 = 100 * e.aprc2) : e.aprc2 = 0,
        e.aprc2 = e.aprc2
    },
    this.bisezione = function (t, a) {
        return fa = e.f(t),
        0 == fa ? t : (fb = e.f(a), 0 == fb ? a : (m = (t + a) / 2, fm = e.f(m), 0 == fm ? m : a - t < 1e-8 ? m : fa * fm < 0 ? e.bisezione(t, m) : e.bisezione(m, a)))
    },
    this.f = function (e) {
        return (1 - rapporto * e) * Math.pow(1 + e, nk) - 1
    },
    this.format = function (e) {
        var t = Math.round(1e3 * e) / 1e3,
        a = String(t),
        r = a.length,
        n = a.indexOf(".");
        return n < 0 && (a += ".00"),
        n == r - 1 && (a += "00"),
        n == r - 2 && (a += "0"),
        n = a.indexOf("."),
        a = a.substr(0, n + 3)
    },
    this.setActiveTab = function (t, a, r) {
        var n = !1 !== t;
        if (a) {
            $('[data-tab-default="' + n + '"]').parent().hasClass("open") || $('[data-tab-default="' + n + '"]').trigger("click")
        }
        if (r)
            return void(e.activeTab = {
                    isDefault: r.isDefault,
                    data: r
                });
        for (var o = e.activeCurrency.glGenericCalculationList, i = o.length, s = !1, l = 0; l < i; l++) {
            var c = o[l].isDefault;
            if (c && c == t) {
                e.activeTab = {
                    isDefault: o[l].isDefault,
                    data: o[l]
                };
                var s = !0;
                break
            }
        }
        s || (e.activeTab = {
                isDefault: o[0].isDefault,
                data: o[0]
            })
    },
    this.consoleLogValues = function () {
        console.log("--------------------------------------"),
        console.log("Active variant | " + e.activeVariant.productCategory),
        console.log("Active mortgage | " + e.activeMortgage.variantType),
        console.log("Currency | " + e.currency),
        console.log("Active interestType | " + e.activeInterestType.interestCode),
        console.log("Loan amount | " + e.loanAmount),
        console.log("First Interest Rate | " + e.firstInterestRate),
        console.log("Second Interest Rate | " + e.secondInterestRate),
        console.log("Third Interest Rate | " + e.thirdInterestRate),
        console.log("Tenor in months | " + e.tenor),
        console.log("Tenor unit | " + e.tenorUnit),
        console.log("Amount to repay | " + e.amountToRepay),
        console.log("Monthly installment first | " + e.firstMonthlyInstallment),
        console.log("Monthly installment second | " + e.secondMonthlyInstallment),
        console.log("APR | " + e.apr),
        console.log("APRC | " + e.aprc),
        console.log("Fee (Approval Cost) | " + e.fee + "%"),
        console.log("Min Approval Cost | " + e.min_approval_cost),
        console.log("Max Approval Cost | " + e.max_approval_cost),
        console.log("Notary Cost | " + e.notaryCost),
        console.log("--------------------------------------")
    },
    this.setPianoDiAmmortamento = function () {
        sessionStorage.setItem("ammortamento", JSON.stringify(e.repaymentPlan)),
        sessionStorage.setItem("currentSelectedUniversalCase", l),
        window.pianoAmmortamento = e.repaymentPlan
    },
    this.updateTenorSelect = function () {
        var t = $("[data-tenor-select]", e.activeCalculator);
        if (t) {
            t.html(""),
            e.calculateStepIntermezzo(),
            e.stepTenor.forEach(function (a) {
                var r = $("<option value=" + a + ">" + a + "</option>");
                a == e.tenor && (r = $("<option value=" + a + " selected>" + a + "</option>")),
                t.append(r)
            });
            var a = e.findTenorByIndex(0),
            r = e.findTenorByIndex(e.stepTenor.length - 1),
            n = t.parents(".loanDuration__wrp");
            n.find("[data-min-tenor]").html(a),
            n.find("[data-max-tenor]").html(r)
        }
    },
    this.updateTenorInput = function () {
        var t = $('[data-algorithm-input="loanDuration"]', e.activeCalculator);
        if (t && t.length) {
            var a = t.parents(".loanDuration__wrp"),
            r = e.activeTab.data.amountList[0].minimumTenor,
            n = e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeTab.data.amountList[0].maximumTenor,
            o = e.activeTab.data.amountList[0].defaultTenor;
            2 === e.activeInterestType.periods && n <= e.activeInterestType.secondPeriod.monthDuration && (n = e.activeInterestType.secondPeriod.monthDuration),
            3 === e.activeInterestType.periods && n <= e.activeInterestType.thirdPeriod.monthDuration && (n = e.activeInterestType.thirdPeriod.monthDuration),
            "YEARS" === e.tenorUnit && (r /= 12),
            "YEARS" === e.tenorUnit && (n /= 12),
            t.val(o),
            t.attr("data-parsley-min", r),
            t.attr("data-parsley-max", n),
            a.find("[data-min-tenor]").html(r),
            a.find("[data-max-tenor]").html(n)
        }
    },
    this.changeSalaryTransferDataLayer = function (t) {
        var a = e.activeCalculator.find(".com16__tabItem.open");
        t ? a.attr("data-layer-loan-salary-transfer", "") : a.removeAttr("data-layer-loan-salary-transfer")
    }
}, Intesa.LoanCalculatorBIB.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_bib || (window.intesa.loan_calculator_bib = new Intesa.LoanCalculatorBIB),
    window.intesa.loan_calculator_bib
};
var Intesa = Intesa || {};
Intesa.LoanCalculatorBIBCombined = function () {
    var e = this,
    t = !1,
    a = {},
    r = {};
    $("html")[0].getAttribute("lang");
    this.MAX_ITERATIONS = 50,
    this.activeCalculator = null,
    this.activeVariant = {},
    this.activeMortgage = {},
    this.activeCurrency = {},
    this.activeInterestType = {},
    this.errorState = !1,
    this.defaultEducation = null,
    this.loanAmount = 0,
    this.firstInterestRate = 0,
    this.firstInterestRateCode = "",
    this.secondInterestRate = 0,
    this.tenor = 0,
    this.tenorUnit = null,
    this.firstMonthlyInstallment = 0,
    this.secondMonthlyInstallment = 0,
    this.amountToRepay = 0,
    this.currency = null,
    this.apr = 0,
    this.aprc = 0,
    this.aprc2 = 0,
    this.fee = 0,
    this.notaryCost = 0,
    this.paymentsHistoryFirstPeriod = [],
    this.paymentsHistoryWholePeriod = [],
    this.p = [],
    this.urlParams = {},
    this.isWithMortgage = $('[data-algorithm-input="mortgage"]').length > 0,
    this.min_approval_cost = 0,
    this.max_approval_cost = 0,
    this.approval_cost = 0,
    this.maxAmountForVariant = 0,
    this.tenor = 0,
    this.defaultValue = !0,
    this.standard = !0,
    this.stepTenor = [],
    this.customer = !0,
    this.clientSegment = "",
    this.init = function () {
        e.getSettingsAndLabelsJsonData();
        var a = $("#typeloan").val(),
        r = $("html").attr("data-bank"),
        n = "BIB" == r;
        "combined" != a && (n = !1);
        var o = n;
        if ($("section.com16-14").length && o && !t && "combined" == a) {
            console.log("combined loan"),
            e.setVisibleCalculatorAsActive();
            Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setTabInitValue(),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.clientSegment = $(".massBtn", e.activeCalculator).parent().text().trim(),
            e.mapSliders(),
            e.initCalculatorInputs(),
            e.updateCalculatorOutputs(),
            e.attachChangeEvents(),
            e.triggerDefaultEducation(),
            e.getUrlQueryStringParams(),
            e.fillInputsWithQueryParams()
        }
    },
    this.setTabInitValue = function () {
        if (e.urlParams && e.urlParams.isDefault) {
            var t = "false" !== e.urlParams.isDefault;
            e.setActiveTab(t, !0, void 0),
            e.defaultValue = t
        } else {
            var a,
            r = e.activeVariant.glProductVariantList,
            n = -1;
            for (i = 0; i < r.length && -1 === n; i++)
                if (!0 === r[i].default) {
                    var o = r[i].glConfigurationList;
                    for (j = 0; j < (o.length && -1 === n); j++)
                        if (!0 === o[j].default) {
                            var s = o[j].glGenericCalculationList;
                            for (k = 0; k < s.length && -1 === n; k++)
                                if (!0 === s[k].default) {
                                    n = s[k].isDefault,
                                    a = s[k];
                                    break
                                }
                        }
                }
            a && a.standard ? (e.setActiveTab(!1, !0, a), e.defaultValue = !1) : (e.setActiveTab(!0, !0, a), e.defaultValue = !0)
        }
    },
    this.calculateStepIntermezzo = function () {
        for (var t = e.activeTab.data.amountList[0].minimumTenor, a = [t], r = e.activeTab.data.amountList[0].tenorScalingFactor, n = e.activeTab.data.amountList[0].maximumTenor, o = t, i = 0, s = 0; o < n; s++)
            o += r, o >= n && (o = n), i++, a.push(o);
        if (2 === e.activeInterestType.periods) {
            t = e.activeTab.data.amountList[1].minimumTenor,
            n = e.activeTab.data.amountList[1].maximumTenor,
            r = e.activeTab.data.amountList[1].tenorScalingFactor,
            o = t;
            for (var s = 0; o < n; s++)
                o += r, o >= n && (o = n), i++, a.push(o)
        }
        if (3 === e.activeInterestType.periods) {
            t = e.activeTab.data.amountList[1].minimumTenor,
            n = e.activeTab.data.amountList[1].maximumTenor,
            r = e.activeTab.data.amountList[1].tenorScalingFactor,
            o = t;
            for (var s = 0; o < n; s++)
                o += r, o >= n && (o = n), i++, a.push(o);
            t = e.activeTab.data.amountList[2].minimumTenor,
            n = e.activeTab.data.amountList[2].maximumTenor,
            r = e.activeTab.data.amountList[2].tenorScalingFactor,
            o = t;
            for (var s = 0; o < n; s++)
                o += r, o >= n && (o = n), i++, a.push(o)
        }
        e.stepTenor = a
    },
    this.getUrlQueryStringParams = function () {
        var t = window.location.href;
        t = t.split("?");
        var a = t[1];
        if (void 0 !== a) {
            a.split("&").forEach(function (t) {
                var a = t.split("="),
                r = a[0],
                n = a[1];
                e.urlParams[r] = n
            })
        }
    },
    this.fillInputsWithQueryParams = function () {
        !$.isEmptyObject(e.urlParams) && (e.setInterestRateFromQuery(), e.setMortgageFromQuery(), e.setLoanAmountFromQuery(), e.setCurrencyFromQuery(), e.setTenorFromQuery())
    },
    this.setCurrencyFromQuery = function () {
        var t = e.urlParams.currency,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator);
        t && a.length && a.val(t).trigger("change")
    },
    this.setLoanPurposeFromQuery = function () {},
    this.setLoanAmountFromQuery = function () {
        var t = e.urlParams.loanAmount;
        if (t && !isNaN(t)) {
            t = parseInt(t);
            $('[data-algorithm-input="loanAmount"]', e.activeCalculator).val(t),
            e.formatMoneyInputs()
        }
    },
    this.setInterestRateFromQuery = function () {
        var t = e.urlParams.interestRateType,
        a = $('[name="interestRateType"]', e.activeCalculator);
        t && a.length && a.val(t).trigger("change")
    },
    this.setMortgageFromQuery = function () {
        var t = e.urlParams.mortgage,
        a = $('[data-algorithm-input="mortgage"]', e.activeCalculator);
        t && a.length && $("[name=radio][value=" + t + "]", a).trigger("click")
    },
    this.setTenorFromQuery = function () {
        var t = parseInt(e.urlParams.tenor);
        if (t && !isNaN(t)) {
            var a = $("[data-slider-repayment]", e.activeCalculator).attr("data-slider-step");
            a = parseInt(a),
            t -= t % a,
            "YEARS" === e.tenorUnit && (t /= 12),
            window.sliderbootstrap[0].slider("setValue", t, !0)
        }
    },
    this.calcAprc = function (t, a) {
        return e.calcAprcWithBinarySearch(t, a, 0, 1, 0)
    },
    this.calcAprcWithBinarySearch = function (t, a, r, n, o) {
        if (n - r < 1e-14)
            return r;
        const i = (n - r) / 2 + r;
        if (o > e.MAX_ITERATIONS)
            return i;
        const s = a;
        for (var l = 0, c = 0; c < t.length; c++) {
            l += t[c] * Math.pow(1 + i,  - (c + 1) / 12)
        }
        return s == l ? i : s < l ? e.calcAprcWithBinarySearch(t, a, i, n, ++o) : e.calcAprcWithBinarySearch(t, a, r, i, ++o)
    },
    this.getSettingsAndLabelsJsonData = function () {
        var e = $("#genericSettings"),
        n = $("#calculatorLabels");
        try {
            e.length && (a = JSON.parse(e.val())),
            n.length && (r = JSON.parse(n.val()))
        } catch (e) {
            console.error("Settings or Labels JSON file invalid"),
            t = !0
        }
    },
    this.findIndexByTenor = function (t) {
        return e.stepTenor.indexOf(t)
    },
    this.findTenorByIndex = function (t) {
        return e.stepTenor[t]
    },
    this.initCalculatorInputs = function () {
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.updateLoanAmountInput(),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        e.startTenorSlider(),
        e.updateTenorSelect(),
        e.updateMortgageRadio(),
        e.updateFee(),
        e.updateNotaryCost(),
        e.formatMoneyInputs()
    },
    this.updateCalculatorInputs = function () {
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        e.updateMortgageRadio(),
        e.updateFee(),
        e.updateNotaryCost(),
        e.formatMoneyInputs()
    },
    this.updateCalculatorOutputs = function () {
        e.getCalculatorInputs(),
        e.getTenorInMonths(),
        e.getInterestRates(),
        e.calculateMonthlyInstallments(),
        e.calculateAmountToRepay(),
        e.getPaymentListByPlan(),
        e.updateFee();
        var t = e.getInitialExpenses(e.loanAmount, e.fee, e.notaryCost, e.isWithMortgage);
        e.calculateAPRC(t, 0),
        e.checkErrors(),
        e.appendCalculatorOutputs(),
        $("[data-showStatus]", e.activeCalculator).hide(),
        e.isWithMortgage ? $('[data-aprc="notary_cost"]', e.activeCalculator).show() : $('[data-aprc="notary_cost"]', e.activeCalculator).hide(),
        $('[data-aprc="first"]', e.activeCalculator).show(),
        $('[data-aprc="second"]', e.activeCalculator).hide(),
        e.updateShareCalculatorLink(),
        e.updateContactInputHidden()
    },
    this.updateContactInputHidden = function () {
        var t = JSON.stringify({
            LOANAMOUNT: number_format(parseFloat(e.loanAmount), 2, a.decimal, a.separator),
            DURATION: e.tenor,
            INSTALLMENT: number_format(parseFloat(e.firstMonthlyInstallment), 2, a.decimal, a.separator),
            DISCOUNTCODE: null,
            APR: number_format(parseFloat(e.aprc), 2, a.decimal, a.separator),
            INTERESTRATE: number_format(parseFloat(e.firstInterestRate), 2, a.decimal, a.separator)
        });
        "sr" == $("input[name=loanCalculatorLanguage]").val() && (t = JSON.stringify({
                IZNOSKREDITA: number_format(parseFloat(e.loanAmount), 2, a.decimal, a.separator),
                TRAJANJE: e.tenor,
                RATA: number_format(parseFloat(e.firstMonthlyInstallment), 2, a.decimal, a.separator),
                KODZAPOPUST: null,
                APR: number_format(parseFloat(e.aprc), 2, a.decimal, a.separator),
                KAMATNASTOPA: number_format(parseFloat(e.firstInterestRate), 2, a.decimal, a.separator)
            })),
        $("[data-cmb-input]").attr("value", t),
        $("#getloan-calc-config").attr("value", t)
    },
    this.getNextVal = function () {
        var t = $(".rangeslider", e.activeCalculator),
        a = $(".rangeslider", e.activeCalculator).parents(".sliderRange__wrapper"),
        r = t.attr("data-slider-step"),
        n = parseInt(r),
        o = t.attr("data-slider-min"),
        i = (parseInt(o), t.attr("data-slider-max")),
        s = parseInt(i),
        l = a.find(".qty"),
        c = (a.find(".valShow"), parseInt(l.val()));
        if (!isNaN(c) && c < s) {
            if (c + n > s)
                return s;
            return c + n
        }
        return s
    },
    this.getPrevVal = function () {
        var t = $(".rangeslider", e.activeCalculator),
        a = $(".rangeslider", e.activeCalculator).parents(".sliderRange__wrapper"),
        r = t.attr("data-slider-step"),
        n = parseInt(r),
        o = t.attr("data-slider-min"),
        i = parseInt(o),
        s = t.attr("data-slider-max"),
        l = (parseInt(s), a.find(".qty")),
        c = (a.find(".valShow"), parseInt(l.val()));
        if (!isNaN(c) && c > i) {
            if (c - n < i)
                return i;
            return c - n
        }
        return i
    },
    this.plusBut = function () {
        var t = $(".rangeslider", e.activeCalculator),
        a = $(".rangeslider", e.activeCalculator).parents(".sliderRange__wrapper"),
        r = t.attr("data-slider-step"),
        n = parseInt(r),
        o = t.attr("data-slider-min"),
        i = (parseInt(o), t.attr("data-slider-max")),
        s = parseInt(i),
        l = a.find(".qty"),
        c = a.find(".valShow"),
        u = parseInt(l.val());
        if (!isNaN(u) && u < s)
            if (u + n > s)
                l.val(s), c.text(Number(s)), t.slider("setValue", s);
            else {
                var d = u + n,
                m = [6, 12, 18, 24, 36, 48, 60, 71];
                goal = d,
                d = m.reduce(function (e, t) {
                    return Math.abs(t - goal) < Math.abs(e - goal) ? t : e
                }),
                l.val(d),
                c.text(Number(d)),
                t.slider("setValue", d)
            }
    },
    this.minusBut = function () {
        var t = $(".rangeslider", e.activeCalculator),
        a = $(".rangeslider", e.activeCalculator).parents(".sliderRange__wrapper"),
        r = t.attr("data-slider-step"),
        n = parseInt(r),
        o = t.attr("data-slider-min"),
        i = parseInt(o),
        s = t.attr("data-slider-max"),
        l = (parseInt(s), a.find(".qty")),
        c = a.find(".valShow"),
        u = parseInt(l.val());
        if (!isNaN(u) && u > i)
            if (u - n < i)
                l.val(i), c.text(Number(i)), t.slider("setValue", i);
            else {
                var d = u - n,
                m = [6, 12, 18, 24, 36, 48, 60, 71];
                goal = d,
                d = m.reduce(function (e, t) {
                    return Math.abs(t - goal) < Math.abs(e - goal) ? t : e
                }),
                l.val(d),
                c.text(Number(d)),
                t.slider("setValue", d)
            }
    },
    this.attachChangeEvents = function () {
        $(".js-btnMinus, .js-btnAdd", e.activeCalculator).unbind("click"),
        $(".rangeslider--2", e.activeCalculator).unbind("slide"),
        $(".rangeslider--2", e.activeCalculator).unbind("change"),
        $(document).on("click", ".com15__filterItem", function () {
            var t = $(this).attr("data-filter"),
            a = "desktop";
            if ($(window).width() < 768)
                var a = "mobile";
            var r = $('.com15__filter[data-filter="' + t + '"]').find("[data-calculator=" + a + "]");
            e.setActiveCalculator(r),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-tenor-select]", function () {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator),
            a = parseInt(t.attr("data-slider-index"));
            if ("10021" == e.activeVariant.productId || "10022" == e.activeVariant.productId || "10023" == e.activeVariant.productId || "30041" == e.activeVariant.productId || "30042" == e.activeVariant.productId || "30043" == e.activeVariant.productId || "20031" == e.activeVariant.productId || "20032" == e.activeVariant.productId || "20033" == e.activeVariant.productId || "40051" == e.activeVariant.productId || "40052" == e.activeVariant.productId || "40053" == e.activeVariant.productId) {
                var r = e.findIndexByTenor(parseInt($(this).val()));
                if (-1 != r) {
                    var n = $(t).parents(".sliderRange__wrapper");
                    n.find(".qty").val(r),
                    n.find(".valShow").html(r),
                    window.sliderbootstrap[a].slider("setValue", r, !0),
                    n.find(".rangeslider").trigger("change")
                }
            } else {
                var o = $(this).val();
                console.log("value è:" + o);
                var n = $(t).parents(".sliderRange__wrapper");
                n.find(".qty").val(o),
                n.find(".valShow").html(o),
                window.sliderbootstrap[a].slider("setValue", o, !0),
                n.find(".rangeslider").trigger("change")
            }
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", "[data-tab-default]", function () {
            var t = "true" === $(this).attr("data-tab-default");
            e.defaultValue = t,
            e.customer = t,
            e.updateCalculatorConfigurationByTenor(e.tenor, t),
            e.updateTenorSelect(),
            e.setActiveTabByVal(t, !1, e.activeTab),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", '[data-algorithm-input="mortgage"] input', function () {
            var t = $(this).val();
            e.isWithMortgage = "WITH_MORTGAGE" == t,
            e.setActiveMortgage(t),
            e.setActiveCurrency(e.activeCurrency.currency),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            $("[data-tab-default]").trigger("click"),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", '[data-algorithm-input="currency"]', function () {
            var t = $(this).val();
            e.setActiveCurrency(t),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-interest-select]", function () {
            var t = $(this).val();
            e.setActiveMortgage(t),
            e.setActiveCurrency(e.activeCurrency.currency),
            e.updateCalculatorConfigurationByTenor(e.tenor, e.defaultValue),
            e.setActiveInterestType(t),
            e.updateTenorSelect(),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-algorithm-input=newInterest] input", function () {
            var t = $(this).val();
            $("select[data-interest-select]", e.activeCalculator).val(t),
            $("select[data-interest-select]", e.activeCalculator).trigger("change")
        }),
        $(document).on("change focusout keyup", "[data-algorithm-input]", function () {
            e.updateCalculatorOutputs()
        }),
        $(document).on("change focusout keyup", '[data-algorithm-input="loanAmount"]', function () {
            e.updateCalculatorConfigurationByTenor(e.tenor, e.defaultValue),
            e.updateTenorSelect(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".js-btnMinus, .js-btnAdd", function (t) {
            var a = $(".rangeslider").val();
            $(this).hasClass("js-btnAdd") && (a = e.getNextVal()),
            $(this).hasClass("js-btnMinus") && (a = e.getPrevVal()),
            $(this).hasClass("js-btnMinus") && e.minusBut(),
            e.updateCalculatorConfigurationByTenor(a, e.defaultValue),
            $(this).hasClass("js-btnAdd") && e.plusBut(),
            $(".rangeslider").parents(".sliderRange__wrapper").find(".qty").trigger("change")
        }),
        $(document).on("change", ".rangeslider", function (t) {
            var a = $(this).val(),
            r = [6, 12, 18, 24, 36, 48, 60, 71];
            goal = a,
            a = r.reduce(function (e, t) {
                return Math.abs(t - goal) < Math.abs(e - goal) ? t : e
            }),
            e.updateCalculatorConfigurationByTenor(a, e.defaultValue);
            var n = $(this).parents(".sliderRange__wrapper");
            n.find(".qty").val(a),
            $(this).slider("setValue", a, !0),
            $(this).val(a),
            n.find(".valShow").html(a),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".massBtn", function () {
            if (!$(".massBtn", e.activeCalculator).hasClass("clicked")) {
                $(".upperMassBtn", e.activeCalculator).removeClass("clicked"),
                $(".massBtn", e.activeCalculator).addClass("clicked");
                var t = 1 == $("[data-tab-default=true]", e.activeCalculator).prop("checked");
                e.clientSegment = $(this).parent().text().trim(),
                e.setActiveVariant(),
                e.setTabInitValue(),
                e.setActiveMortgage(e.activeMortgage.variantType),
                e.setActiveCurrency(e.currency),
                e.setActiveInterestType(e.activeInterestType.interestCode),
                $(".rangeslider--2", e.activeCalculator).trigger("change"),
                t || $("[data-tab-default=false]", e.activeCalculator).trigger("click"),
                e.updateCalculatorOutputs()
            }
        }),
        $(document).on("click", ".upperMassBtn", function () {
            if (!$(".upperMassBtn", e.activeCalculator).hasClass("clicked")) {
                $(".massBtn", e.activeCalculator).removeClass("clicked"),
                $(".upperMassBtn", e.activeCalculator).addClass("clicked");
                var t = 1 == $("[data-tab-default=true]", e.activeCalculator).prop("checked");
                e.clientSegment = $(this).parent().text().trim(),
                e.setActiveVariantUpperMass(),
                e.setTabInitValue(),
                e.setActiveMortgage(e.activeMortgage.variantType),
                e.setActiveCurrency(e.currency),
                e.setActiveInterestType(e.activeInterestType.interestCode),
                $(".rangeslider--2", e.activeCalculator).trigger("change"),
                t || $("[data-tab-default=false]", e.activeCalculator).trigger("click"),
                e.updateCalculatorOutputs()
            }
        })
    },
    this.updateTenorSelect = function () {
        var t = $("[data-tenor-select]", e.activeCalculator);
        if (t) {
            t.html(""),
            e.stepTenor = [6, 12, 18, 24, 36, 48, 60, 71],
            "VARIABLE" == e.activeMortgage.variantType && (e.stepTenor = [71]),
            e.stepTenor.forEach(function (a) {
                var r = $("<option value=" + a + ">" + a + "</option>");
                a == $(".rangeslider.rangeslider--2", e.activeCalculator).attr("data-value") && (r = $("<option value=" + a + " selected>" + a + "</option>")),
                t.append(r)
            });
            var a = e.findTenorByIndex(0),
            r = e.findTenorByIndex(e.stepTenor.length - 1),
            n = t.parents(".loanDuration__wrp");
            n.find("[data-min-tenor]").html(a),
            n.find("[data-max-tenor]").html(r)
        }
    },
    this.triggerDefaultEducation = function () {
        null !== e.defaultEducation && $('[data-filter="' + e.defaultEducation + '"]').trigger("click")
    },
    this.handleEducationCalculators = function () {
        var t = $("[data-education]");
        t.length && t.each(function () {
            var t = $(this),
            a = e.getEducationCalculatorDataFromJSON(t),
            r = t.attr("data-filter");
            if (null !== a) {
                a = e.removeEducationVariantsFromJSON(a, r);
                a.glGenericSimulatorParams.glProductVariantList[0].default && (e.defaultEducation = r),
                a = JSON.stringify(a),
                t.find(".calculatorData").val(a)
            }
        })
    },
    this.removeEducationVariantsFromJSON = function (e, t) {
        return e.glGenericSimulatorParams.glProductVariantList.forEach(function (e, a, r) {
            e.variantType !== t && r.splice(a, 1)
        }),
        e
    },
    this.getEducationCalculatorDataFromJSON = function (e) {
        var t = null,
        a = e.find(".calculatorData").val();
        try {
            t = JSON.parse(a)
        } catch (e) {
            console.error("Education JSON file invalid")
        }
        return t
    },
    this.checkErrors = function () {
        var t = $(".parsley-errors-list li", e.activeCalculator).length;
        e.errorState = t > 0
    },
    this.mapSliders = function () {
        window.sliderbootstrap.forEach(function (e, t) {
            e.attr("data-slider-index", t)
        })
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first())
    },
    this.getTenorInMonths = function () {
        "YEARS" === e.tenorUnit && (e.tenor = 12 * e.tenor)
    },
    this.updateFee = function () {
        e.fee = e.activeTab.data.fee,
        e.min_approval_cost = e.activeTab.data.min_approval_cost,
        e.max_approval_cost = e.activeTab.data.max_approval_cost
    },
    this.updateNotaryCost = function () {
        e.notaryCost = e.activeTab.data.notary_costs
    },
    this.updateTenorUnit = function () {
        e.tenorUnit = e.activeCurrency.tenorUnit;
        var t = r[e.tenorUnit];
        $("[data-tenor-unit]", e.activeCalculator).text(t)
    },
    this.getInterestRates = function () {
        e.setFirstInterestRate(),
        e.setSecondInterestRate()
    },
    this.setFirstInterestRate = function () {
        1 === e.activeInterestType.periods ? (e.updateCalculatorConfigurationByTenor(e.tenor, e.defaultValue), e.updateTenorSelect(), e.setActiveInterestType(e.activeInterestType.interestCode), e.firstInterestRate = e.activeInterestType.firstPeriod.interestRate) : e.firstInterestRate = e.activeInterestType.firstPeriod.interestRate
    },
    this.setSecondInterestRate = function () {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod ? e.secondInterestRate = e.activeInterestType.secondPeriod.interestRate : e.secondInterestRate = "-"
    },
    this.calculateMonthlyInstallments = function () {
        var t = e.loanAmount,
        a = e.tenor / 12,
        r = e.piano(t, a, e.firstInterestRate, 12),
        n = [];
        e.p = [];
        var o = [],
        s = [],
        l = [];
        void 0 !== e.activeInterestType.secondPeriod && (e.tenor, e.activeInterestType.firstPeriod.monthDuration);
        if (2 === e.activeInterestType.periods) {
            for (o = r[0], s = r[e.activeInterestType.firstPeriod.monthDuration - 1], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
                e.p.push(r[i]);
            var c = e.getDebitoRes(s);
            if (c > 0) {
                var u = e.activeInterestType.secondPeriod.interestRate;
                for (n = e.piano(c, (e.tenor - e.activeInterestType.firstPeriod.monthDuration) / 12, u, 12), l = n[0], e.secondMonthlyInstallment = parseFloat(e.getRata(l)), i = 0; i < n.length; i++)
                    e.p.push(n[i])
            }
        } else
            for (e.secondMonthlyInstallment = "-", s = r[r.length - 1], o = r[0], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length; i++)
                e.p.push(r[i])
    },
    this.getPaymentListByPlan = function () {
        for (e.paymentsHistoryFirstPeriod = [], e.paymentsHistoryWholePeriod = [], i = 0; i < e.p.length; i++)
            e.paymentsHistoryWholePeriod.push(e.getRata(e.p[i]));
        for (i = 0; i < e.p.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
            e.paymentsHistoryFirstPeriod.push(e.getRata(e.p[i]))
    },
    this.getInitialExpenses = function (t, a, r, n) {
        var o = t * a / 100;
        return o <= e.min_approval_cost ? e.approval_cost = e.min_approval_cost : o >= e.max_approval_cost ? e.approval_cost = e.max_approval_cost : e.approval_cost = o,
        initialExpenses = o,
        initialExpenses = o,
        1,
        initialExpenses
    },
    this.updatePeriodLines = function () {
        var t = e.activeInterestType.periods,
        a = $("[data-one-period]", e.activeCalculator),
        r = $("[data-two-periods]", e.activeCalculator);
        2 === t ? (a.addClass("hide"), r.removeClass("hide")) : (r.addClass("hide"), a.removeClass("hide"))
    },
    this.updateCurrencySelect = function () {
        var t = e.activeMortgage.glConfigurationList,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator),
        r = "",
        n = 0;
        a.length && (a.html(""), t.forEach(function (t) {
                t = t.currency,
                t === e.activeCurrency.currency ? r += '<option value="' + t + '" selected>' + t + "</option>" : r += '<option value="' + t + '">' + t + "</option>",
                n += 1
            }), a.append(r), n <= 1 && "carLoan" != e.typeLoan && $('[data-algorithm-input="currency"]', e.activeCalculator).attr("disabled", !0))
    },
    this.updateMortgageRadio = function () {
        var t = $('[data-algorithm-input="mortgage"]', e.activeCalculator),
        a = e.activeMortgage.variantType;
        t.length && null !== a && $('input[value="' + a + '"]').trigger("click")
    },
    this.updateTenorSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper"),
            o = t.attr("data-value"),
            i = [6, 12, 18, 24, 36, 48, 60, 71];
            goal = o,
            o = i.reduce(function (e, t) {
                return Math.abs(t - goal) < Math.abs(e - goal) ? t : e
            });
            var s = e.activeTab.data.amountList[0].tenorScalingFactor;
            t.attr("data-slider-step", s);
            var l = e.activeInterestType.firstPeriod.monthMinimum ? e.activeInterestType.firstPeriod.monthMinimum : e.activeCurrency.glGenericCalculationList[0].amountList[0].minimumTenor;
            2 === e.activeInterestType.periods && l <= e.activeInterestType.firstPeriod.monthDuration && (l = e.activeInterestType.firstPeriod.monthDuration + 12),
            "YEARS" === e.tenorUnit && (l /= 12),
            t.attr("data-slider-min", l),
            n.find("[data-min-tenor]").html(l);
            var c = e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeInterestType.firstPeriod.monthDuration;
            "YEARS" === e.tenorUnit && (c /= 12),
            t.attr("data-slider-max", c),
            n.find("[data-max-tenor]").html(c),
            r.slider("destroy"),
            r.slider({
                tooltip: "show"
            }),
            n.find(".qty").val(o),
            n.find(".valShow").html(o),
            r.slider("setValue", o, !0),
            e.tenor = o
        }
    },
    this.startTenorSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper"),
            o = e.activeTab.data.defaultTenor,
            i = e.activeTab.data.amountList[0].tenorScalingFactor;
            t.attr("data-slider-step", i);
            var s = e.activeInterestType.firstPeriod.monthMinimum ? e.activeInterestType.firstPeriod.monthMinimum : e.activeCurrency.glGenericCalculationList[0].amountList[0].minimumTenor;
            2 === e.activeInterestType.periods && s <= e.activeInterestType.firstPeriod.monthDuration && (s = e.activeInterestType.firstPeriod.monthDuration + 12),
            "YEARS" === e.tenorUnit && (s /= 12),
            t.attr("data-slider-min", s),
            n.find("[data-min-tenor]").html(s);
            var l = e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeInterestType.firstPeriod.monthDuration;
            "YEARS" === e.tenorUnit && (l /= 12),
            t.attr("data-slider-max", l),
            n.find("[data-max-tenor]").html(l),
            r.slider("destroy"),
            r.slider(),
            t.attr("data-slider-value", o),
            n.find(".qty").val(o),
            n.find(".valShow").html(o),
            r.slider("setValue", o, !0)
        }
    },
    this.updateInterestTypeSelect = function () {
        var t = (e.activeTab.data.interest, $("[data-interest-select]")),
        a = "";
        if (t.length) {
            t.html("");
            var n = "",
            o = 0,
            i = 0;
            e.activeVariant.glProductVariantList.forEach(function (t) {
                code = t.variantType;
                var s = r[code];
                n.includes(s) || (code === e.activeMortgage.variantType ? a += '<option value="' + code + '" selected>' + s + "</option>" : a += '<option value="' + code + '">' + s + "</option>", $("div[data-algorithm-input=newInterest]", e.activeCalculator).children().find("input[type=radio]").each(function (e, t) {
                        if (console.log("index"), e == i)
                            return $(t).val(code), $(t).parent().find("span").text(s), $(t).parents(".section__form__inline").css("display", "inline-block"), i += 1, !1
                    }), n = n.concat(s + ","), o++)
            }),
            1 == o && ($("[data-interest-select]").hide(), $("[data-interest-row]").hide()),
            t.append(a)
        }
    },
    this.updateShareCalculatorLink = function () {
        var t = window.location.href;
        t = t.split("?"),
        t = t[0];
        var a = "?loanAmount=" + e.loanAmount + "&tenor=" + e.tenor + "&currency=" + e.currency + "&interestRateType=" + e.interestRateType + "&mortgage=" + e.mortgage;
        console.log(a),
        $('[data-tab="without-salary"]').hasClass("open") && (a += "&isDefault=false"),
        $("[data-socialshare]").length > 0 && $("[data-socialshare]").each(function () {
            $("html").hasClass("home") && !$(this).parents(".socialShare__calculator").length > 0 && (a = ""),
            $(this).attr("data-share-url").length > 0 && "" !== $(this).attr("data-share-url") && (t = $(this).attr("data-share-url")),
            "facebook" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + t + a),
            "twitter" == $(this).attr("data-socialshare") && $(this).attr("href", "https://twitter.com/home?status=" + t + a),
            "linkedin" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.linkedin.com/sharing/share-offsite/?url=" + t + a),
            "whatsapp" == $(this).attr("data-socialshare") && $(this).attr("href", " https://wa.me/?text=" + encodeURIComponent(t) + encodeURIComponent(a)),
            "mail" == $(this).attr("data-socialshare") && $(this).attr("href", "mailto:?body=" + t + encodeURIComponent(a))
        })
    },
    this.updateLoanAmountInput = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeTab.data.minimumAmount,
            n = e.activeTab.data.maxAmountForOnline,
            o = e.activeTab.data.defaultAmount;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]").text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]").text(s),
            ("0" == t.val() || parseInt(t.val()) < o) && t.val(o),
            t.parsley().validate()
        }
    },
    this.updateLoanAmountInputVariant = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeTab.data.minimumAmount,
            n = e.maxAmountForVariant,
            o = e.activeTab.data.defaultAmount;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]").text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]").text(s),
            "0" == t.val() && t.val(o),
            t.parsley().validate()
        }
    },
    this.setActiveVariant = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorData").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.setActiveVariantUpperMass = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorDataUpperMass").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.updateTenorStep = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator),
        a = e.activeTab.data.amountList[0].tenorScalingFactor;
        t.attr("data-slider-step", a)
    },
    this.updateLoanAmountInputVariant = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeTab.data.minimumAmount,
            n = e.activeTab.data.maxAmountForOnline,
            o = e.activeTab.data.defaultAmount;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]").text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]").text(s),
            "0" == t.val() && t.val(o),
            t.parsley().validate()
        }
    },
    this.updateCalculatorConfigurationByTenor = function (t, a) {
        var r = (e.activeVariant.glProductVariantList, !1);
        for (k = 0; k < e.activeCurrency.glGenericCalculationList.length || r; k++) {
            var n = e.activeCurrency.glGenericCalculationList[k],
            o = n.interest[0].firstPeriod.monthDuration;
            if (null != n.interest[0].firstPeriod.monthDuration && "null" != n.interest[0].firstPeriod.monthDuration || (o = n.interest[1].firstPeriod.monthDuration), n.amountList[0].minimumTenor <= t && o >= t && n.amountList[0].maximumTenor >= t && n.isDefault == a) {
                e.activeTab = {
                    isDefault: n.isDefault,
                    data: n
                },
                e.standard = n.standard,
                r = !0;
                break
            }
        }
        if (!r) {
            for (k = 0; k < e.activeCurrency.glGenericCalculationList.length || r; k++) {
                var n = e.activeCurrency.glGenericCalculationList[k];
                if (n.isDefault) {
                    e.activeTab = {
                        isDefault: n.isDefault,
                        data: n
                    },
                    r = !0,
                    e.standard = n.standard;
                    break
                }
            }
            e.updateTenorUnit()
        }
        e.updateTenorUnit(),
        e.updateTenorSlider(),
        e.updateTenorStep(),
        e.updateInterestTypeSelect(),
        e.mortgage = "",
        e.setActiveInterestType(e.activeTab.data.interest[0].interestCode),
        e.updateLoanAmountInputVariant()
    },
    this.setActiveMortgage = function (t) {
        for (var a = e.activeVariant.glProductVariantList, r = a.length, n = 0; n < r; n++)
            if (a[n].variantType === t) {
                e.activeMortgage = a[n];
                break
            }
        e.mortgage = t
    },
    this.getDefaultMortgage = function () {
        if (e.activeVariant) {
            for (var t = e.activeVariant.glProductVariantList, a = t.length, r = "", n = !1, o = 0; o < a; o++)
                if (!0 === t[o].default) {
                    r = t[o].variantType,
                    e.mortgage = r,
                    n = !0;
                    break
                }
            return n || (r = t[0].variantType),
            e.mortgage = r,
            r
        }
    },
    this.setActiveCurrency = function (t) {
        for (var a = e.activeMortgage.glConfigurationList, r = a.length, n = 0; n < r; n++)
            if (a[n].currency === t) {
                e.activeCurrency = a[n];
                break
            }
    },
    this.getDefaultCurrency = function () {
        for (var t = e.activeMortgage.glConfigurationList, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].currency;
                break
            }
        return r
    },
    this.setActiveInterestType = function (t) {
        for (var a = e.activeTab.data.interest, r = a.length, n = 0; n < r; n++)
            if (a[n].interestCode === t) {
                e.activeInterestType = a[n],
                e.interestRateType = t;
                break
            }
    },
    this.getDefaultInterestType = function () {
        for (var t = e.activeTab.data.interest, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].interestCode;
                break
            }
        return r
    },
    this.getCalculatorInputs = function () {
        for (var t = $("[data-algorithm-input]", e.activeCalculator), a = t.length, r = 0; r < a; r++) {
            var n = t[r].getAttribute("data-algorithm-input"),
            o = t[r].value;
            "loanAmount" === n && (o = o.replace(/\./g, "").replaceAll(/\s/g, "")),
            "mortgage" === n && (o = $("input[name=radio]:checked", '[data-algorithm-input="mortgage"]').val()),
            "currency" !== n && "mortgage" !== n && (o = parseFloat(o)),
            e[n] = o
        }
    },
    this.updateTabsNumber = function () {
        var t = e.activeVariant.glGenericCalculationList,
        a = t.length,
        r = $(".com16__tabMenu"),
        n = $(".com16__tabContainer");
        a <= 1 ? (r.hide(), n.css("padding-top", "40px")) : (r.show(), n.removeAttr("style"))
    },
    this.appendCalculatorOutputs = function () {
        var t = $("[data-algorithm-output]", e.activeCalculator),
        n = $(".com16__buttonCover .btn", e.activeCalculator);
        if (!0 === e.errorState || isNaN(e.loanAmount))
            return $("[data-algorithm-output]:not([data-algorithm-output=currency])").text("-"), void n.addClass("disabled");
        n.removeClass("disabled"),
        t.each(function () {
            var t = $(this).attr("data-algorithm-output"),
            n = e[t];
            if ("monthlyInstallment" !== t && "firstMonthlyInstallment" !== t && "secondMonthlyInstallment" !== t && "secondInterestRate" !== t && "firstInterestRate" !== t || (n = number_format(e[t], 2, a.decimal, a.separator)), "loanAmount" !== t && "amountToRepay" !== t && "aprc" !== t && "aprc2" !== t || (n = number_format(e[t], 2, a.decimal, a.separator)), "tenor" === t && "YEARS" === e.tenorUnit && (n = e.tenor / 12), "approval_cost" === t && (n = e.formatFeeOutput(n)), "firstInterestRate" === t && (n += " % " + e.activeInterestType.interestCode), "firstInterestRateCode" === t && (n = "FIXED" == e.activeInterestType.interestCode.toUpperCase() ? r.FIXEDMOBILE : r.VARIABLEMOBILE), "notary_cost" === t && e.isWithMortgage && (n = e.formatFeeOutput(n)), "fee" === t) {
                n = number_format(parseFloat(e.loanAmount) * parseFloat(e.fee) / 100, 2, a.decimal, a.separator)
            }
            "customer" === t && (1 == n ? ($("[data-show-customer]").attr("data-show-customer", !0), $("[data-show-notcustomer]").attr("data-show-notcustomer", !1), n = r.WITHSALARYMOBILE) : ($("[data-show-customer]").attr("data-show-customer", !1), $("[data-show-notcustomer]").attr("data-show-notcustomer", !0), n = r.WITHOUTSALARYMOBILE)),
            "clientSegment" === t && (1 == n ? ($("[data-show-mass]").attr("data-show-mass", !0), $("[data-show-uppermass]").attr("data-show-uppermass", !1)) : ($("[data-show-mass]").attr("data-show-mass", !1), $("[data-show-uppermass]").attr("data-show-uppermass", !0))),
            "currency" == t && $("*[data-layer-loan-currency]").attr("data-layer-loan-currency", e[t]),
            $(this).text(n)
        })
    },
    this.formatFeeOutput = function (e) {
        var t = $("[data-fixed-currency]");
        return null === e || void 0 === e ? (e = r.NO_FEE, t.addClass("hide")) : (e = number_format(e, 2, a.decimal, a.separator), t.removeClass("hide")),
        e
    },
    this.formatMoneyInputs = function () {
        var e = $("*[data-format-currency]");
        e.length && e.each(function () {
            new Cleave($(this), {
                delimiter: a.separator,
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 2,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.piano = function (e, t, a, r) {
        var n = [],
        o = e,
        i = t,
        s = a,
        l = s / 100,
        c = r || 12,
        u = c * i,
        d = l / c,
        m = d + 1,
        p = o * d / (1 - Math.pow(m, -c * i));
        p = round(p, 2),
        l = 0;
        var h = 0,
        g = 0,
        f = 0,
        v = o,
        y = 0;
        for (l = 1; l <= u; l++)
            h = round(d * v, 2), f = round(p - h, 2), v = round(v - f, 2), y = round(y + f, 2), g = round(g + h, 2), l == u && (p = round(p + v, 2), y = round(y + v, 2), f = round(f + v, 2), v = 0), n.push([l, g, p, f, h, v, y]);
        return n
    },
    this.getRata = function (e) {
        return e[2]
    },
    this.getDebitoRes = function (e) {
        return e && e[5] && e[5] >= 0 ? e[5] : 0
    },
    this.calculateAmountToRepay = function () {
        var t = e.getInitialExpenses(e.loanAmount, e.fee, e.notaryCost, e.isWithMortgage);
        for (e.amountToRepay = t, i = 0; i < e.p.length; i++)
            e.amountToRepay += e.getRata(e.p[i])
    },
    this.calculateAPRC_ = function (t, a) {
        e.aprc = e.calcAprc(e.paymentsHistoryFirstPeriod, e.loanAmount - t),
        e.aprc = 100 * e.aprc
    },
    this.calculateAPRC = function (t, a) {
        var r = e.loanAmount;
        if (!(r < 0)) {
            var n = t;
            if (!(n < 0)) {
                var o = e.firstMonthlyInstallment;
                if (!(o < 0)) {
                    var i = a;
                    if (!(i < 0)) {
                        var s = e.tenor / 12;
                        if (0 != s) {
                            if (rapporto = (r - n) / (o + i), nk = 12 * s, !(rapporto >= nk)) {
                                var l = e.bisezione(1e-14, 1),
                                c = Math.pow(1 + l, 12) - 1;
                                c *= 100,
                                e.aprc = c
                            }
                        }
                    }
                }
            }
        }
    },
    this.calculateAPRC2 = function (t, a) {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod && e.paymentsHistoryWholePeriod && e.paymentsHistoryWholePeriod.length ? (e.aprc2 = e.calcAprc(e.paymentsHistoryWholePeriod, e.loanAmount - t), e.aprc2 = 100 * e.aprc2) : e.aprc2 = 0,
        e.aprc2 = e.aprc2
    },
    this.bisezione = function (t, a) {
        return fa = e.f(t),
        0 == fa ? t : (fb = e.f(a), 0 == fb ? a : (m = (t + a) / 2, fm = e.f(m), 0 == fm ? m : a - t < 1e-8 ? m : fa * fm < 0 ? e.bisezione(t, m) : e.bisezione(m, a)))
    },
    this.f = function (e) {
        return (1 - rapporto * e) * Math.pow(1 + e, nk) - 1
    },
    this.format = function (e) {
        var t = Math.round(1e3 * e) / 1e3,
        a = String(t),
        r = a.length,
        n = a.indexOf(".");
        return n < 0 && (a += ".00"),
        n == r - 1 && (a += "00"),
        n == r - 2 && (a += "0"),
        n = a.indexOf("."),
        a = a.substr(0, n + 3)
    },
    this.setActiveTabByVal = function (t, a, r) {
        var n = !1 !== t;
        if (a) {
            $('[data-tab-default="' + n + '"]').parent().hasClass("open") || $('[data-tab-default="' + n + '"]').trigger("click")
        }
        if (r)
            return e.activeTab = {
                isDefault: r.isDefault,
                data: r.data
            },
        void(e.standard = r.standard);
        for (var o = e.activeCurrency.glGenericCalculationList, i = o.length, s = !1, l = 0; l < i; l++) {
            var c = o[l].isDefault;
            if (c && c == t) {
                e.activeTab = {
                    isDefault: o[l].isDefault,
                    data: o[l]
                },
                e.standard = o[l].standard;
                var s = !0;
                break
            }
        }
        s || (e.activeTab = {
                isDefault: o[0].isDefault,
                data: o[0]
            }, e.standard = o[0].standard)
    },
    this.setActiveTab = function (t, a, r) {
        var n = !1 !== t;
        if (a) {
            $('[data-tab-default="' + n + '"]').parent().hasClass("open") || $('[data-tab-default="' + n + '"]').trigger("click")
        }
        if (r)
            return e.activeTab = {
                isDefault: r.isDefault,
                data: r
            },
        void(e.standard = r.standard);
        for (var o = e.activeCurrency.glGenericCalculationList, i = o.length, s = !1, l = 0; l < i; l++) {
            var c = o[l].isDefault;
            if (c && c == t) {
                e.activeTab = {
                    isDefault: o[l].isDefault,
                    data: o[l]
                },
                e.standard = o[l].standard;
                var s = !0;
                break
            }
        }
        s || (e.activeTab = {
                isDefault: o[0].isDefault,
                data: o[0]
            }, e.standard = o[0].standard)
    },
    this.consoleLogValues = function () {
        console.log("--------------------------------------"),
        console.log("Active variant | " + e.activeVariant.productCategory),
        console.log("Active mortgage | " + e.activeMortgage.variantType),
        console.log("Currency | " + e.currency),
        console.log("Active interestType | " + e.activeInterestType.interestCode),
        console.log("Loan amount | " + e.loanAmount),
        console.log("First Interest Rate | " + e.firstInterestRate),
        console.log("Second Interest Rate | " + e.secondInterestRate),
        console.log("Tenor in months | " + e.tenor),
        console.log("Tenor unit | " + e.tenorUnit),
        console.log("Amount to repay | " + e.amountToRepay),
        console.log("Monthly installment first | " + e.firstMonthlyInstallment),
        console.log("Monthly installment second | " + e.secondMonthlyInstallment),
        console.log("APR | " + e.apr),
        console.log("APRC | " + e.aprc),
        console.log("Fee (Approval Cost) | " + e.fee + "%"),
        console.log("Min Approval Cost | " + e.min_approval_cost),
        console.log("Max Approval Cost | " + e.max_approval_cost),
        console.log("Notary Cost | " + e.notaryCost),
        console.log("--------------------------------------")
    }
}, Intesa.LoanCalculatorBIBCombined.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_bib_combined || (window.intesa.loan_calculator_bib_combined = new Intesa.LoanCalculatorBIBCombined),
    window.intesa.loan_calculator_bib_combined
}, $(document).ready(function () {
    if ($(".repaymentTable").length > 0) {
        var e = JSON.parse(sessionStorage.getItem("ammortamento"));
        null != e && void 0 != e || (e = JSON.parse(JSON.stringify(window.pianoAmmortamento)));
        var t = {},
        a = $("#genericSettings");
        a.length > 0 && (t = JSON.parse(a.val()));
        var r = sessionStorage.getItem("currentSelectedUniversalCase"),
        n = JSON.parse(sessionStorage.getItem("pianoTopPage"));
        if (null != n && void 0 != n) {
            var o = $(".element-row." + r.replace("-", "_") + ".right");
            o.html(""),
            $.each(n, function (e, t) {
                for (i = 0; i < t.length; i++)
                    $(o[i]).attr("style", "display: block"), $(o[i]).addClass("visibile-row"), $(o[i]).html("<span>" + t[i] + "</span>")
            }),
            $(".element-row." + r.replace("-", "_") + ".head").attr("style", "display: block")
        }
        if (null != e && void 0 != e) {
            var s = $("#tbl2_table-repayment"),
            l = (s.clone(), s.find("ul.tbl2__highlist")),
            c = l.find("li.tbl2__highlistItem"),
            u = c.find("ul.tbl__highlist"),
            d = u.find("li.tbl__highlistItem"),
            m = s.find("ul.tbl__highlist." + r),
            p = m.find(".tbl__highlistItem").length;
            console.log(p),
            u.html(""),
            l.html(""),
            $.each(e, function (e, a) {
                var n = c.clone(),
                o = u.clone();
                for (i = 0; i < a.length; i++) {
                    var s = d.clone(),
                    m = 0;
                    "eur-fixed" == r ? (m = a[3].split(" ")[0].toString().replace(",", ".") * a[4].split(" ")[0].toString().replace(",", "."), m = number_format(parseFloat(m), 2, t.decimal, t.separator) + " RSD") : "eur-variable" == r && (m = a[4].split(" ")[0].toString().replace(",", ".") * a[6].split(" ")[0].toString().replace(",", "."), m = number_format(parseFloat(m), 2, t.decimal, t.separator) + " RSD"),
                    "eur-fixed" == r && 4 == i ? s.html('<span class="tbl__highlistLabel"></span><span class="tbl__highlistValue"><strong>' + m + "</strong></span>") : "eur-variable" == r && 6 == i ? s.html('<span class="tbl__highlistLabel"></span><span class="tbl__highlistValue"><strong>' + m + "</strong></span>") : s.html('<span class="tbl__highlistLabel"></span><span class="tbl__highlistValue"><strong>' + a[i] + "</strong></span>"),
                    o.append(s)
                }
                n.append(o),
                l.append(n)
            }),
            $("." + r).attr("style", "display: flex")
        }
    }
});
var Intesa = Intesa || {};
Intesa.LoanCalculatorISPBIH = function () {
    var e = this,
    t = !1,
    a = {},
    r = {};
    this.MAX_ITERATIONS = 50,
    this.activeCalculator = null,
    this.activeVariant = {},
    this.activeCurrency = {},
    this.activeInterestType = {},
    this.errorState = !1,
    this.loanAmount = 0,
    this.firstInterestRate = 0,
    this.secondInterestRate = 0,
    this.tenor = 0,
    this.tenorUnit = null,
    this.firstMonthlyInstallment = 0,
    this.secondMonthlyInstallment = 0,
    this.amountToRepay = 0,
    this.currency = null,
    this.eir = 0,
    this.fee = 0,
    this.feeUpFrontPercentage = 0,
    this.feeUpFrontMinimum = 0,
    this.feeCpiNonPurposePercentage = 0,
    this.feeMonthlyMaintaingLoanAccount = 0,
    this.feeIssuingCRK = 0,
    this.feeIssuingBillsExchange = 0,
    this.feeOtherAdministrative = 0,
    this.feeMonthlyMaintaingCurrentAccount = 0,
    this.feeAppraisalRealEstate = 0,
    this.feeInsurancePolicyRealEstate = 0,
    this.feeOther = 0,
    this.feeMortgage = 0,
    this.feeNotarial = 0,
    this.feeInsurance = 0,
    this.paymentsHistoryFirstPeriod = [],
    this.paymentsHistoryWholePeriod = [],
    this.p = [],
    this.urlParams = {},
    this.insurancePolicy = !0,
    this.firstIterationTenor = !0,
    this.init = function () {
        e.getSettingsAndLabelsJsonData();
        var a = "ISPBIH" == $("html").attr("data-bank");
        if ($("section.com16-14").length && a && !t) {
            e.setVisibleCalculatorAsActive();
            Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
            e.setActiveVariant(),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.mapSliders(),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs(),
            e.attachChangeEvents(),
            e.getUrlQueryStringParams(),
            e.fillInputsWithQueryParams()
        }
    },
    this.getUrlQueryStringParams = function () {
        var t = window.location.href;
        t = t.split("?");
        var a = t[1];
        if (void 0 !== a) {
            a.split("&").forEach(function (t) {
                var a = t.split("="),
                r = a[0],
                n = a[1];
                e.urlParams[r] = n
            })
        }
    },
    this.fillInputsWithQueryParams = function () {
        !$.isEmptyObject(e.urlParams) && (e.setInterestRateFromQuery(), e.setLoanAmountFromQuery(), e.setCurrencyFromQuery(), e.setTenorFromQuery())
    },
    this.setCurrencyFromQuery = function () {
        var t = e.urlParams.currency,
        a = $('[data-algorithm-input="currency"]');
        t && a.length && a.val(t).trigger("change")
    },
    this.setLoanPurposeFromQuery = function () {},
    this.setLoanAmountFromQuery = function () {
        var t = e.urlParams.loanAmount;
        if (t && !isNaN(t)) {
            t = parseInt(t);
            $('[data-algorithm-input="loanAmount"]').val(t),
            e.formatMoneyInputs()
        }
    },
    this.setInterestRateFromQuery = function () {
        var t = e.urlParams.interestRateType,
        a = $('[name="interestRateType"]');
        t && a.length && a.val(t).trigger("change")
    },
    this.setTenorFromQuery = function () {
        var t = parseInt(e.urlParams.tenor);
        if (t && !isNaN(t)) {
            var a = $("[data-slider-repayment]").attr("data-slider-step");
            a = parseInt(a),
            t -= t % a,
            "YEARS" === e.tenorUnit && (t /= 12),
            window.sliderbootstrap[0].slider("setValue", t, !0)
        }
    },
    this.getSettingsAndLabelsJsonData = function () {
        var e = $("#genericSettings"),
        n = $("#calculatorLabels");
        try {
            e.length && (a = JSON.parse(e.val())),
            n.length && (r = JSON.parse(n.val()))
        } catch (e) {
            console.error("Settings or Labels JSON file invalid"),
            t = !0
        }
    },
    this.updateCalculatorInputs = function () {
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.updateLoanAmountInput(),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        e.updateTenorSlider(),
        e.updateFee(),
        e.formatMoneyInputs()
    },
    this.updateCalculatorOutputs = function () {
        e.getCalculatorInputs(),
        e.getTenorInMonths(),
        e.getInterestRates(),
        e.calculateMonthlyInstallments(),
        e.updateFee(),
        e.calculateAmountToRepay(),
        e.getPaymentListByPlan(),
        e.calculateEIR(e.p),
        e.checkErrors(),
        e.appendCalculatorOutputs(),
        e.updateShareCalculatorLink(),
        e.updateContactInputHidden()
    },
    this.attachChangeEvents = function () {
        $(document).on("click", ".com15__filterItem", function () {
            var a = $(this).attr("data-filter"),
            n = "desktop";
            if ($(window).width() < 768)
                var n = "mobile";
            var o = $('.com15__filter[data-filter="' + a + '"]').find("[data-calculator=" + n + "]");
            e.firstIterationTenor = !0,
            $('.com15__filter[data-filter="' + a + '"]').find('[data-tab-default="true"]').click();
            var i = $('.com15__filter[data-filter="' + a + '"]').find("#calculatorLabels");
            try {
                i.length && (r = JSON.parse(i.val()))
            } catch (e) {
                console.error("Settings or Labels JSON file invalid"),
                t = !0
            }
            e.setActiveCalculator(o),
            Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
            e.setActiveVariant(),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType());
            var s = e.indexWithWitoutInsurance(),
            l = e.activeCurrency.glGenericCalculationList[s].defaultAmount;
            $('.com15__filter[data-filter="' + a + '"]').find('[data-algorithm-input="loanAmount"]').val(l),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", "[data-tab-default]", function () {
            var t = "true" === $(this).attr("data-tab-default");
            e.insurancePolicy = t,
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
            parseInt(t.attr("data-slider-index"));
            t.slider("setValue", $(this).val(), !0)
        }),
        $(document).on("change", "[data-algorithm-input=newInterest] input", function () {
            var t = $(this).val();
            $("select[data-interest-select]", e.activeCalculator).val(t),
            $("select[data-interest-select]", e.activeCalculator).trigger("change"),
            console.log("Set Value Of the new Interest")
        }),
        $(document).on("change", '[data-algorithm-input="currency"]', function () {
            var t = $(this).val();
            e.setActiveCurrency(t),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-interest-select]", function () {
            var t = $(this).val();
            console.log("Trigger change interest Select"),
            e.setActiveInterestType(t),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", "[data-algorithm-input=loanAmount]", function () {
            var e = $(this).val();
            e = e.replace(/\,/g, ""),
            $(this).val(e),
            $(this).parsley().validate()
        }),
        $(document).on("change focusout keyup", "[data-algorithm-input]", function () {
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".js-btnMinus, .js-btnAdd", function () {
            $('[data-algorithm-input="tenor"]').trigger("change")
        }),
        $(document).on("change", ".rangeslider", function () {
            var t = $(this).val();
            $(this).parents(".sliderRange__wrapper").find(".qty").val(t),
            e.updateCalculatorOutputs()
        })
    },
    this.checkErrors = function () {
        var t = $(".parsley-errors-list li", e.activeCalculator).length;
        e.errorState = t > 0
    },
    this.mapSliders = function () {
        window.sliderbootstrap.forEach(function (e, t) {
            e.attr("data-slider-index", t)
        })
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first())
    },
    this.getTenorInMonths = function () {
        "YEARS" === e.tenorUnit && (e.tenor = 12 * e.tenor)
    },
    this.updateFee = function () {
        var t = 0,
        a = e.indexWithWitoutInsurance(),
        r = e.activeCurrency.glGenericCalculationList[a];
        e.feeUpFrontPercentage = e.loanAmount * (r.feeUpFrontPercentage / 100),
        e.feeUpFrontMinimum = r.feeUpFrontMinimum,
        e.feeUpFrontMinimum > e.feeUpFrontPercentage ? t += e.feeUpFrontMinimum : t += e.feeUpFrontPercentage,
        e.feeCpiNonPurposePercentage = e.loanAmount * (r.feeCpiNonPurposePercentage / 100),
        t += e.feeCpiNonPurposePercentage,
        e.feeMonthlyMaintaingLoanAccount = r.feeMonthlyMaintaingLoanAccount * e.tenor,
        t += e.feeMonthlyMaintaingLoanAccount,
        e.feeIssuingCRK = r.feeIssuingCRK,
        t += e.feeIssuingCRK,
        e.feeIssuingBillsExchange = r.feeIssuingBillsExchange,
        t += e.feeIssuingBillsExchange,
        e.feeOtherAdministrative = r.feeOtherAdministrative,
        t += e.feeOtherAdministrative,
        e.feeMonthlyMaintaingCurrentAccount = 12 * r.feeMonthlyMaintaingCurrentAccount,
        t += e.feeMonthlyMaintaingCurrentAccount,
        e.feeAppraisalRealEstate = r.feeAppraisalRealEstate,
        t += e.feeAppraisalRealEstate,
        e.feeInsurancePolicyRealEstate = r.feeInsurancePolicyRealEstate,
        t += e.feeInsurancePolicyRealEstate,
        e.feeOther = r.feeOther,
        t += e.feeOther,
        e.feeMortgage = r.feeMortgage,
        t += e.feeMortgage,
        e.feeNotarial = r.feeNotarial,
        t += e.feeNotarial,
        e.feeInsurance = e.loanAmount * (r.feeInsurance / 100) * 2,
        t += e.feeInsurance,
        e.fee = t
    },
    this.updateTenorUnit = function () {
        e.tenorUnit = e.activeCurrency.tenorUnit;
        var t = r[e.tenorUnit];
        $("[data-tenor-unit]", e.activeCalculator).text(t)
    },
    this.getInterestRates = function () {
        e.setFirstInterestRate(),
        e.setSecondInterestRate()
    },
    this.setInterestRateBasedOnPeriod = function (t) {
        return null !== e.activeInterestType.firstLoanRangeAmount && void 0 !== e.activeInterestType.firstLoanRangeAmount ? null !== e.activeInterestType[t].interestRateSecondRange && void 0 !== e.activeInterestType[t].interestRateSecondRange && e.loanAmount > e.activeInterestType.firstLoanRangeAmount && (null == e.activeInterestType.secondLoanRangeAmount || void 0 == e.activeInterestType.secondLoanRangeAmount || e.loanAmount <= e.activeInterestType.secondLoanRangeAmount) ? e.activeInterestType[t].interestRateSecondRange : null !== e.activeInterestType.secondLoanRangeAmount && void 0 !== e.activeInterestType.secondLoanRangeAmount && null !== e.activeInterestType[t].interestRateThirdRange && void 0 !== e.activeInterestType[t].interestRateThirdRange && e.loanAmount > e.activeInterestType.secondLoanRangeAmount ? e.activeInterestType[t].interestRateThirdRange : e.activeInterestType[t].interestRate : e.activeInterestType[t].interestRate
    },
    this.setFirstInterestRate = function () {
        "FV_5" != e.activeInterestType.interestCode.toUpperCase() && "FV_10" != e.activeInterestType.interestCode.toUpperCase() && "FV_15" != e.activeInterestType.interestCode.toUpperCase() ? void 0 !== e.activeInterestType.firstPeriod && void 0 !== e.activeInterestType.secondPeriod && e.tenor > e.activeInterestType.firstPeriod.monthDuration && e.tenor <= e.activeInterestType.secondPeriod.monthDuration ? e.firstInterestRate = e.setInterestRateBasedOnPeriod("secondPeriod") : void 0 !== e.activeInterestType.secondPeriod && void 0 !== e.activeInterestType.thirdPeriod && e.tenor > e.activeInterestType.secondPeriod.monthDuration && e.tenor <= e.activeInterestType.thirdPeriod.monthDuration ? e.firstInterestRate = e.setInterestRateBasedOnPeriod("thirdPeriod") : void 0 !== e.activeInterestType.thirdPeriod && void 0 !== e.activeInterestType.fourthPeriod && e.tenor > e.activeInterestType.thirdPeriod.monthDuration ? e.firstInterestRate = e.setInterestRateBasedOnPeriod("fourthPeriod") : e.firstInterestRate = e.setInterestRateBasedOnPeriod("firstPeriod") : e.firstInterestRate = e.setInterestRateBasedOnPeriod("firstPeriod")
    },
    this.setSecondInterestRate = function () {
        "FV_5" == e.activeInterestType.interestCode.toUpperCase() || "FV_10" == e.activeInterestType.interestCode.toUpperCase() || "FV_15" == e.activeInterestType.interestCode.toUpperCase() ? void 0 !== e.activeInterestType.firstPeriod && void 0 !== e.activeInterestType.secondPeriod && e.tenor > e.activeInterestType.firstPeriod.monthDuration && e.tenor <= e.activeInterestType.secondPeriod.monthDuration ? e.secondInterestRate = e.setInterestRateBasedOnPeriod("secondPeriod") : void 0 !== e.activeInterestType.secondPeriod && void 0 !== e.activeInterestType.thirdPeriod && e.tenor > e.activeInterestType.secondPeriod.monthDuration && e.tenor <= e.activeInterestType.thirdPeriod.monthDuration ? e.secondInterestRate = e.setInterestRateBasedOnPeriod("thirdPeriod") : void 0 !== e.activeInterestType.thirdPeriod && void 0 !== e.activeInterestType.fourthPeriod && e.tenor > e.activeInterestType.thirdPeriod.monthDuration ? e.secondInterestRate = e.setInterestRateBasedOnPeriod("fourthPeriod") : e.secondInterestRate = "-" : e.secondInterestRate = "-"
    },
    this.calculateMonthlyInstallments = function () {
        var t = e.loanAmount,
        a = e.tenor / 12,
        r = e.piano(t, a, e.firstInterestRate, 12),
        n = [];
        e.p = [];
        var o = [],
        s = [],
        l = [];
        if ("FV_5" == e.activeInterestType.interestCode.toUpperCase() || "FV_10" == e.activeInterestType.interestCode.toUpperCase() || "FV_15" == e.activeInterestType.interestCode.toUpperCase()) {
            for (o = r[0], s = r[e.activeInterestType.firstPeriod.monthDuration - 1], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
                e.p.push(r[i]);
            var c = e.getDebitoRes(s);
            if (c > 0) {
                var u = e.activeInterestType.secondPeriod.interestRate;
                for (n = e.piano(c, (e.tenor - e.activeInterestType.firstPeriod.monthDuration) / 12, u, 12), l = n[0], e.secondMonthlyInstallment = parseFloat(e.getRata(l)), i = 0; i < n.length; i++)
                    e.p.push(n[i])
            } else
                e.secondMonthlyInstallment = "-"
        } else
            for (e.secondMonthlyInstallment = "-", s = r[r.length - 1], o = r[0], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length; i++)
                e.p.push(r[i])
    },
    this.getPaymentListByPlan = function () {
        for (e.paymentsHistoryFirstPeriod = [], e.paymentsHistoryWholePeriod = [], i = 0; i < e.p.length; i++)
            e.paymentsHistoryWholePeriod.push(e.getRata(e.p[i]));
        for (i = 0; i < e.p.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
            e.paymentsHistoryFirstPeriod.push(e.getRata(e.p[i]))
    },
    this.updatePeriodLines = function () {
        var t = !1;
        "FV_5" != e.activeInterestType.interestCode.toUpperCase() && "FV_10" != e.activeInterestType.interestCode.toUpperCase() && "FV_15" != e.activeInterestType.interestCode.toUpperCase() || (t = !0);
        var a = $("[data-one-period]", e.activeCalculator),
        r = $("[data-two-periods]", e.activeCalculator);
        t ? (a.addClass("hide"), r.removeClass("hide")) : (r.addClass("hide"), a.removeClass("hide"))
    },
    this.updateCurrencySelect = function () {
        var t = e.activeVariant.glConfigurationList,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator),
        r = "",
        n = 0;
        a.length && (a.html(""), t.forEach(function (t) {
                t = t.currency,
                t === e.activeCurrency.currency ? r += '<option value="' + t + '" selected>' + t + "</option>" : r += '<option value="' + t + '">' + t + "</option>",
                n += 1
            }), a.append(r), n <= 1 && a.attr("disabled", !0))
    },
    this.updateTenorSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper"),
            o = parseInt(t.val()),
            i = e.indexWithWitoutInsurance(),
            s = e.activeCurrency.glGenericCalculationList[i].amountList[0].tenorScalingFactor;
            t.attr("data-slider-step", s);
            var l = e.activeCurrency.glGenericCalculationList[i].amountList[0].minimumTenor;
            "FV_5" != e.activeInterestType.interestCode.toUpperCase() && "FV_10" != e.activeInterestType.interestCode.toUpperCase() && "FV_15" != e.activeInterestType.interestCode.toUpperCase() || (l = e.activeCurrency.glGenericCalculationList[i].amountList[1].minimumTenor),
            "YEARS" === e.tenorUnit && (l /= 12),
            t.attr("data-slider-min", l),
            n.find("[data-min-tenor]").html(l);
            var c;
            c = e.activeInterestType.fourthPeriod ? e.activeInterestType.fourthPeriod.monthDuration : e.activeInterestType.thirdPeriod ? e.activeInterestType.thirdPeriod.monthDuration : e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeInterestType.firstPeriod.monthDuration,
            "YEARS" === e.tenorUnit && (c /= 12),
            t.attr("data-slider-max", c),
            n.find("[data-max-tenor]").html(c),
            r.slider("destroy"),
            r.slider();
            var u = e.activeCurrency.glGenericCalculationList[i].amountList[0].defaultTenor;
            "FV_5" != e.activeInterestType.interestCode.toUpperCase() && "FV_10" != e.activeInterestType.interestCode.toUpperCase() && "FV_15" != e.activeInterestType.interestCode.toUpperCase() || (u = e.activeCurrency.glGenericCalculationList[i].amountList[1].defaultTenor),
            o >= l && o <= c && !e.firstIterationTenor ? u = o : u < l ? u = l : u > c && (u = c),
            e.firstIterationTenor = !1,
            n.find(".qty").val(u),
            r.slider("setValue", u, !0),
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).length > 0 && ($('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-min", r.attr("data-slider-min")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-max", r.attr("data-slider-max")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).val(u), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).parsley().validate()),
            $("[data-min-tenor]", e.activeCalculator).html(l),
            $("[data-max-tenor]", e.activeCalculator).html(c),
            r.on("slide", function () {
                var e = r.slider("getValue");
                n.find(".qty").val(e),
                t.siblings(".qty").trigger("change")
            })
        }
    },
    this.updateInterestTypeSelect = function () {
        var t = e.indexWithWitoutInsurance(),
        a = e.activeCurrency.glGenericCalculationList[t].interest,
        n = $("[data-interest-select]", e.activeCalculator),
        o = "";
        if (n.length) {
            n.html("");
            var i = 0;
            $("div[data-algorithm-input=newInterest] .section__form__inline", e.activeCalculator).hide(),
            $("div[data-algorithm-input=newInterest] .loanCalculator__radio", e.activeCalculator).hide(),
            a.forEach(function (t) {
                var a = t.interestCode,
                n = r[a];
                a === e.activeInterestType.interestCode ? o += '<option value="' + a + '" selected>' + n + "</option>" : o += '<option value="' + a + '">' + n + "</option>",
                $("div[data-algorithm-input=newInterest]", e.activeCalculator).children().find("input[type=radio]").each(function (t, r) {
                    if (console.log("index"), t == i)
                        return $(r).val(a), $(r).parent().find("span").text(n), $(r).parents(".section__form__inline").css("display", "inline-block"), $(window).width() < 768 && $(r).parents(".loanCalculator__radio").css("display", "block"), a === e.activeInterestType.interestCode && $(r).prop("checked", !0), i += 1, !1
                })
            }),
            n.append(o)
        }
    },
    this.updateShareCalculatorLink = function () {
        var t = window.location.href;
        t = t.split("?"),
        t = t[0];
        var a = "?loanAmount=" + e.loanAmount + "&tenor=" + e.tenor + "&currency=" + e.currency + "&interestRateType=" + e.interestRateType;
        console.log(a),
        $('[data-tab="without-insurance"]', e.activeCalculator).hasClass("open") && (a += "&isDefault=false"),
        $("[data-socialshare]").length > 0 && $("[data-socialshare]").each(function () {
            $("html").hasClass("home") && !$(this).parents(".socialShare__calculator").length > 0 && (a = ""),
            $(this).attr("data-share-url").length > 0 && "" !== $(this).attr("data-share-url") && (t = $(this).attr("data-share-url")),
            "facebook" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + t + a),
            "twitter" == $(this).attr("data-socialshare") && $(this).attr("href", "https://twitter.com/home?status=" + t + a),
            "linkedin" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.linkedin.com/sharing/share-offsite/?url=" + t + a),
            "whatsapp" == $(this).attr("data-socialshare") && $(this).attr("href", " https://wa.me/?text=" + encodeURIComponent(t) + encodeURIComponent(a)),
            "mail" == $(this).attr("data-socialshare") && $(this).attr("href", "mailto:?body=" + t + encodeURIComponent(a))
        })
    },
    this.updateLoanAmountInput = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.indexWithWitoutInsurance(),
            n = e.activeCurrency.glGenericCalculationList[r].minimumAmount,
            o = e.activeCurrency.glGenericCalculationList[r].maxAmountForOnline,
            i = e.activeCurrency.glGenericCalculationList[r].defaultAmount;
            t.attr("data-parsley-min", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-min]").text(s),
            t.attr("data-parsley-max", o);
            var l = number_format(o, 2, a.decimal, a.separator);
            $("[data-loan-max]").text(l),
            ("0" == t.val() || parseInt(t.val().replaceAll(a.separator, "")) < n || parseInt(t.val().replaceAll(a.separator, "")) > o) && t.val(i),
            t.parsley().validate()
        }
    },
    this.setActiveVariant = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorData").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.setActiveCurrency = function (t) {
        for (var a = e.activeVariant.glConfigurationList, r = a.length, n = 0; n < r; n++)
            if (a[n].currency === t) {
                e.activeCurrency = a[n];
                break
            }
    },
    this.getDefaultCurrency = function () {
        for (var t = e.activeVariant.glConfigurationList, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].currency;
                break
            }
        return r
    },
    this.setActiveInterestType = function (t) {
        for (var a = e.indexWithWitoutInsurance(), r = e.activeCurrency.glGenericCalculationList[a].interest, n = r.length, o = 0; o < n; o++)
            if (r[o].interestCode === t) {
                e.activeInterestType = r[o],
                e.interestRateType = t;
                break
            }
        1 == n && (e.activeInterestType = r[0], e.interestRateType = t)
    },
    this.getDefaultInterestType = function () {
        for (var t = e.indexWithWitoutInsurance(), a = e.activeCurrency.glGenericCalculationList[t].interest, r = a.length, n = "", o = 0; o < r; o++)
            if (!0 === a[o].default) {
                n = a[o].interestCode;
                break
            }
        return n
    },
    this.getCalculatorInputs = function () {
        for (var t = $("[data-algorithm-input]", e.activeCalculator), a = t.length, r = 0; r < a; r++) {
            var n = t[r].getAttribute("data-algorithm-input"),
            o = t[r].value;
            "loanAmount" === n && (o = o.replace(/\./g, ""), o = o.replace(/\,/g, "")),
            "currency" !== n && (o = parseFloat(o)),
            e[n] = o
        }
    },
    this.appendCalculatorOutputs = function () {
        var t = $("[data-algorithm-output]", e.activeCalculator),
        n = $(".com16__buttonCover .btn", e.activeCalculator);
        if (!0 === e.errorState || isNaN(e.loanAmount))
            return $("[data-algorithm-output]:not([data-algorithm-output=currency])").text("-"), void n.addClass("disabled");
        n.removeClass("disabled"),
        t.each(function () {
            var t = $(this).attr("data-algorithm-output"),
            n = e[t];
            "monthlyInstallment" !== t && "firstMonthlyInstallment" !== t && "secondMonthlyInstallment" !== t && "secondInterestRate" !== t && "firstInterestRate" !== t && "loanAmount" !== t && "amountToRepay" !== t && "eir" !== t || (n = number_format(e[t], 2, a.decimal, a.separator)),
            "tenor" === t && "YEARS" === e.tenorUnit && (n = e.tenor / 12),
            "fee" === t && (n = e.formatFeeOutput(n)),
            "insurancePolicy" === t && (1 == n ? ($("[data-show-insurance]").attr("data-show-insurance", !0), $("[data-show-notinsurance]").attr("data-show-notinsurance", !1), n = r.WITHINSURANCEMOBILE) : ($("[data-show-insurance]").attr("data-show-insurance", !1), $("[data-show-notinsurance]").attr("data-show-notinsurance", !0), n = r.WITHOUTINSURANCEMOBILE)),
            "firstInterestRateCode" === t && (n = "FIXED" == e.activeInterestType.interestCode.toUpperCase() ? r.FIXEDMOBILE : "FV_10" == e.activeInterestType.interestCode.toUpperCase() ? r.FV_10MOBILE : r.VARIABLEMOBILE),
            $(this).text(n)
        })
    },
    this.formatFeeOutput = function (e) {
        var t = $("[data-fee-currency]");
        return null === e || void 0 === e ? (e = r.NO_FEE, t.addClass("hide")) : (e = number_format(e, 2, a.decimal, a.separator), t.removeClass("hide")),
        e
    },
    this.updateContactInputHidden = function () {
        var t = JSON.stringify({
            LOANAMOUNT: number_format(parseFloat(e.loanAmount), 2, a.decimal, a.separator),
            DURATION: e.tenor,
            INSTALLMENT: number_format(parseFloat(e.firstMonthlyInstallment), 2, a.decimal, a.separator),
            DISCOUNTCODE: null,
            INTERESTRATE: number_format(parseFloat(e.firstInterestRate), 2, a.decimal, a.separator),
            PRODUCTID: $("[name=fProductId]").val(),
            PRODUCTNAME: $("[name=fProductName]").val()
        });
        $("[data-cmb-input]").attr("value", t),
        $("#getloan-calc-config").attr("value", t)
    },
    this.formatMoneyInputs = function () {
        var e = $("*[data-format-currency]");
        e.length && e.each(function () {
            new Cleave($(this), {
                delimiter: a.separator,
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 2,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.piano = function (e, t, a, r) {
        var n = [],
        o = e,
        i = t,
        s = a,
        l = s / 100,
        c = r || 12,
        u = c * i,
        d = l / c,
        m = d + 1,
        p = o * d / (1 - Math.pow(m, -c * i));
        l = 0;
        var h = 0,
        g = 0,
        f = 0,
        v = o,
        y = 0;
        for (l = 1; l <= u; l++)
            h = d * v, f = p - h, v -= f, y += f, g += h, l == u && (p += v, y += v, f += v, v = 0), n.push([l, g, p, f, h, v, y]);
        return n
    },
    this.getRata = function (e) {
        return e[2]
    },
    this.getDebitoRes = function (e) {
        return e && e[5] && e[5] >= 0 ? e[5] : 0
    },
    this.calculateAmountToRepay = function () {
        for (e.amountToRepay = 0, i = 0; i < e.p.length; i++)
            e.amountToRepay += e.getRata(e.p[i]);
        e.amountToRepay += e.fee
    },
    this.calculateEIR = function (t) {
        var a = [],
        r = [-e.loanAmount + e.fee],
        n = !1,
        o = !1,
        i = new Date;
        a.push(new Date(i));
        for (var s = 0; s < t.length; s++)
            r.push(t[s][2]), i = new Date(i.setMonth(i.getMonth() + 1)), a.push(new Date(i));
        for (var s = 0; s < r.length; s++)
            r[s] > 0 && (n = !0), r[s] < 0 && (o = !0);
        if (!n || !o)
            return "#NUM!";
        var l,
        c,
        u,
        d = .1,
        m = 0,
        p = !0;
        do {
            u = function (e, t, a) {
                for (var r = a + 1, n = e[0], o = 1; o < e.length; o++) {
                    var i = Math.abs(new Date(t[o]) - new Date(t[0])),
                    s = Math.ceil(i / 864e5);
                    n += e[o] / Math.pow(r, s / 365)
                }
                return n
            }
            (r, a, d),
            l = d - u / function (e, t, a) {
                for (var r = a + 1, n = 0, o = 1; o < e.length; o++) {
                    var i = Math.abs(new Date(t[o]) - new Date(t[0])),
                    s = Math.ceil(i / 864e5),
                    l = s / 365;
                    n -= l * e[o] / Math.pow(r, l + 1)
                }
                return n
            }
            (r, a, d),
            c = Math.abs(l - d),
            d = l,
            p = c > 1e-10 && Math.abs(u) > 1e-10
        } while (p && ++m < 50);
        if (p)
            return "#NUM!";
        e.eir = 100 * d
    },
    this.f = function (e) {
        return (1 - rapporto * e) * Math.pow(1 + e, nk) - 1
    },
    this.format = function (e) {
        var t = Math.round(1e3 * e) / 1e3,
        a = String(t),
        r = a.length,
        n = a.indexOf(".");
        return n < 0 && (a += ".00"),
        n == r - 1 && (a += "00"),
        n == r - 2 && (a += "0"),
        n = a.indexOf("."),
        a = a.substr(0, n + 3)
    },
    this.consoleLogValues = function () {
        console.log("--------------------------------------"),
        console.log("Active variant | " + e.activeVariant.productCategory),
        console.log("Currency | " + e.currency),
        console.log("Active interestType | " + e.activeInterestType.interestCode),
        console.log("Loan amount | " + e.loanAmount),
        console.log("First Interest Rate | " + e.firstInterestRate),
        console.log("Second Interest Rate | " + e.secondInterestRate),
        console.log("Tenor in months | " + e.tenor),
        console.log("Tenor unit | " + e.tenorUnit),
        console.log("Amount to repay | " + e.amountToRepay),
        console.log("Monthly installment first | " + e.firstMonthlyInstallment),
        console.log("Monthly installment second | " + e.secondMonthlyInstallment),
        console.log("Fee | " + e.fee),
        console.log("--------------------------------------")
    },
    this.indexWithWitoutInsurance = function () {
        var t = 0;
        for (i = 0; i < e.activeCurrency.glGenericCalculationList.length; i++)
            if (e.activeCurrency.glGenericCalculationList[i].isDefault === e.insurancePolicy) {
                t = i;
                break
            }
        return t
    }
}, Intesa.LoanCalculatorISPBIH.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_ispbih || (window.intesa.loan_calculator_ispbih = new Intesa.LoanCalculatorISPBIH),
    window.intesa.loan_calculator_ispbih
};
var Intesa = Intesa || {};
Intesa.LoanCalculatorRomania = function () {
    var e = this,
    t = !1,
    a = {},
    r = {};
    this.MAX_ITERATIONS = 50,
    this.activeCalculator = null,
    this.activeVariant = {},
    this.activeMortgage = {},
    this.activeCurrency = {},
    this.activeInterestType = {},
    this.errorState = !1,
    this.defaultEducation = null,
    this.loanAmount = 0,
    this.firstInterestRate = 0,
    this.secondInterestRate = 0,
    this.tenor = 0,
    this.tenorUnit = null,
    this.firstMonthlyInstallment = 0,
    this.secondMonthlyInstallment = 0,
    this.amountToRepay = 0,
    this.currency = null,
    this.apr = 0,
    this.aprc = 0,
    this.aprc2 = 0,
    this.fee = 0,
    this.notaryCost = 0,
    this.paymentsHistoryFirstPeriod = [],
    this.paymentsHistoryWholePeriod = [],
    this.p = [],
    this.urlParams = {},
    this.isWithMortgage = $('[data-algorithm-input="mortgage"]').length > 0,
    this.min_approval_cost = 0,
    this.max_approval_cost = 0,
    this.approval_cost = 0,
    this.maxAmountForVariant = 0,
    this.isWithGreenMortgage = !1,
    this.init = function () {
        e.getSettingsAndLabelsJsonData();
        var a = $("html").attr("data-bank"),
        r = "ISPROMANIA" == a,
        n = r;
        if ($("section.com16-14").length && n && !t) {
            e.setVisibleCalculatorAsActive();
            Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setTabInitValue(),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.mapSliders(),
            e.initCalculatorInputs(),
            e.updateCalculatorOutputs(),
            e.attachChangeEvents(),
            e.triggerDefaultEducation(),
            e.getUrlQueryStringParams(),
            e.fillInputsWithQueryParams()
        }
    },
    this.setTabInitValue = function () {
        if (e.urlParams && e.urlParams.isDefault) {
            var t = "false" !== e.urlParams.isDefault;
            e.setActiveTab(t, !0, void 0)
        } else {
            var a,
            r = e.activeVariant.glProductVariantList,
            n = -1;
            for (i = 0; i < r.length && -1 === n; i++)
                if (!0 === r[i].default) {
                    var o = r[i].glConfigurationList;
                    for (j = 0; j < (o.length && -1 === n); j++)
                        if (!0 === o[j].default) {
                            var s = o[j].glGenericCalculationList;
                            for (k = 0; k < s.length && -1 === n; k++)
                                if (!0 === s[k].default) {
                                    n = s[k].isDefault,
                                    a = s[k];
                                    break
                                }
                        }
                }
            a && a.standard ? e.setActiveTab(!1, !0, a) : e.setActiveTab(!0, !0, a)
        }
    },
    this.getUrlQueryStringParams = function () {
        var t = window.location.href;
        t = t.split("?");
        var a = t[1];
        if (void 0 !== a) {
            a.split("&").forEach(function (t) {
                var a = t.split("="),
                r = a[0],
                n = a[1];
                e.urlParams[r] = n
            })
        }
    },
    this.fillInputsWithQueryParams = function () {
        !$.isEmptyObject(e.urlParams) && (e.setInterestRateFromQuery(), e.setMortgageFromQuery(), e.setLoanAmountFromQuery(), e.setCurrencyFromQuery(), e.setTenorFromQuery())
    },
    this.setCurrencyFromQuery = function () {
        var t = e.urlParams.currency,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator);
        t && a.length && a.val(t).trigger("change")
    },
    this.setLoanPurposeFromQuery = function () {},
    this.setLoanAmountFromQuery = function () {
        var t = e.urlParams.loanAmount;
        if (t && !isNaN(t)) {
            t = parseInt(t);
            $('[data-algorithm-input="loanAmount"]', e.activeCalculator).val(t),
            e.formatMoneyInputs()
        }
    },
    this.setInterestRateFromQuery = function () {
        var t = e.urlParams.interestRateType,
        a = $('[name="interestRateType"]', e.activeCalculator);
        t && a.length && a.val(t).trigger("change")
    },
    this.setMortgageFromQuery = function () {
        var t = e.urlParams.mortgage,
        a = $('[data-algorithm-input="mortgage"]', e.activeCalculator);
        t && a.length && $("[name=radio][value=" + t + "]", a).trigger("click")
    },
    this.setTenorFromQuery = function () {
        var t = parseInt(e.urlParams.tenor);
        if (t && !isNaN(t)) {
            var a = $("[data-slider-repayment]", e.activeCalculator).attr("data-slider-step");
            a = parseInt(a),
            t -= t % a,
            "YEARS" === e.tenorUnit && (t /= 12),
            window.sliderbootstrap[0].slider("setValue", t, !0)
        }
    },
    this.calcAprc = function (t, a) {
        return e.calcAprcWithBinarySearch(t, a, 0, 1, 0)
    },
    this.calcAprcWithBinarySearch = function (t, a, r, n, o) {
        if (n - r < 1e-14)
            return r;
        const i = (n - r) / 2 + r;
        if (o > e.MAX_ITERATIONS)
            return i;
        const s = a;
        for (var l = 0, c = 0; c < t.length; c++) {
            l += t[c] * Math.pow(1 + i,  - (c + 1) / 12)
        }
        return s == l ? i : s < l ? e.calcAprcWithBinarySearch(t, a, i, n, ++o) : e.calcAprcWithBinarySearch(t, a, r, i, ++o)
    },
    this.getSettingsAndLabelsJsonData = function () {
        var e = $("#genericSettings"),
        n = $("#calculatorLabels");
        try {
            e.length && (a = JSON.parse(e.val())),
            n.length && (r = JSON.parse(n.val()))
        } catch (e) {
            console.error("Settings or Labels JSON file invalid"),
            t = !0
        }
    },
    this.initCalculatorInputs = function () {
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.updateLoanAmountInput(),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        e.startTenorSlider(),
        e.updateMortgageRadio(),
        e.updateFee(),
        e.updateNotaryCost(),
        e.formatMoneyInputs()
    },
    this.updateCalculatorInputs = function () {
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        "HOME_LOAN" == e.activeVariant.productCategory && e.updateTenorSlider(),
        e.updateMortgageRadio(),
        e.updateFee(),
        e.updateNotaryCost(),
        e.formatMoneyInputs()
    },
    this.updateCalculatorOutputs = function () {
        e.getCalculatorInputs(),
        e.getTenorInMonths(),
        e.getInterestRates(),
        e.calculateMonthlyInstallments(),
        e.calculateAmountToRepay(),
        e.getPaymentListByPlan(),
        e.updateFee();
        var t = e.getInitialExpenses(e.loanAmount, e.fee, e.notaryCost, e.isWithMortgage);
        if (e.calculateAPRC(t, 0), "HOME_LOAN" == e.activeVariant.productCategory && e.calculateAPRC2(t, 0), e.checkErrors(), e.appendCalculatorOutputs(), e.consoleLogValues(), $("[data-showStatus]").hide(), "HOME_LOAN" == e.activeVariant.productCategory)
            if (2 === e.activeInterestType.periods) {
                var a = e.activeInterestType.secondPeriod.interestRate < e.activeInterestType.firstPeriod.interestRate;
                a ? ($('[data-aprc="first"]').show(), $('[data-aprc="second"]').hide()) : ($('[data-aprc="first"]').hide(), $('[data-aprc="second"]').show())
            } else
                $('[data-aprc="first"]').show(), $('[data-aprc="second"]').hide();
        e.isWithMortgage ? $('[data-aprc="notary_cost"]', e.activeCalculator).show() : $('[data-aprc="notary_cost"]', e.activeCalculator).hide(),
        "HOME_LOAN" != e.activeVariant.productCategory && ($('[data-aprc="first"]', e.activeCalculator).show(), $('[data-aprc="second"]', e.activeCalculator).hide()),
        e.updateShareCalculatorLink(),
        e.updateContactInputHidden()
    },
    this.updateContactInputHidden = function () {
        var t = JSON.stringify({
            LOANAMOUNT: e.loanAmount,
            DURATION: e.tenor,
            INSTALLMENT: e.firstMonthlyInstallment,
            DISCOUNTCODE: null,
            APR: e.aprc,
            INTERESTRATE: e.firstInterestRate
        });
        $("[data-cmb-input]", e.activeCalculator).attr("value", t),
        $("#getloan-calc-config", e.activeCalculator).attr("value", t)
    },
    this.attachChangeEvents = function () {
        $(document).on("click", ".com15__filterItem", function () {
            var t = $(this).attr("data-filter"),
            a = $('.com15__filter[data-filter="' + t + '"]').find("[data-calculator]");
            e.setActiveCalculator(a),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", "[data-tab-default]", function () {
            var t = "true" === $(this).attr("data-tab-default");
            e.setActiveTab(t, !1, void 0),
            "HOME_LOAN" == e.activeVariant.productCategory && e.setActiveGreenMortgage(e.isWithGreenMortgage),
            "HOME_LOAN" != e.activeVariant.productCategory && e.updateCalculatorConfigurationByLoanAmount(e.loanAmount),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", '[data-algorithm-input="mortgage"] input', function () {
            var t = $(this).val();
            e.isWithMortgage = "WITH_MORTGAGE" == t,
            e.setActiveMortgage(t),
            e.setActiveCurrency(e.activeCurrency.currency),
            "HOME_LOAN" == e.activeVariant.productCategory && e.setActiveGreenMortgage(e.isWithGreenMortgage),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", '[data-algorithm-input="greenMortgage"] input', function () {
            var t = $(this).is(":checked");
            e.isWithGreenMortgage = t,
            e.setActiveGreenMortgage(e.isWithGreenMortgage),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-algorithm-input=newInterest] input", function () {
            var t = $(this).val();
            $("select[data-interest-select]", e.activeCalculator).val(t),
            $("select[data-interest-select]", e.activeCalculator).trigger("change")
        }),
        $(document).on("change", '[data-algorithm-input="currency"]', function () {
            var t = $(this).val();
            e.setActiveCurrency(t),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-interest-select]", function () {
            var t = $(this).val();
            e.setActiveMortgage(t),
            e.setActiveCurrency(e.activeCurrency.currency),
            e.updateCalculatorConfigurationByLoanAmount(e.loanAmount),
            e.setActiveInterestType(t),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change focusout keyup", "[data-algorithm-input]", function () {
            e.updateCalculatorOutputs()
        }),
        $(document).on("change focusout keyup", '[data-algorithm-input="loanAmount"]', function () {
            e.updateCalculatorConfigurationByLoanAmount(e.loanAmount),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".js-btnMinus, .js-btnAdd", function () {
            var t = $(".rangeslider", e.activeCalculator).val(),
            a = $(".rangeslider", e.activeCalculator).parents(".sliderRange__wrapper");
            a.find(".qty").val(t),
            a.find(".qty").trigger("change")
        }),
        $(document).on("change", ".rangeslider", function () {
            var t = $(this).val();
            $(this).parents(".sliderRange__wrapper").find(".qty").val(t),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
            $(".rangeslider.rangeslider--2", e.activeCalculator).slider("setValue", $(this).val(), !0)
        })
    },
    this.triggerDefaultEducation = function () {
        null !== e.defaultEducation && $('[data-filter="' + e.defaultEducation + '"]', e.activeCalculator).trigger("click")
    },
    this.handleEducationCalculators = function () {
        var t = $("[data-education]", e.activeCalculator);
        t.length && t.each(function () {
            var t = $(this),
            a = e.getEducationCalculatorDataFromJSON(t),
            r = t.attr("data-filter");
            if (null !== a) {
                a = e.removeEducationVariantsFromJSON(a, r);
                a.glGenericSimulatorParams.glProductVariantList[0].default && (e.defaultEducation = r),
                a = JSON.stringify(a),
                t.find(".calculatorData").val(a)
            }
        })
    },
    this.removeEducationVariantsFromJSON = function (e, t) {
        return e.glGenericSimulatorParams.glProductVariantList.forEach(function (e, a, r) {
            e.variantType !== t && r.splice(a, 1)
        }),
        e
    },
    this.getEducationCalculatorDataFromJSON = function (e) {
        var t = null,
        a = e.find(".calculatorData").val();
        try {
            t = JSON.parse(a)
        } catch (e) {
            console.error("Education JSON file invalid")
        }
        return t
    },
    this.checkErrors = function () {
        var t = $(".parsley-errors-list li", e.activeCalculator).length;
        e.errorState = t > 0
    },
    this.mapSliders = function () {
        window.sliderbootstrap.forEach(function (e, t) {
            e.attr("data-slider-index", t)
        })
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first())
    },
    this.getTenorInMonths = function () {
        "YEARS" === e.tenorUnit && (e.tenor = 12 * e.tenor)
    },
    this.updateFee = function () {
        e.fee = e.activeTab.data.fee,
        e.min_approval_cost = e.activeTab.data.min_approval_cost,
        e.max_approval_cost = e.activeTab.data.max_approval_cost
    },
    this.updateNotaryCost = function () {
        e.notaryCost = e.activeTab.data.notary_costs
    },
    this.updateTenorUnit = function () {
        e.tenorUnit = e.activeCurrency.tenorUnit;
        var t = r[e.tenorUnit];
        $("[data-tenor-unit]", e.activeCalculator).text(t)
    },
    this.getInterestRates = function () {
        e.setFirstInterestRate(),
        e.setSecondInterestRate()
    },
    this.setFirstInterestRate = function () {
        1 === e.activeInterestType.periods ? ("HOME_LOAN" != e.activeVariant.productCategory && e.updateCalculatorConfigurationByLoanAmount(e.loanAmount), e.setActiveInterestType(e.activeInterestType.interestCode), e.firstInterestRate = e.activeInterestType.firstPeriod.interestRate) : e.firstInterestRate = e.activeInterestType.firstPeriod.interestRate
    },
    this.setSecondInterestRate = function () {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod ? e.secondInterestRate = e.activeInterestType.secondPeriod.interestRate : e.secondInterestRate = "-"
    },
    this.calculateMonthlyInstallments = function () {
        var t = e.loanAmount,
        a = e.tenor / 12,
        r = e.piano(t, a, e.firstInterestRate, 12),
        n = [];
        e.p = [];
        var o = [],
        s = [],
        l = [];
        void 0 !== e.activeInterestType.secondPeriod && (e.tenor, e.activeInterestType.firstPeriod.monthDuration);
        if (2 === e.activeInterestType.periods) {
            for (o = r[0], s = r[e.activeInterestType.firstPeriod.monthDuration - 1], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
                e.p.push(r[i]);
            var c = e.getDebitoRes(s);
            if (c > 0) {
                var u = e.activeInterestType.secondPeriod.interestRate;
                for (n = e.piano(c, (e.tenor - e.activeInterestType.firstPeriod.monthDuration) / 12, u, 12), l = n[0], e.secondMonthlyInstallment = parseFloat(e.getRata(l)), i = 0; i < n.length; i++)
                    e.p.push(n[i])
            } else
                e.secondMonthlyInstallment = "-"
        } else
            for (e.secondMonthlyInstallment = "-", s = r[r.length - 1], o = r[0], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length; i++)
                e.p.push(r[i])
    },
    this.getPaymentListByPlan = function () {
        for (e.paymentsHistoryFirstPeriod = [], e.paymentsHistoryWholePeriod = [], i = 0; i < e.p.length; i++)
            e.paymentsHistoryWholePeriod.push(e.getRata(e.p[i]));
        for (i = 0; i < e.p.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
            e.paymentsHistoryFirstPeriod.push(e.getRata(e.p[i]))
    },
    this.getInitialExpenses = function (t, a, r, n) {
        var o = t * a / 100;
        return o <= e.min_approval_cost ? e.approval_cost = e.min_approval_cost : o >= e.max_approval_cost ? e.approval_cost = e.max_approval_cost : e.approval_cost = o,
        initialExpenses = e.approval_cost,
        initialExpenses += e.fee,
        initialExpenses += n ? r : 0
    },
    this.updatePeriodLines = function () {
        var t = e.activeInterestType.periods,
        a = $("[data-one-period]", e.activeCalculator),
        r = $("[data-two-periods]", e.activeCalculator);
        2 === t ? (a.addClass("hide"), r.removeClass("hide")) : (r.addClass("hide"), a.removeClass("hide"))
    },
    this.updateCurrencySelect = function () {
        var t = e.activeMortgage.glConfigurationList,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator),
        r = "";
        a.length && (a.html(""), t.forEach(function (t) {
                t = t.currency,
                t === e.activeCurrency.currency ? r += '<option value="' + t + '" selected>' + t + "</option>" : r += '<option value="' + t + '">' + t + "</option>"
            }), a.append(r))
    },
    this.updateMortgageRadio = function () {
        var t = $('[data-algorithm-input="mortgage"]', e.activeCalculator),
        a = e.activeMortgage.variantType;
        t.length && null !== a && $('input[value="' + a + '"]', e.activeCalculator).trigger("click")
    },
    this.updateTenorSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper"),
            o = 0,
            i = e.activeCurrency.glGenericCalculationList[0].amountList[0].tenorScalingFactor;
            t.attr("data-slider-step", i);
            var s = e.activeInterestType.firstPeriod.monthMinimum ? e.activeInterestType.firstPeriod.monthMinimum : e.activeCurrency.glGenericCalculationList[0].amountList[0].minimumTenor,
            l = e.activeInterestType.firstPeriod.defaultMonthDuration ? e.activeInterestType.firstPeriod.defaultMonthDuration : e.activeCurrency.glGenericCalculationList[0].amountList[0].defaultTenor;
            t.attr("data-slider-value", l),
            t.attr("data-value", l),
            t.val(l),
            n.find(".qty").val(l),
            r.slider("setValue", l, !0),
            o = l,
            "YEARS" === e.tenorUnit && (s /= 12),
            t.attr("data-slider-min", s),
            n.find("[data-min-tenor]").html(s);
            var c = e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeInterestType.firstPeriod.monthDuration;
            "YEARS" === e.tenorUnit && (c /= 12),
            t.attr("data-slider-max", c),
            n.find("[data-max-tenor]").html(c),
            r.slider("destroy"),
            r.slider({
                tooltip: "show"
            }),
            n.find(".qty").val(o),
            r.slider("setValue", o, !0),
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).length > 0 && ($('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-min", r.attr("data-slider-min")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-max", r.attr("data-slider-max")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).val(l), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).parsley().validate()),
            $("[data-min-tenor]", e.activeCalculator).html(s),
            $("[data-max-tenor]", e.activeCalculator).html(c),
            r.on("slide", function () {
                var e = r.slider("getValue");
                n.find(".qty").val(e),
                t.siblings(".qty").trigger("change")
            })
        }
    },
    this.startTenorSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper"),
            o = e.activeInterestType.firstPeriod.defaultMonthDuration ? e.activeInterestType.firstPeriod.defaultMonthDuration : e.activeCurrency.glGenericCalculationList[0].amountList[0].defaultTenor,
            i = e.activeCurrency.glGenericCalculationList[0].amountList[0].tenorScalingFactor;
            t.attr("data-slider-step", i);
            var s = e.activeInterestType.firstPeriod.monthMinimum ? e.activeInterestType.firstPeriod.monthMinimum : e.activeCurrency.glGenericCalculationList[0].amountList[0].minimumTenor;
            "YEARS" === e.tenorUnit && (s /= 12),
            t.attr("data-slider-min", s),
            n.find("[data-min-tenor]").html(s);
            var l = e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeInterestType.firstPeriod.monthDuration;
            "YEARS" === e.tenorUnit && (l /= 12),
            t.attr("data-slider-max", l),
            n.find("[data-max-tenor]").html(l),
            r.slider("destroy"),
            r.slider(),
            t.attr("data-slider-value", o),
            n.find(".qty").val(o),
            r.slider("setValue", o, !0),
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).length > 0 && ($('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-min", r.attr("data-slider-min")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-max", r.attr("data-slider-max")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).val(o), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).parsley().validate()),
            $("[data-min-tenor]", e.activeCalculator).html(s),
            $("[data-max-tenor]", e.activeCalculator).html(l),
            r.on("slide", function () {
                var e = r.slider("getValue");
                n.find(".qty").val(e),
                t.siblings(".qty").trigger("change")
            })
        }
    },
    this.updateInterestTypeSelect = function () {
        var t = e.activeTab.data.interest,
        a = $("[data-interest-select]", e.activeCalculator),
        n = "";
        if (a.length) {
            a.html("");
            var o = 0;
            "HOME_LOAN" == e.activeVariant.productCategory ? t.forEach(function (t) {
                var a = t.interestCode,
                i = r[a];
                a === e.activeInterestType.interestCode ? n += '<option value="' + a + '" selected>' + i + "</option>" : n += '<option value="' + a + '">' + i + "</option>",
                $("div[data-algorithm-input=newInterest]", e.activeCalculator).children().find("input[type=radio]").each(function (t, r) {
                    if (console.log("index"), t == o)
                        return $(r).val(a), $(r).parent().find("span").text(i), $(r).parents(".section__form__inline").css("display", "inline-block"), $(window).width() < 768 && $(r).parents(".loanCalculator__radio").css("display", "block"), a === e.activeInterestType.interestCode && $(r).prop("checked", !0), o += 1, !1
                })
            }) : e.activeVariant.glProductVariantList.forEach(function (t) {
                if (code = t.variantType, code === e.activeMortgage.variantType) {
                    var a = r[e.activeInterestType.interestCode];
                    n += '<option value="' + code + '" selected>' + a + "</option>"
                } else {
                    var a = r[e.activeInterestType.interestCode];
                    n += '<option value="' + code + '">' + a + "</option>"
                }
                $("div[data-algorithm-input=newInterest]", e.activeCalculator).children().find("input[type=radio]").each(function (t, r) {
                    if (console.log("index"), code === e.activeMortgage.variantType && t == o)
                        return $(r).val(code), $(r).parent().find("span").text(a), $(r).parents(".section__form__inline").css("display", "inline-block"), o += 1, !1
                })
            }),
            a.append(n)
        }
    },
    this.updateShareCalculatorLink = function () {
        var t = window.location.href;
        t = t.split("?"),
        t = t[0];
        var a = "?loanAmount=" + e.loanAmount + "&tenor=" + e.tenor + "&currency=" + e.currency + "&interestRateType=" + e.interestRateType + "&mortgage=" + e.mortgage;
        console.log(a),
        $('[data-tab="without-salary"]', e.activeCalculator).hasClass("open") && (a += "&isDefault=false"),
        $("[data-socialshare]").length > 0 && $("[data-socialshare]").each(function () {
            $("html").hasClass("home") && !$(this).parents(".socialShare__calculator").length > 0 && (a = ""),
            $(this).attr("data-share-url").length > 0 && "" !== $(this).attr("data-share-url") && (t = $(this).attr("data-share-url")),
            "facebook" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + t + a),
            "twitter" == $(this).attr("data-socialshare") && $(this).attr("href", "https://twitter.com/home?status=" + t + a),
            "linkedin" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.linkedin.com/sharing/share-offsite/?url=" + t + a),
            "whatsapp" == $(this).attr("data-socialshare") && $(this).attr("href", " https://wa.me/?text=" + encodeURIComponent(t) + encodeURIComponent(a)),
            "mail" == $(this).attr("data-socialshare") && $(this).attr("href", "mailto:?body=" + t + encodeURIComponent(a))
        })
    },
    this.updateLoanAmountInput = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeTab.data.minimumAmount,
            n = e.activeTab.data.maxAmountForOnline,
            o = e.activeTab.data.defaultAmount;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]", e.activeCalculator).text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]", e.activeCalculator).text(s),
            ("0" == t.val() || parseInt(t.val()) < o) && t.val(o),
            t.parsley().validate()
        }
    },
    this.updateLoanAmountInputVariant = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeTab.data.minimumAmount,
            n = e.maxAmountForVariant,
            o = e.activeTab.data.defaultAmount;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]", e.activeCalculator).text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]", e.activeCalculator).text(s),
            "0" == t.val() && t.val(o),
            t.parsley().validate()
        }
    },
    this.setActiveVariant = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorData").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.updateCalculatorConfigurationByLoanAmount = function (t) {
        var a = (e.activeVariant.glProductVariantList, !1),
        r = [];
        for (k = 0; k < e.activeCurrency.glGenericCalculationList.length; k++) {
            var n = e.activeCurrency.glGenericCalculationList[k];
            e.activeTab.data.standard == n.standard && r.push(n.maxAmountForOnline)
        }
        for (e.maxAmountForVariant = Math.max.apply(null, r), k = 0; k < e.activeCurrency.glGenericCalculationList.length || a; k++) {
            var n = e.activeCurrency.glGenericCalculationList[k];
            if (parseFloat(t) <= parseFloat(n.maxAmountForOnline) && e.activeTab.data.standard == n.standard) {
                e.activeTab = {
                    isDefault: n.isDefault,
                    data: n
                },
                a = !0;
                break
            }
            e.updateLoanAmountInputVariant()
        }
        if (!a) {
            for (k = 0; k < e.activeCurrency.glGenericCalculationList.length || a; k++) {
                var n = e.activeCurrency.glGenericCalculationList[k];
                if (n.isDefault) {
                    e.activeTab = {
                        isDefault: n.isDefault,
                        data: n
                    },
                    a = !0;
                    break
                }
            }
            e.updateTenorUnit(),
            e.updateTenorSlider()
        }
        e.mortgage = ""
    },
    this.setActiveMortgage = function (t) {
        for (var a = e.activeVariant.glProductVariantList, r = a.length, n = 0; n < r; n++)
            if (a[n].variantType === t) {
                e.activeMortgage = a[n];
                break
            }
        e.mortgage = t
    },
    this.setActiveGreenMortgage = function (t) {
        for (var a = e.activeCurrency.glGenericCalculationList, r = a.length, n = e.activeTab.isDefault, o = 0; o < r; o++)
            if (a[o].isGreen === t && a[o].isDefault === n)
                return void(e.activeTab = {
                        isDefault: a[o].isDefault,
                        data: a[o]
                    })
    },
    this.getDefaultMortgage = function () {
        if (e.activeVariant) {
            for (var t = e.activeVariant.glProductVariantList, a = t.length, r = "", n = !1, o = 0; o < a; o++)
                if (!0 === t[o].default) {
                    r = t[o].variantType,
                    e.mortgage = r,
                    n = !0;
                    break
                }
            return n || (r = t[0].variantType),
            e.mortgage = r,
            r
        }
    },
    this.setActiveCurrency = function (t) {
        for (var a = e.activeMortgage.glConfigurationList, r = a.length, n = 0; n < r; n++)
            if (a[n].currency === t) {
                e.activeCurrency = a[n];
                break
            }
    },
    this.getDefaultCurrency = function () {
        for (var t = e.activeMortgage.glConfigurationList, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].currency;
                break
            }
        return r
    },
    this.setActiveInterestType = function (t) {
        for (var a = e.activeTab.data.interest, r = a.length, n = 0; n < r; n++)
            if (a[n].interestCode === t) {
                e.activeInterestType = a[n],
                e.interestRateType = t;
                break
            }
    },
    this.getDefaultInterestType = function () {
        for (var t = e.activeTab.data.interest, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].interestCode;
                break
            }
        return r
    },
    this.getCalculatorInputs = function () {
        for (var t = $("[data-algorithm-input]", e.activeCalculator), a = t.length, r = 0; r < a; r++) {
            var n = t[r].getAttribute("data-algorithm-input"),
            o = t[r].value;
            "loanAmount" === n && (o = o.replace(/\./g, "").replaceAll(/\s/g, "")),
            "mortgage" === n && (o = $("input[name=radio]:checked", '[data-algorithm-input="mortgage"]').val()),
            "currency" !== n && "mortgage" !== n && (o = parseFloat(o)),
            e[n] = o
        }
    },
    this.updateTabsNumber = function () {
        var t = e.activeVariant.glGenericCalculationList,
        a = t.length,
        r = $(".com16__tabMenu"),
        n = $(".com16__tabContainer");
        a <= 1 ? (r.hide(), n.css("padding-top", "40px")) : (r.show(), n.removeAttr("style"))
    },
    this.appendCalculatorOutputs = function () {
        var t = $("[data-algorithm-output]", e.activeCalculator),
        r = $(".com16__buttonCover .btn", e.activeCalculator);
        if (!0 === e.errorState || isNaN(e.loanAmount))
            return $("[data-algorithm-output]:not([data-algorithm-output=currency])", e.activeCalculator).text("-"), void r.addClass("disabled");
        r.removeClass("disabled"),
        t.each(function () {
            var t = $(this).attr("data-algorithm-output"),
            r = e[t];
            "monthlyInstallment" !== t && "firstMonthlyInstallment" !== t && "secondMonthlyInstallment" !== t && "secondInterestRate" !== t && "firstInterestRate" !== t || (r = number_format(e[t], 2, a.decimal, a.separator)),
            "loanAmount" !== t && "amountToRepay" !== t && "aprc" !== t && "aprc2" !== t || (r = number_format(e[t], 2, a.decimal, a.separator)),
            "tenor" === t && "YEARS" === e.tenorUnit && (r = e.tenor / 12),
            "approval_cost" === t && (r = e.formatFeeOutput(r)),
            "notary_cost" === t && e.isWithMortgage && (r = e.formatFeeOutput(r)),
            $(this).text(r)
        })
    },
    this.formatFeeOutput = function (t) {
        var n = $("[data-fixed-currency]", e.activeCalculator);
        return null === t || void 0 === t ? (t = r.NO_FEE, n.addClass("hide")) : (t = number_format(t, 2, a.decimal, a.separator), n.removeClass("hide")),
        t
    },
    this.formatMoneyInputs = function () {
        var t = $("*[data-format-currency]", e.activeCalculator);
        t.length && t.each(function () {
            new Cleave($(this), {
                delimiter: a.separator,
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 2,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.piano = function (e, t, a, r) {
        var n = [],
        o = e,
        i = t,
        s = a,
        l = s / 100,
        c = r || 12,
        u = c * i,
        d = l / c,
        m = d + 1,
        p = o * d / (1 - Math.pow(m, -c * i));
        p = round(p, 2),
        l = 0;
        var h = 0,
        g = 0,
        f = 0,
        v = o,
        y = 0;
        for (l = 1; l <= u; l++)
            h = round(d * v, 2), f = round(p - h, 2), v = round(v - f, 2), y = round(y + f, 2), g = round(g + h, 2), l == u && (p = round(p + v, 2), y = round(y + v, 2), f = round(f + v, 2), v = 0), n.push([l, g, p, f, h, v, y]);
        return n
    },
    this.getRata = function (e) {
        return e[2]
    },
    this.getDebitoRes = function (e) {
        return e && e[5] && e[5] >= 0 ? e[5] : 0
    },
    this.calculateAmountToRepay = function () {
        var t = e.getInitialExpenses(e.loanAmount, e.fee, e.notaryCost, e.isWithMortgage);
        for (e.amountToRepay = t, i = 0; i < e.p.length; i++)
            e.amountToRepay += e.getRata(e.p[i])
    },
    this.calculateAPRC_ = function (t, a) {
        e.aprc = e.calcAprc(e.paymentsHistoryFirstPeriod, e.loanAmount - t),
        e.aprc = 100 * e.aprc
    },
    this.calculateAPRC = function (t, a) {
        var r = e.loanAmount;
        if (!(r < 0)) {
            var n = t;
            if (!(n < 0)) {
                var o = e.firstMonthlyInstallment;
                if (!(o < 0)) {
                    var i = a;
                    if (!(i < 0)) {
                        var s = e.tenor / 12;
                        if (0 != s) {
                            if (rapporto = (r - n) / (o + i), nk = 12 * s, !(rapporto >= nk)) {
                                var l = e.bisezione(1e-14, 1),
                                c = Math.pow(1 + l, 12) - 1;
                                c *= 100,
                                e.aprc = c
                            }
                        }
                    }
                }
            }
        }
    },
    this.calculateAPRC2 = function (t, a) {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod && e.paymentsHistoryWholePeriod && e.paymentsHistoryWholePeriod.length ? (e.aprc2 = e.calcAprc(e.paymentsHistoryWholePeriod, e.loanAmount - t), e.aprc2 = 100 * e.aprc2) : e.aprc2 = 0,
        e.aprc2 = e.aprc2
    },
    this.bisezione = function (t, a) {
        return fa = e.f(t),
        0 == fa ? t : (fb = e.f(a), 0 == fb ? a : (m = (t + a) / 2, fm = e.f(m), 0 == fm ? m : a - t < 1e-8 ? m : fa * fm < 0 ? e.bisezione(t, m) : e.bisezione(m, a)))
    },
    this.f = function (e) {
        return (1 - rapporto * e) * Math.pow(1 + e, nk) - 1
    },
    this.format = function (e) {
        var t = Math.round(1e3 * e) / 1e3,
        a = String(t),
        r = a.length,
        n = a.indexOf(".");
        return n < 0 && (a += ".00"),
        n == r - 1 && (a += "00"),
        n == r - 2 && (a += "0"),
        n = a.indexOf("."),
        a = a.substr(0, n + 3)
    },
    this.setActiveTab = function (t, a, r) {
        var n = !1 !== t;
        if (a) {
            $('[data-tab-default="' + n + '"]', e.activeCalculator).parent().hasClass("open") || $('[data-tab-default="' + n + '"]', e.activeCalculator).trigger("click")
        }
        if (r)
            return void(e.activeTab = {
                    isDefault: r.isDefault,
                    data: r
                });
        for (var o = e.activeCurrency.glGenericCalculationList, i = o.length, s = !1, l = 0; l < i; l++) {
            var c = o[l].isDefault;
            if (c && c == t) {
                e.activeTab = {
                    isDefault: o[l].isDefault,
                    data: o[l]
                };
                var s = !0;
                break
            }
        }
        s || (e.activeTab = {
                isDefault: o[0].isDefault,
                data: o[0]
            })
    },
    this.consoleLogValues = function () {
        console.log("--------------------------------------"),
        console.log("Active variant | " + e.activeVariant.productCategory),
        console.log("Active mortgage | " + e.activeMortgage.variantType),
        console.log("Currency | " + e.currency),
        console.log("Active interestType | " + e.activeInterestType.interestCode),
        console.log("Loan amount | " + e.loanAmount),
        console.log("First Interest Rate | " + e.firstInterestRate),
        console.log("Second Interest Rate | " + e.secondInterestRate),
        console.log("Tenor in months | " + e.tenor),
        console.log("Tenor unit | " + e.tenorUnit),
        console.log("Amount to repay | " + e.amountToRepay),
        console.log("Monthly installment first | " + e.firstMonthlyInstallment),
        console.log("Monthly installment second | " + e.secondMonthlyInstallment),
        console.log("APR | " + e.apr),
        console.log("APRC | " + e.aprc),
        console.log("Fee (Approval Cost) | " + e.fee + "%"),
        console.log("Min Approval Cost | " + e.min_approval_cost),
        console.log("Max Approval Cost | " + e.max_approval_cost),
        console.log("Notary Cost | " + e.notaryCost),
        console.log("Is Green Mortgage | " + e.isWithGreenMortgage),
        console.log("--------------------------------------")
    }
}, Intesa.LoanCalculatorRomania.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_ispromania || (window.intesa.loan_calculator_ispromania = new Intesa.LoanCalculatorRomania),
    window.intesa.loan_calculator_ispromania
};
var Intesa = Intesa || {};
Intesa.LoanCalculatorISPSLOVENIA = function () {
    var e = this,
    t = !1,
    a = {},
    r = {};
    this.MAX_ITERATIONS = 50,
    this.activeCalculator = null,
    this.activeVariant = {},
    this.activeMortgage = {},
    this.activeCurrency = {},
    this.activeInterestType = {},
    this.errorState = !1,
    this.defaultEducation = null,
    this.loanAmount = 0,
    this.firstInterestRate = 0,
    this.secondInterestRate = 0,
    this.tenor = 0,
    this.tenorUnit = null,
    this.firstMonthlyInstallment = 0,
    this.secondMonthlyInstallment = 0,
    this.amountToRepay = 0,
    this.currency = null,
    this.apr = 0,
    this.aprc = 0,
    this.aprc2 = 0,
    this.paymentsHistoryFirstPeriod = [],
    this.paymentsHistoryWholePeriod = [],
    this.p = [],
    this.urlParams = {},
    this.totalCosts = 0,
    this.init = function () {
        e.getSettingsAndLabelsJsonData();
        var a = $("html").attr("data-bank"),
        r = "ISPSLOVENIA" == a,
        n = r;
        if ($("section.com16-14").length && n && !t) {
            e.setVisibleCalculatorAsActive();
            Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setTabInitValue(),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.mapSliders(),
            e.initCalculatorInputs(),
            e.updateCalculatorOutputs(),
            e.attachChangeEvents(),
            e.triggerDefaultEducation(),
            e.getUrlQueryStringParams(),
            e.fillInputsWithQueryParams()
        }
    },
    this.setTabInitValue = function () {
        if (e.urlParams && e.urlParams.isDefault) {
            var t = "false" !== e.urlParams.isDefault;
            e.setActiveTab(t, !0, void 0)
        } else {
            var a,
            r = e.activeVariant.glProductVariantList,
            n = -1;
            for (i = 0; i < r.length && -1 === n; i++)
                if (!0 === r[i].default) {
                    var o = r[i].glConfigurationList;
                    for (j = 0; j < (o.length && -1 === n); j++)
                        if (!0 === o[j].default) {
                            var s = o[j].glGenericCalculationList;
                            for (k = 0; k < s.length && -1 === n; k++)
                                if (!0 === s[k].default) {
                                    n = s[k].isDefault,
                                    a = s[k];
                                    break
                                }
                        }
                }
            a && a.standard ? e.setActiveTab(!1, !0, a) : e.setActiveTab(!0, !0, a)
        }
    },
    this.getUrlQueryStringParams = function () {
        var t = window.location.href;
        t = t.split("?");
        var a = t[1];
        if (void 0 !== a) {
            a.split("&").forEach(function (t) {
                var a = t.split("="),
                r = a[0],
                n = a[1];
                e.urlParams[r] = n
            })
        }
    },
    this.fillInputsWithQueryParams = function () {
        !$.isEmptyObject(e.urlParams) && (e.setInterestRateFromQuery(), e.setMortgageFromQuery(), e.setLoanAmountFromQuery(), e.setCurrencyFromQuery(), e.setTenorFromQuery())
    },
    this.setCurrencyFromQuery = function () {
        var t = e.urlParams.currency,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator);
        t && a.length && a.val(t).trigger("change")
    },
    this.setLoanPurposeFromQuery = function () {},
    this.setLoanAmountFromQuery = function () {
        var t = e.urlParams.loanAmount;
        if (t && !isNaN(t)) {
            t = parseInt(t);
            $('[data-algorithm-input="loanAmount"]', e.activeCalculator).val(t),
            e.formatMoneyInputs()
        }
    },
    this.setInterestRateFromQuery = function () {
        var t = e.urlParams.interestRateType,
        a = $('[name="interestRateType"]', e.activeCalculator);
        t && a.length && a.val(t).trigger("change")
    },
    this.setMortgageFromQuery = function () {
        var t = e.urlParams.mortgage,
        a = $('[data-algorithm-input="mortgage"]', e.activeCalculator);
        t && a.length && $("[name=radio][value=" + t + "]", a).trigger("click")
    },
    this.setTenorFromQuery = function () {
        var t = parseInt(e.urlParams.tenor);
        if (t && !isNaN(t)) {
            var a = $("[data-slider-repayment]", e.activeCalculator).attr("data-slider-step");
            a = parseInt(a),
            t -= t % a,
            "YEARS" === e.tenorUnit && (t /= 12),
            window.sliderbootstrap[0].slider("setValue", t, !0)
        }
    },
    this.calcAprc = function (t, a) {
        return e.calcAprcWithBinarySearch(t, a, 0, 1, 0)
    },
    this.calcAprcWithBinarySearch = function (t, a, r, n, o) {
        if (n - r < 1e-14)
            return r;
        const i = (n - r) / 2 + r;
        if (o > e.MAX_ITERATIONS)
            return i;
        const s = a;
        for (var l = 0, c = 0; c < t.length; c++) {
            l += t[c] * Math.pow(1 + i,  - (c + 1) / 12)
        }
        return s == l ? i : s < l ? e.calcAprcWithBinarySearch(t, a, i, n, ++o) : e.calcAprcWithBinarySearch(t, a, r, i, ++o)
    },
    this.getSettingsAndLabelsJsonData = function () {
        var e = $("#genericSettings"),
        n = $("#calculatorLabels");
        try {
            e.length && (a = JSON.parse(e.val())),
            n.length && (r = JSON.parse(n.val()))
        } catch (e) {
            console.error("Settings or Labels JSON file invalid"),
            t = !0
        }
    },
    this.initCalculatorInputs = function () {
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.updateLoanAmountInput(),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        e.updateTenorSlider(),
        e.updateFee(),
        e.formatMoneyInputs()
    },
    this.updateCalculatorInputs = function () {
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        e.updateFee(),
        e.formatMoneyInputs()
    },
    this.updateCalculatorOutputs = function () {
        e.getCalculatorInputs(),
        e.getTenorInMonths(),
        e.getInterestRates(),
        e.calculateMonthlyInstallments(),
        e.updateFee(),
        e.updateTotalCosts(),
        e.calculateAmountToRepay(),
        e.getPaymentListByPlan(),
        e.calculateAPRC(e.oneTimeFee, e.monthlyFee),
        e.checkErrors(),
        e.appendCalculatorOutputs(),
        $("[data-showStatus]", e.activeCalculator).hide(),
        $('[data-aprc="first"]', e.activeCalculator).show(),
        $('[data-aprc="second"]', e.activeCalculator).hide(),
        e.updateShareCalculatorLink(),
        e.updateContactInputHidden()
    },
    this.updateContactInputHidden = function () {
        var t = "";
        t = $("[name=fProductId]").length > 0 && $("[name=fProductName]").length > 0 ? JSON.stringify({
            LOANAMOUNT: e.loanAmount,
            DURATION: e.tenor,
            INSTALLMENT: e.firstMonthlyInstallment,
            DISCOUNTCODE: null,
            APR: e.aprc,
            INTERESTRATE: e.firstInterestRate,
            PRODUCTID: $("[name=fProductId]").val(),
            PRODUCTNAME: $("[name=fProductName]").val()
        }) : JSON.stringify({
            LOANAMOUNT: e.loanAmount,
            DURATION: e.tenor,
            INSTALLMENT: e.firstMonthlyInstallment,
            DISCOUNTCODE: null,
            APR: e.aprc,
            INTERESTRATE: e.firstInterestRate
        }),
        $("[data-cmb-input]").attr("value", t),
        $("#getloan-calc-config").attr("value", t)
    },
    this.attachChangeEvents = function () {
        $(document).on("click", ".com15__filterItem", function () {
            var t = $(this).attr("data-filter"),
            a = "desktop";
            if ($(window).width() < 768)
                var a = "mobile";
            var r = $('.com15__filter[data-filter="' + t + '"]').find("[data-calculator=" + a + "]");
            e.setActiveCalculator(r),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", "[data-tab-default]", function () {
            var t = "true" === $(this).attr("data-tab-default");
            e.setActiveTab(t, !1, void 0),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
            parseInt(t.attr("data-slider-index"));
            t.slider("setValue", $(this).val(), !0)
        }),
        $(document).on("change", "[data-algorithm-input=newInterest] input", function () {
            var t = $(this).val();
            $("select[data-interest-select]", e.activeCalculator).val(t),
            $("select[data-interest-select]", e.activeCalculator).trigger("change")
        }),
        $(document).on("change", '[data-algorithm-input="currency"]', function () {
            var t = $(this).val();
            e.setActiveCurrency(t),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-interest-select]", function () {
            var t = $(this).val();
            e.setActiveMortgage(t),
            e.setActiveCurrency(e.activeCurrency.currency),
            e.updateCalculatorConfigurationByTenor(e.tenor),
            e.setActiveInterestType(t),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change focusout keyup", "[data-algorithm-input]", function () {
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".js-btnMinus, .js-btnAdd", function () {
            $('[data-algorithm-input="tenor"]', e.activeCalculator).trigger("change")
        }),
        $(document).on("change", ".rangeslider", function () {
            var t = $(this).val();
            $(this).parents(".sliderRange__wrapper").find(".qty").val(t),
            e.updateCalculatorOutputs()
        })
    },
    this.triggerDefaultEducation = function () {
        null !== e.defaultEducation && $('[data-filter="' + e.defaultEducation + '"]').trigger("click")
    },
    this.handleEducationCalculators = function () {
        var t = $("[data-education]");
        t.length && t.each(function () {
            var t = $(this),
            a = e.getEducationCalculatorDataFromJSON(t),
            r = t.attr("data-filter");
            if (null !== a) {
                a = e.removeEducationVariantsFromJSON(a, r);
                a.glGenericSimulatorParams.glProductVariantList[0].default && (e.defaultEducation = r),
                a = JSON.stringify(a),
                t.find(".calculatorData").val(a)
            }
        })
    },
    this.removeEducationVariantsFromJSON = function (e, t) {
        return e.glGenericSimulatorParams.glProductVariantList.forEach(function (e, a, r) {
            e.variantType !== t && r.splice(a, 1)
        }),
        e
    },
    this.getEducationCalculatorDataFromJSON = function (e) {
        var t = null,
        a = e.find(".calculatorData").val();
        try {
            t = JSON.parse(a)
        } catch (e) {
            console.error("Education JSON file invalid")
        }
        return t
    },
    this.checkErrors = function () {
        var t = $(".parsley-errors-list li", e.activeCalculator).length;
        e.errorState = t > 0
    },
    this.mapSliders = function () {
        window.sliderbootstrap.forEach(function (e, t) {
            e.attr("data-slider-index", t)
        })
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first())
    },
    this.getTenorInMonths = function () {
        "YEARS" === e.tenorUnit && (e.tenor = 12 * e.tenor)
    },
    this.updateFee = function () {
        var t = e.activeTab.data,
        a = 0;
        a += t.loanManagementFee || 0,
        a += t.currentAccountManagementFee || 0,
        a += t.cardAccountManagementFee || 0,
        e.monthlyFee = a,
        e.oneTimeFee = t.loanAppraisalFee || 0
    },
    this.updateTotalCosts = function () {
        e.totalCosts = e.calculateTotalCost()
    },
    this.updateTenorUnit = function () {
        e.tenorUnit = e.activeCurrency.tenorUnit;
        var t = r[e.tenorUnit];
        $("[data-tenor-unit]", e.activeCalculator).text(t)
    },
    this.getInterestRates = function () {
        e.setFirstInterestRate(),
        e.setSecondInterestRate()
    },
    this.setFirstInterestRate = function () {
        1 === e.activeInterestType.periods ? (e.updateCalculatorConfigurationByTenor(e.tenor), e.setActiveInterestType(e.activeInterestType.interestCode), e.firstInterestRate = e.activeInterestType.firstPeriod.interestRate) : e.firstInterestRate = e.activeInterestType.firstPeriod.interestRate
    },
    this.setSecondInterestRate = function () {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod ? e.secondInterestRate = e.activeInterestType.secondPeriod.interestRate : e.secondInterestRate = "-"
    },
    this.calculateMonthlyInstallments = function () {
        var t = e.loanAmount,
        a = e.tenor / 12,
        r = e.piano(t, a, e.firstInterestRate, 12),
        n = [];
        e.p = [];
        var o = [],
        s = [],
        l = [];
        void 0 !== e.activeInterestType.secondPeriod && (e.tenor, e.activeInterestType.firstPeriod.monthDuration);
        if (2 === e.activeInterestType.periods) {
            for (o = r[0], s = r[e.activeInterestType.firstPeriod.monthDuration - 1], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
                e.p.push(r[i]);
            var c = e.getDebitoRes(s);
            if (c > 0) {
                var u = e.activeInterestType.secondPeriod.interestRate;
                for (n = e.piano(c, (e.tenor - e.activeInterestType.firstPeriod.monthDuration) / 12, u, 12), l = n[0], e.secondMonthlyInstallment = parseFloat(e.getRata(l)), i = 0; i < n.length; i++)
                    e.p.push(n[i])
            }
        } else
            for (e.secondMonthlyInstallment = "-", s = r[r.length - 1], o = r[0], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length; i++)
                e.p.push(r[i])
    },
    this.getPaymentListByPlan = function () {
        for (e.paymentsHistoryFirstPeriod = [], e.paymentsHistoryWholePeriod = [], i = 0; i < e.p.length; i++)
            e.paymentsHistoryWholePeriod.push(e.getRata(e.p[i]));
        for (i = 0; i < e.p.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
            e.paymentsHistoryFirstPeriod.push(e.getRata(e.p[i]))
    },
    this.calculateTotalCost = function () {
        var t = 0;
        return t = e.getTotalInterests(),
        t += e.tenor * e.monthlyFee,
        t += e.oneTimeFee
    },
    this.updatePeriodLines = function () {
        var t = e.activeInterestType.periods,
        a = $("[data-one-period]", e.activeCalculator),
        r = $("[data-two-periods]", e.activeCalculator);
        2 === t ? (a.addClass("hide"), r.removeClass("hide")) : (r.addClass("hide"), a.removeClass("hide"))
    },
    this.updateCurrencySelect = function () {
        var t = e.activeMortgage.glConfigurationList,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator),
        r = "",
        n = 0;
        a.length && (a.html(""), t.forEach(function (t) {
                t = t.currency,
                t === e.activeCurrency.currency ? r += '<option value="' + t + '" selected>' + t + "</option>" : r += '<option value="' + t + '">' + t + "</option>",
                n += 1
            }), a.append(r), n <= 1 && ($('[data-algorithm-input="currency"]', e.activeCalculator).attr("disabled", !0), $('[data-algorithm-input="currency"]', e.activeCalculator).css("background-image", "none")))
    },
    this.updateTenorSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper"),
            o = e.activeTab.data.amountList[0].tenorScalingFactor;
            t.attr("data-slider-step", o);
            var i = e.activeInterestType.firstPeriod.monthMinimum ? e.activeInterestType.firstPeriod.monthMinimum : e.activeTab.data.amountList[0].minimumTenor;
            2 === e.activeInterestType.periods && i <= e.activeInterestType.firstPeriod.monthDuration && (i = e.activeInterestType.firstPeriod.monthDuration + 12),
            "YEARS" === e.tenorUnit && (i /= 12),
            t.attr("data-slider-min", i),
            n.find("[data-min-tenor]").html(i);
            var s = e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeTab.data.amountList[0].maximumTenor;
            "YEARS" === e.tenorUnit && (s /= 12),
            t.attr("data-slider-max", s),
            n.find("[data-max-tenor]").html(s),
            r.slider("destroy"),
            r.slider({
                tooltip: "always"
            });
            var l = e.activeInterestType.firstPeriod.monthMinimum ? e.activeInterestType.firstPeriod.monthMinimum : e.activeTab.data.amountList[0].defaultTenor;
            2 === e.activeInterestType.periods && l <= i && (l = i),
            "YEARS" === e.tenorUnit && (l /= 12),
            t.attr("data-slider-value", l),
            n.find(".qty").val(l),
            r.slider("setValue", l, !0),
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-min", r.attr("data-slider-min")),
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-max", r.attr("data-slider-max")),
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).val(l),
            $("[data-min-tenor]", e.activeCalculator).html(i),
            $("[data-max-tenor]", e.activeCalculator).html(s),
            r.on("slide", function () {
                var e = r.slider("getValue");
                n.find(".qty").val(e),
                t.siblings(".qty").trigger("change")
            })
        }
    },
    this.updateInterestTypeSelect = function () {
        var t = (e.activeTab.data.interest, $("[data-interest-select]", e.activeCalculator)),
        a = "";
        if (t.length) {
            t.html("");
            var n = 0;
            e.activeVariant.glProductVariantList.forEach(function (t) {
                code = t.variantType;
                var o = r[code];
                code === e.activeMortgage.variantType ? a += '<option value="' + code + '" selected>' + o + "</option>" : a += '<option value="' + code + '">' + o + "</option>",
                $("div[data-algorithm-input=newInterest]", e.activeCalculator).children().find("input[type=radio]").each(function (e, t) {
                    if (console.log("index"), e == n)
                        return $(t).val(code), $(t).parent().find("span").text(o), $(t).parents(".section__form__inline").css("display", "inline-block"), n += 1, !1
                })
            }),
            t.append(a)
        }
    },
    this.updateShareCalculatorLink = function () {
        var t = window.location.href;
        t = t.split("?"),
        t = t[0];
        var a = "?loanAmount=" + e.loanAmount + "&tenor=" + e.tenor + "&currency=" + e.currency + "&interestRateType=" + e.interestRateType + "&mortgage=" + e.mortgage;
        console.log(a),
        $('[data-tab="without-salary"]').hasClass("open") && (a += "&isDefault=false"),
        $("[data-socialshare]").length > 0 && $("[data-socialshare]").each(function () {
            $("html").hasClass("home") && !$(this).parents(".socialShare__calculator").length > 0 && (a = ""),
            $(this).attr("data-share-url").length > 0 && "" !== $(this).attr("data-share-url") && (t = $(this).attr("data-share-url")),
            "facebook" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + t + a),
            "twitter" == $(this).attr("data-socialshare") && $(this).attr("href", "https://twitter.com/home?status=" + t + a),
            "linkedin" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.linkedin.com/sharing/share-offsite/?url=" + t + a),
            "whatsapp" == $(this).attr("data-socialshare") && $(this).attr("href", " https://wa.me/?text=" + encodeURIComponent(t) + encodeURIComponent(a)),
            "mail" == $(this).attr("data-socialshare") && $(this).attr("href", "mailto:?body=" + t + encodeURIComponent(a))
        })
    },
    this.updateLoanAmountInput = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeTab.data.minimumAmount,
            n = e.activeTab.data.maxAmountForOnline,
            o = e.activeTab.data.defaultAmount;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]").text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]").text(s),
            ("0" == t.val() || parseInt(t.val()) < o) && t.val(o),
            t.parsley().validate()
        }
    },
    this.setActiveVariant = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorData").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.updateCalculatorConfigurationByTenor = function (t) {
        var a = (e.activeVariant.glProductVariantList, !1);
        for (k = 0; k < e.activeCurrency.glGenericCalculationList.length || a; k++) {
            var r = e.activeCurrency.glGenericCalculationList[k];
            if (r.amountList[0].minimumTenor <= t && r.interest[0].firstPeriod.monthDuration >= t && r.amountList[0].maximumTenor >= t && e.activeTab.data.standard == r.standard) {
                e.activeTab = {
                    isDefault: r.isDefault,
                    data: r
                },
                a = !0;
                break
            }
        }
        if (!a) {
            for (k = 0; k < e.activeCurrency.glGenericCalculationList.length || a; k++) {
                var r = e.activeCurrency.glGenericCalculationList[k];
                if (r.isDefault) {
                    e.activeTab = {
                        isDefault: r.isDefault,
                        data: r
                    },
                    a = !0;
                    break
                }
            }
            e.updateTenorUnit(),
            e.updateTenorSlider()
        }
        e.mortgage = ""
    },
    this.setActiveMortgage = function (t) {
        for (var a = e.activeVariant.glProductVariantList, r = a.length, n = 0; n < r; n++)
            if (a[n].variantType === t) {
                e.activeMortgage = a[n];
                break
            }
        e.mortgage = t
    },
    this.getDefaultMortgage = function () {
        if (e.activeVariant) {
            for (var t = e.activeVariant.glProductVariantList, a = t.length, r = "", n = !1, o = 0; o < a; o++)
                if (!0 === t[o].default) {
                    r = t[o].variantType,
                    e.mortgage = r,
                    n = !0;
                    break
                }
            return n || (r = t[0].variantType),
            e.mortgage = r,
            r
        }
    },
    this.setActiveCurrency = function (t) {
        for (var a = e.activeMortgage.glConfigurationList, r = a.length, n = 0; n < r; n++)
            if (a[n].currency === t) {
                e.activeCurrency = a[n];
                break
            }
    },
    this.getDefaultCurrency = function () {
        for (var t = e.activeMortgage.glConfigurationList, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].currency;
                break
            }
        return r
    },
    this.setActiveInterestType = function (t) {
        for (var a = e.activeTab.data.interest, r = a.length, n = 0; n < r; n++)
            if (a[n].interestCode === t) {
                e.activeInterestType = a[n],
                e.interestRateType = t;
                break
            }
    },
    this.getDefaultInterestType = function () {
        for (var t = e.activeTab.data.interest, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].interestCode;
                break
            }
        return r
    },
    this.getCalculatorInputs = function () {
        for (var t = $("[data-algorithm-input]", e.activeCalculator), a = t.length, r = 0; r < a; r++) {
            var n = t[r].getAttribute("data-algorithm-input"),
            o = t[r].value;
            "loanAmount" === n && (o = o.replace(/\./g, "")),
            "mortgage" === n && (o = $("input[name=radio]:checked", '[data-algorithm-input="mortgage"]').val()),
            "currency" !== n && "mortgage" !== n && (o = parseFloat(o)),
            e[n] = o
        }
    },
    this.updateTabsNumber = function () {
        var t = e.activeVariant.glGenericCalculationList,
        a = t.length,
        r = $(".com16__tabMenu"),
        n = $(".com16__tabContainer");
        a <= 1 ? (r.hide(), n.css("padding-top", "40px")) : (r.show(), n.removeAttr("style"))
    },
    this.appendCalculatorOutputs = function () {
        var t = $("[data-algorithm-output]", e.activeCalculator),
        r = $(".com16__buttonCover .btn", e.activeCalculator);
        if (!0 === e.errorState || isNaN(e.loanAmount))
            return $("[data-algorithm-output]:not([data-algorithm-output=currency])").text("-"), void r.addClass("disabled");
        r.removeClass("disabled"),
        t.each(function () {
            var t = $(this).attr("data-algorithm-output"),
            r = e[t];
            "monthlyInstallment" !== t && "firstMonthlyInstallment" !== t && "secondMonthlyInstallment" !== t && "secondInterestRate" !== t && "firstInterestRate" !== t || (r = number_format(e[t], 2, a.decimal, a.separator)),
            "loanAmount" !== t && "amountToRepay" !== t && "aprc" !== t && "aprc2" !== t || (r = number_format(e[t], 2, a.decimal, a.separator)),
            "tenor" === t && "YEARS" === e.tenorUnit && (r = e.tenor / 12),
            "totalCosts" === t && (r = e.formatFeeOutput(r)),
            $(this).text(r)
        })
    },
    this.formatFeeOutput = function (e) {
        var t = $("[data-fixed-currency]");
        return null === e || void 0 === e ? (e = r.NO_FEE, t.addClass("hide")) : (e = number_format(e, 2, a.decimal, a.separator), t.removeClass("hide")),
        e
    },
    this.formatMoneyInputs = function () {
        var e = $("*[data-format-currency]");
        e.length && e.each(function () {
            new Cleave($(this), {
                delimiter: a.separator,
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 2,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.piano = function (e, t, a, r) {
        var n = [],
        o = e,
        i = t,
        s = a,
        l = s / 100,
        c = r || 12,
        u = c * i,
        d = l / c,
        m = d + 1,
        p = o * d / (1 - Math.pow(m, -c * i));
        p = round(p, 2),
        l = 0;
        var h = 0,
        g = 0,
        f = 0,
        v = o,
        y = 0;
        for (l = 1; l <= u; l++)
            h = round(d * v, 2), f = round(p - h, 2), v = round(v - f, 2), y = round(y + f, 2), g = round(g + h, 2), l == u && (p = round(p + v, 2), y = round(y + v, 2), f = round(f + v, 2), v = 0), n.push([l, g, p, f, h, v, y]);
        return n
    },
    this.getRata = function (e) {
        return e[2]
    },
    this.getTotalInterests = function () {
        var t = 0;
        if (e.p.length > 0) {
            t = e.p[e.p.length - 1][1]
        }
        return t
    },
    this.getDebitoRes = function (e) {
        return e && e[5] && e[5] >= 0 ? e[5] : 0
    },
    this.calculateAmountToRepay = function () {
        e.amountToRepay = e.totalCosts + e.loanAmount
    },
    this.calculateAPRC_ = function (t, a) {
        e.aprc = e.calcAprc(e.paymentsHistoryFirstPeriod, e.loanAmount - t),
        e.aprc = 100 * e.aprc
    },
    this.calculateAPRC = function (t, a) {
        var r = e.loanAmount;
        if (!(r < 0)) {
            var n = t;
            if (!(n < 0)) {
                var o = e.firstMonthlyInstallment;
                if (!(o < 0)) {
                    var i = a;
                    if (!(i < 0)) {
                        var s = e.tenor / 12;
                        if (0 != s) {
                            if (rapporto = (r - n) / (o + i), nk = 12 * s, !(rapporto >= nk)) {
                                var l = e.bisezione(1e-14, 1),
                                c = Math.pow(1 + l, 12) - 1;
                                c *= 100,
                                e.aprc = c
                            }
                        }
                    }
                }
            }
        }
    },
    this.calculateAPRC2 = function (t, a) {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod && e.paymentsHistoryWholePeriod && e.paymentsHistoryWholePeriod.length ? (e.aprc2 = e.calcAprc(e.paymentsHistoryWholePeriod, e.loanAmount - t), e.aprc2 = 100 * e.aprc2) : e.aprc2 = 0,
        e.aprc2 = e.aprc2
    },
    this.bisezione = function (t, a) {
        return fa = e.f(t),
        0 == fa ? t : (fb = e.f(a), 0 == fb ? a : (m = (t + a) / 2, fm = e.f(m), 0 == fm ? m : a - t < 1e-8 ? m : fa * fm < 0 ? e.bisezione(t, m) : e.bisezione(m, a)))
    },
    this.f = function (e) {
        return (1 - rapporto * e) * Math.pow(1 + e, nk) - 1
    },
    this.format = function (e) {
        var t = Math.round(1e3 * e) / 1e3,
        a = String(t),
        r = a.length,
        n = a.indexOf(".");
        return n < 0 && (a += ".00"),
        n == r - 1 && (a += "00"),
        n == r - 2 && (a += "0"),
        n = a.indexOf("."),
        a = a.substr(0, n + 3)
    },
    this.setActiveTab = function (t, a, r) {
        var n = !1 !== t;
        if (a) {
            $('[data-tab-default="' + n + '"]').parent().hasClass("open") || $('[data-tab-default="' + n + '"]').trigger("click")
        }
        if (r)
            return void(e.activeTab = {
                    isDefault: r.isDefault,
                    data: r
                });
        for (var o = e.activeCurrency.glGenericCalculationList, i = o.length, s = !1, l = 0; l < i; l++) {
            var c = o[l].isDefault;
            if (c && c == t) {
                e.activeTab = {
                    isDefault: o[l].isDefault,
                    data: o[l]
                };
                var s = !0;
                break
            }
        }
        s || (e.activeTab = {
                isDefault: o[0].isDefault,
                data: o[0]
            })
    },
    this.consoleLogValues = function () {
        console.log("--------------------------------------"),
        console.log("Active variant | " + e.activeVariant.productCategory),
        console.log("Active mortgage | " + e.activeMortgage.variantType),
        console.log("Currency | " + e.currency),
        console.log("Active interestType | " + e.activeInterestType.interestCode),
        console.log("Loan amount | " + e.loanAmount),
        console.log("First Interest Rate | " + e.firstInterestRate),
        console.log("Second Interest Rate | " + e.secondInterestRate),
        console.log("Tenor in months | " + e.tenor),
        console.log("Tenor unit | " + e.tenorUnit),
        console.log("Amount to repay | " + e.amountToRepay),
        console.log("Monthly installment first | " + e.firstMonthlyInstallment),
        console.log("Monthly installment second | " + e.secondMonthlyInstallment),
        console.log("APR | " + e.apr),
        console.log("APRC | " + e.aprc),
        console.log("--------------------------------------")
    }
}, Intesa.LoanCalculatorISPSLOVENIA.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_ispslovenia || (window.intesa.loan_calculator_ispslovenia = new Intesa.LoanCalculatorISPSLOVENIA),
    window.intesa.loan_calculator_ispslovenia
};
var Intesa = Intesa || {};
Intesa.LoanCalculatorPBZ = function () {
    var e = this,
    t = !1,
    a = {},
    r = {};
    this.MAX_ITERATIONS = 50,
    this.activeCalculator = null,
    this.activeVariant = {},
    this.activeMortgage = {},
    this.activeCurrency = {},
    this.activeInterestType = {},
    this.errorState = !1,
    this.defaultEducation = null,
    this.loanAmount = 0,
    this.firstInterestRate = 0,
    this.secondInterestRate = 0,
    this.tenor = 0,
    this.tenorUnit = null,
    this.firstMonthlyInstallment = 0,
    this.secondMonthlyInstallment = 0,
    this.amountToRepay = 0,
    this.currency = null,
    this.apr = 0,
    this.aprc = 0,
    this.aprc2 = 0,
    this.fee = 0,
    this.insurancePremium = 0,
    this.paymentsHistoryFirstPeriod = [],
    this.paymentsHistoryWholePeriod = [],
    this.p = [],
    this.urlParams = {},
    this.init = function () {
        e.getSettingsAndLabelsJsonData();
        var a = "PBZ" == $("html").attr("data-bank");
        if ($("section.com16-14").length && a && !t) {
            e.handleEducationCalculators(),
            e.setVisibleCalculatorAsActive();
            Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.mapSliders(),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs(),
            e.attachChangeEvents(),
            e.triggerDefaultEducation(),
            e.getUrlQueryStringParams(),
            e.fillInputsWithQueryParams()
        }
    },
    this.getUrlQueryStringParams = function () {
        var t = window.location.href;
        t = t.split("?");
        var a = t[1];
        if (void 0 !== a) {
            a.split("&").forEach(function (t) {
                var a = t.split("="),
                r = a[0],
                n = a[1];
                e.urlParams[r] = n
            })
        }
    },
    this.fillInputsWithQueryParams = function () {
        !$.isEmptyObject(e.urlParams) && (e.setInterestRateFromQuery(), e.setMortgageFromQuery(), e.setLoanAmountFromQuery(), e.setCurrencyFromQuery(), e.setTenorFromQuery())
    },
    this.setCurrencyFromQuery = function () {
        var t = e.urlParams.currency,
        a = $('[data-algorithm-input="currency"]');
        t && a.length && a.val(t).trigger("change")
    },
    this.setLoanPurposeFromQuery = function () {},
    this.setLoanAmountFromQuery = function () {
        var t = e.urlParams.loanAmount;
        if (t && !isNaN(t)) {
            t = parseInt(t);
            $('[data-algorithm-input="loanAmount"]').val(t),
            e.formatMoneyInputs()
        }
    },
    this.setInterestRateFromQuery = function () {
        var t = e.urlParams.interestRateType,
        a = $('[name="interestRateType"]');
        t && a.length && a.val(t).trigger("change")
    },
    this.setMortgageFromQuery = function () {
        var t = e.urlParams.mortgage,
        a = $('[data-algorithm-input="mortgage"]');
        t && a.length && $("[name=radio][value=" + t + "]", a).trigger("click")
    },
    this.setTenorFromQuery = function () {
        var t = parseInt(e.urlParams.tenor);
        if (t && !isNaN(t)) {
            var a = $("[data-slider-repayment]").attr("data-slider-step");
            a = parseInt(a),
            t -= t % a,
            "YEARS" === e.tenorUnit && (t /= 12),
            window.sliderbootstrap[0].slider("setValue", t, !0)
        }
    },
    this.calcAprc = function (t, a) {
        return e.calcAprcWithBinarySearch(t, a, 0, 1, 0)
    },
    this.calcAprcWithBinarySearch = function (t, a, r, n, o) {
        if (n - r < 1e-14)
            return r;
        const i = (n - r) / 2 + r;
        if (o > e.MAX_ITERATIONS)
            return i;
        const s = a;
        for (var l = 0, c = 0; c < t.length; c++) {
            l += t[c] * Math.pow(1 + i,  - (c + 1) / 12)
        }
        return s == l ? i : s < l ? e.calcAprcWithBinarySearch(t, a, i, n, ++o) : e.calcAprcWithBinarySearch(t, a, r, i, ++o)
    },
    this.getSettingsAndLabelsJsonData = function () {
        var e = $("#genericSettings"),
        n = $("#calculatorLabels");
        try {
            e.length && (a = JSON.parse(e.val())),
            n.length && (r = JSON.parse(n.val()))
        } catch (e) {
            console.error("Settings or Labels JSON file invalid"),
            t = !0
        }
    },
    this.updateCalculatorInputs = function () {
        e.updateInterestTypeSelect(),
        e.updatePeriodLines(),
        e.updateLoanAmountInput(),
        e.updateCurrencySelect(),
        e.updateTenorUnit(),
        e.updateTenorSlider(),
        e.updateMortgageRadio(),
        e.updateFee(),
        e.formatMoneyInputs()
    },
    this.updateCalculatorOutputs = function () {
        if (e.getCalculatorInputs(), e.getTenorInMonths(), e.getInterestRates(), e.calculateMonthlyInstallments(), "NON_PURPOSE_WITH_CPI" == e.activeVariant.productCategory && e.calculateInsurancePolicyPremium(), e.calculateAmountToRepay(), e.getPaymentListByPlan(), e.calculateAPRC(e.fee + e.insurancePremium, 0), e.calculateAPRC2(e.fee, 0), e.checkErrors(), e.appendCalculatorOutputs(), "EDUCATION" == e.activeVariant.productCategory || "NON_PURPOSE_MORTGAGE" == e.activeVariant.productCategory ? $("[data-showStatus]").hide() : $("[data-showStatus]").show(), 2 === e.activeInterestType.periods) {
            e.activeInterestType.secondPeriod.interestRate < e.activeInterestType.firstPeriod.interestRate ? ($('[data-aprc="first"]').show(), $('[data-aprc="second"]').hide()) : ($('[data-aprc="first"]').hide(), $('[data-aprc="second"]').show())
        } else
            $('[data-aprc="first"]').show(), $('[data-aprc="second"]').hide();
        e.updateShareCalculatorLink(),
        e.updateContactInputHidden()
    },
    this.attachChangeEvents = function () {
        $(document).on("click", ".com15__filterItem", function () {
            var t = $(this).attr("data-filter"),
            a = "desktop";
            if ($(window).width() < 768)
                var a = "mobile";
            var r = $('.com15__filter[data-filter="' + t + '"]').find("[data-calculator=" + a + "]");
            e.setActiveCalculator(r),
            Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
            parseInt(t.attr("data-slider-index"));
            t.slider("setValue", $(this).val(), !0)
        }),
        $(document).on("change", '[data-algorithm-input="mortgage"] input', function () {
            var t = $(this).val();
            e.setActiveMortgage(t),
            e.setActiveCurrency(e.activeCurrency.currency),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs(),
            e.updateCalculatorDefaultAmount()
        }),
        $(document).on("change", "[data-algorithm-input=newInterest] input", function () {
            var t = $(this).val();
            $("select[data-interest-select]", e.activeCalculator).val(t),
            $("select[data-interest-select]", e.activeCalculator).trigger("change"),
            console.log("Set Value Of the new Interest")
        }),
        $(document).on("change", '[data-algorithm-input="currency"]', function () {
            var t = $(this).val();
            e.setActiveCurrency(t),
            e.setActiveInterestType(e.activeInterestType.interestCode),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", "[data-interest-select]", function () {
            var t = $(this).val();
            console.log("Trigger change interest Select"),
            e.setActiveInterestType(t),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", "[data-algorithm-input=loanAmount]", function () {
            var e = $(this).val();
            e = e.replace(/\,/g, ""),
            $(this).val(e),
            $(this).parsley().validate()
        }),
        $(document).on("change focusout keyup", "[data-algorithm-input]", function () {
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".js-btnMinus, .js-btnAdd", function () {
            $('[data-algorithm-input="tenor"]').trigger("change")
        }),
        $(document).on("change", ".rangeslider", function () {
            var t = $(this).val();
            $(this).parents(".sliderRange__wrapper").find(".qty").val(t),
            e.updateCalculatorOutputs()
        })
    },
    this.updateCalculatorDefaultAmount = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var a = e.activeCurrency.glGenericCalculationList[0].defaultAmount;
            void 0 != a && a.length && 0 != a && (t.val(a), t.parsley().validate())
        }
    },
    this.triggerDefaultEducation = function () {
        null !== e.defaultEducation && $('[data-filter="' + e.defaultEducation + '"]').trigger("click")
    },
    this.handleEducationCalculators = function () {
        var t = $("[data-education]");
        t.length && t.each(function () {
            var t = $(this),
            a = e.getEducationCalculatorDataFromJSON(t),
            r = t.attr("data-filter");
            if (null !== a) {
                a = e.removeEducationVariantsFromJSON(a, r);
                a.glGenericSimulatorParams.glProductVariantList[0].default && (e.defaultEducation = r),
                a = JSON.stringify(a),
                t.find(".calculatorData").val(a)
            }
        })
    },
    this.removeEducationVariantsFromJSON = function (e, t) {
        return e.glGenericSimulatorParams.glProductVariantList.forEach(function (e, a, r) {
            e.variantType !== t && r.splice(a, 1)
        }),
        e
    },
    this.getEducationCalculatorDataFromJSON = function (e) {
        var t = null,
        a = e.find(".calculatorData").val();
        try {
            t = JSON.parse(a)
        } catch (e) {
            console.error("Education JSON file invalid")
        }
        return t
    },
    this.checkErrors = function () {
        var t = $(".parsley-errors-list li", e.activeCalculator).length;
        e.errorState = t > 0
    },
    this.mapSliders = function () {
        window.sliderbootstrap.forEach(function (e, t) {
            e.attr("data-slider-index", t)
        })
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first())
    },
    this.getTenorInMonths = function () {
        "YEARS" === e.tenorUnit && (e.tenor = 12 * e.tenor)
    },
    this.updateFee = function () {
        e.fee = e.activeCurrency.glGenericCalculationList[0].fee
    },
    this.updateTenorUnit = function () {
        e.tenorUnit = e.activeCurrency.tenorUnit;
        var t = r[e.tenorUnit];
        $("[data-tenor-unit]", e.activeCalculator).text(t)
    },
    this.getInterestRates = function () {
        e.setFirstInterestRate(),
        e.setSecondInterestRate()
    },
    this.setFirstInterestRate = function () {
        1 === e.activeInterestType.periods && e.tenor > e.activeInterestType.firstPeriod.monthDuration ? e.firstInterestRate = e.activeInterestType.secondPeriod.interestRate : e.firstInterestRate = e.activeInterestType.firstPeriod.interestRate
    },
    this.setSecondInterestRate = function () {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod ? e.secondInterestRate = e.activeInterestType.secondPeriod.interestRate : e.secondInterestRate = "-"
    },
    this.calculateMonthlyInstallments = function () {
        var t = e.loanAmount,
        a = e.tenor / 12,
        r = e.piano(t, a, e.firstInterestRate, 12),
        n = [];
        e.p = [];
        var o = [],
        s = [],
        l = [];
        void 0 !== e.activeInterestType.secondPeriod && (e.tenor, e.activeInterestType.firstPeriod.monthDuration);
        if (2 === e.activeInterestType.periods) {
            for (o = r[0], s = r[e.activeInterestType.firstPeriod.monthDuration - 1], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
                e.p.push(r[i]);
            var c = e.getDebitoRes(s);
            if (c > 0) {
                var u = e.activeInterestType.secondPeriod.interestRate;
                for (n = e.piano(c, (e.tenor - e.activeInterestType.firstPeriod.monthDuration) / 12, u, 12), l = n[0], e.secondMonthlyInstallment = parseFloat(e.getRata(l)), i = 0; i < n.length; i++)
                    e.p.push(n[i])
            }
        } else
            for (e.secondMonthlyInstallment = "-", s = r[r.length - 1], o = r[0], e.firstMonthlyInstallment = parseFloat(e.getRata(o)), i = 0; i < r.length; i++)
                e.p.push(r[i])
    },
    this.getPaymentListByPlan = function () {
        for (e.paymentsHistoryFirstPeriod = [], e.paymentsHistoryWholePeriod = [], i = 0; i < e.p.length; i++)
            e.paymentsHistoryWholePeriod.push(e.getRata(e.p[i]));
        for (i = 0; i < e.p.length && i < e.activeInterestType.firstPeriod.monthDuration; i++)
            e.paymentsHistoryFirstPeriod.push(e.getRata(e.p[i]))
    },
    this.updatePeriodLines = function () {
        var t = e.activeInterestType.periods,
        a = $("[data-one-period]", e.activeCalculator),
        r = $("[data-two-periods]", e.activeCalculator);
        2 === t ? (a.addClass("hide"), r.removeClass("hide")) : (r.addClass("hide"), a.removeClass("hide"))
    },
    this.updateCurrencySelect = function () {
        var t = e.activeMortgage.glConfigurationList,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator),
        r = "",
        n = 0;
        a.length && (a.html(""), t.forEach(function (t) {
                t = t.currency,
                t === e.activeCurrency.currency ? r += '<option value="' + t + '" selected>' + t + "</option>" : r += '<option value="' + t + '">' + t + "</option>",
                n += 1
            }), a.append(r), n <= 1 && a.attr("disabled", !0))
    },
    this.updateMortgageRadio = function () {
        var t = $('[data-algorithm-input="mortgage"]', e.activeCalculator),
        a = e.activeMortgage.variantType;
        t.length && null !== a && $('input[value="' + a + '"]').trigger("click")
    },
    this.updateTenorSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper"),
            o = e.activeCurrency.glGenericCalculationList[0].amountList[0].tenorScalingFactor;
            t.attr("data-slider-step", o);
            var i = e.activeInterestType.firstPeriod.monthMinimum ? e.activeInterestType.firstPeriod.monthMinimum : e.activeCurrency.glGenericCalculationList[0].amountList[0].minimumTenor;
            2 === e.activeInterestType.periods && i <= e.activeInterestType.firstPeriod.monthDuration && (i = e.activeInterestType.firstPeriod.monthDuration),
            "YEARS" === e.tenorUnit && (i /= 12),
            t.attr("data-slider-min", i),
            n.find("[data-min-tenor]").html(i);
            var s = e.activeInterestType.secondPeriod ? e.activeInterestType.secondPeriod.monthDuration : e.activeInterestType.firstPeriod.monthDuration;
            "YEARS" === e.tenorUnit && (s /= 12),
            t.attr("data-slider-max", s),
            n.find("[data-max-tenor]").html(s),
            r.slider("destroy"),
            r.slider(),
            n.find(".qty").val(i),
            r.slider("setValue", i, !0);
            var l = i;
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).length > 0 && ($('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-min", r.attr("data-slider-min")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-max", r.attr("data-slider-max")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).val(l), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).parsley().validate()),
            $("[data-min-tenor]", e.activeCalculator).html(i),
            $("[data-max-tenor]", e.activeCalculator).html(s),
            r.on("slide", function () {
                var e = r.slider("getValue");
                n.find(".qty").val(e),
                t.siblings(".qty").trigger("change")
            })
        }
    },
    this.updateInterestTypeSelect = function () {
        var t = e.activeCurrency.glGenericCalculationList[0].interest,
        a = $("[data-interest-select]", e.activeCalculator),
        n = "";
        if (a.length) {
            a.html("");
            var o = 0;
            $("div[data-algorithm-input=newInterest] .section__form__inline", e.activeCalculator).hide(),
            $("div[data-algorithm-input=newInterest] .loanCalculator__radio", e.activeCalculator).hide(),
            t.forEach(function (t) {
                var a = t.interestCode,
                i = r[a];
                a === e.activeInterestType.interestCode ? n += '<option value="' + a + '" selected>' + i + "</option>" : n += '<option value="' + a + '">' + i + "</option>",
                $("div[data-algorithm-input=newInterest]", e.activeCalculator).children().find("input[type=radio]").each(function (t, r) {
                    if (console.log("index"), t == o)
                        return $(r).val(a), $(r).parent().find("span").text(i), $(r).parents(".section__form__inline").css("display", "inline-block"), $(window).width() < 768 && $(r).parents(".loanCalculator__radio").css("display", "block"), a === e.activeInterestType.interestCode && $(r).prop("checked", !0), o += 1, !1
                })
            }),
            a.append(n)
        }
    },
    this.updateShareCalculatorLink = function () {
        var t = window.location.href;
        t = t.split("?"),
        t = t[0];
        var a = "?loanAmount=" + e.loanAmount + "&tenor=" + e.tenor + "&currency=" + e.currency + "&interestRateType=" + e.interestRateType + "&mortgage=" + e.mortgage;
        console.log(a),
        $('[data-tab="without-salary"]', e.activeCalculator).hasClass("open") && (a += "&isDefault=false"),
        $("[data-socialshare]").length > 0 && $("[data-socialshare]").each(function () {
            $("html").hasClass("home") && !$(this).parents(".socialShare__calculator").length > 0 && (a = ""),
            $(this).attr("data-share-url").length > 0 && "" !== $(this).attr("data-share-url") && (t = $(this).attr("data-share-url")),
            "facebook" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + t + a),
            "twitter" == $(this).attr("data-socialshare") && $(this).attr("href", "https://twitter.com/home?status=" + t + a),
            "linkedin" == $(this).attr("data-socialshare") && $(this).attr("href", "https://www.linkedin.com/sharing/share-offsite/?url=" + t + a),
            "whatsapp" == $(this).attr("data-socialshare") && $(this).attr("href", " https://wa.me/?text=" + encodeURIComponent(t) + encodeURIComponent(a)),
            "mail" == $(this).attr("data-socialshare") && $(this).attr("href", "mailto:?body=" + t + encodeURIComponent(a))
        })
    },
    this.updateLoanAmountInput = function () {
        var t = $('[data-algorithm-input="loanAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeCurrency.glGenericCalculationList[0].minimumAmount,
            n = e.activeCurrency.glGenericCalculationList[0].maxAmountForOnline,
            o = e.activeCurrency.glGenericCalculationList[0].defaultAmount;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]").text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            $("[data-loan-max]").text(s),
            ("0" == t.val() || parseInt(t.val().replaceAll(a.separator, "")) < o) && t.val(o),
            t.parsley().validate()
        }
    },
    this.setActiveVariant = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorData").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.setActiveMortgage = function (t) {
        for (var a = e.activeVariant.glProductVariantList, r = a.length, n = 0; n < r; n++)
            if (a[n].variantType === t) {
                e.activeMortgage = a[n];
                break
            }
        e.mortgage = t
    },
    this.getDefaultMortgage = function () {
        if (e.activeVariant) {
            for (var t = e.activeVariant.glProductVariantList, a = t.length, r = "", n = !1, o = 0; o < a; o++)
                if (!0 === t[o].default) {
                    r = t[o].variantType,
                    e.mortgage = r,
                    n = !0;
                    break
                }
            return n || (r = t[0].variantType),
            e.mortgage = r,
            r
        }
    },
    this.setActiveCurrency = function (t) {
        for (var a = e.activeMortgage.glConfigurationList, r = a.length, n = 0; n < r; n++)
            if (a[n].currency === t) {
                e.activeCurrency = a[n];
                break
            }
    },
    this.getDefaultCurrency = function () {
        for (var t = e.activeMortgage.glConfigurationList, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].currency;
                break
            }
        return r
    },
    this.setActiveInterestType = function (t) {
        for (var a = e.activeCurrency.glGenericCalculationList[0].interest, r = a.length, n = 0; n < r; n++)
            if (a[n].interestCode === t) {
                e.activeInterestType = a[n],
                e.interestRateType = t;
                break
            }
        1 == r && (e.activeInterestType = a[0], e.interestRateType = t)
    },
    this.getDefaultInterestType = function () {
        for (var t = e.activeCurrency.glGenericCalculationList[0].interest, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].interestCode;
                break
            }
        return r
    },
    this.getCalculatorInputs = function () {
        for (var t = $("[data-algorithm-input]", e.activeCalculator), a = t.length, r = 0; r < a; r++) {
            var n = t[r].getAttribute("data-algorithm-input"),
            o = t[r].value;
            "loanAmount" === n && (o = o.replace(/\./g, ""), o = o.replace(/\,/g, "")),
            "mortgage" === n && (o = $("input[name=radio]:checked", '[data-algorithm-input="mortgage"]').val()),
            "currency" !== n && "mortgage" !== n && (o = parseFloat(o)),
            e[n] = o
        }
    },
    this.appendCalculatorOutputs = function () {
        var t = $("[data-algorithm-output]", e.activeCalculator),
        r = $(".com16__buttonCover .btn", e.activeCalculator);
        if (!0 === e.errorState || isNaN(e.loanAmount))
            return $("[data-algorithm-output]:not([data-algorithm-output=currency])").text("-"), void r.addClass("disabled");
        r.removeClass("disabled"),
        t.each(function () {
            var t = $(this).attr("data-algorithm-output"),
            r = e[t];
            "monthlyInstallment" !== t && "firstMonthlyInstallment" !== t && "secondMonthlyInstallment" !== t && "secondInterestRate" !== t && "firstInterestRate" !== t || (r = number_format(e[t], 2, a.decimal, a.separator)),
            "loanAmount" !== t && "amountToRepay" !== t && "aprc" !== t && "aprc2" !== t && "insurancePremium" !== t || (r = number_format(e[t], 2, a.decimal, a.separator)),
            "tenor" === t && "YEARS" === e.tenorUnit && (r = e.tenor / 12),
            "fee" === t && (r = e.formatFeeOutput(r)),
            $(this).text(r)
        })
    },
    this.formatFeeOutput = function (e) {
        var t = $("[data-fixed-currency]");
        return null === e || void 0 === e ? (e = r.NO_FEE, t.addClass("hide")) : (e = number_format(e, 2, a.decimal, a.separator), t.removeClass("hide")),
        e
    },
    this.updateContactInputHidden = function () {
        var t = JSON.stringify({
            LOANAMOUNT: number_format(parseFloat(e.loanAmount), 2, a.decimal, a.separator),
            DURATION: e.tenor,
            INSTALLMENT: number_format(parseFloat(e.firstMonthlyInstallment), 2, a.decimal, a.separator),
            DISCOUNTCODE: null,
            APR: number_format(parseFloat(e.aprc), 2, a.decimal, a.separator),
            INTERESTRATE: number_format(parseFloat(e.firstInterestRate), 2, a.decimal, a.separator),
            PRODUCTID: $("[name=fProductId]").val(),
            PRODUCTNAME: $("[name=fProductName]").val()
        });
        $("[data-cmb-input]").attr("value", t),
        $("#getloan-calc-config").attr("value", t)
    },
    this.formatMoneyInputs = function () {
        var e = $("*[data-format-currency]");
        e.length && e.each(function () {
            new Cleave($(this), {
                delimiter: a.separator,
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 2,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.piano = function (e, t, a, r) {
        var n = [],
        o = e,
        i = t,
        s = a,
        l = s / 100,
        c = r || 12,
        u = c * i,
        d = l / c,
        m = d + 1,
        p = o * d / (1 - Math.pow(m, -c * i));
        p = round(p, 2),
        l = 0;
        var h = 0,
        g = 0,
        f = 0,
        v = o,
        y = 0;
        for (l = 1; l <= u; l++)
            h = round(d * v, 2), f = round(p - h, 2), v = round(v - f, 2), y = round(y + f, 2), g = round(g + h, 2), l == u && (p = round(p + v, 2), y = round(y + v, 2), f = round(f + v, 2), v = 0), n.push([l, g, p, f, h, v, y]);
        return n
    },
    this.getRata = function (e) {
        return e[2]
    },
    this.getDebitoRes = function (e) {
        return e && e[5] && e[5] >= 0 ? e[5] : 0
    },
    this.calculateAmountToRepay_ = function () {
        if (e.activeInterestType.firstPeriod.monthDuration >= e.tenor)
            e.amountToRepay = e.firstMonthlyInstallment * e.tenor;
        else {
            var t = e.firstMonthlyInstallment * e.activeInterestType.firstPeriod.monthDuration,
            a = e.secondMonthlyInstallment * (e.tenor - e.activeInterestType.firstPeriod.monthDuration);
            e.amountToRepay = t + a
        }
    },
    this.calculateAmountToRepay = function () {
        for (e.amountToRepay = 0, i = 0; i < e.p.length; i++)
            e.amountToRepay += e.getRata(e.p[i]);
        e.amountToRepay += e.insurancePremium
    },
    this.calculateAPRC_ = function (t, a) {
        e.aprc = e.calcAprc(e.paymentsHistoryFirstPeriod, e.loanAmount - t),
        e.aprc = 100 * e.aprc
    },
    this.calculateAPRC = function (t, a) {
        var r = e.loanAmount;
        if (!(r < 0)) {
            var n = t;
            if (!(n < 0)) {
                var o = e.firstMonthlyInstallment;
                if (!(o < 0)) {
                    var i = a;
                    if (!(i < 0)) {
                        var s = e.tenor / 12;
                        if (0 != s) {
                            if (rapporto = (r - n) / (o + i), nk = 12 * s, !(rapporto >= nk)) {
                                var l = e.bisezione(1e-14, 1),
                                c = Math.pow(1 + l, 12) - 1;
                                c *= 100,
                                e.aprc = c
                            }
                        }
                    }
                }
            }
        }
    },
    this.calculateAPRC2 = function (t, a) {
        2 === e.activeInterestType.periods && void 0 !== e.activeInterestType.secondPeriod && e.paymentsHistoryWholePeriod && e.paymentsHistoryWholePeriod.length ? (e.aprc2 = e.calcAprc(e.paymentsHistoryWholePeriod, e.loanAmount - t), e.aprc2 = 100 * e.aprc2) : e.aprc2 = 0,
        e.aprc2 = e.aprc2
    },
    this.calculateInsurancePolicyPremium = function () {
        e.insurancePremium = e.loanAmount * e.tenor * 613e-6
    },
    this.bisezione = function (t, a) {
        return fa = e.f(t),
        0 == fa ? t : (fb = e.f(a), 0 == fb ? a : (m = (t + a) / 2, fm = e.f(m), 0 == fm ? m : a - t < 1e-8 ? m : fa * fm < 0 ? e.bisezione(t, m) : e.bisezione(m, a)))
    },
    this.f = function (e) {
        return (1 - rapporto * e) * Math.pow(1 + e, nk) - 1
    },
    this.format = function (e) {
        var t = Math.round(1e3 * e) / 1e3,
        a = String(t),
        r = a.length,
        n = a.indexOf(".");
        return n < 0 && (a += ".00"),
        n == r - 1 && (a += "00"),
        n == r - 2 && (a += "0"),
        n = a.indexOf("."),
        a = a.substr(0, n + 3)
    },
    this.consoleLogValues = function () {
        console.log("--------------------------------------"),
        console.log("Active variant | " + e.activeVariant.productCategory),
        console.log("Active mortgage | " + e.activeMortgage.variantType),
        console.log("Currency | " + e.currency),
        console.log("Active interestType | " + e.activeInterestType.interestCode),
        console.log("Loan amount | " + e.loanAmount),
        console.log("First Interest Rate | " + e.firstInterestRate),
        console.log("Second Interest Rate | " + e.secondInterestRate),
        console.log("Tenor in months | " + e.tenor),
        console.log("Tenor unit | " + e.tenorUnit),
        console.log("Amount to repay | " + e.amountToRepay),
        console.log("Monthly installment first | " + e.firstMonthlyInstallment),
        console.log("Monthly installment second | " + e.secondMonthlyInstallment),
        console.log("APR | " + e.apr),
        console.log("APRC | " + e.aprc),
        console.log("Fee | " + e.fee),
        console.log("--------------------------------------")
    }
}, Intesa.LoanCalculatorPBZ.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_pbz || (window.intesa.loan_calculator_pbz = new Intesa.LoanCalculatorPBZ),
    window.intesa.loan_calculator_pbz
};
var Intesa = Intesa || {};
Intesa.LoanCalculatorVUB = function () {
    var e = this,
    t = !1,
    a = {},
    r = {};
    this.MAX_ITERATIONS = 50,
    this.activeCalculator = null,
    this.activeVariant = {},
    this.activeMortgage = {},
    this.activeCurrency = {},
    this.activeInterestType = {},
    this.activeInterestPeriod = {},
    this.errorState = !1,
    this.defaultEducation = null,
    this.navigator = null,
    this.tenorUnit = null,
    this.loanNumberOfInstallments = null,
    this.monthlyInstallment = 0,
    this.currentMonthlyInstallment = 0,
    this.mortgageAmount = 0,
    this.interestRate = 0,
    this.currency = null,
    this.fee = 0,
    this.feeForDepositLien = 0,
    this.urlParams = {},
    this.interestType = "FIXED",
    this.loanInterestRatePeriods = null,
    this.feeAccountRange = {},
    this.monthlyInterestPayment = 0,
    this.amountToBeRepayed = 0,
    this.init = function () {
        var t = "VUB" == $("html").attr("data-bank"),
        a = $(".loan-calculator").length > 0;
        if ($("section.com16-14").length && t && a) {
            e.getSettingsAndLabelsJsonData(),
            e.setVisibleCalculatorAsActive(),
            e.initNavigator(e.activeCalculator),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.mapSliders(),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs(),
            e.attachChangeEvents(),
            e.attachDataLayerClickEvent(),
            e.formatInputDecimal();
            var r = e.activeVariant.productCategory;
            "OVERDRAFT" === r && e.substituteDisclaimerOverdraft(),
            "LOAN_FOR_EVERYTHING" === r && $('[name="borrowAmount"]').length && $('[name="borrowAmount"]').focusout(function () {
                var e = parseInt($(this).val()),
                t = 10 * Math.ceil(e / 10);
                $('[name="borrowAmount"]').val(t)
            })
        }
    },
    this.initNavigator = function (t) {
        e.navigator = Intesa.CalculatorNavigation.getInstance(t),
        e.navigator.init()
    },
    this.getCalculatorInputs = function () {
        for (var t = $("[data-algorithm-input]", e.activeCalculator), r = t.length, n = 0; n < r; n++) {
            var o = t[n].getAttribute("data-algorithm-input"),
            i = t[n].value;
            if (i = i.replace(",", ".").replaceAll(a.separator, ""), "currency" !== o && (i = parseFloat(i)), e[o] = i, "tenorInYears" == o && ("YEARS" === e.tenorUnit ? e.loanNumberOfInstallments = 12 * i : e.loanNumberOfInstallments = i), 0 !== $(".js-interest-period", e.activeCalculator).length && "interestRate" == o) {
                e.loanInterestRatePeriods = e.activeInterestPeriod.monthDuration / 12;
                var s = e.activeInterestType.periods,
                l = $(".js-interest-period", e.activeCalculator).val(),
                c = $(".js-interest-period", e.activeCalculator).prop("selectedIndex");
                s.forEach(function (t, a) {
                    void 0 != t.interestRate && t.interestRate.toString() == l && c == a && (e.loanInterestRatePeriods = t.monthDuration / 12, e.activeInterestPeriod = t)
                })
            }
        }
    },
    this.appendCalculatorOutputs = function () {
        const t = ["monthlyInstallment", "borrowAmount", "monthlySavings", "totalSavings", "savings", "interestRate", "apr", "costs", "monthlyInterestPayment", "aprc", "interestRateNoBenefit", "costsNoBenefit", "monthlyInstallmentNoBenefit", "aprcNoBenefit", "fee", "monthlyInsuranceLoan", "amountToBeRepayed", "flexidebetOverdraft", "monthlyAccountFeeOverdraft"];
        var r = $("[data-algorithm-output]", e.activeCalculator),
        n = "";
        r.each(function () {
            var r = $(this).attr("data-algorithm-output");
            n = t.includes(r) ? number_format(e[r], 2, a.decimal, a.separator) : "mortgageAmount" === r ? number_format(e[r], 0, a.decimal, a.separator) : "fixedInterestPeriod" === r ? e.getInterestPeriodLabel(e.activeInterestPeriod.monthDuration) : "feeInput" === r ? 100 * e.activeCurrency.glGenericCalculationList[0].fee : e[r],
            $(this).text(n)
        })
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function (t) {
        var a = $(window).width(),
        r = "desktop";
        if (a < 768)
            var r = "mobile";
        if (!t)
            var t = $("[data-calculator=" + r + "]");
        var n = !1;
        t.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + r + "]").first())
    },
    this.setActiveVariant = function () {
        if (e.activeCalculator) {
            var t = e.activeCalculator.siblings(".calculatorData").val();
            try {
                var a = JSON.parse(t);
                e.activeVariant = a.glGenericSimulatorParams
            } catch (e) {
                console.error("Calculator JSON file invalid")
            }
        }
    },
    this.setActiveMortgage = function (t) {
        for (var a = e.activeVariant.glProductVariantList, r = a.length, n = 0; n < r; n++)
            if (a[n].variantType === t) {
                e.activeMortgage = a[n];
                break
            }
        e.mortgage = t
    },
    this.getDefaultMortgage = function () {
        if (e.activeVariant) {
            for (var t = e.activeVariant.glProductVariantList, a = t.length, r = "", n = !1, o = 0; o < a; o++)
                if (!0 === t[o].default) {
                    r = t[o].variantType,
                    e.mortgage = r,
                    n = !0;
                    break
                }
            return n || (r = t[0].variantType),
            e.mortgage = r,
            r
        }
    },
    this.setActiveCurrency = function (t) {
        for (var a = e.activeMortgage.glConfigurationList, r = a.length, n = 0; n < r; n++)
            if (a[n].currency === t) {
                e.activeCurrency = a[n];
                break
            }
    },
    this.getDefaultCurrency = function () {
        for (var t = e.activeMortgage.glConfigurationList, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].currency;
                break
            }
        return r
    },
    this.getSettingsAndLabelsJsonData = function () {
        var e = $("#genericSettings"),
        n = $("#calculatorLabels");
        try {
            e.length && (a = JSON.parse(e.val())),
            n.length && (r = JSON.parse(n.val()))
        } catch (e) {
            console.error("Settings or Labels JSON file invalid"),
            t = !0
        }
    },
    this.updateCalculatorInputs = function () {
        e.initAccountFeeAccountRange(),
        e.updateAccountFeeInput(),
        e.initFlexidebetInputs(),
        e.updateBorrowAmountInput(),
        e.updateCurrentMonthlyInstallment(),
        e.updateCurrencySelect(),
        e.initInterestPeriodSelect(),
        e.updateTenorUnit(),
        e.updateTenorSlider(),
        e.initInterestRateInput(),
        e.initRemainingRepaymentsInput(),
        e.initDeferredRepayments()
    },
    this.updateCalculatorOutputs = function () {
        e.getCalculatorInputs(),
        e.initFee(),
        e.checkErrors(),
        e.calculateResults(),
        e.appendCalculatorOutputs(),
        e.updateDataLayer()
    },
    this.updateBorrowAmountInput = function () {
        var t = $('[data-algorithm-input="borrowAmount"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeCurrency.glGenericCalculationList[0].minimumAmount,
            n = e.activeCurrency.glGenericCalculationList[0].maxAmountForOnline,
            o = e.activeCurrency.glGenericCalculationList[0].defaultAmount;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-loan-min]", e.activeCalculator).text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            if ($("[data-loan-max]", e.activeCalculator).text(s), "0" == t.val() || parseInt(t.val()) < o) {
                var l = number_format(o, 2, a.decimal, a.separator);
                t.val(l)
            }
            t.parsley(e.formatParsleyDecimalValue()).validate()
        }
    },
    this.updateAccountFeeInput = function () {
        var t = $('[data-algorithm-input="monthlyAccountFee"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeCurrency.glGenericCalculationList[0].minimumAccountFee,
            n = e.activeCurrency.glGenericCalculationList[0].maximumAccountFee,
            o = e.activeCurrency.glGenericCalculationList[0].defaultAccountFee;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-accountFee-min]", e.activeCalculator).text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            if ($("[data-accountFee-max]", e.activeCalculator).text(s), "0" == t.val() || parseInt(t.val()) < o) {
                var l = number_format(o, 2, a.decimal, a.separator);
                t.val(l)
            }
            t.parsley(e.formatParsleyDecimalValue()).validate()
        }
    },
    this.substituteDisclaimerOverdraft = function () {
        var t = $("#disclaimer-d-306").get(0).outerHTML.replace("{flexidebet}", "<span id='disclaimer__flexidebet__desktop'>" + e.flexidebet != void 0 ? number_format(e.flexidebet, 2, a.decimal, a.separator) : "</span>").replace("{monthlyAccountFee}", "<span id='disclaimer__monthlyAccountFee__desktop'>" + e.monthlyAccountFee != void 0 ? number_format(e.monthlyAccountFee, 2, a.decimal, a.separator) : "</span>").replace("{aprc}", "<span id='disclaimer__aprc__desktop'>" + e.aprc != void 0 ? number_format(e.aprc, 2, a.decimal, a.separator) : "</span>").replace("{amountToBeRepayed}", "<span id='disclaimer__amountToBeRepayed__desktop'>" + e.amountToBeRepayed != void 0 ? number_format(e.amountToBeRepayed, 2, a.decimal, a.separator) : "</span>");
        $("#disclaimer-d-306").replaceWith(t);
        var t = $("#disclaimer-m-306").get(0).outerHTML.replace("{flexidebet}", "<span id='disclaimer__flexidebet__mobile'>" + e.flexidebet != void 0 ? number_format(e.flexidebet, 2, a.decimal, a.separator) : "</span>").replace("{monthlyAccountFee}", "<span id='disclaimer__monthlyAccountFee__mobile'>" + e.monthlyAccountFee != void 0 ? number_format(e.monthlyAccountFee, 2, a.decimal, a.separator) : "</span>").replace("{aprc}", "<span id='disclaimer__aprc__mobile'>" + e.aprc != void 0 ? number_format(e.aprc, 2, a.decimal, a.separator) : "</span>").replace("{amountToBeRepayed}", "<span id='disclaimer__amountToBeRepayed__mobile'>" + e.amountToBeRepayed != void 0 ? number_format(e.amountToBeRepayed, 2, a.decimal, a.separator) : "</span>");
        $("#disclaimer-m-306").replaceWith(t)
    },
    this.updateDisclaimerOverdraft = function () {
        $("#disclaimer__aprc__desktop").text(e.aprc.toString()),
        $("#disclaimer__flexidebet__desktop").text(e.flexidebet.toString()),
        $("#disclaimer__monthlyAccountFee__desktop").text(e.monthlyAccountFee.toString()),
        $("#disclaimer__amountToBeRepayed__desktop").text(e.amountToBeRepayed.toString()),
        $("#disclaimer__aprc__mobile").text(e.aprc.toString()),
        $("#disclaimer__flexidebet__mobile").text(e.flexidebet.toString()),
        $("#disclaimer__monthlyAccountFee__mobile").text(e.monthlyAccountFee.toString()),
        $("#disclaimer__amountToBeRepayed__mobile").text(e.amountToBeRepayed.toString())
    },
    this.initFlexidebetInputs = function () {
        var t = $('[data-algorithm-input="flexidebet"]', e.activeCalculator),
        r = $('[data-algorithm-input="flexidebet-slider"]', e.activeCalculator),
        n = $("[name='flexidebet-slider']", e.activeCalculator);
        if (t.length && n.length) {
            var o = e.activeCurrency.glGenericCalculationList[0].minimumAmount,
            i = e.activeCurrency.glGenericCalculationList[0].maxAmountForOnline,
            s = e.activeCurrency.glGenericCalculationList[0].defaultAmount;
            t.attr("data-parsley-min", o);
            var l = number_format(o, 2, a.decimal, a.separator);
            $("[data-flexidebet-min]", e.activeCalculator).text(l),
            t.attr("data-parsley-max", i);
            var c = number_format(i, 2, a.decimal, a.separator);
            if (e.borrowAmount = s, "0" == t.val() || parseInt(t.val()) < s) {
                var u = number_format(s, 2, a.decimal, a.separator);
                t.val(u)
            }
            t.parsley(e.formatParsleyDecimalValue()).validate(),
            $("[data-flexidebet-max]", e.activeCalculator).text(c),
            $("[data-min-flexidebet-unit]", e.activeCalculator).text(l),
            $("[data-max-flexidebet-unit]", e.activeCalculator).text(c),
            n.attr("data-value", s),
            n.attr("value", s),
            n.attr("data-slider-max", i),
            n.attr("data-slider-min", o),
            r.attr("value", s);
            var d = parseInt(n.attr("data-slider-index")),
            m = window.sliderbootstrap[d];
            m.slider("destroy"),
            m.slider({
                tooltip: "show"
            }),
            m.slider("setValue", s),
            n.siblings(".qty").trigger("change"),
            m.on("slide", function () {
                var e = m.slider("getValue");
                r.find(".qty").val(e),
                n.siblings(".qty").trigger("change")
            })
        }
    },
    this.initAccountFeeAccountRange = function () {
        e.activeCurrency.glGenericCalculationList[0].feeRange && (e.feeAccountRange = e.activeCurrency.glGenericCalculationList[0].feeRange)
    },
    this.updateCurrentMonthlyInstallment = function () {
        var t = $('[data-algorithm-input="currentMonthlyInstallment"]', e.activeCalculator);
        if (t.length) {
            var a = e.activeCurrency.glGenericCalculationList[0].defaultCurrentMonthlyInstallment;
            ("0" == t.val() || parseInt(t.val()) < a) && t.val(a),
            t.parsley(e.formatParsleyDecimalValue()).validate()
        }
    },
    this.updateCurrencySelect = function () {
        var t = e.activeMortgage.glConfigurationList,
        a = $('[data-algorithm-input="currency"]', e.activeCalculator),
        r = "";
        a.length && (a.html(""), t.forEach(function (t) {
                t = t.currency,
                t === e.activeCurrency.currency ? r += '<option value="' + t + '" selected>' + t + "</option>" : r += '<option value="' + t + '">' + t + "</option>"
            }), t.length <= 1 && a.attr("disabled", "disabled"), a.append(r))
    },
    this.getTenorInMonths = function () {
        return "YEARS" === e.tenorUnit ? 12 * e.tenorInYears : e.tenorInYears
    },
    this.updateTenorUnit = function () {
        e.tenorUnit = e.activeCurrency.tenorUnit;
        var t = r[e.tenorUnit];
        $("[data-tenor-unit]", e.activeCalculator).text(t)
    },
    this.updateTenorSlider = function () {
        var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
        if (t.length) {
            var a = parseInt(t.attr("data-slider-index")),
            r = window.sliderbootstrap[a],
            n = t.parents(".sliderRange__wrapper"),
            o = e.activeCurrency.glGenericCalculationList[0].amountList[0].tenorScalingFactor;
            t.attr("data-slider-step", o);
            var i = e.activeCurrency.glGenericCalculationList[0].amountList[0].minimumTenor;
            "YEARS" === e.tenorUnit && (i /= 12),
            t.attr("data-slider-min", i),
            n.find("[data-min-tenor]").html(i);
            var s = e.activeCurrency.glGenericCalculationList[0].amountList[0].maximumTenor;
            "YEARS" === e.tenorUnit && (s /= 12),
            t.attr("data-slider-max", s),
            n.find("[data-max-tenor]").html(s),
            r.slider("destroy"),
            r.slider({
                tooltip: "show"
            });
            var l = e.activeCurrency.glGenericCalculationList[0].amountList[0].defaultTenor ? e.activeCurrency.glGenericCalculationList[0].amountList[0].defaultTenor : i;
            "YEARS" === e.tenorUnit && (l /= 12),
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-min", r.attr("data-slider-min")),
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-max", r.attr("data-slider-max")),
            $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).val(l);
            var c = $("[data-min-tenor]", e.activeCalculator);
            c.html(i);
            var u = $("[data-max-tenor]", e.activeCalculator);
            u.html(s),
            "YEARS" === e.tenorUnit && (c.next("[data-tenor-unit]").html(e.getYearsLabel(i)), u.next("[data-tenor-unit]").html(e.getYearsLabel(s))),
            r.slider("setValue", l),
            n.find(".qty").val(l),
            t.siblings(".qty").trigger("change"),
            r.on("slide", function () {
                var e = r.slider("getValue");
                n.find(".qty").val(e),
                t.siblings(".qty").trigger("change")
            })
        }
    },
    this.attachChangeEvents = function () {
        $(document).on("click", ".com15__filterItem", function () {
            var t,
            a = $(this).attr("data-filter"),
            r = $('.com15__filter[data-filter="' + a + '"]');
            t = $(window).width() < 768 ? r.find(".calculator-mobile") : r.find(".calculator-desktop"),
            e.setActiveCalculator(t),
            e.initNavigator(t),
            e.setActiveVariant(),
            e.setActiveMortgage(e.getDefaultMortgage()),
            e.setActiveCurrency(e.getDefaultCurrency()),
            e.setActiveInterestType(e.getDefaultInterestType()),
            e.updateCalculatorInputs(),
            e.updateCalculatorOutputs()
        }),
        $(document).on("change", ".rangeslider", function () {
            var t = $(this).val();
            $(this).parents(".sliderRange__wrapper").find(".qty").val(t),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
            var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
            parseInt(t.attr("data-slider-index"));
            t.slider("setValue", $(this).val(), !0)
        }),
        $(document).on("change focusout keyup", "[data-algorithm-input]", function () {
            e.updateCalculatorOutputs()
        }),
        $(document).on("click", ".js-btnMinus, .js-btnAdd", function () {
            $('[data-algorithm-input="tenorInYears"]').trigger("change")
        }),
        $(document).on("click", ".js-calc-nav-next", function () {
            e.navigator && e.navigator.nextPrev(1, this)
        }),
        $(document).on("click", ".js-calc-nav-prev", function () {
            e.navigator && e.navigator.nextPrev(-1, this)
        }),
        $(document).on("click", ".js-btnMinus, .js-btnAdd", function () {
            $(this).parent().find(".rangeslider.flexidebet").trigger("change")
        }),
        $(document).on("keyup", '[data-algorithm-input="flexidebet"]', function () {
            $(".rangeslider.flexidebet", e.activeCalculator).slider("setValue", parseInt($(this).val()), !1)
        }),
        $(document).on("change", '[name="flexidebet-slider"]', function () {
            var t = $('[data-algorithm-input="flexidebet"]', e.activeCalculator),
            a = parseInt($(this).attr("data-value")).toFixed(2).replaceAll(".", ",");
            t.val(a),
            e.updateCalculatorOutputs()
        }),
        $(document).on("keyup", '[data-algorithm-input="monthlyAccountFee"]', function () {
            e.updateMinAmountOverdraft()
        })
    },
    this.updateMinAmountOverdraft = function () {
        var t = e.monthlyAccountFee.toFixed(2);
        this.feeAccountRange.length && t && (t = parseFloat(t), this.feeAccountRange.forEach(function (a) {
                var r = parseFloat(a.minimumRangeFee),
                n = parseFloat(a.maximumRangeFee),
                o = parseInt(a.minimumFlexidebetAmount);
                if (r <= t && t <= n) {
                    var i = $("[name='flexidebet-slider']", e.activeCalculator),
                    s = $('[data-algorithm-input="flexidebet"]', e.activeCalculator),
                    l = parseInt(i.attr("data-slider-index")),
                    c = window.sliderbootstrap[l],
                    u = parseFloat($('[data-algorithm-input="flexidebet"]:visible').val()),
                    d = $('[data-algorithm-input="flexidebet"]');
                    u < o && (d.val(o.toFixed(2).replaceAll(".", ",")), c.slider("setValue", o)),
                    s.attr("data-parsley-min", o),
                    $("[data-flexidebet-min]", e.activeCalculator).text(o),
                    c.slider("setAttribute", "min", o),
                    $("[data-min-flexidebet-unit]", e.activeCalculator).text(o),
                    c.slider("refresh"),
                    c.slider("setValue", parseInt(e.flexidebet)),
                    s.parsley().validate()
                }
            }))
    },
    this.setActiveInterestType = function (t) {
        for (var a = e.activeCurrency.glGenericCalculationList[0].interest, r = a.length, n = 0; n < r; n++)
            if (a[n].interestCode === t) {
                e.activeInterestType = a[n],
                e.interestRateType = t;
                break
            }
    },
    this.getDefaultInterestType = function () {
        for (var t = e.activeCurrency.glGenericCalculationList[0].interest, a = t.length, r = "", n = 0; n < a; n++)
            if (!0 === t[n].default) {
                r = t[n].interestCode;
                break
            }
        return r
    },
    this.getTenorInMonthsTantoVolevoUsarla = function () {
        e.tenorUnit,
        e.tenorInYears
    },
    this.findInterestFromAmount = function (t, a) {
        var r = e.activeCurrency.glGenericCalculationList[a].interest;
        if (r) {
            return r.find(function (e) {
                var a = e.amountRange.min,
                r = e.amountRange.max;
                return t >= a && t <= r
            })
        }
    },
    this.getInterestValueFromTenor = function (e, t) {
        if (e) {
            var a = e.periods,
            r = a.find(function (e) {
                return t <= e.monthDuration
            });
            if (r)
                return r.interestRate
        }
    },
    this.checkErrors = function () {
        var t = $(".parsley-errors-list li", e.activeCalculator).length;
        e.errorState = t > 0
    },
    this.calculateResults = function () {
        if (!0 !== e.errorState) {
            var t = e.activeVariant.productCategory;
            if ("LOAN_FOR_EVERYTHING" !== t && "OVERDRAFT" !== t) {
                var a = e.interestRate,
                r = 0;
                if (a) {
                    if ("HOUSING_MORTGAGE" === t || "REFINANCING_LOAN" === t)
                        r = 12 * e.tenorInYears, e.monthlyInstallment = -e.calculatePMT(a / 100 / 12, r, e.borrowAmount).toFixed(2), e.monthlySavings = e.currentMonthlyInstallment - e.monthlyInstallment, e.totalSavings = e.monthlySavings * r;
                    else if ("MORTGAGE_FROM_INSTALLMENT" === t)
                        e.mortgageAmount = Math.round((1 - Math.pow(1 + a / 100 * 30 / 360, 12 * -e.tenorInYears)) / (a / 100 * 30 / 360) * e.currentMonthlyInstallment), e.monthlyInstallment = e.currentMonthlyInstallment, r = 12 * e.tenorInYears, e.borrowAmount = e.mortgageAmount;
                    else if ("DEFERRED_PAYMENTS_MORTGAGE" === t) {
                        var n = e.deferredRepayments,
                        o = e.remainingRepayments,
                        i = e.borrowAmount,
                        s = e.calculatePMT(a / 100 / 12, o, -i);
                        e.overpayBeforeDeferral = Math.ceil(s);
                        var l = n * e.calculateIPMT(a / 100 / 12, 1, o, -i),
                        c = e.calculatePMT(a / 100 / 12, o - n, -i) + l / (o - n);
                        e.overpayAfterDeferral = Math.ceil(c),
                        e.overpay = Math.ceil(l)
                    }
                    e.costs = (e.monthlyInstallment * r + e.fee + e.feeForDepositLien).toFixed(2);
                    var u,
                    d,
                    m;
                    u = e.activeCurrency.glGenericCalculationList[0].oneTimeFee,
                    d = e.activeCurrency.glGenericCalculationList[0].monthlyInsurance,
                    m = e.activeCurrency.glGenericCalculationList[0].insuranceFeeYear,
                    "HOUSING_MORTGAGE" !== t && "REFINANCING_LOAN" !== t && "MORTGAGE_FROM_INSTALLMENT" !== t || (e.monthlyInsuranceLoan = (704e-6 * e.borrowAmount).toFixed(2), d = parseFloat(d) + parseFloat(e.monthlyInsuranceLoan), e.costs = (e.monthlyInstallment * r + e.fee + u + e.tenorInYears * m + m + e.loanNumberOfInstallments * d).toFixed(2)),
                    e.aprc = e.calculateRPMN(e.borrowAmount, e.getTenorInMonths(), u, d, m, a, void 0, void 0),
                    e.aprc = (100 * e.aprc).toFixed(2)
                }
            } else if ("LOAN_FOR_EVERYTHING" === t) {
                var p = e.borrowAmount,
                h = e.tenorInYears,
                g = p * e.fee;
                e.fee = g;
                var f = e.findInterestFromAmount(p, 1),
                v = e.getInterestValueFromTenor(f, e.tenorInYears);
                e.monthlyInstallment = round(e.calculatePMT(v / 1200, h, -p), 2);
                var y = e.monthlyInstallment * h + g;
                f = e.findInterestFromAmount(p, 0);
                var b = e.getInterestValueFromTenor(f, e.tenorInYears);
                e.interestRateNoBenefit = b;
                var $ = round(e.calculatePMT(b / 1200, h, -p), 2),
                C = $ * h + g;
                e.savings = C - y,
                e.costs = y.toFixed(2),
                e.aprc = e.calculateLoanRPMN(p, h, g, v, void 0, void 0),
                e.aprcNoBenefit = e.calculateLoanRPMN(p, h, g, b, void 0, void 0),
                e.costsNoBenefit = C.toFixed(2),
                e.aprc = (100 * e.aprc).toFixed(2),
                e.aprcNoBenefit = (100 * e.aprcNoBenefit).toFixed(2),
                e.monthlyInstallmentNoBenefit = $,
                e.interestRate = v
            } else if ("OVERDRAFT" === t) {
                var I = parseFloat(e.flexidebet);
                e.interestRate = parseFloat(e.activeCurrency.glGenericCalculationList[0].interest[0].periods[0].interestRate);
                var w = I * e.interestRate / 360 * 30 / 100;
                w = Math.floor(parseFloat((100 * w).toFixed(2))) / 100,
                e.monthlyInterestPayment = w.toFixed(2);
                var S = I + 3 * e.monthlyAccountFee + 3 * w;
                S = Math.floor(parseFloat((100 * S).toFixed(2))) / 100,
                e.amountToBeRepayed = S.toFixed(2),
                e.aprc = e.calculateOverdraftRPMN(I, parseFloat(w), parseFloat(e.monthlyAccountFee)),
                e.flexidebetOverdraft = e.flexidebet,
                e.monthlyAccountFeeOverdraft = e.monthlyAccountFee,
                e.updateDisclaimerOverdraft()
            }
        }
    },
    this.calculateOverdraftRPMN = function (e, t, a) {
        var r = Math.pow((e + (t + a)) / e, 12) - 1;
        return r = (100 * r).toFixed(2)
    },
    this.calculateLoanRPMN = function (t, a, r, n, o, i) {
        var o = void 0 !== o ? o : new Date;
        e.drawDownDate = e.formatDate(o),
        void 0 === i && (i = new Date(o), i.setDate(i.getDate() + 15), e.firstInstallmentDate = e.formatDate(i));
        var s = Math.pow(1 + n / 1200, a),
        l = n / 1200 * t * s / (s - 1);
        l = Math.round(100 * l) / 100;
        var c = new Date(i);
        c = c.setFullYear(c.getFullYear() - 1);
        for (var u = Math.round((i - c) / 864e5), d = (i - o) / 1e3 / 60 / 60 / 24 / u, m = 2, p = m, h = 0; Math.abs(p) > 1e-7 && h < 128; ) {
            for (var g = 0, f = 0, v = 0; v <= a; v += 1) {
                var y = 0 !== v ? l : r - t;
                g = 0 == v ? 0 : d + (v - 1) / 12,
                f += y / Math.pow(1 + m, g)
            }
            p /= 2,
            m += p * f / Math.abs(f),
            ++h
        }
        return m
    },
    this.calculateRPMN = function (t, a, r, n, o, i, s, l) {
        var s = void 0 !== s ? s : new Date;
        e.drawDownDate = e.formatDate(s),
        s.setHours(0, 0, 0, 0),
        void 0 === l && (l = new Date(s.getFullYear(), s.getMonth() + 1, 5), e.firstInstallmentDate = e.formatDate(l));
        var c = Math.pow(1 + i / 1200, a),
        u = i / 1200 * t * c / (c - 1);
        u = Math.round(100 * u) / 100;
        var d = new Date(l);
        d = d.setFullYear(d.getFullYear() - 1);
        for (var m = Math.round((l - d) / 864e5), p = (l - s) / 1e3 / 60 / 60 / 24 / m, h = 2, g = h, f = 0; Math.abs(g) > 1e-7 && f < 128; ) {
            for (var v = 0, y = 0, b = 0; b <= a; b += 1) {
                var $ = 0 !== b ? u + n : r + o - t;
                1 == (!(b % 12) && !!b) && ($ += o),
                v = 0 == b ? 0 : (b - 1) / 12 + p,
                y += $ / Math.pow(1 + h, v)
            }
            g /= 2,
            h += g * y / Math.abs(y),
            ++f
        }
        return h
    },
    this.initInterestPeriodSelect = function () {
        var t = e.activeInterestType.periods,
        a = $(".js-interest-period", e.activeCalculator);
        a.html(""),
        a.length && t.forEach(function (t) {
            var r = e.getInterestPeriodLabel(t.monthDuration),
            n = $('<option value="' + t.interestRate + '">' + r + "</option>");
            t.default && (n.attr("selected", "selected"), e.activeInterestPeriod = t),
            a.append(n)
        })
    },
    this.getInterestPeriodLabel = function (t) {
        return t / 12 + " " + e.getYearsLabel(t / 12)
    },
    this.initInterestRateInput = function () {
        var t = $('[data-algorithm-input="interestRate"]', e.activeCalculator);
        if (t.length) {
            var r = e.activeCurrency.glGenericCalculationList[0].minInterestRate,
            n = e.activeCurrency.glGenericCalculationList[0].maxInterestRate,
            o = e.activeCurrency.glGenericCalculationList[0].defaultInterestRate;
            t.attr("data-parsley-min", r);
            var i = number_format(r, 2, a.decimal, a.separator);
            $("[data-interest-min]", e.activeCalculator).text(i),
            t.attr("data-parsley-max", n);
            var s = number_format(n, 2, a.decimal, a.separator);
            if ($("[data-interest-max]", e.activeCalculator).text(s), "0" == t.val() || parseInt(t.val()) < o) {
                var l = number_format(o, 2, a.decimal, a.separator);
                t.val(l)
            }
            t.parsley(e.formatParsleyDecimalValue()).validate()
        }
    },
    this.initRemainingRepaymentsInput = function () {
        var t = $('[data-algorithm-input="remainingRepayments"]', e.activeCalculator);
        if (t.length) {
            var a = e.activeCurrency.glGenericCalculationList[0].minRepaymentsUntilEndOfMortgage,
            r = e.activeCurrency.glGenericCalculationList[0].deafultRepaymentsUntilEndOfMortgage;
            t.attr("data-parsley-min", a);
            var n = a;
            $("[data-repayments-min]", e.activeCalculator).text(n),
            ("0" == t.val() || parseInt(t.val()) < r) && t.val(r),
            t.parsley().validate()
        }
    },
    this.initDeferredRepayments = function () {
        var t = $('[data-algorithm-input="deferredRepayments"]', e.activeCalculator);
        if (t.length) {
            var a = e.activeCurrency.glGenericCalculationList[0].minRequiredDeferredRepayments,
            r = e.activeCurrency.glGenericCalculationList[0].maxRequiredDeferredRepayments,
            n = e.activeCurrency.glGenericCalculationList[0].defaultRequiredDeferredRepayments;
            t.attr("data-parsley-min", a);
            var o = a;
            $("[data-deferred-repayments-min]", e.activeCalculator).text(o),
            t.attr("data-parsley-max", r);
            var i = r;
            $("[data-deferred-repayments-max]", e.activeCalculator).text(i),
            ("0" == t.val() || parseInt(t.val()) < n) && t.val(n),
            t.parsley().validate()
        }
    },
    this.initFee = function () {
        e.activeCurrency.glGenericCalculationList[0].fee && (e.fee = e.activeCurrency.glGenericCalculationList[0].fee)
    },
    this.mapSliders = function () {
        if (window.sliderbootstrap) {
            window.sliderbootstrap.forEach(function (e, t) {
                e.attr("data-slider-index", t)
            })
        }
    },
    this.formatInputDecimal = function () {
        var e;
        e = $("[data-format-decimal]"),
        e.length && e.each(function () {
            new Cleave(this, {
                delimiter: "",
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 2,
                numeralThousandsGroupStyle: "thousand"
            })
        }),
        e = $("[data-format-no-decimal]"),
        e.length && e.each(function () {
            new Cleave(this, {
                delimiter: "",
                numeral: !0,
                numeralDecimalMark: a.decimal,
                numeralDecimalScale: 0,
                numeralThousandsGroupStyle: "thousand"
            })
        })
    },
    this.formatParsleyDecimalValue = function () {
        return {
            value: function (e) {
                return $(e.element).val().replaceAll(a.separator, "").replace(a.decimal, ".")
            }
        }
    },
    e.calculatePMT = function (e, t, a, r, n) {
        var o,
        i;
        return r || (r = 0),
        n || (n = 0),
        0 === e ?  - (a + r) / t : (i = Math.pow(1 + e, t), o = -e * (a * i + r) / (i - 1), 1 === n && (o /= 1 + e), o)
    },
    e.calculateIPMT = function (t, a, r, n, o, i) {
        if (o || (o = 0), i || (i = 0), a < 1)
            return NaN;
        if (1 === i && 1 === a)
            return 0;
        var s = e.calculatePMT(t, r, n, o, i),
        l = e.FV(t, a - 1, s, n, i) * t;
        return 1 === i && a > 1 && (l /= 1 + t),
        l
    },
    this.FV = function (e, t, a, r, n) {
        var o,
        i = Math.pow(1 + e, t);
        return o = e ? a * (1 + e * n) * (1 - i) / e - r * i : -1 * (r + a * t),
        o.toFixed(2)
    },
    this.calculateRate = function (e, t, a, r, n, o) {
        null == o && (o = .01),
        null == r && (r = 0),
        null == n && (n = 0);
        var i,
        s,
        l,
        c,
        u = 0,
        d = 0,
        m = 0,
        p = o;
        for (Math.abs(p) < 1e-7 ? i = a * (1 + e * p) + t * (1 + p * n) * e + r : (d = Math.exp(e * Math.log(1 + p)), i = a * d + t * (1 / p + n) * (d - 1) + r), s = a + t * e + r, l = a * d + t * (1 / p + n) * (d - 1) + r, m = c = 0, u = p; Math.abs(s - l) > 1e-7 && m < 128; )
            p = (l * c - s * u) / (l - s), c = u, u = p, Math.abs(p) < 1e-7 ? i = a * (1 + e * p) + t * (1 + p * n) * e + r : (d = Math.exp(e * Math.log(1 + p)), i = a * d + t * (1 / p + n) * (d - 1) + r), s = l, l = i, ++m;
        return p
    },
    this.updateDataLayer = function () {
        var t = "",
        a = e.activeVariant.productCategory;
        "HOUSING_MORTGAGE" === a ? (t = '{ "event": "housing_loan_calculator", "eventCategory": "loan", "eventAction": "[ACTION]", "eventLabel": "[CTA]", "eventName": "housing_loan calculator", "loan_amount": [LOAN_AMOUNT], "currency_code": "[CURRENCY]", "interest_type": "[TYPE]", "loan_duration": [DURATION], "monthly_installment": [INSTALLMENT], "interest_rate": "[RATE]", "fee": [FEE], "housing_loan": "[HOUSING_VALUE]" }',
            t = t.replace("[HOUSING_VALUE]", "Start from amount")) : "MORTGAGE_FROM_INSTALLMENT" === a ? (t = '{ "event": "housing_loan_calculator", "eventCategory": "loan", "eventAction": "[ACTION]", "eventLabel": "[CTA]", "eventName": "housing_loan calculator", "loan_amount": [LOAN_AMOUNT], "currency_code": "[CURRENCY]", "interest_type": "[TYPE]", "loan_duration": [DURATION], "monthly_installment": [INSTALLMENT], "interest_rate": "[RATE]", "fee": [FEE], "housing_loan": "[HOUSING_VALUE]" }', t = t.replace("[HOUSING_VALUE]", "Start from installment")) : t = '{ "event": "loan_calculator", "eventCategory": "loan", "eventAction": "[ACTION]", "eventLabel": "[CTA]", "eventName": "loan calculator", "loan_amount": [LOAN_AMOUNT], "currency_code": "[CURRENCY]", "interest_type": "[TYPE]", "loan_duration": [DURATION], "with_mortgage": "[WITH_MORTGAGE]", "salary_transfer": "[SALARY_TRANSFER]", "monthly_installment": [INSTALLMENT], "amount_to_repay": [REPAY_AMOUNT], "tenor": [TENOR], "interest_rate": "[RATE]", "aprc": [APRC], "approval_cost": [COST], "fee": [FEE] }',
        t = t.replace("[LOAN_AMOUNT]", e.borrowAmount.toFixed(2)).replace("[ACTION]", a).replace("[CURRENCY]", e.activeCurrency.currency).replace("[TYPE]", e.interestType).replace("[DURATION]", e.tenorInYears).replace("[TENOR]", e.tenorInYears).replace("[WITH_MORTGAGE]", "NO").replace("[SALARY_TRANSFER]", "NO").replace("[INSTALLMENT]", e.monthlyInstallment.toFixed(2)).replace("[REPAY_AMOUNT]", e.costs).replace("[RATE]", e.interestRate).replace("[APRC]", e.aprc).replace("[COST]", 0).replace("[FEE]", e.fee),
        e.dataLayer = t
    },
    this.attachDataLayerClickEvent = function () {
        $(document).on("click", "[data-layer-vub-calculator]", function (t) {
            var a = e.dataLayer;
            a = $(t.target).hasClass("js-callmecta") ? a.replace("[CTA]", "Call Me Back") : a.replace("[CTA]", "Get It Now"),
            a = JSON.parse(a),
            window.dataLayer.push(a)
        })
    },
    this.getYearsLabel = function (e) {
        return "sk" === document.documentElement.lang ? 1 === e ? r.YEAR : 3 === e || 4 === e ? r.YEARS34 : r.YEARS : 1 === e ? r.YEAR : r.YEARS
    },
    this.formatDate = function (e) {
        var t = new Date(e),
        a = "" + (t.getMonth() + 1),
        r = "" + t.getDate(),
        n = t.getFullYear();
        return a.length < 2 && (a = "0" + a),
        r.length < 2 && (r = "0" + r),
        [r, a, n].join(".")
    }
}, Intesa.LoanCalculatorVUB.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.loan_calculator_vub || (window.intesa.loan_calculator_vub = new Intesa.LoanCalculatorVUB),
    window.intesa.loan_calculator_vub
};
var Intesa = Intesa || {};
if (Intesa.LocalStorageImplementations = function () {
    var e = this;
    this.init = function () {
        console.log("LocalStorageImplementations"),
        e.getSourceUrl()
    },
    this.getSourceUrl = function () {
        if ($("#sourceUrlPage").length > 0) {
            var t = $("#sourceUrlPage").val();
            localStorage.setItem("sourceUrlPage", t),
            $("[name='sourceUrl']").length > 0 && e.setSourceUrl(t)
        } else {
            var a = null != localStorage.getItem("sourceUrlPage") ? localStorage.getItem("sourceUrlPage") : "";
            e.setSourceUrl(a)
        }
    },
    this.setSourceUrl = function (e) {
        $("[name='sourceUrl']").each(function () {
            $(this).val(e)
        })
    }
}, Intesa.LocalStorageImplementations.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.LocalStorageImplementations || (window.intesa.LocalStorageImplementations = new Intesa.LocalStorageImplementations),
    window.intesa.LocalStorageImplementations
}, function (e, t) {
    var a = function () {
        t(e.lazySizes),
        e.removeEventListener("lazyunveilread", a, !0)
    };
    t = t.bind(null, e, e.document),
    "object" == typeof module && module.exports ? t(require("lazysizes")) : "function" == typeof define && define.amd ? define(["lazysizes"], t) : e.lazySizes ? a() : e.addEventListener("lazyunveilread", a, !0)
}
    (window, function (e, t, a) {
        "use strict";
        function r(e, a, r) {
            var n,
            o;
            i[e] || (n = t.createElement(a ? "link" : "script"), o = t.getElementsByTagName("script")[0], a ? (n.rel = "stylesheet", n.href = e) : (n.onload = function () {
                    n.onerror = null,
                    n.onload = null,
                    r()
                }, n.onerror = n.onload, n.src = e), i[e] = !0, i[n.src || n.href] = !0, o.parentNode.insertBefore(n, o))
        }
        var n,
        o,
        i = {};
        t.addEventListener && (n = function (e, a) {
            var r = t.createElement("img");
            r.onload = function () {
                r.onload = null,
                r.onerror = null,
                r = null,
                a()
            },
            r.onerror = r.onload,
            r.src = e,
            r && r.complete && r.onload && r.onload()
        }, addEventListener("lazybeforeunveil", function (e) {
                var t,
                i,
                s;
                if (e.detail.instance == a && !e.defaultPrevented) {
                    var l = e.target;
                    if ("none" == l.preload && (l.preload = l.getAttribute("data-preload") || "auto"), null != l.getAttribute("data-autoplay"))
                        if (l.getAttribute("data-expand") && !l.autoplay)
                            try {
                                l.play()
                            } catch (e) {}
                        else
                            requestAnimationFrame(function () {
                                l.setAttribute("data-expand", "-10"),
                                a.aC(l, a.cfg.lazyClass)
                            });
                    (t = l.getAttribute("data-link")) && r(t, !0),
                    (t = l.getAttribute("data-script")) && (e.detail.firesLoad = !0, r(t, null, function () {
                            e.detail.firesLoad = !1,
                            a.fire(l, "_lazyloaded", {}, !0, !0)
                        })),
                    (t = l.getAttribute("data-require")) && (a.cfg.requireJs ? a.cfg.requireJs([t]) : r(t)),
                    (i = l.getAttribute("data-bg")) && (e.detail.firesLoad = !0, n(i, function () {
                            l.style.backgroundImage = "url(" + (o.test(i) ? JSON.stringify(i) : i) + ")",
                            e.detail.firesLoad = !1,
                            a.fire(l, "_lazyloaded", {}, !0, !0)
                        })),
                    (s = l.getAttribute("data-poster")) && (e.detail.firesLoad = !0, n(s, function () {
                            l.poster = s,
                            e.detail.firesLoad = !1,
                            a.fire(l, "_lazyloaded", {}, !0, !0)
                        }))
                }
            }, !(o = /\(|\)|\s|'/)))
    }), "BIB" == $("html").attr("data-bank")) {
    $(document).ready(function () {
        var e = document.querySelectorAll(".com1Slider__itemDate time");
        -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
        e.forEach(function (e) {
            var t = e.innerText;
            t.indexOf("Јан") > -1 ? (newmese = t.replace("Јан", "Jan"), e.innerText = newmese) : t.indexOf("Феб") > -1 ? (newmese = t.replace("Феб", "Feb"), e.innerText = newmese) : t.indexOf("Мар") > -1 ? (newmese = t.replace("Мар", "Mar "), e.innerText = newmese) : t.indexOf("Апр") > -1 ? (newmese = t.replace("Апр", "Apr"), e.innerText = newmese) : t.indexOf("Мај") > -1 ? (newmese = t.replace("Мај", "Maj"), e.innerText = newmese) : t.indexOf("Јун") > -1 ? (newmese = t.replace("Јун", "Jun"), e.innerText = newmese) : t.indexOf("Јул") > -1 ? (newmese = t.replace("Јул", "Jul"), e.innerText = newmese) : t.indexOf("Авг") > -1 ? (newmese = t.replace("Авг", "Avg"), e.innerText = newmese) : t.indexOf("Сеп") > -1 ? (newmese = t.replace("Сеп", "Sep"), e.innerText = newmese) : t.indexOf("Okt") > -1 ? (newmese = t.replace("Okt", "Okt"), e.innerText = newmese) : t.indexOf("Нов") > -1 ? (newmese = t.replace("Нов", "Nov"), e.innerText = newmese) : t.indexOf("Дец") > -1 && (newmese = t.replace("Дец", "Dec"), e.innerText = newmese)
        })
    });
    var interval,
    count = 0;
    $(document).ready(function () {
        interval = setInterval(timer, 1e3)
    }),
    $(document).ready(function () {
        interval = setInterval(changeMonth, 100)
    });
    var changeMonth = function () {
        var e = document.querySelectorAll(".datepicker-month");
        -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
        e.length > 0 && $(e).each(function (e, t) {
            if (void 0 != $(t)[0])
                for (var a = 0; a < $(t)[0].childNodes.length; a++) {
                    var r = $(t)[0].childNodes[a].textContent;
                    r.indexOf("јануар") > -1 ? (newmeseL = r.replace("јануар", "Januar"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("фебруар") > -1 ? (newmeseL = r.replace("фебруар", "Februar"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("март") > -1 ? (newmeseL = r.replace("март", "Mart"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("април") > -1 ? (newmeseL = r.replace("април", "April"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("мај") > -1 ? (newmeseL = r.replace("мај", "Maj"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("јун") > -1 ? (newmeseL = r.replace("јун", "Jun"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("јул") > -1 ? (newmeseL = r.replace("јул", "Jul"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("август") > -1 ? (newmeseL = r.replace("август", "Avgust"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("септембар") > -1 ? (newmeseL = r.replace("септембар", "Septembar"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("октобар") > -1 ? (newmeseL = r.replace("октобар", "Oktobar"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("новембар") > -1 ? (newmeseL = r.replace("новембар", "Novembar"), $(t)[0].childNodes[a].textContent = newmeseL) : r.indexOf("децембар") > -1 && (newmeseL = r.replace("децембар", "Decembar"), $(t)[0].childNodes[a].textContent = newmeseL)
                }
        })
    };
    $(document).ready(function () {
        interval = setTimeout(changeMonthOfMediaRelease, 1e3)
    });
    var changeMesi = function () {
        var e = document.querySelectorAll(".datepicker-month");
        -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
        e.length != count && (e.forEach(function (e) {
                var t = e.innerText;
                t.indexOf("јануар") > -1 ? (newmeseL = t.replace("јануар", "Januar"), e.innerText = newmeseL) : t.indexOf("фебруар") > -1 ? (newmeseL = t.replace("фебруар", "Februar"), e.innerText = newmeseL) : t.indexOf("март") > -1 ? (newmeseL = t.replace("март", "Mart"), e.innerText = newmeseL) : t.indexOf("април") > -1 ? (newmeseL = t.replace("април", "April"), e.innerText = newmeseL) : t.indexOf("мај") > -1 ? (newmeseL = t.replace("мај", "Maj"), e.innerText = newmeseL) : t.indexOf("јун") > -1 ? (newmeseL = t.replace("јун", "Jun"), e.innerText = newmeseL) : t.indexOf("јул") > -1 ? (newmeseL = t.replace("јул", "Jul"), e.innerText = newmeseL) : t.indexOf("август") > -1 ? (newmeseL = t.replace("август", "Avgust"), e.innerText = newmeseL) : t.indexOf("септембар") > -1 ? (newmeseL = t.replace("септембар", "Septembar"), e.innerText = newmeseL) : t.indexOf("октобар") > -1 ? (newmeseL = t.replace("октобар", "Oktobar"), e.innerText = newmeseL) : t.indexOf("новембар") > -1 ? (newmeseL = t.replace("новембар", "Novembar"), e.innerText = newmeseL) : t.indexOf("децембар") > -1 && (newmeseL = t.replace("децембар", "Decembar"), e.innerText = newmeseL)
            }), clearInterval(interval), count = e.length)
    };
    $(".datepicker-month-prev.pull-left.enabled").on("click", function (e) {
        interval = setInterval(changeMesi, 100)
    }),
    $(document).ready(function () {
        interval = setInterval(mesiCicleFunc, 100)
    });
    var mesiCicleFunc = function () {
        var e = document.querySelectorAll(".month.selectable");
        -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
        e.length > 0 && $(e).each(function (e, t) {
            if (void 0 != $(t)[0])
                for (var a = 0; a < $(t)[0].childNodes.length; a++) {
                    var r = $(t)[0].childNodes[a].textContent;
                    r.indexOf("јан") > -1 ? (newmese = r.replace("јан", "Jan"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("феб") > -1 ? (newmese = r.replace("феб", "Feb"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("мар") > -1 ? (newmese = r.replace("мар", "Mar"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("апр") > -1 ? (newmese = r.replace("апр", "Apr"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("мај") > -1 ? (newmese = r.replace("мај", "Maj"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("јун") > -1 ? (newmese = r.replace("јун", "Jun"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("јул") > -1 ? (newmese = r.replace("јул", "Jul"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("авг") > -1 ? (newmese = r.replace("авг", "Avg"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("сеп") > -1 ? (newmese = r.replace("сеп", "Sep"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("окт") > -1 ? (newmese = r.replace("окт", "Okt"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("нов") > -1 ? (newmese = r.replace("нов", "Nov"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("дец") > -1 && (newmese = r.replace("дец", "Dec"), $(t)[0].childNodes[a].textContent = newmese)
                }
        })
    };
    clearInterval(interval),
    $(".datepicker-month").on("click", function (e) {
        interval = setInterval(mesiCicleFunc, 100)
    }),
    $(document).ready(function () {
        interval = setInterval(mesiCicleUnselectFunc, 100)
    });
    var mesiCicleUnselectFunc = function () {
        var e = document.querySelectorAll(".month.unselectable");
        -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
        e.length > 0 && $(e).each(function (e, t) {
            if (void 0 != $(t)[0])
                for (var a = 0; a < $(t)[0].childNodes.length; a++) {
                    var r = $(t)[0].childNodes[a].textContent;
                    r.indexOf("јан") > -1 ? (newmese = r.replace("јан", "Jan"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("феб") > -1 ? (newmese = r.replace("феб", "Feb"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("мар") > -1 ? (newmese = r.replace("мар", "Mar"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("апр") > -1 ? (newmese = r.replace("апр", "Apr"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("мај") > -1 ? (newmese = r.replace("мај", "Maj"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("јун") > -1 ? (newmese = r.replace("јун", "Jun"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("јул") > -1 ? (newmese = r.replace("јул", "Jul"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("авг") > -1 ? (newmese = r.replace("авг", "Avg"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("сеп") > -1 ? (newmese = r.replace("сеп", "Sep"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("окт") > -1 ? (newmese = r.replace("окт", "Okt"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("нов") > -1 ? (newmese = r.replace("нов", "Nov"), $(t)[0].childNodes[a].textContent = newmese) : r.indexOf("дец") > -1 && (newmese = r.replace("дец", "Dec"), $(t)[0].childNodes[a].textContent = newmese)
                }
        })
    };
    clearInterval(interval),
    $(".datepicker-month").on("click", function (e) {
        interval = setInterval(mesiCicleUnselectFunc, 100)
    }),
    $(document).ready(function () {
        interval = setInterval(Days, 1e3)
    })
}
if ("ISPBIH" == $("html").attr("data-bank")) {
    var interval;
    $(document).ready(function () {
        interval = setTimeout(changeMonthOfMediaReleaseISPBIH, 1e3),
        setTimeout(function () {
            $(".ispbih .com15__filterInner").on("click", function () {
                interval = setTimeout(changeMonthOfMediaReleaseISPBIH, 100)
            })
        }, 1e3)
    })
}
var Intesa = Intesa || {};
Intesa.MortgageCalculator = function () {
    var e = this,
    t = !0,
    a = !0,
    r = JSON.parse($("#genericSettings").val()),
    n = "\\" + r.separator;
    "\\&nbsp;" == n && (n = "\\ ");
    var o = "\\" + r.decimal;
    "\\&nbsp;" == o && (o = "\\ "),
    this.activeCalculator = null,
    this.init = function () {
        $("section.com16-3").length && (e.setVisibleCalculatorAsActive(), e.changeCallback(), $(document).on("change focusin focusout", '*[data-algoritmInput="borrowAmount"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("keyup", 'input[data-algorithm-input="loanDuration"]', function () {
                var t = $(".rangeslider.rangeslider--2", e.activeCalculator);
                parseInt(t.attr("data-slider-index"));
                t.slider("setValue", $(this).val(), !0),
                $('*[data-algoritmInput="tenor"]', e.activeCalculator).trigger("change")
            }), $(document).on("change", '*[data-algoritmInput="tenor"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("click", '*[data-algoritmInput="salary"]', function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $('*[data-algoritmInput="calculateBtn"]').click(function (t) {
                t.preventDefault(),
                e.changeCallback()
            }), $(document).on("click", ".com15__filterItem", function () {
                var t = $(this).attr("data-filter"),
                a = "desktop";
                if ($(window).width() < 768)
                    var a = "mobile";
                var r = $('.com15__filter[data-filter="' + t + '"]').find("[data-calculator=" + a + "]");
                e.setActiveCalculator(r),
                e.changeCallback()
            }), $(document).on("click", ".js-btnMinus", function (t) {
                $('*[data-algoritmInput="tenor"]', e.activeCalculator).trigger("change")
            }), $(document).on("click", ".js-btnAdd", function (t) {
                $('*[data-algoritmInput="tenor"]', e.activeCalculator).trigger("change")
            }), $(".com16__tabMenu").click(function () {
                e.fillOutputElements()
            }), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-min", e.tenor.data("sliderMin")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).attr("data-parsley-max", e.tenor.data("sliderMax")), $('input[data-algorithm-input="loanDuration"]', e.activeCalculator).val(e.tenor.val()))
    },
    this.setActiveCalculator = function (t) {
        e.activeCalculator = t
    },
    this.setVisibleCalculatorAsActive = function () {
        var t = $(window).width(),
        a = "desktop";
        if (t < 768)
            var a = "mobile";
        var r = $("[data-calculator=" + a + "]"),
        n = !1;
        r.each(function () {
            $(this).is(":visible") && (e.activeCalculator = $(this), n = !0)
        }),
        n || (e.activeCalculator = $("[data-calculator=" + a + "]").first())
    },
    this.changeCallback = function () {
        Intesa.CalculatorNavigation.getInstance(e.activeCalculator).init(),
        $("*[data-generate-cookie]").attr("data-enabled", "false"),
        e.getInputs(),
        e.borrowAmount.hasClass("parsley-error") || (e.initOutputElements(), e.calculateMortgage(), e.fillOutputElements(), $("*[data-generate-cookie]").removeAttr("data-enabled"))
    },
    this.calculateMortgage = function () {
        e.interestRateResultPromo = number_format(e.salaryInterestRateValue, r.decimals_number, r.decimal_number, r.separator_number),
        e.interestRateResultStandard = number_format(e.standardInterestRateValue, r.decimals_number, r.decimal_number, r.separator_number),
        e.tenorResultPromo = e.tenorResultStandard = number_format(e.tenorValue, "0", r.decimal_number, r.separator_number),
        console.log("---------------------"),
        console.log("FORMULA"),
        console.log("---------------------"),
        e.scaledInterestRateValuePromo = e.calculateScaledInterestRate(e.salaryInterestRateValue),
        e.scaledInterestRateValueStandard = e.calculateScaledInterestRate(e.standardInterestRateValue),
        console.log("Scaled Interest Rate Value Promo: " + e.scaledInterestRateValuePromo + " - " + typeof e.scaledInterestRateValuePromo),
        console.log("Scaled Interest Rate Value Sandard: " + e.scaledInterestRateValueStandard + " - " + typeof e.scaledInterestRateValueStandard),
        e.borrowAmountValue >= e.borrowAmountMin && e.borrowAmountValue <= e.borrowAmountMax ? (e.loanAmountResultPromo = e.loanAmountResultStandard = number_format(e.borrowAmountValue, r.decimals, r.decimal, r.separator), e.monthlyInstallmentValuePromo = e.calculateMonthlyInstallment(e.scaledInterestRateValuePromo), e.monthlyInstallmentValueStandard = e.calculateMonthlyInstallment(e.scaledInterestRateValueStandard), console.log("Monthly Installment Value Promo: " + e.monthlyInstallmentValuePromo + " - " + typeof e.monthlyInstallmentValuePromo), console.log("Monthly Installment Value Standard: " + e.monthlyInstallmentValueStandard + " - " + typeof e.monthlyInstallmentValueStandard), e.monthlyInstallmentResultPromo = number_format(e.monthlyInstallmentValuePromo, r.decimals, r.decimal, r.separator), e.monthlyInstallmentResultStandard = number_format(e.monthlyInstallmentValueStandard, r.decimals, r.decimal, r.separator), isNaN(e.monthlyInstallmentValuePromo) ? t = !1 : (e.amountToRepayValuePromo = e.calculataAmountToRepay(e.monthlyInstallmentValuePromo), console.log("Amount to Repay Value Promo: " + e.amountToRepayValuePromo + " - " + typeof e.amountToRepayValuePromo), e.amountToRepayResultPromo = number_format(e.amountToRepayValuePromo, r.decimals, r.decimal, r.separator), isNaN(e.amountToRepayValuePromo) ? t = !1 : (e.APRValuePromo = 100 * e.calculateAPR(e.monthlyInstallmentValuePromo, e.salaryInterestRateValue), console.log("APR Value Promo: " + e.APRValuePromo + " - " + typeof e.APRValuePromo), e.APRResultPromo = number_format(e.APRValuePromo, r.decimals_number, r.decimal_number, r.separator_number), isNaN(e.APRValuePromo) && (t = !1))), isNaN(e.monthlyInstallmentValueStandard) ? a = !1 : (e.amountToRepayValueStandard = e.calculataAmountToRepay(e.monthlyInstallmentValueStandard), console.log("Amount to Repay Value Standard: " + e.amountToRepayValueStandard + " - " + typeof e.amountToRepayValueStandard), e.amountToRepayResultStandard = number_format(e.amountToRepayValueStandard, r.decimals, r.decimal, r.separator), isNaN(e.amountToRepayValueStandard) ? a = !1 : (e.APRValueStandard = 100 * e.calculateAPR(e.monthlyInstallmentValueStandard, e.standardInterestRateValue), console.log("APR Value Standard: " + e.APRValueStandard + " - " + typeof e.APRValueStandard), e.APRResultStandard = number_format(e.APRValueStandard, r.decimals_number, r.decimal_number, r.separator_number), isNaN(e.APRValueStandard) && (a = !1)))) : t = a = !1
    },
    this.calculateScaledInterestRate = function (e) {
        return Number(e / 100 * (365 / 360 / 12))
    },
    this.calculateMonthlyInstallment = function (t) {
        return Number(Math.round(e.borrowAmountValue * t / (1 - 1 / Math.pow(1 + t, 12 * e.tenorValue))))
    },
    this.calculataAmountToRepay = function (t) {
        return Number(12 * (t + e.regularFeeValue) * e.tenorValue + e.startFeeValue + e.closingFeeValue)
    },
    this.calculateAPR = function (t, a) {
        return Number(round(Math.pow(1 + e.getIRR(e.getCashFlow(t), 1e-4), 12) - 1, 4))
    },
    this.initOutputElements = function () {
        e.setOutputElements(),
        e.resetOutputElements()
    },
    this.setOutputElements = function () {
        e.monthlyInstallmentPromo = $('*[data-algoritmResult="monthlyInstallmentPromo"]', e.activeCalculator),
        e.loanAmountPromo = $('*[data-algoritmResult="loanAmountPromo"]', e.activeCalculator),
        e.amountToRepayPromo = $('*[data-algoritmResult="amountToRepayPromo"]', e.activeCalculator),
        e.tenorPromo = $('*[data-algoritmResult="tenorPromo"]', e.activeCalculator),
        e.interestRatePromo = $('*[data-algoritmResult="interestRatePromo"]', e.activeCalculator),
        e.aprPromo = $('*[data-algoritmResult="aprPromo"]', e.activeCalculator),
        e.monthlyInstallmentStandard = $('*[data-algoritmResult="monthlyInstallmentStandard"]', e.activeCalculator),
        e.loanAmountStandard = $('*[data-algoritmResult="loanAmountStandard"]', e.activeCalculator),
        e.amountToRepayStandard = $('*[data-algoritmResult="amountToRepayStandard"]', e.activeCalculator),
        e.tenorStandard = $('*[data-algoritmResult="tenorStandard"]', e.activeCalculator),
        e.interestRateStandard = $('*[data-algoritmResult="interestRateStandard"]', e.activeCalculator),
        e.aprStandard = $('*[data-algoritmResult="aprStandard"]', e.activeCalculator)
    },
    this.resetOutputElements = function () {
        e.resetPromoOutputElements(),
        e.resetStandardOutputElements()
    },
    this.resetPromoOutputElements = function () {
        t = !0,
        e.monthlyInstallmentResultPromo = void 0,
        e.loanAmountResultPromo = void 0,
        e.amountToRepayResultPromo = void 0,
        e.tenorResultPromo = void 0,
        e.interestRateResultPromo = void 0,
        e.APRResultPromo = void 0,
        e.monthlyInstallmentPromo.text("-"),
        e.loanAmountPromo.text("-"),
        e.amountToRepayPromo.text("-"),
        e.tenorPromo.text("-"),
        e.interestRatePromo.text("-"),
        e.aprPromo.text("-")
    },
    this.resetStandardOutputElements = function () {
        a = !0,
        e.monthlyInstallmentResultStandard = void 0,
        e.loanAmountResultStandard = void 0,
        e.amountToRepayResultStandard = void 0,
        e.tenorResultStandard = void 0,
        e.interestRateResultStandard = void 0,
        e.APRResultStandard = void 0,
        e.monthlyInstallmentStandard.text("-"),
        e.loanAmountStandard.text("-"),
        e.amountToRepayStandard.text("-"),
        e.tenorStandard.text("-"),
        e.interestRateStandard.text("-"),
        e.aprStandard.text("-")
    },
    this.fillOutputElements = function () {
        e.fillPromoOutputElements(),
        e.fillStandardOutputElements()
    },
    this.fillPromoOutputElements = function () {
        t ? (e.interestRatePromo.text(e.interestRateResultPromo), e.aprPromo.text(e.APRResultPromo), e.loanAmountPromo.text(e.loanAmountResultPromo), e.tenorPromo.text(e.tenorResultPromo), e.monthlyInstallmentPromo.text(e.monthlyInstallmentResultPromo), e.amountToRepayPromo.text(e.amountToRepayResultPromo)) : e.resetPromoOutputElements();
        var a = $("*[data-cmb-input]");
        if (a.length) {
            var r = '{"LOANAMOUNT":"' + e.loanAmountResultPromo.replace(/\s/g, "") + '","DURATION":"' + e.tenorResultPromo + '","INSTALLMENT":"' + e.monthlyInstallmentResultPromo.replace(/\s/g, "") + '","DISCOUNTCODE":"' + e.salaryInterestRateCode.toString() + '","APR":"' + e.APRResultPromo.replace(",", ".") + '","INTERESTRATE":"' + e.interestRateResultPromo.replace(",", ".") + '"}';
            $('[data-active-tab="with-salary"]', e.activeCalculator).hasClass("open") && a.val(r)
        }
    },
    this.fillStandardOutputElements = function () {
        a ? (e.interestRateStandard.text(e.interestRateResultStandard), e.aprStandard.text(e.APRResultStandard), e.loanAmountStandard.text(e.loanAmountResultStandard), e.tenorStandard.text(e.tenorResultStandard), e.monthlyInstallmentStandard.text(e.monthlyInstallmentResultStandard), e.amountToRepayStandard.text(e.amountToRepayResultStandard)) : e.resetStandardOutputElements();
        var t = $("*[data-cmb-input]");
        if (t.length) {
            var r = '{"LOANAMOUNT":"' + e.loanAmountResultStandard.replace(/\s/g, "") + '","DURATION":"' + e.tenorResultStandard + '","INSTALLMENT":"' + e.monthlyInstallmentResultStandard.replace(/\s/g, "") + '","DISCOUNTCODE":"' + e.salaryInterestRateCode.toString() + '","APR":"' + e.APRResultStandard.replace(",", ".") + '","INTERESTRATE":"' + e.interestRateResultStandard.replace(",", ".") + '"}';
            $('[data-active-tab="withsalary"]').hasClass("open") || t.val(r)
        }
    },
    this.getInputs = function () {
        console.log("---------------------"),
        console.log("CALCULATOR INPUTS"),
        console.log("---------------------"),
        e.startFee = $('*[data-algoritmInput="startFee"]', e.activeCalculator),
        e.startFeeValue = Number(parseFloat("" == e.startFee.val() ? 0 : e.startFee.val())),
        e.regularFee = $('*[data-algoritmInput="regularFee"]', e.activeCalculator),
        e.regularFeeValue = Number(parseFloat("" == e.regularFee.val() ? 0 : e.regularFee.val())),
        e.closingFee = $('*[data-algoritmInput="closingFee"]', e.activeCalculator),
        e.closingFeeValue = Number(parseFloat("" == e.closingFee.val() ? 0 : e.closingFee.val())),
        console.log("Start Fee Value: " + e.startFeeValue + " - " + typeof e.startFeeValue),
        console.log("Regular Fee Value: " + e.regularFeeValue + " - " + typeof e.regularFeeValue),
        console.log("Closing Fee Value: " + e.closingFeeValue + " - " + typeof e.closingFeeValue),
        e.borrowAmount = $('*[data-algoritmInput="borrowAmount"]', e.activeCalculator),
        e.borrowAmountValue = Number(parseFloat(e.borrowAmount.val().replace(new RegExp(n, "g"), "").replace(new RegExp(o, "g"), "."))),
        e.borrowAmountMin = Number(parseFloat(e.borrowAmount.data("inputMin"))),
        e.borrowAmountMax = Number(parseFloat(e.borrowAmount.data("inputMax"))),
        console.log("Borrow Amount Value: " + e.borrowAmountValue + " - " + typeof e.borrowAmountValue),
        console.log("Borrow Amount Min Value: " + e.borrowAmountMin + " - " + typeof e.borrowAmountMin),
        console.log("Borrow Amount Max Value: " + e.borrowAmountMax + " - " + typeof e.borrowAmountMax),
        e.tenor = $('*[data-algoritmInput="tenor"]', e.activeCalculator),
        e.tenorValue = Number(e.tenor.val()),
        e.tenorMin = Number(e.tenor.data("sliderMin")),
        e.tenorMax = Number(e.tenor.data("sliderMax")),
        e.tenorStep = Number(e.tenor.data("sliderStep")),
        console.log("Tenor Value: " + e.tenorValue + " - " + typeof e.tenorValue),
        console.log("Tenor Min Value: " + e.tenorMin + " - " + typeof e.tenorMin),
        console.log("Tenor Max Value: " + e.tenorMax + " - " + typeof e.tenorMax),
        console.log("Tenor Step Value: " + e.tenorStep + " - " + typeof e.tenorStep);
        var t = !1,
        a = 0;
        if (e.standardInterestRate = $('*[data-algoritmInput="standardInterestRate"]', e.activeCalculator).data("salaryRate"), e.standardInterestRate.interestSettings.length)
            for (var r = 0; r < e.standardInterestRate.interestSettings.length; r++)
                !t && e.tenorValue >= e.standardInterestRate.interestSettings[r].minimumTenor && e.tenorValue <= e.standardInterestRate.interestSettings[r].maximumTenor && (t = !0, a = e.standardInterestRate.interestSettings[r].interestRate);
        e.standardInterestRate = a,
        e.standardInterestRateValue = Number(parseFloat(e.standardInterestRate)),
        console.log("Standard Interest Rate Value: " + e.standardInterestRateValue + " - " + typeof e.standardInterestRateValue);
        var i = e.standardInterestRate;
        if (e.salaryInterestRate = $('*[data-algoritmInput="salary"].active', e.activeCalculator).data("salaryRate"), e.salaryInterestRate.interestSettings.length)
            for (var r = 0; r < e.salaryInterestRate.interestSettings.length; r++)
                e.tenorValue >= e.salaryInterestRate.interestSettings[r].minimumTenor && e.tenorValue <= e.salaryInterestRate.interestSettings[r].maximumTenor && (i = !0, i = e.salaryInterestRate.interestSettings[r].interestRate);
        e.salaryInterestRate = i,
        e.salaryInterestRateValue = Number(parseFloat(e.salaryInterestRate)),
        e.salaryInterestRateCode = $('*[data-algoritmInput="salary"].active', e.activeCalculator).data("salaryCode"),
        console.log("Salary Interest Rate Value: " + e.salaryInterestRateValue + " - " + typeof e.salaryInterestRateValue),
        console.log("Salary Interest Rate Code: " + e.salaryInterestRateCode + " - " + typeof e.salaryInterestRateCode)
    },
    this.getIRR = function (e, t) {
        if (!isFinite(t))
            return NaN;
        var a,
        r,
        n = t;
        a = -1 === n ? .1 : n;
        for (var o, i, s, l, c = 0, u = Number.MAX_VALUE; u > 1e-8 && c < 30; ) {
            l = 0,
            i = 0,
            s = 0;
            for (var d = 0; d <= e.length - 1; d++)
                o = e[d], i += o / Math.pow(1 + a, l), s += -l * o / Math.pow(1 + a, l + 1), l++;
            r = a - i / s,
            c++,
            u = Math.abs(r - a),
            a = r
        }
        return 0 === n && Math.abs(a) < 1e-8 && (a = 0),
        u < 1e-8 ? a : NaN
    },
    this.getCashFlow = function (t) {
        for (var a = [e.startFeeValue - e.borrowAmountValue], r = 0; r < 12 * e.tenorValue - 1; r++)
            a.push(t + e.regularFeeValue);
        return a.push(t + e.regularFeeValue + e.closingFeeValue),
        a
    }
}, Intesa.MortgageCalculator.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.mortgage_calculator || (window.intesa.mortgage_calculator = new Intesa.MortgageCalculator),
    window.intesa.mortgage_calculator
};
var Intesa = Intesa || {};
Intesa.CalculatorNavigation = function (e) {
    var t = ($("[data-bank]").attr("data-bank"), this);
    this.currentTab = 0,
    this.tabDesktop,
    this.tabMobile,
    this.activeCalculator = e,
    this.init = function () {
        t.tabDesktop = $(".tab", t.activeCalculator),
        t.tabMobile = $(".tab-mobile", t.activeCalculator),
        $(document).on("click", ".js-calculator-close", function (e) {
            var a = t,
            r = $(".calculator-mobile");
            $("body").removeClass("calculator-mobile-open"),
            r.hide(),
            a.closeCalculator()
        }),
        $(document).on("click", ".js-your-data-edit-li", function (e) {
            e.preventDefault();
            var a = t;
            a.hideResults(this),
            a.goToTab(0)
        }),
        $(document).on("click", ".js-your-data-edit-pi", function (e) {
            e.preventDefault();
            for (var a = t, r = document.getElementsByClassName("tab-mobile"), n = 0; n < r.length && !r[n].hasAttribute("data-start-personal-information"); n++);
            a.hideResults(this),
            a.goToTab(n)
        })
    },
    this.showTab = function (e) {
        console.log("current index " + t.currentTab),
        (t.tabDesktop.length > 0 || t.tabMobile.length > 0) && (window.innerWidth > 768 ? t.tabDesktop.parents(".calculator-desktop")[0].getElementsByClassName("tab")[e].style.display = "block" : t.tabMobile.parents(".calculator-mobile")[0].getElementsByClassName("mobile-loan")[e].getElementsByClassName("tab-mobile")[0].style.display = "block")
    },
    this.checkNextPrev = function (e, t) {
        return e < 0 && 0 == t ? 0 : e + t
    },
    this.showExactTab = function (e) {
        $(".result-tab", t.activeCalculator).hide(),
        $(e).show();
        for (var a = $("tab-mobile", t.activeCalculator), r = e.replace(".", ""), n = 0; n < a.length; n++)
            a.get(n).classList.contains(r) && (t.currentTab = n)
    },
    this.nextPrev = function (e, a) {
        console.log("element" + a),
        t.tabDesktop = $(a).parents(".tab"),
        t.tabMobile = $(a).parents(".tab-mobile"),
        t.tabDesktop.length > 0 && (t.activeCalculator = $(a).parents(".calculator-desktop")),
        t.tabMobile.length > 0 && (t.activeCalculator = $(a).parents(".calculator-mobile")),
        (t.tabDesktop.length > 0 || t.tabMobile.length > 0) && (t.hideCurrentTab(), t.currentTab = t.checkNextPrev(e, t.currentTab), t.showTab(t.currentTab))
    },
    this.fixStepIndicator = function (e) {
        var t,
        a = document.getElementsByClassName("step");
        for (t = 0; t < a.length; t++)
            a[t].className = a[t].className.replace(" active", "");
        a[e].className += " active"
    },
    this.goToTab = function (e) {
        if (t.tabDesktop.length > 0 || t.tabMobile.length > 0) {
            if (t.tabDesktop.length > 0 && (t.tabDesktop.parents(".calculator-desktop")[0].getElementsByClassName("tab")[t.currentTab].style.display = "none"), t.tabMobile.length > 0)
                for (var a = document.getElementsByClassName("tab-mobile"), r = 0; r < a.length; r++)
                    r != e && (a[r].style.display = "none");
            t.currentTab = e,
            t.showTab(t.currentTab)
        }
    },
    this.nextPrevLast = function (e) {
        (t.tabDesktop.length > 0 || t.tabMobile.length > 0) && (this.hideCurrentTab(), t.currentTab = t.checkNextPrev(e, t.currentTab))
    },
    this.showResults = function (e) {
        t.nextPrevLast(e),
        $(".results-side", t.activeCalculator).attr("style", "display:block")
    },
    this.hideResults = function (e) {
        $($(e).parents(".tab-mobile")[0]).attr("style", "display:none")
    },
    this.hideCurrentTab = function () {
        (t.tabDesktop.length > 0 || t.tabMobile.length > 0) && (window.innerWidth > 768 ? t.tabDesktop.css("display", "none") : t.tabMobile.css("display", "none"))
    },
    this.closeCalculator = function () {
        this.goToTab(0)
    }
}, Intesa.CalculatorNavigation.getInstance = function (e) {
    return window.intesa || (window.intesa = new Object),
    window.intesa.calculatorNavigation || (window.intesa.calculatorNavigation = new Intesa.CalculatorNavigation(e)),
    window.intesa.calculatorNavigation
}, $(document).ready(function () {
    $(".sectionCta.sectionLogin.js-loginTrigger").click(function () {
        "#login" == $(this).attr("href") ? $(".new-menu.content-target.js-content-target").toggleClass("loginActive") : $(".new-menu.content-target.js-content-target").removeClass("loginActive")
    })
}), $(document).ready(function () {
    var e = $(".new-menu__sideA"),
    t = $(".menuA-side-wrapper");
    console.log(t);
    var a = $(".menuA-side-wrapper").find(".new-menu__sideB"),
    r = $(".new-menu-wrapper").parent(),
    n = $('div[data-component="GlobalSearch"]'),
    o = $(".section-burger.sectionCta.content-target__burger.js-open-menuFullWindow");
    if (n.length > 0 ? t.insertBefore(n) : t.insertBefore(o), a.insertAfter(r), a.addClass("hide"), e.hasClass("editorial") || a.hasClass("editorial")) {
        var i = "";
        $(".navigation__primary__link.new-link-menu").click(function (e) {
            $(this)[0] != i[0] ? ($(this).parent().hasClass("our-group-link-desktop") || a.removeClass("hide"), i = $(this)) : (a.addClass("hide"), i = "")
        })
    } else
        $(".navigation__primary__link.new-link-menu").mouseenter(function (e) {
            $(this).click(),
            $(this).parent().hasClass("our-group-link-desktop") ? a.addClass("hide") : a.removeClass("hide")
        }), $(".menuFullWindow__sideB.menuFullWindow__scollWindow.new-menu__sideB").mouseleave(function (e) {
            a.addClass("hide")
        });
    $(".-js-open-search").click(function () {
        t.addClass("hide")
    }),
    $(".-js-close-search").click(function () {
        t.removeClass("hide")
    }),
    $(".new-menu__sideB.editorial").find(".menuFullWindow__tabPanel").click(function () {
        console.log($(this)),
        $(this).prev().hasClass("openMenu") && $(this).prev().prev().attr("style", "display:flex")
    }),
    $(".navigation__primary__item.new-parent-menu").hasClass("active") || $(".navigation__primary__item.new-parent-menu.new-tworow-menu").hasClass("active"),
    $(".navigation__primary__item.new-parent-menu.active").removeClass("active"),
    $(".navigation__primary__item.new-parent-menu.new-tworow-menu.active").removeClass("active")
}), $(".menuA-side-wrapper").mouseleave(function (e) {
    setTimeout(function () {
        $(".menuFullWindow__sideB.menuFullWindow__scollWindow.new-menu__sideB").hasClass("hide") && $(".navigation__primary__item.new-parent-menu.active:not(.our-group-link-desktop)").removeClass("active")
    }, 1e3),
    $(".menuFullWindow__sideB.menuFullWindow__scollWindow.new-menu__sideB").hasClass("hide") && $(".navigation__primary__item.new-parent-menu.active.our-group-link-desktop").removeClass("active")
}), $(document).ready(function () {
    var e = document.querySelectorAll(".mobileControl__link");
    -1 != window.navigator.userAgent.indexOf("MSIE ") && (e = Array.prototype.slice.call(e)),
    e.forEach(function (e) {
        var t = e.innerHTML,
        a = t.replace(/\s\s+/g, " ");
        a = a.replace(/amp;/g, ""),
        e.innerText = a
    })
}), $(document).ready(function () {
    1024 == $(window).width() ? $(".navigation__primary__link ").addClass("mobileview") : $(window).width() > 1280 && $(".navigation__primary__link ").removeClass("mobileview"),
    menuItemsTablet = document.querySelectorAll(".mobileview"),
    -1 != window.navigator.userAgent.indexOf("MSIE ") && (menuItemsTablet = Array.prototype.slice.call(menuItemsTablet)),
    menuItemsTablet.forEach(function (e) {
        var t = e.innerHTML,
        a = t.replace(/\s\s+/g, " ");
        a = a.replace(/amp;/g, ""),
        e.innerText = a
    })
}), $(".link_locale").on("click", function () {
    console.log("open popup");
    var e = $(this).attr("data-popupid");
    $("section[data-popupid=" + e + "] ").removeClass("hide").addClass("show"),
    $("section[data-popupid=" + e + "] ").find(".modale-partnership").show(),
    $("section[data-popupid=" + e + "] ").find(".modale-submit-ticketing").get(0).style.display = "block"
}), $(".close_popup").on("click", function () {
    console.log("close popup");
    var e = $(this).attr("data-popupid");
    $("section[data-popupid=" + e + "] ").removeClass("show").addClass("hide"),
    $("section[data-popupid=" + e + "] ").find(".modale-partnership").hide()
}), $(".btn-popup").on("click", function () {
    console.log("close no click");
    var e = $(this).attr("data-popupid");
    $("section[data-popupid=" + e + "] ").removeClass("show").addClass("hide"),
    $("section[data-popupid=" + e + "] ").find(".modale-partnership").hide()
}), $(window).on("load", function () {
    "PBZ" == $("html").attr("data-bank") && $(".-js-bookAnAppointmentCalendar").length > 0 && $(".datepicker-grid").find("td.curDay").click()
});
var Intesa = Intesa || {};
Intesa.RedirectToRightStore = function () {
    var e = this,
    t = navigator.userAgent.toLowerCase() || navigator.vendor.toLowerCase() || window.opera.toLowerCase();
    this.init = function () {
        console.log("Intesa.RedirectToRightStore - START ");
        var t = e.getMobileStore();
        console.log("returned store -> ", t),
        e.fillComponents(t),
        console.log("Intesa.RedirectToRightStore - END ")
    },
    this.fillComponents = function (e) {
        var t = null,
        a = null;
        $(".hom5__panel__dynamic").each(function () {
            var r = $(this).find(".hom5__linkContainer__dynamic"),
            n = r.attr("data-id"),
            o = "qr-" + n;
            switch (e) {
            case "APPLE_STORE":
                if (r.find(".iosLink").removeClass("hide"), a = "true" == r.attr("data-qr-ios")) {
                    t = r.attr("data-ios");
                    new QRious({
                        element: document.getElementById(o),
                        value: t
                    }).set({
                        background: "white",
                        backgroundAlpha: 1,
                        foreground: "black",
                        foregroundAlpha: 1,
                        level: "H",
                        padding: null,
                        size: 125
                    })
                }
                break;
            case "GOOGLE_STORE":
                if (r.find(".googleLink").removeClass("hide"), a = "true" == r.attr("data-qr-android")) {
                    t = r.attr("data-android");
                    new QRious({
                        element: document.getElementById(o),
                        value: t
                    }).set({
                        background: "white",
                        backgroundAlpha: 1,
                        foreground: "black",
                        foregroundAlpha: 1,
                        level: "H",
                        padding: null,
                        size: 125
                    })
                }
                break;
            case "HUAWEI_STORE":
                if (r.find(".huaweiLink").removeClass("hide"), a = "true" == r.attr("data-qr-huawei")) {
                    t = r.attr("data-huawei");
                    new QRious({
                        element: document.getElementById(o),
                        value: t
                    }).set({
                        background: "white",
                        backgroundAlpha: 1,
                        foreground: "black",
                        foregroundAlpha: 1,
                        level: "H",
                        padding: null,
                        size: 125
                    })
                }
                break;
            case "default":
                if (r.parent().find(".defaultLink").removeClass("hide"), a = "true" == r.attr("data-qr-default")) {
                    t = r.attr("data-default");
                    new QRious({
                        element: document.getElementById(o),
                        value: t
                    }).set({
                        background: "white",
                        backgroundAlpha: 1,
                        foreground: "black",
                        foregroundAlpha: 1,
                        level: "H",
                        padding: null,
                        size: 125
                    })
                }
            }
        })
    },
    this.mobileCheck = function () {
        var e = !1;
        return function (t) {
            (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0, 4))) && (e = !0)
        }
        (navigator.userAgent || navigator.vendor || window.opera),
        e
    },
    this.iOS = function () {
        return ["iPad Simulator", "iPhone Simulator", "iPod Simulator", "iPad", "iPhone", "iPod"].includes(navigator.platform) || navigator.userAgent.includes("Mac") && "ontouchend" in document
    },
    this.isHuaweiDevice = function () {
        return navigator.usertAgentData.brands.forEach(function (e) {
            if (void 0 != e.brand && e.brand.toLowerCase().includes("huawei"))
                return !0
        })
    },
    this.getMobileStore = function () {
        var a = t.match(/"ALP-"|"AMN-"|"ANE-"|"AN,G-"|"AQM-"|"ARS-"|"ART-"|"ATU-"|"BAC-"|"BLA-"|"BRQ-"|"CAG-"|"CAM-"|"CAN-"|"CAZ-"|"CDL-"|"CLT-"|"CRO-"|"CUN-"|"DIG-"|"DRA-"|"DUA-"|"DUB-"|"DVC-"|"ELE-"|"EML-"|"EVA-"|"EVR-"|"FIG-"|"FLA-"|"FRL-"|"GLK-"|"HMA-"|"HW-"|"HWI-"|"INE-"|"JAT-"|"JKM-"|"JSC-"|"LDN-"|"LON-"|"LUA-"|"LYA-"|"LYO-"|"MAR-"|"MED-"|"MHA-"|"MLA-"|"MRD-"|"MYA-"|"NCE-"|"NEO-"|"NOH-"|"NOP-"|"OCE-"|"PAR-"|"PIC-"|"POT-"|"PPA-"|"PRA-"|"RNE-"|"SEA-"|"SLA-"|"SNE-"|"SPN-"|"STK-"|"TET-"|"TRT-"|"VCE-"|"VIE-"|"VKY-"|"VNS-"|"VOG-"|"VTR-"|"WAS-"|"WKG-"|"WLZ-"|"YAL"/i);
        if (!e.mobileCheck())
            return "default";
        var r = void 0 != navigator.usertAgentData;
        return e.iOS() ? "APPLE_STORE" : r ? (isHuaweiDevice = e.isHuaweiDevice(), isHuaweiDevice ? a ? (console.log("detected huawei with GMS"), "GOOGLE_STORE") : (console.log("detected huawei without GMS"), "HUAWEI_STORE") : void 0) : t.includes("huawei") ? a ? (console.log("detected huawei with GMS"), "GOOGLE_STORE") : (console.log("detected huawei without GMS"), "HUAWEI_STORE") : "GOOGLE_STORE"
    }
}, Intesa.RedirectToRightStore.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.redirectToRightStore || (window.intesa.redirectToRightStore = new Intesa.RedirectToRightStore),
    window.intesa.redirectToRightStore
}, $(document).ready(function () {
    if ("ISPROMANIA" == $("html").attr("data-bank")) {
        $('select[name*="selectBranch"]').on("change", function () {
            $('input[name*="selectBranchEmail"]').val($(this).find("option:selected").val()),
            $('input[name*="selectBranchLocation"]').val($(this).find("option:selected").text().trim())
        });
        var e = $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="firstname"]').attr("required"),
        t = $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="companyName"]').attr("required"),
        a = $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cnpNumber"]').attr("required"),
        r = $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cuiNumber"]').attr("required");
        $('select[name*="selectSubject"]').on("change", function () {
            $('input[name*="selectSubjectValue"]').val($(this).find("option:selected").val()),
            $('input[name*="selectSubjectLabel"]').val($(this).find("option:selected").text().trim())
        }),
        complaintRadioTypeClient(e, t, a, r),
        $("#radioTypeClient").closest(".for__radio__group").on("click", function () {
            complaintRadioTypeClient(e, t, a, r)
        }),
        setTimeout(function () {
            addCNP_CUI_Validations($("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cnpNumber"]'), $("#radioTypeClient:checked").closest(".for__gridWrapper").find('input[name="cuiNumber"]'))
        }, 1e3),
        $('input[name="gdprPrivacyHtml"]').on("change", function () {
            $('input[name="gdprPrivacy"]').val($('input[name="gdprPrivacyHtml"]').prop("checked"))
        })
    }
});
var Intesa = Intesa || {};
Intesa.SelectCurrencies = function () {
    var e = $("[data-bank]").attr("data-bank");
    this.init = function () {
        "BIB" == e && ($('select[name="fromCurrency"]').on("change", function (e) {
                var t = $('select[name="toCurrency"]');
                "RSD" != $(this).val() ? t.find("option[value=EUR_NET]").hide() : t.find("option[value=EUR_NET]").show()
            }), $('select[name="toCurrency"]').on("change", function (e) {
                var t = $('select[name="fromCurrency"]');
                "RSD" != $(this).val() ? t.find("option[value=EUR_NET]").hide() : t.find("option[value=EUR_NET]").show()
            }), $('select[name="fromCurrency"]').on("click", function (e) {
                var t = $('select[name="toCurrency"]'),
                a = t.attr("custom-disabled");
                void 0 !== a && !1 !== a && (t.removeAttr("custom-disabled"), t.removeClass("custom-disabled")),
                "EUR_NET" == $(this).val() && (t.val("RSD"), t.attr("custom-disabled", "custom-disabled"), t.addClass("custom-disabled"))
            }), $('select[name="toCurrency"]').on("click", function (e) {
                var t = $('select[name="fromCurrency"]'),
                a = t.attr("custom-disabled");
                void 0 !== a && !1 !== a && (t.removeAttr("custom-disabled"), t.removeClass("custom-disabled")),
                "EUR_NET" == $(this).val() && (t.val("RSD"), t.attr("custom-disabled", "custom-disabled"), t.addClass("custom-disabled"))
            }))
    }
}, Intesa.SelectCurrencies.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.selectCurrencies || (window.intesa.selectCurrencies = new Intesa.SelectCurrencies),
    window.intesa.selectCurrencies
}, $(document).ready(function () {
    var e = "PBZ" == $("html").attr("data-bank").toUpperCase(),
    t = "CIB" == $("html").attr("data-bank").toUpperCase(),
    a = "ALEX" == $("html").attr("data-bank").toUpperCase(),
    r = isSloveniaBank(),
    n = "BIB" == $("html").attr("data-bank").toUpperCase(),
    o = "ISPBIH" == $("html").attr("data-bank").toUpperCase();
    if (e || t || r || n || a || o) {
        var i = $(".microsite_formFeedback");
        console.log("send feedback"),
        i.length > 0 && (console.log("send feedback"), onSubmitClick(), hideCustomComponentsInstantFeedbackPage())
    }
});
var Intesa = Intesa || {};
Intesa.SubscribeUnsubscribe = function () {
    var e = this,
    t = !1,
    a = 0 != $("#unsubscribeForm").length ? $("#unsubscribeForm") : $("#subscribeForm");
    $("section.errorNoMessageId");
    this.init = function () {
        if (console.log("SubscribeUnsubscribe"), console.log(a), console.log($(a).attr("id")), a.length > 0) {
            e.checkMessageId() && ($("input[name='recaptchaKey']").length >= 1 && window.grecaptcha.execute($("body").find(".g-recaptcha").attr("sitekey"), {
                    action: "contact"
                }).then(function (e) {
                    $(".g-recaptcha-response").val(e),
                    window.recaptchaCallback.call()
                }), e.enableSumbitDynamicForm()),
            e.redirectAfterSuccess()
        }
    },
    this.recaptchaCallback = function () {
        console.log("Captcha Verified"),
        t = !0,
        window.checkUnsubscribeForm(t),
        window.checkSubscribeForm(t)
    },
    this.validationCallback = function () {
        console.log("Captcha Verified"),
        t = !0,
        window.checkUnsubscribeForm(t),
        window.checkSubscribeForm(t)
    },
    window.recaptchaCallback = $("input[name='recaptchaKey']").length >= 1 ? this.validationCallback : this.recaptchaCallback,
    this.checkMessageId = function () {
        console.log("checkMessageId()");
        var e = new URL(location.href),
        t = e.searchParams.get("messageId");
        return void 0 != t && t.length > 0 && (a.find("[name='messageId']").val(t), !0)
    },
    this.enableSumbitDynamicForm = function () {
        console.log("enableSumbitDynamicForm()"),
        console.log(t),
        "unsubscribeForm" == $(a).attr("id") ? $(a).find("input").on("change", function (e) {
            if (e.parsley().validate() && t) {
                var r = a.find(".submit__unsubscribe").attr("disabled");
                void 0 !== r && !1 !== r && a.find(".submit__unsubscribe").removeAttr("disabled")
            } else {
                var r = a.find(".submit__unsubscribe").attr("disabled");
                void 0 === r && !1 === r && a.find(".submit__unsubscribe").attr("disabled")
            }
        }) : $(a).find("input").on("change", function (e) {
            if (e.parsley().validate() && t) {
                var r = a.find(".submit__subscribe").attr("disabled");
                void 0 !== r && !1 !== r && a.find(".submit__subscribe").removeAttr("disabled")
            } else {
                var r = a.find(".submit__subscribe").attr("disabled");
                void 0 === r && !1 === r && a.find(".submit__subscribe").attr("disabled")
            }
        }),
        this.redirectAfterSuccess = function () {
            "unsubscribeForm" == $(a).attr("id") ? $("#unsubscribeSuccess").length > 0 && $("#recapModalUnsubscribe").on("hidden.bs.modal", function () {
                var e = $("#redirectUnsubscribe").length > 0 ? $("#redirectUnsubscribe").val() : "";
                console.log("modal dismiss event"),
                "" != e ? (console.log("redirecting"), window.location.href = e) : console.log("missing redirect")
            }) : $("#subscribeSuccess").length > 0 && $("#recapModalSubscribe").on("hidden.bs.modal", function () {
                var e = $("#redirectSubscribe").length > 0 ? $("#redirectSubscribe").val() : "";
                console.log("modal dismiss event"),
                "" != e ? (console.log("redirecting"), window.location.href = e) : console.log("missing redirect")
            })
        }
    },
    window.checkUnsubscribeForm = function (e) {
        var t = $("#unsubscribeForm");
        if (console.log("checkUnsubscribeForm()"), t.length > 0) {
            console.log("inside checkUnsubscribeForm");
            if (t.parsley().validate() && e) {
                var a = t.find(".submit__unsubscribe").attr("disabled");
                console.log("submit ->", a),
                void 0 !== a && !1 !== a && t.find(".submit__unsubscribe").removeAttr("disabled")
            } else {
                console.log("submit ->", a);
                var a = t.find(".submit__unsubscribe").attr("disabled");
                void 0 === a && !1 === a && t.find(".submit__unsubscribe").attr("disabled")
            }
        }
    },
    window.checkSubscribeForm = function (e) {
        var t = $("#subscribeForm");
        if (console.log("checkSubscribeForm()"), t.length > 0) {
            console.log("inside checkSubscribeForm");
            if (t.parsley().validate() && e) {
                var a = t.find(".submit__subscribe").attr("disabled");
                console.log("submit ->", a),
                void 0 !== a && !1 !== a && t.find(".submit__subscribe").removeAttr("disabled")
            } else {
                console.log("submit ->", a);
                var a = t.find(".submit__subscribe").attr("disabled");
                void 0 === a && !1 === a && t.find(".submit__subscribe").attr("disabled")
            }
        }
    }
}, Intesa.SubscribeUnsubscribe.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.SubscribeUnsubscribe || (window.intesa.SubscribeUnsubscribe = new Intesa.SubscribeUnsubscribe),
    window.intesa.SubscribeUnsubscribe
};
var Intesa = Intesa || {};
Intesa.Survey = function () {
    function e() {
        $("#recaptchainput").val("true"),
        setTimeout(function () {
            $('form[name="formThanksMortgage"]').parsley().validate(),
            r.checkPrivacy()
        }, 500)
    }
    function t() {
        setTimeout(function () {
            $('form[name="formThanksMortgage"]').parsley().validate(),
            forms.checkPrivacy()
        }, 500)
    }
    function a() {
        $("[data-bgimg]").length > 0 && $("[data-bgimg]").each(function () {
            var e = $(this).attr("data-bgimg");
            $(this).css("background-image", "url(" + e + ")")
        })
    }
    var r = this,
    n = "CIB" == $("html").attr("data-bank");
    this.init = function () {
        if (console.log("is CIB " + n), n) {
            r.attachOpenMortgageFormEvent(),
            window.recaptchaCallback = $("input[name='recaptchaKey']").length >= 1 ? t : e,
            r.sessionMortage = [{
                    form1: {
                        basicQuestionsOne: "",
                        basicQuestionsTwo: "",
                        basicQuestionsThree: "",
                        basicQuestionsFour: "",
                        basicQuestionsFive: "",
                        installment: "",
                        tenor: "",
                        loanAmount: "",
                        productId: "",
                        productName: "",
                        interestRate: "",
                        interestPeriod: "",
                        loanPurpose: ""
                    },
                    form2: {
                        debitorIncomeOne: "",
                        debitorIncomeTwo: "",
                        debitorIncomeThree: "",
                        debitorIncomeFour: "",
                        installmentExistingsLoan: "",
                        existingCreditCardLimit: "",
                        existingOverdraftLimit: "",
                        otherDeductionsExpenses: "",
                        cashLoan: "",
                        babyLoan: ""
                    },
                    form3: {
                        collateralOne: "",
                        locatedOne: "",
                        collateralTwo: "",
                        locatedTwo: "",
                        collateralThree: "",
                        locatedThree: ""
                    }
                }
            ];
            var a = sessionStorage.getItem("mortageJSON") || "";
            if (a.length > 0) {
                var o = JSON.parse(a);
                r.sessionMortage = o
            }
            $('[data-component-r="survey_loan"]').length > 0 && (console.log("start"), r.refreshSteps(1), r.toggleAccordione(), r.formSteps1Mortagage(), r.setActiveInputs(), r.setActiveImports(), r.stepsByStorage(), r.goNext(), r.goBackSteps(), r.showHidLoan(), r.showMessageErrore(1), $("#privacystatus").length > 0 && r.checkPrivacy())
        }
    },
    this.stepsByStorage = function () {
        var e = sessionStorage.getItem("mortageJSON") || "";
        if (e.length > 0) {
            var t = JSON.parse(e);
            if (t && t[0] && t[0].form1)
                for (var a in t[0].form1)
                    "installment" != a && "tenor" != a && "loanAmount" != a && "productId" != a && "productName" != a && "interestRate" != a && "interestPeriod" != a && "loanPurpose" != a && $('input[name="' + a + '"]').length > 0 && t[0].form1[a].length > 0 && (!function (e) {
                        $(".rstepwrapper").addClass("rhide"),
                        e.indexOf("One") > -1 && ($(".rstep1").removeClass("rhide"), r.setStep(1), r.refreshSteps(1)),
                        e.indexOf("Two") > -1 && ($(".rstep2").removeClass("rhide"), r.setStep(2), r.refreshSteps(2)),
                        e.indexOf("Three") > -1 && ($(".rstep3").removeClass("rhide"), r.setStep(3), r.refreshSteps(3)),
                        e.indexOf("Four") > -1 && ($(".rstep4").removeClass("rhide"), r.setStep(4), r.refreshSteps(4)),
                        e.indexOf("Five") > -1 && ($(".rstep5").removeClass("rhide"), r.setStep(5), r.refreshSteps(5))
                    }
                        (a), $('input[name="' + a + '"]').each(function () {
                            var e = this;
                            $(e).val() == t[0].form1[a] && $(e).attr("checked", !0).parent("label").trigger("click")
                        }));
            if (t && t[0] && t[0].form2)
                for (var a in t[0].form2)
                    if ($('input[name="' + a + '"]').length > 0 && t[0].form2[a].length > 0) {
                        $('input[name="' + a + '"]').val(t[0].form2[a]);
                        var n = parseInt(r.getStep());
                        switch ($(".rstepwrapper").eq(n - 1).find('input[name="' + a + '"]').trigger("keyup"), "debitorIncomeOne" == a && ($(".rstep1 .rvalue-increase").text(1), $(".rstepwrapper").eq(0).find(".mod-hom1").eq(0).removeClass("rhide")), "debitorIncomeTwo" == a && ($(".rstep1 .rvalue-increase").text(2), $(".rstepwrapper").eq(0).find(".mod-hom1").eq(1).removeClass("rhide")), "debitorIncomeThree" == a && ($(".rstep1 .rvalue-increase").text(3), $(".rstepwrapper").eq(0).find(".mod-hom1").eq(2).removeClass("rhide")), "debitorIncomeFour" == a && ($(".rstep1 .rvalue-increase").text(4), $(".rstepwrapper").eq(0).find(".mod-hom1").eq(3).removeClass("rhide")), $(".rstepwrapper").addClass("rhide"), a) {
                        case "debitorIncomeOne":
                        case "debitorIncomeTwo":
                        case "debitorIncomeThree":
                        case "debitorIncomeFour":
                            r.setStep(1),
                            r.refreshSteps(1),
                            $(".rstep1").removeClass("rhide");
                            break;
                        case "installmentExistingsLoan":
                            r.setStep(2),
                            r.refreshSteps(2),
                            $(".rstep2").removeClass("rhide");
                            break;
                        case "existingCreditCardLimit":
                            r.setStep(3),
                            r.refreshSteps(3),
                            $(".rstep3").removeClass("rhide");
                            break;
                        case "existingOverdraftLimit":
                            r.setStep(4),
                            r.refreshSteps(4),
                            $(".rstep4").removeClass("rhide");
                            break;
                        case "otherDeductionsExpenses":
                            r.setStep(5),
                            r.refreshSteps(5),
                            $(".rstep5").removeClass("rhide");
                            break;
                        case "cashLoan":
                        case "babyLoan":
                            r.setStep(6),
                            r.refreshSteps(6),
                            $(".rstep6").removeClass("rhide"),
                            $('input[name="step2Questions"]').each(function () {
                                var e = this;
                                "yes" == $(e).val() && $(e).attr("checked", !0).parent("label").addClass("active")
                            });
                            break;
                        default:
                            r.setStep(1)
                        }
                    }
            if (t && t[0] && t[0].form3)
                for (var a in t[0].form3)
                    if ($('input[name="' + a + '"]').length > 0 && t[0].form3[a].length > 0) {
                        if ($('input[name="' + a + '"]').val(t[0].form3[a]).trigger("focus"), $('input[name="' + a + '"]').val(t[0].form3[a]).trigger("keyup"), "collateralOne" == a) {
                            $(".rstep1 .rvalue-increase").text(1);
                            var o = $(".rstepwrapper").eq(0);
                            o.find(".mod-hom1").eq(0).removeClass("rhide")
                        }
                        if ("collateralTwo" == a) {
                            $(".rstep1 .rvalue-increase").text(2);
                            var o = $(".rstepwrapper").eq(0);
                            o.find(".mod-hom1").eq(1).removeClass("rhide")
                        }
                        if ("collateralThree" == a) {
                            $(".rstep1 .rvalue-increase").text(3);
                            var o = $(".rstepwrapper").eq(0);
                            o.find(".mod-hom1").eq(2).removeClass("rhide")
                        }
                        r.setStep(1),
                        r.refreshSteps(1),
                        $(".rstep1").removeClass("rhide")
                    }
        }
    },
    this.goNext = function () {
        $(document).on("click", "button.r-btn-avanti", function (e) {
            e.preventDefault();
            var t = $(this),
            a = (parseInt(r.getStep()), parseInt(t.attr("data-step")) + 1),
            n = $('input[name="myForm"]').val();
            if (sessionStorage.setItem("mortageJSON", JSON.stringify(r.sessionMortage)), "form1" == n && sessionStorage.setItem("mortageStep", "1"), a > $("#numberofsteps").val()) {
                var n = $('input[name="myForm"]').val(),
                o = sessionStorage.getItem("mortageJSON");
                if (o.length > 0)
                    var i = JSON.parse(o);
                if ("form1" == n && i && i[0] && i[0].form1)
                    for (var s in i[0].form1)
                        i[0].form1[s].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form1[s] + '"/>') : "installment" != s && "loanAmount" != s && "tenor" != s && "interestPeriod" != s && "interestRate" != s && "productName" != s && "productId" != s && "loanPurpose" != s || $("form#formTemp").append('<input type="hidden" name="' + s + '" value="0"/>');
                if ("form2" == n) {
                    if (i && i[0] && i[0].form1)
                        for (var s in i[0].form1)
                            i[0].form1[s].length > 0 && $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form1[s] + '"/>');
                    if (i && i[0] && i[0].form2)
                        for (var s in i[0].form2)
                            i[0].form2[s].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form2[s].replace(/[^0-9]/g, "").replace("&nbsp;", "") + '"/>') : $("form#formTemp").append('<input type="hidden" name="' + s + '" value="0"/>')
                }
                if ("form3" == n) {
                    if (i && i[0] && i[0].form1)
                        for (var s in i[0].form1)
                            i[0].form1[s].length > 0 && $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form1[s] + '"/>');
                    if (i && i[0] && i[0].form2)
                        for (var s in i[0].form2)
                            i[0].form2[s].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form2[s].replace(/[^0-9]/g, "").replace("&nbsp;", "") + '"/>') : $("form#formTemp").append('<input type="hidden" name="' + s + '" value="0"/>');
                    if (i && i[0] && i[0].form3)
                        for (var s in i[0].form3)
                            i[0].form3[s].length > 0 ? $("form#formTemp").append('<input type="hidden" name="' + s + '" value="' + i[0].form3[s].replace(/[^0-9]/g, "").replace("&nbsp;", "") + '"/>') : $("form#formTemp").append('<input type="hidden" name="' + s + '" value="0"/>')
                }
                $("form#formTemp").submit()
            } else {
                r.disableNext($("button.r-btn-avanti"));
                var n = $('input[name="myForm"]').val();
                "form1" == n && setTimeout(function () {
                    console.log(a),
                    $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : r.disableNext(t)
                }, 10),
                r.refreshSteps(a),
                r.setStep(a),
                $(".rstepwrapper").addClass("rhide"),
                $(".rstepwrapper").eq(a - 1).removeClass("rhide")
            }
            r.showHidLoan(),
            r.scrollToTop(),
            a > $("#numberofsteps").val() && window.location.replace($("#submit").attr("data-redirect"))
        })
    },
    this.scrollToTop = function () {
        var e = 150,
        t = $(".r-form-top-section").position() || "";
        "" !== t && (e = t.top),
        $("html, body").animate({
            scrollTop: e
        }, "500")
    },
    $(".r-form-top-section").length > 0 && r.scrollToTop(),
    this.goBackSteps = function () {
        $(document).on("click", "button.r-btn-indietro", function (e) {
            e.preventDefault();
            var t = $(this),
            a = parseInt(t.attr("data-step")) - 1,
            n = $('input[name="myForm"]').val();
            if (a < 1) {
                var o = "",
                i = localStorage.getItem("mortageForm") || "";
                "" !== i && (i = JSON.parse(i), "form1" == n && (o = i.form1), "form2" == n && (o = i.form2), "form3" == n && (o = i.form3), "" !== o && (window.location.href = o))
            } else
                r.disableNext($("button.r-btn-avanti")), "form1" == n && setTimeout(function () {
                    $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").length > 0 ? $(".rstepwrapper").eq(a - 1).find("input[data-ok]:checked").parent(".rcontainer-input").trigger("click") : r.disableNext($("button.r-btn-avanti"))
                }, 10), "form2" == n && setTimeout(function () {
                    $(".rstepwrapper").eq(a - 1).find("input").val().length > 0 ? $(".rstepwrapper").eq(a - 1).find("input").each(function () {
                        var e = $(this);
                        e.is(":visible") && e.trigger("keyup")
                    }) : r.disableNext($("button.r-btn-avanti"))
                }, 10), r.refreshSteps(a), r.setStep(a), $(".rstepwrapper").addClass("rhide"), $(".rstepwrapper").eq(a - 1).removeClass("rhide");
            r.showHidLoan(),
            r.scrollToTop()
        })
    },
    this.formSteps1Mortagage = function () {
        r.setStep(1)
    },
    this.setActiveInputs = function () {
        $(".rcontainer-input").on("click", function () {
            var e = $(this).find("input").attr("name");
            if ($("[name=" + e + "]").parent().removeClass("active"), $(this).addClass("active"), "form1" == $('input[name="myForm"]').val()) {
                var t = parseInt(r.getStep());
                $(".rstepwrapper").eq(t - 1).find("input[data-ok]").is(":checked") && (r.sessionMortage[0].form1[e] = $("[name=" + e + "]:checked").val())
            }
            r.showMessageErrore(r.getStep())
        })
    },
    this.setActiveImports = function () {
        $(".rcontainer-import input").on("keyup", function () {
            var e = $(this);
            if (e.val().length > 0) {
                "babyLoan" == e.attr("name") || "cashLoan" == e.attr("name") ? $("[name=cashLoan]").val().length > 0 && $("[name=babyLoan]").val().length > 0 ? r.setActiveNext($("button.r-btn-avanti")) : r.disableNext($("button.r-btn-avanti")) : r.setActiveNext($("button.r-btn-avanti")),
                $(".rstepwrapper").eq(parseInt(r.getStep()) - 1).find("input").length > 1 && void 0 == $(".rstepwrapper").eq(parseInt(r.getStep()) - 1).find(".rcontainer-import").attr("data-showHidLoan") && $(".rstepwrapper").eq(parseInt(r.getStep()) - 1).find("input").each(function () {
                    if ($(this).is(":visible") && "" == $(this).val())
                        return void r.disableNext($("button.r-btn-avanti"))
                });
                var t = $(this).attr("name"),
                a = $('input[name="myForm"]').val();
                "form2" == a && (r.sessionMortage[0].form2[t] = $("[name=" + t + "]").val().replace(/ /g, "")),
                "form3" == a && (r.sessionMortage[0].form3[t] = $("[name=" + t + "]").val().replace(/ /g, ""))
            } else
                r.disableNext($("button.r-btn-avanti"))
        })
    },
    this.refreshSteps = function (e) {
        var t = $("#numberofsteps").val() || "5";
        null !== e && "" !== e && void 0 !== e && ($(".r-cur-step").text(e), null !== t && "" !== t && void 0 !== t && ($(".r-tot-step").text(t), $(".r-progress-bar-fill").width(parseInt(e) / parseInt(t) * 100 + "%")))
    },
    this.setActiveNext = function (e) {
        e.addClass("active").prop("disabled", !1)
    },
    this.disableNext = function (e) {
        e.removeClass("active").prop("disabled", !0)
    },
    this.getStep = function () {
        return $("button.r-btn-avanti").attr("data-step")
    },
    this.showMessageErrore = function (e) {
        console.log(e),
        1 == e && (console.log("back disabilitato step1"), $("button.r-btn-indietro").removeClass("active").prop("disabled", !0)),
        $("button.r-btn-avanti").on("click", function () {
            console.log("Click e abilito"),
            $("button.r-btn-indietro").addClass("active").prop("disabled", !1)
        }),
        r.disableNext($("button.r-btn-avanti")),
        console.log("error-msg"),
        e = parseInt(e);
        var t = $(".rstepwrapper").eq(e - 1).find('[value="no"]').is(":checked"),
        a = $(".rstepwrapper").eq(e - 1).find('[value="yes"]').is(":checked");
        t ? (console.log("No"), $(".rstepwrapper").eq(e - 1).find(".col-md-24").removeClass("hide-error-message"), console.log("disable next"), r.disableNext($("button.r-btn-avanti"))) : a && (console.log("Yes"), $(".rstepwrapper").eq(e - 1).find(".col-md-24").addClass("hide-error-message"), console.log("active next"), r.setActiveNext($("button.r-btn-avanti")))
    },
    this.setStep = function (e) {
        $(".r-form-submit-wrapper button").attr("data-step", e),
        r.refreshSteps(e)
    },
    this.toggleAccordione = function () {
        $('[data-accordion="title"]').on("click", function () {
            $(this).addClass("rhide"),
            $(this).next('[data-accordion="detail"]').removeClass("rhide")
        }),
        $('[data-accordion="detail"] .rtitle-accordotion').on("click", function () {
            $(this).parent().addClass("rhide"),
            $(this).parent().prev('[data-accordion="title"]').removeClass("rhide")
        })
    },
    this.attachOpenMortgageFormEvent = function () {
        $("[data-openmortgageform]").on("click", function () {
            r.getInputs(this);
            var e = window.location.pathname,
            t = $(this).attr("data-openmortgageform") || "",
            a = $(this).attr("data-openmortgageform2") || "",
            n = {
                form1: e,
                form2: t,
                form3: a
            };
            mortageFormJSON = JSON.stringify(n),
            "" != $(this).attr("href") && "#" != $(this).attr("href") || localStorage.setItem("mortageForm", mortageFormJSON);
            var o = sessionStorage.getItem("mortageStep") || "";
            return "" !== o ? ("2" == o && (window.location.href = $(this).attr("data-openmortgageform2")), "3" == o && (window.location.href = $(this).attr("data-openmortgageform3")), "2" !== o && "3" !== o && (window.location.href = $(this).attr("data-openmortgageform"))) : "" != $(this).attr("href") && "#" != $(this).attr("href") || (window.location.href = $(this).attr("data-openmortgageform")),
            !1
        })
    },
    this.getInputs = function (e) {
        if ($('[data-active-tab="withsalary"]').hasClass("open"))
            var t = "" + window.intesa.mortgage_calculator.monthlyInstallmentValuePromo || "", a = "" + window.intesa.mortgage_calculator.interestRateResultPromo || "";
        else
            var t = "" + window.intesa.mortgage_calculator.monthlyInstallmentValueStandard || "", a = "" + window.intesa.mortgage_calculator.interestRateResultStandard || "";
        var n = $(e).parents("section[data-calculator]"),
        o = "" + window.intesa.mortgage_calculator.tenorValue || "",
        i = "" + window.intesa.mortgage_calculator.borrowAmountValue || "",
        s = $("[name=fProductName]", n).val() || "",
        l = $("[name=fProductId]", n).val() || "",
        c = $("[name=fInterestPeriod]", n).val() || "",
        u = $("[name=fLoanPurpose]", n).val() || "";
        r.sessionMortage[0].form1.loanAmount = i || "",
        r.sessionMortage[0].form1.installment = t || "",
        r.sessionMortage[0].form1.tenor = o || "",
        r.sessionMortage[0].form1.productId = l || "",
        r.sessionMortage[0].form1.productName = s || "",
        r.sessionMortage[0].form1.interestRate = a || "",
        r.sessionMortage[0].form1.interestPeriod = c || "",
        r.sessionMortage[0].form1.loanPurpose = u || "",
        sessionStorage.setItem("mortageJSON", JSON.stringify(r.sessionMortage))
    },
    this.showHideElements = function (e) {
        if (null !== e && void 0 !== e && "" !== e) {
            var t = r.getStep(),
            a = $(".rstepwrapper").eq(t - 1);
            for (a.find(".mod-hom1").addClass("rhide"), e = parseInt(e), i = 0; i <= e - 1; i++)
                a.find(".mod-hom1").eq(i).removeClass("rhide");
            e > 0 && r.setActiveNext($("button.r-btn-avanti")),
            $(".rstepwrapper").eq(parseInt(r.getStep()) - 1).find("input").length > 1 && $(".rstepwrapper").eq(parseInt(r.getStep()) - 1).find("input").each(function () {
                if ($(this).is(":visible") && "" == $(this).val())
                    return void r.disableNext($("button.r-btn-avanti"))
            })
        }
    },
    this.resetForms2 = function (e) {
        parseInt(e) - 1 == 0 && ($('input[name="debitorIncomeOne"]').val(""), r.sessionMortage[0].form2.debitorIncomeOne = ""),
        parseInt(e) - 1 == 1 && ($('input[name="debitorIncomeTwo"]').val(""), r.sessionMortage[0].form2.debitorIncomeTwo = ""),
        parseInt(e) - 1 == 2 && ($('input[name="debitorIncomeThree"]').val(""), r.sessionMortage[0].form2.debitorIncomeThree = ""),
        parseInt(e) - 1 == 3 && ($('input[name="debitorIncomeFour"]').val(""), r.sessionMortage[0].form2.debitorIncomeFour = "")
    },
    this.resetForms3 = function (e) {
        parseInt(e) - 1 == 0 && ($('input[name="collateralOne"]').val(""), $('input[name="locatedOne"]').val(""), r.sessionMortage[0].form3.collateralOne = "", r.sessionMortage[0].form3.locatedOne = ""),
        parseInt(e) - 1 == 1 && ($('input[name="collateralTwo"]').val(""), $('input[name="locatedTwo"]').val(""), r.sessionMortage[0].form3.collateralTwo = "", r.sessionMortage[0].form3.locatedTwo = ""),
        parseInt(e) - 1 == 2 && ($('input[name="collateralThree"]').val(""), $('input[name="locatedThree"]').val(""), r.sessionMortage[0].form3.collateralThree = "", r.sessionMortage[0].form3.locatedThree = "")
    },
    $("[data-showloan]").on("click", function () {
        $("[data-showHidLoan]").removeClass("rhide")
    }),
    $("[data-hideloan]").on("click", function () {
        $("[data-showHidLoan]").addClass("rhide").find("input").val("")
    }),
    this.showHidLoan = function () {
        $("[data-showloan]").is(":checked") ? $("[data-showHidLoan]").removeClass("rhide") : $("[data-showHidLoan]").addClass("rhide").find("input").val("")
    },
    $(".r-thankyou-time label").on("click", function () {
        $(".r-thankyou-time label").removeClass("active"),
        $(this).addClass("active")
    }),
    $(document).on("input", ".r-thankyou-wrapper [name='prefixNumber'], .r-thankyou-wrapper [name='phoneNumber']", function (e) {
        $(this).val($(this).val().replace(/[^0-9]/g, ""))
    }),
    this.checkPrivacy = function () {
        var e = "none";
        $("#item_thanksName").length > 0 && (e = $("#item_thanksName").val());
        var t = "none";
        $("#item_thanksLastname").length > 0 && (t = $("#item_thanksLastname").val());
        var a = $("input[name='recaptchaKey']").length >= 1 || "" != $(".g-recaptcha-response").val();
        $("#privacystatus").is(":checked") && "" !== $("#item_email").val() && "" !== e && "" !== t && "" !== $('[name="prefixNumber"]').val() && "" !== $('[name="phoneNumber"]').val() && a ? $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !1) : $(".r-thankyou-wrapper .j-privacy__btn").prop("disabled", !0)
    },
    $("#privacystatus").on("click", function () {
        r.checkPrivacy()
    }),
    $(".r-thankyou-wrapper input").on("change input", function (e) {
        r.checkPrivacy()
    }),
    $(".r-thankyou-content input[required]").on("focusout blur", function () {
        $(this).parsley().validate()
    }),
    $("[data-formsent]").length > 0 && (sessionStorage.removeItem("mortageJSON"), sessionStorage.removeItem("mortageStep"));
    var o;
    window.onresize = function () {
        clearTimeout(o),
        o = setTimeout(a, 100)
    },
    this.showModale = function () {
        $("[data-show-modal]").length && $("[data-show-modal]").each(function (e, t) {
            if ("true" == $(this).attr("data-show-modal")) {
                var a = $(this).attr("id");
                $("[data-bs-target='#" + a + "']").get(0).click(),
                $("#" + a).addClass("in")
            }
        })
    }
}, Intesa.Survey.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.survey || (window.intesa.survey = new Intesa.Survey),
    window.intesa.survey
}, $(document).ready(function () {
    function e(e, t) {
        return e.outerWidth() - a.width()
    }
    function t(t, a) {
        var n = (t.find("table"), e(r, t));
        console.log(n),
        t.scrollLeft() >= n ? a.hide() : (a.height(r.outerHeight()), a.show())
    }
    var a = $(".table__component");
    if (a.length > 0) {
        var r = a.find("table"),
        n = a.find(".table__container"),
        o = a.find(".table__vanish");
        e(r, n);
        t(n, o),
        n.scroll(function (e) {
            t($(e.target), o)
        })
    }
});
var Intesa = Intesa || {};
Intesa.TicketingComplaint = function () {
    console.log("started-ticketingComplaint");
    var e = $("html").attr("data-bank"),
    t = $("html").attr("lang"),
    a = this;
    this.responseTicketing = {},
    this.activeReasons = {},
    this.activeSpecifyType = {},
    this.activeSubReasons = {},
    this.typeSegment = $('input[name="segment"]')[0] ? $('input[name="segment"]')[0].value : "",
    this.chooseTypeValue = "",
    this.chooseReason = "",
    this.chooseSubReason = "",
    this.mobileOrDesktop = !1,
    this.textParagraph = "",
    this.init = function () {
        if ("BIB" == e) {
            var t = $(window).width(),
            r = !(t < 768);
            a.callWs(),
            a.mobileOrDesktop = r,
            console.log(t),
            a.mobileOrDesktop = !!r,
            a.createButtonTypeValue(),
            a.attemptEventsTypeValue(),
            a.attemptEventsSubmit(),
            $(".modale-ticket-complaint") && a.eventsModale(),
            a.eventsModaleSubmit(),
            a.textParagraph = $(".individuals-reason .for__gridWrapperTabs__title.specifyTitle").text(),
            a.controlEmailAndPhone()
        }
    },
    this.callWs = function () {
        var r,
        n = $("[data-ticket-complaint]").get(0);
        if (n) {
            var o = window.location.origin,
            i = o + $("[data-ticket-complaint]").get(0).getAttribute("data-endpoint");
            $.ajax({
                type: "GET",
                url: i,
                contentType: "application/json",
                crossDomain: !0,
                dataType: "json",
                async: !1,
                success: function (e) {
                    r = e.types,
                    console.log("Succes: true, ----with response: " + JSON.stringify(e) + "----")
                },
                error: function (e) {
                    console.log("Error with response:" + e)
                }
            });
            var s = JSON.stringify(r);
            "BIB" == e && t.indexOf("en") > -1 && (s.includes("typeValueEnglesh") || s.includes("typeValueEnglish")) && (s = s.replace(/"typeValue"/g, '"typeValueSr"'), s = s.replace(/"typeValueEnglesh"/g, '"typeValue"'), s = s.replace(/"typeValueEnglish"/g, '"typeValue"'), s = s.replace(/"reasonValue"/g, '"reasonValueSr"'), s = s.replace(/"reasonValueEnglesh"/g, '"reasonValue"'), s = s.replace(/"reasonValueEnglish"/g, '"reasonValue"'), s = s.replace(/"subReasonValue"/g, '"subReasonValueSr"'), s = s.replace(/"subReasonValueEnglesh"/g, '"subReasonValue"'), s = s.replace(/"subReasonValueEnglish"/g, '"subReasonValue"')),
            a.responseTicketing = JSON.parse(s)
        }
    },
    this.attemptEventsSubmit = function () {
        $(document).on("click", "[data-submit-ticketing-status]", function () {
            var e = $('input[name="inquirycode"]').get(0).value,
            t = $('input[name="hashtag"]').get(0).value,
            a = window.location.origin,
            r = a + $("[data-submit-ticketing-status]").get(0).getAttribute("data-endpoint-form-ticketing-platform");
            if (null !== e && null !== t && "undefined" !== r && "" !== e && "" !== t) {
                $("[data-form-ticket-platform]").get(0).style.display = "none",
                $("[data-form-ticket-processing]").get(0).style.display = "block";
                var n = "&inquiryNumber=" + e + "&hashTag=" + t,
                r = r + n;
                $.ajax({
                    type: "GET",
                    url: r,
                    contentType: "application/json",
                    dataType: "json",
                    async: !1,
                    success: function (e) {
                        $("[data-form-ticket-processing]").get(0).style.display = "none";
                        var t = sessionStorage.getItem("jsonFormSubmit");
                        sessionStorage.setItem("jsonFormSubmit", ""),
                        null != t && "undefined" != t && (t = JSON.parse(t), window.dataLayer.push(t)),
                        console.log("inquiryNumber: " + e.inquiryNumber + "----"),
                        console.log("hashTag: " + e.hashTag + "----"),
                        console.log("submissionDate: " + e.submissionDate + "----"),
                        console.log("status: " + e.status + "----");
                        var a = e.status;
                        a.includes("processing") || a.includes("obrade") ? $("[data-form-ticket-processing]").get(0).style.display = "block" : a.includes("404") || a.includes("nije pronađen") || a.includes("GENERIC ERROR") ? $("[data-form-ticket-not-found]").get(0).style.display = "block" : a.includes("is accepted") || a.includes("je prihvaćen") ? $("[data-form-ticket-success]").get(0).style.display = "block" : $("[data-form-ticket-error]").get(0).style.display = "block"
                    },
                    error: function (e) {
                        $("[data-form-ticket-processing]").get(0).style.display = "none",
                        $("[data-form-ticket-error]").get(0).style.display = "block",
                        console.log("Error with response:" + e)
                    }
                })
            }
        })
    },
    this.eventsModaleSubmit = function () {
        $(".modale-submit-ticketing")[0] && $(document).on("click", ".close-submit-ticketing", function () {
            $(".modale-submit-ticketing").get(0).style.display = "none"
        })
    },
    this.eventsModale = function () {
        $(document).on("click", ".tooltip-ticketing", function () {
            $(".modale-ticket-complaint")[0].style.display = "block";
            $(".modale-ticket-complaint").get(0);
            $(document).on("click", ".close-ticketing", function () {
                $(".modale-ticket-complaint").get(0).style.display = "none"
            })
        })
    },
    this.createSelectMobile = function () {
        if (null !== a.responseTicketing) {
            var e = a.responseTicketing.length,
            t = a.responseTicketing;
            if (e > 0) {
                var r = "";
                r += "<div class='section__form'><div class='spaceBottom'><div class='label-inside' data-component='AnimatedInputLabel'><select class='form-control fc-edited' data-interest-select id='idsel2' required name='interestRateType'>";
                for (var n = 0; n < e; n++) {
                    r = r + "<option value=" + n + ">" + a.capitalizedString(t[n].typeValue) + "</option>"
                }
                $("[data-ticket-complaint]").get(0).innerHTML = r + "</select>\t<label for='idsel2'></label></div><div class='errorMessages__idsel2'></div></div></div>"
            }
        } else
            console.log("Error with responseTicketing: null")
    },
    this.createButtonTypeValue = function () {
        if (null !== a.responseTicketing) {
            var e = a.responseTicketing.length,
            t = a.responseTicketing;
            if (e > 0) {
                for (var r = "", n = 0; n < e; n++) {
                    var o = a.capitalizedString(t[n].typeValue),
                    i = t[n].typeId;
                    r = r + "<a class='for__tabItem j-for__tabItem ticketing' tabindex='" + n + "' href='javascript:;' data-tab-id='" + i + "' data-tab='" + n + "' data-tab-value='" + o + "|" + o + "'><div class='for__tabRect'><div class='for__tabInner'><label class='container-complaints'>" + o + "<input type='radio' data-index-type-values='" + n + "' id='typeOfRequest' name='typeOfRequest' value='" + i + "'><span class='checkmark-complaint'></span></label></div></div></a>"
                }
                $("[data-ticket-complaint]").get(0).innerHTML = r
            }
        } else
            console.log("Error with responseTicketing: null")
    },
    this.getActiveTypeValue = function (e) {
        var t = (e.getAttribute("data-tab-value").split("|")[0], parseInt(e.getAttribute("data-tab"))),
        r = a.responseTicketing[t].reasons;
        r.length > 0 && (a.activeReasons = r)
    },
    this.attemptEventsTypeValue = function () {
        $(document).on("click", "[data-tab]", function () {
            a.getActiveTypeValue(this),
            a.setReasonOfWritingTypeValue(),
            $(window).width() > 768 ? a.attemptEventsReasonsWindows() : a.attemptEventsReasonsMobile();
            var e = parseInt(this.getAttribute("data-tab"));
            a.clearButtonTypeValue(this, e);
            var t = parseInt(this.getAttribute("data-tab-id"));
            $('input[name="typeId"]').val(t),
            $("[data-specify-type-container]").get(0).style.display = "none",
            a.chooseTypeValue = t
        })
    },
    this.attemptEventsReasonsWindows = function (e) {
        $(document).on("click", "[data-tab-reason]", function () {
            a.getActiveReasonsValue(this),
            a.setSpecifyTypeValue(this.getAttribute("data-tab-value").split("|")[0]),
            a.attemptEventsSubReasons(),
            this.classList.add("active"),
            a.clearButtonReasons(this, "[data-tab-reason]"),
            a.chooseReason = this.getAttribute("data-tab-value").split("|")[0];
            var e = parseInt(this.getAttribute("data-tab-id"));
            $('input[name="reasonId"]').val(e)
        })
    },
    this.attemptEventsReasonsMobile = function () {
        $(document).on("change", "[data-select-reason]", function () {
            console.log($(this).val()),
            a.getActiveReasonsValue(this),
            a.setSpecifyTypeValue($("[data-select-reason] option:selected").text()),
            a.attemptEventsSubReasonsMobile();
            var e = $(this).val();
            $('input[name="reasonId"]').val(e)
        })
    },
    this.setReasonOfWritingTypeValue = function () {
        var e = a.activeReasons,
        r = e.length;
        if ($("[data-container-reason-complaint]").get(0).style.display = "none", r > 0) {
            var n = "",
            o = !0;
            if ($(window).width() > 768) {
                for (var i = 0; i < r; i++) {
                    o = !0;
                    for (var s = e[i].subReasons, l = 0; l < s.length && o; l++)
                        for (var c = s[l].subReasonSegmentList, u = 0; u < c.length && o; u++)
                            c[u].includes(a.typeSegment) && (o = !1, $("[data-container-reason-complaint]").get(0).style.display = "block");
                    if (!o) {
                        var d = a.capitalizedString(e[i].reasonValue);
                        n = n + "<a class='for__tabItem j-for__tabItem' tabindex='" + i + "' href='javascript:;' data-tab-reason='" + i + "' data-tab-value='" + d + "|" + d + "' data-tab-id='" + a.capitalizedString(e[i].reasonId) + "'><div class='for__tabRect'><div class='for__tabInner'><span class='for__tabText'><span class='for__tabImage icon-amount'></span>" + d + "</span></div></div></a>"
                    }
                }
                $("[data-reason-of-writing-complaint]").get(0).innerHTML = n
            } else {
                t.indexOf("sr") > -1 ? n += "<div class='section__form'><div class='spaceBottom'><div class='label-inside' data-component='AnimatedInputLabel'><select class='form-control fc-edited ticketing' data-interest-select data-select-reason id='idsel2' required name='interestRateType'><option value='' selected>Izaberite oblast</option>" : t.indexOf("en") > -1 && (n += "<div class='section__form'><div class='spaceBottom'><div class='label-inside' data-component='AnimatedInputLabel'><select class='form-control fc-edited ticketing' data-interest-select data-select-reason id='idsel2' required name='interestRateType'><option value='' selected>Choose an Area</option>");
                for (var i = 0; i < r; i++) {
                    o = !0;
                    for (var s = e[i].subReasons, l = 0; l < s.length && o; l++)
                        for (var c = s[l].subReasonSegmentList, u = 0; u < c.length && o; u++)
                            c[u].includes(a.typeSegment) && (o = !1, $("[data-container-reason-complaint]").get(0).style.display = "block");
                    if (!o) {
                        var d = a.capitalizedString(e[i].reasonValue);
                        n = n + "<option value='" + e[i].reasonId + "'>" + d + "</option>"
                    }
                }
                $("[data-reason-of-writing-complaint]").get(0).innerHTML = n
            }
        }
    },
    this.getActiveReasonsValue = function (e) {
        if ($(window).width() > 768) {
            var t = (e.getAttribute("data-tab-value").split("|")[0], parseInt(e.getAttribute("data-tab-reason"))),
            r = a.activeReasons[t].subReasons;
            r.length > 0 && (a.activeSubReasons = r)
        } else
            for (var n = parseInt($(e).val()), o = 0; o < a.activeReasons.length; o++)
                parseInt(a.activeReasons[o].reasonId) === n && a.activeReasons[o].subReasons.length > 0 && (a.activeSubReasons = a.activeReasons[o].subReasons)
    },
    this.attemptEventsSubReasons = function () {
        $(document).on("click", "[data-tab-subreason]", function () {
            this.classList.add("active"),
            a.clearButtonReasons(this, "[data-tab-subreasons]"),
            a.chooseSubReason = this.getAttribute("data-tab-value").split("|")[0],
            $("#data-tab").val(a.chooseTypeValue + "|" + a.chooseReason + "|" + a.chooseSubReason);
            var e = parseInt(this.getAttribute("data-tab-id"));
            $('input[name="subReasonId"]').val(e)
        })
    },
    this.attemptEventsSubReasonsMobile = function () {
        $(document).on("change", "[data-select-subreason]", function () {
            console.log($(this).val()),
            a.chooseSubReason = $(this).val(),
            $("#data-tab").val(a.chooseTypeValue + "|" + a.chooseReason + "|" + a.chooseSubReason);
            var e = $(this).val();
            $('input[name="subReasonId"]').val(e)
        })
    },
    this.setSpecifyTypeValue = function (e) {
        var r = a.activeSubReasons,
        n = r.length,
        o = !0;
        if (n > 0) {
            var i = "";
            if ($(window).width() > 768) {
                for (var s = 0; s < n; s++) {
                    o = !0;
                    for (var l = r[s].subReasonSegmentList, c = 0; c < l.length && o; c++)
                        l[c].includes(a.typeSegment) && (o = !1, $(".individuals-reason .for__gridWrapperTabs__title.specifyTitle").show(), $("[data-specify-type-container]").get(0).style.display = "block");
                    if (!o) {
                        var u = a.capitalizedString(r[s].subReasonValue),
                        d = a.capitalizedString(r[s].subReasonId);
                        i = i + "<a class='for__tabItem j-for__tabItem' tabindex='" + s + "' href='javascript:;' data-tab-subreason='" + s + "' data-tab-value='" + u + "|" + u + "' data-tab-id='" + d + "'><div class='for__tabRect'><div class='for__tabInner'><span class='for__tabText'><span class='for__tabImage icon-amount'></span>" + u + "</span></div></div></a>"
                    }
                }
                $("[data-reason-of-specify-type]").get(0).innerHTML = i
            } else {
                $(".individuals-reason .for__gridWrapperTabs__title.specifyTitle").hide(),
                t.indexOf("sr") > -1 ? i = i + "<div class='section__form'><div class='spaceBottom'><div class='label-inside' data-component='AnimatedInputLabel'><select class='form-control fc-edited ticketing' data-interest-select data-select-subreason id='idsel3' required name='interestRateType'><option value='' selected>Izaberite podoblast</option><optgroup label='" + e + "'>" : t.indexOf("en") > -1 && (i = i + "<div class='section__form'><div class='spaceBottom'><div class='label-inside' data-component='AnimatedInputLabel'><select class='form-control fc-edited ticketing' data-interest-select data-select-subreason id='idsel3' required name='interestRateType'><option value='' selected>Choose a Subcategory</option><optgroup label='" + e + "'>");
                for (var s = 0; s < n; s++) {
                    var l = r[s].subReasonSegmentList;
                    o = !0;
                    for (var c = 0; c < l.length && o; c++)
                        l[c].includes(a.typeSegment) && (o = !1, $(".individuals-reason .for__gridWrapperTabs__title.specifyTitle").show(), $("[data-specify-type-container]").get(0).style.display = "block");
                    if (!o) {
                        var u = a.capitalizedString(r[s].subReasonValue),
                        d = a.capitalizedString(r[s].subReasonId);
                        i = i + "<option value='" + d + "'>" + u + "</option>"
                    }
                }
                $("[data-reason-of-specify-type]").get(0).innerHTML = i
            }
        }
        $(".individuals-reason .for__gridWrapperTabs__title.specifyTitle").text(a.textParagraph + " " + e)
    },
    this.clearButtonReasons = function (e, t) {
        var a = "";
        a = t.includes("data-tab-reason") ? "[data-reason-of-writing-complaint]" : "[data-reason-of-specify-type]";
        for (var r = $(a).children().length, n = (parseInt(e.getAttribute("tabindex")), 0); n < r; n++) {
            var o = $(a).children()[n];
            o !== e && o.classList.remove("active")
        }
    },
    this.clearButtonTypeValue = function (e, t) {
        e.classList.add("activeWhite"),
        $("[data-index-type-values='" + t + "']").prop("checked", !0);
        var a = $("[data-tab]").length;
        if (a > 0)
            for (var r = 0; r < a; r++)
                r !== t && ($("[data-index-type-values='" + r + "']").prop("checked", !1), $("[data-tab]")[r].classList.remove("activeWhite"))
    },
    this.capitalizedString = function (e) {
        return e = e.toUpperCase(),
        e[0].concat(e.substring(1, e.length).toLowerCase())
    },
    this.controlEmailAndPhone = function () {
        $("button[data-layer-bib-push]").on("click", function () {
            if ("LEGAL_ENTITY" != a.typeSegment && $("[data-ticket-complaint]").length > 0) {
                var e = $("#item_email").val(),
                t = $('input[name="phoneNumber"]').val();
                "" == e && "" == t ? ($("#item_email")[0].setAttribute("required", !0), $('input[name="phoneNumber"]')[0].setAttribute("required", !0)) : ($('input[name="phoneNumber"]')[0].removeAttribute("required"), $("#item_email")[0].removeAttribute("required"))
            }
        })
    }
}, Intesa.TicketingComplaint.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.ticketing_complaint || (window.intesa.ticketing_complaint = new Intesa.TicketingComplaint),
    window.intesa.ticketing_complaint
};
var Intesa = Intesa || {};
Intesa.videoPlayerHandler = function () {
    var e = this,
    t = "rtl" === $("html").attr("dir");
    this.prev,
    this.next,
    this.track,
    this.carouselWidth,
    this.cardWidth,
    this.card,
    this.style,
    this.margin,
    this.padding,
    this.border,
    this.minTrack = 15,
    this.currentCard = 15,
    this.currentCards,
    this.totalCardWidth,
    this.iframe = $("#iframe__video"),
    this.iframeVideo = $("video#iframe__video"),
    this.numberOfCardsToDisplay = 4,
    this.init = function () {
        if (!document.querySelector(".video__player__wrapper"))
            return void console.log("not init");
        if (console.log("init"), isMultiple()) {
            this.currentCards = new Array($(".newVideoPlayerComponent").length);
            for (var t = 0; t < $(".newVideoPlayerComponent").length; t++)
                $(".newVideoPlayerComponent")[t].classList.add("n" + t), this.currentCards[t] = 0
        }
        try {
            e.prev = document.querySelector(".prev"),
            e.next = document.querySelector(".next"),
            e.track = document.querySelector(".track"),
            e.carouselWidth = document.querySelector(".carousel-container").offsetWidth,
            e.cardWidth = document.querySelector(".card-container").offsetWidth,
            e.card = document.querySelector(".card-container"),
            e.width = e.card.offsetWidth,
            e.style = e.card.currentStyle || window.getComputedStyle(e.card),
            e.margin = parseFloat(e.style.marginLeft) + parseFloat(e.style.marginRight),
            e.padding = parseFloat(e.style.paddingLeft) + parseFloat(e.style.paddingRight),
            e.border = parseFloat(e.style.borderLeftWidth) + parseFloat(e.style.borderRightWidth),
            e.cardWidth = e.width + e.margin + e.padding + e.border,
            console.log("video player card width :", e.cardWidth),
            console.log("total card width :", -Math.abs(e.cardWidth * document.querySelectorAll(".card-container").length)),
            e.totalCardWidth = -Math.abs(e.cardWidth * document.querySelectorAll(".card-container").length),
            document.documentElement.clientWidth > 768 ? (e.track.style.transform = "translateX(0)", e.minTrack = 0, e.currentCard = 0) : (e.track.style.transform = "translateX(0)", e.minTrack = 0, e.currentCard = 0, this.numberOfCardsToDisplay = 2),
            e.buttonsCheck(),
            e.createThumbYoutubeIframe(),
            e.createThumbYoutubeCards()
        } catch (e) {
            console.log(e),
            console.log("no video to handle")
        }
        e.initEvents()
    },
    this.findPos = function () {},
    this.createThumbYoutubeCards = function () {
        $(".card").each(function () {
            var e,
            t = $(this).attr("js-type-link"),
            a = $(this).attr("js-has-thumb");
            if ("external" == t && "false" == a) {
                var r = $(this).find("img").attr("js-data-video"),
                n = r.match(/youtube\.com.*(\?v=|\/embed\/)(.{11})/).pop();
                console.log("videoId", n),
                11 == n.length && (e = "//img.youtube.com/vi/" + n + "/0.jpg", $(this).find("img").attr("src", e))
            }
        })
    },
    this.createThumbYoutubeIframe = function () {
        var e,
        t = $("#poster").attr("js-link-type"),
        a = $("#poster").attr("js-has-thumb");
        if ("external" == t && "false" == a) {
            var r = $("#iframe__video").attr("src"),
            n = r.match(/youtube\.com.*(\?v=|\/embed\/)(.{11})/).pop();
            console.log("videoId iframe:", n),
            11 == n.length && (e = "//img.youtube.com/vi/" + n + "/0.jpg", $("#poster").attr("src", e))
        }
    },
    this.addVideoToCards = function (t, a, r, n) {
        console.log("url passed:", t);
        var o = $("#poster").attr("src"),
        i = n.find("img").attr("src");
        "" == i || null == i || void 0 == i ? $("#poster").attr("src", " ") : $("#poster").attr("src", i),
        n.attr("js-description-card", r),
        n.find("img").attr("src", o),
        n.find("img").attr("js-data-video", t),
        n.attr("js-description-card", r),
        n.find(".card-description")[0].innerText = a,
        e.buttonsCheck()
    },
    this.hidePoster = function (e) {
        null != e && void 0 != e || (e = 0);
        var t = document.querySelectorAll(".video-icon")[e],
        a = document.querySelectorAll("#poster")[e];
        void 0 != t && null != t && void 0 != a && null != a && (t.style.display = "none", a.style.display = "none"),
        $('[id="iframe__video"]').eq(e).show()
    },
    this.buttonsCheck = function (a) {
        var r = -Math.abs(e.track.offsetWidth) - e.cardWidth + e.cardWidth * e.numberOfCardsToDisplay;
        null == a && (a = e.currentCard),
        t && (a = -a),
        a <= r && (e.prev.style.display = "", e.next.style.display = "none"),
        a >= e.minTrack && (e.prev.style.display = "none", e.next.style.display = ""),
        a > r && a < e.minTrack && (e.prev.style.display = "", e.next.style.display = "")
    },
    this.pip = function () {
        e.iframe.contentWindow.document.getElementsByTagName("video")[0].requestPictureInPicture()
    },
    this.initEvents = function () {
        $(".card").on("click", function () {
            var t = 0;
            isMultiple() && (t = findPos($(this)), e.iframe = $('[id="iframe__video"]').eq(t)),
            console.log(t),
            $('[id="iframe__video"]').eq(t).attr("allow").includes("autoplay") || $('[id="iframe__video"]').eq(t).attr("allow", "picture-in-picture; accelerometer; clipboard-write; encrypted-media; gyroscope; autoplay;");
            var a = $(this),
            r = $('[id="iframe__video"]').eq(t).attr("src"),
            n = $(".video__title")[t].innerText,
            o = $(".video-description")[t].innerText;
            console.log("current url:", r);
            var i = a.find("img").attr("js-data-video");
            if (e.hidePoster(t), i.includes("watch?v=") && (i = i.replace("watch?v=", "embed/")), !i.includes("autoplay")) {
                i += (i.indexOf("?") > -1 ? "&" : "?") + "autoplay=1"
            }
            const s = /^%20/,
            l = /%20$/;
            for (; i.match(s) || i.match(l); )
                i.match(s) && (i = i.replace(s, "")), i.match(l) && (i = i.replace(l, ""));
            a.find("img").attr("js-data-video", i),
            e.iframe.attr("src", i),
            $(".video__title")[t].innerText = a.find(".card-description")[0].innerText,
            $(".video-description")[t].innerText = $(this).attr("js-description-card"),
            r && e.addVideoToCards(r, n, o, $(this))
        }),
        $(".next, .prev").on("click", function () {
            if (isMultiple()) {
                var a = findPos($(this)),
                r = document.getElementsByClassName("newVideoPlayerComponent n" + a)[0].querySelectorAll(".card-container")[0].offsetWidth + parseFloat(e.style.marginLeft) + parseFloat(e.style.marginRight) + parseFloat(e.style.paddingLeft) + parseFloat(e.style.paddingRight) + parseFloat(e.style.borderLeftWidth) + parseFloat(e.style.borderRightWidth);
                totalCardWidth = -Math.abs(document.getElementsByClassName("newVideoPlayerComponent n" + a)[0].querySelectorAll(".card-container")[0].offsetWidth * document.getElementsByClassName("newVideoPlayerComponent n" + a)[0].querySelectorAll(".card-container").length),
                e.prev = document.querySelectorAll(".prev")[a],
                e.next = document.querySelectorAll(".next")[a],
                e.track = document.querySelectorAll(".track")[a],
                e.currentCard = e.currentCards[a],
                t && (r = -r),
                $(this).hasClass("next") ? e.currentCard -= r : e.currentCard += r,
                e.currentCards[a] = e.currentCard
            } else {
                var r = document.querySelector(".card-container").offsetWidth + parseFloat(e.style.marginLeft) + parseFloat(e.style.marginRight) + parseFloat(e.style.paddingLeft) + parseFloat(e.style.paddingRight) + parseFloat(e.style.borderLeftWidth) + parseFloat(e.style.borderRightWidth);
                totalCardWidth = -Math.abs(document.querySelector(".card-container").offsetWidth * document.querySelectorAll(".card-container").length),
                t && (r = -r),
                $(this).hasClass("next") ? e.currentCard -= r : e.currentCard += r
            }
            e.track.style.transform = "translateX(" + e.currentCard + "px)",
            e.buttonsCheck()
        }),
        $("#poster, .video-icon").on("click", function () {
            console.log("clicked");
            var t = 0;
            if (isMultiple() && (t = findPos($(this)), e.iframe = $('[id="iframe__video"]').eq(t)), e.hidePoster(t), "" != e.iframe.attr("js-video-link") && void 0 != e.iframe.attr("js-video-link")) {
                var a = e.iframe.attr("js-video-link");
                if (!a.includes("autoplay")) {
                    a += (a.indexOf("?") > -1 ? "&" : "?") + "autoplay=1"
                }
                $('[id="iframe__video"]').eq(t).attr("allow", "picture-in-picture; accelerometer; clipboard-write; encrypted-media; gyroscope; autoplay;"),
                e.iframe.attr("src", a),
                null != e.iframeVideo && e.iframeVideo[0].play()
            }
        })
    }
}, isMultiple = function () {
    return $(".newVideoPlayerComponent").length > 1
}, findPos = function (e) {
    for (; void 0 == e.attr("class") || -1 == e.attr("class").indexOf("newVideoPlayerComponent"); )
        e = e.parent();
    return Number(e.attr("class").replace("section mod-com19 com19 newVideoPlayerComponent n", "")[0])
}, Intesa.videoPlayerHandler.getInstance = function () {
    return window.intesa || (window.intesa = new Object),
    window.intesa.video_player_handler || (window.intesa.video_player_handler = new Intesa.videoPlayerHandler),
    window.intesa.video_player_handler
};
//# sourceMappingURL=retail.min.js.map
