/** $Id: jqaction_dev.js 35 2010-04-01 10:58:25Z itb $
 *
 */
/** Menü linke Seite 
 *
 *
 */
$(document).ready(function(){
    var $tempo = 500; // Für Slide Effect
    /* Formatierung oben mitte untern */
    $('div.jsmenue div.m1').first().addClass('oben');
    $('div.jsmenue div.m1').last().addClass('unten');
    
    /* Untermenue Schatten oben untern */
    $('div.jsmenue div.m2 div:first-child').before('<div class="schatten_oben">&nbsp;</div>');
    $('div.jsmenue div.m2 div:last-child').after('<div class="schatten_unten">&nbsp;</div>');
    
    // Raussuchen ob ein Kind die Klasse cur hat und dieses Menü offen kennzeichnen
    // Anmerkung jQuery :: mit each wird nur der aktuell - gefundene bearbeitet
    $('div.jsmenue div.m2').each(function(){
        if ($(this).children().children().hasClass('cur')) {
            $(this).addClass('offen');
            $(this).removeClass('geschlossen');
        }
    });
    
    /* übergeordnetes menü kennzeichnen - Ausgangsposition*/
    var offen = $('div.jsmenue div.m1').each(function(){
        if ($(this).next().hasClass('offen')) {
            $(this).addClass('hatoffene');
        }
    });
    
    /* Alle Untermenüs zumachen bzw. aufmachen - Ausgangsposition */
    $('div.jsmenue div.m2.geschlossen').slideUp($tempo);
    $('div.jsmenue div.m2.offen').slideDown($tempo);
    
    
    /* Klickfunktion */
    $('div.jsmenue div.sub.m1').click(function(){
        $untermenue = $(this).next();
        //$untermenue.slideToggle();
        //$untermenue.toggleClass('geschlossen');
        
        if ($untermenue.hasClass('geschlossen')) {
            $('div.jsmenue div.m2').removeClass('offen');
            $('div.jsmenue div.m2').addClass('geschlossen');
            $untermenue.removeClass('geschlossen');
            $untermenue.addClass('offen');
        }
        else 
            if ($untermenue.hasClass('offen')) {
                $('div.jsmenue div.m2').removeClass('offen');
                $('div.jsmenue div.m2').addClass('geschlossen');
                $untermenue.removeClass('offen');
                $untermenue.addClass('geschlossen');
            }
        /* je nach zustand auf bzw. zumachen - Untermenü schliessen */
        $('div.jsmenue div.m2.offen').slideDown($tempo);
        $('div.jsmenue div.m2.geschlossen').slideUp($tempo);
        
        /* übergeordnetes menü kennzeichnen - Änderung */
        $('div.jsmenue div.m1').removeClass('hatoffene');
        var offen = $('div.jsmenue div.m1').each(function(){
            if ($(this).next().hasClass('offen')) {
                $(this).addClass('hatoffene');
            }
        }); // Ende übergerodnetes Element ändern :: Pfeil rauf runter
    }); // ENDE Klick
}); // ENDE Menü linke Seite
/* ************************************************************************************************** */

/** Ziehharmonika Menü (klappmenue) für die rechte Seite
 *
 * Für die Funktion darf nur ein Contentelement vom Typ Text mit Bild verwendet werden.
 *
 * - Kennzeichnen des aktiven Kontainiers
 * - auf- und zuklappen
 *
 * Anmerkung für meine Wiki
 * Unterschied slideUp() -- hide() bzw. slideDown() -- show()
 *  bei slideXX() wird der Bereich nur in der Horizontalen Achse geschlossen bzw. aufgemacht
 *  bei hide() wird der Bereich in der Horizontalen und auch in der Vertikalen Achse geschlossen bzw. aufgemacht
 *
 */
$(document).ready(function(){

    // Geschwindigkeit des slide in millisekunden :: kann aber auch "fast", "normal", "slow" sein
    $tempo = 500;
    
    // Grundeinstellung 
    // :1: alles zuklappen
    $('div.klappmenue .csc-header').next().hide();
    
    /* ausgeschaltet
    // :2: Ersten Container wieder aufklappen  
    $('div.klappmenue .csc-header:first').next().show();
    // :3: und Klasse cur für aktiv anhängen
    $('div.klappmenue .csc-header:first').addClass('cur');
    */
    
    
    // wenn auf eine Überschrift geklickt wird
    $('div.klappmenue .csc-header').click(function(){
    
        /* Menü zumaschen wenn es offen ist */
        if ($(this).hasClass('cur')) {
            $(this).removeClass('cur');
            $(this).next().slideUp($tempo);
        }
        else { /* Alle Menüs zumachen :: geklicktes aufmachen */
            // Nächsten HTML TAG raussuchen :: eine Zeile tiefer gehen
            var $klick_next = $(this).next();
            
            // alles wieder Schließen 
            $('div.klappmenue .csc-header').next().slideUp($tempo);
            // und Klasse cur bei alle entfernen :: Ausgangsposition -> oben
            $('div.klappmenue .csc-header').removeClass('cur');
            
            // Den angeklickten Bereich wieder öffnen
            $klick_next.slideDown($tempo);
            // und dem Kopf die Klasse cur für aktiv anhängen
            $(this).addClass('cur');
        }
    }); // ENDE Klick
});





/** Überschrift unterteilen
 *
 * Variable:
 * $z -> Zähler Anzahl der TAG's
 * $d -> Durchlauf Zähler :: Abarbeitung der einzelnen Überschriften
 */
$(document).ready(function(){

    // Anzahl der H1 Tags bestimmen
    $z = $('div.klappmenue .csc-header > h1');
    // alert($z.length); // Zeigt die Anzahl der gefundenen TAG's
    
    // Durchlaufen der einzelnen TAG's :: Anzahl der Überschriften
    for ($d = 0; $d < $z.length; ++$d) {
        // Inhalt raussuchen
        $text = $("div.klappmenue .csc-header > h1");
        // beim doppelten Doppelpunkt splitten
        $z_array = $text.eq($d).text().split('::');
        // wenn keine zweite Überschrift eingegeben wurde eine Leerstelle einbauen :: ansonst kommt undefined zurück
        if (!$z_array[1]) {
            $z_array[1] = "&nbsp;";
        }
        // Neue Text zusammenbauen
        $neuer_inhalt = "<span class='blau'>" + $z_array[0] + "<br />" + "</span><span class='rest'>" + $z_array[1] + "</span>";
        // Neuen Text an die alte Stelle zurückschreiben
        $text.eq($d).html($neuer_inhalt);
        //alert($neuer_inhalt); // Ausgabe des neuen Textes
    }
    
});



/** Klappmenü - rechts - Textbereich 
 *
 * :1: ersten und letzten DIV TAG kennzeichnen, da das Hintergrundbild unterschiedlich ist
 * :2: DIV TAG für Schatten und Abschluss einbauen
 *
 */
$(document).ready(function(){

    // :1: 
    // Ersten und letzten DIV TAG kennzeichnen
    $('div.klappmenue .csc-header:first').addClass('erster');
    $('div.klappmenue .csc-header:last').addClass('letzter');
    
    // :2: 
    // DIV der Überschriften finden
    $grund = $('div.klappmenue .csc-header');
    
    //Nachfolger raussuchen
    $nachfolger = $grund.next();
    
    /* Sonderfall RTE Content
     * 	Wird im Contentbereich nur RTE Verwendet hat der erste DIV Container
     *  die Klasse .csc-textpic-text diese beißt sich aber mit den Abständen
     *  in der CSS Definition -- Standard ist csc-textpic dieses wird
     *  in der nachfolgenden Bedingung geändert
     */
    if ($nachfolger.hasClass('csc-textpic-text')) {
        $nachfolger.removeClass('csc-textpic-text');
        $nachfolger.addClass('csc-textpic');
    }
    
    // Anzahl der zu bearbeitenden TAGS merken
    $z = $nachfolger.length;
    //alert($z);
    
    // einzelne DIV's durchlaufen und Text umschreiben
    for ($d = 0; $d < $z; $d++) {
        // ganzen HTML Text merken
        $text_alt = $nachfolger.eq($d).html();
        
        // DIV Abstände oben-unten einbauen
        $text_neu = '<div class="abstand_oben">&nbsp;</div>' + $text_alt + '<div class="abstand_unten">&nbsp;</div>';
        
        // und neu schreiben
        $nachfolger.eq($d).html($text_neu);
    }
    
});


/**
 * Extramenü (Menü rechte Seite)
 *
 * Raussuchen des ersten und letzten Eintrags.
 * Das Raussuchen könnte auch mittels CSS erfolgen aber IE
 * kann das CSS Attribut last-child nicht umsetzen.
 *
 * Einträge werden mit eigenen Klassen gekennzeichnet
 * oben - mitte - unten
 *
 */
$(document).ready(function(){
    $('#extramenue li').addClass('mitte');
    $('#extramenue li:first').addClass('oben');
    $('#extramenue li:last').addClass('unten');
});


/** bookmarking
 *
 * Übergeben wird der Titel mit der der Favorit angelegt werden soll
 *
 * selbst geschrieben
 *
 */
function lesezeichen($lesezeichen_title){
    // aktuelle URL auslesen
    var $lesezeichen_url = String(window.location);
    // firefox
    if (window.sidebar) {
        window.sidebar.addPanel($lesezeichen_title, $lesezeichen_url, '');
    }
    // opera
    else 
        if (window.opera && window.print) {
        
            var elem = document.createElement('a');
            elem.setAttribute('href', $lesezeichen_url);
            elem.setAttribute('title', $lesezeichen_title);
            elem.setAttribute('rel', 'sidebar');
            elem.click();
        }
        // Microsoft Internet Explorer 
        else 
            if (document.all) {
            
                window.external.AddFavorite($lesezeichen_url, $lesezeichen_title);
            }
}






