//                                      ============ ENGINE X ============
function switch_image_layer(cislo,jak,typ_obr)
	{
	var i;
	cislo=Number(cislo);
	if(!image_layers[cislo]) image_layers[cislo]=new c_image_layer(cislo,typ_obr);
	image_layers[cislo].zobrazovat=jak;
	if(!jak) for(i=0;i<pocet_obrazku;i++) image_layers[cislo].obr[i].style.display="none";
	i_lh_x_old=-1;
	load_images(px,py);
	}

function get_image_layer(cislo)
	{
	return image_layers[cislo];
	}

function get_image_layers()
	{
	return image_layers;
	}

function create_image_layer(cislo,typ_obr)
	{
	image_layers[cislo]=new c_image_layer(cislo,typ_obr);
	}

function setView(uroven,sx,sy)
	{
	if (uroven=="max") uroven=(mppx.length-1);
	uroven=Number(uroven);sx=Number(sx);sy=Number(sy);
	set_zoom(uroven);
	if (uroven==p_u && je_vmx) check_vnoreni(sx,sy);
	setTimeout("go2("+sx+","+sy+")",500);
	}

function zoomIn() {setView(zoom+1,px2m_x(s__o/2+px),px2m_y(v__o/2+py)); if (zoom==(p_u-1) && je_vmx) check_vnoreni();}
function zoomOut() {setView(zoom-1,px2m_x(s__o/2+px),px2m_y(v__o/2+py));}
function entireMap() {setView(0,(pphm_x[0]+pldm_x[0])/2,(pphm_y[0]+pldm_y[0])/2);}
function viewChanged()
	{
	var vn=false;
	if(je_vmx) vn=check_vnoreni_in();
	if(send_events) parent.viewChanged(Math.floor(px2m_x((s__o-12)/2+px)),Math.floor(px2m_y((v__o-12)/2+py)),vn);
	}
function zoomChanged() {if(send_events) setTimeout("parent.zoomChanged(zoom,mppx[zoom])",20);}
function mapChanged(jak) {setTimeout("parent.mapChanged('"+jak+"',"+p_u+")",10);send_events=true;zoomChanged();}
function viewSubMaps(prep) {if(je_vmx){zobrazovat_ctverce=prep;zobraz_vnorene();}}
function zoomLock(prep) {zloc=prep;}
function setMenu(mmenu) {pmenu=mmenu;}
function setLayerMinZoom (v,z) {prah_ikon[v]=z;}
function setMapName(jmeno) {document.tisk.nazev.value=jmeno;}
function getMark() {return new Array(je_sp,x_sp,y_sp)}
function showMark(prep)
	{
	if (prep) je_sp=1; else je_sp=0;
	if (je_sp) umisti_sipku();
	else with (gid("sp"))
		{
		style.visibility='hidden';
		style.left=0;
		style.top=0;
		}
	gid("sp").style.zIndex=99;
	}

function changeMap(nmapa,uroven,sx,sy)
	{
	uroven=uroven || 0;
	sx=sx || 0; sy = sy || 0;
	self.location.href="http://"+self.location.host+self.location.pathname+"?use_maps="+use_maps+"&app="+app+"&a0="+a_0+"&x="+sx+"&y="+sy+"&zoom="+uroven+"&mapa="+nmapa+"&sipka="+zsp+"&jspref="+jspref+"&jstyp="+jstyp+"&ww="+s__o+"&wh="+v__o+"&zobrazit="+je_sp+"&x_sp="+x_sp+"&y_sp="+y_sp;
	}

function setMark(uroven,sx,sy)
	{
	if (uroven=="max") uroven=(mppx.length-1);
	sx=Number(sx);sy=Number(sy);
	x_sp=sx;y_sp=sy;
	setView(Number(uroven),sx,sy);
	showMark(true);
	}

function setMarkOnMap(uroven,sx,sy,cmapa,addparams)
	{
	if (mapa==cmapa) setMark(uroven,sx,sy);
	else
		{
		newloc="http://"+self.location.host+self.location.pathname+"?use_maps="+use_maps+"&app="+app+"&a0="+a_0+"&zobrazit=1&x="+sx+"&y="+sy+"&zoom="+uroven+"&mapa="+cmapa+"&jspref="+jspref+"&jstyp="+jstyp+"&ww="+s__o+"&wh="+v__o+"&sipka="+zsp+"&"+addparams;
		self.location.href=newloc;
		}
	}

function setViewOnMap(uroven,sx,sy,cmapa)
	{
	if (mapa==cmapa) setView(uroven,sx,sy);
	else
		{
		newloc="http://"+self.location.host+self.location.pathname+"?use_maps="+use_maps+"&app="+app+"&a0="+a_0+"&zobrazit="+(je_sp ? 1:0)+"&x_sp="+x_sp+"&y_sp="+y_sp+"&x="+sx+"&y="+sy+"&zoom="+uroven+"&mapa="+cmapa+"&jspref="+jspref+"&jstyp="+jstyp+"&ww="+s__o+"&wh="+v__o+"&sipka="+zsp;
		self.location.href=newloc;
		}
	}

function setMarkFromString(ret)
	{
	ret=ret.split(",");
	setMark(Number(ret[0]),Number(ret[1]),Number(ret[2]));
	}

function setViewFromString(ret)
	{
	ret=ret.split(",");
	setView(Number(ret[0]),Number(ret[1]),Number(ret[2]));
	}

function setMarkFromStringOnMap(ret,cmapa)
	{
	if (mapa==cmapa) setMarkFromString(ret);
	else
		{
		ret=ret.split(",");
		newloc="http://"+self.location.host+self.location.pathname+"?use_maps="+use_maps+"&app="+app+"&a0="+a_0+"&zobrazit=1&x="+ret[1]+"&y="+ret[2]+"&zoom="+ret[0]+"&mapa="+ret[3]+"&jspref="+jspref+"&jstyp="+jstyp+"&ww="+s__o+"&wh="+v__o+"&sipka="+zsp;
		self.location.href=newloc;
		}
	}

function getZoom() {return (zoom);}
function getXPos() {return (px2m_x(s__o/2+px-7));}
function getYPos() {return (px2m_y(v__o/2+py-7));}

function switchLayer(vrstva,prep)
	{
	prep=prep?1:0;
	//alert(vrstva+": "+prep);
	if (prep && !(nacteno[vrstva]))
		{
		if(!frames["vrstva"+vrstva])
			{
			var new_frame=document.createElement("iframe");
			new_frame.name="vrstva"+vrstva;
			new_frame.id="vrstva"+vrstva;
			new_frame.style.width=0;
			new_frame.style.height=0;
			new_frame.style.visibility="hidden";
			document.body.appendChild(new_frame);
			}
		frames["vrstva"+vrstva].location.href="../mapa/loader.php?vrstva="+vrstva+"&jstyp="+jstyp+"&jspref="+jspref+"&lng="+lng;
		}
	else
		{
		zobrazovat[vrstva]=prep;
		i_lh_x_old=-1;
		load_images(px,py);
		}
	}

function switchAll(jak)
	{
	var i;
	for(i=0;i<vrstvy.length;i++) zobrazovat[vrstvy[i]]=jak;
	i_lh_x_old=-1;
	load_images(px,py);
	}

function prn(eritko,soubor,t_okno,tsirka,tvyska,menubar)
	{
	if (!menubar || menubar=="no") menubar="no"; else menubar="yes";
	if(!tsirka) {tsirka=s__o;tvyska=v__o;}
	lhx=px-(tsirka-s__o)/2;
	lhy=py-(tvyska-v__o)/2;
	text_obr="";
	text_ikon="";
	gif0_i_x=Math.floor(lhx/s__g);
	gif0_i_y=Math.floor(lhy/v__g);
	gpw_x=Math.floor((lhx+tsirka-gif0_i_x*s__g)/s__g)+1;
	gpw_y=Math.floor((lhy+tvyska-gif0_i_y*v__g)/v__g)+1;
	gif0_no=gif0_i_y*pg_x[zoom]+gif0_i_x+pn0[zoom];
	for (i=0;i<gpw_y;i++) for (j=0;j<gpw_x;j++) if (i+gif0_i_y<pg_y[zoom] && j+gif0_i_x<pg_x[zoom]) text_obr=text_obr+((i+gif0_i_y)*pg_x[zoom]+j+gif0_i_x+pn0[zoom])+"#"+((i+gif0_i_y)*v__g-lhy)+"#"+((j+gif0_i_x)*s__g-lhx)+"@";
	if (jsou_odkazy && r_o_x[zoom]>0)
		{
		i_lh_x=get_i_x(px2m_x(lhx));
		i_lh_y=get_i_y(px2m_y(lhy));
		i_pd_x=get_i_x(px2m_x(lhx+tsirka));
		i_pd_y=get_i_y(px2m_y(lhy+tvyska));
		if (i_pd_x>=sgu_x) i_pd_x=sgu_x-1;
		if (i_pd_y>=sgu_y) i_pd_y=sgu_y-1;
		for (i=i_lh_x;i<=i_pd_x;i++) for (j=i_lh_y;j<=i_pd_y;j++) for (k=0;k<iy[i][j].length;k++)
			{
			ip1=iy[i][j][k][0];
			if (zoom>=prah_ikon[ip1])
				{
				a_polozka=polozky_s[ip1][iy[i][j][k][1]];
				if ((m2px_x(a_polozka[2])>lhx-r_o_x[zoom]/2 && m2px_y(a_polozka[3])>lhy-r_o_y[zoom]/2 && m2px_x(a_polozka[2])<(lhx+tsirka+r_o_x[zoom]/2) && m2px_y(a_polozka[3])<(lhy+tvyska+r_o_y[zoom]/2)) || (m2px_x(a_polozka[6])>lhx-r_o_x[zoom]/2 && m2px_y(a_polozka[7])>lhy-r_o_y[zoom]/2 && m2px_x(a_polozka[6])<(lhx+tsirka+r_o_x[zoom]/2) && m2px_y(a_polozka[7])<(lhy+tvyska+r_o_y[zoom]/2)))
					{
					if (nacteno[ip1] && zobrazovat[ip1])
						{
						if (a_polozka[iif[zikony[zoom]]]!=0)
							{
							xxx=a_polozka[iif[zikony[zoom]]];
							yyy=a_polozka[iif[zikony[zoom]]+1];
							}
						else
							{
							xxx=a_polozka[iif[Math.abs(zikony[zoom]-1)]];
							yyy=a_polozka[iif[Math.abs(zikony[zoom]-1)]+1];
							}
						text_ikon=text_ikon+a_polozka[4]+"#"+Math.round(m2px_y(yyy)-lhy-r_o_y[zoom]/2)+"#"+Math.round(m2px_x(xxx)-lhx-r_o_x[zoom]/2)+"@";
						}
					}
				}
			}
		}
	if (!t_okno) t_okno="tisk";
	window.open("",t_okno,"width="+(tsirka+10)+", height="+(tvyska+40)+", top=10, left=10, toolbar=no, menubar="+menubar+", location=no, directories=no, scrollbars=no, resizable=yes, status=yes");
	document.tisk.vyska.value=tvyska-16;document.tisk.sirka.value=tsirka-16;
	document.tisk.obrazky.value=text_obr.substr(0,text_obr.length-1);
	document.tisk.ikony.value=text_ikon.substr(0,text_ikon.length-1);
	document.tisk.mapa.value=mapa;
	document.tisk.so.value=s__g;
	document.tisk.vo.value=v__g;
	document.tisk.prefix.value=a_0+pole_adresar[zoom]+"/"+psoubor+"_";
	document.tisk.itype.value=ty_o[zoom];
	document.tisk.rox.value=r_o_x[zoom];document.tisk.roy.value=r_o_y[zoom];
	document.tisk.mppx.value=mppx[zoom];
	document.tisk.tmeritko.value=eritko || "";
	if (gid("sp").style.visibility=="visible") document.tisk.sipka.value=src_spn+"#"+(Math.round(m2px_y(y_sp)-v_sp/2)-lhy)+"#"+(Math.round(m2px_x(x_sp)-s_sp/2)-lhx);
	if (kreslit_trasu)
		{
		text="";
		for (i=0;i<ptrasa.length;i=i+2) text=text+","+Math.round(m2px_x(ptrasa[i])-lhx)+","+Math.round(m2px_y(ptrasa[i+1])-lhy);
		document.tisk.trasa.value=text;
		document.tisk.dtrasa.value=ptrasa.length/2;
		}
	else document.tisk.trasa.value="";
	document.tisk.kcisla.value=show_numbers || "";
	document.tisk.action=soubor || "tisk.php";
	document.tisk.target=t_okno;
	document.tisk.submit();
	}

// private functions:
function c_image_layer(cislo,typ_obr)
	{
	var i;
	this.cislo=cislo;
	this.typ_obr=typ_obr;
	this.zobrazovat=true;
	this.obr=new Array();
	for (i=0;i<pocet_obrazku;i++)
		{
		this.obr[i]=document.createElement("img");
		this.obr[i].style.width=s__g+"px";
		this.obr[i].style.height=v__g+"px";
		this.obr[i].src="../img0/mezera.gif";
		this.obr[i].className="obr0";
		this.obr[i].zIndex=cislo;
		this.obr[i].onerror=i_mezera;
		this.obr[i].id="o_"+cislo+"_"+i;
		gid("body").appendChild(this.obr[i]);
		}
	}

function i_mezera(e)
	{
	e.currentTarget.style.display="none";
	}

function gid(co)
	{
	if (document.getElementById(co)) return document.getElementById(co);
	else return false;
	}

function go2(sx,sy)
	{
	px=Math.round((m2px_x(sx)-s__o/2)+8);
	py=Math.round((m2px_y(sy)-v__o/2)+8);
	self.scrollTo(px,py)
	load_images(px,py);
	if (ptrasa.length>3)
		{
		setRoute(ptrasa,tobrys,tbarva);
		showRoute(kreslit_trasu);
		}
	jetimeout=0;
	}

function set_zoom(zoom_level)
	{
	var r,i;
	if (zoom_level<0 && je_nadrazena) vynor();
	if (zoom_level>=0 && zoom_level<p_u)
		{
		zoom=zoom_level;
		for (r=0;r<image_layers.length;r++) if(image_layers[r])
			{
			if(image_layers[r].zobrazovat) for(i=0;i<image_layers[r].obr.length;i++) image_layers[r].obr[i].style.display="none";
			}
		if (jsou_odkazy) for (k=0;k<(m_p_i);k++) with (gid("i"+k))
			{
			style.visibility='hidden';
			style.left=0;
			style.top=0;
			}
		s_m_m=pphm_x[zoom]-pldm_x[zoom];v_m_m=pphm_y[zoom]-pldm_y[zoom];
		s_m_px=s__g*pg_x[zoom];v_m_px=v__g*pg_y[zoom];
		n1=pn0[zoom]+1+pg_x[zoom]*pg_y[zoom];
		with (gid("pd")) {style.left=s_m_px+"px";style.top=v_m_px+"px";}
		if (je_sp) umisti_sipku();
		if (je_vmx) {if (zoom_level>=(p_u-4)) zobraz_vnorene(); else skryj_vnorene();}
		gif0_no_old=-111;i_lh_x_old=-111;i_lh_y_old=-111;
		zoomChanged();
		}
	}

function load_images(lhx,lhy)
	{
	var i,j,k,r,pripona,zdroj;
	var xposun;
	if (prohlizec==2) {px=self.pageXOffset;py=self.pageYOffset}
	else {px=document.body.scrollLeft;py=document.body.scrollTop;}
	lhx=px;lhy=py;
	do
		{
		redraw_now=false;
		gif0_i_x=Math.floor(lhx/s__g);
		gif0_i_y=Math.floor(lhy/v__g);
		gpw_x=Math.floor((lhx+s__o-gif0_i_x*s__g)/s__g)+1;
		gpw_y=Math.floor((lhy+v__o-gif0_i_y*v__g)/v__g)+1;
		gif0_no=gif0_i_y*pg_x[zoom]+gif0_i_x+pn0[zoom];
		if (gif0_no_old!=gif0_no || gpw_x_old!=gpw_x || gpw_y_old!=gpw_y || i_lh_x_old<0)
			{
			for(i=0;i<gpw_y;i++) for (j=0;j<gpw_x;j++) if (i+gif0_i_y<pg_y[zoom] && j+gif0_i_x<pg_x[zoom])
				{
				for (r=0;r<image_layers.length;r++) if(image_layers[r])
					{
					if (image_layers[r].zobrazovat)
						{
						xposun=gpr[zoom] ? ((gif0_i_y+i)*(gpr[zoom]-pg_x[zoom])) : 0;
						pripona=image_layers[r].typ_obr?image_layers[r].typ_obr:ty_o[zoom];
						zdroj=a_0+pole_adresar[zoom]+(r>0?"_"+r:"")+"/"+psoubor+"_"+(((i+gif0_i_y)*pg_x[zoom]+j+gif0_i_x+pn0[zoom])+xposun)+"."+pripona;
						with (image_layers[r].obr[i*gpw_x+j])
							{
							src="../img0/mezera.gif";
							if(prohlizec==1 && Number(verze)>=5.5)
								{
								if(pripona=="png") style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+zdroj+"',sizingMethod='scale')";
								else
									{
									style.filter="";
									src=zdroj;
									}
								}
							else src=zdroj;
							style.top=(i+gif0_i_y)*v__g+"px";
							style.left=(j+gif0_i_x)*s__g+"px";
							if(debug_mode)
								{
								style.border="solid black 1px;";
								title=("layer"+r+"\n"+src+"\n"+((i+gif0_i_y)*pg_x[zoom]+j+gif0_i_x+pn0[zoom])+xposun)+"\nx: "+Math.round(px2m_x((j+gif0_i_x)*s__g))+"\ny: "+Math.round(px2m_y((i+gif0_i_y)*v__g));
								}
							style.display='block';
							}
						}
					}
				}
			self.status=xposun;
			gif0_no_old=gif0_no;gpw_x_old=gpw_x;gpw_y_old=gpw_y;
			}
		self.status="";
		if (jsou_odkazy && r_o_x[zoom]>0)
			{
			i_lh_x=get_i_x(px2m_x(lhx))-bexpandx;
			i_lh_y=get_i_y(px2m_y(lhy))-bexpandy;
			i_pd_x=get_i_x(px2m_x(lhx+s__o))+bexpandx;
			i_pd_y=get_i_y(px2m_y(lhy+v__o))+bexpandy;
			//self.status=i_lh_x+" "+i_lh_y;
			if (i_pd_x>=sgu_x) i_pd_x=sgu_x-1;
			if (i_pd_y>=sgu_y) i_pd_y=sgu_y-1;
			aktualni_obrazek=0;
			if (i_lh_x_old!=i_lh_x || i_lh_y_old!=i_lh_y || i_pd_x_old!=i_pd_x || i_pd_y_old!=i_pd_y || cforce[zoom])
				{
				if (i_pd_x>=iy.length) i_pd_x=iy.length-1;
				if (i_pd_y>=iy[0].length) i_pd_y=iy[0].length-1;
				if (i_lh_x<0) i_lh_x=0;
				if (i_lh_y<0) i_lh_y=0;
				for (i=i_lh_x;i<=i_pd_x;i++) for (j=i_lh_y;j<=i_pd_y;j++) for (k=0;k<iy[i][j].length;k++)
					{
					ip1=iy[i][j][k][0];
					if (zoom>=prah_ikon[ip1])
						{
						a_polozka=polozky_s[ip1][iy[i][j][k][1]];
						if (!(cforce[zoom]) || (m2px_x(a_polozka[2])>lhx-r_o_x[zoom]/2 && m2px_y(a_polozka[3])>lhy-r_o_y[zoom]/2 && m2px_x(a_polozka[2])<(lhx+s__o+r_o_x[zoom]/2) && m2px_y(a_polozka[3])<(lhy+v__o+r_o_y[zoom]/2)) || (m2px_x(a_polozka[6])>lhx-r_o_x[zoom]/2 && m2px_y(a_polozka[7])>lhy-r_o_y[zoom]/2 && m2px_x(a_polozka[6])<(lhx+s__o+r_o_x[zoom]/2) && m2px_y(a_polozka[7])<(lhy+v__o+r_o_y[zoom]/2)))
							{
							if (aktualni_obrazek<m_p_i)
								{
								if (nacteno[ip1] && zobrazovat[ip1]) with (gid("i"+aktualni_obrazek))
									{
									if (!isNaN(a_polozka[iif[zikony[zoom]]]) && a_polozka[iif[zikony[zoom]]]!=0)
										{
										xxx=a_polozka[iif[zikony[zoom]]];
										yyy=a_polozka[iif[zikony[zoom]]+1];
										}
									else
										{
										xxx=a_polozka[iif[Math.abs(zikony[zoom]-1)]];
										yyy=a_polozka[iif[Math.abs(zikony[zoom]-1)]+1];
										}
									if (a_polozka[8])
										{
										width=Math.round(Number(a_polozka[8])/mppx[zoom])+4;
										height=Math.round(Number(a_polozka[9])/mppx[zoom])+4;
										style.top=Math.round(m2px_y(yyy)-Number(a_polozka[9])/(mppx[zoom]*2)-2)+'px';
										style.left=Math.round(m2px_x(xxx)-Number(a_polozka[8])/(mppx[zoom]*2)-2)+'px';
										if (!a_polozka[10]) a_polozka[10]="Red";
										style.border=a_polozka[10]=="none" ? "none" : "solid 2px "+a_polozka[10].replace(":","#");
										style.zIndex=30;
										}
									else
										{
										width=r_o_x[zoom];
										height=r_o_y[zoom];
										style.top=(m2px_y(yyy)-r_o_y[zoom]/2)+'px';
										style.left=(m2px_x(xxx)-r_o_x[zoom]/2)+'px';
										style.border="0px;";
										style.zIndex=35;
										}
									style.visibility='visible';
									title=(kategorie[a_polozka[4]] ? kategorie[a_polozka[4]]+" ":"")+a_polozka[5];
									src="../img0/ikonz_map/"+a_polozka[4]+".gif";
									url_odkazu[aktualni_obrazek]=a_polozka;
									aktualni_obrazek++;
									}
								}
							else
								{
								if (cforce[zoom]) ind();
								else {cforce[zoom]=true;redraw_now=true;}
								break;
								}
							}
						}
					}
				i_lh_x_old=i_lh_x;i_lh_y_old=i_lh_y;i_pd_x_old=i_pd_x;i_pd_y_old=i_pd_y;
				if (aktualni_obrazek*4<m_p_i) {cforce[zoom]=false;i_lh_x_old=-7;}
				for (i=aktualni_obrazek;i<=m_p_i;i++) gid("i"+i).style.visibility='hidden';
				}
			}
		}
	while (redraw_now);
	viewChanged();
	}

function otevri_odkaz(cislo,pp) {parent.objectClicked(url_odkazu[cislo],pp);}
function m2px_x(souradnice_m) {return(souradnice_m-pldm_x[zoom])/(s_m_m/s_m_px);}
function m2px_y(souradnice_m) {return(pphm_y[zoom]-souradnice_m)/(v_m_m/v_m_px);}
function px2m_x(souradnice_px) {return((souradnice_px*s_m_m)/s_m_px+pldm_x[zoom]);}
function px2m_y(souradnice_px) {return(v_m_m+pldm_y[zoom]-(souradnice_px*v_m_m/v_m_px));}

function get_i_x(m_x)
	{
	m_x=Number(m_x);
	vysledek=Math.floor((m_x-pldm_x[1])/sirka_sgu_x);
	if (vysledek<0) vysledek=0;
	if (vysledek>=sgu_x) vysledek=sgu_x-1;
	return(vysledek);
	}

function get_i_y(m_y)
	{
	m_y=Number(m_y);
	vysledek=Math.floor((pphm_y[1]-m_y)/sirka_sgu_x);
	if (vysledek<0) vysledek=0;
	if (vysledek>=sgu_x) vysledek=sgu_x-1;
	return(vysledek);
	}

function indexuj_odkazy(i1,vynechat)
	{
	var i,i_x,i_y,start;
	if(!vynechat) vrstvy[vrstvy.length]=i1;
	if (isNaN(prah_ikon[i1])) prah_ikon[i1]=def_prah;
	if (i1<9) start=1; else start=0;
	if (i1!="--" && nacteno[i1]) for (i=start;i<polozky_s[i1].length;i++)
		{
		if (polozky_s[i1][i].length>11) polozky_s[i1][i]=polozky_s[i1][i].split("#");
		if ((polozky_s[i1][i][iif[0]]>pldm_x[1] && polozky_s[i1][i][iif[0]]<pphm_x[1] && polozky_s[i1][i][iif[0]+1]<pphm_y[1] && polozky_s[i1][i][iif[0]+1]>pldm_y[1])||(polozky_s[i1][i][iif[1]]>pldm_x[1] && polozky_s[i1][i][iif[1]]<pphm_x[1] && polozky_s[i1][i][iif[1]+1]<pphm_y[1] && polozky_s[i1][i][iif[1]+1]>pldm_y[1]))
			{
			if(polozky_s[i1][i][4].substr(0,3)!="__0")
				{
				if (Number(polozky_s[i1][i][8])>sirka_sgu_x/2) bexpandx=Math.ceil(Number(polozky_s[i1][i][8])/(2*sirka_sgu_x));
				if (Number(polozky_s[i1][i][9])>sirka_sgu_y/2) bexpandy=Math.ceil(Number(polozky_s[i1][i][9])/(2*sirka_sgu_y));
				if (Number(polozky_s[i1][i][2])==0) iii=1; else iii=0;
				i_x=get_i_x(polozky_s[i1][i][iif[iii]]);
				i_y=get_i_y(polozky_s[i1][i][iif[iii]+1]);
				//alert(polozky_s[i1][i][iif[iii]]+" "+i_y+" "+i_y);
				iy[i_x][i_y][iy[i_x][i_y].length]=new Array(i1,i);
				}
			}
		}
	}

function umisti_sipku()
	{
	if (!x_sp && !y_sp) {x_sp=getXPos();y_sp=getYPos();}
	if ((x_sp)>=pldm_x[zoom] && (x_sp)<=pphm_x[zoom] && (y_sp)>=pldm_y[zoom] && (y_sp)<=pphm_y[zoom]) with (gid("sp"))
		{
		style.top=Math.round(m2px_y(y_sp)-v_sp/2)+"px";
		style.left=Math.round(m2px_x(x_sp)-s_sp/2)+"px";
		style.visibility='visible';
		style.width=s_sp+"px";
		style.height=v_sp+"px";
		src=src_sp;
		}
	}

function inicializuj_odkazy ()
	{
	var i,k;
	napln_kategorie();
	url_odkazu=new Array();
	posun_odkazu=3;
	sirka_sgu_x=(pphm_x[0]-pldm_x[0])/(sgu_x);
	sirka_sgu_y=(pphm_y[0]-pldm_y[0])/(sgu_y);
	iy=new Array();
	zobrazovat=new Array();
	ikony=new Array();
	nacteno=new Array();
	for (i=0;i<sgu_x;i++)
		{
		iy[i]=new Array;
		for (j=0;j<sgu_y;j++) iy[i][j]=new Array;
		}
	//alert(jsou_odkazy+" "+pocet_poli_polozek+" "+polozky_s[0].length);
	if (!pocet_poli_polozek) pocet_poli_polozek=polozky_s.length;
	if (jsou_odkazy && polozky_s[0].length>0) for (k=0;k<pocet_poli_polozek;k++)
		{
		zobrazovat[k]=zobrazovat00;
		ikony[k]=k;
		nacteno[k]=true;
		indexuj_odkazy(k);
		}
	if (kf>0) m_p_i=Math.round(s__o*v__o/kf); else m_p_i=Math.abs(kf);
	document.write("<div id='pp_o'>");
	for (i=0;i<=m_p_i;i++) document.write("<img id='i"+i+"' onmouseover='zvyraznii("+i+",1);self.status=this.title;' style='cursor:hand;' class='odkaz' onmouseout='zvyraznii("+i+",0);self.status=\"\";' src='../img0/mezera.gif' onerror=\"this.src='../img0/mezera.gif'\">");
	document.write("</div>");
	self.status=m_p_i;
	}

function inicializuj_okno()
	{
	var i;
		verze=navigator.appVersion;
	switch (navigator.appName)
		{
		case "Microsoft Internet Explorer":
			prohlizec=1;
			verze=Number(verze.substr(verze.indexOf("MSIE ")+5,3));
			je_msie=1;
			break;
		case "Netscape":
			if (Number(verze.substr(0,3))>=5)
				{
				prohlizec=2;
				verze=Number(navigator.userAgent.substr(navigator.userAgent.indexOf("rv:")+3,3));
				}
			 else
			 	{
				prohlizec=0;
				verze=Number(verze.substr(0,3));
				}
			break;
		default: prohlizec=0;
		}
	//if (!prohlizec) alert("Tato aplikace funguje pouze s prohlížeči kompatibilními s Netscape 6 (Mozilla, K-Meleon a další) a s prohlížeči Microsoft Internet Explorer od verze 5.");
	if (prohlizec==1)
		{
		gid("xram").src="../img0/dot.gif";
		gid("xram").style.border="none 0px";
		}
	else if (verze>=1 && prohlizec==2) gid("xram").src="../img0/33.png";
	max_gpw_x=Math.floor(s__o/s__g)+2;
	max_gpw_y=Math.floor(v__o/v__g)+2;
	pocet_obrazku=max_gpw_x*max_gpw_y;//alert(pocet_obrazku);
	create_image_layer(0,"");
	return true;
	}

function ukaz_menu(cobr,xx,yy,nadpis)
	{
	v_menu=pmenu.length*18+40;
	s_menu=200;
	gid("menu").innerHTML="<div align='center'><b>"+nadpis+"</b></div><hr><div style='display:table'>";
	for (i=0;i<pmenu.length;i++) gid("menu").innerHTML=gid("menu").innerHTML+"<a id='m"+i+"' style='display:table-row;' href='javascript:otevri_odkaz("+cobr+","+i+");' title=''><span style='display:table-cell;text-align:center;'><img src='../img0/"+pmenu[i][2]+".gif' style='border:none;margin-top:2px;vertical-align:text-top;'></span><span style='display:table-cell;'>&nbsp;&nbsp;"+pmenu[i][0]+"</span></a>"
	gid("menu").innerHTML=gid("menu").innerHTML+"</div>";
	if (s_menu+xx>px+s__o) xx=xx-s_menu+20;
	if (v_menu+yy>py+v__o) yy=yy-v_menu+20;
	with (gid("menu").style)
		{
		top=(yy-10)+"px";
		left=(xx-10)+"px";
		visibility="visible";
		width=s_menu+"px";
		}
	}

function skryj_menu()
	{
	if (gid("menu")) with (gid("menu").style)
		{
		top="0px";
		left="0px";
		visibility="hidden";
		}
	}

function zoomPlus(posx,posy)
	{
	if (!zloc) setView(zoom+1,posx,posy);
	else go2(posx,posy);
	}

function zoomMinus(posx,posy)
	{
	if (!zloc) setView(zoom-1,posx,posy);
	else go2(posx,posy);
	}

function drgstart(sx,sy,h)
	{
	if (!tahnu)
		{
		tahnu=h;
		sz__x=sx;
		sz__y=sy;
		}
	}

function drgend(sx,sy)
	{
	var smx,smy,tmppx,mindif,target;
	sk__x=sx;
	sk__y=sy;
	self.status="";
	with (gid("xram").style)
		{
		visibility="hidden";
		top='0px';
		left='0px';
		width=0;
		height=0;
		}
	if (Math.abs(sk__x-sz__x)>4 && Math.abs(sk__y-sz__y)>4)
		{
		smx=Math.abs(px2m_x(sz__x)-px2m_x(sk__x))/s__o;
		smy=Math.abs(px2m_y(sz__y)-px2m_y(sk__y))/v__o;
		tmppx=(smx+smy)/2;
		mindif=mppx[0];
		target=0;
		for (i=0;i<mppx.length;i++) if (Math.abs(tmppx-mppx[i])<mindif) {mindif=Math.abs(tmppx-mppx[i]);target=i;}
		if (tahnu==2) target--;
		setView(target,px2m_x((sz__x+sk__x)/2),px2m_y((sz__y+sk__y)/2));
		}
	tahnu=false;
	}

function mysna(sx,sy)
	{
	var vyska,sirka,xx,yy;
	//self.status='X:'+(Math.floor(px2m_x(sx)))+' Y:'+(Math.floor(px2m_y(sy)));
	sk__x=sx;sk__y=sy;
	if (sz__x>sk__x) xx=sk__x; else xx=sz__x;
	if (sz__y>sk__y) yy=sk__y; else yy=sz__y;
	sirka=Math.abs(sz__x-sk__x);
	vyska=Math.abs(sz__y-sk__y);
	with (gid("xram").style)
		{
		top=yy+"px";
		left=xx+"px";
		width=sirka+"px";
		height=vyska+"px";
		visibility="visible";
		}
	}

function zvyraznii(el,jak)
	{
	var bc;
	if (jak)
		{
		bc="Red";
		puvodni_bc=gid("i"+el).style.borderColor;
		}
	else bc=puvodni_bc;
	gid("i"+el).style.borderColor=bc;
	}

function capture()
	{
	document.body.onclick=zpracuj;
	document.body.oncontextmenu=zpracuj;
	document.body.ondragstart=zpracuj;
	document.body.onmousedown=zpracuj;
	document.body.onmousemove=zpracuj;
	document.body.onmouseup=zpracuj;
	checkScroll();
	}

function checkScroll()
	{
	if (prohlizec!=1 && (self.pageXOffset!=px || self.pageYOffset!=py)) roluj();
	else if ((px!=document.body.scrollLeft || py!=document.body.scrollTop) && prohlizec==1) roluj();
	setTimeout ("checkScroll();",300);
	}

function roluj()
	{
	if (prohlizec==2) {px=self.pageXOffset;py=self.pageYOffset}
	else {px=document.body.scrollLeft;py=document.body.scrollTop;}
	load_images(px,py);
	}

function zpracuj(udalost)
	{
	var sx,sy,r,vrat,au;
	if (!udalost) udalost=window.event;
	au=new sUdalost(udalost);
	sx=au.sx+px;sy=au.sy+py;
	vrat=true;
	switch (au.typ)
		{
		case "click":
			if (au.element.id) if (au.element.id.substr(0,1)=="i") otevri_odkaz(Number(au.element.id.substr(1)),0);
			else if (au.element.id.substr(0,1)!="m" && au.element.id!="" && !tahnu)
				{
				if (au.shift) drgstart(sx,sy,2);
				else if (au.ctrl) setView(zoom,px2m_x(sx),px2m_y(sy));
				else if (au.alt) zoomMinus(px2m_x(sx),px2m_y(sy));
				else zoomPlus(px2m_x(sx),px2m_y(sy));
				}
			break;
		case "mousedown": if (prohlizec==1) break;
		case "dragstart": drgstart(sx,sy,1); self.status="Výběr výřezu..."; vrat=false; break;
		case "contextmenu":
			if (au.element.id.substr(0,1)=="i") ukaz_menu(Number(au.element.id.substr(1)),sx,sy,au.element.title);
			else zoomMinus(px2m_x(sx),px2m_y(sy));
			vrat=false;
			break;
		case "mouseup": if (tahnu) drgend(sx,sy); break;
		case "mousemove":
			if (tahnu) mysna(sx,sy);
			r=au.element.id;
			if (r) if (r.substr(0,1)=="o" || r.substr(0,1)=="i" || r.substr(0,1)=="d") skryj_menu();
			break;
		}
	return vrat;
	}

function sUdalost (udalost)
	{
	this.typ=udalost.type;
	this.ctrl=udalost.ctrlKey;
	this.alt=udalost.altKey;
	this.shift=udalost.shiftKey;
	if (prohlizec!=1)
		{
		this.element=udalost.target;
		this.sx=udalost.pageX-px;
		this.sy=udalost.pageY-py;
		}
	else
		{
		this.element=udalost.srcElement;
		this.sx=udalost.clientX;
		this.sy=udalost.clientY;
		}
	}

function startCheck(zz,xx,yy)
	{
	self.status="";
	if (!px && !py && (m2px_x(xx)-s__o/2)>20 && (m2px_y(yy)-v__o/2)>20)
		{
		if (m2px_x(pphm_x[zoom])-m2px_x(pldm_x[zoom])>s__o && m2px_y(pldm_y[zoom])-m2px_y(pphm_y[zoom])>v__o)
			{
			self.status="nastavuji výřez...";
			setTimeout("setView("+zz+","+xx+","+yy+");",100);
			setTimeout("startCheck("+zz+","+xx+","+yy+")",200);
			}
		else
			{
			gid("body").style.display="block";
			document.body.style.background="url(../img0/mezera.gif) white";
			}
		}
	else
		{
		gid("body").style.display="block";
		document.body.style.background="url(../img0/mezera.gif) white";
		}
	}

function ind()
	{
	if (!ind_d)
		{
		alert("Varování: počet ikon, které chcete zobrazit, je příliš vysoký. V mapě proto nejsou zobrazeny všechny ikony. Tento problém můžete vyřešit vypnutím zobrazení některých ikon. Pokud budete opět požadovat více ikon, než může aplikace zobrazit, budete na to upozorněni hlášením ve stavovém řátku (status) ve spodní části prohlížeče.");
		ind_d=1;
		document.cookie="ind_d=1";
		}
	self.status="UPOZORNĚNÍ: Nebyly zobrazeny všechny ikony. Byl překročen maximální počet "+m_p_i+" ikon. Může zkusit vypnout zobrazování některých vrstev.";
	}
