function Util() { }

Util.intersect=function(t1,t2){
 var wynik = [];
 var i;
 for(i=0;i<t1.length;i++){
    if(t2.indexOf(t1[i])>=0)  {
	    wynik.push(t1[i]);
	}
 }
 return wynik;
};

Util.dajCzescWspolna= function(t1,t2){
 var wspolna = new Array();
 var i,j,poz;
 poz=0;
 for(i=0;i<t1.length;i++) {
    if( Util.szukajLiczby(t2,t1[i])==true)       {
	    wspolna[poz]=t1[i];
			poz++;
       }
 }
 return wspolna;
}

Util.tergetCD = function(){
	return document.getElementById('dodajObiekt') ? false : true;
};


Util.prepareFotoSrc = function(stdSrc, obiektID, fzi){
	var folderFoto = 'db/obiektfoto/';
	if(Util.tergetCD()){
		if(stdSrc=='x_1.jpg'){
			return folderFoto+stdSrc;
		}
		return fzi > 0 ? folderFoto + obiektID + '_0.jpg' : 'brak';
	} else {
		return $stdSrc;
	}
};

Util.szukajLiczby = function (tab,liczba) {
	 var wynik=false;
	 var s,k,d,el,licz;

	 licz=0;
	 s=0;
	 k=tab.length-1;
	if(k>1)
	{
	 d=k-s;
	 d=Math.floor(d/2);
	 el=tab[d];

	 while((d!=0)&&((k-s)!=1)&&(licz!=2))
	 {
		if(liczba<el)
		{
		 k=d;
		 d= (k - Math.ceil(d/2));
		}
		if(liczba>el)
		{
			s=d;
			d=(s + Math.ceil((k-s)/2));
			if((d==1))
				 licz++;
		}
		el=tab[d];
		if(liczba==el)
		{wynik=true;break;}
	 }
	}
	else
	{
		 for(s=0;s<tab.length;s++)
			 {
				if(liczba==tab[s])
				{
				 wynik=true;
				 break;
				}
			 }
	}
	 return wynik;
}


Util.usunPL=function(str){
	var r1=/ś/g;
	var r2=/ą/g;
	var r3=/ń/g;
	var r4=/ź/g;
	var r5=/ł/g;
	var r6=/ó/g;
	var r7=/ż/g;
	var r8=/ć/g;
	var r9=/ę/g;
	var d1=/Ś/g;
	var d2=/Ą/g;
	var d3=/Ń/g;
	var d4=/Ź/g;
	var d5=/Ł/g;
	var d6=/Ó/g;
	var d7=/Ż/g;
	var d8=/Ć/g;
	var d9=/Ę/g;

	str=str.toLowerCase();

	str=str.replace(r1,"s");
	str=str.replace(r2,"a");
	str=str.replace(r3,"n");
	str=str.replace(r4,"z");
	str=str.replace(r5,"l");
	str=str.replace(r6,"o");
	str=str.replace(r7,"z");
	str=str.replace(r8,"c");
	str=str.replace(r9,"e");
	str=str.replace(d1,"s");
	str=str.replace(d2,"a");
	str=str.replace(d3,"n");
	str=str.replace(d4,"z");
	str=str.replace(d5,"l");
	str=str.replace(d6,"o");
	str=str.replace(d7,"z");
	str=str.replace(d8,"c");
	str=str.replace(d9,"e");
	while(str.search(' ')!=-1){
		str=str.replace(' ',"-");
	}
	return str;
};

Util.getElementHeight=function (elem) {
	h = elem.offsetHeight;	
	//if (IE) { h+=2*podpowiedzDivPadding+2*parseInt(podpowiedzDivBorder);} //poprawke dla IE;)
	return h;
};

Util.getElementWidth=function (elem) {
	w = elem.offsetWidth;	
	//if (IE) { h+=2*podpowiedzDivPadding+2*parseInt(podpowiedzDivBorder);} //poprawke dla IE;)
	return w;
};


Util.findPosition=function ( oElement ) {
	if( typeof( oElement.offsetParent ) != 'undefined' ) {
		for( var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent ) {
			posX += oElement.offsetLeft;
			posY += oElement.offsetTop;
		}
		return {x:posX, y :posY };
	} else {
		return {x: oElement.x, y: oElement.y};
	}
};

Util.preloadIMG = function(src){
	var preloadKontener=document.getElementById('preloadKontener');
	if (!preloadKontener){
		preloadKontener = document.createElement('div');
		preloadKontener.id='preloadKontener';
		preloadKontener.style.display='none';
		document.body.appendChild(preloadKontener);
	}
	
	var img = document.createElement('img');
	img.src=src;
	preloadKontener.appendChild(img);	
};


Util.followMouse = function(param){
	var obj=document.getElementById(param.id)
	obj.style.position="absolute";
	//document.body.style.position="relative";
	document.onmousemove=	function(e){
			//if (obj.style.display=='none') { return; }
			var posx = 0;
			var posy = 0;
			if (!e) var e = window.event;
			if (e.pageX || e.pageY) 	{
				posx = e.pageX;
				posy = e.pageY;
			}	else 
			if (e.clientX || e.clientY) 	{
				posx = e.clientX + document.body.scrollLeft
					+ document.documentElement.scrollLeft;
				posy = e.clientY + document.body.scrollTop
					+ document.documentElement.scrollTop;
			}
			obj.style.top=posy+param.offY+"px";
			obj.style.left=posx+param.offX+"px";
	};
	
};

/**
 * Removes duplicates in the array 'a'
 * @author Johan Känngård, http://dev.kanngard.net
 */
Util.arrayUnique = function(a) {
	tmp = new Array(0);
	for(i=0;i<a.length;i++){
		if(!Util.arrayContains(tmp, a[i])){
			tmp.length+=1;
			tmp[tmp.length-1]=a[i];
		}
	}
	return tmp;
}

/**
 * Returns true if 's' is contained in the array 'a'
 * @author Johan Känngård, http://dev.kanngard.net
 */
Util.arrayContains = function(a, e) {
	for(j=0;j<a.length;j++)if(a[j]==e)return true;
	return false;
}

