var nbsp = "\240";

function showPopup (p, r, x) {
    var e = document.getElementById(p);

    if (arguments.length >= 2) {
        var l = r.offsetLeft;
        var w = e.offsetWidth;
        var t = r.offsetTop;
        var h = e.offsetHeight;

        t = t + (r.offsetHeight * 2) - h;
        e.style.top  = t + "px";

        if (arguments.length == 3) {
            l = l - w + (r.offsetWidth * 2);
        } else {
            l = l - (w / 2);
            if (l < 0) {
                l = 0;
            } else {
                var pw = e.offsetParent.offsetWidth;
                if (l + w > pw)  l = pw - w;
            }
        } 
        e.style.left = l + "px";
    } 

    e.style.visibility = "visible";
}

function hidePopup (p) {
    document.getElementById(p).style.visibility = "hidden";
}


String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g, '');
}


function getQueryValue(key, default_) {
    if (default_==null) default_=""; 
    key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");

    var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
    var qs = regex.exec(window.location.href);

    if(qs == null)
        return default_;
    else
        return qs[1];
}

function getQueryPresent(key) {
    key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");

    var regex = new RegExp("[\\?&]"+key+"([=^&#]*)");
    var qs = regex.exec(window.location.href);

    return (qs != null);
}
