﻿var JOTrackid = "";
var ResumeID = "";

$(document).ready(function() {
    $("#cmbMyAccount").jgdDropdown({
        initTitle: 'My Account',
        forcetitle: 'My Account',
        callback: function(obj, val) {

            switch (val) {
                case "Preferences":
                    mfnShowUPDialog('UP', 's');
                    break;

                case "Signout":
                    mfnSignOut();
                    $("#cmbMyAccount").val("myaccount");
                    return false;
                    break;

                case "dashboard":
                    mfnShowUPDialog('dash', 's');
                    break;

            }
        }
    });

    $("#preferencesDialog").dialog({
        bgiframe: true,
        height: 300,
        width: 500,
        modal: true,
        resizable: false,
        autoOpen: false
    });


    $("#dashboard").dialog({
        bgiframe: true,
        height: 250,
        width: 450,
        modal: true,
        resizable: false,
        autoOpen: false
    });

    $('#txtPrefMobile').mask('+999999999999');


    jQuery("#JoGrid").jqGrid({
        //        url: '/handlers/jobbertemplatehandler.ashx',
        datatype: "json",
        colNames: ['#', 'JO Title', 'Company Name', 'Edit', 'Delete'],
        colModel: [
   		{ name: 'id', index: 'id', width: 60, hidden: true, sortable: false },
   		{ name: 'Jo_title', width: 210, align: "left", sortable: false },
   		{ name: 'Company_name', width: 210, align: "left", sortable: false },
   		{ name: 'Edit', width: 130, align: "center", sortable: false },
   		{ name: 'Delete', width: 130, align: "center", sortable: false },
   	],
        rowNum: 20,
        viewrecords: true,
        sortorder: "desc",
        scroll: true,
        width: 650,
        height: 300,
        shrinkToFit: false,
        rownumbers: true,
        sortable: false,
        caption: "Job Order"
    });





    jQuery("#resumeGrid").jqGrid({
        //        url: '/handlers/jobbertemplatehandler.ashx',
        datatype: "json",
        colNames: ['#', 'Resume Title', 'Person Name', 'Edit', 'Delete'],
        colModel: [
   		{ name: 'id', index: 'id', width: 60, hidden: true, sortable: false },
   		{ name: 'Resume_title', width: 210, align: "left", sortable: false },
   		{ name: 'Person_name', width: 210, align: "left", sortable: false },
   		{ name: 'Edit', width: 130, align: "center", sortable: false },
   		{ name: 'Delete', width: 130, align: "center", sortable: false },
   	],
        rowNum: 20,
        viewrecords: true,
        sortorder: "desc",
        scroll: true,
        width: 650,
        height: 300,
        shrinkToFit: false,
        rownumbers: true,
        sortable: false,
        caption: "Resume"
    });


    var URL = window.location.pathname;
    if (URL != "/verify_account.aspx") {
        mfnGetProfile();
    }


});


function mfntagclear(txtid) {

    if ($("#" + txtid + "").val() != "") {
        var achievementData = $("#" + txtid + "").val();
        var achievementRowData;
        var achievementDetails = new Array();

        itemsArray = achievementData.split(",");
        for (lintCount = 0; lintCount <= itemsArray.length; lintCount++) {
            if (itemsArray[lintCount] != "" && itemsArray[lintCount] != undefined) {
                $("#" + txtid + "").removeTag(itemsArray[lintCount]);
            }
        }
    }
    $(".tag").remove();
}



function initdialogue(dialoguename, height, width) {
    $("#" + dialoguename + "").dialog({
        bgiframe: true,
        height: height,
        width: width,
        modal: true,
        resizable: false,
        autoOpen: false
    });
}



function mfnGetProfile() {
    if ($.trim($("#ctl00_Preferences1_hdnUserID").val()) != "0") {
        $.ajax({
            url: "/handlers/sisuhandler.ashx?op=GP",
            dataType: "json",
            data: { userid: $.trim($("#ctl00_Preferences1_hdnUserID").val()) },
            type: "GET",
            contentType: "application/json; charset=utf-8",
            dataFilter: function(data) { return data; },
            success: function(json) {
                if (json.userid > 0) {
                    $("#txtPrefUserName").val(json.username);
                    $("#txtPrefEmail").val(json.email);
                    $("#txtPrefMobile").val(json.mobile);
                }
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert(textStatus);
            }
        });
    }
}


function mfnGetJOInfo() {

    var date = new Date().getTime();

    var idCount = 0;

    $.ajax({
        url: "/handlers/jobbertemplatehandler.ashx?op=GetJOInfo",
        dataType: "json",
        data: { userid: $.trim($("#ctl00_Preferences1_hdnUserID").val()), date: date },
        type: "GET",
        contentType: "application/json; charset=utf-8",
        dataFilter: function(data) { return data; },
        success: function(json) {
            $("#JoGrid").clearGridData();
            ($.map(json.JOList, function(item) {
                if (item.JOtrackId1 > 0) {
                    var Editoperation = "";
                    var Deleteoperation = "";
                    idCount = idCount + 1;
                    Editoperation = "<a href='/recruiter/jobordertemplate.aspx?id=" + item.JOtrackId + "'><span style='color: #D09042;'>Edit</span></a>";
                    Deleteoperation = "<a href='#' onclick='return mfn_JO_Delete(" + item.JOtrackId1 + ");'><span style='color: #D09042;'>Delete</span></a>";

                    var datarow = { id: idCount,
                        Jo_title: $.trim(item.jo_title),
                        Edit: Editoperation,
                        Company_name: $.trim(item.companyname),
                        Delete: Deleteoperation
                    }
                    var addStatus = $("#JoGrid").jqGrid('addRowData', idCount, datarow);

                }

            }));
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus);
        }
    });

}

function mfn_resume_delete(resumeid) {
    ResumeID = resumeid;
    mfnShowUPDialog('ReYN', 's');

}

function mfn_JO_Delete(Jotrackid) {
    JOTrackid = Jotrackid;
    mfnShowUPDialog('JoYN', 's');

}


function mfnResumeConfirmationNo() {
    mfnShowUPDialog('ReYN', 'h');
    mfnShowUPDialog('resume', 's');
}


function mfnResumeConfirmationYes() {
    var Resumeid = ResumeID;
    var date = new Date().getTime();
    $.ajax({
        url: "/handlers/jobbertemplatehandler.ashx?op=ResumeDelete",
        dataType: "json",
        data: { userid: $.trim($("#ctl00_Preferences1_hdnUserID").val()), Resumeid: Resumeid, date: date },
        type: "GET",
        contentType: "application/json; charset=utf-8",
        dataFilter: function(data) { return data; },
        success: function(json) {
            if (json.Issuccess > 0) {
                mfnnotification(SiSuAlertObject.Resume_delete);
                mfnShowUPDialog('ReYN', 'h');
                mfnShowUPDialog('resume', 's');
                return false;
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus);
        }
    });
}

function mfnJOConfirmationNo() {
    mfnShowUPDialog('JoYN', 'h');
    mfnShowUPDialog('joorder', 's');
}


function mfnJOConfirmationYes() {
    var JOID = JOTrackid;
    var date = new Date().getTime();
    $.ajax({
        url: "/handlers/jobbertemplatehandler.ashx?op=JODelete",
        dataType: "json",
        data: { userid: $.trim($("#ctl00_Preferences1_hdnUserID").val()), JOtrackId: JOID, date: date },
        type: "GET",
        contentType: "application/json; charset=utf-8",
        dataFilter: function(data) { return data; },
        success: function(json) {
            if (json.Issuccess > 0) {
                mfnnotification(SiSuAlertObject.Joborder_delete);
                mfnShowUPDialog('JoYN', 'h');
                mfnShowUPDialog('joorder', 's');
                return false;
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus);
        }
    });


}



function mfnGetResumeInfo() {
    var date = new Date().getTime();

    var idCount = 0;

    $.ajax({
        url: "/handlers/jobbertemplatehandler.ashx?op=GetResumeInfo",
        dataType: "json",
        data: { userid: $.trim($("#ctl00_Preferences1_hdnUserID").val()), date: date },
        type: "GET",
        contentType: "application/json; charset=utf-8",
        dataFilter: function(data) { return data; },
        success: function(json) {
            $("#resumeGrid").clearGridData();
            ($.map(json.ResumeList, function(item) {

                if (item.ResumeTrackID > 0) {
                    var Editoperation = "";
                    var Deleteoperation = "";
                    idCount = idCount + 1;
                    Deleteoperation = "<a href='#' onclick='return mfn_resume_delete(" + item.ResumeTrackID + ");'><span style='color: #D09042;'>Delete</span></a>";
                    Editoperation = "<a href='/jobber/template.aspx?id=" + item.ResumeID + "'><span style='color: #D09042;'>Edit</span></a>";
                    var datarow = { id: idCount,
                        Resume_title: $.trim(item.Resume_title),
                        Person_name: $.trim(item.Personname),
                        Edit: Editoperation,
                        Delete: Deleteoperation
                    }
                    var addStatus = $("#resumeGrid").jqGrid('addRowData', idCount, datarow);

                }


            }));
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus);
        }
    });
}


function mfnUpdateProfile() {
    if ($.trim($("#txtPrefUserName").val()) == "") {
        mfnnotification(SiSuAlertObject.SU_BLANK_NAME);
        $("#txtPrefUserName").focus();
        return false;
    }

    if ($.trim($("#txtPrefEmail").val()) == "") {
        mfnnotification(SiSuAlertObject.SU_BLANK_EMAIL);
        $("#txtPrefEmail").focus();
        return false;
    }

    var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    var email = $.trim($("#txtPrefEmail").val());
    if (email != '' && !emailRegEx.test(email)) {
        mfnnotification(SiSuAlertObject.SU_INVALID_EMAIL);
        $("#txtPrefEmail").focus();
        return false;
    }

    if ($.trim($("#txtPrefPassword").val()) != "") {
        if ($.trim($("#txtPrefPassword").val()).length < 4 || $.trim($("#txtPrefPassword").val()).length > 10) {
            mfnnotification(SiSuAlertObject.SU_PASSWORD_LENGTH);
            $("#txtPrefPassword").focus();
            return false;
        }
    }

    if ($.trim($("#txtPrefPassword").val()) != "") {
        if ($.trim($("#txtPrefConfirmPassword").val()) == "") {
            mfnnotification(SiSuAlertObject.SU_BLANK_CONFIRM_PASSWORD);
            $("#txtPrefConfirmPassword").focus();
            return false;
        }
    }

    if ($.trim($("#txtPrefConfirmPassword").val()) != "") {
        if ($.trim($("#txtPrefConfirmPassword").val()).length < 4 || $.trim($("#txtPrefConfirmPassword").val()).length > 10) {
            mfnnotification(SiSuAlertObject.SU_PASSWORD_LENGTH);
            $("#txtPrefConfirmPassword").focus();
            return false;
        }
    }

    if ($.trim($("#txtPrefPassword").val()) != $.trim($("#txtPrefConfirmPassword").val())) {
        mfnnotification(SiSuAlertObject.SU_PASSWORD_MISMATCH);
        $("#txtPrefConfirmPassword").focus();
        return false;
    }

    if ($.trim($("#txtPrefMobile").val()) != '') {
        if ($.trim($('#txtPrefMobile').val()).substring(0, 2) != '+9' || $.trim($('#txtPrefMobile').val()).substring(0, 3) != '+91') {
            mfnnotification(SiSuAlertObject.INVALID_MOBILE);
            $("#txtPrefMobile").focus();
            return false;
        }
    }

    $.ajax({
        url: "/handlers/sisuhandler.ashx?op=UP",
        data: { userid: $("#ctl00_ContentPlaceHolder1_txtUserID").val(), userName: $.trim($("#txtPrefUserName").val()), email: $.trim($("#txtPrefEmail").val()), password: $.trim($("#txtPrefPassword").val()), mobile: $.trim($("#txtPrefMobile").val()), userType: "JOBBER" },
        dataType: "json",
        type: "GET",
        contentType: "application/json; charset=utf-8",
        dataFilter: function(data) { return data; },
        success: function(json) {
            if (parseInt(json.userid) > 0) {

                //A/C Activation setup
                signedinUserName = $.trim($("#txtPrefUserName").val());
                signedinMobileNumber = $.trim($("#txtPrefMobile").val());
                $("#ctl00_ContentPlaceHolder1_hdnEmailID").val($.trim($("#txtPrefEmail").val()));
                $("#ctl00_ContentPlaceHolder1_spnUserName").attr({ 'innerHTML': 'Hi ' + $.trim($("#txtPrefUserName").val()) + " | " });
                mfnnotification(SiSuAlertObject.Profile_Updated);
                mfnShowUPDialog('UP', 'h');
                return false;
                //***
            }
            else if (parseInt(json.userid) == -1) {
                mfnnotification(SiSuAlertObject.SU_EMAIL_EXISTS);
                return false;
            }
            else if (parseInt(json.userid) == -2) {
                mfnnotification(SiSuAlertObject.UP_ACTIVATE_ACCOUNT.replace("{0}", $("#txtPrefEmail").val()));
                mfnShowUPDialog('UP', 'h');
                mfnSignOut();
                return false;
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus);
        }
    });
}

function mfnShowUPDialog(type, showHide) {
    switch (type) {
        case "UP":
            switch (showHide) {
                case "s":
                    $('#preferencesDialog').dialog('open');
                    $('#dashboard').dialog('close');
                    //$('#txtPrefUserName').val(signedinUserName);
                    //$('#txtPrefEmail').val($("#ctl00_ContentPlaceHolder1_hdnEmailID").val());
                    //$('#txtPrefMobile').val(signedinMobileNumber);
                    $('#txtPrefUserName').focus();
                    break;

                case "h":
                    $('#preferencesDialog').dialog('close');
                    $('#dashboard').dialog('open');
                    break;
            }
            break;

        case "dash":
            switch (showHide) {
                case "s":

                    $('#dashboard').dialog('open');
                    $('#resumedialog').dialog('close');
                    $('#Jodialog').dialog('close');
                    break;
                case "h":
                    $('#dashboard').dialog('close');
                    break;
            }
            break;


        case "resume":
            switch (showHide) {
                case "s":
                    initdialogue('resumedialog', 500, 725);
                    $('#resumedialog').dialog('open');
                    $('#dashboard').dialog('close');
                    mfnGetResumeInfo();
                    break;
                case "h":
                    $('#resumedialog').dialog('close');
                    break;
            }
            break;
        case "joorder":
            switch (showHide) {
                case "s":
                    initdialogue('Jodialog', 500, 725);
                    $('#Jodialog').dialog('open');
                    $('#dashboard').dialog('close');
                    mfnGetJOInfo();
                    break;
                case "h":
                    $('#Jodialog').dialog('close');
                    break;
            }
            break;
        case "JoYN":
            switch (showHide) {
                case "s":
                    initdialogue('JOConfirmationdialog', 180, 275);
                    $('#dashboard').dialog('close');
                    $('#JOConfirmationdialog').dialog('open');
                    break;
                case "h":
                    $('#JOConfirmationdialog').dialog('close');
                    $('#dashboard').dialog('open');
                    break;
            }
            break;

        case "ReYN":
            switch (showHide) {
                case "s":
                    initdialogue('ResumeConfirmationdialog', 180, 275);
                    $('#dashboard').dialog('close');
                    $('#ResumeConfirmationdialog').dialog('open');
                    break;
                case "h":
                    $('#ResumeConfirmationdialog').dialog('close');
                    $('#dashboard').dialog('open');
                    break;
            }
            break;



    }
}

function mfnnotification(message) {
    showNotification({
        message: message,
        autoClose: true,
        duration: 3
        //        closeLabel: "&times;"
        //        closeLabel: "&times;"                     // the HTML to use for the "Close" link
        //  , showClose: true                           // determines if the "Close" link should be shown if notification is also sticky
        //  , fadeSpeed: 1000                           // the speed to fade messages out (in milliseconds)
        //  , slideSpeed: 250                           // the speed used to slide messages out (in milliseconds)

        //        // define the class statements
        //  , classContainer: "jnotify-container"       // className to use for the outer most container--this is where all the 
        //        // notifications appear
        //  , classNotification: "jnotify-notification" // className of the individual notification containers
        //  , classBackground: "jnotify-background"     // className of the background layer for each notification container
        //  , classClose: "jnotify-close"               // className to use for the "Close" link
        //  , classMessage: "jnotify-message"
    });
}
