jQuery().ready(function(){   
    $("#assist_area").append($("#AssistEditing").html())
    $("#AssistEditing").remove();
    /**** init actions ****/
    $(".extendedtext").hide("0",function (){ $(".splitteaser").css("position", "static").css("position", "relative"); });


    $("a.showtext").show('fast');
    $(".tripple > div:not(.active)").hide();
    $("#navigation li ul:not('.active')").hide();
    $(".navbar").show();
    $("body").append('<div class="hiddenHoverBlock"></div><!-- Event Calendar Div -->');    

    navigationHeight = $("#navigation").height();
    $("#content-container").css( "min-height", navigationHeight+ 80 +"px" );

    var browser;
    browser = navigator.userAgent.substring(25,31);   
    //alert(browser);
    
    if ((browser == "MSIE 6")||(browser == "MSIE 5")){$("#content-container").css( "height", navigationHeight+ 80 +"px" );};

    $("#navigation").children("ul").children("li")
        .children("a").each(function(i){    if (this.offsetHeight < 40 ){$(this).addClass("oneline");}});
    $("#navigation").children("ul").children("li").children("ul").children("li").children("a").each(function(i){
        if ($(this).text().length < 22 ){
            $(this).addClass("oneline"); 
            //alert($(this).text());
        }
    });
//
        //    .children("ul").children("li").children("a").each(function(i){ alert('test');    if (this.offsetHeight < 25 ){$(this).addClass("oneline");}});
    
    $(".monthslidingview").attr("class","sliederframe monthslidingview-active");
    $(".monthblock h3").each(function(){ $(this).clone().insertAfter(this).addClass("bottom"); });
    $(".teaserslider").attr("class","sliederframe teaserslider-active");
    $(".imageslider").attr("class","sliederframe imageslider-active");   
      
    $(".sitemap li:has(ul)").attr("class","closed");
    //$(".sitemap li").attr("class","closed");
    
    /**** Table Styleing ***
    rowspancount = 0;
    $("#maincontent table:not(.rd-comment-table) tr:first-child").children("th, td").addClass("header");    
    if ($("#maincontent table:not(.rd-comment-table) tr:not(:first)").parents("table").is(":has(th)")){        
                if (rowspancount < 1 ) {$(this).children("*:eq(0)").addClass("header");    }
                if (rowspancount != 0 ){ rowspancount = rowspancount-1;    }        
                if ($(this).children("*:eq(0)").attr("rowspan") > 1) { rowspancount = $(this).children("*:eq(0)").attr("rowspan")-1; }        
    }
    */
    /**** Tab Navigation ****/
    //$(".tab")
    $(".tab").hide();    
    $(".tab:first").show();    
    
    $(".tab:first").before('\
                <div class="text tabnav\">\
                    <ul class="tabnavigation clearfix">\
                    </ul>\
                </div>')
        
    $(".tab h1:first").each(function(){    $(".tabnavigation").append('<li class="active">'+$(this).html()+'</li>'); });
    $(".tab h1:not(:first)").each(function(){    $(".tabnavigation").append('<li>'+$(this).html()+'</li>'); });
    
    $(".tabnavigation li").click(function(){    
        tabindex = $(".tabnavigation li").index(this);    
        if ($(this).attr("class") != "active"){
            
            $(".tabnavigation li").attr("class","");
            $(".tabnavigation li:eq("+tabindex+")").attr("class","active");        
            $(".tab").hide();
            $(".tab:eq("+tabindex+")").show();
        }
        return false;        
    })    
    
    /**** Sitemap ****/ 
    $(".sitemap .sitemapnavigation .closed").click(function(){    $(this).closest(".sitemap").find("li:has(ul)").attr("class","open"); return false; });
    $(".sitemap .sitemapnavigation .open").click(function(){    $(this).closest(".sitemap").find("li:has(ul)").attr("class","closed"); return false; });
    
    $(".sitemap li:has(ul)").children(".magnifier").click(function(){
        if ($(this).parent().is(":has(ul)")) { 
            $(this).parent().toggleClass("open").toggleClass("closed")
            return false;
        } else {
            return false;
        }
        
        
    });

    /**** Navigation Script ****/
    activePoint = $("#navigation a.active:last");
    $("#navigation a.active:not(:last)").addClass("root").removeClass("active");
    activePoint.addClass("active").removeClass("root");
    $("#navigation ul a").click(function(){
        //if ( (!($(this).is(":last-child"))) && (!($(this).is(".root"))) && (!($(this).is(".active"))) ) {
        
        //Wenn Punkt nicht letzter in Hirarchie
        if ( (!($(this).is(":last-child"))) && ((!($(this).is(".root"))) || ($(this).is(".root[href='#']")))   ) {
        
            //alle UL auf selber Ebene und Ebene drunter schließen
            $(this).parent().siblings().find("ul")
                .slideUp()
                .find("ul").slideUp();
                
            // das A-Tag über dem aktuellen Punkt wird von "active" auf "root" gesetzt
            $(this).parent().siblings().find("a")
                .removeClass("active")
                .removeClass("root");    
                
            // die aktuelle Liste unterhalb des geklickten A-Tags öffnen
            $(this).next("ul").slideToggle('slow', function(){        
            
                newNavigationHeight = $("#navigation")[0].offsetHeight;
                $("#content-container").css( "min-height", newNavigationHeight+ 80 +"px" );

                    if ((browser == "MSIE 6")||(browser == "MSIE 5")){$("#content-container").css( "height", newNavigationHeight+ 80 +"px" );};
            
            });
            
            
            //$(this).parent().removeClass("active");
            
            // das Highlighting zum es aktuellen Punktes richtig setzten
            if ($(this).hasClass("root") ) {
                $(this).addClass("inactiveRoot");
                $(this).removeClass("root");
            } else if ($(this).hasClass("inactiveRoot")){
                $(this).addClass("root");
                $(this).removeClass("inactiveRoot");
            } else if ($(this).hasClass("active")){                                 
                $(this).removeClass("active")
            } else {
                $(this).addClass("active");
            }
            $(this).parent().parent().prev("a")
                .removeClass("active")
                .addClass("root");            
            if (( $(this).not(".active")) || ( $(this).not(".root"))){return false};
        }
    });
    
    /**** Text Extending Script ****/    
    $("a.showtext").click(function(){
        $(".splitteaser").css("position", "static");

        $(this).prev(".extendedtext").slideToggle("fast", function (){
            $(".splitteaser").css("position", "relative");
        });
        $(this).toggleClass("showtext").toggleClass("hidetext");
        return false;  
    })

    
    /**** Script for assist area tripple accordion slider ****/
    $(".tripple h4").click(function(){        
        if (!($(this).is(".active"))){
            $(this).parent().children(".tripple > div").slideUp();
            $(this).parent().children("h4").removeClass("active");
            $(this).next("div").slideToggle('slow');
            $(this).next().next("div.bottomshadow").slideToggle('slow');
            $(this).toggleClass("active");        
        }        
        return false;
    });
    
    /**** set slideblock item container width ****/
    
    $(".sliederframe").each(function(i){
        if ($(this).find(".slideitem").css("width")){ 
            var slideItem = $(this).find(".slideitem");
            var slideItemWidth = slideItem.css("width").replace(/px/,"");            
            //var slideItemSpace = parseInt(slideItem.css("border-left-width").replace(/px/,"")) + parseInt(slideItem.css("border-right-width").replace(/px/,"")) + parseInt(slideItem.css("margin-left").replace(/px/,"")) + parseInt(slideItem.css("margin-right").replace(/px/,"")) + parseInt(slideItem.css("padding-left").replace(/px/,"")) + parseInt(slideItem.css("padding-right").replace(/px/,"")) ;      
            var itemCount = $(this).find(".slideitem").length;            
            //$(this).find(".slideitemcontainer").width((parseInt(slideItemSpace) + parseInt(slideItemWidth))*itemCount);
            $(this).find(".slideitemcontainer").width(parseInt(slideItemWidth)*itemCount);
        }                
    })    
        
    $(".sliederframe .left").click(function(){
        var $slideItemContainer = $(this).closest(".sliederframe").find(".slideitemcontainer");
        var sliderPosition = $slideItemContainer.css("left").replace(/px/,"");    
        var slideItem = $slideItemContainer.find(".slideitem");        
        var slideItemWidth = $(slideItem).css("width").replace(/px/,"");
        //var slideItemSpace = parseInt(slideItem.css("border-left-width").replace(/px/,"")) + parseInt(slideItem.css("border-right-width").replace(/px/,"")) + parseInt(slideItem.css("margin-left").replace(/px/,"")) + parseInt(slideItem.css("margin-right").replace(/px/,"")) + parseInt(slideItem.css("padding-left").replace(/px/,"")) + parseInt(slideItem.css("padding-right").replace(/px/,"")) ;      
        var slideItemCount = $(slideItem).length;                
        if ( (sliderPosition < 0) && (((sliderPosition*(-1))% parseInt(slideItemWidth)) == 0)) {$slideItemContainer.animate({ left: (-1)*((-1)*sliderPosition-parseInt(slideItemWidth))}, 300 )}

        if (sliderPosition*(-1) <= slideItemWidth){
            $(this).addClass("SlideEndLeft");
        } 
        else {$(this).removeClass("SlideEndLeft");}
        
        if(slideItemCount > 1){
            $(this).siblings(".right").removeClass("SlideEndRight");
        }

        return false;
    });                    
    $(".sliederframe .right").click(function(){
        var $slideItemContainer = $(this).closest(".sliederframe").find(".slideitemcontainer");    
        var sliderPosition = $slideItemContainer.css("left").replace(/px/,"");        
        var slideItem = $slideItemContainer.find(".slideitem");        
        var slideItemWidth = $(slideItem).css("width").replace(/px/,"");
        //var slideItemSpace = parseInt(slideItem.css("border-left-width").replace(/px/,"")) + parseInt(slideItem.css("border-right-width").replace(/px/,"")) + parseInt(slideItem.css("margin-left").replace(/px/,"")) + parseInt(slideItem.css("margin-right").replace(/px/,"")) + parseInt(slideItem.css("padding-left").replace(/px/,"")) + parseInt(slideItem.css("padding-right").replace(/px/,"")) ;      
        var slideItemCount = $(slideItem).length;
        if ((((-1) * sliderPosition) < ( parseInt(slideItemWidth)*(slideItemCount-1))  ) && ((sliderPosition*(-1))%parseInt(slideItemWidth)) == 0) {    $slideItemContainer.animate({ left: sliderPosition-parseInt(slideItemWidth)}, 300) }

        if (sliderPosition*(-1) == $slideItemContainer.css("width").replace(/px/,"") - slideItemWidth*2){
            $(this).addClass("SlideEndRight");
        } 
        if($slideItemContainer.css("width").replace(/px/,"") != slideItemWidth ){
            $(this).siblings(".left").removeClass("SlideEndLeft");
        }
        return false;
    });    
    
    /**** Font Size Navigation ****/
    
    //document.getElementById("bigfontsize").disabled = true;
    //$(".fontSwitch").attr("disabled","disabled");
    
    function setCookie(name, value, hours) {
      var expires = "";
      if (hours) {
        var date = new Date();
        date.setTime(date.getTime() + (hours * 60 * 60 * 1000));
        var expires = "; expires="+date.toGMTString();
      }
      document.cookie = name + "=" + value + expires + "; path=/";
    }
    
    
    $("#smallfont").click(function(){ 
        $(".fontSwitch").attr("disabled","disabled");
        $(".fontSwitch").each(function(){
            if ($(this).hasClass("small")){
                $(this).removeAttr("disabled");
            }
        })
        return false;
    });
    
    $("#middlefont").click(function(){
        $(".fontSwitch").attr("disabled","disabled");
        $(".fontSwitch").each(function(){
            if ($(this).hasClass("middle")){
                $(this).removeAttr("disabled");
            }
        })
        return false;
    });
    $("#bigfont").click(function(){ 
        $(".fontSwitch").attr("disabled","disabled");
        $(".fontSwitch").each(function(){
            if ($(this).hasClass("big")){
                $(this).removeAttr("disabled");
            }
        })
        return false;
    });   



        /**** hide coursedetails ****/

        $(".hideCourse").css("display","none");
        $("ul#searchresults li a.linkCourse").click( function () {  
            return false;
        });




    monthItemWidth = $(".monthslideblock").find(".slideitem").width();
    eventTableWidth = $(".eventtable .slideitemcontainer .slideitem").width();    
    slidingPointMonth = monthItemWidth*6;
    slidingPointEvent = eventTableWidth*6;  



               // $(".monthslideblock").css("left", slidingPointMonth*(-1) );
               // $(".eventtable .slideitemcontainer").css("left", slidingPointEvent*(-1) );                
           

    $(".eventtable .slideitem a").click(function(){
        sItem = $(this).closest(".slideitem");
        itemIndex = $(".eventtable .slideitemcontainer .slideitem").index(sItem);
        slidingPoint = monthItemWidth*itemIndex;
        $(".monthslideblock").css("left", slidingPoint*(-1) );        
        if ($(this).attr("href") == "#" )
        {return false;}
    });



    $(".eventtable .slideitem a").mousemove(function(e){
        //alert($(this)[0].offsetTop);
        //alert($(this).next(".hiddenhovertext").text());
      focusText = $(this).next(".hiddenhovertext");
      hoverBlock = $('.hiddenHoverBlock');
      //alert(focusText.text());
      hoverBlock.show();
      
      //focusText.html(e.pageX +', '+ e.pageY);
      
          var x = e.pageX - $(this)[0].offsetLeft - 240;
        var y = e.pageY - $(this)[0].offsetTop;  
        
        hoverBlock.html(focusText.html());
        
        hoverBlock.css( "left", x );
        hoverBlock.css( "top", y );    
    }).mouseleave(function(){
        $('.hiddenHoverBlock').hide();
    });
    

    
});

/**** show coursedetails ****/

function showCourse(idCourse) {    
    $(".hideCourse").css("display","none");
    if($("#"+idCourse).length > 0) {
        $("#"+idCourse).show();
    }
}

function SetActiveID() {
    var _url = document.URL;
    var _l = _url.length;
    var _x = _url.indexOf("#");
    var _i = _url.substring(_x+1,_l);
    
    if(_x > 0){
        $(".hideCourse").css("display","none");
        if($("#idCourse"+_i).length > 0) {
            $("#idCourse"+_i).show();
        }
    }
}

/**** Assist E-Mail ****/

  function noSpam() {
    var a = document.getElementsByTagName("a");
    for (var i = a.length-1; i >= 0; i--) {
      if (a[i].className.search(/\bemail\b/) != -1) {
        var email = a[i].firstChild.data + "@" + a[i].lastChild.data;
        a[i].innerHTML = 'E-Mail senden';
        a[i].href = "mailto:" + email;
      }
    }
  }
// window.onload=noSpam;


function setRight() {
    if (document.getElementById("setRight")) {
        document.getElementById("setRight").style.position="static"; 
    }
}

  function reloadCaptcha() {
    var c = document.getElementById('captcha_img');
    if( c != null ) {
      var xmlHttp = false;   //globale Instanz von XMLHttpRequest
      //XMLHttpRequest-Instanz erstellen (IE)
      try {
        xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
      } catch(e) {
        try {
          xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
          xmlHttp  = false;
        }
      }
      // (Mozilla, Opera, Safari, ...)
      if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
      }
      if (xmlHttp) {
        xmlHttp.open('GET', '/cps/rde/rendercaptchaimageweblet', true);
        xmlHttp.onreadystatechange = function () {
          if (xmlHttp.readyState == 4) {
            captcha = new Image();
            var tmp = Math.round(Math.random() * (1 + 100000));
            var cSrc = '/cps/rde/rendercaptchaimageweblet?p=' + tmp.toString();
            captcha.src = cSrc;
            c.src = captcha.src;
          }
       }
       xmlHttp.send(null);
    }
  }
}


/* AB Seminarsuche
 * Open popup window from submit action
 */
function createTarget(t){
    window.open("", t, "width="+screen.width+",height="+screen.height+",location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes");
    return true;
}
/* AB Seminarsuche
 * Open popup window 
 */
function openPopup(url,width,height){
      fenster=window.open(url, "_blank", "width="+screen.width+",height="+screen.height+",location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes");
      fenster.focus();
      return false;
}
 
/* 
 * EVENTSLIDER
 */
//Global Settings for EventSlider
$.EventSliderLinkTemplate = "events_selector.htm"; //Adresse des Scripts
$.EventSliderLinkTemplateQuery = "month=<@month@>&year=<@year@>"; //Query für das Script
$.EventSliderBuffer = 3;
$.EventSliderScrollSpeed = 300; //Time to slide the EventSlider in milliseconds
//EventSlider Libary
$.currentEventMonth = function() {
    return parseInt($(".monthblock.slideitem.activea").attr("id").split("-")[1]);
};
$.currentEventYear = function() {
    return parseInt($(".monthblock.slideitem.activea").attr("id").split("-")[2]);
};
$.nextEventMonth = function(month) {
    var M = month || $.currentEventMonth();
    if(M==12){return 1;}else{return M+1;}
}
$.prevEventMonth = function(month) {
    var M = month || $.currentEventMonth();
    if(M==1){return 12;}else{return M-1;}
}
$.nextEventYear = function(month,year) {
    var Y = year || $.currentEventYear();var M = month || $.currentEventMonth();
    if(M==12){return Y+1;}else{return Y;}
}
$.prevEventYear = function(month,year) {
    var Y = year || $.currentEventYear();var M = month || $.currentEventMonth();
    if(M==1){return Y-1;}else{return Y;}
}
$.fn.getNextEventMonth = function(month,year) {
    var M = month || $.nextEventMonth($.nextEventMonth($.currentEventMonth()));
        var Y = year || $.nextEventYear($.nextEventMonth($.currentEventMonth()),$.nextEventYear($.currentEventMonth(),$.currentEventYear()));
        return $(this).getEventSlider(M,Y,true);
}
$.fn.getPrevEventMonth = function(month,year) {
    var M = month || $.prevEventMonth($.prevEventMonth($.currentEventMonth()));
        var Y = year || $.prevEventYear($.prevEventMonth($.currentEventMonth()),$.prevEventYear($.currentEventMonth(),$.currentEventYear()));
    return $(this).getEventSlider(M,Y,false);
}
$.fn.getEventSlider = function(month,year,append,async) {
    var a = async || true;
    var container = $(this);
    var dummyevent = "<div id=\"dummyevsl-"+month+"-"+year+"\" class=\"monthblock slideitem\" style=\"height:50px;\"></div>";
    if(append) {
       if(container.children("#dummyevsl-r").length > 0) {
          container.children("#dummyevsl-r").replaceWith(dummyevent);
       } else {
          container.append(dummyevent);
       }
    } else {
       if(container.children("#dummyevsl-l").length > 0) {
          container.children("#dummyevsl-l").replaceWith(dummyevent);
       } else {
          $(dummyevent).insertBefore(".monthblock.slideitem:first");
       }
    }
    $.ajax({type: "GET",async: false,url: $.EventSliderLinkTemplate.replace(/<@month@>/,month).replace(/<@year@>/,year),data: $.EventSliderLinkTemplateQuery.replace(/<@month@>/,month).replace(/<@year@>/,year),success: function(data){
             if($(data).hasClass(".monthblock")) { $("#dummyevsl-"+month+"-"+year).replaceWith(data); }
           }
    });
    return container;
}
$.fn.EventSliderLeftSwitch = function() {
        $.unsetEventSliderFunction();
    var prev = $(".monthblock.slideitem:first"); //Nächsten Monat speichern
        prev.parent().children(".monthblock.slideitem:last").remove();
        prev.parent().css("left","-1040px");
        prev.parent().getPrevEventMonth();
        $(".monthblock.slideitem.activea").removeClass("activea");//Aktuellen Monat inaktive setzen
    prev.addClass("activea"); //Nächsten Monat aktiv setzen
        prev.parent().animate({left:"-520px"},$.EventSliderScrollSpeed,function(){ $.setEventSliderFunction(); });
        return false;
}
$.fn.EventSliderRightSwitch = function() {
        $.unsetEventSliderFunction();
    var next = $(".monthblock.slideitem:last"); //Nächsten Monat speichern
        next.parent().getNextEventMonth();
        next.parent().animate({left:"-1040px"},$.EventSliderScrollSpeed,function(){
           next.parent().children(".monthblock.slideitem:first").remove();
           next.parent().css("left","-520px");
       $(".monthblock.slideitem.activea").removeClass("activea");//Aktuellen Monat inaktive setzen
       next.addClass("activea"); //Nächsten Monat aktiv setzen
           $.setEventSliderFunction();
        });
        return false;
}
$.setEventSliderFunction = function() {
    $(".monthslidingview-active .navbar a.left").click(function() {$(this).EventSliderLeftSwitch();});
    $(".monthslidingview-active .navbar a.right").click(function() {$(this).EventSliderRightSwitch();});
}
$.unsetEventSliderFunction = function() {
    $(".monthslidingview-active .navbar a.left").unbind().click(function() { return false; });
    $(".monthslidingview-active .navbar a.right").unbind().click(function() { return false; });
}
$.loadClientDate = function() {var d = new Date();$.clientMonth = d.getMonth()+1;var y = d.getYear();if ((y > 99) && (y < 1900)) y += 1900;$.clientYear = y;}
$.loadEventSlider = function(month,year) {
   $.unsetEventSliderFunction(); //Left- und Rightbutton Funktionen aufheben falls vorhanden
   //Falls ein Monat vorhanden ist setze ihn "activea" wenn dieser es noch nicht ist.
   if(!($(".monthslideblock.slideitemcontainer .monthblock.slideitem.activea").length > 0)) {
      $(".monthslideblock.slideitemcontainer .monthblock.slideitem").addClass("activea");
   }
   $.loadClientDate(); //Client Infos laden
   var Mplus = month || $.currentEventMonth(); //Startmonat festlegen
   var Yplus = year || $.currentEventYear(); //Startjahr festlegen
   var Mminus = Mplus;
   var Yminus = Yplus;
   //Wenn der aktuell vorhandene Monat NICHT der gewünschte Monat ist, lade den richtigen
   if((Mplus != $.currentEventMonth()) || (Yplus != $.currentEventYear())) {
      $(".monthslideblock.slideitemcontainer").empty(); //EventSlider leeren
      $(".monthslideblock.slideitemcontainer").getEventSlider(Mplus,Yplus,true); //Monat laden
      $(".monthslideblock.slideitemcontainer .monthblock.slideitem").addClass("activea"); //Monat Active setzen
   }
   $(".monthslideblock.slideitemcontainer").css({"left":"-520px","width":"2080px"}); //Masse setzen
   //Buffer-Monate laden
   for(var i=1;i<=(($.EventSliderBuffer-1)/2);i++) {
      var Mplus = $.nextEventMonth(Mplus);
      var Yplus = $.nextEventYear(Mplus,Yplus);
      if(!($(".monthslideblock.slideitemcontainer #evsl-"+Mplus+"-"+Yplus).length > 0)) {
         $(".monthslideblock.slideitemcontainer").getNextEventMonth(Mplus,Yplus);
      }
      var Mminus = $.prevEventMonth(Mminus);
      var Yminus = $.prevEventYear(Mminus,Yminus);
      if(!($(".monthslideblock.slideitemcontainer #evsl-"+Mminus+"-"+Yminus).length > 0)) {
         $(".monthslideblock.slideitemcontainer").getPrevEventMonth(Mminus,Yminus);
      }
   }
   $.setEventSliderFunction(); //Left- und Rightbutton Funktionen setzen
}

/*
 * CALENDAR
 */
//Global Settings for Calendar
$.calendarLinkTemplate = "/de/cal_single_month.htm"; //Adresse des Scripts
$.calendarLinkTemplateQuery = "sliderpresent=1&month=<@month@>&year=<@year@>"; //Query für das Script
$.calendarBuffer = 3;
$.calendarScrollSpeed = 300; //Time to slide the calendar in milliseconds
$.calendarEventLink = false; //Default no modified Links for EventSlider

//Libary for Calendar
$.fn.elMonth=function(){if($(this).length>0){return parseInt($(this).attr("id").split("-")[0]);} return null;}
$.fn.elYear=function(){if($(this).length>0){return parseInt($(this).attr("id").split("-")[1]);} return null;}
$.currentMonth=function(){return $(".slideitemcontainer.calendar table.activea").elMonth();};$.currentYear=function(){return $(".slideitemcontainer.calendar table.activea").elYear();};$.nextMonth=function(month){var M=month||$.currentMonth();if(M==12){return 1;}else{return M+1;}}
$.prevMonth=function(month){var M=month||$.currentMonth();if(M==1){return 12;}else{return M-1;}}
$.nextYear=function(month,year){var Y=year||$.currentYear();var M=month||$.currentMonth();if(M==12){return Y+1;}else{return Y;}}
$.prevYear=function(month,year){var Y=year||$.currentYear();var M=month||$.currentMonth();if(M==1){return Y-1;}else{return Y;}}
$.fn.getClientMonth=function(){var M=$.clientMonth();var Y=$.clientYear();$(this).empty();return $(this).getCalendar(M,Y,true,false);}
$.fn.getNextMonth=function(month,year){var M=month||$.nextMonth($.nextMonth($(this).elMonth()));var Y=year||$.nextYear($.nextMonth($(this).elMonth()),$.nextYear($(this).elMonth(),$(this).elYear()));return $(this).getCalendar(M,Y,true);}
$.fn.getPrevMonth=function(month,year){var M=month||$.prevMonth($.prevMonth($(this).elMonth()));var Y=year||$.prevYear($.prevMonth($(this).elMonth()),$.prevYear($(this).elMonth(),$(this).elYear()));return $(this).getCalendar(M,Y);}
$.fn.getCalendar=function(month,year,append,async){var a=async||false;var container=$(this);var divdummy = "<table id=\"dummy-"+month+"-"+year+"\" class=\"slideitem calendar\" style=\"width:153px;float:left;height:145px;\"></table>";if(append){if(container.children("#dummycal-r").length > 0) {container.children("#dummycal-r").replaceWith(divdummy);} else {container.append(divdummy);}}else{if(container.children("#dummycal-l").length > 0) {container.children("#dummycal-l").replaceWith(divdummy);} else {container.prepend(divdummy);}}$.ajax({type:"GET",async:false,url:$.calendarLinkTemplate.replace(/<@month@>/,month).replace(/<@year@>/,year),data:$.calendarLinkTemplateQuery.replace(/<@month@>/,month).replace(/<@year@>/,year),success:function(data){if($(data).hasClass(".calendar")) { $("#dummy-"+month+"-"+year).replaceWith(data);$("#"+month+"-"+year).setEventLinksInCalendar(); }}});return container;}
$.fn.calendarLeftSwitch=function(){$.unsetCalendarScrollerFunction();var prev=$("#"+$.prevMonth()+"-"+$.prevYear());prev.parent().children("table.calendar:last").remove();prev.parent().css("left","-306px");prev.parent().getPrevMonth();$("#"+$.currentMonth()+"-"+$.currentYear()).removeClass("activea");prev.addClass("activea");prev.parent().animate({left:"-153px"},$.calendarScrollSpeed,function() { $.setCalendarScrollFunction(); });return false;}
$.fn.calendarRightSwitch=function(){$.unsetCalendarScrollerFunction();var next=$("#"+$.nextMonth()+"-"+$.nextYear());next.parent().getNextMonth();next.parent().animate({left: "-306px"},$.calendarScrollSpeed,function() {$("#"+$.currentMonth()+"-"+$.currentYear()).removeClass("activea");next.addClass("activea");next.parent().children("table.calendar:first").remove();next.parent().css("left","-153px");$.setCalendarScrollFunction();});return false;}
$.setCalendarScrollFunction = function() {$.unsetCalendarScrollerFunction();$(".slideitemcontainer.calendar").parent().parent().children(".eventtablenav").children(".left").click(function() {$('.slideitemcontainer .calendar.activea').calendarLeftSwitch();return false;});$(".slideitemcontainer.calendar").parent().parent().children(".eventtablenav").children(".right").click(function() {$('.slideitemcontainer .calendar.activea').calendarRightSwitch();return false;});}
$.unsetCalendarScrollerFunction = function() {$(".slideitemcontainer.calendar").parent().parent().children(".eventtablenav").children(".left").unbind().click(function(){return false;});$(".slideitemcontainer.calendar").parent().parent().children(".eventtablenav").children(".right").unbind().click(function(){return false;});}
$.fn.setEventLinksInCalendar = function() { $.setCalendarLinkHover(); if($.calendarEventLink) {$(this).children("tbody").children("tr").children("td.we").children("a").click(function(){var c = $(this).parent().parent().parent().parent(); $.loadEventSlider(c.elMonth(),c.elYear());return false;});}return this;} 
$.loadCalendar = function(eventlinks) {
    $.calendarEventLink = eventlinks || false; //Gibt an ob die Links im Calendar für den Eventslider bearbeitet werden oder nicht.
    $.loadClientDate();
    $(".slideitemcontainer.calendar").css({"left":"-153px"}).children("table.calendar").addClass("activea").setEventLinksInCalendar();;
    var Mplus = Mminus = $.currentMonth() || $.clientMonth;var Yplus = Yminus = $.currentYear() || $.clientYear;
    for(var i=1;i<=(($.calendarBuffer-1)/2);i++) {
        var Mplus = $.nextMonth(Mplus);var Yplus = $.nextYear(Mplus,Yplus);
        $(".slideitemcontainer.calendar").getNextMonth(Mplus,Yplus);
        var Mminus = $.prevMonth(Mminus);var Yminus = $.prevYear(Mminus,Yminus);
        $(".slideitemcontainer.calendar").getPrevMonth(Mminus,Yminus);
    }
    $.setCalendarScrollFunction();
}
$.setCalendarLinkHover = function() {
    $(".eventtable .slideitem a").mousemove(function(e){
    focusText = $(this).next(".hiddenhovertext");
    hoverBlock = $('.hiddenHoverBlock');
    hoverBlock.show();
    var x = e.pageX - $(this)[0].offsetLeft - 240;
    var y = e.pageY - $(this)[0].offsetTop;
    hoverBlock.html(focusText.html());
    hoverBlock.css( "left", x );
    hoverBlock.css( "top", y );
    }).mouseleave(function(){
    $('.hiddenHoverBlock').hide();
});}



/*
 * TABNAVIGATION: Open (switch to) tab which contains the formular
 * e.g. Messen__Veranstaltungen_1829_DEU_5236_DEU_PRODUCTIVE.htm
 */
var timercount = 0;
function switchToLastTab() {
 timercount++;
 if ($(".tabnavigation li:first").attr("class") != "active" ) {
   // Warten, bis die Tabs initialisiert sind. Dann hat der erste die Klasse "active"
   // Max. 5x Durchläufe = max. 5 Sekunden
   if( timercount < 5 ) {
     setTimeout("switchToLastTab()", 1000);
   }
 } else {
   tabindex = 2;
   $(".tabnavigation li").attr("class","");
   $(".tabnavigation li:eq("+tabindex+")").attr("class","active");
   // alert($(".tabnavigation li:eq("+tabindex+")").attr("class"));
   $(".tab").hide();
   $(".tab:eq("+tabindex+")").show();
   return false;
 }
}
