// -------------------------------------------------------------------
//
// Copyright 2008-2009 Digital Finance GmbH
// Alle Rechte vorbehalten
//
// -------------------------------------------------------------------
	
function IXprefill(usethis, color, borderc, e)
{
   value = e.value;
   if(value == '')
   {
      e.value = usethis;
      document.getElementById(e.id).style.color = color;
      document.getElementById(e.id).style.borderColor = borderc;
   }
}

function IXhighlight(color, borderc, e)
{
   e.value='';
   document.getElementById(e.id).style.color = color;
   document.getElementById(e.id).style.borderColor = borderc;
}

function IXtoggle(show, hide)
{
   active = show + '_link';
   normal = hide + '_link';
   document.getElementById(normal).className = 'normal';
   document.getElementById(active).className = 'active';
   document.getElementById(show).style.display = 'block';
   document.getElementById(hide).style.display = 'none';
}

function IXtoggleElement(id, newStatus)
{
	var thisElement = getThis(id);
	var status = '';
	
	if (thisElement)
	{
		if (newStatus) { status = newStatus; }
		else if (thisElement.className == 'element closed') { status = 'opened'; }
		else { status = 'closed'; }
		thisElement.className = 'element ' + status;
		getThis(id + 'anzeigen').value = status;
		getThis(id + 'status').src = '/bilder/layout/toggle_' + status + '.gif';
	}
	return false;
}


function getThis(id)
{
	return document.getElementById(id);
}

function submit(formid)
{
   getThis(formid).submit();
   return false;
}

function resetValue(id, e)
{
   var f = getThis(id);
	f.elements[e].value = '';
	f.submit();
   return false;
}

function getTargetElement(evt)
{
   var elem;
   if (evt.target)
   {
      elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target;
   }
   else
   {
      elem = evt.srcElement;
   }
   return elem;
}

function jump()
{
	var url = "";
	for (i = 0; i < arguments.length; i++) {
		url = url + arguments[i];
	}
	window.location.href = url;
}

function paging(id, start, pro)
{
	var f = getThis(id);
	f.IXlimitS.value = start;
	f.IXlimitP.value = pro;
	f.paged.value = 1;
	f.submit();
}

function switchBoerse(id, b)
{
	var f = getThis(id);
	f.boerse.value = b;
	f.submit();
}

function switchSpan(id, span)
{
	var elem = getThis(id);
	var uri = elem.src;
	var link = getThis('link-' + id + '-' + span);
	if (!elem.activeSpan)
	{
		elem.activeSpan = 'YEAR1';
	}
	var activeLink = getThis('link-' + id + '-' + elem.activeSpan);
	activeLink.className = activeLink.className.replace('active', "");
	link.className = 'active';
	elem.activeSpan = span;
	uri = uri.replace(/Span=(YEAR|MONTH)\d{1,2}/, "Span=" + span);
	elem.src = uri;
}

function showMail(veil) {
	var pre = '&#109;a';
	pre = pre + 'i&#108;' + '&#116;o';
	var path = 'hr' + 'ef' + '=';
	veil = veil + '&#64;';
	veil = veil + '&#103;o&#121;ax' + '&#46;' + 'd&#101;';
	document.write( '<a ' + path + '\'' + pre + ':' + veil + '\'>' );
	document.write( veil );
	document.write( '<\/a>' );
}

// ergaenzt hover-Faehigkeit fuer die list-Elemente im Topmenue
var startList = function() 
{
   if (document.all&&document.getElementById)
   {
      navRoot = document.getElementById("men");
      for (i = 0; i < navRoot.childNodes.length; i++)
      {
         node = navRoot.childNodes[i];
         if (node.nodeName == "LI")
         {
            node.onmouseover = function()
            {
               this.className += " over";
            }
            node.onmouseout=function()
            {
               this.className = this.className.replace(" over", "");
            }
         }
      }
   }
}

// Kurslisten
var marker = "false";
function checkBoxenAktivieren(field)
{
   if (marker == "false")
   {
      if(field.length == undefined)
      {
         field.checked = true;
      }
      else
      {
         for (i = 0; i < field.length; i++)
         {
            field[i].checked = true;
         }
      }
      marker = "true";
      return "Yes";
   }
   else
   {
      if(field.length == undefined)
      {
         field.checked = false;
      }
      else
      {
         for (i = 0; i < field.length; i++)
         {
            field[i].checked = false;
         }
      }
      marker = "false";
      return "No";
   }
}

/* EventHandler */

var EventHandler = new Object();

EventHandler = function(el)
{
   this.handlers = new Array();
   this.el = el;
   el.eventHandler = this;
}

EventHandler.prototype.add = function(eType, handler)
{
   var key = 'type-' + eType;
   if (typeof this.el[eType] != 'function')
   {
      this.el[eType] = EventHandler.callback;
   }
   if (typeof this.handlers[key] == 'undefined')
   {
      this.handlers[key] = new Array();
   }
   this.handlers[key].push(handler);
}

EventHandler.prototype.notify = function(elem, evt)
{
   var key = 'type-on' + evt.type;
   for (var i = 0; i < this.handlers[key].length; i++)
   {
      this.handlers[key][i].call(this, elem);
   }
}

EventHandler.callback = function(evt)
{
   evt = (evt) ? evt : ((window.event) ? window.event : "");
   if (evt)
   {
      var elem = getTargetElement(evt);
      if (elem == this.eventHandler.el)
      {
         this.eventHandler.evt = evt;
         this.eventHandler.notify(elem, evt);
      }
   }
}

// GOYAX.addOnLoadEvent(window, startList);
