/**
*   Funktionen für die Navigation im Backoffice, bei der Bearbeitung von Unterkunftsdaten.
*
*   @author Stefan Keuning <sk@i42.de>
*   @since 2005-06-08
*   @see _main_edit.php
*/


// 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) {

//TODOSK - schießt mit FCKEditor quer ??!!!

    var open_block;
    var i;

//TODOSK - funzt so nicht
open_block = true;
/***
    // prüfen, ob Layer nur geschlossen werden sollen
    open_block = false;
    for (i=0;i<flap.length;i++) {
        if (flap[i] != form_layer_open[i]) {
            open_block = true;
        }
    }   // of for i
***/


    // 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;
        }
    }   // of for i
    // keine Layer mehr geöffnet
    form_layer_open = Array();
    // gewünschte Layer öffnen
    if (open_block) {
        for (i=0;i<flap.length;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;
            }
        }   // of for i
    }
	
}   // 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.main_edit.elements[form_field].value = form_value;
}   // 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();
    if (source) {
        data = source.split(',');
    }
    return data;
}   // of function

