//
// Enviroment identificator
//
var localIsDOM = document.getElementById?true:false;
var localIsJava = navigator.javaEnabled();
var localIsStrict = document.compatMode=='CSS1Compat';
var localPlatform = navigator.platform;
var localVersion = "0";
var localBrowser = "";
if(window.opera && localIsDOM) {
        localBrowser = "Opera";
        if(navigator.userAgent.search(/^.*Opera.([\d.]+).*$/) != -1)
                localVersion = navigator.userAgent.replace(/^.*Opera.([\d.]+).*$/, "$1");
        else if(window.print)
                localVersion = "6";
        else
                localVersion = "5";
} else if(document.all && document.all.item)
        localBrowser = 'MSIE';
if(navigator.appName=="Netscape") {
        if(!localIsDOM) {
                localBrowser = 'Netscape';
                localVersion = navigator.userAgent.replace(/^.*Mozilla.([\d.]+).*$/, "$1");
                if(localVersion != '')
                        localVersion = "4";
        } else if(navigator.userAgent.indexOf("Safari") >= 0)
                localBrowser = 'Safari';
        else if(navigator.userAgent.indexOf("Netscape") >= 0)
                localBrowser = 'Netscape';
        else if(navigator.userAgent.indexOf("Firefox") >= 0)
                localBrowser = 'Firefox';
        else 
                localBrowser = 'Mozilla';
        
}
if(navigator.userAgent.indexOf("MSMSGS") >= 0)
        localBrowser = "WMessenger";
else if(navigator.userAgent.indexOf("e2dk") >= 0)
        localBrowser = "Edonkey";
else if(navigator.userAgent.indexOf("Gnutella") + navigator.userAgent.indexOf("Gnucleus") >= 0)
        localBrowser = "Gnutella";
else if(navigator.userAgent.indexOf("KazaaClient") >= 0)
        localBrowser = "Kazaa";

if(localVersion == '0' && localBrowser != '') {
        var rg = new RegExp("^.*"+localBrowser+".([\\d.]+).*$");
        localVersion = navigator.userAgent.replace(rg, "$1");
}
var localIsCookie = ((localBrowser == 'Netscape' && localVersion == '4')?(document.cookie != ''):navigator.cookieEnabled);

//
// Opener/Closer HTML block
//
function visibleBox(id,skipOpenClose) {
        elm1 = document.getElementById("open"+id);
        elm2 = document.getElementById("close"+id);
        elm3 = document.getElementById("box"+id);

        if(!elm3)
                return false;

        if (skipOpenClose) {
                elm3.style.display = (elm3.style.display == "")?"none":"";
        } else if(elm1) {
                if (elm1.style.display == "") {
                        elm1.style.display = "none";
                        if(elm2)
                                elm2.style.display = "";
                        elm3.style.display = "none";
                } else {
                        elm1.style.display = "";
                        if(elm2)
                                elm2.style.display = "none";
                        elm3.style.display = "";
                }
        }
}

//
// URL encode
//
function urlEncode(url) {
        return url.replace(/\s/g, "+").replace(/&/, "&amp;").replace(/"/, "&quot;")
}

//
// Substitute
//
function substitute(lbl) {
var x, rg;
        for(x = 1; x < arguments.length; x+=2) {
                if(arguments[x] && arguments[x+1]) {
                        rg = new RegExp("\\{\\{"+arguments[x]+"\\}\\}", "gi");
                        lbl = lbl.replace(rg,  arguments[x+1]);
                        rg = new RegExp('~~'+arguments[x]+'~~', "gi");
                        lbl = lbl.replace(rg,  arguments[x+1]);
                }
        }
        return lbl;
}
