window.addOnload = function(func)
{
	var event = 'load';
	
	if (this.addEventListener)
	{
		this.addEventListener(event, func, true);
		
		return true;
	}
	else if (this.attachEvent)
	{
		return this.attachEvent('on' + event, func);
	}
	
	return false;
};

document.getElementsByClassName = function(className, tagName)
{
	var elementsByClassName = [];
	
	if (this.getElementsByTagName)
	{
		var elements = (tagName) ? this.getElementsByTagName(tagName) : this.all || this.getElementsByTagName('*');
		var nrOfElements = elements.length;
		
		for (var i = 0; i < nrOfElements; i++)
		{
			var element = elements[i];
			var elementClassName = element.className;
			var elementHasClassName = false;
			
			if (className == elementClassName)
			{
				elementHasClassName = true;
			}
			else if (elementClassName.indexOf(' ') != -1)
			{
				var elementClassNames = elementClassName.split(' ');
				var nrOfClassNames = elementClassNames.length;
				
				for (var k = 0; k < nrOfClassNames; k++)
				{
					if (className == elementClassNames[k])
					{
						elementHasClassName = true;
						break;
					}
				}
			}
			
			if (elementHasClassName)
			{
				elementsByClassName.push(element);
			}
		}
	}
	
	return (elementsByClassName.length) ? elementsByClassName : null;
};

if (!Array.prototype.push)
{
	Array.prototype.push = function()
	{
		var nrOfArguments = arguments.length;
		
		for (var i = 0; i < nrOfArguments; i++)
		{
			this[this.length] = arguments[i];
		}
		
		return this.length;
	};
}

var initImageLinks = function()
{
	if (document.getElementById && document.getElementsByTagName)
	{
		// für Seite "/kontakt/prospekt/laendereinstieg.htm"
		if(document.getElementsByClassName('niceHover'))  var linkLists = document.getElementsByClassName('niceHover');
		// für alle restlichen Seiten
		if(document.getElementsByClassName('imageLinks')) var linkLists = document.getElementsByClassName('imageLinks');
		
		if(linkLists){
			var i = linkLists.length;
		
			while (i--)
			{
				var imageLinkList = new ImageLinkList(linkLists[i]);
			}
		}	
	}
};
window.addOnload(initImageLinks);

var ImageLinkList = function(container)
{
	this.container = container;
	this.items = [];
	
	var childNodes = this.container.childNodes;
	var i = childNodes.length;
	
	while (i--)
	{
		var node = childNodes[i];
		if (node.tagName)
		{
			var tagName = node.tagName.toLowerCase();
			
			if (tagName == 'ul')
			{
				var items = this.container.getElementsByTagName('li');
				var k = items.length;
				
				while (k--)
				{
					var item = items[k];
					
					if (item.parentNode == node)
					{
						this.items.push(items[k]);
					}
				}
			}
			else if (tagName == 'div')
			{
				if (node.parentNode == this.container)
				{
					this.items.push(node);
				}
			}
		}
	}
	
	var i = this.items.length;
	
	while (i--)
	{
		var imageLink = new ImageLink(this.items[i]);
	}
};

var ImageLink = function(container)
{
	this.container = container;
	this.links = [];
	
	var as = this.container.getElementsByTagName('a');
	var i = (as.length < 2) ? as.length : 2;
	
	while (i--)
	{
		var a = as[i];
		
		if (a)
		{
			a._obj = this;
			this.links.push(a);
			a.onmouseover = this._hilite;
			a.onmouseout = this._clear;
		}
	}
};
ImageLink.prototype._hilite = function()
{
	var links = this._obj.links;
	var i = links.length;
	
	while (i--)
	{
		links[i].className = 'over';
	}
};
ImageLink.prototype._clear = function()
{
	var links = this._obj.links;
	var i = links.length;
	
	while (i--)
	{
		links[i].className = '';
	}
};
