
function regEventHandler(eventName,elem,eventHandler)
{
	if(elem == null){
		alert("elem is null !!");
		return;
		}
	if(typeof addEventListener != "undefined")
		elem.addEventListener(eventName,eventHandler, false);
	else if(typeof attachEvent != "undefined")
		elem.attachEvent("on" + eventName,eventHandler);
}

function removeEventHandler(eventName,elem,eventHandler)
{
	if(typeof removeEventListener != "undefined")
		elem.removeEventListener(eventName,eventHandler, false);
	else if(typeof detachEvent != "undefined")
		elem.detachEvent("on" + eventName,eventHandler);
}


function getEventTarget(e)
{
	if(typeof e.target == "object")
		return e.target;
	else if(typeof e.srcElement == "object")
		return e.srcElement;
}

function preventDefault(e)
{
	if(typeof e.preventDefault != "undefined")
		e.preventDefault();
	else if(e.type != "mouseover")
		e.returnValue = false;
	else
		e.returnValue = true;
}


regEventHandler("click",document,openLargeBox);
regEventHandler("resize",window,handleResize);


function cloneConf(conf)
{
    var confClone = Object();
    confClone.imgPath = conf.imgPath;
    confClone.imgBegin = conf.imgBegin;
    confClone.imgEnd = conf.imgEnd;
    confClone.cssTypGalerie = conf.cssTypGalerie;
    confClone.homeUrl = conf.homeUrl;
	return confClone;
	}
function applyVertConf(conf,applyConf)
{
    conf.imgEnd = applyConf.imgEnd;
    conf.cssTypGalerie = applyConf.cssTypGalerie;
	return conf;
	}

// modifikováno speciálně pro projekt Simon !!
function openLargeBox(e)
{
	var target = getEventTarget(e);
	var imglink = target.parentNode;
	if(target.nodeName != "IMG" || imglink.nodeName != "A" )
		return;
	var thumbImage = target;
	var urlparams = imglink.href.split("?");
	var urlvars = urlparams[1].split("&");
	var imageParam = urlvars[0].split("=");
	if(imageParam[0] != "image")
		return;
	imgKey = imageParam[1];
	var position = "";
	if(urlvars[1] != undefined){
		var positionParam =  urlvars[1].split("=");
		position = positionParam[1];
	}
	var largeImage = document.getElementById("large-image");
	var largeBox = document.getElementById("large-box-js");
	if(largeBox == null || largeImage == null)
		return;
	var gConf = cloneConf(gConfMain);
	if(position == "vert")
		gConf = applyVertConf(gConf,gConfVertMain);

	largeImage.src = gConf.homeUrl + gConf.imgPath + gConf.imgBegin + imgKey + gConf.imgEnd;
	largeBox.style.visibility = "hidden";
	largeBox.className = "gal-L-" + gConf.cssTypGalerie;	// + přidat alternativní template
	
	var left = Math.round((document.documentElement.clientWidth - largeBox.offsetWidth)/2);
	var top = Math.round((document.documentElement.clientHeight - largeBox.offsetHeight)/2);

	if(top < 2)
		top = 2;
	var leftdiff = 0;
	if(left < 2)
		leftdiff = left - 4;

	largeBox.style.top = (top + document.documentElement.scrollTop).toString() + "px";
	largeBox.style.left = (left + leftdiff + document.documentElement.scrollLeft).toString() + "px";

	var sourceText = "";
	if(thumbImage.alt != null)
		sourceText = thumbImage.alt;
	var textElement = document.getElementById("text-element");
	if(textElement != null)
		textElement.innerHTML = sourceText;

	var overlayBox = document.getElementById("overlay-box");
	if(overlayBox != null){
		overlayBox.style.visibility = "hidden"
		overlayBox.className = "visible";
		overlayBox.style.width = document.documentElement.scrollWidth + "px";
		overlayBox.style.height = document.documentElement.scrollHeight + "px";
		overlayBox.style.visibility = "visible";
	}
	largeBox.style.visibility = "visible";
	removeEventHandler("click",document,openLargeBox);
	regEventHandler("click",document,closeLargeBox);
	preventDefault(e);
}



function closeLargeBox()
{
	var largeBox = document.getElementById("large-box-js");
	if(largeBox != null){
		largeBox.className = "none";
		var largeImage = document.getElementById("large-image");
		largeImage.src = "";
	}
	var overlayBox = document.getElementById("overlay-box");
	if(overlayBox != null){
		overlayBox.className = "none";
		overlayBox.style.visibility = ""
		overlayBox.style.width = "";
		overlayBox.style.height = "";
	}
	removeEventHandler("click",document,closeLargeBox);
	regEventHandler("click",document,openLargeBox);
}

function handleResize()
{
	var overlayBox = document.getElementById("overlay-box");
	if(overlayBox != null){
		overlayBox.style.width = document.documentElement.scrollWidth + "px";
		overlayBox.style.height = document.documentElement.scrollHeight + "px";
	}
}


