/**
*   Funktionen für die Navigation im Backoffice, bei der Bearbeitung von Unterkunftsdaten.
*
*   @author Stefan Keuning <sk@i42.de>
*   @since 2005-06-08
*/


// speichert die IDs geöffneter Layer (DIVs)
var form_layer_open = new Array();

// Bullet Bilder definieren und preloaden
var form_layer_bullet_close = new Image();
form_layer_bullet_close.src = "img/pfeil-rechts.gif";
var form_layer_bullet_open = new Image();
form_layer_bullet_open.src = "img/pfeil-unten.gif";

/**
*   Schliesst die derzeit geöffneten Layer und öffnet die Layer mit den IDs aus flap.
*   Sind die Layer verschachtelt, so werden untergeordnete Layer nur angezeigt, wenn auch der Parent Layer sichtbar ist.
*
*   @param array flap   indiziertes Array mit den IDs zu öffnender Layer
*/
function form_flap(flap) {


    //alert('bin drin');

//TODOSK - schießt mit FCKEditor quer ??!!!

    var open_block;
    var m;
    var i;




    open_block = true;
   // form_layer_open_count = form_layer_open.length;
   
   //doppelte einträge löschen
    m = false;
    for (k=0;k<form_layer_open.length;k++) {
    
        if (m){
            if (form_layer_open[k]=='detail') {
                form_layer_open.splice(k, 1);
            } // 
        } // 
        
        if (form_layer_open[k]=='detail'){
            m = true;
        } // 
   
        
    }


    for (i=0;i<flap.length;i++) {
    
        for (k=0;k<form_layer_open.length;k++) {
        
            if (flap[i]==form_layer_open[k]){
            
            
                if (flap[i]=='detail') {
            
                    //detail-layer offen lassen
                    
                    //alert ('test'); 
                    
                   
                    
                    
                    
                    //alert(form_layer_open.length);
                    
                    if (form_layer_open.length<=1) {
                    
                       
                        
                        // Layer ausblenden
                        document.getElementById(form_layer_open[k]).style.display = "none";
                        // Bullet tauschen
                        if (document.getElementById(form_layer_open[k] + '_bullet')) {
                            document.getElementById(form_layer_open[k] + '_bullet').src = form_layer_bullet_close.src;
                        } 
                        if (document.getElementById('a_'+flap[i])) {
                                document.getElementById('a_'+flap[i]).style.fontWeight = "normal";
                        }
                        //alert(flap[i]);

                        //form_layer_open[k] = "";
                        form_layer_open.splice(k, 1);
                        //open_block = false;
                    
                    
                    } // 
            
                } else {
                
                    // Layer ausblenden
                    document.getElementById(form_layer_open[k]).style.display = "none";
                    // Bullet tauschen
                    if (document.getElementById(form_layer_open[k] + '_bullet')) {
                        document.getElementById(form_layer_open[k] + '_bullet').src = form_layer_bullet_close.src;
                    } 
                    if (document.getElementById('a_'+flap[i])) {
                            document.getElementById('a_'+flap[i]).style.fontWeight = "normal";
                    }
                    //alert(flap[i]);

                    //form_layer_open[k] = "";
                    form_layer_open.splice(k, 1);
                    open_block = false;
                }

           
            
            }
        
        }
    
      }   // of for i











    //form_layer_open = Array();
    // gewünschte Layer öffnen
    if (open_block) {
        for (i=0;i<flap.length;i++) {
        
        
            //alert(flap[i]);
        
            document.getElementById(flap[i]).style.display = "block";
            form_layer_open[form_layer_open.length] = flap[i];
            // Bullet tauschen
            if (document.getElementById(flap[i] + '_bullet')) {
                document.getElementById(flap[i] + '_bullet').src = form_layer_bullet_open.src;
            }
            
            //Link bold darstellen
            if (document.getElementById('a_'+flap[i])) {
            document.getElementById('a_'+flap[i]).style.fontWeight = "bold";
            }
            
        }   // of for i
    }
}   // of function


/**
*   Schliesst die derzeit geöffneten Layer .
*  
*
*   @param 
*/
function form_flap_close() {

    // derzeit geöffnete Layer schliessen
    for (i=0;i<form_layer_open.length;i++) {
        // Layer ausblenden
        document.getElementById(form_layer_open[i]).style.display = "none";
        // Bullet tauschen
        if (document.getElementById(form_layer_open[i] + '_bullet')) {
            document.getElementById(form_layer_open[i] + '_bullet').src = form_layer_bullet_close.src;
        }
        //Link bold rausnehmen
    if (document.getElementById('a_'+form_layer_open[i])) {
        document.getElementById('a_'+form_layer_open[i]).style.fontWeight = "normal";
        }
    }   // of for i
    // keine Layer mehr geöffnet

 form_layer_open = Array();   
 
 
}   // of function




/**
*   Erstellt einen CSV-String aus den geöffneten Flaps des Formulars und speichert diese in dem angegebenen Formularfeld.
*
*   @param string form_field    Name des Formularfeldes
*/
function form_flap_url_implode(form_field) {
    var form_value = form_layer_open.join(',');
    document.edit.elements[form_field].value = form_value;
    
    //alert(document.edit.elements[form_field].value);
    
    //Value in die Quickbar schreiben
    document.quickbar.form_flap_value_quickbar.value = form_value;
    
    //alert (document.quickbar.form_flap_value_quickbar.value );
    
    //alert ('implode...');
}   // of function

/**
*   Liefert ein JS Array aus den CSV-Daten von source.
*
*   @param string source    CSV-Daten der zuletzt geöffneten Formularbereiche
*/
function form_flap_url_explode(source) {
    var data = Array();
    
    //alert('source:'+source);
    
    if (source) {
        data = source.split(',');
    }
    //alert(data);
    
    return data;
}   // of function


