$(document).ready(function() {
   
  //navigation
  $('.dropdownarrow').each(function() {
    $(this).mouseover(function(){
      $(this).addClass("currentDropdownarrow");
    })
  });
  
  $('.dropdownarrow').each(function() {
    $(this).mouseout(function(){
      $(this).removeClass("currentDropdownarrow");
    })
  });
  
  /** Navigation with dropdownmenus **/	
	/** z-index-bugfix **/
	$("ul.sf-menu").superfish().find('ul').bgIframe({opacity:0});
	
	$("#naviLogout ul.menu").superfish().find('ul').bgIframe({opacity:0});
	
 	//initialise all other JS
 	if($(".googlemap").length==0){
		try
		  {
		  	
		  	initHighlighting(); 	
		  	
		  }
		catch(err)
		  {
		  	initAllOtherJS();
		  }	
	}
	else {
			initAllOtherJS();
	}
	  
		
	
});

function initAllOtherJS() {

	// photoslide
	 $('#mycarousel').children().remove();
			
			 $("div.nojs").removeClass("nojs");
			 if(typeof xmlUrl!= "undefined") {
	             $.ajax({
	                 type: "GET",
	                 url: xmlUrl,
	                 dataType: "xml",
	                 success: function(xml) {
	
	                     $(xml).find('entry').each(function(){
	
	                     	var id_text = $(this).attr('id');
	                     	var urltag = $(this).find('image').text();
	                     	var titletag = $(this).find('title').text();
	                     	var linktag = $(this).find('url').text();
	                     	fillArray({url: urltag, title: titletag, id: linktag});
	
	                     }); //close each(
	
	                     initSlider();
	                 }
	             }); //close $.ajax(
			}

	 // hitlist
  $("ul.hitlist > li.common").mouseover(function ()
  {
    if ($("li.common.pretty-hover").length > 0 ) 
    { 
      $("li.common.pretty-hover").removeClass("pretty-hover");
    }
    $(this).toggleClass("pretty-hover");
  });

  $("ul.hitlist > li.common").mouseout(function ()
  {
    $(this).toggleClass("pretty-hover");
    if ($("li.common.pretty-hover").length == 0 ) 
    { 
      $(this).addClass("pretty-hover");
    }
  });
  
  
  $('#subnavi li').each(function() {
    $(this).mouseover(function(){
      $(this).toggleClass("current" + $(this).attr("id"));
    })
  });
  
  $('#subnavi li').each(function() {
    $(this).mouseout(function(){
      $(this).toggleClass("current" + $(this).attr("id"));
    })
  });

	// unternehmen toggle


	//hide the all of the element with class msg_body
	$(".unternehmenToggleBody").hide();
	$(".toggleSB").css("display", "block");
	//toggle the componenet with class msg_body
	$(".toogleClick").click(function(){
		setParamAdvancedSearch('erweitertGoogle');
		$(".unternehmenToggleBody").slideToggle(600);
		$(".adsearchform").fadeIn("slow");
		$(".adsearchform").css("display", "block");
		$(this).css("display", "none");
		$(".toggleSB").css("display", "none");
		$(".unternehmenToggle").addClass("bb");
		
	});
	$(".toogleClickOpen").click(function(){
		setParamAdvancedSearch('einfachGoogle');
		$(".adsearchform").fadeOut("fast");
		$(".unternehmenToggleBody").slideToggle(600);
		$(".toogleClick").css("display", "block");
		$(".toggleSB").css("display", "block");
		$(".unternehmenToggle").removeClass("bb");
	});
	
	if($('#searchMode').attr("value") == "erweitertGoogle"){

		$(".unternehmenToggleBody").css("display", "block");
		$(".toogleClick").css("display", "none");
		$(".toggleSB").css("display", "none");
		$(".unternehmenToggle").addClass("bb");
		
	};

// dbsearch toggle

	$(".dbSearchHead1").click(function(){

		$(".dbSearchBody1").slideToggle(600);
		$(".dbSearchBody2").hide();
		$(".dbSearchBody3").hide();
		$(".nav > .current").removeClass("current");
		$(this).addClass("current");

	});

	$(".dbSearchBody2").hide();

	$(".dbSearchHead2").click(function(){
		$(".dbSearchBody2").slideToggle(600);
		$(".dbSearchBody1").hide();
		$(".dbSearchBody3").hide();
		$(".nav > .current").removeClass("current");
		$(this).addClass("current");
	});

	$(".dbSearchBody3").hide();

	$(".dbSearchHead3").click(function(){
		$(".dbSearchBody3").slideToggle(600);
		$(".dbSearchBody1").hide();
		$(".dbSearchBody2").hide();
		$(".nav > .current").removeClass("current");
		$(this).addClass("current");
	});
	
	
	/*advanced search toggle */
	$(".searchBodyToggle").hide();
	$(".toogleClickSearchOpen").css("display", "none");
	$(".toggleButton").css("display", "none");
	//toggle the componenet with class msg_body
	$(".toogleClickSearch").click(function(){
		$(".searchBodyToggle").slideToggle(600);
		$(this).css("display", "none");
		$(".toogleClickSearchOpen").css("display", "block");
		$(".toggleButton").css("display", "block");
	});
	$(".toogleClickSearchOpen").click(function(){
		$(".searchBodyToggle").slideToggle(600);
		$(".toogleClickSearch").css("display", "block");
		$(this).css("display", "none");
		$(".toggleButton").css("display", "none");
		
	});
	
	if($('#searchMode').attr("value") == "erweitert"){

		$(".searchBodyToggle").css("display", "block");
		$(".toogleClickSearch").css("display", "none");
		$(".toogleClickSearchOpen").css("display", "block");
		$(".toggleButton").css("display", "block");
		
	};
	
	
	 $(".contentLinkNavi li a").click( function() {
		 $(this).siblings().slideToggle("slow");
		 });
		 $(".contentLinkNavi span").click( function() {
		 $(this).siblings().slideToggle("slow");
		 });
	

	/* Lightbox aufrufen */	
	if(typeof lightboxPath!= "undefined") {
		var bild = "BILD";
		var von = "VON";
		if($("html").attr("lang")=="en") {
			von = "OF";
			bild = "IMAGE";
		}
		$(".lightboxLink a").lightBox({
			fixedNavigation: true,
			imageBtnNext : lightboxPath+ $("html").attr("lang") +'/lightbox-btn-next.gif',
			imageBtnPrev : lightboxPath+ $("html").attr("lang") +'/lightbox-btn-prev.gif',
			imageBtnClose : lightboxPath+ $("html").attr("lang") +'/lightbox-btn-close.gif',
			
			imageBlank : lightboxPath+'/lightbox-blank.gif',
			txtImage: bild,
			txtOf: von
		}
		);	
	};	
	
	$(".lightboxLink a").click( function() {
		var index = $(this).attr("id").indexOf("_");
		if(index>0){
			var qid = $(this).attr("id").substr(index+1,$(this).attr("id").length);
		}
		
		var qu = $("#qu_"+qid).text();
		if(qu!=null)
		$("#lightbox-image-details-caption").after("<br/><span id='lightbox-image-details-qu'>"+qu+"</span>");
		
		$("#lightbox-container-image #lightbox-nav-btnPrev").after("<div id='lightbox-image-details-currentNumber'></div>"); 
		$("#lightbox-image-details #lightbox-image-details-currentNumber").remove();
	 });	
	
	//thickbox
	setThickbox();
	
	//calendar
	if(typeof calUrl!= "undefined") {
		$(".eventCalendar").css("display", "block");
		$(".event .nojs").css("display", "none");
		$(".displayWeek .empty").css("display", "none");
		var url = calUrl;// set in renderveranstaltungen.jsp
		initCalendar(url);
	};
	
	setDatePicker();
	setAccordion();
	
	//making the teasers configurable
	$(".teaserHead.teaserHeadClosed").removeClass("teaserHeadOpen");
	$(".accordeonContent.teaserHeadClosed").css("display","none");
	$(".accordeonContent.teaserHeadClosed").removeClass(".teaserHeadClosed");
}

function setDatePicker(){
	if($("html").attr("lang")=="en"){
			Date.dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
			Date.abbrDayNames = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
			Date.monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
			Date.abbrMonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
			Date.format = 'dd/mm/yyyy';
			Date.firstDayOfWeek = 1;		
		}else {
			Date.firstDayOfWeek = 1;
			Date.format = 'dd.mm.yyyy';
		};
    
   $(function()
	{
	$('.date-pick').datePicker({startDate:'01/01/1996'});
	});
}

//Initialize accordeon:
function setAccordion() {
	
	initAccordion({
		headerclass: "accordeonHead", //Shared CSS class name of headers group
		contentclass: "accordeonContent", //Shared CSS class name of contents group
		revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click" or "mouseover"
		collapseprev: false, //Collapse previous content (so only one open at any time)? true/false
		defaultexpanded: [0,1,2,3,4,5], //index of content(s) open by default [index1, index2, etc]. [] denotes no content.
		onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
		animatedefault: false, //Should contents open by default be animated into view?
		persiststate: false, //persist state of opened contents within browser session?
		toggleclass: ["", "teaserHeadOpen"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
		togglehtml: ["none", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)
		animatespeed: "fast" //speed of animation: "fast", "normal", or "slow"
		/*oninit:function(expandedindices){ //custom code to run when headers have initalized
			//do nothing
		},
		onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
			//do nothing
		}*/
	})
}


// photogallery
var i = 0;

/* ajax */

var mycarousel_itemList = new Array();

function fillArray (values) {
	mycarousel_itemList.push (values);
}

function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt)
{ 
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, mycarousel_itemList.length);
   
    carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1]));
    if($(".wochenrueckblick").length==0){
		$(item).click (
	
		  function(){
			$(".zoomBox").remove();
			var urlval= $(this).children().attr("src");
			var video = urlval.indexOf("Videos");
			if(video>0){
				urlval = urlval.replace(".jpg", ",height=142,width=197.jpg");
			}else {
				urlval = urlval.replace(".jpg", ",height=141,width=140.jpg");
			}
			var idval= $(this).children().attr("id");
			
			var titleval= $(this).children().attr("alt");
			var index = titleval.indexOf(":");
			if(index<0){
				var name = titleval;
				var desc = "";
			}else {// split name and description (for example in forscherprofile)
				var name = titleval.substr(0, index+2);
				var desc = titleval.substr(index+2, titleval.length);
			}
			$(this).parent().parent().after("<div class='zoomBox' style='display: none'><img src='"+urlval+"'/><div class='title'><a href='"+idval+"'>"+name+"</a></div><div class='subtitle'>"+desc+"</div></div>");
			
			var scroll_to = $(this).position();
			$(".zoomBox").css("left",scroll_to.left);
			$(".zoomBox").css("display","block");
	
	
			$(".zoomBox").click (
				function(){
					$(".zoomBox").remove();
				});
			$(".jcarousel-prev").click (
				function(){
					$(".zoomBox").remove();
				});
			$(".jcarousel-next").click (
				function(){
					$(".zoomBox").remove();
				});
		  });
	  }
};

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
};

function mycarousel_getItemHTML(item)
{
	if($(".wochenrueckblick").length>0){
		var content = '<a href="' + item.id + '"><img class="wr" src="' + item.url + '" alt="' + item.title + '" id="' + item.id + '" /><span class="wr">'+ item.title +'</span></a>';
	}else {
		var video = item.url.indexOf("Videos");
		if(video>0){
			item.url = item.url.replace(".jpg", ",height=94,width=131.jpg");
		}
		var content = '<img src="' + item.url + '" alt="' + item.title + '" id="' + item.id + '" />';
	}
    return content;
};


function initSlider () {
	
    $('#mycarousel').jcarousel({
        wrap: 'circular',
        itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
        itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
    });
}


function setParamAdvancedSearch(param) {
	$('#searchMode').attr('value', param);
}

function getParam (param) {
	 var qs = location.search.substring(1);
	 var nv = qs.split('&');
	 var url = new Array();
	 
	 for(i = 0; i < nv.length; i++){
	    eq = nv[i].indexOf('=');
	    url[nv[i].substring(0,eq).toLowerCase()] = unescape(nv[i].substring(eq + 1));
	 }
	 
	if(typeof url[param] != "undefined" ){
	 	return url[param];
	}
}
