﻿
    /* Andrew Urquhart : Client-Side Request Object for javascript : www.andrewu.co.uk/tools/request/
    COPYRIGHT:You are free to use this script for any use you wish if this comment is left intact. Feel free to enhance the script and send me the updated version. Please don't redistribute. This script is provided as is,with no warranty of any kind. Use it at your own risk. Copyright Andrew R Urquhart; VERSION:#1.2 2004-02-18 18:48 UTC*/

    function RObj(ea) { var LS = ""; var QS = new Object(); var un = "undefined"; var f = "function"; var n = "number"; var r = "string"; var e1 = "ERROR:Index out of range in\r\nRequest.QueryString"; var e2 = "ERROR:Wrong number of arguments or invalid property assignment\r\nRequest.QueryString"; var e3 = "ERROR:Object doesn't support this property or method\r\nRequest.QueryString.Key"; function Err(arg) { if (ea) alert("Request Object:\r\n" + arg) }; function URID(t) { var d = ""; if (t) { for (var i = 0; i < t.length; ++i) { var c = t.charAt(i); d += (c == "+" ? " " : c); }; }; return unescape(d); }; function OL(o) { var l = 0; for (var i in o) { if (typeof (o[i]) != f) l++; }; return l; }; function AK(key) { var auk = true; for (var u in QS) { if (typeof (QS[u]) != f && u.toString().toLowerCase() == key.toLowerCase()) { auk = false; return u; } }; if (auk) { QS[key] = new Object(); QS[key].toString = function() { return TS(QS[key]) }; QS[key].Count = function() { return OL(QS[key]) }; QS[key].Count.toString = function() { return OL(QS[key]).toString() }; QS[key].Item = function(e) { if (typeof (e) == un) return QS[key]; else { if (typeof (e) == n) { var a = QS[key][Math.ceil(e)]; if (typeof (a) == un) Err(e1 + "(\"" + key + "\").Item(" + e + ")"); return a; } else Err("ERROR:Expecting numeric input in\r\nRequest.QueryString(\"" + key + "\").Item(\"" + e + "\")"); } }; QS[key].Item.toString = function(e) { if (typeof (e) == un) return QS[key].toString(); else { var a = QS[key][e]; if (typeof (a) == un) Err(e1 + "(\"" + key + "\").Item(" + e + ")"); return a.toString(); }; }; QS[key].Key = function(e) { var t = typeof (e); if (t == r) { var a = QS[key][e]; return (typeof (a) != un && a && a.toString() ? e : ""); } else Err(e3 + "(" + (e ? e : "") + ")"); }; QS[key].Key.toString = function() { return un }; }; return key }; function AVTK(key, val) { if (key != "") { var key = AK(key); var l = OL(QS[key]); QS[key][l + 1] = val; } }; function TS(o) { var s = ""; for (var i in o) { var ty = typeof (o[i]); if (ty == "object") s += TS(o[i]); else if (ty != f) s += o[i] + ", "; }; var l = s.length; if (l > 1) return (s.substring(0, l - 2)); return (s == "" ? un : s); }; function KM(k, o) { var k = k.toLowerCase(); for (var u in o) { if (typeof (o[u]) != f && u.toString().toLowerCase() == k) return u; }; } if (window.location && window.location.search) { LS = window.location.search; var l = LS.length; if (l > 0) { LS = LS.substring(1, l); var preAmpAt = 0; var ampAt = -1; var eqAt = -1; var k = 0; var skip = false; for (var i = 0; i < l; ++i) { var c = LS.charAt(i); if (LS.charAt(preAmpAt) == "=" || (preAmpAt == 0 && i == 0 && c == "=")) skip = true; if (c == "=" && eqAt == -1 && !skip) eqAt = i; if (c == "&" && ampAt == -1) { if (eqAt != -1) ampAt = i; if (skip) preAmpAt = i + 1; skip = false; }; if (ampAt > eqAt) { AVTK(URID(LS.substring(preAmpAt, eqAt)), URID(LS.substring(eqAt + 1, ampAt))); preAmpAt = ampAt + 1; eqAt = ampAt = -1; ++k; }; }; if (LS.charAt(preAmpAt) != "=" && (preAmpAt != 0 || i != 0 || c != "=")) { if (preAmpAt != l) { if (eqAt != -1) AVTK(URID(LS.substring(preAmpAt, eqAt)), URID(LS.substring(eqAt + 1, l))); else if (preAmpAt != l - 1) AVTK(URID(LS.substring(preAmpAt, l)), ""); }; if (l == 1) AVTK(LS.substring(0, 1), ""); }; }; }; var TC = OL(QS); if (!TC) TC = 0; QS.toString = function() { return LS.toString() }; QS.Count = function() { return (TC ? TC : 0) }; QS.Count.toString = function() { return (TC ? TC.toString() : "0") }; QS.Item = function(e) { if (typeof (e) == un) return LS; else { if (typeof (e) == n) { var e = Math.ceil(e); var c = 0; for (var i in QS) { if (typeof (QS[i]) != f && ++c == e) return QS[i]; }; Err(e1 + "().Item(" + e + ")"); } else return QS[KM(e, QS)]; }; return un; }; QS.Item.toString = function() { return LS.toString() }; QS.Key = function(e) { var t = typeof (e); if (t == n) { var e = Math.ceil(e); var c = 0; for (var i in QS) { if (typeof (QS[i]) != f && ++c == e) return i; } } else if (t == r) { var e = KM(e, QS); var a = QS[e]; return (typeof (a) != un && a && a.toString() ? e : ""); } else Err(e2 + "().Key(" + (e ? e : "") + ")"); Err(e1 + "().Item(" + e + ")"); }; QS.Key.toString = function() { Err(e2 + "().Key"); }; this.QueryString = function(k) { if (typeof (k) == un) return QS; else { var k = KM(k, QS); if (typeof (QS[k]) == un) { t = new Object(); t.Count = function() { return 0 }; t.Count.toString = function() { return "0" }; t.toString = function() { return un }; t.Item = function(e) { return un }; t.Item.toString = function() { return un }; t.Key = function(e) { Err(e3 + "(" + (e ? e : "") + ")"); }; t.Key.toString = function() { return un }; return t; } if (typeof (k) == n) return QS.Item(k); else return QS[k]; } }; this.QueryString.toString = function() { return LS.toString(); }; this.QueryString.Count = function() { return (TC ? TC : 0) }; this.QueryString.Count.toString = function() { return (TC ? TC.toString() : "0") }; this.QueryString.Item = function(e) { if (typeof (e) == un) return LS.toString(); else { if (typeof (e) == n) { var e = Math.ceil(e); var c = 0; for (var i in QS) { if (typeof (QS[i]) != f && ++c == e) return QS[i]; }; Err(e1 + ".Item(" + e + ")"); } else return QS[KM(e, QS)]; } if (typeof (e) == (n)) Err(e1 + ".Item(" + e + ")"); return un; }; this.QueryString.Item.toString = function() { return LS.toString() }; this.QueryString.Key = function(e) { var t = typeof (e); if (t == n) { var e = Math.ceil(e); var c = 0; for (var i in QS) { if (typeof (QS[i]) == "object" && (++c == e)) { return i; } } } else if (t == r) { var e = KM(e, QS); var a = QS[e]; return (typeof (a) != un && a && a.toString() ? e : ""); } else Err(e2 + ".Key(" + (e ? e : "") + ")"); Err(e1 + ".Item(" + e + ")"); }; this.QueryString.Key.toString = function() { Err(e2 + ".Key"); }; this.Version = 1.2; this.Author = "Andrew Urquhart (www.andrewu.co.uk)"; }; var Request = new RObj(false);

    function modlinks() {
        var cType;
        cType = Request.QueryString("t");
        var e = document.getElementsByName("on");
        for (var i = 0; i < e.length; i++) {
            //var r_string = e[i].href.indexOf('?');
            e[i].href = (e[i].href.indexOf('?') == -1) ? e[i].href + "?t=" + cType : e[i].href + "&t=" + cType;
        }
    }

    function dcs_2_0(dcs_URI, dcs_QRY, dcs_EXT) {
        var dCurrent = new Date();
        var P = "";
        P += "http" + (window.location.protocol.indexOf('https:') == 0 ? 's' : '') + "://localhost:8008/dcs86iljy00000wcnrx4wgeoc_4u8y/dcs.gif?";
        P += "dcsuri=" + escape(dcs_URI);
        P += "&dcsqry=" + escape(dcs_QRY);
        if ((window.document.referrer != "") && (window.document.referrer != "-")) {
            if (!(navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) < 4)) {
                P += "&dcsref=" + escape(window.document.referrer);
            }
        }
        P += dcs_EXT;
        //P+="&dcssip=yourdomain";  //For Cross domain tracking, replace 'yourdomain' and remove the leading '//'.
        //P+="&dcsp3p=yourp3pheader";  //To issue P3P header, replace 'yourp3pheader' and remove the leading '//'.
        //P+="&dcscfg=yourcfg";  //To configure DCS, replace 'yourcfg' and remove the leading '//'.
        P += "&dcsdat=" + escape(dCurrent.getTime());
        document.write('<IMG BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="' + P + '">');
    }
    //-->




    function dcsExtend(N, V) {
        dcsEXT += "&" + N + "=" + escape(V);
    }
    function dcsEvaluate(P) {
        var retVal = ""

        // Get rid of leading spaces
        P = P.slice(P.search(/\w/))

        // Variable Names can't have spaces in them
        if (-1 != P.search(/\s/) || typeof (retVal = eval('window.' + P)) == "undefined") {
            var strQRY = unescape(dcsQRY)
            retVal = ''

            if (strQRY.length > 1 && strQRY.charAt(0) == '?') {
                var pairs = strQRY.substring(1).split('&')
                for (var i = 0; i < pairs.length; i++) {
                    var pos = pairs[i].indexOf('=')
                    if (-1 == pos) continue
                    if (P == pairs[i].substring(0, pos)) {
                        retVal = pairs[i].substring(pos + 1)
                        break
                    }
                }
            }
        }

        return retVal
    }
    function dcsResolve(P) {
        var R = ""
        var L = P.split(";")
        var F1 = true

        for (var I in L) {
            var S = L[I].split(",")
            var F2 = true

            F1 ? F1 = false : R += ";"

            for (var J in S) {
                F2 ? F2 = false : R += ","

                R += dcsEvaluate(S[J])
            }
        }

        return R
    }
    function dcsMeta() {
        var F = false;
        var myDocumentElements;
        if (document.all) {
            F = true;
            myDocumentElements = document.all.tags("meta");
        }
        if (!F && document.documentElement) {
            F = true;
            myDocumentElements = document.getElementsByTagName("meta");
        }
        if (F) {
            for (var i = 1; i <= myDocumentElements.length; i++) {
                myMeta = myDocumentElements.item(i - 1);
                if (myMeta.name.indexOf('WT.') == 0) {
                    if (myMeta.name.indexOf('dd.') == 3) {
                        dcsExtend(myMeta.name.slice(6), dcsResolve(myMeta.content));
                    }
                    else {
                        dcsExtend(myMeta.name, myMeta.content);
                    }
                }
            }
        }
    }

    var dcsURI = window.location.pathname;
    var dcsQRY = window.location.search;
    var dcsEXT = "";
    dcsMeta();
    dcs_2_0(dcsURI, dcsQRY, dcsEXT);

    function menu_goto(menuform) {

        var cType;
        var roletype;
        cType = Request.QueryString("t");
        //alert(cType);
        roletype = "?t=" + cType;
        //alert(roletype);
        var selecteditem = menuform.newurl.selectedIndex;
        theurl = new String(menuform.newurl.options[selecteditem].value);
        //alert(theurl);
        results = theurl.search(/pdf/gi);
        if (results != -1) {
            ;
            window.open(theurl, 'viewPDF', 'location=no,menubar=no,status=no,directories=no,scrollbars=yes,status=no,toolbar=no,dependent=yes,innerHeight=400,innerWidth=600');
        }
        else {
            theurl = theurl + roletype
            window.location = theurl;
        }

    }

    function link_goto(url, popupType) {
        varURL = url;
        pageType = popupType;
        //alert(pageType);
        //alert(varURL);
        if (pageType != "pdf") {
            features = 'width=800,height=600,scrollbars,resizeable,status,menubar,';
        }
        else {
            features = 'width=650,height=600,scrollbars,resizable';
        }
        winPage = window.open(varURL, '_newPage', features)
        if (!winPage) {
            alert("You have a popup blocker in place.\n\nPlease disable it to allow this window to open.")
        }
        else {
            winPage.focus;
            return winPage;
        }
    }

    function outside_link_goto(url) {
        varURL = "/IconAdvisersESolution_WebUI/Public/LinkRedirector.aspx?" + escape(url);
        features = 'width=400,height=400,scrollbars,resizeable';
        winPage = window.open(varURL, '_newPage', features);
        if (!winPage) {
            alert("You have a popup blocker in place.\n\nPlease disable it to allow this window to open.");
        }
        else {
            winPage.focus;
            return winPage;
        }
    }
    ///<NOSCRIPT>
    //<IMG BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="http://localhost:8008/dcs86iljy00000wcnrx4wgeoc_4u8y/njs.gif?dcsuri=/nojavascript">
    //</NOSCRIPT>



