﻿
function RB_toogleHTML(nr) {
   /* if (document.layers) {
        var current = (document.layers[nr].display == 'none') ? 'block' : 'none';
        document.layers[nr].display = current;
    }
    else if (document.all) {
        var current = (document.all[nr].style.display == 'none') ? 'block' : 'none';
        document.all[nr].style.display = current;
    }
    else */
    if (document.getElementById) {
        var vista = (document.getElementById(nr).style.display == 'none') ? 'block' : 'none';
        document.getElementById(nr).style.display = vista;
    }

    return false;
}


function RB_showHelp(context, pp) {
    var req = GetRequestObject();
    if (req) {
        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                var popup = document.getElementById(pp);
                if (popup != null) {
                    popup.InnerHTML = req.responseText;
                    RB_toogleHTML(pp);
                }
            }
        }

        req.open("get", RB_getSiteRoot() + "/help/" + context + ".aspx", true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        req.send(null);
    }
}

String.prototype.trim = function() {
    return
    (this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""))
}

String.prototype.startsWith = function(str)
{ return (this.match("^" + str) == str) }

String.prototype.endsWith = function(str)
{ return (this.match(str + "$") == str) }


function RB_GetDataJson(url, callback, handler) {

    if (handler) {
        try {
            document.getElementsByTagName('head').item(0).removeChild(handler);
        } catch (ex) {

        }
    }

    var json = document.createElement('script');

    if (url.indexOf('?') > 0)
        url += "&";
    else
        url += "?";

    json.src = url + "fmt=json&cb=" + callback;

    json.type = 'text/javascript';

    document.getElementsByTagName('head').item(0).appendChild(json);

    return json;
}

function RB_RemoveJSONScript(handle) {
    if (handle) {
        try {
            document.getElementsByTagName('head').item(0).removeChild(handle);
        } catch (ex) {

        }
    }

    return null;
}


function RB_GetRequestObject() {
    req = false;

    if (window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest();
        } catch (e) {
            req = false;
        }
    } else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                req = false;
            }
        }
    }

    return req;
}

function RB_ToogleElementOnMouse(eid) {
    var e = document.getElementById(eid);
    
    if (e == null)
        return;

    if (e.style.display == "block") {
        e.style.display = "none";
        return;
    } 
    
    var cX = 0; var cY = 0; var rX = 0; var rY = 0;

    if (self.pageYOffset) {
        rX = self.pageXOffset;
        rY = self.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop) {
        rX = document.documentElement.scrollLeft;
        rY = document.documentElement.scrollTop;
    }
    else if (document.body) {
        rX = document.body.scrollLeft;
        rY = document.body.scrollTop;
    }
    if (document.all) {
        cX += rX;
        cY += rY;
    }

    e.style.position = "absolute";
    e.style.left = (cX + 10) + "px";
    e.style.top = (cY + 10) + "px";
    e.style.display = "block";
}

function RB_drpOnChange(elm, targ) {
  
    t = document.getElementById(targ);
    
    if (!t)
        return;
        
    
    t.value = elm.options[elm.selectedIndex].value;
    

}