﻿
// callback actions
function jsMSPACT_Actions(name, param) {
    jsMasterProgressStop();
    var p;
    if (param != null) p = param.split('#');
    switch (name) {
        case "SET": { jsUserSettingsOpen(); return; }
        case "SUP": { jsSupportRequestOpen(); return; }
        case "NWS": { jsMasterMessage("NEWS", "no news to display", 200, 200); break; }
        case "MNH":
        case "LGO": { cbMSPACT.SendCallback(name); return; }
        case "POX": { pMSPPOP.Hide(); return; }
        case "XWIN": { jsShowNewWindow(p[1], p[2], p[3], p[4]); break; }
        case "XRLD": { window.location.reload(); break; }
        case "XMSG": { jsMasterMessage(p[1],p[2],p[3],p[4]); break; }
        case "XPDF": { jsShowPdfPopup(p[1],p[2],p[3]); return; }
        case "XLOC": { jsPageRedirect(p[1]); break; }
        case "XCLB": { break; }
        case "XPRG": { break; }
        case "XERR": { break; }
    }
}

// callback results
function jsMSPACT_Results(s, e) {
    if (e.result == "false") window.location.reload();
    jsMasterProgressStop();
    var tasks = e.result.split('||');
    var len = tasks.length;
    for (var i = 0; i < len; ++i) {
        jsMSPACT_Actions(tasks[i].split('#')[0], tasks[i]);
    }
}

// functions
function jsMasterAddHiddenContext(key, value) {
    hMSPCTX.Remove(key);
    hMSPCTX.Add(key, value);
}
function jsMasterGetHiddenContext(key) {
    var value = hMSPCTX.Get(key);
    return ((typeof value === 'undefined') ? "" : value);
}
function jsMasterClearHiddenContext(key) {
    hMSPCTX.Remove(key);
}
function jsMasterMessage(headertext, messagetext, left, top) {
    //pMSPMSG.SetSize(300, 10);
    lMSGHDR.SetText(headertext);
    lMSGTXT.SetText(messagetext);
    pMSPMSG.ShowAtPos(left, top);
    jsSetPopUpMinMaxWidth(pMSPMSG, 250, 500);
}
var IsProgressRunning = false;
function jsMasterProgressStartAtPos(textalias, left, top) {
    if (jsMasterProgressInitialize(textalias))
		pMSPPRG.ShowAtPos(left,top);
}
function jsMasterProgressStartAtObject(textalias, obj) {
    if (jsMasterProgressInitialize(textalias))
        jsShowPopupAtObject(pMSPPRG, obj);
}
function jsMasterProgressInitialize(textalias) {
    if (IsProgressRunning || textalias == null) return false;
    label = hMSPCTX.Get("PRGT" + textalias);
    if (label != null) lPRGMSG.SetText(label);
    IsProgressRunning = true;
    return true;
}
function jsMasterProgressStop() {
	if (IsProgressRunning) {
		IsProgressRunning = false;
		pMSPPRG.Hide();
    }
}
function jsMasterShowToolTip(headertext, messagetext, obj) {
    lTIPHDR.SetText(headertext);
    lTIPTXT.SetText(messagetext);
    jsShowPopupAtObject(pMSPTIP, obj);
}
function jsMasterHideToolTip(obj) {
    pMSPTIP.Hide();
}
function jsSupportRequestOpen() {
    jsMasterProgressStartAtPos("LDG", 200, 200);
    var url = "SupportPage.aspx?id=" + jsGetUniqueString();
    jsShowPopup(pMSPPOP, url, 505, 575, 300, 50);
    jsMasterProgressStop();
}
function jsUserSettingsOpen() {
    jsMasterProgressStartAtPos("LDG", 200, 200);
    var url = "AdvisorSettingsPage.aspx?id=" + jsGetUniqueString();
    jsShowPopup(pMSPPOP, url, 395, 575, 300, 50);
    jsMasterProgressStop();
}
var timeout_Id = 0;
function jsMasterShowOverLay() {
    var bodyMaster = document.getElementById("bMSPBDY");
    if (bodyMaster != null) {
        bodyMaster.style.overflow = 'hidden';
    }
}
function jsMasterSetTimeoutOverLay() {
    var dMSPDIM = document.getElementById("dMSPDIM");
    var bodyMaster = document.getElementById("bMSPBDY");
    if (dMSPDIM != null) {
        dMSPDIM.style.visibility = 'hidden';
    }
    clearTimeout(timeout_Id);
    if (bodyMaster != null) {
        var jsBNVObj = new jsBrowserNameVersionObject();    // Initilizing object
        if (!jsGetBrowserNameVersion(jsBNVObj))
            alert("Error! The function 'jsGetBrowserNameVersion(JsBNVObj)' doesn't support for this browser.");
        else {
            if (jsBNVObj.BrowserName.toLowerCase() == 'chrome') {
                bodyMaster.style.overflow = 'scroll';
            }
            else {
                bodyMaster.style.overflow = 'auto';
            }
        }
    }
}
function jsMasterHideOverLay() {
    timeout_Id = setTimeout("jsMasterSetTimeoutOverLay()", 1000);
}

