function getSeminarList(url, CID) {
    $('#loading'+CID).show();
    $.ajax({
		url: url,
 		dataType: "html",
 		ifModified:true,
 		success: function(html) {
  			$('#wbsseminars'+CID).html(html);
  			loadAlternativeDatesTooltip();
  			loadModuleToggle();
 		}
    });
};

function getSeminarListByForm(url, CID) {
	$('#loading'+CID).show();
    $.ajax({
	  type: 'POST',
	  url: url,
	  data: $('#wbsform'+CID).serialize(),
	  dataType: "html",
	  ifModified:true,
	  success: function(html) {
  		$('#wbsseminars'+CID).html(html);
  		$('#searchword'+CID).focus();
  		loadAlternativeDatesTooltip();
  		loadModuleToggle();
 		}
	});
};

function getSeminarListBySearchWord(inputID, url, CID) {
	var swordLength = $(inputID).val().length;

	var timer;
    clearTimeout(timer);
    timer = setTimeout(function() {setWordLenght(inputID, url, CID, swordLength)}, 1500);

	//setTimeout(function() {
	//	getSeminarListByForm(url, CID)
	//}, 2500);
}

function setWordLenght(inputID, url, CID, swordLength) {
	var actualSwordLengtht = $(inputID).val().length;
	if(swordLength == actualSwordLengtht) {
		getSeminarListByForm(url, CID)
	}
}



function loadAlternativeDatesTooltip() {
	// tooltip hover for alternative dates
    //$('.tx-wbsseminars-button-altdates').hover(function() {
    $('table.tx-wbsseminars-list-table > tbody > tr > td > .tx-wbsseminars-button-altdates').hover(function(){
      var $item = $(this),
      position = $item.position(),
      rel = $item.attr('rel'),
      $element = $('#' + rel);

      $element.css({
        left: position.left,
        top: position.top + $item.height() + 5
      }).css('display', 'block');
    }, function() {
      var rel = $(this).attr('rel'),
      element = $('#' + rel);
      element.css('display', 'none');
    }).click(function() {
      return false;
    });
}

function loadModuleToggle() {
	// show/hide modules
    $('table.tx-wbsseminars-list-table > tbody > tr > td .tx-wbsseminars-button-module').click(function() {
      var $button = $(this),
      $modules = $('.' + $button.attr('rel'));

      if ($button.hasClass('modules-open')) {
        $modules.hide();
        $button.removeClass('modules-open');
      } else {
      	$modules.show();
        $button.addClass('modules-open');
      }
      return false;
    });
}

$(function(){
   
   loadAlternativeDatesTooltip();
   loadModuleToggle();
   
    /*
  $('a.lightbox').lightBox({
          overlayBgColor: '#000000',
          overlayOpacity: 0.8,
          imageLoading: 'fileadmin/package/wbs/img/lightbox/lightbox-ico-loading.gif',
          imageBtnClose: 'fileadmin/package/wbs/img/lightbox/lightbox-btn-close.gif',
          imageBtnPrev: 'fileadmin/package/wbs/img/lightbox/lightbox-btn-prev.gif',
          imageBtnNext: 'fileadmin/package/wbs/img/lightbox/lightbox-btn-next.gif',
          containerResizeSpeed: 350,
          txtImage: 'Bild',
          txtOf: 'von'
        });
  
        */
});

// Funktion zum Ausblenden eines Tabs
function hideTab(tabID) {
	if(tabID==2) {
		$("div.three-tabs ul li.middle").hide();
		$("div.two-tabs ul li.last").hide();
	}	
	$("#tab"+tabID).hide();
}
// Funktion zur automatischen Tab-Ansteuerung. Nur fuer Tabdropdown-Element mit exakt zwei Tabs.
function goToTab(tabID) {	
	$("div.tabdropdown-tab"+tabID+"-intro").addClass('tabdropdown-tab2-intro-active');
	$("div.tabdropdown-tab"+tabID+"-intro").show();
	$("div.tabdropdown").addClass('tabdropdown-active');
	$("#tabdropdown"+tabID+"").show();
	$("a.tabdropdown-trigger").hide();
  	$("a#tabdropdown-trigger-"+tabID+"").show();  	  	
  	if(tabID==2) {
  		$("a#tabtrigger-"+tabID+"").parent().parent().children(".tabdropdown-header li.first").removeClass("firstactive");
  		$("a#tabtrigger-"+tabID+"").parent().addClass('lastactive');
  		$("div.tabdropdown-tab1-intro").hide();
  		$("#tabdropdown1").hide();
  	}
	if (tabID==1) {
  		$("a#tabtrigger-"+tabID+"").parent().parent().children(".tabdropdown-header li.last").removeClass("lastactive");
  		$("a#tabtrigger-"+tabID+"").parent().addClass('firstactive');
  		$("div.tabdropdown-tab2-intro").hide();
  		$("#tabdropdown2").hide();
  	}  	  	
  	$("div.tabdropdown-bottom").show();
  	$("a.tabdropdown-trigger").removeClass('arrow_up');
  	$("a.tabdropdown-trigger").addClass('arrow_up');
}

function showBasket() {
	height = $('#basket-container').height()+4;
	if(navigator.appVersion.indexOf('MSIE 6.0')!=-1) {
		//$('#basket-container').wrap('<div id="basket-container-wrap"></div>');
		height=0;
	}
	$('#basket-container').fadeIn();
	$('#footer').css({paddingBottom:height});
}
function hideBasket() {
	$('#basket-container').fadeOut();
	$('#footer').css({paddingBottom:0});
}
  

function loadDatePicker() {
    $("input.datepicker").datePicker();
}

// Centers an object of unknown width in parent container. Expects css slector (like '#myDiv')
function centerObject (centerObj) {
	centerObj = $(centerObj);
	width = centerObj.width();
	parentWidth = centerObj.parent().width()	
	offset = (parentWidth/2)-(width/2);
	alert('width:'+width+' pWidth:'+parentWidth);
	centerObj.css("position","relative");
	centerObj.css("left",offset);
}

// Findet naechsten "Bruder" des Elternknotens
function getNextNodeFromParent (theNode) {
  var parent = theNode.parentNode;
  var next = parent.nextSibling;
  while(next.nodeType!=1){
    next=next.nextSibling;
  }
  return next;
}

// Findet naechsten "Bruder"
function getNextNode (theNode) {
  	var next = theNode.nextSibling;
  	while(next.nodeType!=1){
    	next=next.nextSibling;
  	}
  	return next;
}

// Einfache Funktion zum Ein- und Ausblenden via display.
function dropdown (obj) {
	heading = obj;
	obj = getNextNode(obj);
	if (obj.style.display == 'none') {
		obj.style.display = 'block';
		heading.className = "pulldown-heading-open";
	}
	else {
  		obj.style.display = 'none';
  		heading.className = "pulldown-heading";
	}
}

// Erweiterte Funktion zum Ein- und Ausblenden mit jQuery.
function dropdown2(obj) {
	heading = obj;
	header = obj.parentNode;
	body = getNextNodeFromParent(obj);
	if (heading.className == "pulldown-heading") {			
		opened = 0;		
	}
	if (heading.className == "pulldown-heading pulldown-heading-open") {
  		$(body).slideUp('fast');
		opened = 1;	    	
	}
	if (opened==1) {
		$(body).slideUp('fast');
		heading.className = "pulldown-heading";
		header.className = "pulldown-header";
	} else {
  		$(body).slideDown('fast');
  		heading.className = "pulldown-heading pulldown-heading-open";
  		header.className = "pulldown-header pulldown-header-open";
	}
}

$(document).ready(function(){

	// IE6 Specials...
	if(navigator.appVersion.indexOf('MSIE 6.0')!=-1) {
		
		// Add hover class to Button-Containers
		$("div.tx-wbsseminars-submit-wrap").mouseover(function() {
							$(this).addClass("hoveredbutton");
		});
		$("div.tx-wbsseminars-submit-wrap").mouseout(function() {
							$(this).removeClass("hoveredbutton");
		});
		$("div#functions span").mouseover(function() {
							$(this).addClass("hoveredbutton");
		});
		$("div#functions span").mouseout(function() {
							$(this).removeClass("hoveredbutton");
		});
		// Hover for submitbuttons on home page
		$(".seminarfinder-submit-wrap").mouseover(function() {
			$(this).addClass("hoveredbutton");
		});
		$(".seminarfinder-submit-wrap").mouseout(function() {
			$(this).removeClass("hoveredbutton");
		});
		// And Backlink-Buttons...
		$("div.backlink-wrap").mouseover(function() {
							$(this).addClass("hoveredbutton");
		});
		$("div.backlink-wrap").mouseout(function() {
							$(this).removeClass("hoveredbutton");
		});
	};
	
	// Leere Pagebrowser ausblenden	
	$('#tab1 #tx-wbsseminars-list-pagebrowser').hide();
	$('#tab1 #tx-wbsseminars-list-pagebrowser .tx-wbsseminars-pagebrowser-active').parent().show();
	
	$('#tab2 #tx-wbsseminars-list-pagebrowser-master').hide();
	$('#tab2 #tx-wbsseminars-list-pagebrowser-master .tx-wbsseminars-pagebrowser-active').parent().show();
						
	// Make Tabs
    $(".tabs").tabs();
    /*for (i=0; i<=$(".tabs").tabs('length');i++) {
        j = i+1;
        $(".ui-tabs-nav > li:eq("+i+")").addClass("tab-"+j+"");
    }
	*/
	
	// Make Tabdropdown
	$("a#tabdropdown-trigger-2").hide();
    $("div.tabdropdown-bottom").hide();
    $("div.tabdropdown #tabdropdown1").hide();
    $("div.tabdropdown-tab2-intro").hide();
    $("a#tabtrigger-1").click(function () { 
        $("div.tabdropdown-tab2-intro").hide();
        $("div.tabdropdown #tabdropdown2").hide();
        $("div.tabdropdown-tab1-intro").addClass('tabdropdown-tab1-intro-active');
        $("div.tabdropdown-tab1-intro").show();   
        $("div.tabdropdown").addClass('tabdropdown-active');    
        $("div.tabdropdown #tabdropdown1").show();
        $("a#tabdropdown-trigger-1").show();
        $("a#tabdropdown-trigger-2").hide();
        $(this).parent().addClass('firstactive');
        $(this).parent().parent().children(".tabdropdown-header li.last").removeClass('lastactive');
        $("div.tabdropdown-bottom").show();
        $("a.tabdropdown-trigger").removeClass('arrow_up');
        $("a.tabdropdown-trigger").addClass('arrow_up');
    });
    $("a#tabtrigger-2").click(function () {
        $("div.tabdropdown-tab1-intro").hide();
        $("div.tabdropdown #tabdropdown1").hide();
        $("div.tabdropdown-tab2-intro").addClass('tabdropdown-tab2-intro-active');
        $("div.tabdropdown-tab2-intro").show();
        $("div.tabdropdown").addClass('tabdropdown-active');
        $("div.tabdropdown #tabdropdown2").show();
        $("a#tabdropdown-trigger-2").show();
        $("a#tabdropdown-trigger-1").hide();
        $(this).parent().addClass('lastactive');
        $(this).parent().parent().children(".tabdropdown-header li.first").removeClass('firstactive');
        $("div.tabdropdown-bottom").show();
        $("a.tabdropdown-trigger").removeClass('arrow_up');
        $("a.tabdropdown-trigger").addClass('arrow_up');
    });
    $("a#tabtrigger-1").mouseover(function () { 
            $(this).parent().addClass('firsthover');
    });
    $("a#tabtrigger-1").mouseout(function () { 
            $(this).parent().removeClass('firsthover');
    });
    $("a#tabtrigger-2").mouseover(function () { 
            $(this).parent().addClass('lasthover');
    });
    $("a#tabtrigger-2").mouseout(function () { 
            $(this).parent().removeClass('lasthover');
    });
    $("a#tabdropdown-trigger-1").click(function () {   	
        if((navigator.appVersion.indexOf('Safari')!=-1) || (navigator.appVersion.indexOf('Chrome')!=-1) || (navigator.userAgent.indexOf('Firefox/2')!=-1)){
			// slideToggle wird nicht von allen Browsern unterst�tzt... :(                
            $("div.tabdropdown #tabdropdown1").toggle();
        } else {
            $("div.tabdropdown #tabdropdown1").slideToggle();
            //Alternativ: $("#tab1").toggleClass('hidden-element');
        } 
        $("div.tabdropdown-tab1-intro").toggleClass('tabdropdown-tab1-intro-active');
        $("div.tabdropdown").toggleClass('tabdropdown-active');     
        $("div.tabdropdown-bottom").toggle();
        $(this).toggleClass('arrow_up');
    });
    $("a#tabdropdown-trigger-2").click(function () {        
        if((navigator.appVersion.indexOf('MSIE 6.0')!=-1) || (navigator.appVersion.indexOf('Safari')!=-1) || (navigator.appVersion.indexOf('Chrome')!=-1) || (navigator.userAgent.indexOf('Firefox/2')!=-1)) {
            // slideToggle wird nicht von allen Browsern unterst�tzt... :(    
            $("div.tabdropdown #tabdropdown2").toggle();
        } else {
            $("div.tabdropdown #tabdropdown2").slideToggle();
        }       
        $("div.tabdropdown-tab2-intro").toggleClass('tabdropdown-tab2-intro-active');
        $("div.tabdropdown").toggleClass('tabdropdown-active');
        $("div.tabdropdown-bottom").toggle();
        $(this).toggleClass('arrow_up');
    });
	// Dropdowns Seminarmodule
	$("div.tx-wbsseminars-detail-content-element-title").click(function () {
	  $(this).parent().children("div.tx-wbsseminars-detail-content-element-content").slideToggle('fast');
	  $(this).toggleClass('tx-wbsseminars-detail-content-element-title-open');
	  $(this).parent().children("div.tx-wbsseminars-detail-content-element-bottom").toggle();
	});
    // Dropdown Standortangebote
    $("div.tx-wbsseminars-detail-content-element-style2 div.tx-wbsseminars-detail-content-element-title").unbind('click');
    $("div.tx-wbsseminars-detail-content-element-style2").mouseenter(function () {
      $(this).css('z-index', 100);
      $(this).children("div.tx-wbsseminars-detail-content-element-content").slideDown('fast');
      if($.browser.msie && parseInt(jQuery.browser.version) < 7) {
        $('#formSeminarListThemeSelect').hide();
      }
    });
    $("div.tx-wbsseminars-detail-content-element-style2").mouseleave(function () {
	  $(this).css('z-index', 0);
      $(this).children("div.tx-wbsseminars-detail-content-element-content").slideUp('fast');
      if($.browser.msie && parseInt(jQuery.browser.version) < 7) {
        $('#formSeminarListThemeSelect').show();
      }
	});
	// Subnavi: li nach aktivem mit Klasse auszeichnen
	$('#menu-left ul.menuleft li.menuleft1-cur + li').addClass('next-to-active');
	$('#menu-left ul.menuleft li.menuleft1-act + li').addClass('next-to-active');
	$('#menu-left ul.menuleft li.expanded + li').removeClass('next-to-active');
	$('#menu-left ul.menuleft li.expanded + li').addClass('next-to-expanded');
	
	// FCE Imageset (kleine Bilder Standortseite rechts)
	$('div.fce-imageset-images img').click(function() {
		$('div.fce-imageset-images img').removeClass('active-image');
		$(this).addClass('active-image');
	});
	emptyImages = 0;
	$(".fce-imageset-images img").each(function() {
		if($(this).attr('src')=='') {
			$(this).hide();
			$(this).addClass('emptyImage');
			emptyImages++;
		}
		if (emptyImages >= 2) {
			$(this).parent().children('img').hide();
		}					
	})
	// Buttons Paging
	$('span.paging-next').parent('a').addClass('button-next');
	$('span.paging-prev').parent('a').addClass('button-prev');
	// Anpassung Paging Opera
	if (navigator.userAgent.indexOf('Opera')!=-1) {
		$('#tx-wbsseminars-list-pagebrowser a').addClass('paging-opera');
		$('#tx-wbsseminars-list-pagebrowser-master a').addClass('paging-opera');
		$('#tx-wbsjobs-list-pagebrowser a').addClass('paging-opera');
		$('#tx-wbsseminars-list-pagebrowser span').addClass('paging-opera');
		$('#tx-wbsseminars-list-pagebrowser-master span').addClass('paging-opera');
		$('#tx-wbsjobs-list-pagebrowser span').addClass('paging-opera');
	}
	Date.format = 'dd.mm.yyyy';
	Date.dayNames = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'];
	Date.abbrDayNames = ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'];
	Date.monthNames = ['Januar', 'Februar', 'M�rz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];
	Date.abbrMonthNames = ['Jan', 'Feb', 'Mrz', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'];
	Date.firstDayOfWeek = 1;
	$("input.datepicker").datePicker();
    // Autocomplete search : Include file searchsuggestions.js
    // Letzte Zeile Seminarlistentabelle auszeichnen
	$("table.tx-wbsseminars-list-table tr:last-child").addClass('lastrow');
  
  // Scroller
  scroller = $('.scroller');
  scrollerUl = $('.scroller ul');
  var scrollerMaxHeight = 0;
  if(scroller && scrollerUl) {
    itemWide = scroller.width();
    items = $('.scroller ul li');
    itemCount = items.length;
    items.each(function() {
      if($(this).height() > scrollerMaxHeight) {
        scrollerMaxHeight = $(this).height();
      }
    });
    items.each(function() {
      $(this).css('height', scrollerMaxHeight + 'px');
    });
    scroller.css('height', scrollerMaxHeight + 'px');
    function showNextScrollerItem()
    {
      oldPos = scrollerUl.css('left').substr(0, scrollerUl.css('left').length - 2)
      current = oldPos / itemWide * -1;
      if(current+1 >= itemCount) {
        newPos = 0;
      } else {
        newPos = (current+1) * itemWide * -1;
      }
      scrollerUl.css('left', newPos + 'px');
    }
    if(itemCount > 1) {
      setInterval(function () {
        showNextScrollerItem();
      }, 15000);
    }
  }
});
