// ----------------------------------------------
// Allgemeine Funktionen
// ----------------------------------------------

// event handler erweitern
function addEventToObject(obj,evt,func) {
	var oldhandler = obj[evt];
	obj[evt] = (typeof obj[evt] != 'function') ? func : function(){oldhandler();func();};
}


// ----------------------------------------------
// Barrierefreier Popup-Loader
// ----------------------------------------------

/**
 * neues fenster mit def. parametern
 * funktioniert mit JS aber auch ohne!
 * beispiel:
 * <a href="http://example.com" target="_blank" onclick="link_popup(this); return false">pop me up</a>
**/
function raw_popup(url, target, features)
{
  var _POPUP_FEATURES = 'location=0, statusbar=0, menubar=0, width=400, height=300';
  if (!features)
    features = _POPUP_FEATURES;
  if (!target)
    target = '_blank';
  var theWindow = window.open(url, target, features);
  theWindow.focus();

  return theWindow;
}

function link_popup(src, features)
{
  return raw_popup(src.getAttribute('href'),
                   src.getAttribute('target') || '_blank',
                   features);
}



// ----------------------------------------------
// Hyperlinks in neuem Fenster
// ----------------------------------------------

/**
 * Oeffnet Hyperlinks, die das Attribut 'rel="openInNewWindow"' 
 * gesetzt haben, in einem neuen Fenster
 */
function substituteTargetBlank()
{
  if (!document.getElementsByTagName)
    return;
  var anchors = document.getElementsByTagName("a");
  for (var i=0; i<anchors.length; i++)
  {
    var anchor = anchors[i];
    if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "openInNewWindow")
      anchor.target = "_blank";
  }
}

// add event onload
addEventToObject(window,'onload',substituteTargetBlank);

