var helper = null;
var note = null;

var isIE = true;

function empty(){}
function normalStart(){
	resetDebug();
	helper = new helpObject();
	helper.init();
	if (window.event){
		isIE = true;
	}else{
		isIE = false;
	}
	error = new helpObject();
	error.init();
	
}
function sob(element){
	var obj = new Object();
	obj.id = element;
	obj.x = null;
	obj.y = null;
	obj.z = null;
	
	
	obj.px = null;
	obj.py = null;
	var tmp = $(element);
	if(tmp.style){
	
		with(obj){
			x = parseInt(tmp.style.left || tmp.offsetLeft);
			y = parseInt(tmp.style.top || tmp.offsetTop);
			z = parseInt(tmp.style.zIndex || '0');
			px = parseInt(tmp.style.width || tmp.offsetWidth);
			py = parseInt(tmp.style.height || tmp.offsetHeight);
		}
	}
	return obj;
}
function px(object){
	return parseInt(object.style.width || object.offsetWidth);
}
function hideObject(object_id){
	var ob = $(object_id);
	if(!ob){
		return false;
	}
	d('Ukrywanie obiektu ' + object_id);
	ob.style.display = 'none';
	return true;
}
function showObject(object_id){
	var ob = $(object_id);
	if(!ob){
		return false;
	}
	d('Pokazywanie obiektu ' + object_id);
	ob.style.display = 'block';
	return true;
}
function helpObject(){
	var obj = new Object();
	obj.ht = null;
	obj.init = function(){
		obj.ht = document.createElement('div');
		obj.ht.id = 'helper';
		with(obj.ht.style){
			visibility = 'hidden';
			border = '1px solid gray';
			color = 'black';
			background = 'yellow';
			padding = '1px 5px 2px 1px';			
			zIndex = 100;
			width = 'auto';
			height = 'auto';
			position = 'absolute';
			left = '0px';
			top = '0px';
		}
		obj.ht.innerHTML = null;
	    document.body.appendChild(obj.ht);
	}
	obj.show = function(x,y,text){
		showObject(obj.ht.id);
		moveToCenter(obj.ht.id);
		obj.ht.innerHTML = text;
	}
	obj.hide = function(){
		with(obj.ht.style){
			visibility = 'hidden';
			left = '0px';
			top = '0px';
		}
	}
	return obj;
}

function gotosite(site) { if (site != "") { self.location=site; }}
function okno(url, width, height) { xx=(screen.availHeight-height)/2-10; yy=(screen.availWidth-width)/2; var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',top='+xx+',left='+yy+',resizable=0,scrollbars=yes,menubar=no' );}
function shBlock(block_id){	var obj = $(block_id);if(!obj) return false;D(obj.style.display + 'Styl obecny obiektu: ' + block_id);if(obj.style.display=='none'){	if(obj.style.display_old){obj.style.display  = obj.style.display_old;return true;} obj.style.display = 'block';	return true;}	obj.style.display_old = obj.style.display;obj.style.display = 'none';return true;}
var an = 0;
var al = 0;
var ai = 0;
if (document.getElementById) {
	ai = 1;
}else {
	if (document.all) {
	al = 1;
	} else {
		browserVersion = parseInt(navigator.appVersion);
		if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {
			an = 1;
		}
	}
}
function fd(oi, wS) {
	if (ai) return wS ? document.getElementById(oi).style:document.getElementById(oi);
	if (al) return wS ? document.all[oi].style: document.all[oi];if (an) return document.layers[oi];
}
function pw() { return window.innerWidth != null? window.innerWidth: document.body.clientWidth != null? document.body.clientWidth:null;}
/*function mouseX(evt) { if (evt.pageX) return evt.pageX; else if (evt.clientX) return evt.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);else return null;}
function mouseY(evt) { if (evt.pageY)return evt.pageY;else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);else return null;}*/
var last_id = null;
function pops(evt,oi) {
	var wp = pw();
	ds = fd(oi,1);
	dm = fd(oi,0);
	if (dm.offsetWidth) ew = dm.offsetWidth; 
	else if (dm.clip.width){
		ew = dm.clip.width;
	}
	var cursor = getPosition(evt); 
	tv = cursor.y + 20;
	lv = cursor.x - (ew/4);
	if (lv < 2)
		lv = 2;
	else if (lv + ew > wp)
		lv -= ew/2;
	if (!an) {
		lv += 'px';
		tv += 'px';
	}
	ds.left = lv;
	ds.top = tv;
	ds.visibility = "visible";
	last_id = oi;
	document.onmouseout = poph_auto;
	document.onclick = poph_auto;
}
var hint_box = null;
function popHint(evt,text){
	var cursor = getPosition(evt);
	if(hint_box == null){
		hint_box = document.createElement('div');
		hint_box.id = 'hint_box';
		d(hint_box);
		document.body.appendChild(hint_box);
		hint_box.className = 'tip';	
		with(hint_box.style){
			zIndex = 100;
			width = 'auto';
			height = 'auto';
			position = 'absolute';
		}
	}
	hint_box.innerHTML = text;
	if(cursor.x && cursor.y){
		with(hint_box.style){
			left = (cursor.x - 20) + 'px';
			top = (cursor.y + 20) + 'px';
			visibility = 'visible';
		}
		last_id = 'hint_box';
		document.onmouseout = poph_auto;
		document.onclick = poph_auto;
	}
}
function getPosition(e) {
	e = e || window.event;
	var cursor = { x : 0, y : 0 };
	if (e.pageX || e.pageY) {
		cursor.x = e.pageX;
		cursor.y = e.pageY;
	} else {
		var de = document.documentElement;
		var b = document.body;
		cursor.x = e.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
		cursor.y = e.clientY + (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
	}
	return cursor;
}
function poph_auto(event){if($(last_id)){$(last_id).style.visibility = "hidden";document.onmouseout = null;}}
function moveToCenter(id,min_top_offset){
	id = $(id);
	if(!min_top_offset){
		min_top_offset = 0;
	}
	var y = 0;
	if(!$(id)){
		return false;
	}
	var dim = id.getDimensions();
	if(document.documentElement){
		var main = $(document.documentElement);
		//y += document.documentElement.cumulativeScrollOffset();
	}else{
		var main = $(document.body);
		//y += document.body.cumulativeScrollOffset();
	}
	//ustalam pozycje na osi Y
	y = scrollTop() + 25;
	if(y < 0 || y < min_top_offset){
		y = min_top_offset;
	}
	id.style.top = y + 'px';
	
	//ustalam pozycje na osi X.
	id.style.left = (main.getDimensions().width / 2) - (dim.width / 2) + 'px';
}
function scrollTop(){
	if(document.documentElement && document.documentElement.scrollTop){
		return parseInt(document.documentElement.scrollTop);
	}else{
		return parseInt(document.body.scrollTop);
	}
	return 0;
}
function scrollLeft(){
	if(document.documentElement && document.documentElement.scrollLeft){
		return parseInt(document.documentElement.scrollLeft);
	}else{
		return parseInt(document.body.scrollLeft);
	}
	return 0;
}
function windowHeight() {
	if (window.innerHeight){
		return parseInt(window.innerHeight);
	}
	else if (document.body && document.body.offsetHeight){
		return parseInt(document.documentElement.clientHeight);
		//return parseInt(document.body.offsetHeight);
	}
	return null;
} 
function windowWidth() {
	if(document.documentElement.offsetWidth){
		return parseInt(document.documentElement.offsetWidth);
	}
	if (window.innerWidth){
		return parseInt(window.innerWidth);
	}
	if (document.body && document.body.offsetWdith){
		return parseInt(document.body.offsetWidth);
	}
	return null;
}
/**
 * Funkcja przelaczania zakladek.
 *
 * @param	group_name Nazwa grupy
 * @param	element_id Identyfikator glowny
 * @param	element_array	Tablica JS zawierajaca liste identyfikatorow
 */
function switchTabs(group_name, element_id,element_array){
 	var obj;
 	for(index in element_array){
 		i = element_array[index]; 
 		if($(group_name + i)){
 			//d(group_name + i);
 			obj = $(group_name + i);

 			if(element_id == i){
 				tabik = $(group_name + '_tab' + i);
 				if(tabik){
 					tabik.className = 'on';
 				}
 				obj.style.display = 'block';
 			}else{
 				tabik = $(group_name + '_tab' + i);
 				if(tabik){
 					tabik.className = 'off';
 				}
 				obj.style.display = 'none';
 			}
 		}
 	}
}
function sTab(obj){
	obj = $(obj);
	var TA = $A(obj.parentNode.parentNode.childElements());
	id = String(obj.id);
	id = id.substring(4);
	TA[0].childElements().each(function(item){
		if(item.id == obj.id){
			item.className = 'on';
		}else{
			item.className = 'off';
		}
	});	
	TA[1].childElements().each(function(item){
		if(item.id == id){
			item.show();
		}else{
			item.hide();
		}
	});
}