
	var Mx=Array(), MxM, MxB;
	Mx['imgs_dir']='/images/maxmi';
	Mx['imgs']=Array('loading.png', 'error.png', 'ar_left.png', 'ar_right.png');
	Mx['images']=Array();
	Mx['add']=44;
	Mx['width']=50;
	Mx['texts']=Array();
	Mx['list']=Array();
	Mx['lista']=Array();
	//Mx['listactual'];

	var imi=0;
	for(key in Mx['imgs'])
	{
		Mx['images'][imi]=new Image();
		Mx['images'][imi++].src=Mx['imgs_dir'] + '/' + Mx['imgs'][key];
	}



	function Maxmi(id, image)
	{
		CCS('maxmi', 'display', 'block');

		if(Mx['run'])
		{
			GO('maxmi').innerHTML='';
			Mx['image']=false;
		}

		Mx['run']=true;

		img=GO('image-' + id);

		Mx['position']=Position(img);
		Mx['imgsize']=Array(img.width, img.height);

		if(Mx['next_x'])
		{
			Mx['position'][0]=Mx['next_x'];
		}
		Mx['next_x']=0;

		if(!Mx['imgsize'][0])
		{
			Mx['imgsize'][0]=0;
			Mx['imgsize'][1]=0;
		}

		GO('maxmi').innerHTML='<img src="' + Mx['images'][0].src + '" alt="Loading" id="maxmi-loading" />';
		GO('maxmi-loading').style.top=(Mx['position'][1] + (Mx['imgsize'][1] / 2) - 15) + 'px';
		GO('maxmi-loading').style.left=(Mx['position'][0] + (Mx['imgsize'][0] / 2) - 75) + 'px';

		Mx['image']=new Image();
		Mx['image'].onload=function () {Maxmi_Finish()};
		Mx['image'].onerror=function () {Maxmi_Error()};
		Mx['image'].src=image;
		Mx['id']=id;
	}




	function Maxmi_Finish()
	{
		var tx;

		tx='<div id="maxmi-block">';
		tx+='<img src="' + Mx['imgs_dir'] + '/ar_left2.png' + '" id="maxmi-left" alt="" onmouseover="this.src=\'' + Mx['imgs_dir'] + '/ar_left.png' + '\';"  onmouseout="this.src=\'' + Mx['imgs_dir'] + '/ar_left2.png' + '\';" onclick="Maxmi_NextBack(1);" />';
		tx+='<img src="' + Mx['imgs_dir'] + '/ar_right2.png' + '" id="maxmi-right" alt="" onmouseover="this.src=\'' + Mx['imgs_dir'] + '/ar_right.png' + '\';"  onmouseout="this.src=\'' + Mx['imgs_dir'] + '/ar_right2.png' + '\';" onclick="Maxmi_NextBack(2);" />';
		tx+='<img src="' + Mx['image'].src + '" id="maxmi-image" alt="" onclick="Maxmi_Close();" />';
		if(Mx['texts'][Mx['id']])
		{
			tx+='<div id="maxmi-text"></div>';
		}
		tx+='<div id="maxmi-close"></div>';
		tx+='</div>';

		MxM=Array();
		MxM['size']=Array(Mx['image'].width, Mx['image'].height);
		MxM['actual']=img.id;
		MxM['old']=img.id;
		MxM['width']=Mx['width'];
		Mx['height']=MxM['size'][1] / (MxM['size'][0] / MxM['width']);
		MxM['height']=MxM['size'][1] / (MxM['size'][0] / MxM['width']);
		MxM['plus_w']=55;
		MxM['plus_h']=MxM['size'][1] / (MxM['size'][0] / MxM['plus_w']);

		MxB=Array();
		//MxB['steps']=Math.ceil(MxM['size'][0] / MxM['plus_w']);
		MxB['x']=Mx['position'][1] + (Mx['imgsize'][1] / 2);
		MxB['y']=Mx['position'][0] + (Mx['imgsize'][0] / 2);
		MxB['step']=1;

		GO('maxmi').innerHTML=tx;

		Maxmi_toMax();
	}



	function Maxmi_toMax()
	{
		var x, y, sc, ws;

		if(!Mx['run'] || (MxM['old'] != MxM['actual']))
		{
			return;
		}

		MxM['old']=MxM['actual'];

		x=MxB['y'] - ((MxM['width'] + Mx['add']) / 2);
		y=MxB['x'] - ((MxM['height'] + Mx['add']) / 2)

		sc=CoorXY();
		ws=WinSize();

		if((x + MxM['width'] + Mx['add']) > (sc[0] + ws[0] - 20))
		{
			x=sc[0] + ws[0] - MxM['width'] - Mx['add'] - 20;
		}

		if((y + MxM['height'] + Mx['add']) > (sc[1] + ws[1] - 20))
		{
			y=sc[1] + ws[1] - MxM['height'] - Mx['add'] - 20;
		}

		if((x - 10) < sc[0]) x=sc[0] + 10;
		if((y - 10) < sc[1]) y=sc[1] + 10;

		GO('maxmi-block').style.top=Math.ceil(y) + 'px';
		GO('maxmi-block').style.left=Math.ceil(x) + 'px';

		GO('maxmi-image').style.width=Math.ceil(MxM['width']) + 'px';
		GO('maxmi-image').style.height=Math.ceil(MxM['height']) + 'px';

		if(MxM['stop'])
		{
			if(Mx['texts'][Mx['id']])
			{
				CCS('maxmi-text', 'display', 'block');
				GO('maxmi-text').innerHTML=Mx['texts'][Mx['id']];
				CCS('maxmi-text', 'width', (MxM['width'] - 4) + 'px');
				CCS('maxmi-text', 'height', 'auto');
				CCS('maxmi-text', 'marginLeft', 10 + 'px');
				CCS('maxmi-text', 'marginTop', '-' + (GO('maxmi-text').offsetHeight + 18) + 'px');
			}

			if(Mx['list_count'] > 1)
			{
				var i=1;
				for(key in Mx['list'])
				{
					if(key == Mx['id'])
					{
						Mx['listactual']=i;
					}

					Mx['lista'][i++]=key;
				}

				if(Mx['listactual'] > 1)
				{
					CCS('maxmi-left', 'display', 'block');
				}
				if(Mx['listactual'] < Mx['list_count'])
				{
					CCS('maxmi-right', 'display', 'block');
					CCS('maxmi-right', 'marginLeft', (MxM['width'] - 42) + 'px');
				}
			}

			setTimeout('Maxmi_Zavrit()', 1500);
			MxM['stop']=false;
			return;
		}

		MxM['width']+=MxM['plus_w'];
		MxM['height']+=MxM['plus_h'];

		if((MxM['width'] > MxM['size'][0]) || (MxM['height'] > MxM['size'][1]))
		{
			MxM['width']=MxM['size'][0];
			MxM['height']=MxM['size'][1];
			MxM['stop']=true;
		}

		setTimeout('Maxmi_toMax();', 5);
	}



	function Maxmi_Zavrit()
	{
		var elem;

		elem=GO('maxmi-close');

		if(elem)
		{
			CCS('maxmi-close', 'display', 'block');
			CCS('maxmi-close', 'width', (MxM['width'] + 15) + 'px');
			elem.innerHTML='Zavřete kliknutím na obrázek';
		}
	}



	function Maxmi_Close()
	{
		MxM['stop']=false;
		CCS('maxmi-close', 'display', 'none');
		CCS('maxmi-text', 'display', 'none');
		CCS('maxmi-left', 'display', 'none');
		CCS('maxmi-right', 'display', 'none');
		Maxmi_toMin();
	}


	function Maxmi_toMin()
	{
		var x, y, sc, ws;

		if(!Mx['run'] || (MxM['old'] != MxM['actual']))
		{
			return;
		}

		MxM['old']=MxM['actual'];

		x=MxB['y'] - ((MxM['width'] + Mx['add']) / 2);
		y=MxB['x'] - ((MxM['height'] + Mx['add']) / 2)

		sc=CoorXY();
		ws=WinSize();

		if((x + MxM['width'] + Mx['add']) > (sc[0] + ws[0] - 20))
		{
			x=sc[0] + ws[0] - MxM['width'] - Mx['add'] - 20;
		}

		if((y + MxM['height'] + Mx['add']) > (sc[1] + ws[1] - 20))
		{
			y=sc[1] + ws[1] - MxM['height'] - Mx['add'] - 20;
		}

		if((x - 10) < sc[0]) x=sc[0] + 10;
		if((y - 10) < sc[1]) y=sc[1] + 10;

		GO('maxmi-block').style.top=Math.ceil(y) + 'px';
		GO('maxmi-block').style.left=Math.ceil(x) + 'px';

		GO('maxmi-image').style.width=Math.ceil(MxM['width']) + 'px';
		GO('maxmi-image').style.height=Math.ceil(MxM['height']) + 'px';

		if(MxM['stop'])
		{
			MxM['stop']=false;
			GO('maxmi').innerHTML='';
			CCS('maxmi', 'display', 'none');
			Mx['image']=false;
			Mx['run']=false;

			if(Mx['next'])
			{
				Mx['next_x']=Mx['position'][0];
				setTimeout("Maxmi('" + Mx['lista'][Mx['next']] + "', '" + Mx['list'][Mx['lista'][Mx['next']]] + "')", 10);
			}
			Mx['next']=0;
			return;
		}

		MxM['width']-=MxM['plus_w'] * 2;
		MxM['height']-=MxM['plus_h'] * 2;

		if((MxM['width'] < Mx['width']) || (MxM['height'] < Mx['height']))
		{
			MxM['width']=Mx['width'];
			MxM['height']=Mx['height'];
			MxM['stop']=true;
		}

		setTimeout('Maxmi_toMin();', 1);
	}




	function Maxmi_Error()
	{
		//alert(Mx['image'].src);
		GO('maxmi-loading').src=Mx['images'][1].src;
	}



	function Position(elem)
	{
		if(elem.x2)
		{
  			return Array(elem.x, elem.y);
  		}
	  	else
	  	{
	  		var left=0, top=0, obj;

  			left+=elem.offsetLeft;
  			top+=elem.offsetTop;
  			obj=elem.offsetParent;

  			while(obj != null)
  			{
     				left+=obj.offsetLeft;
     				top+=obj.offsetTop;
     				obj=obj.offsetParent;
     			}

     			return Array(left, top);
     		}
     	}



	function WinSize()
	{
   		if(window.innerHeight)
   		{
      			return Array(window.innerWidth, window.innerHeight);
      		}
   		else if(document.documentElement && document.documentElement.clientHeight)
   		{
      			return Array(document.documentElement.clientWidth, document.documentElement.clientHeight);
      		}
   		else if(document.body && document.body.clientHeight)
   		{
      			return Array(document.body.clientWidth, document.body.clientHeight);
      		}
      		else
      		{
      			return false;
      		}
	}



	function CoorXY()
	{
		var cx, cy;

		if(self.pageXOffset >= 0)
		{
			cx=self.pageXOffset;
			cy=self.pageYOffset;
		}
		else
		{
			cx=document.body.scrollLeft;
			cy=document.body.scrollTop;

			if((cx == 0) && (cy == 0))
			{
				cx=document.documentElement.scrollLeft;
				cy=document.documentElement.scrollTop;
			}
		}

		return Array(cx, cy);
	}



	function Maxmi_NextBack(mode)
	{
		var key, last;

		if(mode == 1)
		{
			Mx['next']=Mx['listactual'] - 1;
		}
		else if(mode == 2)
		{
			Mx['next']=Mx['listactual'] + 1;
		}

		Maxmi_Close();
	}

