// Funkcje scisle zwiazane ze struktura naszego HTML-a
// Inicjalizacja obiektowego modelu dokumentu

var DOM;

if (document.layers) {
	DOM= 4;
	if ((navigator.appVersion && parseInt(navigator.appVersion) == 4 && parseFloat(navigator.appVersion) < 4.8)
	&& (typeof(navigator.appMinorVersion) == 'undefined')
	&& ((navigator.userAgent && navigator.userAgen.indexOf('compatible') < 0)
	||  (navigator.platform && navigator.platform.indexOf('Java') < 0)))
	{
		oldW= outerWidth; oldH= outerHeight; onresize= function () { if (outerWidth != oldW || outerHeight != oldH) location.reload(); }
	}
}
else if (document.all)            DOM= 5;
else if (document.getElementById) DOM= 6;
else                              DOM= 0;

function show(e, id) {
	var s, w;
	if (!e) e= window.event;
	s= getStyle(null, id);
	if (s) {
		var tpw= typeof(s.pixelWidth);
		if (tpw != 'undefined' && tpw != 'unknown') s.pixelWidth= 10;
		else {
			w= getCurrentStyle(null, id, 'width'); if (!w) w= s.width;
			if (typeof(w) == 'number' && w > 400) s.width= 400;
		}
		var tpx= typeof(e.pageX);
		var  px= tpx == 'undefined' || tpx == 'unknown' ? Number.NaN : parseInt(e.pageX);
		var tpy= typeof(e.pageY);
		var  py= tpy == 'undefined' || tpy == 'unknown' ? Number.NaN : parseInt(e.pageY);
		var tox= typeof(e.offsetX);
		var  ox= tox == 'undefined' || tox == 'unknown' ? Number.NaN : parseInt(e.offsetX);
		var toy= typeof(e.offsetY);
		var  oy= toy == 'undefined' || toy == 'unknown' ? Number.NaN : parseInt(e.offsetY);
		var tcx= typeof(e.clientX);
		var  cx= tcx == 'undefined' || tcx == 'unknown' ? Number.NaN : parseInt(e.clientX);
		var tcy= typeof(e.clientY);
		var  cy= tcy == 'undefined' || tcy == 'unknown' ? Number.NaN : parseInt(e.clientY);
		var x= -1, y= -1;
		if (!isNaN(px) && !isNaN(py)) {
			x= px;
			y= py;
		} else
		if (!isNaN(ox) && !isNaN(oy)) {
			var src= e.srcElement;
			x= findPosX(src) + ox;
			y= findPosY(src) + oy;
		} else
		if(!isNaN(cx) && !isNaN(cy)) {
			x= cx;
			y= cy;
		}
		if(x >= 0 && y >= 0) {
			s.left= x;
			s.top = y+16;
		}
		if (window.event) window.event.returnValue= false;
	}
	return false;
}

function hide(id) {
	var s;
	s= getStyle(null, id);
	if (s) {
		s.left= -1000;
		s.top = -1000;
		if (window.event) window.event.returnValue= false;
	}
	return false;
}


function glossShow(e, id) {
	return show(e, 'ID_gloss_' + id);
}

function glossHide(id) {
	return hide('ID_gloss_' + id);
}



function getObj(id) {
	switch (DOM) {
		case 6 : this.obj  = document.getElementById(id);
				 this.style= document.getElementById(id).style;
				 break;
		case 5 : this.obj  = document.all[id];
				 this.style= document.all[id].style;
				 break;
		case 4 : this.obj  = getObjNN4(window.document, id);
				 this.style= this.obj;
				 break;
		default: break;
	}
}

function getObjNN4(obj, id) {
	var x= obj.layers;
	var ret;
	for (var i= 0; i < x.length; i++) {
		if (x[i].id == id)
			ret= x[i];
		else if (x[i].layers.length)
			var tmp= getObjNN4(x[i], id);
		if (tmp) ret= tmp;
	}
	return ret;
}

function getElement(id) {
	var obj;
	switch (DOM) {
		case 6 : obj= document.getElementById(id); break;
		case 5 : obj= document.all[id];            break;
		case 4 : obj= document.layers[id];         break;
		default: obj= null;
	}
	return obj;
}

function getStyle(obj, id, style) {
	var s;
	if (!obj && id) obj= getElement(id);
	if (obj && obj.style) s= obj.style; else s= obj;
	if (s && style) s= eval('s.' + style);
	return s;
}



function findPosX(obj) {
	var lft= 0;
	if (DOM >= 5) {
		while (obj.offsetParent) {
			lft+= obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else
	if (DOM == 4)
		lft+= obj.x;
	return lft;
}

function findPosY(obj) {
	var top= 0;
	if (DOM >= 5) {
		while (obj.offsetParent) {
			top+= obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else
	if (DOM == 4)
		top+= obj.y;
	return top;
}

