function switchToLayer(x,y)
 {
  if (x>=Layers.length) x=Layers.length-1;//return false;
  if (x<0) return false;

   {
    JTSKX=pixXToJTSK(centerX); // coordinates
    JTSKY=pixYToJTSK(centerY);
   }


  loadLayer(x);



  if (adminMode) initOverlayAdmin(); else initOverlay();
                     // force draw
  basisX=-1;
  jumpToJTSK(JTSKX,JTSKY,-2);     //jump to the coordinates.
  return false;
 }
//=============================================================================
function loadLayer(i)
 {
  if (i>=Layers.length) i=Layers.length-1;
  if (i<0) i=0;


    if (Layer!=-1)
    document.getElementById("layer_switch_"+Layer).style.visibility="hidden";

    Layer=i;
    document.getElementById("layer_switch_"+Layer).style.visibility="visible";




    pic_directory=Layers[i][0];
    reference_x=Layers[i][4];
    reference_y=Layers[i][5];
    pixel_dx=Layers[i][8];
    pixel_dy=Layers[i][9];
    max_x=Layers[i][6];
    max_y=Layers[i][7];
    pic_width=Layers[i][10];
    pic_height=Layers[i][11];



    initMap();


    if (i!=Layer)
     for (ii=0;ii<xSize;ii++)
      {
       for (ji=0;ji<ySize;ji++)
        {
         srcs[ii][ji]="./img/gray.gif";
         pics[ii][ji].src="./img/gray.gif";
        }
      }

    initHandlers();
    //initNavigator();
 }
//=============================================================================
//=============================================================================
function magnify(e)
 {

 	if (!e) //cross browser
  	{
  	 var e = window.event;
   	x=e.offsetX;
   	y=e.offsetY;
 	  targ = e.srcElement;
  	} else
  	{
   	x=e.layerX;
   	y=e.layerY;
 	  targ = e.target;
  	}
	 if (targ.nodeType == 3) targ = targ.parentNode;
	 if (targ==arrow)  // pokud jsem se zrovna strefil do sipky, adoptnu jeji souradnice.
	  {
	   JTSKX=arrowXJTSK;
	   JTSKY=arrowYJTSK;
	  } else
	 if (targ==over)
   {
   	//x=(basisX*pic_width)+x;   // x,y from LU corner of the map
   	//y=(basisY*pic_height)+y;
    JTSKX=pixXToJTSK(x); // coordinates
    JTSKY=pixYToJTSK(y);
    arrowVisible=1;
   } else return false;

 	Lay=Layer;
 	if (Lay>0) loadLayer(Lay-1); //switch  layer
  basisX=-1;                    // force draw
  jumpToJTSK(JTSKX,JTSKY,arrowVisible);     //jump to the coordinates.
  if (adminMode) initOverlayAdmin(); else initOverlay();
  return false;
 }
//=============================================================================
function unmagnify(e)
 {
 	if (!e) //cross browser
  	{
  	 var e = window.event;
   	x=e.offsetX;
   	y=e.offsetY;
 	  targ = e.srcElement;
  	} else
  	{
   	x=e.layerX;
   	y=e.layerY;
 	  targ = e.target;
  	}
  if (e.which) rightclick = (e.which == 3);
	 else if (e.button) rightclick = (e.button == 2);
	 if (rightclick) {

	 if (targ.nodeType == 3) targ = targ.parentNode;
	 if (targ==arrow)  // pokud jsem se zrovna strefil do sipky, adoptnu jeji souradnice.
	  {
	   JTSKX=arrowXJTSK;
	   JTSKY=arrowYJTSK;
	  } else
	 if (targ==over)
   {
   	//x=(basisX*pic_width)+x;   // x,y from LU corner of the map
   	//y=(basisY*pic_height)+y;
    JTSKX=pixXToJTSK(x); // coordinates
    JTSKY=pixYToJTSK(y);
    arrowVisible=1;
   } else return cancelEvent(e);

 	Lay=Layer;
 	if (Lay<Layers.length-1) loadLayer(Lay+1); //switch  layer
  basisX=-1;                    // force draw
  jumpToJTSK(JTSKX,JTSKY,arrowVisible);     //jump to the coordinates.
  if (adminMode) initOverlayAdmin(); else initOverlay();

  return cancelEvent(e);
  }
 }
//=============================================================================
function cancelEvent(e)
 {
		if (document.all)
		 {
  		e.returnValue = false;
  		e.cancelBubble = true;
		 } else
		 {
  		e.preventDefault();
  		e.stopPropagation();
		 }
		return false;
 }
//=============================================================================