

       function popup(name, url, width, height) {
              if (width)
                     okno = window.open(url,name, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no, resizable=yes,copyhistory=no, width="+width+", height="+height);
              else
                     okno = window.open(url,name, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no, resizable=yes,copyhistory=no");
       }

       DOM = (document.getElementById) ? 1 : 0;
       NS4 = (document.layers) ? 1 : 0;
       // We need to explicitly detect Konqueror
       // because Konqueror 3 sets IE = 1 ... AAAAAAAAAARGHHH!!!
       Konqueror = (navigator.userAgent.indexOf('Konqueror') > -1) ? 1 : 0;
       // We need to detect Konqueror 2.2 as it does not handle the window.onresize event
       Konqueror22 = (navigator.userAgent.indexOf('Konqueror 2.2') > -1 || navigator.userAgent.indexOf('Konqueror/2.2') > -1) ? 1 : 0;
       Konqueror30 =
              (
                     navigator.userAgent.indexOf('Konqueror 3.0') > -1
                     || navigator.userAgent.indexOf('Konqueror/3.0') > -1
                     || navigator.userAgent.indexOf('Konqueror 3;') > -1
                     || navigator.userAgent.indexOf('Konqueror/3;') > -1
                     || navigator.userAgent.indexOf('Konqueror 3)') > -1
                     || navigator.userAgent.indexOf('Konqueror/3)') > -1
              )
              ? 1 : 0;
       Konqueror31 = (navigator.userAgent.indexOf('Konqueror 3.1') > -1 || navigator.userAgent.indexOf('Konqueror/3.1') > -1) ? 1 : 0;
       // We need to detect Konqueror 3.2 and 3.3 as they are affected by the see-through effect only for 2 form elements
       Konqueror32 = (navigator.userAgent.indexOf('Konqueror 3.2') > -1 || navigator.userAgent.indexOf('Konqueror/3.2') > -1) ? 1 : 0;
       Konqueror33 = (navigator.userAgent.indexOf('Konqueror 3.3') > -1 || navigator.userAgent.indexOf('Konqueror/3.3') > -1) ? 1 : 0;
       Opera = (navigator.userAgent.indexOf('Opera') > -1) ? 1 : 0;
       Opera5 = (navigator.userAgent.indexOf('Opera 5') > -1 || navigator.userAgent.indexOf('Opera/5') > -1) ? 1 : 0;
       Opera6 = (navigator.userAgent.indexOf('Opera 6') > -1 || navigator.userAgent.indexOf('Opera/6') > -1) ? 1 : 0;
       Opera56 = Opera5 || Opera6;
       IE = (navigator.userAgent.indexOf('MSIE') > -1) ? 1 : 0;
       IE = IE && !Opera;
       IE5 = IE && DOM;
       IE4 = (document.all) ? 1 : 0;
       IE4 = IE4 && IE && !DOM;
      

       var opened = null;
     var opened2 = null;
       var parentopened = null;
       var forclose = null;
	   
       function openMenu(sublayer, parent) {
       
              
                     if (opened) { setVisibility(opened, false);
					  setClassName(parentopened, 'menu');
					 }

       
              setLeft(sublayer, getOffsetLeft(parent));
              setTop(sublayer, getOffsetTop(parent) + getOffsetHeight(parent));
              setVisibility(sublayer, true);
			  parentopened = parent;
              opened = sublayer;
              forclose = false;
       }
	   
	   function openMenu2(sublayer, parent) {
       
              if (opened2) setVisibility(opened2, false);
       
              setLeft(sublayer, getOffsetLeft(parent)+100); // + getOffsetWidth(parent)
              setTop(sublayer, getOffsetTop(parent) );
              setVisibility(sublayer, true);
			  parentopened = parent;
              opened2 = sublayer;
			  forclose = false;
			  
			  alert('menu2 - sublayer: '+sublayer+' parent: '+parent+' x:'+getOffsetLeft(parent)+' y:'+getOffsetTop(parent));
       }

       
       function closeMenu(sublayer) {
              forclose = true;
              setTimeout("toclose()",500);
       }
	  
       function toclose() {
              if (forclose && opened) {
  				     setClassName(parentopened, 'menu');
                     setVisibility(opened, false);
                     opened = null;
              }
       }
       
       function gotourl(url) {
              window.location.href=url;
       }

       inlineopened = new Array;
       function toggleinline(id) {
              if (inlineopened[id] == 1) {
                     eval('document.all.L'+id+'.style.overflow=\'hidden\'');
                     inlineopened[id] = 0;
              } else {
                     eval('document.all.L'+id+'.style.overflow=\'visible\'');
                     inlineopened[id] = 1;
              }
       }
              
       function change(id, newClass) {
              identity=document.getElementById(id);
              identity.className=newClass;
       }

//Set tab to intially be selected when page loads:
//[which tab (1=first tab), ID of tab content to display]:
var initialtab=[1, '@PAGE_ACTIVE']

//Turn menu into single level image tabs (completely hides 2nd level)?
var turntosingle=0 //0 for no (default), 1 for yes

//Disable hyperlinks in 1st level tab images?
var disabletablinks=0 //0 for no (default), 1 for yes

////////Stop editting////////////////

Start = new Date()

var previoustab=""
var previoustab2=""

if (turntosingle==1)
document.write('<style type="text/css">\n#tabcontentcontainer{display: none;}\n</style>')
var hilight;
var hilight2;
function change(id, newClass, oldClass) {
	identity=document.getElementById(id);
	
	if (hilight) {
		oldidentity=document.getElementById(hilight);
		oldidentity.className=oldClass;
	}
	
	identity.className=newClass;
	hilight = id;
}

function change2(id, newClass, oldClass) {
	identity=document.getElementById(id);
	
	if (hilight2) {
		oldidentity=document.getElementById(hilight2);
		oldidentity.className=oldClass;
	}
	
	identity.className=newClass;
	hilight2 = id;
}

function expandcontent(cid, class1, class2) {
	change('tab_'+cid, class1, class2)

	if (document.getElementById) {
		if (turntosingle==0){
			if (previoustab!="")
				document.getElementById(previoustab).style.display="none"
			document.getElementById(cid).style.display="block"
			previoustab=cid
		}
	}
}


function expandcontent2(cid, class1, class2) {
	change2('tab_'+cid, class1, class2)

	if (document.getElementById) {
		if (turntosingle==0){
			if (previoustab2!="")
				document.getElementById(previoustab2).style.display="none"
			document.getElementById(cid).style.display="block"
			previoustab2=cid
		}
	}
}

function collecttablinks(){
	var tabobj=document.getElementById("tablist")
	tabobjlinks=tabobj.getElementsByTagName("A")
}

var xmlHttp = createXmlHttpRequestObject();
var xmlHttp2 = createXmlHttpRequestObject();

function createXmlHttpRequestObject() 
{
  var xmlHttp;
  try
  {
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
 
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
      "MSXML2.XMLHTTP.5.0",
      "MSXML2.XMLHTTP.4.0",
      "MSXML2.XMLHTTP.3.0",
      "MSXML2.XMLHTTP",
      "Microsoft.XMLHTTP");
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  if (!xmlHttp)
   a = 1;
    // alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
  else 
    return xmlHttp;
}

function XMLHtmlGet(url, fnState) {
 if (xmlHttp)
  {
    try
    {
      try
      {
       netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
      }
      catch(e) {} // ignoruje błąd
      xmlHttp.open("GET", url, true);
      xmlHttp.onreadystatechange = fnState;
      xmlHttp.send(null);
    }
    catch (e)
    {
      // alert("Nie mogę nawiązać połączenia z sewerem:\n" + e.toString());
    }
  }
}

function XMLHtmlGetStat(url) {
 if (xmlHttp2)
  {
    try
    {
      try
      {
       netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
      }
      catch(e) {} // ignoruje błąd
      xmlHttp2.open("GET", url, true);
      xmlHttp2.send(null);
    }
    catch (e)
    {
      // alert("Nie mogę nawiązać połączenia z sewerem:\n" + e.toString());
    }
  }
}

function ajaxLoadStat(url) {
	XMLHtmlGetStat(url);
}


var mydivu;
function ajaxLoad(mydiv, url) {
	mydivu = mydiv;
	XMLHtmlGet(url, ajaxLoadState);
}

function ajaxLoadState() {
  
  if (xmlHttp.readyState == 1) {
  
	setLeft('loadingindicator', getOffsetLeft(mydivu) + (getOffsetWidth(mydivu) / 2) - 16);
  	setTop('loadingindicator', getOffsetTop(mydivu) + (getOffsetHeight(mydivu) / 2) - 16);
  	document.getElementById('loadingindicator').style.display = 'block';
  }

  if (xmlHttp.readyState == 4) 
  {
 
    if (xmlHttp.status == 200) 
    {
      try
      {
       xmlResponse = xmlHttp.responseXML;
       if(!xmlResponse || !xmlResponse.documentElement) throw("1 Invalid XML structure\n\n" + xmlHttp.responseText); // IE, Opera
       var rootNodeName = xmlResponse.documentElement.nodeName;
       if(rootNodeName == "parseerror") throw("2 Invalid XML structure\n\n" + xmlHttp.responseText); // FireFox
       xmlDocumentElement = xmlResponse.documentElement;
       document.getElementById(mydivu).innerHTML = xmlDocumentElement.firstChild.data;
       document.getElementById('loadingindicator').style.display = 'none';
      }
      catch(e)
      {
      	// alert("Wystąpił błąd podczas odczytu odpowiedzi: " + e.toString());
      }
    } 
    else
    {
      // alert("Pojawił się problem podczas odbierania danych:\n" + xmlHttp.statusText);
    }
  }
}

function setVisibility(layer, on)
{
	if (on) {
		if (DOM) {
			document.getElementById(layer).style.visibility = 'visible';
		} else if (NS4) {
			document.layers[layer].visibility = 'show';
		} else {
			document.all[layer].style.visibility = 'visible';
		}
	} else {
		if (DOM) {
			document.getElementById(layer).style.visibility = 'hidden';
		} else if (NS4) {
			document.layers[layer].visibility = 'hide';
		} else {
			document.all[layer].style.visibility = 'hidden';
		}
	}
}


function getOffsetLeft(layer)
{
	var value = 0;
	if (DOM) {	// Mozilla, Konqueror >= 2.2, Opera >= 5, IE
		object = document.getElementById(layer);
		value = object.offsetLeft;
//alert (object.tagName + ' --- ' + object.offsetLeft);
		while (object.tagName != 'BODY' && object.offsetParent) {
			object = object.offsetParent;
//alert (object.tagName + ' --- ' + object.offsetLeft);
			value += object.offsetLeft;
		}
	} else if (NS4) {
		value = document.layers[layer].pageX;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all['IE4' + layer]) {
			layer = 'IE4' + layer;
		}
		object = document.all[layer];
		value = object.offsetLeft;
		while (object.tagName != 'BODY') {
			object = object.offsetParent;
			value += object.offsetLeft;
		}
	}
	return (value);
}


function getOffsetTop(layer)
{
// IE 5.5 and 6.0 behaviour with this function is really strange:
// in some cases, they return a really too large value...
// ... after all, IE is buggy, nothing new
	var value = 0;
	if (DOM) {
		object = document.getElementById(layer);
		value = object.offsetTop;
		while (object.tagName != 'BODY' && object.offsetParent) {
			object = object.offsetParent;
			value += object.offsetTop;
		}
	} else if (NS4) {
		value = document.layers[layer].pageY;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all['IE4' + layer]) {
			layer = 'IE4' + layer;
		}
		object = document.all[layer];
		value = object.offsetTop;
		while (object.tagName != 'BODY') {
			object = object.offsetParent;
			value += object.offsetTop;
		}
	}
	return (value);
}

function setWidth(layer, w)
{
	if (DOM) {
		document.getElementById(layer).style.width = w;
	} else if (NS4) {
//		document.layers[layer].width = w;
	} else {
		document.all[layer].style.pixelWidth = w;
	}
}

function getOffsetWidth(layer)
{
	var value = 0;
	if (DOM && !Opera56) {
		value = document.getElementById(layer).offsetWidth;
	} else if (NS4) {
		value = document.layers[layer].document.width;
	} else if (Opera56) {
		value = document.getElementById(layer).style.pixelWidth;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all['IE4' + layer]) {
			layer = 'IE4' + layer;
		}
		value = document.all[layer].offsetWidth;
	}
	return (value);
}

function setHeight(layer, h)	// unused, not tested
{
	if (DOM) {
		document.getElementById(layer).style.height = h;
	} else if (NS4) {
//		document.layers[layer].height = h;
	} else {
		document.all[layer].style.pixelHeight = h;
	}
}

function getOffsetHeight(layer)
{
	var value = 0;
	if (DOM && !Opera56) {
		value = document.getElementById(layer).offsetHeight;
	} else if (NS4) {
		value = document.layers[layer].document.height;
	} else if (Opera56) {
		value = document.getElementById(layer).style.pixelHeight;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all['IE4' + layer]) {
			layer = 'IE4' + layer;
		}
		value = document.all[layer].offsetHeight;
	}
	return (value);
}

function setLeft(layer, x)
{
	if (DOM && !Opera5) {
		document.getElementById(layer).style.left = x + 'px';
	} else if (Opera5) {
		document.getElementById(layer).style.left = x;
	} else if (NS4) {
		document.layers[layer].left = x;
	} else {
		document.all[layer].style.pixelLeft = x;
	}
}

function setTop(layer, y)
{
	if (DOM && !Opera5) {
		document.getElementById(layer).style.top = y + 'px';
	} else if (Opera5) {
		document.getElementById(layer).style.top = y;
	} else if (NS4) {
		document.layers[layer].top = y;
	} else {
		document.all[layer].style.pixelTop = y;
	}
}

function pot(pytanie, url) {
	if ( confirm(pytanie))
   		window.location.href=url;
	else
		return false;
}

function zaokr(liczba) {
	liczba = liczba * 100;
	var wynik = Math.round(liczba)/100;
	return wynik;
}

function str_repeat(i, m) {
for (var o = ''; m-- > 0; o += i);
return o;
}

function sprintf () {
var a, f = arguments[0], fi= '', i = 1, m = [''], o = '', p;
while (f = f.substring (m[0].length)) {
m = /^([^\%]*)(?:(\x25)((\x25)|(?:(\d+)\$)?(\+)?(0|'([^$]))?(-|\^)?(\d+)?(?:\.(\d+))?([bcdefosuxX])))?/.exec(f);
if (a = m[12]) {
if (arguments.length < (i = m[5] || i))
throw("sprintf '" + m[0] + "' : No argument " + i);
a = arguments[i++];
s = (/[def]/.test(m[12]) && m[6] && a > 0) ? '+':'';
switch (m[12]) {
case 'b': a = a.toString(2); break;
case 'c': a = String.fromCharCode(a); break;
case 'd': a = parseInt(a); break;
case 'e': a = m[11] ? a.toExponential(m[11]) : a.toExponential(); break;
case 'f': a = m[11] ? parseFloat(a).toFixed(m[11]) : parseFloat(a); break;
case 'o': a = a.toString(8); break;
case 's': a = ((a = String(a)) && m[11] ? a.substring(0, m[11]) : a); break;
case 'u': a = Math.abs(a); break;
case 'x': a = a.toString(16); break;
case 'X': a = a.toString(16).toUpperCase(); break;
}
if (m[10] && (m[10] > a.length)) {
fir=fil=str_repeat(m[7] ? m[8] || '0' : ' ', m[10]-a.length);
if (m[9] == '^') {
fil = fil.substr(0, fil.length / 2);
fir = fir.substr(fil.length);
} else
m[9] == '-' ? (fil = '') : (fir = '');
a = fil + a + fir;
}
}
o += m[1] + ((m[3] ? m[4] || (s + a) : m[2]) || '');
}
return o;
}


// PHP Layers Menu 3.2.0-rc (C) 2001-2004 Marco Pratesi - http://www.marcopratesi.it/

layerLeft = new Array();
layerTop = new Array();

function setVisibility(layer, on)
{
	if (on) {
		if (DOM) {
			document.getElementById(layer).style.visibility = 'visible';
		} else if (NS4) {
			document.layers[layer].visibility = 'show';
		} else {
			document.all[layer].style.visibility = 'visible';
		}
	} else {
		if (DOM) {
			document.getElementById(layer).style.visibility = 'hidden';
		} else if (NS4) {
			document.layers[layer].visibility = 'hide';
		} else {
			document.all[layer].style.visibility = 'hidden';
		}
	}
}

function setClassName(layer, classname)
{
	document.getElementById(layer).className = classname;
}


function isVisible(layer)
{
	if (DOM) {
		return (document.getElementById(layer).style.visibility == 'visible');
	} else if (NS4) {
		return (document.layers[layer].visibility == 'show');
	} else {
		return (document.all[layer].style.visibility == 'visible');
	}
}

function setLeft(layer, x)
{
	layerLeft[layer] = x;
	if (DOM && !Opera5) {
		document.getElementById(layer).style.left = x + 'px';
	} else if (Opera5) {
		document.getElementById(layer).style.left = x;
	} else if (NS4) {
		document.layers[layer].left = x;
	} else {
		document.all[layer].style.pixelLeft = x;
	}
}

function getOffsetLeft(layer)
{
	var value = 0;
	if (DOM) {	// Mozilla, Konqueror >= 2.2, Opera >= 5, IE
		object = document.getElementById(layer);
		value = object.offsetLeft;
//alert (object.tagName + ' --- ' + object.offsetLeft);
		while (object.tagName != 'BODY' && object.offsetParent) {
			object = object.offsetParent;
//alert (object.tagName + ' --- ' + object.offsetLeft);
			value += object.offsetLeft;
		}
	} else if (NS4) {
		value = document.layers[layer].pageX;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all['IE4' + layer]) {
			layer = 'IE4' + layer;
		}
		object = document.all[layer];
		value = object.offsetLeft;
		while (object.tagName != 'BODY') {
			object = object.offsetParent;
			value += object.offsetLeft;
		}
	}
	return (value);
}

function setTop(layer, y)
{
layerTop[layer] = y;
	if (DOM && !Opera5) {
		document.getElementById(layer).style.top = y + 'px';
	} else if (Opera5) {
		document.getElementById(layer).style.top = y;
	} else if (NS4) {
		document.layers[layer].top = y;
	} else {
		document.all[layer].style.pixelTop = y;
	}
}

function getOffsetTop(layer)
{
// IE 5.5 and 6.0 behaviour with this function is really strange:
// in some cases, they return a really too large value...
// ... after all, IE is buggy, nothing new
	var value = 0;
	if (DOM) {
		object = document.getElementById(layer);
		value = object.offsetTop;
		while (object.tagName != 'BODY' && object.offsetParent) {
			object = object.offsetParent;
			value += object.offsetTop;
		}
	} else if (NS4) {
		value = document.layers[layer].pageY;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all['IE4' + layer]) {
			layer = 'IE4' + layer;
		}
		object = document.all[layer];
		value = object.offsetTop;
		while (object.tagName != 'BODY') {
			object = object.offsetParent;
			value += object.offsetTop;
		}
	}
	return (value);
}

function setWidth(layer, w)
{
	if (DOM) {
		document.getElementById(layer).style.width = w;
	} else if (NS4) {
//		document.layers[layer].width = w;
	} else {
		document.all[layer].style.pixelWidth = w;
	}
}

function getOffsetWidth(layer)
{
	var value = 0;
	if (DOM && !Opera56) {
		value = document.getElementById(layer).offsetWidth;
	} else if (NS4) {
		value = document.layers[layer].document.width;
	} else if (Opera56) {
		value = document.getElementById(layer).style.pixelWidth;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all['IE4' + layer]) {
			layer = 'IE4' + layer;
		}
		value = document.all[layer].offsetWidth;
	}
	return (value);
}

function setHeight(layer, h)	// unused, not tested
{
	if (DOM) {
		document.getElementById(layer).style.height = h;
	} else if (NS4) {
//		document.layers[layer].height = h;
	} else {
		document.all[layer].style.pixelHeight = h;
	}
}

function getOffsetHeight(layer)
{
	var value = 0;
	if (DOM && !Opera56) {
		value = document.getElementById(layer).offsetHeight;
	} else if (NS4) {
		value = document.layers[layer].document.height;
	} else if (Opera56) {
		value = document.getElementById(layer).style.pixelHeight;
	} else {	// IE4 IS SIMPLY A BASTARD !!!
		if (document.all['IE4' + layer]) {
			layer = 'IE4' + layer;
		}
		value = document.all[layer].offsetHeight;
	}
	return (value);
}

function getWindowWidth()
{
	var value = 0;
	if ((DOM && !IE) || NS4 || Konqueror || Opera) {
		value = window.innerWidth;
//	} else if (NS4) {
//		value = document.width;
	} else {	// IE
		if (document.documentElement && document.documentElement.clientWidth) {
			value = document.documentElement.clientWidth;
		} else if (document.body) {
			value = document.body.clientWidth;
		}
	}
	if (isNaN(value)) {
		value = window.innerWidth;
	}
	return (value);
}

function getWindowXOffset()
{
	var value = 0;
	if ((DOM && !IE) || NS4 || Konqueror || Opera) {
		value = window.pageXOffset;
	} else {	// IE
		if (document.documentElement && document.documentElement.scrollLeft) {
			value = document.documentElement.scrollLeft;
		} else if (document.body) {
			value = document.body.scrollLeft;
		}
	}
	return (value);
}

function getWindowHeight()
{
	var value = 0;
	if ((DOM && !IE) || NS4 || Konqueror || Opera) {
		value = window.innerHeight;
	} else {	// IE
		if (document.documentElement && document.documentElement.clientHeight) {
			value = document.documentElement.clientHeight;
		} else if (document.body) {
			value = document.body.clientHeight;
		}
	}
	if (isNaN(value)) {
		value = window.innerHeight;
	}
	return (value);
}

function getWindowYOffset()
{
	var value = 0;
	if ((DOM && !IE) || NS4 || Konqueror || Opera) {
		value = window.pageYOffset;
	} else {	// IE
		if (document.documentElement && document.documentElement.scrollTop) {
			value = document.documentElement.scrollTop;
		} else if (document.body) {
			value = document.body.scrollTop;
		}
	}
	return (value);
}


