/* Diese Datei wird automatisch bei aktiver Ionas3-Lightbox-Funktionalität eingebunden. Sie benutzt nur 08/15-Javascript und braucht daher keinerlei JS-Frameworks. */ 
function ionasLightbox(el, url) {
	var t = arguments.callee;
	if (t.list == null) {
		t.list = [];
		var l = document.getElementsByTagName("span");
		for (var i = 0; i < l.length; i++) {
			if (l[i].className == "ionas-lightbox") {
				t.list.push(l[i]);
			}
		}
	}
	t.index = -1;
	for (var i = 0; i < t.list.length; i++) {
		if (t.list[i] == el) {
			t.index = i;
		}
	}
	if (t.visible) {
		t.loading.style.visibility = "visible";
		t.img.style.visibility = "hidden";
		t.img.src = url;
	} else {
		var old = [{},{}];
		for (var i = 0; i < 2; i++) {
			var oldEl = i ? document.documentElement : document.body;
			old[i].top = oldEl.scrollTop;
			old[i].left = oldEl.scrollLeft;
			old[i].css = oldEl.style.cssText;
			oldEl.style.overflow = "hidden";
			oldEl.scrollTop = old[i].top;
			oldEl.scrollLeft = old[i].left;
		}
		var lightbox = document.createElement("div");
		lightbox.style.cssText = "position:fixed;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:2000000";
		document.body.appendChild(lightbox);
		if (lightbox.style.position != "fixed") {
			// IE6 & Co.
			lightbox.style.position = "absolute";
			lightbox.style.left = (old[0].left || 0) + (old[1].left || 0) + "px";
			lightbox.style.top = (old[0].top || 0) + (old[1].top || 0) + "px";
		}
		var blocker = document.createElement("div");
		blocker.style.cssText = "position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background:black;opacity:0.85;filter:alpha(opacity=85);";
		lightbox.appendChild(blocker);

		t.loading = document.createElement("div");
		t.loading.innerHTML = "...";
		t.loading.style.cssText = "position:absolute;color:white;font-size:40px;";
		lightbox.appendChild(t.loading);
		t.loading.style.left = (lightbox.offsetWidth-t.loading.offsetWidth)/2+"px";
		t.loading.style.top = (lightbox.offsetHeight-t.loading.offsetHeight)/2+"px";
		
		var navs = [];
		var relayout = function() {
			navs[0].style.top = (lightbox.offsetHeight - navs[0].offsetHeight)/2 + "px";
			navs[1].style.top = (lightbox.offsetHeight - navs[1].offsetHeight)/2 + "px";
			t.img.style.left = (lightbox.offsetWidth - t.img.width)/2 + "px";
			t.img.style.top = (lightbox.offsetHeight - t.img.height)/2 + "px";
			t.loading.style.left = (lightbox.offsetWidth - t.loading.offsetWidth)/2 + "px";
			t.loading.style.top = (lightbox.offsetHeight - t.loading.offsetHeight)/2 + "px";
			t.img.style.visibility = "visible";
		};
		
		t.img = document.createElement("img");
		t.img.style.cssText = "visibility:hidden;position:absolute;";
		lightbox.appendChild(t.img);
		t.img.onload = function(){t.loading.style.visibility="hidden";setTimeout(relayout,0);};
		t.img.src = url;
		lightbox.setAttribute("onmousedown", "return false");
		lightbox.setAttribute("onselectstart", "return false");
		
		// Knöpfe zum Blättern anzeigen
		for (var i = 0; i < 2; i++) {
			var nav = navs[i] = document.createElement("div");
			nav.className = "nav";
			nav.innerHTML = i ? "&gt;" : "&lt;";
			nav.style.cssText = "position:absolute;" + (i ? "right" : "left") + ":0;font-size:40px;top:" + (lightbox.offsetHeight - 40)/2 + "px;color:#808080;cursor:pointer;background:#404040;padding:8px;border-radius:8px;line-height:25px;";
			nav.onmouseover = new Function("this.style.color = '#FFFFFF'; this.style.background = '#808080';");
			nav.onmouseout = new Function("this.style.color = '#808080'; this.style.background = '#404040';");
			nav.onclick = i ? function() { t.list[(t.index+1)%t.list.length].onclick(); } : function() { t.list[t.index?t.index-1:t.list.length-1].onclick(); };
			nav.unselectable = "on";
			lightbox.appendChild(nav);
		}
		t.visible = true;

		if (window.addEventListener) {
			window.addEventListener("resize", relayout, false);
		} else {
			window.attachEvent("onresize", relayout);
		}

		var closeFunc = function(event) {
			event = event || window.event;
			if ((event.srcElement || event.target).className == "nav") return;
			lightbox.parentNode.removeChild(lightbox);
			for (var i = 0; i < 2; i++) {
				var oldEl = i ? document.documentElement : document.body;
				oldEl.style.cssText = old[i].css;
				oldEl.scrollTop = old[i].top;
				oldEl.scrollLeft = old[i].left;
			}
			if (window.addEventListener) {
				window.removeEventListener("resize", relayout, false);
			} else {
				window.detachEvent("onresize", relayout);
			}
			t.visible = false;
		}
		lightbox.onclick = closeFunc;
		setTimeout(relayout, 0);
	}
}

