function addEvent( obj, type, fn )
{
   if (obj.addEventListener) {
      obj.addEventListener( type, fn, false );
   } else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}

function removeEvent( obj, type, fn )
{
   if (obj.removeEventListener) {
      obj.removeEventListener( type, fn, false );
   } else if (obj.detachEvent) {
      obj.detachEvent( "on"+type, obj[type+fn] );
      obj[type+fn] = null;
      obj["e"+type+fn] = null;
   }
}

addEvent(window, "load", showImage);
addEvent(window, "load", fancyNavigation);
/**
 Konfiguration 
*/

var popImageHeader = '<span id="menuTop"><img src="/wp-content/themes/6mpixel/images/minitouch.gif" /></span>';

/** 
* showImage Zeigt Popup-Fenster mit einer größeren Version eines Bildes
* ohne dafür ein Browserfenster zu öffnen. Bilder müssen dafür innerhalb eines
* a-Tags mit der Klasse popup stehen. Das Skript funktioniert sowohl bei einem
* Klick als auch bei einer Navigation mit der Tastatur.
*/

function getKey(event) {
	event = event || window.event;
	return event.which;
}

function showImage()
{
	var pageImages = document.images;
	for (i=0; i<pageImages.length; i++) {
		if (/popImage/.test(pageImages[i].parentNode.className)) {
			pageImages[i].parentNode.onclick = openRequestedPopup;
			pageImages[i].parentNode.onfocus = openRequestedPopup;
		}
		
		
	}
}

function openRequestedPopup() 
{
    if (document.getElementById('thePopUp')) {
		var thisPopup = document.getElementById('thePopUp');
		thisPopup.parentNode.removeChild (thisPopup);
	}
	var newImageContainer = document.createElement('span');
    newImageContainer.setAttribute ('id','thePopUp');
    newImageContainer.innerHTML = popImageHeader + '<img src="' + this.href + '" style="display: block;" />';
	this.parentNode.insertBefore (newImageContainer,this);
	addEvent (document,'keydown', function(event) { removePopupByX(event,newImageContainer) }, false);
	addEvent (newImageContainer,'click', function(event) {newImageContainer.parentNode.removeChild(newImageContainer)}, false);
    return false;
}

function removePopupByX (event, obj)
{ 
	var key = String.fromCharCode(getKey(event));
	if (document.getElementById('thePopUp') && key == "X" || key == "x") {
		obj.parentNode.removeChild(obj);
		return false;
	}
}

