var ie_hack_i = 0;
var identify_menu = Array();
var currently_in = Array();
var old_search_word = '';
var result_box_hide = false;


window.onload = function(){
	// Initialisiere Submenüs
	var sub_menus = $$("#head_menu ul .sub_menu");
	for (var i = 0; i < sub_menus.length; i++){
		sub_menus[i].parentNode.onmouseover = function(e){
			var element = this;
			if (!this.childElements){
				// IE Hack:
				var elm_id = this.id ? this.id : "temp_menu_ie_hack_"+ie_hack_i;
				this.id = elm_id;
				element = $(elm_id);
				ie_hack_i++;
			}
			identify_menu[element.identify()] = 1;
			element.childElements()[element.childElements().length - 1].style.display = "block";
			element.childElements()[element.childElements().length - 1].style.zIndex = 6;
			
			$("sub_menu_bg").style.display = "block";
			$("sub_menu2_bg").style.display = "block";
			
		}
		sub_menus[i].parentNode.onmouseout = function(){
			var element = this;
			if (!this.childElements){
				// IE Hack:
				var elm_id = this.id ? this.id : "temp_menu_ie_hack_"+ie_hack_i;
				this.id = elm_id;
				element = $(elm_id);
				ie_hack_i++;
			}
			identify_menu[element.identify()] = 0;
		}
	}
	var sub_menus2 = $$("#head_menu ul .sub_menu2");
	for (var i = 0; i < sub_menus2.length; i++){
		sub_menus2[i].parentNode.onmouseover = function(){
			var element = this;
			if (!this.childElements){
				// IE Hack:
				var elm_id = this.id ? this.id : "temp_menu_ie_hack_"+ie_hack_i;
				this.id = elm_id;
				element = $(elm_id);
				ie_hack_i++;
			}
			identify_menu[element.identify()] = 1;
			element.childElements()[element.childElements().length - 1].style.display = "block";
			element.childElements()[element.childElements().length - 1].style.zIndex = 5;
			$("sub_menu2_bg").style.display = "block";
		}
		sub_menus2[i].parentNode.onmouseout = function(){
			var element = this;
			if (!this.childElements){
				// IE Hack:
				var elm_id = this.id ? this.id : "temp_menu_ie_hack_"+ie_hack_i;
				this.id = elm_id;
				element = $(elm_id);
				ie_hack_i++;
			}
			identify_menu[element.identify()] = 0;
		}
	}
	window.setInterval('update_menu();', 100);
	
	/*
	* Verhindert das automatische Anzeigen von Menues, deren "Elternknoten" zwar ausgewählt wurde, aber kein
	* Unterpunkt in dem Menue selber. Dazu werden alle Elemente der Klasse "ul.act-menu" durchlaufen und ggf.
	* wird bei keinen Eintrag "li.act-page" das Klassenattribut "act-menu" des Menüs entfernt.  Wenn das 1. Untermenue 
	* bereits ausgeblender werden muss, wird der Hintergrund von #head_content auf transparent gesetzt, um ggf. existierende
	* Schriften anzuzeigen
	*/
	var act_menus = $$("ul.act-menu");
	for (var i = 0; i < act_menus.length; i++){
		if (!act_menus[i].select('li.act-page').length){
			//act_menus[i].removeClassName('act-menu');
			if (i == 0){
			//	$("head_content").style.background = 'transparent';
			}
		}
	}
	
	// Partner Seite: mouseover event
	var partner_images = $$(".sponsor_image");
	for (var i = 0; i < partner_images.length; i++){
		if (i == 0 && $("partner_layer")){
			var layer_height = $("main_content").getHeight() + 30;
			$("partner_layer").style.height = layer_height + "px";
			$("partner_layer").style.display = "block";
			$("partner_layer_bg").style.height = (layer_height - 100) + "px";
		}
		currently_in[i] = 0;
		partner_images[i].id = "partner_img_"+i;
		partner_images[i].onmouseover  = function(){
			if (currently_in[this.id.substr(12)])
				return false;
			if (this.parentNode.next()){
				var element = this.parentNode.next();
			}else{
				var element = this.parentNode.parentNode;
			}
			if (Prototype.Browser.IE){
				return false;
                        }
			
			this.style.zIndex = "40";
			element.style.display = "block";
			element.style.opacity = "0";
			currently_in[this.id.substr(12)] = this.parentNode.next();
			Effect.Appear(element, {duration: 0.5});
			Effect.Appear(element.next(), {duration: 0.5});
		}
		try{
			var elm = partner_images[i].parentNode.next();//, elm2 = partner_images[i].next().next();
			//elm.clonePosition(elm2, {setLeft: false, setTop: false});
			elm.hide();//elm2.hide();
			elm.style.visibility = "visible";//elm2.style.visibility = "visible";
			//elm.style.backgroundImage = "url('"+partner_images[i].src+"')";
			elm.style.paddingLeft = /*elm2.style.paddingLeft =*/ (partner_images[i].getWidth() + 20)+"px";
			elm.style.minHeight = /*elm2.style.minHeight =*/ /*(partner_images[i].getHeight() + 20)+"px";*/ 	"100px";
			
		}catch(e){}
	}
	
	
	// Ajax Search Functions
	
	$("tx_indexedsearch_q").onkeyup = function(){
		ajax_box_controler();
	}
	$("tx_indexedsearch_q").onfocus = function(){
		if ($("tx_indexedsearch_q").value == 'Suchbegriff hier eingeben' || $("tx_indexedsearch_q").value == 'Enter a search term here'){
			$("tx_indexedsearch_q").value = '';
		}
		ajax_box_controler();
	}
	$("tx_indexedsearch_q").onblur = function(){
		ajax_box_controler();
	}
	old_search_word = "";
	
	// Set style depending on main image
	set_style_if_mainimage();	

	if (Prototype.Browser.IE){
		Event.observe(document, "mousewheel", wheel_action, false);
		window.setInterval('wheel_action()', 500);
		var all_imgs = $('related_document_box').select('[src=""]');
		for (var n = 0; n < all_imgs.length; n++){
			all_imgs[n].style.display = 'none';
		}
		var thumbs = $$(".thumbnail_image");		
                for (var n = 0; n < thumbs.length; n++){
                        if (thumbs[n].getWidth() > 100){
				thumbs[n].style.width = "100px";
			}
                }

	}
}

function wheel_action(){
	var overlay_height = ($("content_footer_area").getHeight() + 70) + "px";
        $("overlay").style.height = overlay_height;
}

function update_menu(){
	var open_element_exists = 0;
	for (var id in identify_menu){
	  if (id.indexOf("_") <= 0)	continue;
	  
	  if (!identify_menu[id]){
		element = $(id);
		element.childElements()[element.childElements().length - 1].style.display = "none";
		element.childElements()[element.childElements().length - 1].style.zIndex = 3;
	  }else{
		open_element_exists++;
	  }
	}
	if (!open_element_exists){
		$("sub_menu_bg").style.display = "none";
		$("sub_menu2_bg").style.display = "none";
		var act_page = $$("#head_menu ul .act-page");
		for (var i = 0; i < act_page.length; i++){ 
			act_page[i].childElements()[act_page[i].childElements().length - 1].style.visibility = "visible";
		}
	}else{
		$("sub_menu_bg").style.display = "block";
		$("sub_menu2_bg").style.display = "block";
		
		var act_page = $$("#head_menu ul .act-page");
		for (var i = 0; i < act_page.length; i++){ 
			if (!identify_menu[act_page[i].identify()]){
				if (!$(act_page[i].parentNode).hasClassName('sub_menu2')){
					act_page[i].childElements()[act_page[i].childElements().length - 1].style.visibility = "hidden";
				}else{
					act_page[i].childElements()[act_page[i].childElements().length - 1].style.visibility = "inherit";
				}
			}else{
				act_page[i].childElements()[act_page[i].childElements().length - 1].style.visibility = "visible";
			}
		}
	}
}
	
document.onmousemove = function (event){
	mouse = mouse_pos(event);
	mouseX = mouse.left;
	mouseY = mouse.top;
	for (var i = 0; i < currently_in.length; i++){
		if (currently_in[i]){
			offset = currently_in[i].cumulativeOffset();
			dimension = currently_in[i].getDimensions();
			if (mouseX < offset[0] || mouseX > offset[0] + dimension.width ||
				mouseY < offset[1] || mouseY > offset[1] + dimension.height){
				

				currently_in[i].previous().firstChild.style.zIndex = "1";
				if (Prototype.Browser.IE){
					currently_in[i].previous().firstChild.style.top = "0px";
				}

				Effect.Fade(currently_in[i], {duration: 0.5});
				Effect.Fade(currently_in[i].next(), {duration: 0.5});
				currently_in[i] = 0;		
			}
		}
	}

}
function mouse_pos(e) {
	if(!e) e = window.event;
	var body = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ? 
	window.document.documentElement : window.document.body;
	return {
		// Position im Dokument
		top: e.pageY ? e.pageY : e.clientY + body.scrollTop - body.clientTop,
		left: e.pageX ? e.pageX : e.clientX + body.scrollLeft  - body.clientLeft
	};
}

function ajax_box_controler(){
	$("tx_mhajaxsearch_q").value = $("tx_indexedsearch_q").value;
	if ($("tx_mhajaxsearch_q").value && $("tx_mhajaxsearch_q").value != 'Suchbegriff hier eingeben' && $("tx_mhajaxsearch_q").value != 'Enter a search term here' && !result_box_hide){
		if (old_search_word != $("tx_mhajaxsearch_q").value){
			old_search_word = $("tx_mhajaxsearch_q").value;
			tx_mhajaxsearch_search(xajax.getFormValues('tx_mhajaxsearch_form', 0, 'tx_mhajaxsearch_q'));
		}
		$("ajax_search_results_wrapper").style.display = "block";
	}else{
		$("ajax_search_results_wrapper").style.display = "none";
	}
}
function hide_result_box(){
	result_box_hide = true;
	ajax_box_controler();
}

function set_style_if_mainimage() {
	if ($("mainimage_img").src.indexOf(".jpg") > -1) {
		var headID = document.getElementsByTagName("head")[0];         
		var cssNode = document.createElement('link');
		cssNode.type = 'text/css';
		cssNode.rel = 'stylesheet';
		cssNode.href = 'fileadmin/templates/styles/style_content_img.css';
		cssNode.media = 'screen';
		headID.appendChild(cssNode);
		if (Prototype.Browser.IE && $("campaign_mainimage")){
			if ($("campaign_mainimage").src.indexOf(".jpg") == -1){
				$("campaign_mainimage").src = $("mainimage_img").src;
			}
			$("content_footer_area").style.zIndex = "1";
			//try{ie_header_image_fixer();}catch(e){}
		}
	}else{
		var related_box = $("related_document_box");
		if (related_box){
			related_box.style.top = (related_box.positionedOffset()[1] - 200) + "px";
		}
	}

}

