addLoadEvent (showImage);

/**
 Konfiguration 
*/

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

/**
/* Script Registrar from Simon Wilson 
*/
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

/**
/* DOM Event Listener v. Scott Andrew
*/
function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler konnte nicht aktiviert werden");
  }
}

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


/** 
* showImage 
*/

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



function showImage()
{
	var pageImages = document.images;
	for (i=0; i<pageImages.length; i++) {
		if (/popup/.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;border:none;padding:0;" />';
	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;
	}
}
