﻿

function clsHelp() {
    var me = this;
    this.page = { name: "Master", id: null, title: "" };
    this.arrKeyWords = new Array();
    this.target = "";
    this.title = ""

    this.url = { dc2: "", dc3: "", rtu: "", amr: "" };

    this.window = null;

    this.width = 1024;
    this.height = 768;

    this.useFrames = true;


    this.onload = function() {
        //log.write("clsHelp.onload");

        //add F1 key capture
        browser.keys.add(F1, ONKEYDOWN, me.F1_down, false);
        browser.keys.add(F1, ONKEYUP, me.F1_up, false);

        if (dc3HelpURL.search(/http:/) < 0) {
            //build the DC3 help url
            me.url.dc3 = "http://" + location.host + dc3HelpURL + "default_csh.htm";
        } else {
            me.url.dc3 = dc3HelpURL;
            me.url.dc3 = me.url.dc3.toLowerCase();
            me.url.dc3 = me.url.dc3.replace("/dc3/", "/dc3/default_csh.htm");
        }

        if (rtuHelpURL.search(/http:/) < 0) {
            //build the RTU help url
            me.url.rtu = "http://" + location.host + rtuHelpURL + "default_csh.htm";
        } else {
            me.url.rtu = rtuHelpURL;
            me.url.rtu = me.url.rtu.toLowerCase();
            me.url.rtu = me.url.rtu.replace("/rtu/", "/rtu/default_csh.htm");
        }

        //alert(me.url.rtu);

        //Pull basic key words from path
        arrPath = location.pathname.split('/');
        for (var c = 0; c < arrPath.length; c++) {
            if (arrPath[c].length > 0) {
                arrKeyName = arrPath[c].split('.');
                if (arrKeyName.length > 0) {
                    if (arrKeyName[0].length > 0) {
                        me.arrKeyWords.push(arrKeyName[0]);
                    }
                }
            }
        }

        //Find actual html.head.title
        me.title = browser.html.title;


        //Find displayed page header for more specific topic info
        arrSpan = document.getElementsByTagName("span");
        for (var c = 0; c < arrSpan.length; c++) {
            if (arrSpan[c].className == "pageheader") {
                me.page.title = arrSpan[c].innerHTML;
                me.page.title = me.page.title.stripHTML();
                break;
            }
        }

        //check for pageName
        var n = document.getElementById("pageName");
        if (n) {
            if (n.value.length > 0) {
                me.page.name = n.value;
            }
        }

        //check for pageID
        var n = document.getElementById("pageID");
        if (n) {
            me.page.id = parseInt(n.value);
        }

    };

    this.F1_down = function(e) {
        log.write("help.f1.down");
        log.write("page(name:" + me.page.name + ",id:" + me.page.id + ")");
        t = browser.target(e);
        try {
            strTargetID = t.id;
            if (strTargetID.length) {
                arrTargetID = strTargetID.split("_");
                strTargetID = arrTargetID[arrTargetID.length - 1];
                me.target = strTargetID;
            }
        }
        catch (err) { }

        log.write("URL(" + me.url.dc3 + ")");
        log.write("keyWords(" + me.arrKeyWords + ")");
        log.write("target(" + me.target + ")");
        log.write("page.title(" + me.page.title + ")");
        log.write("page.name(" + me.page.name + ") page.id(" + me.page.id + ")");
        log.write("html.head.title(" + me.title + ")");

        me.getHelp();
        return;
    };

    this.F1_up = function(e) {
        log.write("help.f1.up");
    }

    this.getHelp = function() {
        var strURL = me.url.dc3;
        var strSearch = "";

        var selectedText = browser.html.getSelectedText();
        log.write("selectedText(" + selectedText + ")");

        switch (me.page.name) {
            case "Device_Configure_RTU":

                if (me.target == "Command") {
                    var strURL = me.url.rtu;
                }
                /*
                if (selectedText.length > 0) {
                    selectedText = selectedText.replaceAll("set ", " ");
                }
*/
            default:
                break;
        }

        if (selectedText.length > 0) {
            strSearch += "?" + selectedText;
            strSearch += "|FirstPick";
        }
        else if (me.page.id != null) {
            strSearch += "#" + me.page.id.toString();
        }
        else if (me.page.title.length > 0) {
            strSearch += "?" + me.page.title.toString();
            if (selectedText.length) {
                strSearch += " " + selectedText;
            }
            strSearch += "|FirstPick";
        }
        else if (me.title.length > 0) {
            strSearch += "?" + me.title.toString();
            if (selectedText.length) {
                strSearch += " " + selectedText;
            }
            strSearch += "|FirstPick";
        }
        else {
            strSearch += "?" + me.arrKeyWords.toString();
            strSearch += "|FirstPick";
        }


        strSearch = strSearch.replaceAll('/', ' ');
        strSearch = strSearch.replaceAll('+', ' ');
        strSearch = strSearch.replaceAll(',', ' ');
        strSearch = strSearch.replaceAll('-', ' ');
        strSearch = strSearch.replaceAll('_', ' ');

        strURL += strSearch;
        log.write(strURL);

        loaded = true;

        if (!me.window) {
            me.window = browser.open("", "DC3_HELP", 'width=' + me.width + ',height=' + me.height + ',toolbars=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no');
            loaded = false;
        }
        if (me.window.closed) {
            me.window = browser.open("", "DC3_HELP", 'width=' + me.width + ',height=' + me.height + ',toolbars=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no');
            loaded = false;
        }

        if (me.useFrames) {

            if (loaded == false) {
                var s = "";
                s += "<html><head><title>DC3_HELP</title>";
                s += "<style type='text/css'>html { overflow:hidden; }</style>";
                s += "</head><body style='margin:0px;' scroll='no'>";
                s += "<iframe id='main' src='' style='height:100%;width:100%;overflow:hidden;scrolling:no;'>";
                s += "iframes NOT supported</iframe>";
                s += "</body></html>";
                me.window.document.writeln(s);
            }

            frame = me.window.document.getElementById("main");
            frame.src = strURL;
        }
        else {
            browser.navigateChild(me.window, strURL);
        }
    };
    
   browser.attachEvent("onload", me.onload, document.body);
}

//var help = new clsHelp();
