var DOC=document;
var WIN=window;
var URL=WIN.location.href;

// :::::::::::::::::: Z I P P E D ::::::::::::::::::	//Shorter function names than javascript standard functions.

function gE(n){return DOC.getElementById(n);}			//=document.getElementById(n)
function gA(o,a) {return o.getAttribute(a); }			//=o.getAttribute(a)
function sF(n){var o=gE(n);if(!o.disabled)o.focus();}	//Set Focus on any focusable object
function gN(o){o.value=o.value.replace(/\D+/g,"");}		//Get Number and Erase everything which is not a number in INPUT object.
function rN(n){if(!n)n=10000; return Math.floor(Math.random()*n);}	//Random Number
function lC(s){try{return s.toLowerCase();}catch(e){return s;}}		//Lower Case
function trim(s){ return s.replace(/^\s*|\s*$/g,"");}	//  " abc "   ->    "abc"

function isIE(){ return navigator.appName.indexOf("Micros")==0; }	//returns true if Internet Explorer
var IE = isIE();

function set_txt(n, t) { gE(n).innerHTML = unescape(t);}			//Changes the HTML inside any HTML-element eg. DIV
function set_img(n, i) { gE(n).src = i; }				//Changes the image of the given image-element
function rT(s,a,b) {return s.replace(/$a/gi,b); }			//rT = Replace Text a with b in String s
function gT() { return new Date().getTime(); }            	//gT = get Time (in milliseconds since 1970)
function isE(n)  {return(gE(n).innerHTML==""); }			//isE = is Empty (returns true if innerHTML = "")

function on(o, i) { o.src = i + ".gif";}
function off(o) { o.src = "i/s.gif";}


// ::::::::::::::::: W I N D O W S :::::::::::::::::

function popup(n, t, l, w, h, a) { //n=div-name, t=top, l=left, w=width, h=height, a=ajax (bool) eg. popup("divA', 10, 10, 200, true);
    
    if (a) {

        whenLoaded(n, 'popup("' + n + '",' + t + ',' + l + ',' + w + ',' + h + ');');
    
    } else {

        var p = gE("popup");
        p.style.top = t + "px";
        p.style.left = l + "px"; 
        p.innerHTML = "<div style='width:"+w+"px; height:"+h+"px; overflow:auto; border: solid 1px gray; padding: 10px; filter: progid:DXImageTransform.Microsoft.Glow(color=#222222,strength=5); font: bold 9pt/1.3 verdana; background: white;'>" + gE(n).innerHTML + "</div>";
    
        Show2("popup,popupBG");
    }
}

function closePopup() {
    Hide2("popup,popupBG");
}


// ::::::::::::: G E T _ E L E M E N T :::::::::::::

function gE2(e,t) {										//get the current element (based on last windows event)
	var x = e;											//e.g. gE2(WIN.event.togE2, "option");
	while ((x != null) && (x.tagName != "BODY")) {
		if (eval("x.className") == t) return x;
		x = x.parentElement;
	}
	return e;
}

function gEs() {										//=Get ElementS eg. var elements = gEs('name1','name2',object3...);
	var a=arguments;
	var es=new Array();
	for(var i=0;i<a.length;i++){var e=a[i];if(typeofe=='string')e=gE(e);if(a.length==1)return e;es.push(e);}
	return es;
}


// ::::::::::::::::: T O O L T I P :::::::::::::::::

//ToolTip code
var sTT=false;
DOC.write("<DIV CLASS='toolTip' ID='TT' STYLE='position:absolute;z-index:2;visibility:hidden;'></DIV>");
function useToolTip() {DOC.onmousemove = gXY;}
function setTT(t,h){if(sTT){useToolTip();if(h!="")t=unescape(getToolTip(h));set_txt('TT',t);}}
function gXY(){
	var s=gE('TT').style;
	s.left=event.clientX+DOC.body.scrollLeft;
	s.top=event.clientY+DOC.body.scrollTop;
	if(sTT)s.visibility="visible";else s.visibility="hidden";
}


// ::::::::::::::: S H O W _ H I D E :::::::::::::::

function isVisible(n) { return gE(n).style.visibility == "visible"; }
function toggle(n) {if (gE(n).style.display == "block")Hide2(n);else Show2(n);}

function Hide(n) {                                     //ex. Hide("divA,divB")
    var d = n.split(",");
	try	{for (var i=0; i<d.length; i++) gE(d[i]).style.visibility = "hidden"; }
	catch (err){}
}
function Show(n) { 
    var d = n.split(",");
    for (var i=0; i<d.length; i++) gE(d[i]).style.visibility = "visible"; 
}

function Hide2(n) {    
    var d = n.split(",");
    for (var i=0; i<d.length; i++) gE(d[i]).style.display = "none";
}
function Show2(n) {
    var d = n.split(",");
    for (var i=0; i<d.length; i++) gE(d[i]).style.display = "block";
}


// ::::::::::::::::: C O O K I E S :::::::::::::::::

function set_cookie(name, value, days) {					//var hello = set_cookie("test", "wedran")

	var d = new Date(); 
	d.setTime(d.getTime() + (days*24*60*60*1000));
	if (!days) days=""; else days = "expires=" + d.toGMTString();
    DOC.cookie = name + "=" + escape(value) + "; " + days;
}

function get_cookie(name) {									//alert(get_cookie("test"));

    var x = DOC.cookie.indexOf(name + "=");
    if (x == -1) return 0;
	var s = x+name.length+1;
    var l = DOC.cookie.indexOf(";", s);
    if (l == -1)  l = DOC.cookie.length;
    return unescape(DOC.cookie.substring(s, l));
}


// :::::::::::::::::::: A J A X ::::::::::::::::::::

function load(f, d) {								//f = filename, d = DIV element(optional) to print the text to.
    
	var t, e = f.substring(f.lastIndexOf(".")+1);

	if (e == "js") {									//If file extension is "js" = JavaScript file
		t=document.createElement('script')
        t.setAttribute("type","text/javascript");
        t.setAttribute("src", f); 
        DOC.getElementsByTagName("head").item(0).appendChild(t);
         
    } else if (e == "css") {

        t=document.createElement("link")
        t.setAttribute("rel", "stylesheet");
        t.setAttribute("type", "text/css");
        t.setAttribute("href", f);
        DOC.getElementsByTagName("head").item(0).appendChild(t);

    } else {
        if (!d) ajax(f);
	    else ajax(f, "set_txt('" + d + "',text);");
	}
}

function whenLoaded(divs, f) {                  //executes function f when all divs are loaded (=not empty)
    var d = divs.split(","), completed=true;    //ex. whenLoaded("divA,divB", "alert(1);")
    for (var i=0; i<d.length; i++) {
        if (isE(d[i])) completed=false;
    }
    
    if (completed) {
        try {eval(f);}catch(e){}
    } else {
        try {
        setTimeout("whenLoaded('" + divs + "','" + f + "');", 500);
        }catch(e){}
    }
}

function ajax(u, f) {					//u = URL, f = function name to handle data

    var http;
    if (IE)	
        http = new ActiveXObject("Microsoft.XMLHTTP"); 
    else 
        http=new XMLHttpRequest();

	http.open('get', u);				//eg. ajax("../robots.txt", "alert(text);");  --> text from robots.txt is displayed in alert
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
		    if (http.status == 200) {
                var text = http.responseText;
                if (f) eval(f);
            } else {
                //alert("Sorry, Page not Found.\n" + u);
            }
		}
	}
	try{http.send(null);}catch (e){
	    //alert(e);    
	}
}

// :::::::::::::: P A R A M E T E R S ::::::::::::::

function get_param(what) {								//t=get_param("q") --> url='yes.com?q=8' --> t=18

	var url = unescape(location.search);
	var tmp, i = url.indexOf(what)

	if (i >= 0) {

		tmp = url.substring(i+1+what.length);
		i	= tmp.indexOf("&"); 
		if (i < 0) { return tmp; } else { return tmp.substring(0, i); }
	}
}


// :::::::::::::: I E - F I L T E R S ::::::::::::::

function filter(n, f){ gE(n).style.filter = "progid:DXImageTransform.Microsoft." + f; apply(n); }
function apply(n){ try { if (effects) gE(n).filters[0].apply(); } catch(e) {} }
function play(n)	{ try { if (effects) gE(n).filters[0].play(); } catch(e) {} }