/*  This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

    Author: Wojciech Wisniewski (wojwis@gmail.com) */

var displayerlastonresizeaction;

var displayerimagecontent = document.createElement("div");
	displayerimagecontent.style.zIndex="10";
	displayerimagecontent.style.position="absolute";
	displayerimagecontent.style.textAlign="center"
	displayerimagecontent.style.margin="0px";
	displayerimagecontent.style.padding="2px";
	displayerimagecontent.style.paddingBottom="1px";
	displayerimagecontent.style.borderColor="#F3EBDC";
	//displayerimagecontent.style.borderColor="#F3F3F3";
	displayerimagecontent.style.borderWidth="1px";
	displayerimagecontent.style.borderStyle="solid";
	displayerimagecontent.style.visibility="hidden";
	displayerimagecontent.style.backgroundColor="#FFFFFF";

	var displayerbodymask = document.createElement("div");
	displayerbodymask.style.zIndex="9";
	displayerbodymask.style.position="absolute";
	displayerbodymask.style.textAlign="center"
	displayerbodymask.style.top="0px";
	displayerbodymask.style.left="0px";
	//displayerbodymask.style.backgroundColor="#000000";
	displayerbodymask.style.backgroundColor="#E6DED0";
	displayerbodymask.style.backgroundImage="url(http://www.wbp.olsztyn.pl/grafika/displayerbackground.gif)";
	displayerbodymask.style.backgroundRepeat="repeat";
	displayerbodymask.style.backgroundPosition="center center";
	displayerbodymask.style.margin="0px";
	displayerbodymask.style.padding="0px";
	displayerbodymask.style.visibility="hidden";
	displayerbodymask.onclick=closeImage;

	displayerbodymask.innerHTML="Kliknij, aby zamkn&#261;&#263;.";
	displayerimagecontent.setAttribute("title", displayerbodymask.innerHTML);
	displayerbodymask.innerHTML="";
	
var displayerloadingimage = document.createElement("img");
	displayerloadingimage.style.zIndex="11";
	displayerloadingimage.src="http://www.wbp.olsztyn.pl/grafika/displayerloading.gif";
	displayerloadingimage.style.position="absolute";
	displayerloadingimage.style.top="0px";
	displayerloadingimage.style.left="0px";
	
	displayerbodymask.innerHTML="Prosz&#281; czeka&#263;, trwa wczytywanie obrazka...";
	displayerloadingimage.setAttribute("alt", displayerbodymask.innerHTML);
	displayerbodymask.innerHTML="";
	displayerloadingimage.setAttribute("title", "");
	
var displayerimagetodisplay;

var displayercheckimageinterval;

function showImage(imag, titl, widt, heig){

	displayerimagecontent.style.left="0px"
	displayerimagecontent.style.top="0px"
	displayerimagecontent.style.width=widt+"px"
	displayerimagecontent.innerHTML = "<img id=\"displayerimage\" alt=\"Nie można wyświetlić zdjęcia\" title=\"Kliknij, aby zamkn&#261;&#263;...\" src=\""+imag+"\" alt=\"\" title=\"Kliknij, aby zamkn&#261;&#263;...\" onclick=\"closeImage()\" width=\""+widt+"px\" height=\""+heig+"px\" style=\"cursor : pointer;display : block; margin-bottom : 1px; margin-left : 0px; margin-right : 0px; margin-top : 0px; padding-bottom : 0px; padding-left : 0px; padding-right : 0px; padding-top : 0px; visibility:hidden\" />"+ titl;

	displayerimagecontent.appendChild(displayerloadingimage);

	displayerimagecontent.onclick=closeImage;
	document.body.appendChild(displayerimagecontent);
	
	setDisplayerElemenstPositions();

	if(displayerbodymask.style.opacity != null) displayerbodymask.style.opacity = 0.60;
	else displayerbodymask.style.filter = "alpha(opacity=60)";
	
	displayerloadingimage.style.left = ((widt - displayerloadingimage.offsetWidth)/2)+2 +"px";
	displayerloadingimage.style.top = ((heig - displayerloadingimage.offsetHeight)/2)+2 +"px";
	
	displayerimagetodisplay = document.getElementById("displayerimage");
	displayercheckimageinterval = setInterval("checkIsImageLoaded()",50);

	displayerbodymask.style.visibility="visible";	
	displayerimagecontent.style.visibility="visible";

	displayerlastonresizeaction=window.onresize;
	window.onresize=setDisplayerElemenstPositions;
}

function checkIsImageLoaded(){
	if(displayerimagetodisplay.complete){
		displayerimagecontent.removeChild(displayerloadingimage);
		displayerimagetodisplay.style.visibility="visible";
		clearInterval(displayercheckimageinterval);
	}
}

function setDisplayerElemenstPositions(){
	
	displayerimagecontent.style.left="0px"
	displayerimagecontent.style.top="0px"

	displayerbodymask.style.width="0px";
	displayerbodymask.style.height="0px";
	
	var displayerclientwidth = document.body.parentNode.clientWidth;
		if(displayerclientwidth == 0) displayerclientwidth = document.documentElement.scrollWidth - 20;
	var displayerclientheight = document.body.parentNode.clientHeight;
		if(displayerclientheight == 0) displayerclientheight = document.documentElement.offsetHeight - 4;
	
	var displayerimagecontentwidth = displayerimagecontent.offsetWidth;
	var displayerimagecontentheight = displayerimagecontent.offsetHeight;

	var displayerpagexoffset = window.pageXOffset | document.documentElement.scrollLeft | document.body.scrollLeft | 0;
	var displayerpageyoffset = window.pageYOffset | document.documentElement.scrollTop | document.body.scrollTop | 0;

	if(displayerimagecontentwidth < displayerclientwidth) displayerimagecontent.style.left= ((displayerclientwidth/2) - (displayerimagecontentwidth/2)) + displayerpagexoffset + "px";
	else displayerimagecontent.style.left = displayerpagexoffset +"px";

	if(displayerimagecontentheight < displayerclientheight) displayerimagecontent.style.top= ((displayerclientheight/2) - (displayerimagecontentheight/2)) + displayerpageyoffset + "px";
	else displayerimagecontent.style.top = displayerpageyoffset +"px";
	
	var displayerpagewidth;
	var displayerpageheight;
	if (navigator.userAgent.match("MSIE")){
		var displayerbrowserversion = navigator.userAgent.substr((navigator.userAgent.indexOf("MSIE")+5),1);
		if(displayerbrowserversion < 6){
			displayerpagewidth = document.documentElement.offsetWidth - 20;
			if(displayerpagewidth < document.body.scrollWidth) displayerpagewidth = document.body.scrollWidth;
			displayerpageheight = document.documentElement.scrollHeight;
			if(displayerpageheight < document.body.scrollHeight) displayerpageheight = document.body.scrollHeight;
		} else {
			displayerpagewidth = document.documentElement.scrollWidth;
			if(displayerpagewidth < displayerclientwidth) displayerpagewidth = displayerclientwidth;
			displayerpageheight = document.documentElement.scrollHeight;
			if(displayerpageheight < displayerclientheight) displayerpageheight = displayerclientheight;
		}

		if(displayerbrowserversion > 5){
			displayerimagecontent.style.cursor="pointer";
			displayerbodymask.style.cursor="pointer";
		}
		
	} else {
		displayerpagewidth = document.documentElement.scrollWidth;
		if(displayerpagewidth < document.body.scrollWidth) displayerpagewidth = document.body.scrollWidth;
		if(displayerpagewidth < displayerclientwidth) displayerpagewidth = displayerclientwidth;

		displayerpageheight = document.documentElement.scrollHeight;
		if(displayerpageheight < document.body.scrollHeight) displayerpageheight = document.body.scrollHeight
		if(displayerpageheight < displayerclientheight) displayerpageheight = displayerclientheight;

		displayerimagecontent.style.cursor="pointer";
		displayerbodymask.style.cursor="pointer";
	}

	document.body.appendChild(displayerbodymask);

	displayerbodymask.style.width=displayerpagewidth+"px";
	displayerbodymask.style.height=displayerpageheight+"px"
	
}

function closeImage(){
	clearInterval(displayercheckimageinterval);
	document.body.removeChild(displayerimagecontent);
	document.body.removeChild(displayerbodymask);
	window.onresize=displayerlastonresizeaction;
}