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

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


// get style property
function getStyle(el,styleProp)
{
	var x = document.getElementById(el);
	if (x.currentStyle)
		var y = x.currentStyle[styleProp];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
	return y;
}



// ----------------------------------------------
// http://www.htmldog.com/ptg/archives/000063.php
// ----------------------------------------------

function completeEmailLinks() 
{
  if (document.getElementsByTagName) 
  {
    var a = document.getElementsByTagName("a");
    var i;
    for (i = 0; i < a.length; i++) 
    {
      if (a[i].className && a[i].className == "spamsafe") 
      {
        address_to_replace = a[i].firstChild;
        real_address = address_to_replace.nodeValue.replace("[a t]", "@");
        address_to_replace.nodeValue = real_address;
        address_to_replace.parentNode.setAttribute("href", "mailto:" + real_address);
      }
    }
  }
}
addEventToObject(window,'onload',completeEmailLinks);



// ----------------------------------------------
// Default search box text (thank you, Dunstan)
// ----------------------------------------------

var Searchbox =
{
	init : function()
	{
		var sBox = document.getElementById('headSearchQuery');
		if (sBox)
		{
			addEventToObject(sBox,'onclick',Searchbox.click);
			addEventToObject(sBox,'onblur',Searchbox.blur);
		}	
	},
	click : function()
	{
		var sBox = document.getElementById('headSearchQuery');
		if (sBox.value == 'Webseiten durchsuchen...')
		{
			sBox.value = '';
		}
	},
	blur : function()
	{
		var sBox = document.getElementById('headSearchQuery');
		if (sBox.value == '' || sBox.value == ' ')
		{
		  sBox.value = 'Webseiten durchsuchen...';
		}
	}
};

// add event onload
addEventToObject(window,'onload',Searchbox.init);



// ----------------------------------------------
// 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);


// ----------------------------------------------
// Scroller (as seen on sensarama.at)
// ----------------------------------------------

var Scroller =
{
	init : function()
	{
		// Divs schreiben
		var ref = document.getElementById('references');
		if (ref)
		{
      var sLeft = document.createElement("div");
      var ident = document.createAttribute("id");
      ident.nodeValue = "scroll-left";
      sLeft.setAttributeNode(ident);
      ref.appendChild(sLeft);

      var sRight = document.createElement("div");
      var ident = document.createAttribute("id");
      ident.nodeValue = "scroll-right";
      sRight.setAttributeNode(ident);
      ref.appendChild(sRight);
		}

		// Pfeil nach links
		var scrollleft = document.getElementById('scroll-left');
		if (scrollleft)
		{
			addEventToObject(scrollleft,'onclick',Scroller.left);
		}
		// Pfeil nach rechts	
		var scrollright = document.getElementById('scroll-right');
		if (scrollright)
		{
			addEventToObject(scrollright,'onclick',Scroller.right);
		}	
	},
	left : function()
	{
		var reflist = document.getElementById('reference-home');
  	var curPos = reflist.offsetLeft;
		if(curPos < 0)
		  new Effect.MoveBy( reflist, 0, 906 );
	},
	right : function()
	{
		var reflist = document.getElementById('reference-home');
  	var curPos = reflist.offsetLeft;
  	var curCnt = reflist.childNodes.length;
  	if(curPos >= (940 - curCnt*906))
		  new Effect.MoveBy( reflist, 0, -906 );
	}
};

// add event onload
addEventToObject(window,'onload',Scroller.init);


