function winH() {
   if (window.innerHeight)
      /* NN4 a kompatibilní prohlížeče */
      return window.innerHeight;
   else if
   (document.documentElement &&
   document.documentElement.clientHeight)
      /* MSIE6 v std. režimu - Opera a Mozilla
      již uspěly s window.innerHeight */
      return document.documentElement.clientHeight;
   else if
   (document.body && document.body.clientHeight)
      /* starší MSIE + MSIE6 v quirk režimu */
      return document.body.clientHeight;
   else
      return null;
}

var handler_url='http://barvy-laky.polisensky.cz/gallery_handler.php?id=';

function init_imgover(id)
{
	var bordersize=10;
	var vbordersize=26;

	fromtop=document.body.scrollTop;
	e=document.getElementById('ol');
	eio=document.getElementById('io');
	e.className='imgover';
	height=winH();
	bheight=document.body.scrollHeight;
	if (bheight>height) oh=bheight; else oh=height;
	e.style.height=oh;
	
//	alert(fromtop);
	img_over_ajax(handler_url+id,height,fromtop,bordersize,vbordersize);
	document.onkeyup = handleArrowKeys;
}

function closeimgover()
{
	e=document.getElementById('ol');
	eio=document.getElementById('io');
	e.className='imgover-hidden';
	eio.className='imgover-hidden';
	document.onkeyup = function() {};
}



function img_over_ajax(url,height,fromtop,bordersize,vbordersize)
{
	var httpRequest;
	if (window.XMLHttpRequest)
	{ // Mozilla, Safari, ...
		httpRequest = new XMLHttpRequest();
	} else
	if (window.ActiveXObject)
	{ // IE
    	httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}

	httpRequest.onreadystatechange = function()
	{
		if (httpRequest.readyState == 4)
		{
			if (httpRequest.status == 200)
			{
				data=httpRequest.responseText;
//				alert(data);
				
				parametry=data.split('*');
				imgsrc=parametry[0];
				imgw=Number(parametry[1]);
				imgh=Number(parametry[2]);
				previd=parametry[3];
				nextid=parametry[4];
//				alert(parametry);
//				if (isNaN(previd)) previd=0;
//				if (isNaN(nextid)) nextid=0;

//				alert(vbordersize);
				et=Math.round((height-imgh)/2+fromtop-vbordersize);	// - border size
				if (et<fromtop) et=fromtop; // show whole vertical
//				if (window.innerHeight) et=et-fromtop;  // position je fixed, podminka pro FF
				eio.className='imgover-img';
				eio.style.top=et+'px';

//				var prevtext=(previd==0?'':'<a href="javascript:img_over_ajax(\''+handler_url+previd+'\','+height+','+fromtop+','+bordersize+','+vbordersize+')" id="io-prev" title="předchozí"><span>předchozí</span></a>');
//				var nexttext=(nextid==0?'':'<a href="javascript:img_over_ajax(\''+handler_url+nextid+'\','+height+','+fromtop+','+bordersize+','+vbordersize+')" id="io-next" title="další"><span>další</span></a>');
				var prevtext=(previd==0?'':'<a href="javascript:init_imgover(\''+previd+'\')" id="io-prev" title="předchozí"><span>předchozí</span></a>');
				var nexttext=(nextid==0?'':'<a href="javascript:init_imgover(\''+nextid+'\')" id="io-next" title="další"><span>další</span></a>');

				var newtext='<div id="ioobal"><img src="'+imgsrc+'" alt="" width="'+imgw+'" height="'+imgh+'" border="0" id="iim"><a href="javascript:closeimgover()" id="io-close"><span>zavřít</span></a>'+prevtext+nexttext+'</div>';
//				alert(newtext);

				eio.innerHTML=newtext;

				eobal=document.getElementById('ioobal');
				eobal.style.width=(imgw+(bordersize*2))+'px';  // border-size

				var enext=document.getElementById('io-next');
				if (enext)
				{
				    sirka=Math.round(imgw/2);
//				    pozice=Math.round(imgw/2)+bordersize;
                    pozice=sirka+bordersize;
					enext.style.height=imgh;
					enext.style.left=pozice+'px';
					enext.style.width=sirka+'px';
				}

				var eprev=document.getElementById('io-prev');
				if (eprev)
				{
					eprev.style.height=imgh;
					sirka=Math.round(imgw/2);
					eprev.style.width=sirka+'px';
				}

				var eclose=document.getElementById('io-close');
				//eclose.style.height=imgh+(bordersize*2);
				eclose.style.left=imgw+(bordersize*2)-126;
				eclose.style.top=imgh+bordersize;

			} else {
				alert('Nastala chyba v komunikaci se serverem.');
			}
	    } else
		{
			// not ready
//			document.getElementById('ldr').style.display='block';
	    }
	};

	httpRequest.open('GET', url, true);
	httpRequest.send(null);
}


function handleArrowKeys(evt)
{
    evt = (evt) ? evt : ((window.event) ? event : null);
    if (evt) {
        switch (evt.keyCode) {
            case 37:    // vlevo
                if (previd!=0) init_imgover(previd);
			break;

            case 39:    // vpravo
                if (nextid!=0) init_imgover(nextid);
            break;
            
            case 0x1B:  // esc
                closeimgover();
            break;
         }
    }
}
