 /* Simon Willison's addLoadEvent function allows you to stack up 'window.onload' events 
without them stepping on each other's toes. 
It's explained here - http://www.sitepoint.com/blog-post-view.php?id=171578 */
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function acpopup(strURL,strType,strWidth,strHeight) {
var strOptions="";
if (strType=="console") strOptions="resizable,height="+strHeight+",width="+strWidth;
window.open(strURL, '', strOptions);
}

/* new accessible, unobtrusive popup code */
function windowLinks() {                      // create a new function called windowLink(); 
    if(!document.getElementsByTagName) {      // Only run the function on browsers that
         return;                              // understand 'getElementsByTagName' - new browsers
    }
	
    var anchors = document.getElementsByTagName("a"); // grab all links and pop them in an array called 'anchors'
    for (var i = 0; i < anchors.length; i++) {        // start a loop to work our way through 
         var anchor = anchors[i];                     // grab the next link & copy it to 'anchor' for working
         var relIndex = anchor.rel;                   // get the value of it's 'REL' attribute
		 if (relIndex){                               // does it have a value for REL?...
		 var relSplit = relIndex.split(" "); // changed "|" to " "
		 /* if it does, look for '|' to use to split the value into an 
		 array - relSplit[0], relSplit[1], relSplit[2], etc . If it doesn't 
		 find any '|', the whole value gets transferred to relSplit[0] */
		 
/* XHTML compliant target attribute */

		 if (relSplit[0] == "external") {       // If the relSplit[0] is 'external'...
            anchor.target = "_blank";           // then set it's 'target' attribute to '_blank'

            // nur wenn es sich nicht um einen ausschliesslichen Bildlink handelt
			var Ausdruck = /^<img[^>]+>$/i;
			if( !Ausdruck.test(anchor.innerHTML) )
			{
				anchor.className = "external";      // then attach a CSS class to it 
			}
			// #todo: title in verschiedenen Sprachen anzeigen (auswählen)
//			anchor.title = "Im neuen Fenster Öffnen: "+ anchor.href;
			anchor.title = "Im neuen Fenster Öffnen: " + ((anchor.title=='')?anchor.href:anchor.title);
			// And give it a new title attribute to warn users a new window is launching
			
/* Elegantly degrading window code */

   			} else if (relSplit[0] == "popup") {      // else if relSplit[0] is 'popup'...

            // nur wenn es sich nicht um einen ausschliesslichen Bildlink handelt
			var Ausdruck = /^<img[^>]+>$/i;
			if( !Ausdruck.test(anchor.innerHTML) )
			{
				anchor.className = "popup";               // attach a CSS class to it 
			}
			// #todo: title in verschiedenen Sprachen anzeigen (auswählen)
			anchor.title = "Öffnet im PopUp-Fenster: " + ((anchor.title=='')?anchor.href:anchor.title);
			anchor.popupWidth = relSplit[1];          // set the popup's width
			anchor.popupHeight = relSplit[2];          // set the popup's height
	        anchor.onclick = function() {acpopup(this.href,'console',this.popupWidth,this.popupHeight);return false;};
			}
		}
	  }
} 
addLoadEvent(function() {
	windowLinks();
});
