var activeTooltip;

function pageLoad()
{
	// f_hideAllButFirst();
	
	var iNavigation = $('navigation');
	var iaUL = iNavigation.getChildren('ul');
	var iaLinks = iaUL[0].getChildren();
	
	for( nAktu = 0; nAktu < iaLinks.length; nAktu++)
	{
		iaLinks[nAktu].addEvent('mouseenter', f_showTooltip.bind(iaLinks[nAktu]));
		// iaLinks[nAktu].addEvent('mouseleave', f_hideTooltip.bind(iaLinks[nAktu]));
	}
	
	var iTooltipBox = $('tooltip');
	if(iTooltipBox){
		iTooltipBox.style.visibility = "hidden";
	}
	
	return false;
}

// Artikelliste anzeigen/ausblenden
// Modul: Artikelvorschau
function f_hideAllButFirst(){
	var iaArtikel = $$('.articleItem');	
	var nHoehe = 0;
	if(iaArtikel.length > 0 && $$('.articlePreview').length > 0){
		nHoehe = iaArtikel[0].getSize().y;
	
		iaContainer = $$('.articlePreview');
	
		iaContainer[0].style.height = nHoehe + "px";
	}
}
function f_showAll()
{
	var iaArtikel = $$('.articleItem');	
	var nHoeheGesamt = 0;
	var nHoeheErster = iaArtikel[0].getSize().y;
	
	// Gesamthöhe Artikel auslesen
	for(nAktu = 0; nAktu < iaArtikel.length; nAktu++)
	{
		nHoeheGesamt += iaArtikel[nAktu].getSize().y;
	}
	
	// Gesamthöhe Artikel für Container setzen
	var iaContainer = $$('.articlePreview');

	iaContainer[0].get('morph').start({
		'height': [nHoeheErster, nHoeheGesamt]
	});
	
	// Link "weitere Nachrichten" ausblenden
	var iaReadMore = $$('.readMore');
	iaReadMore[0].style.visibility = "hidden";
	
	return false;
}

function f_showTooltip()
{
	var saLinks = this.getChildren();
	var sName = saLinks[0].innerHTML;
	
	var nTop = this.getCoordinates().top;
	var nLeft = this.getCoordinates().left;
	
	var iaTooltipBoxes = $$('.tooltip');
	
	for( nAktu = 0; nAktu < iaTooltipBoxes.length; nAktu++)
	{
		if( sName == iaTooltipBoxes[nAktu].get('name'))
		{
			if(activeTooltip){
				activeTooltip.get('morph').start( { 'opacity': 0 } );
			}
			_showDiv(iaTooltipBoxes[nAktu], nTop, nLeft);
			activeTooltip = iaTooltipBoxes[nAktu];
			activeTooltip.addEvent('mouseleave', f_hideTooltip.bind(this));
			break;
		}
	}
	
	return false;
}
function f_hideTooltip()
{
	var saLinks = this.getChildren();
	var sName = saLinks[0].innerHTML;
	
	var nTop = this.getCoordinates().top;
	var nLeft = this.getCoordinates().left;
	
	var iaTooltipBoxes = $$('.tooltip');
	
	for( nAktu = 0; nAktu < iaTooltipBoxes.length; nAktu++)
	{
		if( sName == iaTooltipBoxes[nAktu].get('name'))
		{
			_hideDiv(iaTooltipBoxes[nAktu], nTop, nLeft);
			break;
		}
	}		
	
	return false;
}

function _showDiv(div, top, left){
	top += 15;
	div.style.left = left + "px";
	div.get('morph').start({
		'opacity': [0,1]
	});
}
function _hideDiv(div, top, left)
{
	div.get('morph').start({
		'opacity': [1,0]
	});
}

function showMoreText(size){
	var newsText = $(this.rel);
	// this.get('morph').start({ 'opacity': [0,0], 'height' : [0,0] });
	this.style.display = 'none';
	newsText.get('morph').start({ 'height': [0,size.y] });
	if($('articleImage')){
		$('articleImage').get('morph').start({'height': 0});
	}
	return false;
}

function filter(element){
	var words = element.value.toLowerCase().replace(/^\s+|\s+$/g, '').split(" ");
	var num_words = words.length;
	var list = $('contacts').getChildren('ul')[0];
	var listElements = list.getChildren('li');
	var num_listElements = listElements.length;
	var listEntry;
	var textContent;
	var displayStyle;
	var word;
	for(var i=0;i<num_listElements;i++){
		listEntry = listElements[i];
		displayStyle = 'none';
		textContent = listEntry.innerHTML.toLowerCase().replace(/<[^>]+>/g,"").split(" (")[0];
		for(var j=0;j<num_words;j++){
			word = words[j];
			if(textContent.indexOf(word) >= 0){
				displayStyle = '';
			}else{
				displayStyle = 'none';
				break;
			}
		}
		listEntry.style.display = displayStyle;
	}
}

function openSubNav(){
	var list = this;
	var listElements = list.getChildren('li');
	var num_listElements = listElements.length;
	var listEntryHeight = 0;
	var newListHeight = 0;
	if(num_listElements > 0){
		for(var i=0;i<num_listElements;i++){
			listEntryHeight = listElements[i].getSize().y + 0.5;
			newListHeight = listEntryHeight + newListHeight;
		}
		newListHeight = newListHeight + 5;
		// newListHeight = num_listElements * listEntryHeight + 5;
		list.set('morph',
			{
				duration: 1000
			}
		);
		list.get('morph').start( { 'height': newListHeight } );
	}
}

function closeSubNav(){
	var list = this;
	list.get('morph').start( { 'height': 0 } );
}


function setNavigationFunctions(){
	
	var navigationLevel2 = $('navigationLevel2');
	var list = navigationLevel2.getChildren('ul')[1];
	if(list){
		var listElements = list.getChildren('li');
		var num_listElements = listElements.length;
		var listEntry = null;
		var listLevel2 = null;
		var height;
		var anchor;
		for(var i=0;i<num_listElements;i++){
			listEntry = listElements[i];
			listLevel2 = listEntry.getChildren('ul')[0];
			anchor = listEntry.getChildren('a')[0];
			if(listLevel2){
			//	listEntry.addEvent('mouseenter', openSubNav.bind(listLevel2));
			//	listEntry.addEvent('mouseleave', closeSubNav.bind(listLevel2));
				listLevel2.get('morph').start( { 'height': [0,0] } );
			}
		}
	}
	
}

window.addEvent('domready',
	function(){
		// funktion auf "mehr"-Link legen
		var link;
		var newsText;
		var size;
		var links = $$('.moreLink');
		var num_links = links.length;
		for(var i=0;i<num_links;i++){
			link = links[i].getChildren('a')[0];
			newsText = $(link.rel);
			size = newsText.getSize();
			link.addEvent('click',showMoreText.bind(link, size));
			newsText.get('morph').start({ 'height': [0,0], 'visibility': 'visible' });
		}
		
		if($('publicationsMoreLink')){
			size = $('publicationsMoreText').getSize();
			$('publicationsMoreText').get('morph').start( { 'height': [0,0], 'padding-bottom': [0,0] } );
			$('publicationsMoreLink').addEvent('click',
				function(){
					$('publicationsMoreLink').style.display = 'none';
					$('publicationsMoreText').get('morph').start( { 'height': size.y, 'padding-bottom': 20 } );
					return false;
				}
			);
		}
		
		// claim schließt geöffneten tooltip
		$('claim').addEvent('mouseenter',
			function(){
				if(activeTooltip){
					activeTooltip.get('morph').start({'opacity':0});
				}
			}
		);
		
		// suche
		if($('searchText') && $('searchText').value != 'Ansprechpartner / Ansprechpartnerin' && $('searchText').value != 'Contact person'){
			filter($('searchText'));
		}
		
		setNavigationFunctions();
		
		if($('flashMap')){
			var so = new SWFObject("./files/map.swf", "mainflash_211", "568", "325", "8", "#FFFFFF");
			so.addParam("wmode", "transparent");
			so.addParam("swLiveConnect", "true");
			so.addParam("allowScriptAccess", "always");
			so.write("flashMap");
		}
		
		// leere kategorien nicht klickbar machen
		if($$('.articleid_7')){
			var subNavigations = $$('.rex-navi2');
			var num_subNavigations = subNavigations.length;
			var subNavigation;
			var listElements;
			var num_listElements;
			var anchor;
			for(var i=0;i<num_subNavigations;i++){
				subNavigation = subNavigations[i];
				listElements = subNavigation.getChildren('li');
				num_listElements = listElements.length;
				for(var j=0;j<num_listElements;j++){
					anchor = listElements[j].getChildren('a')[0];
					if(anchor.get('rel') == 'no-content'){
						anchor.get('morph').start( { 'color': ['#9CA4BC','#9CA4BC'], 'cursor': 'default' } );
						anchor.addEvent('click',
							function(){
								return false;
							}
						);
					}
				}
			}
		}
		var subNavigations = $$('.rex-navi1');
		var num_subNavigations = subNavigations.length;
		var subNavigation;
		var listElements;
		var num_listElements;
		var anchor;
		for(var i=0;i<num_subNavigations;i++){
			subNavigation = subNavigations[i];
			if(subNavigation.getParent('div').id != 'navigation'){
				listElements = subNavigation.getChildren('li');
				num_listElements = listElements.length;
				for(var j=0;j<num_listElements;j++){
					anchor = listElements[j].getChildren('a')[0];
					if(anchor.get('rel') == 'no-content'){
						anchor.get('morph').start( { 'color': ['#9CA4BC','#9CA4BC'], 'cursor': 'default' } );
						anchor.addEvent('click',
							function(){
								return false;
							}
						);
					}
				}
			}
		}
	}
);

Cufon.replace('#claim');