﻿
//ModificationHistory
//23-Nov-2011 - Urvi - 1 - Enhancement : Allow multi selection of executive at a time
// 21-May-2011 -Urvi - Enhancement- Add buGradeSelection function
function toggleHighlight(buttonName) {
    document.getElementById(buttonName).className = "buttonOver";
}
function toggleFade(buttonName) {
    document.getElementById(buttonName).className = "buttonOut";
}
function showdiv(divname) {
    document.getElementById(divname).style.display = "block";
}
function hidediv(divname) {
    document.getElementById(divname).style.display = "none";
}
function showLine() {
    document.write("<table width=100% border=0 cellspacing=0 cellpadding=0><tr><td width=100% background=../images/_dshorizontaldot.gif height=1></td></tr></table>");
}
function pophelp(contextId) {
    showModalDialog('pophelp.htm#' + contextId, "", "dialogHeight: 550px;dialogWidth: 400px;help: no;status: no;");
}
function preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; }
    }
}

function Toggle(btnID) {
    objPannel = document.getElementById("pnl" + btnID);
    isVisible = (objPannel.style.display != "none");
    //alert(isVisible);
    objButton = document.getElementById(btnID);
    objGridView = document.getElementById("pnlgridview");
    objFormView = document.getElementById("pnlformview");
    btnFormView = document.getElementById("formview");
    btnGridView = document.getElementById("gridview");
    if (isVisible) {
        objPannel.style.display = "none";
        if (btnID == "formview") {
            objButton.innerHTML = "<img src='../images/tab/_dsfrmdeselected.jpg' hspace='0' vspace='0' border='0'>";
            //alert("formview");
            objGridView.style.display = 'inline';
            btnGridView.innerHTML = "<img src='../images/tab/_dsgrdselected.jpg' hspace='0' vspace='0' border='0'>";
            btnFormView.innerHTML = "<img src='../images/tab/_dsfrmdeselected.jpg' hspace='0' vspace='0' border='0'>";

        } else {
            // alert("gridiew");
            objButton.innerHTML = "<img src='../images/tab/_dsgrddeselected.jpg' hspace='0' vspace='0' border='0'>";
            objFormView.style.display = 'inline';
            btnFormView.innerHTML = "<img src='../images/tab/_dsfrmselected.jpg' hspace='0' vspace='0' border='0'>";
            btnGridView.innerHTML = "<img src='../images/tab/_dsgrddeselected.jpg' hspace='0' vspace='0' border='0'>";
        }
    }
    else {
        objPannel.style.display = "block";
        if (btnID == "formview") {
            //            alert("formview");
            objButton.innerHTML = "<img src='../images/tab/_dsfrmselected.jpg' hspace='0' vspace='0' border='0'>";
            objFormView.style.display = 'inline';
            objGridView.style.display = 'none';
            btnGridView.innerHTML = "<img src='../images/tab/_dsgrddeselected.jpg' hspace='0' vspace='0' border='0'>";
            btnFormView.innerHTML = "<img src='../images/tab/_dsfrmselected.jpg' hspace='0' vspace='0' border='0'>";

        } else {
            //alert("gridiew1");
            objButton.innerHTML = "<img src='../images/tab/_dsgrdselected.jpg' hspace='0' vspace='0' border='0'>";
            objGridView.style.display = 'inline';
            objFormView.style.display = 'none';
            btnFormView.innerHTML = "<img src='../images/tab/_dsfrmdeselected.jpg' hspace='0' vspace='0' border='0'>";
            btnGridView.innerHTML = "<img src='../images/tab/_dsgrdselected.jpg' hspace='0' vspace='0' border='0'>";
        }

    }
}
function printFooter() {
    document.write("<table width=100% border=0 cellspacing=0 cellpadding=0 class=pagefooter><tr><td width=100% background=../images/_dshorizontaldot.gif height=1></td></tr><tr><td>&nbsp;</td></tr></table>");
}
//Created By :Hiren M Parekh
//Created Date:23 Aug 2007
//To Reset TextControl,Combo on Form
//Parameter=Form
function Reset(frm, msg) {

    if (confirm(msg)) {
        for (i = 0; i < frm.length; i++) {

            if (frm.elements[i].type == "text") {
                frm.elements[i].value = "";
            }
            if (frm.elements[i].type == "select-one") {
                frm.elements[i].selectedIndex = 0;
            }
            if (frm.elements[i].type == "file") {
                frm.elements[i].value = "";
            }
            if (frm.elements[i].type == "checkbox") {
                frm.elements[i].checked = false;
            }
            if (frm.elements[i].type == "textarea") {
                frm.elements[i].value = "";
            }

        }
    }
    return false;
}

function ConfirmDelete(msg) {
    return confirm(msg);
}
function getKeyCode(e) {
    return e.charCode || e.charCode == 0 ? e.charCode : e.keyCode;
}
function checkNumeric(e, msg) {
    if (getKeyCode(e) != 13) {
        if (getKeyCode(e) > 0 && (getKeyCode(e) < 48 || getKeyCode(e) > 57) && !e.ctrlKey) {
            alert(msg);
            return false;
        }
    }
    return true;
}

function showModalDialogue(valID, txtID, opt, extraID, folderHeirarchy) {
    if (extraID == null) {
        if (folderHeirarchy == null) {
            //window.open("../Common/SelectFromTree.aspx?src="+opt+"&txtid=" +txtID+"&valid=" +valID+"&dt="+(new Date()).getTime());
            window.showModalDialog("../Common/SelectFromTree.aspx?src=" + opt + "&txtid=" + txtID + "&valid=" + valID + "&dt=" + (new Date()).getTime(), window.self, "dialogHeight: 500px; dialogWidth: 650px; help: No; resizable: Yes; status: Yes;");
        }
        else {
            window.showModalDialog("Common/SelectFromTree.aspx?src=" + opt + "&txtid=" + txtID + "&valid=" + valID + "&dt=" + (new Date()).getTime(), window.self, "dialogHeight: 500px; dialogWidth: 650px; help: No; resizable: Yes; status: Yes;");
        }
    }
    else {
        if (folderHeirarchy == null) {
            window.showModalDialog("../Common/SelectFromTree.aspx?src=" + opt + "&txtid=" + txtID + "&valid=" + valID + "&extraid=" + extraID + "&dt=" + (new Date()).getTime(), window.self, "dialogHeight: 500px; dialogWidth: 650px; help: No; resizable: Yes; status: Yes;");
        } else {
            window.showModalDialog("Common/SelectFromTree.aspx?src=" + opt + "&txtid=" + txtID + "&valid=" + valID + "&extraid=" + extraID + "&dt=" + (new Date()).getTime(), window.self, "dialogHeight: 500px; dialogWidth: 650px; help: No; resizable: Yes; status: Yes;");
        }
    }
}

function showHelp(hlpID) {
    window.showModalDialog("../Common/RecruitHelp.aspx?hlpid=" + hlpID, window.self + "&dt=" + (new Date()).getTime(), "dialogHeight:400px; dialogWidth: 650px; help: No; resizable: Yes; status: Yes;");
}

function selDsel(chkID, status) {
    var chkArr = document.getElementsByTagName("input");
    for (i = 0; i < chkArr.length; i++) {
        if (chkArr[i].type == "checkbox" && chkArr[i].id.indexOf(chkID) >= 0 && chkArr[i].disabled == false) {
            chkArr[i].checked = status;
        }
    }
}

function checkSelection(chkID, msg, cntSel) {
    var chkArr = document.getElementsByTagName("input");
    var cnt = 0;
    var res = false;
    for (i = 0; i < chkArr.length; i++) {
        if (chkArr[i].type == "checkbox" && chkArr[i].id.indexOf(chkID) >= 0 && chkArr[i].checked)
            cnt++;
    }

    if (cntSel == null) {
        res = cnt > 0;
    }
    else {
        res = cntSel == cnt;
    }

    if (!res) {
        if (msg != null)
            alert(msg);
        else
            alert('No records selected');
    }

    return res;
}

function delCheck(chkID, msg, cntSel, msgDel) {
    if (msgDel == null)
        msgDel = "Are you sure to delete selected records";
    if (checkSelection(chkID, msg, cntSel)) {
        return ConfirmDelete(msgDel);
    }
    return false;
}

function showFilterSort(type, e) {
    var divMain = document.getElementById('__divFilterSort');
    var ifrRef = document.getElementById('gToday:normal');

    if (type == 1) {
        on_mousemove(e);
        document.getElementById('divSort').style.display = '';
        document.getElementById('spnTitle').innerHTML = "Set Sorting Order";
        document.getElementById('divFilter').style.display = 'none';
        divMain.style.display = '';
        divMain.style.width = '300px';
        divMain.style.position = 'absolute';
        if (CurY > (screen.height - 250)) {
            CurY = CurY - 250;
        }
        if (CurX < 300) {
            CurX = CurX + 300;
        }
        divMain.style.top = CurY - 25 + 'px';
        divMain.style.left = (CurX - 300) + 'px';
    }
    else if (type == 2) {
        on_mousemove(e);
        document.getElementById('divFilter').style.display = '';
        document.getElementById('spnTitle').innerHTML = "Search Within Output";
        document.getElementById('divSort').style.display = 'none';
        divMain.style.width = '220px';
        divMain.style.display = '';
        divMain.style.position = 'absolute';
        if (CurY > (screen.height - 250)) {
            CurY = CurY - 250;
        }
        if (CurX < 220) {
            CurX = CurX + 220;
        }
        divMain.style.top = CurY - 20 + 'px';
        divMain.style.left = (CurX - 300) + 'px';
    }
    else if (type == 0) {
        divMain.style.display = 'none';
        document.getElementById('divSort').style.display = '';
        document.getElementById('divFilter').style.display = '';
    }
}

function showFilterSortx(type, e, MainPanelID, divSortID, divFilterID) {
    var divMain = document.getElementById(MainPanelID);
    var ifrRef = document.getElementById('gToday:normal');

    if (type == 1) {
        on_mousemove(e);
        document.getElementById(divSortID).style.display = '';
        try {
            document.getElementById('spnTitle').innerHTML = "Set Sorting Order";
        } catch (e) {
            document.getElementById('spnTitle').innerText = "Set Sorting Order";
        }
        document.getElementById(divFilterID).style.display = 'none';
        divMain.style.display = '';
        divMain.style.width = '300px';
        divMain.style.position = 'absolute';
        if (CurY > (screen.height - 250)) {
            CurY = CurY - 250;
        }
        if (CurX < 300) {
            CurX = CurX + 300;
        }
        divMain.style.top = CurY - 25 + 'px';
        divMain.style.left = (CurX - 300) + 'px';
    }
    else if (type == 2) {
        on_mousemove(e);
        document.getElementById(divFilterID).style.display = '';
        try {
            document.getElementById('spnTitle').innerHTML = "Search Within Output";
        } catch (e) {
            document.getElementById('spnTitle').innerText = "Search Within Output";
        }
        document.getElementById(divSortID).style.display = 'none';
        divMain.style.width = '220px';
        divMain.style.display = '';
        divMain.style.position = 'absolute';
        if (CurY > (screen.height - 250)) {
            CurY = CurY - 250;
        }
        if (CurX < 220) {
            CurX = CurX + 220;
        }
        divMain.style.top = CurY - 20 + 'px';
        divMain.style.left = (CurX - 300) + 'px';
    }
    else if (type == 0) {
        divMain.style.display = 'none';
        document.getElementById(divSortID).style.display = '';
        document.getElementById(divFilterID).style.display = '';
    }
}
var CurX, CurY;
var DocX, DocY;
function on_mousemove(e) {
    if (navigator.userAgent.indexOf("MSIE") != -1) {
        // Internet Explorer (Also works for Opera)
        CurX = window.event.x + document.documentElement.scrollLeft;
        CurY = window.event.y + document.documentElement.scrollTop;

    } else {
        // Netscape, (Firefox, Opera, ...)
        CurX = e.pageX;
        CurY = e.pageY;
    }
}

var selRowID = '';
var selRowClass = '';
function ShowSelect(rowid, curclass, selclass) {
    if (document.getElementById(rowid) != null) {
        if (selRowID != '') {
            document.getElementById(selRowID).className = selRowClass;
        }
        selRowID = rowid;
        selRowClass = curclass;
        if (document.getElementById(rowid) != null)
            document.getElementById(rowid).className = selclass;
    }
}

function ShowOver(rowid, overclass) {
    if (rowid != selRowID || selRowID == '') {
        if (document.getElementById(rowid) != null)
            document.getElementById(rowid).className = overclass;
    }
}

function ShowDefault(rowid, defclass) {
    if (rowid != selRowID || selRowID == '') {
        if (document.getElementById(rowid) != null)
            document.getElementById(rowid).className = defclass;
    }
}

var timerlen = 5;
var slideAniLen = 250;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

function slidedown(objname) {
    if (moving[objname])
        return;

    if (document.getElementById(objname).style.display != "none")
        return; // cannot slide down something that is already visible

    moving[objname] = true;
    dir[objname] = "down";
    startslide(objname);
}

function slideup(objname) {
    if (moving[objname])
        return;

    if (document.getElementById(objname).style.display == "none")
        return; // cannot slide up something that is already hidden

    moving[objname] = true;
    dir[objname] = "up";
    startslide(objname);
}

function startslide(objname) {
    obj[objname] = document.getElementById(objname);

    endHeight[objname] = parseInt(obj[objname].style.height);
    startTime[objname] = (new Date()).getTime();

    if (dir[objname] == "down") {
        obj[objname].style.height = "1px";
    }

    obj[objname].style.display = "block";

    timerID[objname] = setInterval('slidetick(\'' + objname + '\');', timerlen);
}

function slidetick(objname) {
    var elapsed = (new Date()).getTime() - startTime[objname];

    if (elapsed > slideAniLen)
        endSlide(objname)
    else {
        var d = Math.round(elapsed / slideAniLen * endHeight[objname]);
        if (dir[objname] == "up")
            d = endHeight[objname] - d;

        obj[objname].style.height = d + "px";
    }

    return;
}

function endSlide(objname) {
    clearInterval(timerID[objname]);

    if (dir[objname] == "up")
        obj[objname].style.display = "none";

    obj[objname].style.height = endHeight[objname] + "px";

    delete (moving[objname]);
    delete (timerID[objname]);
    delete (startTime[objname]);
    delete (endHeight[objname]);
    delete (obj[objname]);
    delete (dir[objname]);

    return;
}
function setDefaultButton(e, btnID) {
    if (e.keyCode == 13) {
        e.keyCode = 0;
        e.cancelBubble = true;
        document.getElementById(btnID).click();
    }
}
function OpenTargetPositionWindow() {
    var vReturnValue = window.showModalDialog("../Common/SelectTargetPosition.aspx", "Select Target Position/Requisition", "dialogHeight: 330px; dialogWidth: 800px; help: No; resizable: Yes; status: Yes;");
    return (vReturnValue);
}
function ShowHideDivDwn(objDiv, blnShow, objButton) { //Show div down
    if (objDiv != null) {
        if (objButton == null) {
            objDiv.style.left = CurX; //objButton.offsetLeft + 'px'; //window.event.clientX + 'px';
            objDiv.style.top = CurY; //window.event.clientY + 'px'; //objButton.offsetTop + 'px';
        } else {
            objDiv.style.left = objButton.offsetLeft + 'px';
            objDiv.style.top = objButton.offsetTop + 'px';
        }
        if (blnShow) {
            objDiv.style.display = '';
        } else {
            objDiv.style.display = 'none';
        }
    }
}
function ShowHideDivUp(objDiv, blnShow, objButton) {//Show div up
    if (objDiv != null) {
        if (objButton == null) {
            objDiv.style.left = CurX; //objButton.offsetLeft + 'px'; //window.event.clientX + 'px';
            objDiv.style.top = (CurY - parseInt(objDiv.style.height, 0)) + 'px'; //window.event.clientY + 'px'; //objButton.offsetTop + 'px';
        } else {
            objDiv.style.left = objButton.offsetLeft + 'px';
            objDiv.style.top = (objButton.offsetTop - parseInt(objDiv.style.height, 0)) + 'px';
        }
        if (blnShow) {
            objDiv.style.display = '';
        } else {
            objDiv.style.display = 'none';
        }
    }
}
function ShowHideDiv(objDiv, blnShow, objButton) {//Show div up
    if (objDiv != null) {
        if (objButton == null) {
            objDiv.style.left = CurX; //objButton.offsetLeft + 'px'; //window.event.clientX + 'px';
            objDiv.style.top = (CurY - parseInt(objDiv.style.height, 0)) + 'px'; //window.event.clientY + 'px'; //objButton.offsetTop + 'px';
        } else {
            objDiv.style.left = objButton.offsetLeft + 'px';
            objDiv.style.top = (objButton.offsetTop - parseInt(objDiv.style.height, 0)) + 'px';
        }
        if (blnShow) {
            objDiv.style.display = '';
        } else {
            objDiv.style.display = 'none';
        }
    }
}
function ToggleSection(ShowSectionTitle, HideSectionTitle1, HideSectionTitle2, ImageSourcePath) {
    try {
        if (arguments.length == 4) {
            var objDiv = null;
            var objImg = null;

            objDiv = document.getElementById('dv' + ShowSectionTitle); objImg = document.getElementById('img' + ShowSectionTitle);
            if (objDiv != null) objDiv.style.display = "inline";
            if (objImg != null) objImg.src = ImageSourcePath + '\\' + '_ds_On' + ShowSectionTitle + '.gif';

            if (HideSectionTitle1 != '') {
                objDiv = null; objImg = null; objDiv = document.getElementById('dv' + HideSectionTitle1); objImg = document.getElementById('img' + HideSectionTitle1);
                if (objDiv != null) objDiv.style.display = "none";
                if (objImg != null) objImg.src = ImageSourcePath + '\\' + '_ds_Off' + HideSectionTitle1 + '.gif';
            }
            if (HideSectionTitle2 != '') {
                objDiv = null; objImg = null; objDiv = document.getElementById('dv' + HideSectionTitle2); objImg = document.getElementById('img' + HideSectionTitle2);
                if (objDiv != null) objDiv.style.display = "none";
                if (objImg != null) objImg.src = ImageSourcePath + '\\' + '_ds_Off' + HideSectionTitle2 + '.gif';
            }
        }
    } catch (e) { }
}

function PopIndividual(IDControl, IndividualNameControl, SelectedIdHolderControl) {
    if (IDControl == null) return false;
    if (IndividualNameControl == null) return false;
    var vReturnValue = window.showModalDialog("../Common/SelectIndividual.aspx?SelectedIds=" + SelectedIdHolderControl.value, "Select Individual", "dialogHeight:300px; dialogWidth:650px; help: No; resizable: Yes; status: Yes;");

    if (vReturnValue != null) {
        if (vReturnValue != '') {
            var objValues = vReturnValue.split('|');
            IndividualNameControl.value = objValues[1];
            IDControl.value = objValues[0];
            return true;
        }
        
    }
    return false;
}

function PopBusinessGrade(GradeControl, SelectedBu) {
    if (SelectedBu == null) return false;
    if (GradeControl == null) return false;
    if (document.getElementById(SelectedBu).value == '') {

        alert("Please Select Business Unit");
    }
    else {
        var vReturnValue = window.showModalDialog("../Common/SelectionBusinessUnitGrade.aspx?SelectedBu=" + document.getElementById(SelectedBu).value, "Select Grade", "dialogHeight:300px; dialogWidth:650px; help: No; resizable: Yes; status: Yes;");
        if (vReturnValue != null) {

            document.getElementById(GradeControl).value = vReturnValue;

            return true;
        }

    }
    return false;
}
function PopPositionCode(GradeControl, SelectedBu) {

    if (SelectedBu == null) return false;
    if (GradeControl == null) return false;
    if (document.getElementById(SelectedBu).value == '') {

        alert("Please Select Business Unit");
    }
    else {
        var vReturnValue = window.showModalDialog("../Common/SelectionPositionCode.aspx?SelectedBu=" + document.getElementById(SelectedBu).value, "Select Position Code", "dialogHeight:300px; dialogWidth:650px; help: No; resizable: Yes; status: Yes;");
        if (vReturnValue != null) {

            document.getElementById(GradeControl).value = vReturnValue;

            return true;
        }
    }
    return false;
}
function PopBusinessUnit(IDControl, BusinessUnitNameControl, SelectedIdHolderControl) {
    if (IDControl == null) return false;
    if (BusinessUnitNameControl == null) return false;
    var vReturnValue = window.showModalDialog("../Common/SelectFlatBusinessUnit.aspx?SelectBUCodes=" + SelectedIdHolderControl.value, "Select Business Unit", "dialogHeight: 300px; dialogWidth: 650px; help: No; resizable: Yes; status: Yes;");
    if (vReturnValue != null) {
        var objValues = vReturnValue.split(',');
        BusinessUnitNameControl.value = objValues[0];
        IDControl.value = objValues[1];
        return true;
    }
    return false;
}

function CloseWindow(ValueToReturn) {
    window.returnValue = ValueToReturn;
    window.close();
}

function addEvent(obj, eventName, functionName) {
    if (obj.addEventListener)
        obj.addEventListener(eventName, functionName, false);
    else if (obj.attachEvent)
        obj.attachEvent('on' + eventName, functionName);
    else
        return false;

    return true;
}
function removeEvent(obj, eventName, functionName) {
    if (obj.removeEventListener)
        obj.removeEventListener(eventName, functionName, false);
    else if (obj.detachEvent)
        obj.detachEvent('on' + eventName, functionName);
    else
        return false;

    return true;
}
var DisplayCandidate = null;
function OpenProfileCatalogueWindow() {
    DisplayCandidate = window.open("../Common/ProfileCatalogue.aspx", "DisplayCandidate", "menubar=0,location=0,status=1,scrollbars=1,resizable=1,width=800,height=400");
    if (DisplayCandidate == null) {
        alert("Not able to open the Profile Catalogue. Please use \"Open Current Profile Catalogue\" link above \"Run Filter\" button to open the catalogue.");
    } else { DisplayCandidate.focus(); }
    return false;
}
function CloseProfileCatalogueWindow() {
    if (DisplayCandidate != null)
        DisplayCandidate.close();
}

function copyToClipboard(s) {
    if (window.clipboardData && clipboardData.setData) {
        clipboardData.setData("Text", s);
    }
    else {
        // You have to sign the code to enable this or allow the action in about:config by changing
        user_pref("signed.applets.codebase_principal_support", true);
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

        var clip = Components.classes['@mozilla.org/widget/clipboard;[[[[1]]]]'].createInstance(Components.interfaces.nsIClipboard);
        if (!clip) return;

        // create a transferable
        var trans = Components.classes['@mozilla.org/widget/transferable;[[[[1]]]]'].createInstance(Components.interfaces.nsITransferable);
        if (!trans) return;

        // specify the data we wish to handle. Plaintext in this case.
        trans.addDataFlavor('text/unicode');

        // To get the data from the transferable we need two new objects
        var str = new Object();
        var len = new Object();

        var str = Components.classes["@mozilla.org/supports-string;[[[[1]]]]"].createInstance(Components.interfaces.nsISupportsString);

        var copytext = meintext;

        str.data = copytext;

        trans.setTransferData("text/unicode", str, copytext.length * [[[[2]]]]);

        var clipid = Components.interfaces.nsIClipboard;

        if (!clip) return false;

        clip.setData(trans, null, clipid.kGlobalClipboard);
    }
}

function findXCoordinate(obj) {
    var xCoordinate = 0;
    if (obj.offsetParent) {
        xCoordinate = obj.offsetLeft;
        while (obj = obj.offsetParent) {
            xCoordinate += obj.offsetLeft;
        }
    }
    return xCoordinate;
}

function findYCoordinate(obj) {
    var yCoordinate = 0;
    if (obj.offsetParent) {
        yCoordinate = obj.offsetTop;
        while (obj = obj.offsetParent) {
            yCoordinate += obj.offsetTop;
        }
    }
    return yCoordinate;
}
