﻿var Validators = [
    "#CommentingForm",
    "#RegGroupForm",
    "#CertificateInqueryForm",
    "#InquiryProductForm",
    "#RegisterForm",
    "#ForgetPassForm"
];
//My Helpers Start
function openLoginNav() {
    $("#loginModal").modal("show");
    $('a.mobile-nav-toggle').removeClass('opened');
    $('#container').removeClass('move');
    $('.mobile-menu').removeClass('open');


}
function closeLoginNav() {
    $("#loginModal").modal("hide");
}
function ClearTextBoxes(elemet) {
    $(elemet)
        .find(":input")
        .each(function () {
            switch (this.type) {
                case "text":
                    $(this).val("");
                    break;
            }
        });
    $(elemet)
        .find("textarea")
        .each(function () {
            $(this).val("");
        });
    $(elemet)
        .find(':input[type="checkbox"]')
        .each(function () {
            $(this)
                .prop("checked", false)
                .change();
        });
}
$(document).keyup(function (e) {
    if (e.keyCode === 27) closeLoginNav();

});
function CreateValidator(element) {
    $(element).validate({
        ignore: "input[type=hidden], .select2-search__field",
        errorClass: "validation-error-label",
        successClass: "validation-valid-label",
        onkeyup: false,
        highlight: function highlight(element, errorClass) {
            $(element).removeClass(errorClass);
        },

        unhighlight: function unhighlight(element, errorClass) {
            $(element).removeClass(errorClass);
            if ($(element).is("textarea")) {
                $(element)
                    .next()
                    .css("border", "0px solid red");
            }
        },
        errorPlacement: function errorPlacement(error, element) {
            error.insertAfter(element);
        }
    });
}
function CheckNumeric(evt) {
    var charCode = evt.which ? evt.which : evt.keyCode;
    if (charCode !== 46 && charCode > 31 && (charCode < 48 || charCode > 57))
        return false;
    return true;
}
function CheckPersian(evt) {
    var PersianOrASCII = /[آ-ی]/;
    var value = evt.key;
    if (value.match(PersianOrASCII) == null) return false;
    return true;
}
function goStar(obj) {
    obj.setAttribute("type", "password");
}
function ifEmptyPass(obj) {
    if (obj.value == "") {
        obj.removeAttribute("type");
    }
}
function reloadFrame() {
    var srcOld = $("[id$='ReportFrame']").attr("src");
    $("[id$='ReportFrame']").attr("src", srcOld);
    window.$("#Report").modal("show");
}
function openurl(url) {
    window.open(url);
}
$(document).on("click", ".card-rotate .btn-rotate", function () {
    var $rotating_card_container = $(this).closest(".rotating-card-container");
    if ($rotating_card_container.hasClass("hover")) {
        $rotating_card_container.removeClass("hover");
    } else {
        $rotating_card_container.addClass("hover");
    }
});
function alertInPage(msg) {
    swal({
        title: "خطا",
        type: "error",
        text: msg,
        confirmButtonColor: "#c40023",
        showCancelButton: false,
        confirmButtonText: "بستن"
    });
}
function persianToEnglish(value) {
    var newValue = "";
    for (var i = 0; i < value.length; i++) {
        var ch = value.charCodeAt(i);
        if (ch >= 1776 && ch <= 1785) {
            // For Persian digits.
            var newChar = ch - 1728;
            newValue = newValue + String.fromCharCode(newChar);
        } else if (ch >= 1632 && ch <= 1641) {
            // For Arabic & Unix digits.
            var newChar = ch - 1584;
            newValue = newValue + String.fromCharCode(newChar);
        } else newValue = newValue + String.fromCharCode(ch);
    }
    return newValue;
}
function SessionNumberTitle(number) {
    var title =
        arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
    var Tens =
        arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;

    var N = parseInt(number);
    var NumberTitle;
    if (N <= 20 || (N < 100 && N % 10 == 0) || (100 < N < 999 && N % 100 == 0)) {
        switch (N) {
            case 1:
                NumberTitle = "اول";
                break;
            case 2:
                NumberTitle = "دوم";
                break;
            case 3:
                NumberTitle = "سوم";
                break;
            case 4:
                NumberTitle = "چهارم";
                break;
            case 5:
                NumberTitle = "پنجم";
                break;
            case 6:
                NumberTitle = "ششم";
                break;
            case 7:
                NumberTitle = "هفتم";
                break;
            case 8:
                NumberTitle = "هشتم";
                break;
            case 9:
                NumberTitle = "نهم";
                break;
            case 10:
                NumberTitle = "دهم";
                break;
            case 11:
                NumberTitle = "یازدهم";
                break;
            case 12:
                NumberTitle = "دوازدهم";
                break;
            case 13:
                NumberTitle = "سیزدهم";
                break;
            case 14:
                NumberTitle = "چهاردهم";
                break;
            case 15:
                NumberTitle = "پانزدهم";
                break;
            case 16:
                NumberTitle = "شانزدهم";
                break;
            case 17:
                NumberTitle = "هفدهم";
                break;
            case 18:
                NumberTitle = "هجدهم";
                break;
            case 19:
                NumberTitle = "نوزدهم";
                break;
            case 20:
                NumberTitle = "بیست";
                break;
            case 30:
                NumberTitle = "سی";
                break;
            case 40:
                NumberTitle = "چهل";
                break;
            case 50:
                NumberTitle = "پنجاه";
                break;
            case 60:
                NumberTitle = "شصت";
                break;
            case 70:
                NumberTitle = "هفتاد";
                break;
            case 80:
                NumberTitle = "هشتاد";
                break;
            case 90:
                NumberTitle = "نود";
                break;
            case 100:
                NumberTitle = "صد";
                break;
            case 200:
                NumberTitle = "دویست";
                break;
            case 300:
                NumberTitle = "سیصد";
                break;
            case 400:
                NumberTitle = "چهارصد";
                break;
            case 500:
                NumberTitle = "پانصد";
                break;
            case 600:
                NumberTitle = "ششصد";
                break;
            case 700:
                NumberTitle = "هفتصد";
                break;
            case 800:
                NumberTitle = "هشتصد";
                break;
            case 900:
                NumberTitle = "نهصد";
                break;
        }
        if (N == 1 && Tens == false) {
            NumberTitle = "یکم";
        }
        if (N > 10 && N < 100 && N % 10 == 0 && Tens == true) {
            NumberTitle += "م";
        }
    } else {
        var num = N;
        var Digits = [].concat(num + "").map(function (n) {
            return parseInt(n);
        });
        if (Digits.length == 2) {
            var First = SessionNumberTitle(Digits[0] + "0", "", false);
            var Second = SessionNumberTitle(Digits[1], "", false);
            NumberTitle = First + " و " + Second;
        } else if (Digits.length == 3) {
            var First = SessionNumberTitle(Digits[0] + "00", "", false);
            var Second = SessionNumberTitle(Digits[1] + "0", "", false);
            var Third = SessionNumberTitle(Digits[2], "", false);
            NumberTitle = First + " و " + Second + " و " + Third;
        }
    }
    return title != "" ? title + " " + NumberTitle : NumberTitle;
}
//My Helpers End
$(document).ready(function () {
    //if (UserId != -1) {
    //    $("li", ".top-nav").remove();
    //    $("ul", ".top-nav").append('<li><a href="/webpage/default.aspx"><span style="line-height: 69px;">بازگشت به پنل کاربری <i class="fa fa-undo  nav-icons"></i></span></a></li>');
    //}
    $("input").focusout(function () { $(".arcontactus-message-button").show() })
    $("input").focus(function () { $(".arcontactus-message-button").hide() })
    if (window.location.href.toLocaleLowerCase().indexOf("offlinecourse") > -1) {
        $("#offlineCourseBTN > a").attr("href", "#slide-3");

    } else if (window.location.href.toLocaleLowerCase().indexOf("onlinecourse") > -1) {
        $("#onlineCourseBTN").remove();
        $("#onlineCourseBTN").remove();
    }
    Validators.forEach(function (element) {
        CreateValidator(element);
    });
    setDrop(
        ".chartList",
        BackOfficeURL + "/apiw/FrontEndWrap/GetAllCharts/",
        null,
        "Chart_ID",
        "Chart_Name",
        ChartId,
        false,
        null,
        {
            Disabled: ChartId != 1,
            defaultText: "انتخاب سازمان آموزشی",
            notAll: true,
            notSelect: false
        }
    );
    //  callAjax(BackOfficeURL + "/apiw/FrontEndWrap/GetAllDepartments", {}, FillDep, {});

    $("#DropDownLocation").select2({ dir: "rtl" });
    $(".page-loader").fadeOut();
    $(".loader-in").fadeOut("slow");
$(".ostan").on("change", function () {
    param = {
        elementId: ".shahr",
        data: "",
        defaultText: "شهر محل خدمت",
        notAll: false,
        notSelect: true,
        map: function map(data) {
            return { optionValue: data.Shahr_id, optionText: data.shahr_nam };
        }
    };
    callAjax(
        BackOfficeURL + "/apiw/FrontEndWrap/GetAllShahr/",
        { ostan_id: this.value },
        createdropdown,
        param
    );
});
$(document).on("click", "#SendCommentBTN", function () {
    if ($("#CommentingForm").valid()) {
        SendComment();
    }});
    $(document).on("click", "#RegGroupSubmit", function () {
    if ($("#RegGroupForm").valid()) {
        OrganRequest();
    }

});
$(document).on("click", "#SubmitInquiryProductBTN", function () {
    if ($("#InquiryProductForm").valid()) {
        GetInqueryProduct();
    }
    });
$('#ButtonLogin').on("click", function () {
    LoginMe();
    });
$(".chartList").on("change", function () {
    if ($(".chartList").select2("data")[0] != undefined) {
        if ($(".chartList").select2("data")[0].Chart_IsPass == true) {
            $("#Activation").text("کد دسترسی را وارد نمایید(الزامی).");
            $("#RadTextBoxActive").addClass("required");
        } else {
            $("#Activation").text(" کد دسترسی کارت شارژ (کارت هدیه) را وارد نمایید.");
            $("#RadTextBoxActive").removeClass("required");
        }
        if ($(".chartList").select2("data")[0].Chart_ID == 27) {
            $("#locDrop").show();
        } else {
            $("#locDrop").hide();
        }
    }
    });
$(".ShowModalReg").on("click", function () {
    closeLoginNav();
    setTimeout(function () {
        $("#regModal").modal("show");
    }, 500);
});
$(".ShowModalLogin").on("click", function () {
    $("#regModal").modal("hide");
    setTimeout(function () {
        openLoginNav();
    }, 500);
});

    //is Android Device
    if (/Android/i.test(navigator.userAgent)) {
        document.getElementById("AndroidDevice").style.height = "100%";
    }

});
function SendComment() {
    param = {
        elementId: "#SiteCommentLoader",
        data: ""
    };
    var Cm = {
        SiteComment_name: $("#SiteComment_name").val(),
        SiteComment_mobile: $("#SiteComment_mobile").val(),
        SiteComment_desc: $("#SiteComment_desc").val()
    };
    callAjax(
        BackOfficeURL + "/apiw/FrontEndWrap/InsertSiteComment",
        Cm,
        alert2,
        param
    );
    ClearTextBoxes("#CommentingForm");
}

function OrganRequest() {
    param = {
        elementId: "#RegGroupLoader",
        data: ""
    };
    var OrgRequest = {
        OrganReqName: $("#OrganReqNameTXT").val(),
        OrganReqIndividuallink: $("#OrganReqIndividuallinkTXT").val(),
        OrganReqMobile: $("#OrganReqMobileTXT").val(),
        OrganReqTel: $("#OrganReqTelTXT").val()
    };
    callAjax(
        BackOfficeURL + "/apiw/FrontEndWrap/InsertORganRequest",
        OrgRequest,
        alert2,
        param
    );
    ClearTextBoxes("#RegGroupForm");
}
$(document).on('click', '#SubmitCertiInqueryBTN', function () {
    if ($("#CertificateInqueryForm").valid()) {
        GetCertificateInquery();
    }
});
function GetCertificateInqueryClick() {

    if ($("#CertificateInqueryForm").valid()) {
        GetCertificateInquery();
    }
    //$('#CertificateInquery').modal()
};
function GetCertificateInquery() {
    param = {
        elementId: "#CertificateInqueryLoader",
        data: ""
    };
    var Certi = {
        CertificateNumber: $("#CICertNumberTXT").val(),
        UserNumericID: $("#CINationaIDTXT").val()
    };
    callAjax(
        BackOfficeURL + "/apiw/FrontEndWrap/GetCertificateInquery",
        Certi,
        CertiVerify,
        param
    );
    ClearTextBoxes("#CertificateInqueryForm");
}
function CertiVerify(param) {
    if (param.data == "0") {
        //Certi NotFound
        $("#CertiInqueryResult")
            .empty()
            .append(
                '<div class="alert alert-danger rounded" data-close="true"></a><p>\u06AF\u0648\u0627\u0647\u06CC\u0646\u0627\u0645\u0647 \u0627\u06CC \u0628\u0627 \u0627\u06CC\u0646 \u0634\u0645\u0627\u0631\u0647 \u0635\u0627\u062F\u0631 \u0646\u0634\u062F\u0647 \u0627\u0633\u062A.</p></div>'
            );
    } else if (param.data == "-1") {
        //UserNotFounf
        $("#CertiInqueryResult")
            .empty()
            .append(
                '<div class="alert alert-danger rounded" data-close="true"><p>\u06A9\u062F \u0645\u0644\u06CC \u0648\u0627\u0631\u062F \u0634\u062F\u0647 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A.</p></div>'
            );
    } else {
        //Found
        $("#CertiInqueryResult")
            .empty()
            .append(
                '<div class="alert alert-success rounded" data-close="true"><p><a class="image-popup-no-margins" href="' +
                param.data +
                '">\u0634\u0645\u0627\u0631\u0647 \u06AF\u0648\u0627\u0647\u06CC\u0646\u0627\u0645\u0647 \u0645\u0648\u0631\u062F \u062A\u0627\u06CC\u06CC\u062F \u0627\u0633\u062A\u060C \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06AF\u0648\u0627\u0647\u06CC\u0646\u0627\u0645\u0647 \u06A9\u0644\u06CC\u06A9 \u0646\u0645\u0627\u06CC\u06CC\u062F</a></p></div>'
            );
        $(".image-popup-no-margins").magnificPopup({
            type: "image",
            closeOnContentClick: true,
            closeBtnInside: false,
            fixedContentPos: true,
            mainClass: "mfp-no-margins mfp-with-zoom",
            image: {
                verticalFit: true
            },
            zoom: {
                enabled: true,
                duration: 300
            }
        });
    }
}

function GetInqueryProduct() {
    param = {
        elementId: "#CertificateInqueryLoader",
        data: ""
    };
    var InqueryProOrder = {
        PaymentID: $("#InquiryProductCodeTXT").val(),
        MobileNumber: $("#InquiryProductPhoneTXT").val()
    };
    callAjax(
        BackOfficeURL + "/apiw/FrontEndWrap/GetInqueryProductOrder",
        InqueryProOrder,
        InqueryProOrderResult,
        param
    );
    ClearTextBoxes("#InquiryProductForm");
    ResetCaptcha(rcapInquiryProduct, "#SubmitInquiryProductBTN");
}
function InqueryProOrderResult(param) {
    if (param.data != null) {
        $("#SubmitInquiryProductResult")
            .empty()
            .append(
                '<div class="table-responsive">\n                                <table class="rtl table table-bordered text-center table-striped">\n                                    <tr><td>\u0646\u0648\u0639 \u06A9\u0627\u0644\u0627 :</td><td>' +
                param.data.productType_Name +
                "</td><td>\u0646\u0627\u0645 \u06AF\u0631\u0648\u0647 :</td><td>" +
                param.data.productSubType_Name +
                "</td></tr>\n                                    <tr><td>\u0646\u0627\u0645 \u06A9\u0627\u0644\u0627 :</td><td>" +
                param.data.product_Name +
                "</td><td>\u062A\u0639\u062F\u0627\u062F \u0633\u0641\u0627\u0631\u0634 :</td><td>" +
                param.data.productOrder_Count +
                "</td></tr>\n                                    <tr><td>\u062A\u0627\u0631\u06CC\u062E \u0633\u0641\u0627\u0631\u0634 :</td><td>" +
                param.data.createDate +
                "</td><td>\u062A\u0627\u0631\u06CC\u062E \u0628\u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06CC :</td><td>" +
                param.data.UpdateDate +
                "</td></tr>\n                                    <tr><td>\u0648\u0636\u0639\u06CC\u062A \u0633\u0641\u0627\u0631\u0634 :</td><td>" +
                param.data.status +
                "</td><td>\u06A9\u062F \u067E\u06CC\u06AF\u06CC\u0631\u06CC \u0645\u0631\u0633\u0648\u0644\u0647 :</td><td>" +
                param.data.productOrder_Post +
                "</td></tr>\n                                </table>\n                            </div>"
            );
    } else {
        $("#SubmitInquiryProductResult")
            .empty()
            .append(
                '<div class="alert alert-danger rounded" data-close="true"></a><p>\u06A9\u062F \u067E\u06CC\u06AF\u06CC\u0631\u06CC \u0648 \u06CC\u0627 \u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A.</p></div>'
            );
    }
}
//Login

function LoginMe() {
    if ($(".loginValidator").valid()) {
        var loginParam = {};
        param = {
            elementId: $("#LoginModal"),
            data: "",
            Errorcallbackfunc: handelError
        };
        $(".loginMe").each(function (index, item) {
            loginParam[item.name] = item.value;
        });       
        callAjax("/api/UsersFront/Login", loginParam, successLogin, param);
    } else {
        
    }
}
function RunLogin(event) {
    if (event.keyCode == 13) {
        LoginMe();
    }
}
function successLogin(data) {
    window.location.href = data.data;
}
function handelError(response) {  
    response = response.serverResponse;
    swal({
        title: response.Title,
        type: response.Type,
        html: response.Message,
        confirmButtonColor: "rgb(180, 180, 180)",
        showCancelButton: false,
        confirmButtonText: '<i class="fa fa-thumbs-up"></i> بستن'
    }).then(function (e) {
      //  $(".loginMe").each(function (index, item) {
          //  item.value = "";
       // });
    });
}
// Forget Pass
function ForgetPass() {
    if ($("#ForgetPassForm").valid()) {
        var ForgetParam = {};
        var param = {
            elementId: $("#LoginModal"),
            Errorcallbackfunc: alert2FO
        };
        $(".ForgetPassMe").each(function (index, item) {
            ForgetParam[item.name] = item.value;
        });
        callAjax("/api/UsersFront/ForgotPass", ForgetParam, alert2FO, param);
    }
}
function alert2FO(data) {
    swal({
        title: data.serverResponse.Title,
        type: data.serverResponse.Type,
        text:
            data.serverResponse.Data == null
                ? data.serverResponse.Message
                : data.serverResponse.Data,
        confirmButtonColor: "#4cff00",
        showCancelButton: false,
        confirmButtonText: "بستن"
    });
}

function registerUser() {
    if ($("#RegisterForm").valid()) {
        var regParam = {};
        $("[data-param]").each(function (index, item) {
            regParam[item.dataset.param] = item.value == "" ? null : item.value;
        });
        if (ChartId == 1) {
            regParam.FirstName = regParam.FirstName == "" ? "کاربر" : regParam.FirstName;
            regParam.LastName = regParam.LastName == "" ? "سیستم" : regParam.LastName;
        }
        else if (ChartId == 9) {
            regParam.JobLocation = $("#MSYJUnitType option:selected").text() + " - " + $("#MSYJUnitName option:selected").text();
            // $(".ostan option:selected").text() + " - " + $("#DropDownList_city option:selected").text();
        }
        else if (ChartId == 4) {
            regParam.JobLocation = $("#DropDownLocation option:selected").text();          
        }
        callAjax("/api/UsersFront/RegisterUser", regParam, afterRegister, {
            elementId: "#regModal"
        });
    }
}
function afterRegister(param) {
    $("#regModal").modal("hide");
    swal({
        title: "<h4>ثبت نام شما با موفقیت انجام شد</h4>",
        text: "رمز عبور فعلی شما کد ملی شما می باشد",
        type: "success",
        width: "60%",
        showCancelButton: false,
        confirmButtonColor: "#3085d6",
        confirmButtonText: "ورود به سامانه",
        allowOutsideClick: false
    }).then(function (result) {
        if (result) {
            window.location = param.data.ReturnUrl;
        }
    });
    setTimeout(function () {
        window.location = param.data.ReturnUrl;
    }, 5000);
}
function FillDep(param) {
    data = param.data || [];
    empty = data.length <= 0;
    if (data.length > 12) {
        data = data.slice(0, 12);
        data.HasMore = true;
    }
    $(data).each(function (i, item) {
        if (item.Fields.length > 0) {
            item.Fields = item.Fields.slice(0, 1);
            item.HasMore = true;
        }
    });
    var template = $("#DepartmentTemplate").html();
    $(".DepartmentList").append(Mustache.render(template, { data: data, empty: empty }));
}
function PlayMyVideo(param) {
    var playerInstance = jwplayer("videoPanel");
    var playlist = [];
    playlist.push({
        image: "",
        LoId: 1,
        description: "",
        title: "فیلم آموزشی",
        sources: param
    });

    playerInstance.setup({
        file: param,
        "image": param.replace("mp4", "jpg"),
        autostart: 'viewable',
        flashplayer: "jwplayer.flash.swf",
        height: 400,

        "logo": {
            "file": "/assets/images/lcmsLogoSmall.png",
            "link": "http://www.nimkatonline.com",
            "hide": "false",
            "position": "top-right"
        },
        androidhls: 'true',
        abouttext: 'nimkatonline.com',
        aboutlink: 'https://www.nimkatonline.com',
        autoPause: {
            viewability: true
        },
        primary: "flash",
        repeat: false,

        //    stagevideo: false,
        stretching: "uniform",
        //   visualplaylist: false,

        aspectratio: '16:9',
        captions: {
            preprocessor: function (rawText) { return rawText.replace(/e/g, 'E') }
        },
        width: "100%"
    });
    playerInstance.on('playlistItem', function (index) {
        CurrentLO = index.index;
        $('figcaption', $('.outAnim')).remove();
        $('figcaption', '#slide_' + index.item.LoId).clone().appendTo($('.outAnim'));
    });
    $("#myVideo").modal("show");

}