window.addEvent('domready', function(){
	
});

var currentLanguageList = ''; // ID des divs, welches ausgefahren wird, wenn die Sprachwahl geöffnet wird

var isAnimating = false;
var navTree = new Array(); // Pfad der aktuell ausgewählten Elemente

/* *** PHP equivalent functions *** */
function in_array(needle, haystack, strict){
	var found = false, key, strict = !!strict;
 
	for (key in haystack) {
		if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
			found = true;
			break;
		}
	}
 
	return found;
}

/* *** Navigation *** */

function showSubNav(id, numChildren){
	// config
	var navId = 'subNav'+id;
	var singleNavHeight = 21;
	var speed = 300;
	
	// var newNavHeight = numChildren * singleNavHeight;
	var newNavHeight = 12 * singleNavHeight;

	if($(navId)){
		var navMorph = new Fx.Morph(navId,
			{
				duration: speed,
				onStart: function(){
					$(navId).style.display = 'block';
					isAnimating = true;
				},
				onComplete: function(){
					isAnimating = false;
				}
			}
		);
		if(!isAnimating){
			if(!in_array('navItem_'+id, navTree)){
				navTree.push('navItem_'+id);
			}
			navMorph.start(
				{
					'height': newNavHeight
				}
			);
		}
	}
	return false;
}

// rekursiv parentIds abarbeiten
function closeSubNav(id, numChildren, parentIds, url){
	var speed = 300;
	var singleNavHeight = 30;
	var ids = parentIds.split('|');
	var navId = '';
	var navMorph = null;
	var firstId = ids.shift();
	navId = 'subNav'+firstId;
	if($(navId)){
		navTree.push('navItem_'+id);
		for(var i=1;i<navTree.length;i++){
			url = $(navTree[i]).getElementsByTagName('a')[0].href;
			urlText = $(navTree[i]).getElementsByTagName('a')[0].innerHTML;
			link = new Element('a').setProperty('href',url);
			link.innerHTML = urlText;
			chosenElementId = 'chosenElement'+i;
			$(chosenElementId).innerHTML = '';
			$(chosenElementId).appendChild(link);
		}
		navTree = new Array();
	//	for(var i=0;i<lists.length;i++){
	//		disableListElement(lists[i].id);
	//	}

		navMorph = new Fx.Morph(navId,
			{
				duration: speed,
				onStart: function(){
					parentIds = ids.join('|');
					closeSubNav(id, numChildren, parentIds);
				},
				onComplete: function(){
					$(navId).style.overflow = 'hidden';
					$(navId).style.display = 'none';
					window.location.href = url;
				}
			}
		);
		navMorph.start(
			{
				'height': singleNavHeight
			}
		);
	}
	return false;
}

/* function disableListElement(id){
	var speed = 300;
	if(!in_array(id, navTree)){
		listMorph = new Fx.Morph(id,
			{
				duration: speed,
				onComplete: function(){
					$(id).style.overflow = 'hidden';
				}
			}
		);
		listMorph.start(
			{
				'height': 0
			}
		);
	}
} */

/* *** Quickfinder *** */

function animQuickFinder(height){
	var elementId = 'quickfinder';
	var minHeight = 29;
	var posCorrection = 25;
	var speed = 1000;
	
	var curHeight = $(elementId).offsetHeight;

	if(curHeight < 180){
		var newHeight = height;
	}else{
		var newHeight = minHeight;
	}
	var morph = new Fx.Morph(elementId,
		{
			duration: speed
		}
	);
	morph.start(
		{
			'height': newHeight,
			'margin-top': (-1*(newHeight-posCorrection))
		}
	);
	return false;
}

/* *** Language and Country Menu *** */

function updateLanguageList(country){
	currentLanguageList = 'language_'+country;
	closeCountryList();
	return false;
}

function showCountryList(){
	var speed = 300;
	var singleHeight = 17;
	var headlineHeight = 37;
	var bottomMargin = 11;
	var elementId = 'countryList';
	
	var numEntries = $(elementId).getElementsByTagName('li').length;
	
	var newHeight = singleHeight * numEntries + headlineHeight + bottomMargin;
	
	$(elementId).style.display = 'block';
	$(elementId).style.overflow = 'hidden';
	
	var morph = new Fx.Morph(elementId,
		{
			duration: speed,
			onStart: function(){
				closeLanguageList();
			}
		}
	);
	morph.start(
		{
			'height': newHeight
		}
	);
	return false;
}

function closeCountryList(){
	var speed = 300;
	var elementId = 'countryList';
	
	var morph = new Fx.Morph(elementId,
		{
			duration: speed,
			onComplete: function(){
				$(elementId).style.display = 'none';
			}
		}
	);
	morph.start(
		{
			'height': 0
		}
	);
	return false;	
}

function showLanguageList(){
	var speed = 300;
	var singleHeight = 17;
	var headlineHeight = 37;
	var bottomMargin = 11;

	var numEntries = $(currentLanguageList).getElementsByTagName('li').length;
	
	var newHeight = singleHeight * numEntries + headlineHeight + bottomMargin;

	$(currentLanguageList).style.display = 'block';
	$(currentLanguageList).style.overflow = 'hidden';

	var morph = new Fx.Morph(currentLanguageList,
		{
			duration: speed,
			onStart: function(){
				closeCountryList();
			}
		}
	);
	morph.start(
		{
			'height': newHeight
		}
	);
	return false;
}

function closeLanguageList(){
	var speed = 300;
	if($(currentLanguageList)){
		var morph = new Fx.Morph(currentLanguageList,
			{
				duration: speed,
				onComplete: function(){
					$(currentLanguageList).style.display = 'none';
				}
			}
		);
		morph.start(
			{
				'height': 0
			}
		);
	}
	return false;
}

function showSubNavigation(){
	// var anchor = this;
	// var list_element = anchor.getParent('li');
	var list_element = this;
	var list = list_element.getElement('ul');
	var list_size = list.getSize();
	var list_wrapper = list.getParent('div');
	list_wrapper.get('morph').start( { 'height': list_size.y } );
}

function hideSubNavigation(){
	// var anchor = this;
	// var list_element = anchor.getParent('li');
	var list_element = this;
	var list = list_element.getElement('ul');
	var list_wrapper = list.getParent('div');
	list_wrapper.get('morph').start( { 'height': 0 } );
}

function initNavigation(){
	$$('.navigation_relaunch').each(
		function(container){
			var list_elements = container.getElements('li.level0');
			list_elements.each(
				function(list_element){
					var list = list_element.getElement('ul');
					if(list){
						var list_wrapper = list.getParent('div');
						var anchor = list_element.getElement('a');
						list_wrapper.setStyles(
							{
								'height': 0,
								'display': 'block',
								'overflow': 'hidden'
							}
						);
						list_element.addEvent('mouseenter', showSubNavigation);
						list_element.addEvent('mouseleave', hideSubNavigation);
						/* anchor.addEvents(
							{
								'mouseeenter': showSubNavigation,
								'mouseleave': hideSubNavigation
							}
						); */
					}
				}
			);
		}
	);
}

function initSubNavigation(){
	
}

window.addEvent('domready', function(){
	// var menu = new Navigation('mainnav', 'mainNavigation');
	if(navigator.appName.indexOf("Explorer") != -1){
		// document.getElementById('content_header').style.backgroundImage = 'none';
		// document.getElementById('content_header').style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=pics/content_header.png,sizingMethod='image')";
	}else{
		if($('mainnav')){
			var menu = new Navigation('mainnav', 'mainNavigation');
		}
	}
	initNavigation();
	initSubNavigation();
});
// 
// Cufon.replace('', { fontFamily: 'AkkuratRegular', hover: true, hoverables: { p: true } });
Cufon.replace('h1, a.quickfinder, #topNewsletter .topNews p, #events p.events_text, #annualMeeting p.events_text', { fontFamily: 'AkkuratRegular' }); // #claim a,
Cufon.replace('#claim h1', { fontFamily: 'AkkuratLight'});
Cufon.replace('#claim h2, .sub_navigation_relaunch a', { fontFamily: 'AkkuratBold'});
Shadowbox.init();
