// Allgemein

document.cookie = "JSon=1";

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function einblenden(div) {
  with(document.getElementById(div).style){
    if(display=="none"){
      display="inline";
    }
   }
}
function ausblenden(div) {
  with(document.getElementById(div).style){
    if(display=="inline"){
      display="none";
    }
  }
}
function einaus_(div) {
  with(document.getElementById(div).style){
    if(display=="none"){
      display="inline";
    }
    else{
      display="none";
    }
  }
}

function einaus(div) {
 $(document.getElementById(div)).slideToggle("slow");
}

function cssaus() {
for(i=0;i<document.styleSheets.length;i++) { void(document.styleSheets.item(i).disabled=true); 
}
}

function cssein() {
for(i=0;i<document.styleSheets.length;i++) { void(document.styleSheets.item(i).disabled=false); 
}
}






var topsearchDefaultText = "Suche ...";


//
// TopSearch
//
function clearTopsearchInputIfDefault()
{
    var tps = document.getElementById("topsearchText");
    if(tps.value == topsearchDefaultText)
        tps.value = "";
}

function initTopsearchInput()
{
    var tps = document.getElementById("topsearchText");
    if(tps.value == "")
        tps.value = topsearchDefaultText;
}


//
// Login
//
function clearInputfieldIfDefault(inputfield, defaultText, isPW)
{
    if(inputfield.value == defaultText)
    {
        if(isPW)
            inputfield.type = "password";
        inputfield.value = "";
    }
}

function initInputfieldWithDefault(inputfield, defaultText, isPW)
{
    if(inputfield.value == "")
    {
        if(isPW)
            inputfield.type = "text";
        inputfield.value = defaultText;
    }
}



/* ****************************************************************************************************************
 * ****************************************************************************************************************
 *
 *                          J Q U E R Y  -  S T U F F
 *
 * ****************************************************************************************************************
 * ****************************************************************************************************************
 */
jQuery(document).ready(function() {

    var isIE = jQuery.browser.msie == true;
    var browserVersion = jQuery.browser.version;
    var isIE6 = isIE && browserVersion=="6.0";

    /* ************************************************************************************************************
     *  T O P  -  N A V I G A T I O N
     * ************************************************************************************************************/
    // Haupt-Items DropDown-Menu anzeigen
    jQuery("#topnav li.topnavTab").mouseenter(function() {
        this.className = "topnavTabHover";
        jQuery("div.topnavTabDD:first", this).show();

        // ACHTUNG:
        // nur IE6: Alle Selectboxen ausblenden, wenn TopNavigation aufgeklappt wird
        //          IE6 rendert Selectboxen immer zuoberst, unabhaengig vom z-Index, so dass
        //          die TopNavigations-DropDown-Boxen ggf. von Selectboxen �berlagert w�rden.
        //          => ausblenden  
        if(isIE6)
        {
            jQuery("select").hide();
        }
    });

    // Haupt-Items DropDown-Menu ausblenden
    jQuery("#topnav li.topnavTab").mouseleave(function() {
      this.className = "topnavTab";
      jQuery("div.topnavTabDD:first", this).hide();

        // ACHTUNG:
        // nur IE6: Selectboxen wieder einblenden
        if(isIE6);
        {
            jQuery("select").show();
        }
    });


    jQuery("#topnav div.sublevel").prev().attr("class","topnav_tabitem_submenu");

    //FlyOut-Pfad markieren
    jQuery("#topnav div.sublevel").mouseenter(function() {
        jQuery(this).prev("a").attr("class","topnav_tabitem_submenu_mo");
    });

    //FlyOut-Pfad entfernen
    jQuery("#topnav div.sublevel").mouseleave(function() {
        jQuery(this).prev("a").attr("class","topnav_tabitem_submenu");
    });

   // FlyOut-Menu anzeigen
    jQuery("#topnav div.sublevel").parent().mouseenter(function() {
        var $this = this;
        jQuery("div.sublevel:first", this).show();

        // Seite fuer FlyOut-Menu ermitteln
        var viewportWidth = jQuery(window).width();
        var viewportHeight = jQuery(window).height();
        var documentScrollTop = jQuery(document).scrollTop();
        var documentScrollLeft = jQuery(document).scrollLeft();

        var $currentMenu = jQuery(this);
        var $submenu = jQuery("div.sublevel:first", this);

        var elementOffset = $currentMenu.offset();
        var elementHeight = $currentMenu.height();
        var elementWidth = $currentMenu.width();

        var minTop = documentScrollTop;
        var maxTop = documentScrollTop + viewportHeight;
        var minLeft = documentScrollLeft;
        var maxLeft = documentScrollLeft + viewportWidth;

        if(
            (elementOffset.top > minTop && elementOffset.top + elementHeight < maxTop) &&
            (elementOffset.left + 290 > minLeft && elementOffset.left + elementWidth + 290< maxLeft)
        ) {

            $submenu.css("left","291px");
        }
        else
        {
            $submenu.css("left","-291px");
        }


    });

    //FlyOut-Menu ausblenden
    jQuery("#topnav div.sublevel").parent().mouseleave(function() {
        jQuery("div.sublevel:first", this).hide();
    });
	
	
	    /* ************************************************************************************************************
     *  F S K  S U C H E  -  T A B S
     * ************************************************************************************************************/

    //TabHeaderLinks #1
    jQuery(".cnt_tabs_freigaben h1.first").click(function() {
        var headerDiv = jQuery(this).parent();
        var tc1 = jQuery("div.tab_content:eq(0)",jQuery(this).parent().parent());
        var tc2 = jQuery("div.tab_content:eq(1)",jQuery(this).parent().parent());
		var tc3 = jQuery("div.tab_content:eq(2)",jQuery(this).parent().parent());
        tc1.show();
        tc2.hide();
		tc3.hide();
        headerDiv.attr("class","header_first");
    });

    //TabHeaderLinks #2
    jQuery(".cnt_tabs_freigaben h1.second").click(function() {
        var headerDiv = jQuery(this).parent();
        var tc1 = jQuery("div.tab_content:eq(0)",jQuery(this).parent().parent());
        var tc2 = jQuery("div.tab_content:eq(1)",jQuery(this).parent().parent());
		var tc3 = jQuery("div.tab_content:eq(2)",jQuery(this).parent().parent());
        tc1.hide();
        tc2.show();
		tc3.hide();
        headerDiv.attr("class","header_second");
    });

    //TabHeaderLinks #3
    jQuery(".cnt_tabs_freigaben h1.third").click(function() {
        var headerDiv = jQuery(this).parent();
        var tc1 = jQuery("div.tab_content:eq(0)",jQuery(this).parent().parent());
        var tc2 = jQuery("div.tab_content:eq(1)",jQuery(this).parent().parent());
		var tc3 = jQuery("div.tab_content:eq(2)",jQuery(this).parent().parent());
        tc1.hide();
        tc2.hide();
		tc3.show();
        headerDiv.attr("class","header_third");
    });
	
	
	    //TabHeaderLinks2Felder #1
    jQuery(".cnt_tabs_freigaben h1.first2Felder").click(function() {
        var headerDiv = jQuery(this).parent();
        var tc1 = jQuery("div.tab_content:eq(0)",jQuery(this).parent().parent());
        var tc2 = jQuery("div.tab_content:eq(1)",jQuery(this).parent().parent());
		var tc3 = jQuery("div.tab_content:eq(2)",jQuery(this).parent().parent());
        tc1.show();
        tc2.hide();
		tc3.hide();
        headerDiv.attr("class","header_first2Felder");
    });

    //TabHeaderLinks2Felder #2
    jQuery(".cnt_tabs_freigaben h1.second2Felder").click(function() {
        var headerDiv = jQuery(this).parent();
        var tc1 = jQuery("div.tab_content:eq(0)",jQuery(this).parent().parent());
        var tc2 = jQuery("div.tab_content:eq(1)",jQuery(this).parent().parent());
		var tc3 = jQuery("div.tab_content:eq(2)",jQuery(this).parent().parent());
        tc1.hide();
        tc2.show();
		tc3.hide();
        headerDiv.attr("class","header_second2Felder");
    });







    /* ************************************************************************************************************
     *  C O N T E N T  -  T A B S
     * ************************************************************************************************************/

    //TabHeaderLinks #1
    jQuery(".cnt_tabs h1.first").click(function() {
        var headerDiv = jQuery(this).parent();
        var tc1 = jQuery("div.tab_content:eq(0)",jQuery(this).parent().parent());
        var tc2 = jQuery("div.tab_content:eq(1)",jQuery(this).parent().parent());
        tc1.show();
        tc2.hide();
        headerDiv.attr("class","header_left");
    });

    //TabHeaderLinks #2
    jQuery(".cnt_tabs h1.second").click(function() {
        var headerDiv = jQuery(this).parent();
        var tc1 = jQuery("div.tab_content:eq(0)",jQuery(this).parent().parent());
        var tc2 = jQuery("div.tab_content:eq(1)",jQuery(this).parent().parent());
        tc1.hide();
        tc2.show();
        headerDiv.attr("class","header_right");
    });

    //TabContentTopLinks #1
    jQuery("a:eq(0)", jQuery(".cnt_tabs .tab_content .header_links")).click(function() {
        var contentLink1 = jQuery(this);
        var contentLink2 = jQuery(this).nextAll("a");
        var tcItems1 = jQuery("div.items:eq(0)", jQuery(this).parent().parent());
        var tcItems2 = jQuery("div.items:eq(1)", jQuery(this).parent().parent());
        tcItems1.show();
        tcItems2.hide();
        contentLink1.attr("class","selected");
        contentLink2.attr("class","normal");

    });

    //TabContentTopLinks #2
    jQuery("a:eq(1)", jQuery(".cnt_tabs .tab_content .header_links")).click(function() {
        var contentLink1 = jQuery(this).prevAll("a");
        var contentLink2 = jQuery(this);
        var tcItems1 = jQuery("div.items:eq(0)", jQuery(this).parent().parent());
        var tcItems2 = jQuery("div.items:eq(1)", jQuery(this).parent().parent());
        tcItems1.hide();
        tcItems2.show();
        contentLink1.attr("class","normal");
        contentLink2.attr("class","selected");
    });









    /* ************************************************************************************************************
     *  L E F T  -  N A V I G A T I O N
     * ************************************************************************************************************/

    // geschlossene Untermenus mit entsprechendem Icon versehen
    jQuery("#leftnav ul.root a").nextAll("ul:hidden").each(function() {
        jQuery(this).prevAll("a").before("<div class='menu_closed'>&#160;</div>");
    });

    // geoeffnete Untermenus mit entsprechendem Icon versehen
    jQuery("#leftnav ul.root a").nextAll("ul:visible").each(function() {
        jQuery(this).prevAll("a").before("<div class='menu_open'>&#160;</div>");
    });

    // bei Klick auf Icon Untermenue aus/einblenden
    jQuery("#leftnav ul li div").click(function() {
        var animSpeed = null;

        var $this = this;
        var $submenu = jQuery(this).nextAll("ul");
        var isVisible = jQuery($submenu).is(":hidden");
        var isFirstLayer = jQuery(this).parentsUntil("ul.root").length==1;
        var lastMainMenuItem = jQuery("#leftnav ul.root > li:last");
        var thisLI = jQuery(this).parent("li");
        var isLastMainMenuItem = lastMainMenuItem[0] == thisLI[0];

        // ein/ausblenden
        if(isVisible)
        {
            jQuery($this).attr("class","menu_open");
            if(isFirstLayer)
            {
                //Trennzeichen auf erster Menu-Ebene
                //Unteres Trennzeichen nur, wenn nicht in letzter Hauptmenu-Ebene
                jQuery($submenu).prepend("<li class='leftnav_sub_delim'>&#160;</li>");
                if(!isLastMainMenuItem)
                {
                    jQuery($submenu).append("<li class='leftnav_sub_delim'>&#160;</li>");
                }
            }
            jQuery($submenu).show(animSpeed);
        }
        else
        {
            jQuery($this).attr("class","menu_closed");
            jQuery("li.leftnav_sub_delim",$submenu).remove();
            jQuery($submenu).hide(animSpeed);
        }


        // Styleklassen neu setzen, da durch Auf- bzw. Zuklappen von Untermenus des letzten Hauptmenupunktes die
        // Klasse fuer die Auszeichnung des letzten sichtbaren Elementes neu bestimmt werden muss...
//        var $allListItems = jQuery("#leftnav ul.root li:visible");
        var $allListItems = jQuery("#leftnav ul.root li:visible").not(".leftnav_sub_delim");
        var $firstItem = $allListItems[0];
        var $lastItem = $allListItems[$allListItems.length-1];

//        console.log("lastItem: ");
//        console.log($lastItem);

        //alle Menu-Eintraege mit ihren typischen Styleklassen initialisieren
        jQuery($allListItems).attr("class","item");
		jQuery($firstItem).attr("class","item_first");
        jQuery($lastItem).attr("class","item_last");

        //alle Menu-Eintraege unterhalb der ersten Ebene mit anderer Styleklasse versehen
        jQuery("li.item:visible",jQuery($submenu).parents("ul.root li")).not(".leftnav_sub_delim").attr("class","item_sub");
        jQuery("li.item_last:visible",jQuery($submenu).parents("ul.root li")).not(".leftnav_sub_delim").attr("class","item_last_sub");


        //alle Trennzeichen in anderen offenen Menues auf gleicher Ebene entfernen
        jQuery("ul:visible li.leftnav_sub_delim",jQuery(this).parent().siblings()).remove();

        //alle anderen offenen Menues auf gleicher Ebene schliessen
        var $sibls = jQuery(this).parent().siblings()
        jQuery("div.menu_open", $sibls).attr("class","menu_closed");
        jQuery("ul:visible",$sibls).each(function() {
            var parentLI = jQuery(this).parent("li");
            if(parentLI[0]==lastMainMenuItem[0])
            {
                jQuery("#leftnav ul.root > li:last").attr("class","item_last");
            }
            jQuery(this).hide(animSpeed);
        });

        jQuery("#leftnav ul.root li:visible").last().attr("class","item_last");

    });






    /* ************************************************************************************************************
     *  S E A R C H - R E S U L T S
     * ************************************************************************************************************/
    jQuery(".searchresults .items .title").click(function() {
        var $itemNode = jQuery(this).parent("div");
        var itemClass = $itemNode.attr("class");
        if(itemClass=="item_small")
        {
            //Item-Styleklasse aendern in "Big"
            $itemNode.attr("class","item_big");
            //Statuspfeil aendern
            jQuery(".title .details_closed",$itemNode).attr("class","details_open");
            //DownloadIcons anzeigen
            //jQuery("div.downloads",$itemNode).show();
        }
        else
        {
            //Item-Styleklasse aendern in "Small"
            $itemNode.attr("class","item_small");
            //Statuspfeil aendern
            jQuery(".title .details_open",$itemNode).attr("class","details_closed");
            //DownloadIcons verstecken
            //jQuery("div.downloads",$itemNode).hide();
        }
    });




    /* ************************************************************************************************************
     *  S E A R C H F O R M  -  B U T T O N
     * ************************************************************************************************************/
    jQuery(".btn_wrapper input[type='submit']").mouseenter(function() {
        jQuery(this).attr("class","form_btn_submit_hover");
//        jQuery("form label")
    });

    jQuery(".btn_wrapper input[type='submit']").mouseleave(function() {
        jQuery(this).attr("class","form_btn_submit");
    });

    jQuery("form.cnt_form a.form_btn_submit").click(function() {
        var parentForm = jQuery(this).parents("form.cnt_form");
        jQuery(parentForm).submit();
    });

    jQuery("form.cnt_form a.form_btn_reset").click(function() {
        var parentForm = jQuery(this).parents("form.cnt_form");
        jQuery(parentForm)[0].reset();
    });


    /* ************************************************************************************************************
     *  C O N T E N T  -  S E C T I O N S
     * ************************************************************************************************************/
    jQuery(".sections .subsection .togglebar").click(function() {
        jQuery(this).next("div.items").toggle();
    });

    jQuery(".sections .section .togglebar,.sections .section_first .togglebar,").click(function() {
        jQuery(this).nextAll("div.subsection").toggle();
    });

});
