/********************************************************************************************/
/*                                                                                          */
/*                            JavaScript-Library fuer [Temporyx.DE]                         */
/*                                                                                          */
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 12:51                                                    */
/* Last Update      : 30.11.2010 - 11:11                                                    */
/* Version          : 31                                                                    */
/********************************************************************************************/
/* Inhalt: Diese Library sammelt zentral alle JavaScript's fuer den Servicebereich.         */
/********************************************************************************************/
/* Verändern Sie auf keinen Fall eigenmächtig Informationen ! Andernfalls uebernimmt die    */
/* Temporyx keinerlei Gewaehr fuer die ordnungsgemaesse Funktionsweise der Webseite.        */
/* In solchen Faellen muessen wir die fuer die Instandsetzung enstehenden Aufwendungen in   */
/* Rechnung stellen !                                                                       */
/********************************************************************************************/










/*********************************************************************************************
Globale Variablen
*********************************************************************************************/
var sekunden_seit_aufruf_vom_service_bereich                  = 0;
var zeitschleife_sicherheit;
var zuletzt_markierte_zeile_in_auswahl_liste                  = "";
var zuletzt_markierte_zeile_in_id_liste                       = "";
var hintergrundfarbe_zuletzt_markierte_zeile_in_auswahl_liste = "";
var hintergrundfarbe_zuletzt_markierte_zeile_in_id_liste      = "";
var schriftfarbe_zuletzt_markierte_zeile_in_auswahl_liste     = "";
var schriftfarbe_zuletzt_markierte_zeile_in_id_liste          = "";
var listen_status                                             = "";
var content_form_backsteps                                    = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_user_id                                      = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_von_kunde                                    = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_fuer_kunde                                   = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_modul_id                                     = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_action                                       = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_id                                           = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_satznummer                                   = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_status                                       = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_lesen                                        = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_speichern                                    = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_aendern                                      = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_loeschen                                     = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_leeren                                       = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var content_form_ordnen                                       = ""; //Hier wird global festgehalten, was das Formular gerade anzeigt: für die Fälle, dass eine JavaScript-Funktion das mal braucht und die Info nicht per Übergabeparameter angefordert werden kann
var ueber_welches_fragezeichen_liegt_die_maus                 = "";
var visible_infotable                                         = "";
var anzahl_aufgeklappter_module                               = 0;










function do_it_dbads (what, parameter)
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 12:51                                                    */
/* Last Update      : 29.05.2010 - 19:51                                                    */
/* Version          : 10                                                                    */
/********************************************************************************************/
/* Funktionsübersicht in diesem Modul                                                       */
/********************************************************************************************/
{
 parameter_array = parameter.split("&");


 switch (what)
  {
   case "change_country_code":                                  dbads_XXX_change_country_code                             (parameter_array); break;
   case "check_admin_zugang":                            return dbads_XXX_check_admin_zugang                              (parameter_array); break;
   case "check_colorfield":                              return dbads_XXX_check_colorfield                                (parameter_array); break;
   case "check_fields_if_empty_allowed":                 return dbads_XXX_check_fields_if_empty_allowed                   (parameter_array); break;
   case "check_filefield":                               return dbads_XXX_check_filefield                                 (parameter_array); break;
   case "check_form_no_access":                          return dbads_XXX_check_form_no_access                            (parameter_array); break;
   case "check_form_to_enter_dbads":                     return dbads_XXX_check_form_to_enter_dbads                       (parameter_array); break;
   case "check_datefield":                               return dbads_XXX_check_datefield                                 (parameter_array); break;
   case "check_database_new_db_in_checklist":                   dbads_XXX_check_database_new_db_in_checklist              (parameter_array); break;
   case "check_picturefield":                            return dbads_XXX_check_picturefield                              (parameter_array); break;
   case "check_record_input_field":                             dbads_XXX_check_record_input_field                        (parameter_array); break;
   case "check_selectfield":                             return dbads_XXX_check_selectfield                               (parameter_array); break;
   case "check_textfield":                               return dbads_XXX_check_textfield                                 (parameter_array); break;
   case "check_textfield_for_content":                   return dbads_XXX_check_textfield_for_content                     (parameter_array); break;
   case "close_infotable":                                      dbads_XXX_close_infotable                                 (parameter_array); break;
   case "close_window":                                         dbads_XXX_close_window                                    (parameter_array); break;
   case "close_table_in_index":                                 dbads_XXX_close_table_in_index                            (parameter_array); break;
   case "collapse_or_expand_all_header":                        dbads_XXX_collapse_or_expand_all_header                   (parameter_array); break;
   case "collapse_or_expand_header":                            dbads_XXX_collapse_or_expand_header                       (parameter_array); break;
   case "content_of_checklistfield_has_changed":                dbads_XXX_content_of_checklistfield_has_changed           (parameter_array); break;
   case "content_of_colorfield_links_has_changed":              dbads_XXX_content_of_colorfield_links_has_changed         (parameter_array); break;
   case "content_of_colorfield_rechts_has_changed":             dbads_XXX_content_of_colorfield_rechts_has_changed        (parameter_array); break;
   case "content_of_currencyfield_has_changed":                 dbads_XXX_content_of_currencyfield_has_changed            (parameter_array); break;
   case "content_of_datefield_has_changed":                     dbads_XXX_content_of_datefield_has_changed                (parameter_array); break;
   case "content_of_filefield_has_changed":                     dbads_XXX_content_of_filefield_has_changed                (parameter_array); break;
   case "content_of_fileinfos_textfield_has_changed":           dbads_XXX_content_of_fileinfos_textfield_has_changed      (parameter_array); break;
   case "content_of_logikfield_has_changed":                    dbads_XXX_content_of_logikfield_has_changed               (parameter_array); break;
   case "content_of_phonefield_has_changed":                    dbads_XXX_content_of_phonefield_has_changed               (parameter_array); break;
   case "content_of_picturefield_has_changed":                  dbads_XXX_content_of_picturefield_has_changed             (parameter_array); break;
   case "content_of_pictureinfos_selectfield_has_changed":      dbads_XXX_content_of_pictureinfos_selectfield_has_changed (parameter_array); break;
   case "content_of_pictureinfos_textfield_has_changed":        dbads_XXX_content_of_pictureinfos_textfield_has_changed   (parameter_array); break;
   case "content_of_selectfield_has_changed":                   dbads_XXX_content_of_selectfield_has_changed              (parameter_array); break;
   case "content_of_textfield_has_changed":                     dbads_XXX_content_of_textfield_has_changed                (parameter_array); break;
   case "content_of_validityfield_has_changed":                 dbads_XXX_content_of_validityfield_has_changed            (parameter_array); break;
   case "count_website_sperre":                                 dbads_XXX_count_website_sperre                            (parameter_array); break;
   case "dankes_info_an_user":                                  dbads_XXX_dankes_info_an_user                             (parameter_array); break;
   case "delete_file":                                          dbads_XXX_delete_file                                     (parameter_array); break;
   case "delete_picture":                                       dbads_XXX_delete_picture                                  (parameter_array); break;
   case "delete_record":                                        dbads_XXX_delete_record                                   (parameter_array); break;
   case "end_of_module":                                        dbads_XXX_end_of_module                                   (parameter_array); break;
   case "end_of_service":                                       dbads_XXX_end_of_service                                  (parameter_array); break;
   case "get_record_from_button":                               dbads_XXX_get_record_from_button                          (parameter_array); break;
   case "inactive":                                             dbads_XXX_inactive                                        (parameter_array); break;
   case "init_content_form":                                    dbads_XXX_init_content_form                               (parameter_array); break;
   case "init_window":                                          dbads_XXX_init_window                                     (parameter_array); break;
   case "make_choice_auswahl_select_field":                     dbads_XXX_make_choice_auswahl_select_field                (parameter_array); break;
   case "make_choice_id_select_field":                          dbads_XXX_make_choice_id_select_field                     (parameter_array); break;
   case "mark_choice_auswahl_select_field":                     dbads_XXX_mark_choice_auswahl_select_field                (parameter_array); break;
   case "mark_choice_id_select_field":                          dbads_XXX_mark_choice_id_select_field                     (parameter_array); break;
   case "mouse_over_head_button":                               dbads_XXX_mouse_over_head_button                          (parameter_array); break;
   case "move_down_file":                                       dbads_XXX_move_down_file                                  (parameter_array); break;
   case "move_down_picture":                                    dbads_XXX_move_down_picture                               (parameter_array); break;
   case "move_down_record":                                     dbads_XXX_move_down_record                                (parameter_array); break;
   case "move_up_file":                                         dbads_XXX_move_up_file                                    (parameter_array); break;
   case "move_up_picture":                                      dbads_XXX_move_up_picture                                 (parameter_array); break;
   case "move_up_record":                                       dbads_XXX_move_up_record                                  (parameter_array); break;
   case "open_db_check_informer":                               dbads_XXX_open_db_check_informer                          (parameter_array); break;
   case "open_popup":                                           dbads_XXX_open_popup                                      (parameter_array); break;
   case "passwortausgabe":                                      dbads_XXX_passwortausgabe                                 (parameter_array); break;
   case "play_sound":                                           dbads_XXX_play_sound                                      (parameter_array); break;
   case "reset_countdown":                                      dbads_XXX_reset_countdown                                 (parameter_array); break;
   case "restore_checklistfield_content":                       dbads_XXX_restore_checklistfield_content                  (parameter_array); break;
   case "restore_colorfield_content":                           dbads_XXX_restore_colorfield_content                      (parameter_array); break;
   case "restore_currencyfield_content":                        dbads_XXX_restore_currencyfield_content                   (parameter_array); break;
   case "restore_datefield_content":                            dbads_XXX_restore_datefield_content                       (parameter_array); break;
   case "restore_fileinfos_textfield_content":                  dbads_XXX_restore_fileinfos_textfield_content             (parameter_array); break;
   case "restore_logikfield_content":                           dbads_XXX_restore_logikfield_content                      (parameter_array); break;
   case "restore_phonefield_content":                           dbads_XXX_restore_phonefield_content                      (parameter_array); break;
   case "restore_pictureinfos_selectfield_content":             dbads_XXX_restore_pictureinfos_selectfield_content        (parameter_array); break;
   case "restore_pictureinfos_textfield_content":               dbads_XXX_restore_pictureinfos_textfield_content          (parameter_array); break;
   case "restore_selectfield_content":                          dbads_XXX_restore_selectfield_content                     (parameter_array); break;
   case "restore_textfield_content":                            dbads_XXX_restore_textfield_content                       (parameter_array); break;
   case "save_ueber_welches_fragezeichen_liegt_die_maus":       dbads_XXX_save_ueber_welches_fragezeichen_liegt_die_maus  (parameter_array); break;
   case "servicebereich_nicht_abschalten":                      dbads_XXX_servicebereich_nicht_abschalten                 (parameter_array); break;
   case "set_datefield_to_now":                                 dbads_XXX_set_datefield_to_now                            (parameter_array); break;
   case "set_zugangsdaten_felder":                              dbads_XXX_set_zugangsdaten_felder                         (parameter_array); break;
   case "show_colors":                                          dbads_XXX_show_colors                                     (parameter_array); break;
   case "show_hide_auswahl_select_field":                       dbads_XXX_show_hide_auswahl_select_field                  (parameter_array); break;
   case "show_hide_fileinfos":                                  dbads_XXX_show_hide_fileinfos                             (parameter_array); break;
   case "show_hide_id_select_field":                            dbads_XXX_show_hide_id_select_field                       (parameter_array); break;
   case "show_hide_pictureinfos":                               dbads_XXX_show_hide_pictureinfos                          (parameter_array); break;
   case "show_loginfields":                                     dbads_XXX_show_loginfields                                (parameter_array); break;
   case "show_table_in_index":                                  dbads_XXX_show_table_in_index                             (parameter_array); break;
   case "speichern":                                            dbads_XXX_speichern                                       (parameter_array); break;
   case "start_countdown_sicherheitsabschaltung":               dbads_XXX_start_countdown_sicherheitsabschaltung          (parameter_array); break;
   case "start_of_function":                                    dbads_XXX_start_of_function                               (parameter_array); break;
   case "start_of_login":                                       dbads_XXX_start_of_login                                  (parameter_array); break;
   case "start_of_module":                                      dbads_XXX_start_of_module                                 (parameter_array); break;
   case "start_of_popup":                                       dbads_XXX_start_of_popup                                  (parameter_array); break;
   case "start_of_service":                                     dbads_XXX_start_of_service                                (parameter_array); break;
   case "submit_formular":                                      dbads_XXX_submit_formular                                 (parameter_array); break;

   default: alert('Fehler in DBads:\n\nDie Funktion (\"'+what+'\") gibt es im Modul \"dbads.js\" nicht !');                                  break;
  }
}










function dbads_XXX_change_country_code (parameter_array)
/********************************************************************************************/
/* First Releae     : 15.11.2010 - 10:55                                                    */
/* Last Update      : 15.11.2010 - 10:55                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat in einem Telefonfeld im Länderauswahlfeld ein anderes Land ausgewählt.      */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];
 var size      = parameter_array[1];


 //Ermittle den zur Auswahl zugehörigen Ländercode
 ausgewaehlte_option = document.formular['country_code_'+fieldname].selectedIndex;
 country_code        = document.formular['country_code_'+fieldname].options[ausgewaehlte_option].value;

 //Trage den Ländercode ins Feld ein
 document.formular['code_'+fieldname].value = country_code;

 do_it_dbads('content_of_phonefield_has_changed',fieldname+"&"+size);

}










function dbads_XXX_check_admin_zugang (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.01.2009 - 09:49                                                    */
/* Last Update      : 07.01.2009 - 09:49                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat in der gesperrten Website auf den Button "Admin-Zugang" gedrückt.           */
/********************************************************************************************/
{
 if (document.formular.benutzerkennung.value=="")
   {
    alert('Bitte geben Sie die Benutzerkennung an !');
    document.formular.benutzerkennung.focus();
    return false;
   }
  else
   {
    if (document.formular.kennwort.value=="")
      {
       alert('Bitte geben Sie das Kennwort an !');
       document.formular.kennwort.focus();
       return false;
      }
     else
      {
       return true;
      }
   }
}










function dbads_XXX_check_colorfield (parameter_array)
/********************************************************************************************/
/* First Releae     : 27.09.2009 - 16:08                                                    */
/* Last Update      : 07.01.2010 - 17:42                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Die Routine prüft ein Picturefeld.                                                       */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];


 //Hat das Feld nicht genau 7 Zeichen Länge ?
 if (top.servicezugang_body.document.getElementById(fieldname).value.length < 7)
   {
    //ja:
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&missing_content&sign_on');
    alert('Der manuell angegebene HTML-Farbcode hat nicht die korrekte Anzahl Zeichen !\n\nWählen Sie bitte einen der angebotenen Farben aus dem Kombifeld aus, oder geben Sie direkt den 6stelligen Hexcode mit vorangestelltem "#" der gewünschten Farbe ins Eingabefeld rechts daneben ein.');
    top.servicezugang_body.document.getElementById(fieldname).focus();
    return false;
   }
  else
   {
    return true;
   }
}










function dbads_XXX_check_fields_if_empty_allowed (parameter_array)
/********************************************************************************************/
/* First Releae     : 15.10.2008 - 12:56                                                    */
/* Last Update      : 16.02.2010 - 12:53                                                    */
/* Version          : 5                                                                     */
/********************************************************************************************/
/* Der User will die Daten in einem geänderten Formular für einen bestehenden oder neuen    */
/* Datensatz speichern.                                                                     */
/********************************************************************************************/
{
 var felder_parameter = parameter_array[0];

 var felder           = felder_parameter.split("#"); //Übertrage alle Felder, die ausgefüllt werden müssen in ein einfaches Array
 var ergebnis_ok      = false;                       //Initialisiere das Funktionsergebnis



 //Wird dem Benutzer statt eines Datensatzformulares die Meldung angezeigt, dass noch kein Datensatz existiert ?
 if (!top.servicezugang_body.document.getElementById('kein_datensatz_in_der_datenbank_vorhanden'))
   {
    //nein: müssen bei dem abzuspeicherndem Formular überhaupt Felder auf Plausibilität geprüft werden ?
    if (felder_parameter != "")
      {
       //ja: prüfe jedes Feld einzeln durch. Bei Plausibilitätsproblemen wird in der Prüfroutine
       //selbst die Fehlermeldung ausgegeben.
       for (feld=0;feld<=felder.length-1;feld++)
          {
           feld_elemente = felder[feld].split("|");
           spalte        = feld_elemente[0];
           typ           = feld_elemente[1];

           //Gibt es zu der angegebenen Datenbankspalte auch ein Formularfeld. Denn nicht jedes
           //Formular, dass seine Daten aus einer Datenbank bezieht, verfügt auch über Felder
           //zu jeder Spalte der Datenbank. Es kann durchaus sein, dass in einem Formular nur
           //ein Teil der Felder einer Datenbank tatsächlich gebraucht werden.
           switch (typ)
            {
             /*********************************************************************************************************
             Checklist-Value
             *********************************************************************************************************/
             case "checklist_value":
             if (top.servicezugang_body.document.getElementById(spalte))
               {
                ergebnis_ok = true;
               }
              else
               {
                //nein: Feld nicht im Formular: Prüfung des Feldes nicht möglich/notwendig. Tu'n wir deshalb mal so, als sei es kein größeres Problem...
                ergebnis_ok = true;
               }
             break;

             /*********************************************************************************************************
             Color-Value
             *********************************************************************************************************/
             case "color_value":
             if (top.servicezugang_body.document.getElementById(spalte))
               {
                ergebnis_ok = do_it_dbads('check_colorfield',spalte);
               }
              else
               {
                //nein: Feld nicht im Formular: Prüfung des Feldes nicht möglich/notwendig. Tu'n wir deshalb mal so, als sei es kein größeres Problem...
                ergebnis_ok = true;
               }
             break;

             /*********************************************************************************************************
             Currency-Value
             *********************************************************************************************************/
             case "currency_value":
             if (top.servicezugang_body.document.getElementById(spalte))
               {
                ergebnis_ok = true;
               }
              else
               {
                //nein: Feld nicht im Formular: Prüfung des Feldes nicht möglich/notwendig. Tu'n wir deshalb mal so, als sei es kein größeres Problem...
                ergebnis_ok = true;
               }
             break;

             /*********************************************************************************************************
             Date-Value
             *********************************************************************************************************/
             case "date_value":
             if (top.servicezugang_body.document.getElementById(spalte))
               {
                ergebnis_ok = do_it_dbads('check_datefield',spalte);
               }
              else
               {
                //nein: Feld nicht im Formular: Prüfung des Feldes nicht möglich/notwendig. Tu'n wir deshalb mal so, als sei es kein größeres Problem...
                ergebnis_ok = true;
               }
             break;

             /*********************************************************************************************************
             File-Value
             Hier wird nicht überprüft, ob das Formularfeld existiert, denn es werden nur Files angezeigt, wenn sie bereits
             hochgeladen wurden.
             *********************************************************************************************************/
             case "file_value":
             ergebnis_ok = do_it_dbads('check_filefield',spalte);
             break;

             /*********************************************************************************************************
             Input-Value
             *********************************************************************************************************/
             case "input_value":
             if (top.servicezugang_body.document.getElementById(spalte))
               {
                ergebnis_ok = do_it_dbads('check_textfield',spalte);
               }
              else
               {
                //nein: Feld nicht im Formular: Prüfung des Feldes nicht möglich/notwendig. Tu'n wir deshalb mal so, als sei es kein größeres Problem...
                ergebnis_ok = true;
               }
             break;

             /*********************************************************************************************************
             Picture-Value
             Hier wird nicht überprüft, ob das Formularfeld existiert, denn es werden nur Bilder angezeigt, wenn sie bereits
             hochgeladen wurden.
             *********************************************************************************************************/
             case "picture_value":
             ergebnis_ok = do_it_dbads('check_picturefield',spalte);
             break;

             /*********************************************************************************************************
             Select-Value
             *********************************************************************************************************/
             case "select_value":
             if (top.servicezugang_body.document.getElementById(spalte))
               {
                ergebnis_ok = do_it_dbads('check_selectfield',spalte);
               }
              else
               {
                //nein: Feld nicht im Formular: Prüfung des Feldes nicht möglich/notwendig. Tu'n wir deshalb mal so, als sei es kein größeres Problem...
                ergebnis_ok = true;
               }
             break;

             /*********************************************************************************************************
             Textarea-Value
             *********************************************************************************************************/
             case "textarea_value":
             if (top.servicezugang_body.document.getElementById(spalte))
               {
                ergebnis_ok = do_it_dbads('check_textfield',spalte);
               }
              else
               {
                //nein: Feld nicht im Formular: Prüfung des Feldes nicht möglich/notwendig. Tu'n wir deshalb mal so, als sei es kein größeres Problem...
                ergebnis_ok = true;
               }
             break;


             default:
             alert ('Fehler in DBads:\n\nDer angegebene Spaltentyp \"'+typ+'\" zur Prüfung der Feldplausibilität ist unbekannt. Der Datensatz kann nicht abgespeichert werden !');
             ergebnis_ok = false;
             break;
            }

           //Wurde gerade festgestellt, dass bei einem Feld keine Plausibilität vorliegt ?
           if (!ergebnis_ok)
             {
              //ja: breche die Prüfung der restlichen Felder ab, sonst wird der User, wenn
              //es gleich mehrere Plausibilitätsprobleme gibt, womöglich überfordert bei
              //den vielen Meldungen die dann entstehen.
              break;
             }
          }
      }
     else
      {
       //nein:
       ergebnis_ok = true;
      }
   }
  else
   {
    //ja: Fehlermeldung an den User !
    alert('Rufen Sie bitte zuerst das Formular dieses Moduls auf; entweder über die Funktion \"Neuer Datensatz\" oder \"Zeige Datensätze\".\n\nAnschliessend können Sie es abspeichern.');
    ergebnis_ok = false;
   }



 return ergebnis_ok;
}










function dbads_XXX_check_filefield (parameter_array)
/********************************************************************************************/
/* First Releae     : 17.02.2010 - 12:39                                                    */
/* Last Update      : 17.02.2010 - 12:39                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Die Routine prüft ein Filefeld.                                                          */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];


 //Wird gerade das Fragezeichen angezeigt und ist das Feld zur Auswahl eines Files leer ?
 if ((top.servicezugang_body.document.getElementById('fragezeichen_kein_file_vorhanden_'+fieldname)) && (top.servicezugang_body.document.getElementById('pfad_fuer_neues_file_'+fieldname).value==""))
   {
    //ja: der Benutzer muss aber ein File auswählen !
    alert('Für diesen Datensatz müssen sie ein File auswählen und hochladen !');
    return false;
   }
  else
   {
    //nein: alle Daten sind korrekt angegeben !
    return true;
   }
}










function dbads_XXX_check_form_no_access (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 12:51                                                    */
/* Last Update      : 25.11.2008 - 11:12                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will sich Zugansgsdaten zuschicken lassen.                                      */
/********************************************************************************************/
{
 if (document.formular.vorname.value=="")
   {
    alert('Bitte geben Sie Ihren Vornamen an !');
    document.formular.vorname.focus();
    return false;
   }
  else
   {
    if (document.formular.nachname.value=="")
      {
       alert('Bitte geben Sie Ihren Nachnamen an !');
       document.formular.nachname.focus();
       return false;
      }
     else
      {
       if (document.formular.emailadresse.value=="")
         {
          alert('Bitte geben Sie Ihre Emailadresse an !');
          document.formular.emailadresse.focus();
          return false;
         }
        else
         {
          return true;
         }
      }
   }
}










function dbads_XXX_check_form_to_enter_dbads (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 12:51                                                    */
/* Last Update      : 10.09.2008 - 18:33                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will den Servicebereich betreten.                                               */
/********************************************************************************************/
{
 var bereich = parameter_array[0];


 if (document.formular.benutzerkennung.value == "")
   {
    alert('Geben Sie bitte die Benutzerkennung ein !');
    document.formular.benutzerkennung.focus();
    return false;
   }
  else
   {
    if (document.formular.kennwort.value == "")
      {
       alert('Geben Sie bitte das Kennwort ein !');
       document.formular.kennwort.focus();
       return false;
      }
     else
      {
       return true;
      }
   }
}










function dbads_XXX_check_database_new_db_in_checklist (parameter_array)
/********************************************************************************************/
/* First Releae     : 16.06.2010 - 14:24                                                    */
/* Last Update      : 16.06.2010 - 14:24                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine trägt in "home.php" eine neue Selectzeile dort ein wo die geprüften Daten-   */
/* banken angezeigt werden.                                                                 */
/********************************************************************************************/
{
 var modul        = parameter_array[0];
 var resultat     = parameter_array[1];
 var fehlernummer = parameter_array[2];




 lfd        = document.formular['list_of_checked_dboss_db'].length;
 inhalt     = "#"+(lfd+1)+":  "+modul+"                       -> error 213!";
 neue_zeile = new Option (inhalt, modul, true, false);


 document.formular['list_of_checked_dboss_db'].options[lfd] = neue_zeile;
}










function dbads_XXX_check_datefield (parameter_array)
/********************************************************************************************/
/* First Releae     : 10.10.2008 - 11:57                                                    */
/* Last Update      : 04.01.2010 - 19:13                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User will den Servicebereich betreten.                                               */
/********************************************************************************************/
{
 var fieldname  = parameter_array[0];

 var feld_tag   = parseInt(top.servicezugang_body.document.formular['day_'+fieldname].selectedIndex);
 var feld_monat = parseInt(top.servicezugang_body.document.formular['month_'+fieldname].selectedIndex);

 //Sind in einem der Datumsfelder undefinierte Zeiten angegeben ?
 if ((feld_tag!=0) && (feld_monat==0))
   {
    //ja: es fehlen klare Aussagen
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&missing_content&sign_on');
    alert('Geben Sie bitte im farblich gekennzeichneten Feld den Monat an !');
    return false;
   }
  else
   {
    //nein
    if ((feld_tag==0) && (feld_monat!=0))
      {
       //ja: es fehlen klare Aussagen
       do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&missing_content&sign_on');
       alert('Geben Sie bitte im farblich gekennzeichneten Feld den Tag an !');
       return false;
      }
     else
      {
       if ((feld_tag==0) && (feld_monat==0))
         {
          //ja: es fehlen klare Aussagen
          do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&missing_content&sign_on');
          alert('Geben Sie bitte im farblich gekennzeichneten Feld den Tag und den Monat an !');
          return false;
         }
        else
         {
          if ((feld_tag!=0) && (feld_monat==0))
            {
             //ja: es fehlen klare Aussagen
             do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&missing_content&sign_on');
             alert('Geben Sie bitte im farblich gekennzeichneten Feld den Monat an !');
             return false;
            }
           else
            {
             //nein: alle Daten sind korrekt angegeben !
             return true;
            }
         }
      }
   }
}










function dbads_XXX_check_picturefield (parameter_array)
/********************************************************************************************/
/* First Releae     : 27.09.2009 - 16:08                                                    */
/* Last Update      : 17.02.2010 - 11:18                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Die Routine prüft ein Picturefeld.                                                       */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];


 //Wird gerade das Fragezeichen angezeigt und ist das Feld zur Auswahl eines Bildes leer ?
 if ((top.servicezugang_body.document.getElementById('fragezeichen_kein_bild_vorhanden_'+fieldname)) && (top.servicezugang_body.document.getElementById('pfad_fuer_neues_bild_'+fieldname).value==""))
   {
    //ja: der Benutzer muss aber ein Bild auswählen !
    alert('Für diesen Datensatz müssen sie ein Bild auswählen und hochladen !');
    return false;
   }
  else
   {
    //nein: alle Daten sind korrekt angegeben !
    return true;
   }
}










function dbads_XXX_check_record_input_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.02.2010 - 21:45                                                    */
/* Last Update      : 06.02.2010 - 21:45                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine prüft das Eingabefeld in dem der User einen konkreten Datensatz anhand       */
/* seiner Satznummer auswählen kann.                                                        */
/********************************************************************************************/
{
 var max_record = parameter_array[0];


 //Steht im Feld - nach Loslassen der Taste - ein String in dem ein alphanumerische Zeichen vorkommt ?
 if (isNaN(document.getElementById('current_record').value))
   {
    //ja: das wird nicht akzeptiert!
    falsches_zeichen = document.getElementById('current_record').value.substr((document.getElementById('current_record').value.length-1),1)

    //Fehlermeldung an den Benutzer
    if (document.getElementById('current_record').value.length == 1) {korrektur = "";} else {korrektur = "letzte ";}

    alert ('Das '+korrektur+'Zeichen \"'+falsches_zeichen+'\" ist nicht gestattet.\n\nGeben Sie bitte ausschließlich Zahlen ein !');

    //Das letzte Zeichen wird wieder rausgenommen
    document.getElementById('current_record').value = document.getElementById('current_record').value.substr(0,(document.getElementById('current_record').value.length-1));

    //Prüfe jetzt nochmal, denn durch schnell gedrückte (falschen) Tasten können auch gleich mehrere alphanumerische Zeichen in das Feld eingetragen worden sein, ehe die Routine hier wirksam wird.
    do_it_dbads('check_record_input_field',max_record);
   }
  else
   {
    //Wurde ein Datensatz angegeben der nicht existiert (mehr als vorhanden) ?
    if (parseInt(document.getElementById('current_record').value) > max_record)
      {
       //ja: Fehlermeldung an den Benutzer
       alert ('Der Datensatz '+document.getElementById('current_record').value+' existiert nicht, es gibt nur '+max_record+' Datensätze.\n\nKorrigieren Sie daher bitte Ihre Eingabe !');

       //Das letzte Zeichen wird wieder rausgenommen
       document.getElementById('current_record').value = document.getElementById('current_record').value.substr(0,(document.getElementById('current_record').value.length-1));

       //Prüfe jetzt nochmal, denn durch schnell gedrückte (falschen) Tasten können auch gleich mehrere Zahlen in das Feld eingetragen worden sein, ehe die Routine hier wirksam wird.
       do_it_dbads('check_record_input_field',max_record);
      }
     else
      {
       //nein: Wurde der Datensatz "0" eingegeben ?
       if (document.getElementById('current_record').value == "0")
         {
          //ja: Fehlermeldung an den Benutzer
          alert ('Der Datensatz 0 (Null) existiert nicht, Ihre Eingabe muss größer als Null sein.\n\nKorrigieren Sie daher bitte Ihre Eingabe !');

          //Die Null wird wieder rausgenommen
          document.getElementById('current_record').value = "";
         }
        else
         {
          //nein: Eingabe ist ok !
         }
      }
   }
}










function dbads_XXX_check_selectfield (parameter_array)
/********************************************************************************************/
/* First Releae     : 14.10.2008 - 12:35                                                    */
/* Last Update      : 04.01.2010 - 16:52                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Die Routine prüft ein Selectfeld auf Plausibilität.                                      */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];


 //Gibt es die 2 logischen Radiobuttons ?
 if ((top.servicezugang_body.document.formular[fieldname]['first_choise']) && (top.servicezugang_body.document.formular[fieldname]['second_choise']))
   {
    //ja: prüfe sie, ob wenigstens einer gesetzt ist
    zustand_first_choise  = top.servicezugang_body.document.formular[fieldname]['first_choise'].checked;
    zustand_second_choise = top.servicezugang_body.document.formular[fieldname]['second_choise'].checked;

    //Sind beide Radiobuttons unbelegt ?
    if ((zustand_first_choise==false) && (zustand_second_choise==false))
      {
       //ja: färbe die Legende
       do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&missing_content&sign_on');
       alert ('Markieren Sie bitte einen der beiden Radiobuttons beim farblich gekennzeichneten Auswahlfeld !');
       return false;
      }
     else
      {
       return true;
      }
   }
  else
   {
    //nein: also handelt es sich um ein klassisches Selectfeld
    if (top.servicezugang_body.document.formular[fieldname].selectedIndex==0)
      {
       top.servicezugang_body.document.formular[fieldname].focus();

       //färbe die Legende
       do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&missing_content&sign_on');
       top.servicezugang_body.document.formular[fieldname].focus();
       alert ('Wählen Sie bitte eine der im Feld angebotenen Alternativen aus !');
       return false;
      }
     else
      {
       return true;
      }
   }
}










function dbads_XXX_check_textfield (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.10.2008 - 12:29                                                    */
/* Last Update      : 04.01.2010 - 14:35                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Die Routine prüft ein Textfeld (input_value, textarea_value) auf Plausibilität.          */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];


 //Existiert das Feld überhaupt im Formular ?
 if (top.servicezugang_body.document.formular[fieldname])
   {
    //ja: ist das Feld leer ?
    if (top.servicezugang_body.document.formular[fieldname].value=="")
      {
       //ja: färbe die Legende
       do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&missing_content&sign_on');
       top.servicezugang_body.document.getElementById(fieldname).focus();
       alert ('Füllen Sie bitte das farblich gekennzeichnete Feld aus !');
       return false;
      }
     else
      {
       //nein: Plausibilitätsprüfung bestanden !
       return true;
      }
   }
  else
   {
    //nein: Fehlermeldung
    alert ('Fehler in DBads:\n\nKann das angegebene Feld \"'+fieldname+'\" in der Funktion \"dbads_XXX_check_textfield\" (dbads.js) nicht finden !\n\nVielleicht ist der Name des Feldes im Formular falsch geschrieben, oder in der Datenbank steht, dass das Feld vom User ausgefüllt werden soll obwohl das Feld im Formular gar nicht existiert !');
    return false;
   }
}










function dbads_XXX_check_textfield_for_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 23.01.2009 - 13:34                                                    */
/* Last Update      : 23.01.2009 - 13:34                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine prüft ein Textfeld (input_value, textarea_value), ob dort der angegebene     */
/* String enthalten ist.                                                                    */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];
 var koc       = parameter_array[1];
 var value     = parameter_array[2];
 var message   = parameter_array[3];

 if (document.formular[fieldname])
   {
    switch (koc)
     {
      case "==":
      if (document.formular[fieldname].value.indexOf(" ") > -1)
        {
         alert(message);
         document.formular[fieldname].focus();
         document.getElementById('legende_'+fieldname).style.color           = font_check_color;
         document.getElementById('legende_'+fieldname).style.backgroundColor = background_check_color;
         return false;
        }
       else
        {
         return true;
        }
      break;
     }
   }
  else
   {
    alert ('Fehler in DBads:\n\nKann das angegebene Feld \"'+fieldname+'\" in der Funktion \"dbads_XXX_check_textfield_for_content\" (dbads.js) nicht finden !\n\nVielleicht ist der Name des Feldes im Formular falsch geschrieben, oder in der Datenbank steht, dass das Feld vom User ausgefüllt werden soll obwohl das Feld im Formular gar nicht existiert !');
    return false;
   }
}










function dbads_XXX_close_table_in_index (parameter_array)
/********************************************************************************************/
/* First Releae     : 03.03.2010 - 10:57                                                    */
/* Last Update      : 03.03.2010 - 10:57                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat auf das blaue Kreuz in der Tabelle rechts oben geklickt.                    */
/********************************************************************************************/
{
 var what_table = parameter_array[0];

 top.document.getElementById(what_table).style.visibility = "hidden";
}










function dbads_XXX_close_infotable (parameter_array)
/********************************************************************************************/
/* First Releae     : 19.05.2010 - 00:09                                                    */
/* Last Update      : 19.05.2010 - 19:08                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat auf das blaue Kreuz in der Tabelle rechts oben geklickt.                    */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];


 //Verstecke die Infotabelle wieder
 top.servicezugang_body.document.getElementById('infotable_'+fieldname).style.visibility = "hidden";

 //Leere die Merkvariable, denn es ist kein Fenster einer Infotabelle sichtbar.
 visible_infotable = "";
}










function dbads_XXX_close_window (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.05.2010 - 19:22                                                    */
/* Last Update      : 29.05.2010 - 19:22                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat im Loginfenster auf "Abbrechen" gedrückt.                                   */
/********************************************************************************************/
{
 window.close();
}










function dbads_XXX_collapse_or_expand_all_header (parameter_array)
/********************************************************************************************/
/* First Release    : 30.05.2010 - 12:47                                                    */
/* Last Update      : 05.11.2010 - 11:45                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Klappt alle existierende Header in der Navigation auf oder zu. Der Einfachheit halber    */
/* werden einfach 50 Header angenommen (mehr werden es hoffentlich in der Praxis nicht      */
/* werden). Das ist einfacher als die tatsächliche Anzahl an Header vorab zu ermitteln und  */
/* hier in diese Routine einzuleiten.                                                       */
/********************************************************************************************/
{
 var von_kunde  = parameter_array[0];


 //Ermittle die Anzahl der vorhandenen Module
 anzahl_der_module = parseInt(top.servicezugang_navigation.document.getElementById('anzahl_module').innerHTML);

 //Steht über den Header "Alles aufklappen" ?
 if (document.getElementById('info_module_auf_oder_zuklappen').innerHTML == "Alle Modulgruppen aufklappen")
   {
    //Ändere den Text in "Alles zuklappen"
    document.getElementById('info_module_auf_oder_zuklappen').innerHTML = "Alle Modulgruppen zuklappen";

    //Klappe alle Header zu
    for (header=0; header<=(anzahl_der_module-1); header++)
       {
        do_it_dbads ('collapse_or_expand_header',String(header)+"&expand&"+von_kunde);
       }
   }
  else
   {
    //Ändere den Text in "Alles aufklappen"
    document.getElementById('info_module_auf_oder_zuklappen').innerHTML = "Alle Modulgruppen aufklappen";

    //Klappe alle Header auf
    for (header=0; header<=(anzahl_der_module-1); header++)
       {
        do_it_dbads ('collapse_or_expand_header',String(header)+"&collapse&"+von_kunde);
       }
   }
}










function dbads_XXX_collapse_or_expand_header (parameter_array)
/********************************************************************************************/
/* First Release    : 30.05.2010 - 12:47                                                    */
/* Last Update      : 30.05.2010 - 12:47                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Klappt den angegebenen Header in der Navigation auf oder zu. Dazu wird der 2. Eingangs-  */
/* parameter verwendet: "expand"    = es wird der Header aufgeklappt                        */
/*                      "collapse"  = es wird der Header zugeklappt                         */
/*                      "alternate" = wenn der Header zugeklappt ist, wird er aufgeklappt,  */
/*                                    wenn der Header aufgeklappt ist, wird er zugeklappt   */
/********************************************************************************************/
{
 var header    = parameter_array[0];
 var type      = parameter_array[1];
 var von_kunde = parameter_array[2];


 switch (type)
  {
   case "alternate":
   //Existiert der angegebene Trenner-Header ?
   if (document.getElementById('trenner_header_'+header))
     {
      //Ist die alternative Anzeigeart eingestellt ?
      if (top.servicezugang_navigation.document.formular.klappstatus[1].checked == true)
        {
         //ja: hier ist es immer so, dass das angeklickte Modul aufgeklappt wird und die restlichen Module zugeklappt werden (egal ob das angeklickte Modul bereits auf- oder zugeklappt ist)
         //Ermittle die Anzahl der vorhandenen Module
         anzahl_der_module = parseInt(top.servicezugang_navigation.document.getElementById('anzahl_module').innerHTML);

         //Klappe alle Header zu
         for (element=0; element<=(anzahl_der_module-1); element++)
            {
             do_it_dbads ('collapse_or_expand_header',String(element)+"&collapse&"+von_kunde);
            }

         //Klappe das angeklickte Modul auf und ersetze den Pfeil gegen den Hochpfeil
         document.getElementById('trenner_header_'+header+'_icon').src = "/"+von_kunde+"/system/dbads/imagelib/buttons/zuklappen.png";

         //Klappe die Modulliste wieder auf die ursprüngliche Höhe auseinander
         document.getElementById('modulliste_'+header).style.height = "auto";

         //Klappe auch das Distanzstueck unterhalb der Modulliste wieder auf die ursprüngliche Größe auseinander
         document.getElementById('distanzstueck_'+header).style.height = "25px";

         //Vermerke in der globalen Variable: ein aufgeklapptes Modul (bei alternativ kann immer nur ein Modul aufgeklappt sein)
         anzahl_aufgeklappter_module = 1;
        }
       else
        {
         //nein: wird im Hintergrund gerade der Hochpfeil gezeigt ?
         if (document.getElementById('trenner_header_'+header+'_icon').src.indexOf('zuklappen.png') > -1)
           {
            //ja: also klappe das Module zu und ersetze den Pfeil gegen den Runterpfeil
            document.getElementById('trenner_header_'+header+'_icon').src = "/"+von_kunde+"/system/dbads/imagelib/buttons/aufklappen.png";

            //Klappe die Modulliste zusammen
            document.getElementById('modulliste_'+header).style.height = "1px";

            //Klappe auch das Distanzstueck unterhalb der Modulliste zusammen
            document.getElementById('distanzstueck_'+header).style.height = "1px";

            //Vermerke in der globalen Variable: ein aufgeklapptes Modul weniger
            anzahl_aufgeklappter_module--;

            //Sind mit dem jetzt zugeklappten Modul alle Module zugeklappt
            if (anzahl_aufgeklappter_module == 0)
              {
               //Ändere den Text in "Alles aufklappen"
               document.getElementById('info_module_auf_oder_zuklappen').innerHTML = "Alles aufklappen";
              }
           }
          else
           {
            //nein: also klappe das Modul auf und ersetze den Pfeil gegen den Hochpfeil
            document.getElementById('trenner_header_'+header+'_icon').src = "/"+von_kunde+"/system/dbads/imagelib/buttons/zuklappen.png";

            //Klappe die Modulliste wieder auf die ursprüngliche Höhe auseinander
            document.getElementById('modulliste_'+header).style.height = "auto";

            //Klappe auch das Distanzstueck unterhalb der Modulliste wieder auf die ursprüngliche Größe auseinander
            document.getElementById('distanzstueck_'+header).style.height = "25px";

            //Vermerke in der globalen Variable: ein aufgeklapptes Modul mehr
            anzahl_aufgeklappter_module++;

            //Sind mit dem jetzt aufgeklappten Modul alle Module aufgeklappt
            if (anzahl_aufgeklappter_module == parseInt(top.servicezugang_navigation.document.getElementById('anzahl_module').innerHTML))
              {
               //Ändere den Text in "Alles zuklappen"
               document.getElementById('info_module_auf_oder_zuklappen').innerHTML = "Alles zuklappen";
              }
           }
        }
     }
   break;

   case "collapse":
   //Existiert der angegebene Trenner-Header ?
   if (document.getElementById('trenner_header_'+header))
     {
      //ja: also klappe das Module zu und ersetze den Pfeil gegen den Runterpfeil
      document.getElementById('trenner_header_'+header+'_icon').src = "/"+von_kunde+"/system/dbads/imagelib/buttons/aufklappen.png";

      //Klappe die Modulliste zusammen
      document.getElementById('modulliste_'+header).style.height = "1px";

      //Klappe auch das Distanzstueck unterhalb der Modulliste zusammen
      document.getElementById('distanzstueck_'+header).style.height = "1px";

      //Vermerke in der globalen Variable: ein aufgeklapptes Modul weniger
      anzahl_aufgeklappter_module--;
     }
   break;

   case "expand":
   //Existiert der angegebene Trenner-Header ?
   if (document.getElementById('trenner_header_'+header))
     {
      //ja: also klappe das Modul auf und ersetze den Pfeil gegen den Hochpfeil
      document.getElementById('trenner_header_'+header+'_icon').src = "/"+von_kunde+"/system/dbads/imagelib/buttons/zuklappen.png";

      //Klappe die Modulliste wieder auf die ursprüngliche Höhe auseinander
      document.getElementById('modulliste_'+header).style.height = "auto";

      //Klappe auch das Distanzstueck unterhalb der Modulliste wieder auf die ursprüngliche Größe auseinander
      document.getElementById('distanzstueck_'+header).style.height = "25px";

      //Vermerke in der globalen Variable: ein aufgeklapptes Modul mehr
      anzahl_aufgeklappter_module++;
     }
   break;
  }
}










function dbads_XXX_content_of_checklistfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 04.10.2009 - 22:54                                                    */
/* Last Update      : 26.02.2010 - 16:45                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt einer Checkbox für ein Checklistfeld geändert.                   */
/********************************************************************************************/
{
 var fieldname                    =          parameter_array[0];
 var anzahl_modul_zeilen          = parseInt(parameter_array[1]);
 var modul_zeile                  = parseInt(parameter_array[2]);
 var modul_id                     = parseInt(parameter_array[3]);
 var anzahl_checkboxen            = parseInt(parameter_array[4]);
 var checkbox                     = parseInt(parameter_array[5]);
 var restore_wert_checkboxenzeile = "";
 var dranhaenger                  = "";


 //Ermittle aus den Werten der Checkboxen der Modulzeile das Zeilenergebnis für die versteckte Zeile rechts daneben
 for (box=0;box<=anzahl_checkboxen-1;box++)
    {
     //Ist die betrachtete Checkbox gechecked ?
     if (document.formular['checklist_checkbox_'+modul_id+'_'+box].checked)
       {
        //ja:
        dranhaenger = "/checked";
       }
      else
       {
        //nein:
        dranhaenger = "/";
       }

     restore_wert_checkboxenzeile = restore_wert_checkboxenzeile + dranhaenger
    }

 restore_wert_checkboxenzeile = modul_id + restore_wert_checkboxenzeile

 //Setze das Zeilenergebnis in die versteckte Zeile
 document.formular['checklist_intermediate_restore_'+modul_zeile].value = restore_wert_checkboxenzeile;

 //Setze aus allen Intermediate-Restore-Feldern den letztlich maßgebendenden Feldwert zusammen
 document.formular[fieldname].value = "";
 for (zeile=0;zeile<=anzahl_modul_zeilen-1;zeile++)
    {
     document.formular[fieldname].value = document.formular[fieldname].value + "-" + document.formular['checklist_intermediate_restore_'+zeile].value;
    }

 //Nimm das erste "-" Zeichen wieder weg
 document.formular[fieldname].value = document.formular[fieldname].value.substr(1,document.formular[fieldname].value.length-1);


 //Prüfe, wo sich Änderungen ergeben haben und setze dort die Warnfarben
 feld_geaendert = false;
 for (zeile=0;zeile<=anzahl_modul_zeilen-1;zeile++)
    {
     //Gibt es Unterschiedlichkeiten zum Ursprungswert ?
     if (document.formular['checklist_intermediate_restore_'+zeile].value != document.formular['checklist_restore_'+zeile].value)
       {
        //ja: setze die Warnfarben
        do_it_dbads ('show_colors',fieldname+'&checklist_legende_'+zeile+'&changed&sign_on');
        feld_geaendert = true;
       }
      else
       {
        //nein: setze die Warnfarben zurück
        do_it_dbads ('show_colors',fieldname+'&checklist_legende_'+zeile+'&changed&sign_off');
       }
    }

 //Normalerweise setzt die Routine "show_colors" auch das Sternchen oben in der grünen Zeile. Aber passt immer nur für ein
 //Feld, und das klappt daann auch. Hier aber bei der Checkliste wird pro Checkboxen-Zeile die Routine "show_colors" angewendet,
 //damit die Routine auch die rote Einfärbung der Legende pro Checkboxen-Zeile steuert. Wenn nun nur eine Checkboxen-Zeile
 //geändert wird und eine nachfolgende Checkboxen-Zeile unverändert ist, bestimmt die letzte Checkboxen-Zeile, ob das Sternchen
 //oben in der grünen Zeile gesetzt wird oder nicht. Das wäre falsch. Also wir hier nochmals und nach Prüfung aller Checkboxen-
 //Zeile ausgewertet, ob sich bei einer Checkboxen-Zeile etwas verändert hat. Und das Ergebnis ist das maßgebend für das
 //Setzen des Sternchen!
 if (feld_geaendert)
   {
    //Setze zur Kennung oben in der grünen Zeile rechts neben dem gelben Test zusätzlich ein Sternchen als globale Kennung
    top.document.getElementById('change_indicator').innerHTML = "*";
   }
  else
   {
    //Setze zur Kennung oben in der grünen Zeile rechts neben dem gelben Test zusätzlich ein Sternchen als globale Kennung
    top.document.getElementById('change_indicator').innerHTML = "";
   }
}










function dbads_XXX_content_of_colorfield_links_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 27.09.2009 - 22:14                                                    */
/* Last Update      : 18.02.2010 - 14:25                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt des Selectfeldes (links) zum Farbfeld geändert.                  */
/********************************************************************************************/
{
 var fieldname                     = parameter_array[0];
 var restore_value                 = document.formular['restore_'+fieldname].value;
 var diese_option_wurde_angeklickt = document.formular['selectfeld_'+fieldname].selectedIndex;
 var title                         = document.formular['selectfeld_'+fieldname].options[diese_option_wurde_angeklickt].title;

 //Entferne den Focus vom Selectfeld, damit die Farbe der ausgewählten Option sichtbar wird
 document.getElementById('selectfeld_'+fieldname).blur();

 //Hat der Benutzer eines der angebotenen Farben ausgewählt ?
 if ((document.formular['selectfeld_'+fieldname].length-1) == document.formular['selectfeld_'+fieldname].selectedIndex)
   {
    //nein: leere das feld rechts daneben
    document.formular[fieldname].value = "";
   }
  else
   {
    //ja: trage den Farbcode ins Feld ein
    document.formular[fieldname].value = document.formular['selectfeld_'+fieldname].options[diese_option_wurde_angeklickt].value;
   }

 //Entspricht die ausgewählte Farbe dem ursprünglichen (auch) in der Datenbank abgespeicherten Wert ?
 if (document.formular[fieldname].value == restore_value)
   {
    //ja: setze die Farbkennung zurück aus der ersichtlich ist, dass das Feld geändert wurde
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
   }
  else
   {
    //nein: setze die Farbkennung, aus der ersichtlich ist, dass das Feld geändert wurde
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
   }
}










function dbads_XXX_content_of_colorfield_rechts_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 27.09.2009 - 22:14                                                    */
/* Last Update      : 19.12.2009 - 15:10                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt des Selectfeldes (rechts) zum Farbfeld geändert.                 */
/********************************************************************************************/
{
 var fieldname     = parameter_array[0];
 var purpose       = parameter_array[1];
 var restore_value = document.formular['restore_'+fieldname].value;


 //Prüfe alle Zeilen des Selectfeldes (links) durch, ob die Farbe zum Farbcode dort existiert
 selectfield_found = false;
 for (zeile=0;zeile<=document.formular['selectfeld_'+fieldname].length-1;zeile++)
    {
     //Hat die Farbe der Selectfeld-Option den Farbcode aus dem Inputfeld (rechts) ?
     if (document.formular[fieldname].value == document.formular['selectfeld_'+fieldname].options[zeile].value)
       {
        //ja: blättere das Selectfeld in die Option
        document.formular['selectfeld_'+fieldname].selectedIndex = zeile;
        selectfield_found = true;
        break;
       }
    }

 //Existiert die anzuzeigende Farbe im Selectfeld ?
 if (!selectfield_found)
   {
    //nein: zeige im Selectfeld die letzte Option an
    document.formular['selectfeld_'+fieldname].selectedIndex = document.formular['selectfeld_'+fieldname].length-1;

    //Wie kam die Änderung zustande ?
    switch (purpose)
     {
      //Durch den User
      case "change":
      //ja: ist der angegebene Farbcode vollständig ?
      if (document.formular[fieldname].value.length == 7)
        {
         //Ist das erste Zeichen ein "#" ?
         if (document.formular[fieldname].value.substr(0,1) != "#")
           {
            //nein: Fehler
            alert('Der Farbcode muss mit dem Zeichen \"#\" beginnen !');
            document.formular[fieldname].value = "#"+document.formular[fieldname].value;
           }
          else
           {
            //ja: kommen in dem Farbcode die Zeichen "g" bis "z" vor ?
            if (document.formular[fieldname].value.match(/[g-z]/))
              {
               //ja: Fehler
               alert('Bei Zeichen werden nur die Zeichen \"a\" bis \"f\" akzeptiert !');
              }
             else
              {
               //nein: kommen in dem Farbcode Großbuchstaben vor ?
               if (document.formular[fieldname].value.match(/[A-Z]/))
                 {
                  //ja: Fehler
                  alert('Bei Zeichen wird nur die Kleinschreibung akzeptiert !');
                 }
                else
                 {
                  //nein: färbe die Optionszeile anhand des tatsächlich vom User angegebenen Farbcodes
                  document.formular['selectfeld_'+fieldname].options[document.formular['selectfeld_'+fieldname].length-1].style.backgroundColor = document.formular[fieldname].value;
                 }
              }
           }
        }
       else
        {
         //nein: färbe die Optionszeile weiß
         document.formular['selectfeld_'+fieldname].options[document.formular['selectfeld_'+fieldname].length-1].style.backgroundColor = "#ffffff";
        }
      break;

      //Durch den Erstaufruf des Formulars
      case "init":
      document.formular['selectfeld_'+fieldname].options[document.formular['selectfeld_'+fieldname].length-1].style.backgroundColor = document.formular[fieldname].value;
      break;
     }
   }

 //Setze den Inhalt der Restzeicheanzeige
 bisher_rest_zeichen = parseInt(document.getElementById('rest_zeichen_'+fieldname).innerHTML);
 anzahl_rest_zeichen = 7 - document.formular[fieldname].value.length;

 //Können noch weitere Zeichen ins Feld eingegeben werden ?
 if (anzahl_rest_zeichen>=0)
   {
    //ja: Zeige die Anzahl der restlichen Zeichen an
    document.getElementById('rest_zeichen_'+fieldname).innerHTML = anzahl_rest_zeichen;

    //Zeigt die Anzeige bereits 0 an ?
    if (anzahl_rest_zeichen==0)
      {
       //ja: färbe die Anzeige rot
       do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
      }
     else
      {
       //nein: färbe die Anzeige normal-grau
       do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
      }
   }
  else
   {
    //nein: Keine weiteren Zeichen mehr möglich
    document.formular[fieldname].value = document.formular[fieldname].value.substr(0,7);
    document.getElementById('rest_zeichen_'+fieldname).innerHTML = "0";
    do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');

    alert ('Es können keine weiteren Zeichen mehr eingegeben werden !!');

    //Kommt die Änderung durch den User ?
    if (purpose == "change")
      {
       //ja: ist der angegebene Farbcode vollständig ?
       if (document.formular[fieldname].value.length == 7)
         {
          //ja: färbe die Optionszeile anhand des tatsächlich vom User angegebenen Farbcodes
          document.formular['selectfeld_'+fieldname].options[document.formular['selectfeld_'+fieldname].length-1].style.backgroundColor = document.formular[fieldname].value;
         }
        else
         {
          //nein: färbe die Optionszeile weiß
          document.formular['selectfeld_'+fieldname].options[document.formular['selectfeld_'+fieldname].length-1].style.backgroundColor = "#ffffff";
         }
      }
   }

 //Hat sich der Feldinhalt gegenüber dem ursprünglichen Wert verändert ?
 if (document.formular[fieldname].value!=document.formular['restore_'+fieldname].value)
   {
    //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
   }
  else
   {
    //nein: ändere die Farbe des Legendetextes zurück
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
   }


 //Wurde die Änderung durch den User gemacht ?
 if (purpose == "change")
   {
    //ja: setze die Warnfarben
    if (document.formular[fieldname].value == restore_value)
      {
       do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
      }
     else
      {
       do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
      }
   }
}










function dbads_XXX_content_of_currencyfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 11.10.2008 - 23:41                                                    */
/* Last Update      : 14.10.2008 - 11:48                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt eines Währungsfeldes geändert.                                   */
/********************************************************************************************/
{
 var fieldname =          parameter_array[0];
 var maxlength = parseInt(parameter_array[1]);

 //Hat der User einen Buchstaben eingegeben ?
 if (isNaN(document.formular[fieldname].value)==true)
   {
    //ja: nimm das letzte Zeichen wieder raus und gib eine Warnung an den User ab
    document.formular[fieldname].value = document.formular[fieldname].value.substr(0,document.formular[fieldname].value.length-1);

    alert('Bitte geben Sie hier nur ganze Zahlen ein !');
   }
  else
   {
    bisher_rest_zeichen = parseInt(document.getElementById('rest_zeichen_'+fieldname).innerHTML);
    anzahl_rest_zeichen = maxlength - document.formular[fieldname].value.length;

    //Können noch weitere Zeichen ins Feld eingegeben werden ?
    if (anzahl_rest_zeichen<=0)
      {
       //nein: Keine weiteren Zeichen mehr möglich
       document.formular[fieldname].value = document.formular[fieldname].value.substr(0,maxlength);

       //Zeigt das Feld der ganzen Währung mehr als ein Zeichen an ?
       if (document.formular[fieldname].value.length > 1)
         {
          //ja: ist die führende Zahl eine Null ?
          if (document.formular[fieldname].value.substr(0,1) == "0")
            {
             //ja: nehme die führende Null wieder raus
             document.formular[fieldname].value = document.formular[fieldname].value.substr(1,document.formular[fieldname].value.length-1);
            }
           else
            {
             //nein: zeige die Farbsignale an
             document.getElementById('rest_zeichen_'+fieldname).innerHTML             = "0";
             do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');

             //nein: gib jetzt einen Hinweis an den User raus
             alert ('Es können keine weiteren Zeichen mehr eingegeben werden !');
            }
         }
      }
     else
      {
       //ja: ist der Feldinhalt der ganzen Währung leer ?
       if (document.formular[fieldname].value=="")
         {
          //ja: vermeide, dass das Feld mit der ganzen Währung leer ist, denn sonst kämen
          //Wärungswerte von z.B. ".56" zustande. Setze daher automatisch die "Null" hinein
          document.formular[fieldname].value = "0";
          anzahl_rest_zeichen = maxlength;
         }
        else
         {
          //Hat der User zunächst das Feld komplett geleert - sodass jetzt die Null sichtbar ist - und daraufhin
          //eine weitere Zahl eingegeben, sodass nun im Feld "0Zahl" steht ?

          //Zeigt das Feld der ganzen Währung mehr als ein Zeichen an ?
          if (document.formular[fieldname].value.length > 1)
            {
             //ja: ist die führende Zahl eine Null ?
             if (document.formular[fieldname].value.substr(0,1) == "0")
               {
                //ja: nehme die führende Null wieder raus
                document.formular[fieldname].value = document.formular[fieldname].value.substr(1,document.formular[fieldname].value.length-1);

                anzahl_rest_zeichen = maxlength-1;
               }
            }
         }

       //Zeige die Anzahl der restlichen Zeichen an
       document.getElementById('rest_zeichen_'+fieldname).innerHTML             = anzahl_rest_zeichen;
       do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
      }

    //Hat sich der Feldinhalt gegenüber dem ursprünglichen Wert verändert ?
    $volle_waehrung = document.formular[fieldname].value;
    $hundertstel_waehrung = document.formular["hundertstel_"+fieldname].value;

    if ($volle_waehrung+"."+$hundertstel_waehrung != document.formular['restore_'+fieldname].value)
      {
       //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
       do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
      }
     else
      {
       //nein: ändere die Farbe des Legendetextes zurück
       do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
      }
   }
}










function dbads_XXX_content_of_datefield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 25.09.2008 - 18:36                                                    */
/* Last Update      : 02.01.2009 - 14:50                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt eines Formularfeldes mit Text geändert.                          */
/********************************************************************************************/
{
 var fieldname    = parameter_array[0];

 var db_tag       = parseInt(document.formular['restore_day_'+fieldname].value);
 var db_monat     = parseInt(document.formular['restore_month_'+fieldname].value);
 var db_jahr      = parseInt(document.formular['restore_year_'+fieldname].value);
 var db_stunde    = parseInt(document.formular['restore_hours_'+fieldname].value);
 var db_minute    = parseInt(document.formular['restore_minutes_'+fieldname].value);
 var db_sekunde   = parseInt(document.formular['restore_seconds_'+fieldname].value);

 var feld_tag     = parseInt(document.formular['day_'+fieldname].selectedIndex);
 var feld_monat   = parseInt(document.formular['month_'+fieldname].selectedIndex);
 var feld_jahr    = parseInt(document.formular['year_'+fieldname].options[document.formular['year_'+fieldname].selectedIndex].value);
 var feld_stunde  = parseInt(document.formular['hours_'+fieldname].options[document.formular['hours_'+fieldname].selectedIndex].value);
 var feld_minute  = parseInt(document.formular['minutes_'+fieldname].options[document.formular['minutes_'+fieldname].selectedIndex].value);
 var feld_sekunde = parseInt(document.formular['seconds_'+fieldname].options[document.formular['seconds_'+fieldname].selectedIndex].value);

 //Wurde ein konkreter Wert (Tag+Monat+Jahr) angegeben ?
 if ((feld_tag!=0)&&(feld_monat!=0)&&(feld_jahr!=0))
   {
    //ja: berechne den Wochentag
    zeit           = new Date(feld_jahr,(feld_monat-1),feld_tag,feld_stunde,feld_minute,feld_sekunde);
    tag_in_woche   = zeit.getDay();
    var wochentag  = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
    feld_wochentag = wochentag[tag_in_woche];

    //Trage den Wochentag ins Feld ein.
    document.getElementById('wochentag_'+fieldname).value = feld_wochentag;
   }
  else
   {
    //nein: trage ein Fragezeichen als Zeichen ein, dass das System die Angaben nicht versteht
    document.getElementById('wochentag_'+fieldname).value = "?";
   }

 //Wurde das Datum gegenüber der bisherigen Eingabe *nicht* verändert ?
 if ((feld_tag==db_tag)&&(feld_monat==db_monat)&&(feld_jahr==db_jahr)&&(feld_stunde==db_stunde)&&(feld_minute==db_minute)&&(feld_sekunde==db_sekunde))
   {
    //ja: belasse zur Erkennung die Legende schwarz
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
   }
  else
   {
    //nein: färbe zur Erkennung die Legende rot
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
   }

 //Trage abschliessend das neue Datum auch ins versteckte Feld ein
 document.getElementById(fieldname).value = feld_tag+"|"+feld_monat+"|"+feld_jahr+"|"+feld_stunde+"|"+feld_minute+"|"+feld_sekunde;
}










function dbads_XXX_content_of_filefield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 10.02.2009 - 18:30                                                    */
/* Last Update      : 10.02.2009 - 18:30                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat auf "Durchsuchen" geklickt und will eine allgemeine Datei in den Upload-Be- */
/* reich einer Webseite hochladen.                                                          */
/********************************************************************************************/
{
 var kunde         = parameter_array[0];
 var fieldname     = parameter_array[1];
 var pfad_und_file = document.formular['pfad_fuer_neues_file_'+fieldname].value;


 //Ist im Feld ein Eintrag ?
 if (pfad_und_file != "")
   {
    elemente  = pfad_und_file.split('.');
    extension = elemente[(elemente.length-1)];

    //Ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
    document.getElementById('legende_'+fieldname).style.color = "#ff0000";
   }
  else
   {
    //nein ändere die Warnfarben zurück
    document.getElementById('legende_'+fieldname).style.color = "#000000";
   }
}










function dbads_XXX_content_of_fileinfos_textfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 13.02.2009 - 13:54                                                    */
/* Last Update      : 19.02.2010 - 23:18                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt eines Formularfeldes mit Text für eine Fileinformation geändert. */
/********************************************************************************************/
{
 var fieldname           =          parameter_array[0];
 var maxlength           = parseInt(parameter_array[1]);
 var spalte              =          parameter_array[2];
 var bisher_rest_zeichen = parseInt(document.getElementById("fileinfos_"+fieldname+"_restzeichenþ"+spalte).innerHTML);
 var anzahl_rest_zeichen = maxlength - document.formular['fileinfos_'+fieldname+'_feldþ'+spalte].value.length;


 //Können noch weitere Zeichen ins Feld eingegeben werden ?
 if (anzahl_rest_zeichen >= 0)
   {
    //ja: Zeige die Anzahl der restlichen Zeichen an
    document.getElementById('fileinfos_'+fieldname+'_restzeichenþ'+spalte).innerHTML = anzahl_rest_zeichen;
    do_it_dbads ('show_colors',fieldname+'&fileinfos_'+fieldname+'_restzeichenþ'+spalte+'&rest&sign_off');
   }
  else
   {
    //nein: Keine weiteren Zeichen mehr möglich
    document.formular['fileinfos_'+fieldname+'_feldþ'+spalte].value = document.formular['fileinfos_'+fieldname+'_feldþ'+spalte].value.substr(0,maxlength);

    document.getElementById('fileinfos_'+fieldname+'_restzeichenþ'+spalte).innerHTML = "0";
    do_it_dbads ('show_colors',fieldname+'&fileinfos_'+fieldname+'_restzeichenþ'+spalte+'&rest&sign_on');

    alert ('Es können keine weiteren Zeichen mehr in das Feld eingegeben werden !');
   }

 //Hat sich der Feldinhalt gegenüber dem ursprünglichen Wert verändert ?
 if (document.formular['fileinfos_'+fieldname+'_feldþ'+spalte].value != document.formular['fileinfos_'+fieldname+'_originalþ'+spalte].value)
   {
    //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
    document.getElementById('fileinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#ff0000";

    //Ist der Feldname des geänderten Feldes noch nicht im versteckten Feld eingetragen ?
    if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") == -1)
      {
       //ja: trage ihn ein
       top.servicezugang_body.document.getElementById('fields_of_changed_content').value = top.servicezugang_body.document.getElementById('fields_of_changed_content').value + fieldname + "-";
      }

    //Setze zur Kennung oben in der grünen Zeile rechts neben dem gelben Test zusätzlich ein Sternchen als globale Kennung
    top.document.getElementById('change_indicator').innerHTML = "*";
   }
  else
   {
    //nein: ändere die Farbe des Legendetextes zurück
    document.getElementById('fileinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#000000";

    //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
    if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
      {
       //ja: nimm ihn heraus
       while (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.document.getElementById('fields_of_changed_content').value.replace(fieldname+"-","");}
      }

    //Ist das versteckte Feld mit dem Infos, welche Felder alle geändert wurden, leer ?
    if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value == "")
      {
       //ja: nimm die Kennung oben in der grünen Zeile rechts neben dem gelben Test wieder zurück
       top.document.getElementById('change_indicator').innerHTML = "";
      }
   }
}










function dbads_XXX_content_of_logikfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.10.2008 - 19:05                                                    */
/* Last Update      : 30.11.2008 - 22:59                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt bei zwei Logik-Radiobuttons geändert.                            */
/* Hier gibt es folgendes zu beachten: erst nach einer "Gedenksekunde" (hier mal 50 ms) nach*/
/* dem Mausklick wird der Mausklick im Radiobutton umgesetzt. Wenn ich die Radiobuttons     */
/* sofort mit dem Mausklick abfragen würde, würde die Routine falsch auswerten, denn zum    */
/* Zeitpunkt unmittelbar nach dem Mausklick wird noch die alte Situation erfasst. Erst nach */
/* der besagten "Gedenksekunde" erfasst die Routine die neue Situation und arbeitet korrekt.*/
/********************************************************************************************/
{
 var fieldname = parameter_array[0];
 var schleife  = parameter_array[1];

 if (schleife=="0")
   {
    //Rufe erst nach 50 Millisekunden die eigentliche Routine (sich selbst) auf
    setTimeout("do_it_dbads('content_of_logikfield_has_changed','"+fieldname+"&1')",50);
   }
  else
   {
    //Mache nun die eigentliche Untersuchung: ist der erste Radiobutton gedrückt ?
    if (document.formular[fieldname][0].checked)
      {
       //ja: entspricht der Restore-Wert dem ersten Radiobutton ?
       if ((document.formular['restore_'+fieldname].value) == (document.formular[fieldname][0].value))
         {
          //ja: ändere die Farbe des Legendetextes zurück
          do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
         }
        else
         {
          //nein: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
          do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
         }
      }
     else
      {
       //nein: ist der zweite Radiobutton gedrückt (bleibt ja auch nur übrig) ?
       if (document.formular[fieldname][1].checked)
         {
          //ja: entspricht der Restore-Wert dem zweiten Radiobutton ?
          if ((document.formular['restore_'+fieldname].value) == (document.formular[fieldname][1].value))
            {
             //ja: ändere die Farbe des Legendetextes zurück
             do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
            }
           else
            {
             //nein: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
             do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
            }
         }
      }
   }
}










function dbads_XXX_content_of_phonefield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 14.11.2010 - 17:27                                                    */
/* Last Update      : 15.11.2010 - 20:16                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Der User hat ein Bild zum Hinzufügen ausgewählt und dazu auf den Button "Durchsuchen..." */
/* gedrückt.                                                                                */
/********************************************************************************************/
{
 var fieldname             =          parameter_array[0];
 var maxlength             = parseInt(parameter_array[1]);
 var pruefe_durchwahl_feld = false;
 var pruefe_apparat_feld   = false;


 /********************************************************************************************
 Untersuche zuerst das Vorwahl-Feld
 ********************************************************************************************/
 zu_untersuchender_inhalt = document.formular["vorwahl_"+fieldname].value;

 //werfe alle Zahlen raus
 ergebnis = zu_untersuchender_inhalt.match(/\D+/);

 //Ist das Ergebis leer ?
 if (ergebnis != null)
   {
    //nein: es existieren neben Zahlen auch Buchstaben: nicht okay, nimm alle Buchstaben raus. Lass aber die Leerzeichen drin!
    zahlen_string       = "";
    buchstaben_gefunden = false;
    for (zeichen=0;zeichen<=document.formular["vorwahl_"+fieldname].value.length-1;zeichen++)
       {
        zeichen_im_feld = document.formular["vorwahl_"+fieldname].value.substr(zeichen,1);

        //Ist das Zeichen eine Zahl oder ein Leerzeichen ?
        if ((!isNaN(zeichen_im_feld)) || (zeichen_im_feld == " "))
          {
           //ja: Zeichen bzw. Leerzeichen merken
           zahlen_string = zahlen_string+zeichen_im_feld;
          }
         else
          {
           buchstaben_gefunden = true;
          }
       }

    //Entferne führende oder nachfolgende Leerzeichen
    zahlen_string = zahlen_string.replace (/^\s+/, '').replace (/\s+$/, '');

    //Nimm doppelte Leerzeichen hintereinander raus
    while (zahlen_string.indexOf("  ")>-1) {zahlen_string=zahlen_string.replace("  "," ");}

    //Zeichen wieder ins Feld einsetzen
    document.formular["vorwahl_"+fieldname].value = zahlen_string;

    //Wurden Buchstaben gefunden und abgelehnt ?
    if (buchstaben_gefunden)
      {
       //ja: Meldung an den User rauslassen
       alert('Geben Sie bitte in das Vorwahl-Feld ausschliesslich Zahlen oder Leerzeichen ein !');
      }
     else
     {
      pruefe_durchwahl_feld = true;
     }
   }
  else
   {
    pruefe_durchwahl_feld = true;
   }


 /********************************************************************************************
 Untersuche das Durchwahl-Feld, wenn das Vorwahl-Feld ok ist
 ********************************************************************************************/
 if (pruefe_durchwahl_feld)
   {
    zu_untersuchender_inhalt = document.formular["durchwahl_"+fieldname].value;

    //werfe alle Zahlen raus
    ergebnis = zu_untersuchender_inhalt.match(/\D+/);

    //Ist das Ergebis leer ?
    if (ergebnis != null)
      {
       //nein: es existieren neben Zahlen auch Buchstaben: nicht okay, nimm alle Buchstaben raus. Lass aber die Leerzeichen drin!
       zahlen_string       = "";
       buchstaben_gefunden = false;
       for (zeichen=0;zeichen<=document.formular["durchwahl_"+fieldname].value.length-1;zeichen++)
          {
           zeichen_im_feld = document.formular["durchwahl_"+fieldname].value.substr(zeichen,1);

           //Ist das Zeichen eine Zahl oder ein Leerzeichen ?
           if ((!isNaN(zeichen_im_feld)) || (zeichen_im_feld == " "))
             {
              //ja: Zeichen bzw. Leerzeichen merken
              zahlen_string = zahlen_string+zeichen_im_feld;
             }
            else
             {
              buchstaben_gefunden = true;
             }
          }

       //Entferne führende oder nachfolgende Leerzeichen
       zahlen_string = zahlen_string.replace (/^\s+/, '').replace (/\s+$/, '');

       //Nimm doppelte Leerzeichen hintereinander raus
       while (zahlen_string.indexOf("  ")>-1) {zahlen_string=zahlen_string.replace("  "," ");}

       //Zeichen wieder ins Feld einsetzen
       document.formular["durchwahl_"+fieldname].value = zahlen_string;

       //Wurden Buchstaben gefunden und abgelehnt ?
       if (buchstaben_gefunden)
         {
          //ja: Meldung an den User rauslassen
          alert('Geben Sie bitte in das Durchwahl-Feld ausschliesslich Zahlen oder Leerzeichen ein !');
         }
        else
         {
          pruefe_apparat_feld = true;
         }
      }
     else
      {
       pruefe_apparat_feld = true;
      }
   }


 /********************************************************************************************
 Untersuche das Apparat-Feld, wenn das Durchwahl-Feld ok ist
 ********************************************************************************************/
 if (pruefe_apparat_feld)
   {
    zu_untersuchender_inhalt = document.formular["apparat_"+fieldname].value;

    //werfe alle Zahlen raus
    ergebnis = zu_untersuchender_inhalt.match(/\D+/);

    //Ist das Ergebis leer ?
    if (ergebnis != null)
      {
       //nein: es existieren neben Zahlen auch Buchstaben: nicht okay, nimm alle Buchstaben raus. Lass aber die Leerzeichen drin!
       zahlen_string       = "";
       buchstaben_gefunden = false;
       for (zeichen=0;zeichen<=document.formular["apparat_"+fieldname].value.length-1;zeichen++)
          {
           zeichen_im_feld = document.formular["apparat_"+fieldname].value.substr(zeichen,1);

           //Ist das Zeichen eine Zahl oder ein Leerzeichen ?
           if ((!isNaN(zeichen_im_feld)) || (zeichen_im_feld == " "))
             {
              //ja: Zeichen bzw. Leerzeichen merken
              zahlen_string = zahlen_string+zeichen_im_feld;
             }
            else
             {
              buchstaben_gefunden = true;
             }
          }

       //Entferne führende oder nachfolgende Leerzeichen
       zahlen_string = zahlen_string.replace (/^\s+/, '').replace (/\s+$/, '');

       //Nimm doppelte Leerzeichen hintereinander raus
       while (zahlen_string.indexOf("  ")>-1) {zahlen_string=zahlen_string.replace("  "," ");}

       //Zeichen wieder ins Feld einsetzen
       document.formular["apparat_"+fieldname].value = zahlen_string;

       //Wurden Buchstaben gefunden und abgelehnt ?
       if (buchstaben_gefunden)
         {
          //ja: Meldung an den User rauslassen
          alert('Geben Sie bitte in das Apparat-Feld ausschliesslich Zahlen oder Leerzeichen ein !');
         }
      }
   }


 /********************************************************************************************
 Passe die Nebenanzeigen des Feldes an
 ********************************************************************************************/
 //nein: ermittle die noch verbleibende Anzahl an mögliche Zeichen
 anzahl_rest_zeichen = maxlength - document.formular["vorwahl_"+fieldname].value.length  - document.formular["durchwahl_"+fieldname].value.length  - document.formular["apparat_"+fieldname].value.length;

 //Können noch weitere Zeichen ins Feld eingegeben werden ?
 if (anzahl_rest_zeichen>=0)
   {
    //ja: zeige die Anzahl der restlichen Zeichen an
    document.getElementById('rest_zeichen_'+fieldname).innerHTML = anzahl_rest_zeichen;

    //Zeigt die Anzeige bereits 0 an ?
    if (anzahl_rest_zeichen==0)
      {
       //ja: färbe die Anzeige rot
       do_it_dbads ('show_colors', fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
      }
     else
      {
       //nein: färbe die Anzeige normal-grau
       do_it_dbads ('show_colors', fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
      }
   }
  else
   {
    //nein: keine weiteren Zeichen mehr möglich
    wo_is_focus = document.formular["focus_"+fieldname].value;
    switch (wo_is_focus)
     {
      case "vorwahl":
      max_anzahl_zeichen_in_feld = maxlength - document.formular["durchwahl_"+fieldname].value.length - document.formular["apparat_"+fieldname].value.length;
      document.formular["vorwahl_"+fieldname].value = document.formular["vorwahl_"+fieldname].value.substr(0,max_anzahl_zeichen_in_feld);
      break;

      case "durchwahl":
      max_anzahl_zeichen_in_feld = maxlength - document.formular["vorwahl_"+fieldname].value.length - document.formular["apparat_"+fieldname].value.length;
      document.formular["durchwahl_"+fieldname].value = document.formular["durchwahl_"+fieldname].value.substr(0,max_anzahl_zeichen_in_feld);
      break;

      case "apparat":
      max_anzahl_zeichen_in_feld = maxlength - document.formular["vorwahl_"+fieldname].value.length - document.formular["durchwahl_"+fieldname].value.length;
      document.formular["apparat_"+fieldname].value = document.formular["apparat_"+fieldname].value.substr(0,max_anzahl_zeichen_in_feld);
      break;
     }

    document.getElementById('rest_zeichen_'+fieldname).innerHTML = "0";
    do_it_dbads ('show_colors', fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
    alert ('Es können keine weiteren Zahlen mehr eingegeben werden !!');
   }

 //Lege fest was passiert, wenn der User auf die Striche oberhalb oder unterhalb einer Option klickt
 switch (document.formular['country_code_'+fieldname].value)
  {
   case "striche_oben": //Nimm die Option eine Zeile weiter unten
   document.formular['country_code_'+fieldname].selectedIndex = document.formular['country_code_'+fieldname].selectedIndex+1;
   document.formular['code_'+fieldname].value = document.formular['country_code_'+fieldname].options[document.formular['country_code_'+fieldname].selectedIndex].value;
   break;

   case "striche_unten": //Nimm die Option eine Zeile weiter oben
   document.formular['country_code_'+fieldname].selectedIndex = document.formular['country_code_'+fieldname].selectedIndex-1;
   document.formular['code_'+fieldname].value = document.formular['country_code_'+fieldname].options[document.formular['country_code_'+fieldname].selectedIndex].value;
   break;
  }

 //Ermittle den ursprünglichen Telefonwert
 restore_string    = document.formular['restore_'+fieldname].value;

 //Ermittle den String aus den geänderten Feldern
 string_aus_felder = document.formular['code_'+fieldname].value+"/"+document.formular['vorwahl_'+fieldname].value+"/"+document.formular['durchwahl_'+fieldname].value+"/"+document.formular['apparat_'+fieldname].value;

 //Trage den geänderten Wert in das Feld das für die Abspeicherung des Datums in die DBoss-Datenbanken zuständig ist
 document.formular[fieldname].value = document.formular['code_'+fieldname].value+"|"+document.formular['vorwahl_'+fieldname].value+"|"+document.formular['durchwahl_'+fieldname].value+"|"+document.formular['apparat_'+fieldname].value;

 //Wurden die Felder gegenüber dem ursprünglichen Telefonwert geändert ?
 if (string_aus_felder != restore_string)
   {
    //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
   }
  else
   {
    //nein: ändere die Farbe des Legendetextes zurück
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
   }
}










function dbads_XXX_content_of_picturefield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 25.09.2008 - 18:36                                                    */
/* Last Update      : 09.03.2010 - 10:51                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat ein Bild zum Hinzufügen ausgewählt und dazu auf den Button "Durchsuchen..." */
/* gedrückt.                                                                                */
/********************************************************************************************/
{
 var kunde         = parameter_array[0];
 var fieldname     = parameter_array[1];
 var pfad_und_bild = document.formular['pfad_fuer_neues_bild_'+fieldname].value;


 //Ist im Feld ein Eintrag ?
 if (pfad_und_bild != "")
   {
    elemente  = pfad_und_bild.split('.');
    extension = elemente[(elemente.length-1)];

    if ((extension=="JPG") || (extension=="jpg"))
      {
       //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
       document.getElementById('legende_'+fieldname).style.color = "#ff0000";
      }
     else
      {
       alert('Bei dem von Ihnen ausgewählten Bild handelt es sich wahrscheinlich nicht um ein Bild im JPG-Format !\n\nBitte wählen Sie ausschliesslich JPG-Bilder aus, da es bei anderen\nBildformaten sonst zu Abbildungsfehlern auf Ihrer Webseite kommt.\n\nIn Kürze wird es die Möglichkeit geben neben JPG auch PNG-, GIF-, und BMP-Bilder zu speichern.');
      }
   }
  else
   {
    //nein ändere die Warnfarben zurück
    document.getElementById('legende_'+fieldname).style.color = "#000000";
   }
}










function dbads_XXX_content_of_pictureinfos_selectfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 04.06.2010 - 19:37                                                    */
/* Last Update      : 04.06.2010 - 19:37                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt eines Auswahlformularfeldes für eine Bildinformation geändert.   */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];
 var spalte    = parameter_array[1];


 //Hat sich der Feldinhalt gegenüber dem ursprünglichen Wert verändert ?
 if (document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value != document.formular['pictureinfos_'+fieldname+'_originalþ'+spalte].value)
   {
    //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
    document.getElementById('pictureinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#ff0000";

    //Ist der Feldname des geänderten Feldes noch nicht im versteckten Feld eingetragen ?
    if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") == -1)
      {
       //ja: trage ihn ein
       top.servicezugang_body.document.getElementById('fields_of_changed_content').value = top.servicezugang_body.document.getElementById('fields_of_changed_content').value + fieldname + "-";
      }

    //Setze zur Kennung oben in der grünen Zeile rechts neben dem gelben Test zusätzlich ein Sternchen als globale Kennung
    top.document.getElementById('change_indicator').innerHTML = "*";
   }
  else
   {
    //nein: ändere die Farbe des Legendetextes zurück
    document.getElementById('pictureinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#000000";

    //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
    if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
      {
       //ja: nimm ihn heraus
       while (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.document.getElementById('fields_of_changed_content').value.replace(fieldname+"-","");}
      }

    //Ist das versteckte Feld mit dem Infos, welche Felder alle geändert wurden, leer ?
    if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value == "")
      {
       //ja: nimm die Kennung oben in der grünen Zeile rechts neben dem gelben Test wieder zurück
       top.document.getElementById('change_indicator').innerHTML = "";
      }
   }

}










function dbads_XXX_content_of_pictureinfos_textfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 25.10.2008 - 13:23                                                    */
/* Last Update      : 07.01.2010 - 18:37                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt eines Formularfeldes mit Text für eine Bildinformation geändert. */
/********************************************************************************************/
{
 var fieldname           =          parameter_array[0];
 var maxlength           = parseInt(parameter_array[1]);
 var spalte              =          parameter_array[2];
 var bisher_rest_zeichen = parseInt(document.getElementById("pictureinfos_"+fieldname+"_restzeichenþ"+spalte).innerHTML);
 var anzahl_rest_zeichen = maxlength - document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value.length;

 //Können noch weitere Zeichen ins Feld eingegeben werden ?
 if (anzahl_rest_zeichen >= 0)
   {
    //ja: Zeige die Anzahl der restlichen Zeichen an
    document.getElementById('pictureinfos_'+fieldname+'_restzeichenþ'+spalte).innerHTML = anzahl_rest_zeichen;

    do_it_dbads ('show_colors',fieldname+'&pictureinfos_'+fieldname+'_restzeichenþ'+spalte+'&rest&sign_off');
   }
  else
   {
    //nein: Keine weiteren Zeichen mehr möglich
    document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value = document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value.substr(0,maxlength);

    document.getElementById('pictureinfos_'+fieldname+'_restzeichenþ'+spalte).innerHTML = "0";
    do_it_dbads ('show_colors',fieldname+'&pictureinfos_'+fieldname+'_restzeichenþ'+spalte+'&rest&sign_on');

    alert ('Es können keine weiteren Zeichen mehr in das Feld eingegeben werden !');
   }

 //Hat sich der Feldinhalt gegenüber dem ursprünglichen Wert verändert ?
 if (document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value != document.formular['pictureinfos_'+fieldname+'_originalþ'+spalte].value)
   {
    //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
    document.getElementById('pictureinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#ff0000";

    //Ist der Feldname des geänderten Feldes noch nicht im versteckten Feld eingetragen ?
    if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") == -1)
      {
       //ja: trage ihn ein
       top.servicezugang_body.document.getElementById('fields_of_changed_content').value = top.servicezugang_body.document.getElementById('fields_of_changed_content').value + fieldname + "-";
      }

    //Setze zur Kennung oben in der grünen Zeile rechts neben dem gelben Test zusätzlich ein Sternchen als globale Kennung
    top.document.getElementById('change_indicator').innerHTML = "*";
   }
  else
   {
    //nein: ändere die Farbe des Legendetextes zurück
    document.getElementById('pictureinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#000000";

    //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
    if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
      {
       //ja: nimm ihn heraus
       while (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.document.getElementById('fields_of_changed_content').value.replace(fieldname+"-","");}
      }

    //Ist das versteckte Feld mit dem Infos, welche Felder alle geändert wurden, leer ?
    if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value == "")
      {
       //ja: nimm die Kennung oben in der grünen Zeile rechts neben dem gelben Test wieder zurück
       top.document.getElementById('change_indicator').innerHTML = "";
      }
   }
}










function dbads_XXX_content_of_selectfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 11.10.2008 - 23:41                                                    */
/* Last Update      : 10.11.2008 - 19:55                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt eines Selectfeldes geändert.                                     */
/********************************************************************************************/
{
 var fieldname      = parameter_array[0];
 var restore_value  = document.formular['restore_'+fieldname].value;
 var selected_index = document.formular[fieldname].selectedIndex;

 if (selected_index==restore_value)
   {
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
   }
  else
   {
    do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
   }
}










function dbads_XXX_content_of_textfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 25.09.2008 - 18:36                                                    */
/* Last Update      : 19.04.2010 - 11:19                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt eines Formularfeldes mit Text geändert.                          */
/********************************************************************************************/
{
 var fieldname  =          parameter_array[0];
 var maxlength  = parseInt(parameter_array[1]);
 var inhaltstyp =          parameter_array[2];


 /********************************************************************************************
 Ausfüllen des Feldes
 ********************************************************************************************/
 switch (inhaltstyp)
  {
   //Allgemines Textfeld
   case "string":
   //Hier werden alle Zeichen zugelassen !
   break;

   //Reines Zahlenfeld
   case "numeric":
   if (isNaN(document.formular[fieldname].value))
     {
      //ja: nimm alle Nicht-Zahlen aus dem Feld
      zahlen_string = "";
      for (zeichen=0;zeichen<=document.formular[fieldname].value.length-1;zeichen++)
         {
          zeichen_im_feld = document.formular[fieldname].value.substr(zeichen,1);

          //Ist das Zeichen eine Zahl ?
          if (!isNaN(zeichen_im_feld))
            {
             //ja: Zeichen merken
             zahlen_string = zahlen_string+zeichen_im_feld;
            }
         }

      document.formular[fieldname].value = zahlen_string;

      //Meldung an den User
      alert('Geben Sie bitte in dieses Feld ausschliesslich Zahlen ein !');
     }
   break;

   //Dezimales Zahlenfeld
   case "floating":
   //Prüfe das Vorkommafeld
   if (isNaN(document.formular[fieldname+"_vordezimal"].value))
     {
      //ja: nimm alle Nicht-Zahlen aus dem Feld
      zahlen_string = "";
      for (zeichen=0;zeichen<=document.formular[fieldname+"_vordezimal"].value.length-1;zeichen++)
         {
          zeichen_im_feld = document.formular[fieldname+"_vordezimal"].value.substr(zeichen,1);

          //Ist das Zeichen eine Zahl ?
          if (!isNaN(zeichen_im_feld))
            {
             //ja: Zeichen merken
             zahlen_string = zahlen_string+zeichen_im_feld;
            }
         }

      document.formular[fieldname+"_vordezimal"].value = zahlen_string;

      //Meldung an den User
      alert('Geben Sie bitte in dieses Feld ausschliesslich Zahlen ein !');
     }

   //Prüfe das Nachkommafeld
   if (isNaN(document.formular[fieldname+"_nachdezimal"].value))
     {
      //ja: nimm alle Nicht-Zahlen aus dem Feld
      zahlen_string = "";
      for (zeichen=0;zeichen<=document.formular[fieldname+"_nachdezimal"].value.length-1;zeichen++)
         {
          zeichen_im_feld = document.formular[fieldname+"_nachdezimal"].value.substr(zeichen,1);

          //Ist das Zeichen eine Zahl ?
          if (!isNaN(zeichen_im_feld))
            {
             //ja: Zeichen merken
             zahlen_string = zahlen_string+zeichen_im_feld;
            }
         }

      document.formular[fieldname+"_nachdezimal"].value = zahlen_string;

      //Meldung an den User
      alert('Geben Sie bitte in dieses Feld ausschliesslich Zahlen ein !');
     }
   break;
  }


 /********************************************************************************************
 Anpassen des Restzeichenfeldes
 ********************************************************************************************/
 switch (inhaltstyp)
  {
   //Allgemines Textfeld & reines Zahlenfeld werden hier gleichbehandelt
   case "numeric": case "string":
   //Trage das eingegebene Zeichen ins Feld ein
   anzahl_rest_zeichen = maxlength - document.formular[fieldname].value.length;

   //Können noch weitere Zeichen ins Feld eingegeben werden ?
   if (anzahl_rest_zeichen>=0)
     {
      //ja: Zeige die Anzahl der restlichen Zeichen an
      document.getElementById('rest_zeichen_'+fieldname).innerHTML = anzahl_rest_zeichen;

      //Zeigt die Anzeige bereits 0 an ?
      if (anzahl_rest_zeichen==0)
        {
         //ja: färbe die Anzeige rot
         do_it_dbads ('show_colors', fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
        }
       else
        {
         //nein: färbe die Anzeige normal-grau
         do_it_dbads ('show_colors', fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
        }
     }
    else
     {
      //nein: Keine weiteren Zeichen mehr möglich
      document.formular[fieldname].value = document.formular[fieldname].value.substr(0,maxlength);
      document.getElementById('rest_zeichen_'+fieldname).innerHTML             = "0";
      do_it_dbads ('show_colors', fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
      alert ('Es können keine weiteren Zeichen mehr eingegeben werden !!');
     }

   //Hat sich der Feldinhalt gegenüber dem ursprünglichen Wert verändert ?
   if (document.formular[fieldname].value!=document.formular['restore_'+fieldname].value)
     {
      //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
      do_it_dbads ('show_colors', fieldname+'&legende_'+fieldname+'&changed&sign_on');
     }
    else
     {
      //nein: ändere die Farbe des Legendetextes zurück
      do_it_dbads ('show_colors', fieldname+'&legende_'+fieldname+'&changed&sign_off');
     }
   break;

   //Dezimales Zahlenfeld
   case "floating":
   //Aus Feld: Feldwert ermitteln
   feldwert_vorkomma  = document.formular[fieldname+"_vordezimal"].value;
   feldwert_nachkomma = document.formular[fieldname+"_nachdezimal"].value;


   //Aus Restore-Feld: Maximal-String
   restorefeld_inhalt    = document.getElementById('restore_'+fieldname).value;
   elemente              = restorefeld_inhalt.split(" | ");
   max_string            = elemente[1];
   elemente              = max_string.split(" - ");
   max_stellen_vorkomma  = parseInt(elemente[0]);
   max_stellen_nachkomma = parseInt(elemente[1]);


   //Aus Restore-String: Vorkomma-Anteil und Nachkomma-Anteil
   restorefeld_inhalt    = document.getElementById('restore_'+fieldname).value;
   elemente              = restorefeld_inhalt.split(" | ");
   restore_string        = elemente[0];
   elemente              = restore_string.split(" komma ");
   restore_vorkomma      = parseInt(elemente[0]);
   restore_nachkomma     = parseInt(elemente[1]);


   //Berechne neue Anzahl der Restzeichen
   neue_anzahl_rest_zeichen_vorkomma  = max_stellen_vorkomma  - feldwert_vorkomma.length;
   neue_anzahl_rest_zeichen_nachkomma = max_stellen_nachkomma - feldwert_nachkomma.length;


   //Vorkomma-Anteil untersuchen
   rest_zeichen_inhalt = document.getElementById('rest_zeichen_'+fieldname).innerHTML;

   //Hat der User beim Vorkomma-Anteil einfach das Feld ganz geleert ?
   if (feldwert_vorkomma == "")
     {
      //ja: setze dort eine Null hinein
      document.formular[fieldname+"_vordezimal"].value = "0";

      //Baue die Restzeichenanzeige neu auf
      elemente               = rest_zeichen_inhalt.split(" - ");
      rest_zeichen_vorkomma  = max_stellen_vorkomma - 1;
      rest_zeichen_nachkomma = parseInt(elemente[1]);
     }
    else
     {
      //nein: hat der User eine Zahl im Vorkomma-Anteil eingetragen und es steht eine Null davor ?
      if ((feldwert_vorkomma.length > 1) && (feldwert_vorkomma.substr(0,1) == "0"))
        {
         //ja: nimm die Null davor weg
         document.formular[fieldname+"_vordezimal"].value = document.formular[fieldname+"_vordezimal"].value.substr(1,document.formular[fieldname+"_vordezimal"].value.length-1);

         //Erhöhe die Restanzeige um ein Zeichen
         elemente               = rest_zeichen_inhalt.split(" - ");
         rest_zeichen_vorkomma  = max_stellen_vorkomma - 1;
         rest_zeichen_nachkomma = parseInt(elemente[1]);
        }
       else
        {
         //nein: hat der User beim Vorkomma-Anteil ein Zeichen zuviel eingetragen ?
         if (neue_anzahl_rest_zeichen_vorkomma < 0)
           {
            //ja: nimm das letzte Zeichen wieder raus
            document.formular[fieldname+"_vordezimal"].value = document.formular[fieldname+"_vordezimal"].value.substr(0,max_stellen_vorkomma);
            alert ('Es können keine weiteren Vorkomma-Zeichen mehr eingegeben werden !!');

            //Setze die Restanzeige
            elemente               = rest_zeichen_inhalt.split(" - ");
            rest_zeichen_vorkomma  = 0;
            rest_zeichen_nachkomma = parseInt(elemente[1]);
           }
          else
           {
            //nein: der User hat innerhalb der angegebenen Grenzen entweder eine Zahl hinzugefügt oder weggenommen
            elemente               = rest_zeichen_inhalt.split(" - ");
            rest_zeichen_vorkomma  = max_stellen_vorkomma - feldwert_vorkomma.length;
            rest_zeichen_nachkomma = parseInt(elemente[1]);
           }
        }
     }

   //Trage die aktuellen Vorkomma-Werte zur Restzeichen-Anzeige ein
   document.getElementById('rest_zeichen_'+fieldname).innerHTML = rest_zeichen_vorkomma + " - " + rest_zeichen_nachkomma;


   //Nachkomma-Anteil untersuchen
   rest_zeichen_inhalt = document.getElementById('rest_zeichen_'+fieldname).innerHTML;

   //Hat der User beim Nachkomma-Anteil einfach das Feld ganz geleert ?
   if (feldwert_nachkomma == "")
     {
      //ja: setze dort eine Null hinein
      document.formular[fieldname+"_nachdezimal"].value = "0";

      //Baue die Restzeichenanzeige neu auf
      elemente               = rest_zeichen_inhalt.split(" - ");
      rest_zeichen_vorkomma  = parseInt(elemente[0]);
      rest_zeichen_nachkomma = max_stellen_nachkomma-1;
     }
    else
     {
      //nein: hat der User eine Zahl im Nachkomma-Anteil eingetragen und es steht eine Null davor ?
      if ((feldwert_nachkomma.length > 1) && (feldwert_nachkomma.substr(0,1) == "0"))
        {
         //ja: nimm die Null davor weg
         document.formular[fieldname+"_nachdezimal"].value = document.formular[fieldname+"_nachdezimal"].value.substr(1,document.formular[fieldname+"_nachdezimal"].value.length-1);

         //Erhöhe die Restanzeige um ein Zeichen
         elemente               = rest_zeichen_inhalt.split(" - ");
         rest_zeichen_vorkomma  = parseInt(elemente[0]);
         rest_zeichen_nachkomma = max_stellen_nachkomma -1;
        }
       else
        {
         //nein: hat der User beim Nachkomma-Anteil ein Zeichen zuviel eingetragen ?
         if (neue_anzahl_rest_zeichen_nachkomma < 0)
           {
            //ja: nimm das letzte Zeichen wieder raus
            document.formular[fieldname+"_nachdezimal"].value = document.formular[fieldname+"_nachdezimal"].value.substr(0,max_stellen_nachkomma);
            alert ('Es können keine weiteren Nachkomma-Zeichen mehr eingegeben werden !!');

            //Setze die Restanzeige
            elemente               = rest_zeichen_inhalt.split(" - ");
            rest_zeichen_vorkomma  = parseInt(elemente[0]);
            rest_zeichen_nachkomma = 0;
           }
          else
           {
            //nein: der User hat innerhalb der angegebenen Grenzen entweder eine Zahl hinzugefügt oder weggenommen
            elemente               = rest_zeichen_inhalt.split(" - ");
            rest_zeichen_vorkomma  = parseInt(elemente[0]);
            rest_zeichen_nachkomma = max_stellen_nachkomma - feldwert_nachkomma.length;
           }
        }
     }

   //Trage die aktuellen Nachkomma-Werte zur Restzeichen-Anzeige ein
   document.getElementById('rest_zeichen_'+fieldname).innerHTML = rest_zeichen_vorkomma + " - " + rest_zeichen_nachkomma;


   //Zeigt die Restanzeige bereits "0 - 0" an ?
   if (document.getElementById('rest_zeichen_'+fieldname).innerHTML == "0 - 0")
     {
      //ja: färbe die Anzeige rot
      do_it_dbads ('show_colors', fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
     }
    else
     {
      //nein: färbe die Anzeige normal-grau
      do_it_dbads ('show_colors', fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
     }

   //Hat sich der Feldinhalt gegenüber dem ursprünglichen Wert verändert ?
   if ((feldwert_vorkomma != restore_vorkomma) || (feldwert_nachkomma != restore_nachkomma))
     {
      //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
      do_it_dbads ('show_colors', fieldname+'&legende_'+fieldname+'&changed&sign_on');
     }
    else
     {
      //nein: ändere die Farbe des Legendetextes zurück
      do_it_dbads ('show_colors', fieldname+'&legende_'+fieldname+'&changed&sign_off');
     }

   //Trage abschliessen den Floatingwert in das versteckte Feld ein, damit beim abspeichern des Datensatzes dieser zentrale Wert herangezogen wird
   document.formular[fieldname].value = document.formular[fieldname+"_vordezimal"].value + "." + document.formular[fieldname+"_nachdezimal"].value;
   break;
  }
}










function dbads_XXX_content_of_validityfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.01.2010 - 15:21                                                    */
/* Last Update      : 04.11.2010 - 14:43                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Der User hat bei einem datensatz auf die Checkboxen "Gültig/Nicht gültig" gedrückt.      */
/********************************************************************************************/
{
 var status = parameter_array[0];

 if (status == "gueltig")
   {
    document.getElementById('datensatz_gueltig').style.color    = "#009900";
    document.getElementById('datensatz_ungueltig').style.color  = "#000000";
   }

 if (status == "ungueltig")
   {
    document.getElementById('datensatz_gueltig').style.color    = "#000000";
    document.getElementById('datensatz_ungueltig').style.color  = "#bb0000";
   }

 if (((document.getElementById('validity_origin').value=="false") && (status=="gueltig")) || ((document.getElementById('validity_origin').value=="true") && (status=="ungueltig")))
   {
    //Setze zur Kennung oben in der grünen Zeile rechts neben dem gelben Test zusätzlich ein Sternchen als globale Kennung dass der Datensatz geändert wurde
    top.document.getElementById('change_indicator').innerHTML = "*";

    alert('Um die geänderte Gültigkeit in dem Datensatz zu speichern, drücken Sie bitte auf \"Datensatz speichern\" !');
   }
  else
   {
    //Setze die Kennung oben in der grünen Zeile rechts neben dem gelben Test wieder zurück
    top.document.getElementById('change_indicator').innerHTML = "";
   }
}










function dbads_XXX_count_website_sperre (parameter_array)
/********************************************************************************************/
/* First Release    : 07.01.2009 - 00:13                                                    */
/* Last Update      : 07.01.2009 - 15:01                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/*                                                                                          */
/********************************************************************************************/
{
 var delta_sperre = parameter_array[0];

 delta_tage        = Math.floor(delta_sperre/(60*60*24));

 rest_delta_sperre = delta_sperre - (delta_tage*60*60*24);
 delta_stunden     = Math.floor(rest_delta_sperre/(60*60));
 if (delta_stunden<10) {delta_stunden_string = "0"+delta_stunden;} else {delta_stunden_string = delta_stunden;}

 rest_delta_sperre = rest_delta_sperre - (delta_stunden*60*60);
 delta_minuten     = Math.floor(rest_delta_sperre/60);
 if (delta_minuten<10) {delta_minuten_string = "0"+delta_minuten;} else {delta_minuten_string = delta_minuten;}

 rest_delta_sperre = rest_delta_sperre - (delta_minuten*60);
 delta_sekunden    = rest_delta_sperre;
 if (delta_sekunden<10) {delta_sekunden_string = "0"+delta_sekunden;} else {delta_sekunden_string = delta_sekunden;}



 if (delta_stunden<10)  {delta_stunden_string  = "0"+delta_stunden;}  else {delta_stunden_string  = delta_stunden;}
 if (delta_minuten<10)  {delta_minuten_string  = "0"+delta_minuten;}  else {delta_minuten_string  = delta_minuten;}
 if (delta_sekunden<10) {delta_sekunden_string = "0"+delta_sekunden;} else {delta_sekunden_string = delta_sekunden;}

 //Gibt es mehr als 1 Tag ?
 if (delta_tage > 0)
   {
    //ja: zeige die Tage, Stunde, Minuten und Sekunden an
    if (delta_tage == 1) {tag_string = "Tag";} else {tag_string = "Tage";}

    if (document.getElementById('sperr_zeit'))
      {
       document.getElementById('sperr_zeit').innerHTML = delta_tage+" "+tag_string+", "+delta_stunden_string+"h "+delta_minuten_string+"min "+delta_sekunden_string+"sec";
      }
   }
  else
   {
    //nein: gibt es mehr als 1 Stunde ?
    if (delta_stunden > 0)
      {
       //ja: zeige die Stunden, Minuten und Sekunden an
       if (document.getElementById('sperr_zeit'))
         {
          document.getElementById('sperr_zeit').innerHTML = delta_stunden_string+"h "+delta_minuten_string+"min "+delta_sekunden_string+"sec";
         }
      }
     else
      {
       //nein: gibt es mehr als 1 Minute ?
       if (delta_minuten > 0)
         {
          //ja: zeige die Minuten und Sekunden an
          if (document.getElementById('sperr_zeit'))
            {
             document.getElementById('sperr_zeit').innerHTML = delta_minuten_string+"min "+delta_sekunden_string+"sec";
            }
         }
        else
         {
          //nein: gibt es weniger als 10 Sekunden ?
          if (delta_sekunden < 10)
            {
             //ja: zeige nur noch die Sekunden (und ohne eine führende Null) an
             delta_sekunden_string = delta_sekunden;
            }

          if (document.getElementById('sperr_zeit'))
            {
             document.getElementById('sperr_zeit').innerHTML = delta_sekunden_string+" sec";
            }
         }
      }
   }



 //Nun ist es 1 Sekunde weniger
 delta_sperre--;

 if (delta_sperre>=0)
   {
    //Rufe die eigene Routine zur erneuten Darstellung der verbleibenden Zeit nach jeweils 1 Sekunden wieder auf
    setTimeout("do_it_dbads('count_website_sperre','"+delta_sperre+"')",1000);
   }
  else
   {
    //Zeige den abgelaufenen Countdown noch 3 Sekunden lang an und rufe dann die Website neu auf
    setTimeout('document.location.reload()',3000);
   }


 //Zege jetzt die aktuelle Uhrzeit in der Fußleiste der Sperrwebseite an
 jetzt       = new Date();
 js_jahr     = jetzt.getFullYear();
 js_monat    = jetzt.getMonth();
 js_tag      = jetzt.getDate();
 js_stunden  = jetzt.getHours();
 js_minuten  = jetzt.getMinutes();
 js_sekunden = jetzt.getSeconds();

 //Ermittle die Sekunden
 if (parseInt(js_sekunden) < 10)
   {
    //ja: stelle dem Wert eine Null voran
    js_sekunden = "0" + js_sekunden;
   }
 document.getElementById('sekunden').innerHTML = js_sekunden;

 //Ermittle die Minuten und trage die neuen Minuten nur am Beginn einer neuen Minute ein
 if (parseInt(js_sekunden) == 0)
   {
    if (parseInt(js_minuten) < 10)
      {
       //ja: stelle dem Wert eine Null voran
       js_minuten = "0" + js_minuten;
      }
    document.getElementById('minuten').innerHTML  = js_minuten;
   }

 //Ermittle die Stunden und trage die neuen Stunde nur am Beginn einer neuen Stunde ein
 if (parseInt(js_minuten) == 0)
   {
    if (parseInt(js_stunden) < 10)
      {
       //ja: stelle dem Wert eine Null voran
       js_stunden = "0" + js_stunden;
      }
    document.getElementById('stunden').innerHTML  = js_stunden;
   }

 //Ermittle die Tage und trage den neuen Tag nur am Beginn eines neuen Tages ein
 if (parseInt(js_stunden) == 0)
   {
    if (parseInt(js_tag) < 10)
      {
       //ja: stelle dem Wert eine Null voran
       js_tag = "0" + js_tag;
      }
    document.getElementById('tag').innerHTML  = js_tag;
   }

 //Ermittle die Monate und trage den neuen Monat nur am Beginn eines neuen Monats ein
 if (parseInt(js_tag) == 1)
   {
    if (parseInt(js_monat) < 10)
      {
       //ja: stelle dem Wert eine Null voran
       js_monat = "0" + js_monat;
      }
    document.getElementById('monat').innerHTML  = js_monat;
   }

 //Ermittle die Jahre und trage das neue Jahr nur am Beginn eines neuen Jahres ein
 if (parseInt(js_monat) == 1)
   {
    document.getElementById('jahr').innerHTML  = js_jahr;
   }
}










function dbads_XXX_dankes_info_an_user (parameter_array)
/********************************************************************************************
Der User hat seine Anforderung zugeschickt, dass er seine Zugangsdaten per Email haben will.
Hier kommt die zeitverzögerte Bestätigung seiner Anfrage.
********************************************************************************************/
{
 window.opener.setTimeout("alert('Vielen Dank für Ihre Anfrage !\\n\\n\\nIhre Informationen werden unverzüglich an die zuständige Stelle weitergeleitet.')",1000);
 window.close();
}










function dbads_XXX_delete_file (parameter_array)
/********************************************************************************************/
/* First Releae     : 13.01.2009 - 11:14                                                    */
/* Last Update      : 23.06.2010 - 09:13                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User will ein upgeloadtes File über dem Servicebereich löschen.                      */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7]; //Hier: Pfad und Dateiname der zu löschenden Datei


 //Extrahiere aus der angegebenen ID den Dateinamen des Files
 elemente = id.split('þ');
 filename = elemente[1];

 antwort = confirm ('Möchten Sie tatsächlich die diesem Datensatz zugeordnete Datei\n\n\"'+filename+'\"\n\nunwiderruflich aus der Datenbank löschen ?\n\n\nAchtung: Diesem File eventuell zugeordnete File-Informationen werden damit ebenfalls gelöscht!\n\n');

 if (antwort)
   {
    document.location.href = "/"+von_kunde+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
   }
}











function dbads_XXX_delete_picture (parameter_array)
/********************************************************************************************/
/* First Releae     : 25.09.2008 - 18:36                                                    */
/* Last Update      : 10.12.2008 - 12:42                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will ein Bild über dem Servicebereich löschen.                                  */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7]; //Hier: Pfad und Dateiname des zu löschenden Bildes


 //Extrahiere aus der angegebenen ID den Dateinamen des Bildes
 elemente = id.split('þ');
 bildname = elemente[1];

 antwort = confirm ('Möchten Sie tatsächlich das Bild \"'+bildname+'\" unwiderruflich löschen ?');

 if (antwort)
   {
    document.location.href = "/"+von_kunde+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
   }
}











function dbads_XXX_delete_record (parameter_array)
/********************************************************************************************/
/* First Releae     : 30.09.2008 - 18:03                                                    */
/* Last Update      : 18.03.2010 - 14:43                                                    */
/* Version          : 5                                                                     */
/********************************************************************************************/
/* Der User will einen Datensatz über dem Servicebereich löschen.                           */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7];



 //Ermittle den gelben Text in der grünen Zeile
 angezeigtes_modul = top.document.getElementById('modul').innerHTML;

 //Welches Modul wird angezeigt ?
 switch (angezeigtes_modul)
  {
   //Es wird augenblicklich die Info angezeigt, dass kein anzeigbarer Datensatz vorhanden ist.
   case "&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;Kein&nbsp;Datensatz&nbsp;vorhanden&nbsp;!":
   alert ('Die Datenbank enthält keine löschbaren Datensätze !');
   break;

   //Zeige Datensätze
   case "&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;Zeige&nbsp;Datensätze":
   //Frage den User, ob er den aktuellen Datensatz tatsächlich löschen möchte
   antwort = confirm ('Möchten Sie tatsächlich diesen Datensatz unwiderruflich löschen ?\n\n\nACHTUNG:\n\nSind diesem Datensatz weitere Informationen (z.B. Bilder, PDF-Dokumente, Briefe, Musikstücke, Videos, etc.) zugeordnet, so werden auch sie unwideruflich gelöscht !');

   //Hat der User die Confirmation akzeptiert ?
   if (antwort)
     {
      //ja: wird das Formularfeld mit der Datensatz-ID angezeigt ?
      if (top.servicezugang_body.document.formular["id"])
        {
         //ja: ermittle die ID des zu löschenden Datensatzes
         id = top.servicezugang_body.document.formular["id"].value;

         //Starte den Löschvorgang
         top.servicezugang_body.document.location.href = "/"+von_kunde+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
        }
       else
        {
         //nein: dies kommt bei Formularen vor, die keine Datensätze anzeigen. Dazu dürfte eigentlich aber auch kein
         //Navigationsbutton zum Löschen von Datensätzen angezeigt werden. Offensichtlich ist dies aber nun doch der
         //Fall. Das ist ein Fehler und dürfte so nicht vorkommen: Fehlermeldung. Unschön, aber wahr...
         alert ('Fehler in DBads:\n\nDie ID des zu löschenden Datensatz wurde im Formular nicht gefunden. Die Löschung des Datensatz wurde nicht durchgeführt !');
        }
     }
   break;

   //Es wird augenblicklich das Formular zum Anlegen eines neuen Datensatzes angezeigt und trotzdem möchte der User einen angezeigten Datensatz löschen. Das passt natürlich nicht zusammen.
   case "&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;Neuer&nbsp;Datensatz":
   alert ('Löschen eines Datensatzes nicht möglich !\n\nSpeichern Sie bitte erst den neuen Datensatz ab oder drücken Sie auf \"Zeige Datensätze\". Erst dann können Sie den neuen oder einen anderen Datensatz löschen !');
   break;

   //Es wird augenblicklich das Formular zum Ändern der Reihenfolge von Datensätzen angezeigt und trotzdem möchte der User einen angezeigten Datensatz löschen.  Das passt natürlich nicht zusammen.
   case "&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;Neue&nbsp;Reihenfolge":
   alert ('Löschen eines Datensatzes nicht möglich !\n\nSie können in diesem Formular keine Datensätze löschen. Zum Wechseln ins richtige Formular drücken Sie bitte auf \"Zeige Datensätze\". Erst dann können Sie einen der dort gelisteten Datensätze löschen !');
   break;
  }
}










function dbads_XXX_end_of_module (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 21:33                                                    */
/* Last Update      : 07.01.2010 - 15:58                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will die Arbeit mit einem Servicebereich-Modul beenden und gelangt dadurch       */
/* in das Modul "Home".                                                                     */
/********************************************************************************************/
{
 var user_id    = parameter_array[0];
 var von_kunde  = parameter_array[1];
 var fuer_kunde = parameter_array[2];



 //Hat der User noch ungespeicherte Änderungen am Formular vorgenommen ?
 if (top.document.getElementById('change_indicator').innerHTML == "*")
   {
    //ja: mache ihn darauf aufmehrsam
    antwort = confirm ('Sie haben Änderungen im Formular vorgenommen,\ndie noch nicht gespeichert sind !\n\nMöchten Sie dennoch das Modul beenden ?\n\n________________________________________________\n\nWenn Sie auf "OK" drücken, werden Ihre Änderungen nicht gepeichert und das Formular geschlossen !');
   }
  else
   {
    antwort = confirm ('Möchten Sie tatsächlich das Modul beenden ?');
   }


 if (antwort)
   {
    //Header setzen
    top.document.getElementById('header').innerHTML = "Willkommen&nbsp;im&nbsp;Servicebereich";
    top.document.getElementById('modul').innerHTML  = "";

    //Navigationszeile setzen
    document.location.href = "/"+von_kunde+"/system/dbads/phplib/navigation.php?0";

    //Body setzen
    top.servicezugang_body.document.location.href = '/'+von_kunde+'/system/dbads/phplib/home.php';
   }
}










function dbads_XXX_end_of_service (parameter_array)
/********************************************************************************************/
/* First Releae     : 23.10.2008 - 23:09                                                    */
/* Last Update      : 05.10.2009 - 13:39                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will die Arbeiten im Servicebereich beenden und schliesst damit auch das        */
/* PopUp-Fenster.                                                                           */
/********************************************************************************************/
{
 var user_id    = parameter_array[0];
 var von_kunde  = parameter_array[1];
 var fuer_kunde = parameter_array[2];

 antwort = confirm ('Möchten Sie tatsächlich Ihre Arbeiten im Servicebereich beenden ?');

 if (antwort)
   {
    top.document.location.href = "/"+von_kunde+"/system/dbads/phplib/end_of_service.php";
   }
}










function dbads_XXX_get_record_from_button (parameter_array)
/********************************************************************************************/
/* First Releae     : 04.01.2010 - 00:58                                                    */
/* Last Update      : 05.03.2010 - 15:48                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User will sich einen anderen Datensatz über einen der Button links oder rechts vom   */
/* Selectfeld anzeigen lassen.                                                              */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7];


 document.location.href = "/"+von_kunde+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+id;
}










function dbads_XXX_inactive (parameter_array)
/********************************************************************************************/
/* First Releae     : 25.09.2008 - 18:36                                                    */
/* Last Update      : 25.09.2008 - 18:36                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Eine Funktion oder ein Modul wird zwar zur Auswahl in der Navigation angezeigt, ist aber */
/* deaktiviert.                                                                             */
/********************************************************************************************/
{
 var what = parameter_array[0];

 switch (what)
  {
   case "modul":    alert('Das Modul ist derzeit noch nicht aktiviert !'); break;
   case "funktion": alert('Die Funktion ist derzeit noch nicht aktiviert !'); break;
  }
}










function dbads_XXX_init_content_form (parameter_array)
/********************************************************************************************/
/* First Releae     : 02.01.2010 - 13:55                                                    */
/* Last Update      : 01.06.2010 - 13:12                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Im Formular werden die Zeitangaben "Zuerst angelegt" und "Zuletzt geändert" bei neuen    */
/* Datensätzen fortlaufend aktualisiert.                                                    */
/********************************************************************************************/
{
 content_form_backsteps   = parameter_array[0];
 content_form_user_id     = parameter_array[1];
 content_form_von_kunde   = parameter_array[2];
 content_form_fuer_kunde  = parameter_array[3];
 content_form_web_version = parameter_array[4];
 content_form_modul_id    = parameter_array[5];
 content_form_action      = parameter_array[6];
 content_form_id          = parameter_array[7];
 content_form_status      = parameter_array[8];
 content_form_lesen       = parameter_array[9];
 content_form_speichern   = parameter_array[10];
 content_form_aendern     = parameter_array[11];
 content_form_loeschen    = parameter_array[12];
 content_form_leeren      = parameter_array[13];
 content_form_ordnen      = parameter_array[14];



 //Welche Action wird ausgeführt ?
 switch (content_form_action)
  {
   /*******************************************************************************************************************
   Anlegen eines neuen Datensatzes => zeigen eines leeren Formulars
   *******************************************************************************************************************/
   case "new_record":

   //Wurde das Formular gerade erst aufgebaut und die Zeit noch nicht synchronisiert ?
   if (content_form_status == "init")
     {
      //ja: merke die Zeit des Formularaufbaus
      init_fc_wochentag = document.getElementById('record_first_creation_weekday').innerHTML;
      init_fc_tag       = document.getElementById('record_first_creation_days').innerHTML;
      init_fc_monat     = document.getElementById('record_first_creation_months').innerHTML;
      init_fc_jahr      = document.getElementById('record_first_creation_years').innerHTML;
      init_fc_stunden   = document.getElementById('record_first_creation_hours').innerHTML;
      init_fc_minuten   = document.getElementById('record_first_creation_minutes').innerHTML;
      init_fc_sekunden  = document.getElementById('record_first_creation_seconds').innerHTML;

      init_lu_wochentag = document.getElementById('record_last_update_weekday').innerHTML;
      init_lu_tag       = document.getElementById('record_last_update_days').innerHTML;
      init_lu_monat     = document.getElementById('record_last_update_months').innerHTML;
      init_lu_jahr      = document.getElementById('record_last_update_years').innerHTML;
      init_lu_stunden   = document.getElementById('record_last_update_hours').innerHTML;
      init_lu_minuten   = document.getElementById('record_last_update_minutes').innerHTML;
      init_lu_sekunden  = document.getElementById('record_last_update_seconds').innerHTML;

      //Falls der User das Formular verändert hat und dann auf "Aktualisieren" im Browser-Kontextmenü
      //geklickt hat, wird das Sternchen im Kopf als Zeichen das der User das Formular geändert
      //hat, wieder zuückgenommen.
      top.document.getElementById('change_indicator').innerHTML = "";
     }
    else
     {
      //nein: berechne das aktuelle Datum
      jetzt    = new Date();
      jahr     = jetzt.getFullYear();
      monat    = jetzt.getMonth();
      tag      = jetzt.getDate();
      stunden  = jetzt.getHours();
      minuten  = jetzt.getMinutes();
      sekunden = jetzt.getSeconds();

      //Berechne den heutigen Wochentag
      zeit           = new Date (jahr, monat, tag, stunden, minuten, sekunden);
      tag_in_woche   = zeit.getDay ();
      var wochentag  = new Array ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
      feld_wochentag = wochentag[tag_in_woche];

      //Javascript zeigt immer einen Monat zu wenig an
      monat++;

      if (parseInt(monat) < 10)
        {
         //ja: stelle dem Wert eine Null voran
         monat = "0" + monat;
        }

      if (parseInt(tag) < 10)
        {
         //ja: stelle dem Wert eine Null voran
         tag = "0" + tag;
        }

      if (parseInt(stunden) < 10)
        {
         //ja: stelle dem Wert eine Null voran
         stunden = "0" + stunden;
        }

      if (parseInt(minuten) < 10)
        {
         //ja: stelle dem Wert eine Null voran
         minuten = "0" + minuten;
        }

      if (parseInt(sekunden) < 10)
        {
         //ja: stelle dem Wert eine Null voran
         sekunden = "0" + sekunden;
        }

      //Haben sich bei den Zeitanzeigen bereits Unterschiede ergeben ?
      if (init_fc_wochentag != feld_wochentag) {document.getElementById('record_first_creation_weekday').style.color = "#ff0000";}
      if (init_fc_tag       != tag)            {document.getElementById('record_first_creation_days').style.color    = "#ff0000";}
      if (init_fc_monat     != monat)          {document.getElementById('record_first_creation_months').style.color  = "#ff0000";}
      if (init_fc_jahr      != jahr)           {document.getElementById('record_first_creation_years').style.color   = "#ff0000";}
      if (init_fc_stunden   != stunden)        {document.getElementById('record_first_creation_hours').style.color   = "#ff0000";}
      if (init_fc_minuten   != minuten)        {document.getElementById('record_first_creation_minutes').style.color = "#ff0000";}
      if (init_fc_sekunden  != sekunden)       {document.getElementById('record_first_creation_seconds').style.color = "#ff0000";}
      if ((init_fc_stunden != stunden) && (init_fc_minuten  != minuten))  {document.getElementById('record_first_creation_doppelpunkt_vor_minuten').style.color = "#ff0000";}
      if ((init_fc_minuten != minuten) && (init_fc_sekunden != sekunden)) {document.getElementById('record_first_creation_doppelpunkt_vor_sekunden').style.color = "#ff0000";}

      if (init_lu_wochentag != feld_wochentag) {document.getElementById('record_last_update_weekday').style.color    = "#ff0000";}
      if (init_lu_tag       != tag)            {document.getElementById('record_last_update_days').style.color       = "#ff0000";}
      if (init_lu_monat     != monat)          {document.getElementById('record_last_update_months').style.color     = "#ff0000";}
      if (init_lu_jahr      != jahr)           {document.getElementById('record_last_update_years').style.color      = "#ff0000";}
      if (init_lu_stunden   != stunden)        {document.getElementById('record_last_update_hours').style.color      = "#ff0000";}
      if (init_lu_minuten   != minuten)        {document.getElementById('record_last_update_minutes').style.color    = "#ff0000";}
      if (init_lu_sekunden  != sekunden)       {document.getElementById('record_last_update_seconds').style.color    = "#ff0000";}
      if ((init_lu_stunden != stunden) && (init_lu_minuten  != minuten))  {document.getElementById('record_last_update_doppelpunkt_vor_minuten').style.color = "#ff0000";}
      if ((init_lu_minuten != minuten) && (init_lu_sekunden != sekunden)) {document.getElementById('record_last_update_doppelpunkt_vor_sekunden').style.color = "#ff0000";}

      //Zeitanzeige "Zuerst angelegt" synchronsieren
      document.getElementById('record_first_creation_weekday').innerHTML = feld_wochentag;
      document.getElementById('record_first_creation_days').innerHTML    = tag;
      document.getElementById('record_first_creation_months').innerHTML  = monat;
      document.getElementById('record_first_creation_years').innerHTML   = jahr;
      document.getElementById('record_first_creation_hours').innerHTML   = stunden;
      document.getElementById('record_first_creation_minutes').innerHTML = minuten;
      document.getElementById('record_first_creation_seconds').innerHTML = sekunden;

      //Zeitanzeige "Zuletzt geändert" synchronsieren
      document.getElementById('record_last_update_weekday').innerHTML    = feld_wochentag;
      document.getElementById('record_last_update_days').innerHTML       = tag;
      document.getElementById('record_last_update_months').innerHTML     = monat;
      document.getElementById('record_last_update_years').innerHTML      = jahr;
      document.getElementById('record_last_update_hours').innerHTML      = stunden;
      document.getElementById('record_last_update_minutes').innerHTML    = minuten;
      document.getElementById('record_last_update_seconds').innerHTML    = sekunden;
     }

   setTimeout ("do_it_dbads('init_content_form','"+content_form_backsteps+"&"+content_form_user_id+"&"+content_form_von_kunde+"&"+content_form_fuer_kunde+"&"+content_form_web_version+"&"+content_form_modul_id+"&"+content_form_action+"&"+content_form_id+"&next&"+content_form_lesen+"&"+content_form_speichern+"&"+content_form_aendern+"&"+content_form_loeschen+"&"+content_form_leeren+"&"+content_form_ordnen+"')",1000);
   break;

   /*******************************************************************************************************************
   Zeigen eines Datensatzes aus der Datenbank
   *******************************************************************************************************************/
   case "open_in_content":
   //Falls der User das Formular verändert hat und dann auf "Aktualisieren" im Browser-Kontextmenü
   //geklickt hat, wird das Sternchen im Kopf als Zeichen das der User das Formular geändert
   //hat, wieder zuückgenommen.
   top.document.getElementById('change_indicator').innerHTML = "";

   //Dürfen in der Datenbank Datensätze gelöscht werden ?
   if (content_form_loeschen == "1")
     {
      //ja: darf die Datenbank durch Löschen aller Datensätze völlig geleert werden ?
      if (content_form_leeren == "")
        {
         //nein: es muss daher immer wenigstens 1 Datensatz übrigbleiben
         //Ermittle wie viele Datensätze tatsächlich gelistet werden
         anzahl_datensaetze = parseInt(document.getElementById('anzahl_tatsaechlich_gelisteter_datensaetze').innerHTML);

         //Werden nun 1 oder gar weniger Datensätze im Formular gelistet ?
         if (anzahl_datensaetze <= 1)
           {
            //ja: der Löschbutton in der Navigation darf dem User NICHT angeboten werden
            //Ist der Löschbutton in der Navigation zu sehen ?
            if (top.servicezugang_navigation.document.getElementById("loeschen"))
              {
               //ja: Löschbutton ausblenden. Dazu reicht es, wenn einfach die Navigation neu aufgebaut wird
               top.servicezugang_navigation.document.location.reload();
              }
             else
              {
               //nein: nichts weiter machen, denn der Button ist ja bereits nicht da !
              }
           }
          else
           {
            //nein: der Löschbutton in der Navigation muss dem User angeboten werden
            //Ist der Löschbutton in der Navigation zu sehen ?
            if (top.servicezugang_navigation.document.getElementById("loeschen"))
              {
               //ja: nichts weiter machen, denn der Button ist ja schon da !
              }
             else
              {
               //nein: Löschbutton einblenden. Dazu reicht es, wenn einfach die Navigation neu aufgebaut wird
               top.servicezugang_navigation.document.location.reload();
             }
           }
        }
     }
   break;
  }
}










function dbads_XXX_init_window (parameter_array)
/********************************************************************************************/
/* First Releae     : 20.11.2008 - 12:25                                                    */
/* Last Update      : 30.11.2010 - 11:11                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Eine Funktion oder ein Modul wird zwar zur Auswahl in der Navigation angezeigt, ist aber */
/* deaktiviert.                                                                             */
/********************************************************************************************/
{
 var von_kunde = parameter_array[0];
 var fenster   = parameter_array[1];


 switch (fenster)
  {
   case "index":
   /*****************************************************************************************
   Fortlaufende Uhrzeitanzeige
   *****************************************************************************************/
   jetzt       = new Date();
   js_jahr     = jetzt.getFullYear();
   js_monat    = jetzt.getMonth();
   js_tag      = jetzt.getDate();
   js_stunden  = jetzt.getHours();
   js_minuten  = jetzt.getMinutes();
   js_sekunden = jetzt.getSeconds();

   //Ermittle die Sekunden
   if (parseInt(js_sekunden) < 10)
     {
      //ja: stelle dem Wert eine Null voran
      js_sekunden = "0" + js_sekunden;
     }
   document.getElementById('sekunden').innerHTML = js_sekunden;


   //Ermittle die Minuten und trage die neuen Minuten nur am Beginn einer neuen Minute ein
   if (parseInt(js_sekunden) == 0)
     {
      if (parseInt(js_minuten) < 10)
        {
         //ja: stelle dem Wert eine Null voran
         js_minuten = "0" + js_minuten;
        }
      document.getElementById('minuten').innerHTML  = js_minuten;
     }


   //Ermittle die Stunden und trage die neuen Stunde nur am Beginn einer neuen Stunde ein
   if (parseInt(js_minuten) == 0)
     {
      if (parseInt(js_stunden) < 10)
        {
         //ja: stelle dem Wert eine Null voran
         js_stunden = "0" + js_stunden;
        }
      document.getElementById('stunden').innerHTML  = js_stunden;
     }


   //Ermittle die Tage und trage den neuen Tag nur am Beginn eines neuen Tages ein
   if (parseInt(js_stunden) == 0)
     {
      if (parseInt(js_tag) < 10)
        {
         //ja: stelle dem Wert eine Null voran
         js_tag = "0" + js_tag;
        }
      document.getElementById('tag').innerHTML  = js_tag;
     }


   //Ermittle die Monate und trage den neuen Monat nur am Beginn eines neuen Monats ein
   if (parseInt(js_tag) == 1)
     {
      if (parseInt(js_monat) < 10)
        {
         //ja: stelle dem Wert eine Null voran
         js_monat = "0" + js_monat;
        }
      document.getElementById('monat').innerHTML  = js_monat;
     }


   //Ermittle die Jahre und trage das neue Jahr nur am Beginn eines neuen Jahres ein
   if (parseInt(js_monat) == 1)
     {
      document.getElementById('jahr').innerHTML  = js_jahr;
     }


   /*****************************************************************************************
   Fortlaufende Zeitanzeige in Sekunden seit dem der Servicebereich aufgerufen wurde
   *****************************************************************************************/
   sekunden_seit_aufruf_vom_service_bereich++;

   //Weniger als 1 Minute verstrichen ?
   if (sekunden_seit_aufruf_vom_service_bereich < 60)
     {
      //ja: berechne den Zeitstring bis 1 Minute
      zeitstring = sekunden_seit_aufruf_vom_service_bereich+"s";
     }
    else
     {
      //nein: weniger als 1 Stunde verstrichen ?
      if (sekunden_seit_aufruf_vom_service_bereich < 3600)
        {
         //ja: berechne den Zeitstring bis 1 Stunde
         minuten_seit_aufruf              = Math.floor(sekunden_seit_aufruf_vom_service_bereich/60);
         minutenstring                    = minuten_seit_aufruf;

         rest_sekunden_abzueglich_minuten = sekunden_seit_aufruf_vom_service_bereich - (minuten_seit_aufruf*60);
         if (rest_sekunden_abzueglich_minuten<10) {sekundenstring = "0"+rest_sekunden_abzueglich_minuten;} else {sekundenstring = rest_sekunden_abzueglich_minuten;}

         zeitstring = minutenstring+"m&nbsp;"+sekundenstring+"s";
        }
       else
        {
         //nein: weniger als 1 Tag verstrichen ?
         if (sekunden_seit_aufruf_vom_service_bereich < 86400)
           {
            //ja: berechne den Zeitstring bis 1 Tag
            stunden_seit_aufruf              = Math.floor(sekunden_seit_aufruf_vom_service_bereich/3600);
            stundenstring                    = stunden_seit_aufruf;

            rest_sekunden_abzueglich_stunden = sekunden_seit_aufruf_vom_service_bereich - (stunden_seit_aufruf*3600);
            minuten_seit_aufruf              = Math.floor(rest_sekunden_abzueglich_stunden/60);
            if (minuten_seit_aufruf<10) {minutenstring = "0"+minuten_seit_aufruf;} else {minutenstring = minuten_seit_aufruf;}

            rest_sekunden_abzueglich_minuten = rest_sekunden_abzueglich_stunden - (minuten_seit_aufruf*60);
            if (rest_sekunden_abzueglich_minuten<10) {sekundenstring = "0"+rest_sekunden_abzueglich_minuten;} else {sekundenstring = rest_sekunden_abzueglich_minuten;}

            zeitstring = stundenstring+"h&nbsp;"+minutenstring+"m&nbsp;"+sekundenstring+"s";
           }
          else
           {
            //nein: berechne den Zeitstring über 1 Tag
            tage_seit_aufruf                 = Math.floor(sekunden_seit_aufruf_vom_service_bereich/86400);
            tagestring                       = tage_seit_aufruf;

            rest_sekunden_abzueglich_tage    = sekunden_seit_aufruf_vom_service_bereich - (tage_seit_aufruf*86400);
            stunden_seit_aufruf              = Math.floor(rest_sekunden_abzueglich_tage/3600);
            if (stunden_seit_aufruf<10) {stundenstring = "0"+stunden_seit_aufruf;} else {stundenstring = stunden_seit_aufruf;}

            rest_sekunden_abzueglich_stunden = rest_sekunden_abzueglich_tage - (stunden_seit_aufruf*3600);
            minuten_seit_aufruf              = Math.floor(rest_sekunden_abzueglich_stunden/60);
            if (minuten_seit_aufruf<10) {minutenstring = "0"+minuten_seit_aufruf;} else {minutenstring = minuten_seit_aufruf;}

            rest_sekunden_abzueglich_minuten = rest_sekunden_abzueglich_stunden - (minuten_seit_aufruf*60);
            if (rest_sekunden_abzueglich_minuten<10) {sekundenstring = "0"+rest_sekunden_abzueglich_minuten;} else {sekundenstring = rest_sekunden_abzueglich_minuten;}

            zeitstring = tagestring+"d&nbsp;"+stundenstring+"h&nbsp;"+minutenstring+"m&nbsp;"+sekundenstring+"s";
           }
        }
     }

   //Gib den Zeitstring aus
   document.getElementById('login_time').innerHTML = zeitstring;


   /*****************************************************************************************
   Fortlaufende Zeitanzeige bei User-Inaktivität
   *****************************************************************************************/
   //Wird die Meldung der in Kürze anstehenden Sicherheitsabschaltung NICHT angezeigt ?
   if (top.document.getElementById('confirmation_of_selfclose').style.visibility == "hidden")
     {
      //ja: zähle den Countdown weiter...
      time_of_no_activity =  parseInt(top.document.getElementById('sekunden_der_inaktivitaet').value) - 1;

      //Weniger als 1 Minute verstrichen ?
      if (time_of_no_activity < 60)
        {
         //ja: berechne den Zeitstring bis 1 Minute
         zeitstring = time_of_no_activity+"s";
        }
       else
        {
         //nein: weniger als 1 Stunde verstrichen ?
         if (time_of_no_activity < 3600)
           {
            //ja: berechne den Zeitstring bis 1 Stunde
            minuten_seit_aufruf              = Math.floor(time_of_no_activity/60);
            minutenstring                    = minuten_seit_aufruf;

            rest_sekunden_abzueglich_minuten = time_of_no_activity - (minuten_seit_aufruf*60);
            if (rest_sekunden_abzueglich_minuten<10) {sekundenstring = "0"+rest_sekunden_abzueglich_minuten;} else {sekundenstring = rest_sekunden_abzueglich_minuten;}

            zeitstring = minutenstring+"m&nbsp;"+sekundenstring+"s";
           }
          else
           {
            //nein: weniger als 1 Tag verstrichen ?
            if (time_of_no_activity < 86400)
              {
               //ja: berechne den Zeitstring bis 1 Tag
               stunden_seit_aufruf              = Math.floor(time_of_no_activity/3600);
               stundenstring                    = stunden_seit_aufruf;

               rest_sekunden_abzueglich_stunden = time_of_no_activity - (stunden_seit_aufruf*3600);
               minuten_seit_aufruf              = Math.floor(rest_sekunden_abzueglich_stunden/60);
               if (minuten_seit_aufruf<10) {minutenstring = "0"+minuten_seit_aufruf;} else {minutenstring = minuten_seit_aufruf;}

               rest_sekunden_abzueglich_minuten = rest_sekunden_abzueglich_stunden - (minuten_seit_aufruf*60);
               if (rest_sekunden_abzueglich_minuten<10) {sekundenstring = "0"+rest_sekunden_abzueglich_minuten;} else {sekundenstring = rest_sekunden_abzueglich_minuten;}

               zeitstring = stundenstring+"h&nbsp;"+minutenstring+"m&nbsp;"+sekundenstring+"s";
              }
             else
              {
               //nein: berechne den Zeitstring über 1 Tag
               tage_seit_aufruf                 = Math.floor(time_of_no_activity/86400);
               tagestring                       = tage_seit_aufruf;

               rest_sekunden_abzueglich_tage    = time_of_no_activity - (tage_seit_aufruf*86400);
               stunden_seit_aufruf              = Math.floor(rest_sekunden_abzueglich_tage/3600);
               if (stunden_seit_aufruf<10) {stundenstring = "0"+stunden_seit_aufruf;} else {stundenstring = stunden_seit_aufruf;}

               rest_sekunden_abzueglich_stunden = rest_sekunden_abzueglich_tage - (stunden_seit_aufruf*3600);
               minuten_seit_aufruf              = Math.floor(rest_sekunden_abzueglich_stunden/60);
               if (minuten_seit_aufruf<10) {minutenstring = "0"+minuten_seit_aufruf;} else {minutenstring = minuten_seit_aufruf;}

               rest_sekunden_abzueglich_minuten = rest_sekunden_abzueglich_stunden - (minuten_seit_aufruf*60);
               if (rest_sekunden_abzueglich_minuten<10) {sekundenstring = "0"+rest_sekunden_abzueglich_minuten;} else {sekundenstring = rest_sekunden_abzueglich_minuten;}

               zeitstring = tagestring+"d&nbsp;"+stundenstring+"h&nbsp;"+minutenstring+"m&nbsp;"+sekundenstring+"s";
              }
           }
        }


      //Soll die Sicherheitsabschaltung generell berücksichtigt werden ?
      if (parseInt(document.getElementById('max_time_of_no_activity').innerHTML) > 0)
        {
         //ja: gib den Zeitstring aus: für die Berechnungsgrundlage
         document.getElementById('zeitanzeige_time_of_no_activity').innerHTML = zeitstring;

         //Gib den Zeitstring aus: für die Anzeige für den User
         document.getElementById('sekunden_der_inaktivitaet').value = time_of_no_activity;

         //War der User zu lange nicht mehr am Rechner (ist die Zeit abgelaufen) ?
         if (time_of_no_activity <= 0)
           {
            //ja: ist die Warnung noch nicht eingeblendet worden ?
            if (top.document.getElementById('confirmation_of_selfclose').style.visibility == "hidden")
              {
               //ja: blende jetzt die Warnung ein (dunkelt den Bildschirm an)
               top.document.getElementById('confirmation_of_selfclose').style.visibility = "visible";

               //Akustisches Signal an den eingeloggten Kunden !
               do_it_dbads ('play_sound',von_kunde+'&sound_2');

               //Starte den Countdown
               do_it_dbads ('start_countdown_sicherheitsabschaltung',von_kunde+'&31');
              }
           }
        }
     }


   /*****************************************************************************************
   Wiederhole diese Routine jede Sekunde
   *****************************************************************************************/
   setTimeout("do_it_dbads('init_window','"+von_kunde+"&"+fenster+"')",1000);
   break;

   case "sperre":
   var delta_sperre = parameter_array[2];
   document.formular.benutzerkennung.focus();
   do_it_dbads ('count_website_sperre',String(delta_sperre));
   break;
  }
}










function dbads_XXX_make_choice_auswahl_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.01.2010 - 17:55                                                    */
/* Last Update      : 02.03.2010 - 22:36                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat mit der Maus innerhalb der Liste der Auswahlmöglichkeiten eines der Aus-    */
/* wahlmöglichkeiten angeklickt.                                                            */
/********************************************************************************************/
{
 var backsteps            = parameter_array[0];
 var user_id              = parameter_array[1];
 var von_kunde            = parameter_array[2];
 var fuer_kunde           = parameter_array[3];
 var web_version          = parameter_array[4];
 var angeklickte_zeile_id = parameter_array[5];
 var modul_id             = parameter_array[6];
 var action               = parameter_array[7];


 document.location.href = "/"+von_kunde+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+angeklickte_zeile_id;
}










function dbads_XXX_make_choice_id_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.02.2010 - 19:15                                                    */
/* Last Update      : 07.02.2010 - 19:15                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat mit der Maus innerhalb der Liste der IDs eines der Auswahlmöglichkeiten     */
/* angeklickt.                                                                              */
/********************************************************************************************/
{
 var backsteps            = parameter_array[0];
 var user_id              = parameter_array[1];
 var von_kunde            = parameter_array[2];
 var fuer_kunde           = parameter_array[3];
 var web_version          = parameter_array[4];
 var angeklickte_zeile_id = parameter_array[5];
 var modul_id             = parameter_array[6];
 var action               = parameter_array[7];

 document.location.href = "/"+von_kunde+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+angeklickte_zeile_id;
}










function dbads_XXX_mark_choice_auswahl_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.01.2010 - 17:55                                                    */
/* Last Update      : 07.02.2010 - 12:50                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User bewegt die Maus innerhalb der Liste der Auswahlmöglichkeiten auf und ab und     */
/* markiert dabei die einzelnen Zeilen.                                                     */
/********************************************************************************************/
{
 var markierte_zeile_in_auswahl_liste                  =          parameter_array[0];
 var hintergrundfarbe_markierte_zeile_in_auswahl_liste =          parameter_array[1];
 var schriftfarbe_markierte_zeile_in_auswahl_liste     =          parameter_array[2];
 var anzahl_spalten                                    = parseInt(parameter_array[3]);


 //Wurde vorher eine Zeile markiert ?
 if (zuletzt_markierte_zeile_in_auswahl_liste != "")
   {
    //ja: färbe die zuvor markierte Zeile wieder in den ursprünglichen Zustand zurück
    for (spalte=0;spalte<=anzahl_spalten;spalte++)
       {
        document.getElementById('choice_'+zuletzt_markierte_zeile_in_auswahl_liste+'_'+spalte).style.backgroundColor = hintergrundfarbe_zuletzt_markierte_zeile_in_auswahl_liste;
        document.getElementById('choice_'+zuletzt_markierte_zeile_in_auswahl_liste+'_'+spalte).style.color           = schriftfarbe_zuletzt_markierte_zeile_in_auswahl_liste;
       }
   }


 //Merke dir, welche Zeile gleich markiert werden soll
 zuletzt_markierte_zeile_in_auswahl_liste = markierte_zeile_in_auswahl_liste;

 //Merke dir, welche Hintergrundfarbe die Zeile VOR der gleich kommenden Markierung (noch) hat
 hintergrundfarbe_zuletzt_markierte_zeile_in_auswahl_liste = "#"+hintergrundfarbe_markierte_zeile_in_auswahl_liste;

 //Merke dir, welche Schriftfarbe die Zeile VOR der gleich kommenden Markierung (noch) hat
 schriftfarbe_zuletzt_markierte_zeile_in_auswahl_liste = "#"+schriftfarbe_markierte_zeile_in_auswahl_liste;


 //Markiere die aktuelle Zeile auf die die Maus jetzt aufliegt
 for (spalte=0;spalte<=anzahl_spalten;spalte++)
    {
     document.getElementById('choice_'+markierte_zeile_in_auswahl_liste+'_'+spalte).style.backgroundColor = "#88b7d8";
     document.getElementById('choice_'+markierte_zeile_in_auswahl_liste+'_'+spalte).style.color           = "#000066";
    }
}










function dbads_XXX_mark_choice_id_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.02.2010 - 17:56                                                    */
/* Last Update      : 07.02.2010 - 17:56                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User bewegt die Maus innerhalb der Liste der IDs auf und ab und markiert dabei die   */
/* einzelnen Zeilen.                                                                        */
/********************************************************************************************/
{
 var markierte_zeile_in_id_liste                  = parameter_array[0];
 var hintergrundfarbe_markierte_zeile_in_id_liste = parameter_array[1];
 var schriftfarbe_markierte_zeile_in_id_liste     = parameter_array[2];



 //Wurde vorher eine Zeile markiert ?
 if (zuletzt_markierte_zeile_in_id_liste != "")
   {
    //ja: färbe die zuvor markierte Zeile wieder in den ursprünglichen Zustand zurück
    document.getElementById('id_choice_'+zuletzt_markierte_zeile_in_id_liste).style.backgroundColor = hintergrundfarbe_zuletzt_markierte_zeile_in_id_liste;
    document.getElementById('id_choice_'+zuletzt_markierte_zeile_in_id_liste).style.color           = schriftfarbe_zuletzt_markierte_zeile_in_id_liste;
   }


 //Merke dir, welche Zeile gleich markiert werden soll
 zuletzt_markierte_zeile_in_id_liste = markierte_zeile_in_id_liste;

 //Merke dir, welche Hintergrundfarbe die Zeile VOR der gleich kommenden Markierung (noch) hat
 hintergrundfarbe_zuletzt_markierte_zeile_in_id_liste = "#"+hintergrundfarbe_markierte_zeile_in_id_liste;

 //Merke dir, welche Schriftfarbe die Zeile VOR der gleich kommenden Markierung (noch) hat
 schriftfarbe_zuletzt_markierte_zeile_in_id_liste = "#"+schriftfarbe_markierte_zeile_in_id_liste;


 //Markiere die aktuelle Zeile auf die die Maus jetzt aufliegt
 document.getElementById('id_choice_'+markierte_zeile_in_id_liste).style.backgroundColor = "#aab0dd";
 document.getElementById('id_choice_'+markierte_zeile_in_id_liste).style.color           = "#000000";
}










function dbads_XXX_mouse_over_head_button (parameter_array)
/********************************************************************************************/
/* First Releae     : 20.12.2009 - 15:44                                                    */
/* Last Update      : 20.12.2009 - 15:44                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat Maus auf Head-Button in der Navigation gelegt.                              */
/********************************************************************************************/
{
 var von_kunde = parameter_array[0];
 var way       = parameter_array[1];


 switch (way)
  {
   case "over": document.getElementById('head_button').style.backgroundImage = 'url(/'+von_kunde+'/system/dbads/imagelib/navigation/navigations_kopf_mouseover.png)'; break;
   case "out":  document.getElementById('head_button').style.backgroundImage = 'url(/'+von_kunde+'/system/dbads/imagelib/navigation/navigations_kopf.png)'; break;
  }
}










function dbads_XXX_move_down_file (parameter_array)
/********************************************************************************************/
/* First Releae     : 13.02.2009 - 14:22                                                    */
/* Last Update      : 13.02.2009 - 14:22                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will ein File innerhalb des Formulares nach unten verschieben.                  */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7]; //Hier: Pfad und Dateiname des zu verschiebenden Files


 //Extrahiere aus der angegebenen ID den Dateinamen des Files
 elemente = id.split('þ');
 filename = elemente[1];

 antwort = confirm ('Möchten Sie tatsächlich das File \"'+filename+'\" um eine Position nach unten verschieben ?');

 if (antwort)
   {
    document.location.href = "/"+von_kunde+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
   }
}










function dbads_XXX_move_down_picture (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.10.2008 - 18:16                                                    */
/* Last Update      : 10.12.2008 - 12:48                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will ein Bild innerhalb des Formulares nach unten verschieben.                  */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7]; //Hier: Pfad und Dateiname des zu verschiebenden Bildes


 //Extrahiere aus der angegebenen ID den Dateinamen des Bildes
 elemente = id.split('þ');
 bildname = elemente[1];

 antwort = confirm ('Möchten Sie tatsächlich das Bild \"'+bildname+'\" um eine Position nach unten verschieben ?');

 if (antwort)
   {
    document.location.href = "/"+von_kunde+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
   }
}










function dbads_XXX_move_down_record (parameter_array)
/********************************************************************************************/
/* First Releae     : 18.02.2010 - 12:48                                                    */
/* Last Update      : 06.03.2010 - 14:56                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will einen Datensatz innerhalb der datenbank um eine Position nach unten        */
/* verschieben.                                                                             */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7]; //Hier: ID des nach unten zu verschiebenden Datensatzes


 antwort = confirm ('Möchten Sie tatsächlich den Datensatz (ID='+id+') um eine Position nach unten verschieben ?');

 if (antwort)
   {
    document.location.href = "/"+von_kunde+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
   }
}










function dbads_XXX_move_up_file (parameter_array)
/********************************************************************************************/
/* First Releae     : 13.02.2009 - 14:22                                                    */
/* Last Update      : 13.02.2009 - 14:22                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will ein File innerhalb des Formulares nach oben verschieben.                   */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7]; //Hier: Pfad und Dateiname des zu verschiebenden Files


 //Extrahiere aus der angegebenen ID den Dateinamen des Files
 elemente = id.split('þ');
 filename = elemente[1];

 antwort = confirm ('Möchten Sie tatsächlich das File \"'+filename+'\" um eine Position nach oben verschieben ?');

 if (antwort)
   {
    document.location.href = "/"+von_kunde+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
   }
}










function dbads_XXX_move_up_picture (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.10.2008 - 18:16                                                    */
/* Last Update      : 10.12.2008 - 12:48                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will ein Bild innerhalb des Formulares nach oben verschieben.                   */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7]; //Hier: Pfad und Dateiname des zu verschiebenden Bildes


 //Extrahiere aus der angegebenen ID den Dateinamen des Bildes
 elemente = id.split('þ');
 bildname = elemente[1];

 antwort = confirm ('Möchten Sie tatsächlich das Bild \"'+bildname+'\" um eine Position nach oben verschieben ?');

 if (antwort)
   {
    document.location.href = "/"+von_kunde+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
   }
}










function dbads_XXX_move_up_record (parameter_array)
/********************************************************************************************/
/* First Releae     : 18.02.2010 - 12:48                                                    */
/* Last Update      : 06.03.2010 - 15:04                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User will einen Datensatz innerhalb der datenbank um eine Position nach oben         */
/* verschieben.                                                                             */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var modul_id    = parameter_array[5];
 var action      = parameter_array[6];
 var id          = parameter_array[7]; //Hier: ID des nach oben zu verschiebenden Datensatzes


 antwort = confirm ('Möchten Sie tatsächlich den Datensatz (ID='+id+') um eine Position nach oben verschieben ?');

 if (antwort)
   {
    document.location.href = "/"+von_kunde+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
   }
}










function dbads_XXX_open_db_check_informer (parameter_array)
/********************************************************************************************/
/* First Releae     : 20.06.2010 - 14:14                                                    */
/* Last Update      : 16.09.2010 - 11:55                                                    */
/* Version          : 5                                                                     */
/********************************************************************************************/
/* Die Routine öffnet eine Fenster zur Information, wo es bei einer der Kundendatenbanken   */
/* zu einer Warnung oder gar Fehler gekommen ist.                                           */
/********************************************************************************************/
{
 var fuer_kunde        = parameter_array[0];
 var db_name           = parameter_array[1];
 var status            = parameter_array[2];
 var meldung           = parameter_array[3];

 var fensterbreite = screen.width;
 var fensterhoehe  = screen.height;
 var fensterlage_y = (fensterhoehe-620)/2;
 var fensterlage_x = (fensterbreite-750)/2;


 //Das Fenster in index.php über das der User den Check-Informer aufgerufen hat, wird geschlossen
 do_it_dbads('close_table_in_index','table_of_db_checks');

 win = window.open ('/'+fuer_kunde+'/system/dbads/phplib/tools/db_check_informer.php?'+db_name+'&'+status+'&'+meldung, 'db_check_informer', 'width=750, height=600, left='+fensterlage_x+', top='+fensterlage_y+', status=0, statusbar=0, directories=0, location=0, scrollbars=1, resizable=1, menubar=0, toolbar=0');
}










function dbads_XXX_open_popup (parameter_array)
/********************************************************************************************/
/* First Releae     : 21.01.2010 - 13:34                                                    */
/* Last Update      : 21.01.2010 - 13:34                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine konfiguriert ein PopUp-Fenster.                                              */
/********************************************************************************************/
{
 var width    = parameter_array[0];
 var height   = parameter_array[1];
 var position = parameter_array[2];

 if (position == "center")
   {
    var fensterbreite = screen.width;
    var fensterhoehe  = screen.height;
    window.moveTo((fensterbreite-width)/2,(fensterhoehe-height)/2-40);
   }

 window.resizeTo(width,height);
}










function dbads_XXX_passwortausgabe (parameter_array)
/********************************************************************************************/
/* First Releae     : 11.10.2008 - 23:51                                                    */
/* Last Update      : 15.01.2009 - 15:27                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der Text zur letzten Meldung enthält ein Passwort: formatiere es farblich um.            */
/********************************************************************************************/
{
 var passwort = parameter_array[0];

 for (var i=0;i<=passwort.length-1;i++)
    {
     if ((passwort.charAt(i) >= 0) && (passwort.charAt(i) <= 9))
       {
        document.write ("<span style='font-family:courier; font-weight:normal; color:#ff0000; font-size:15pt;'>" + passwort.charAt(i) + "</span>");
       }
      else
       {
        document.write ("<span style='font-family:courier; font-weight:normal; color:#0000ff; font-size:15pt;'>"+ passwort.charAt(i) + "</span>");
       }
    }
}










function dbads_XXX_play_sound (parameter_array)
/********************************************************************************************/
/* First Releae     : 31.03.2010 - 14:04                                                    */
/* Last Update      : 31.03.2010 - 14:04                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Spielt den Sound der angegeben ID ab.                                                    */
/********************************************************************************************/
{
 var von_kunde = parameter_array[0];
 var sound_id  = parameter_array[1];


 switch (true)
  {
   case (navigator.userAgent.indexOf("Firefox")>-1):
   top.document.getElementById('div_'+sound_id).innerHTML = "<embed id="+sound_id+" src=/"+von_kunde+"/system/dbads/soundlib/"+sound_id+".mp3 type=audio/x-mp3 autostart=true loop=false height=0 width=0></embed>";
   break;

   case ((navigator.appName.indexOf("Microsoft")>-1) && (navigator.userAgent.indexOf("MSIE")>-1)):
   top.document.embeds[sound_id].play();
   break;
  }
}










function dbads_XXX_reset_countdown (parameter_array)
/********************************************************************************************/
/* First Releae     : 31.03.2010 - 22:57                                                    */
/* Last Update      : 20.06.2010 - 23:48                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat eine Aktion gemacht und resettet damit den Countdown                        */
/********************************************************************************************/
{
 var max_time_of_no_activity = parseInt(parameter_array[0]);
 var window_opener           =          parameter_array[1];


 //Zeitschleife beenden
 clearTimeout (zeitschleife_sicherheit);

 //Zeitmessung resetten (plus 1 Sekunde weil die sofort wieder abgezogen wird)
 if (window_opener == "")
   {
    //Starte die Aktion im selben Fenster
    top.document.getElementById('sekunden_der_inaktivitaet').value = max_time_of_no_activity + 1;
   }
  else
   {
    //Starte die Aktion im Masterfenster
    window.opener.top.document.getElementById('sekunden_der_inaktivitaet').value = max_time_of_no_activity + 1;
   }
}










function dbads_XXX_restore_checklistfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 05.10.2009 - 00:12                                                    */
/* Last Update      : 02.01.2010 - 22:09                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname           = parameter_array[0];
 var anzahl_modul_zeilen = parameter_array[1];

 //Syncronisiere die versteckten Felder
 for (zeile=0;zeile<=anzahl_modul_zeilen-1;zeile++)
    {
     //Wurden die Checkboxen dieser Zeile verändert ?
     if (document.formular['checklist_intermediate_restore_'+zeile].value != document.formular['checklist_restore_'+zeile].value)
       {
        //ja: setze die Checkboxen wieder zurück
        document.formular['checklist_intermediate_restore_'+zeile].value = document.formular['checklist_restore_'+zeile].value;

        //Setze die Warnfarben zurück
        do_it_dbads ('show_colors',fieldname+'&checklist_legende_'+zeile+'&changed&sign_off');

        //Setze gemäß dem versteckten Restore-Feld auch die Checkboxen wieder zurück
        var elemente = new Array;
        var result   = false;
        elemente = document.formular['checklist_restore_'+zeile].value.split("/");

        modul_id = elemente[0];
        for (box=1;box<=elemente.length-1;box++)
           {
            if (elemente[box] == "checked") {result = true;} else {result = false;}

            document.formular['checklist_checkbox_' + modul_id + '_' + String(box-1)].checked = result;
           }
       }
    }

 //Setze aus allen Intermediate-Restore-Feldern den letztlich maßgebendenden Feldwert zusammen
 document.formular[fieldname].value = "";
 for (zeile=0;zeile<=anzahl_modul_zeilen-1;zeile++)
    {
     //Berücksichtige diese Checkboxen
     document.formular[fieldname].value = document.formular[fieldname].value + "-" + document.formular['checklist_intermediate_restore_'+zeile].value;
    }

 //Nimm das erste "-" Zeichen wieder weg
 document.formular[fieldname].value = document.formular[fieldname].value.substr(1,document.formular[fieldname].value.length-1);
}










function dbads_XXX_restore_colorfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 11.10.2008 - 23:51                                                    */
/* Last Update      : 19.12.2009 - 14:48                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];

 //Setze den Farbcode zurück
 document.formular[fieldname].value = document.formular['restore_'+fieldname].value;

 //Setze die Anzahl der Restzeichen zurück
 anzahl_rest_zeichen = 7 - document.formular[fieldname].value.length;
 document.getElementById('rest_zeichen_'+fieldname).innerHTML = anzahl_rest_zeichen;

 //Setze das Selectfeld zurück
 selectfield_found = false;
 for (zeile=0;zeile<=document.formular['selectfeld_'+fieldname].length-1;zeile++)
    {
     if (document.formular[fieldname].value == document.formular['selectfeld_'+fieldname].options[zeile].value)
       {
        document.formular['selectfeld_'+fieldname].selectedIndex = zeile;
        selectfield_found = true;
        break;
       }
    }

 //Existiert die anzuzeigende Farbe im Selectfeld ?
 if (!selectfield_found)
   {
    //nein: zeige im Selectfeld die letzte Option an
    document.formular['selectfeld_'+fieldname].selectedIndex = document.formular['selectfeld_'+fieldname].length-1;

    //Färbe díe Hintergrundfarbe nach dem ursprünglichen Farbwert
    document.formular['selectfeld_'+fieldname].options[zeile-1].style.backgroundColor = document.formular['restore_'+fieldname].value;
   }

 //Ändere die Warnfarben zurück
 if (anzahl_rest_zeichen == 0)
   {
    do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
   }
  else
   {
    do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
   }

 do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
}










function dbads_XXX_restore_currencyfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 11.10.2008 - 23:51                                                    */
/* Last Update      : 15.11.2008 - 11:59                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];
 var maxlength = parseInt(parameter_array[1]);

 default_currency     = document.formular['restore_'+fieldname].value.split(".");
 volle_waehrung       = default_currency[0];
 hundertstel_waehrung = default_currency[1];

 //Fehlt die führende Null ?
 if ((parseInt(hundertstel_waehrung) < 10) && (hundertstel_waehrung.length < 2))
   {
    //ja: stelle dem Werte eine Null voran
    hundertstel_waehrung = "0"+hundertstel_waehrung;
   }

 document.formular[fieldname].value                = volle_waehrung;
 document.formular["hundertstel_"+fieldname].value = hundertstel_waehrung;

 anzahl_rest_zeichen = maxlength - document.formular[fieldname].value.length;
 document.getElementById('rest_zeichen_'+fieldname).innerHTML = anzahl_rest_zeichen;

 //Ändere die Warnfarben zurück
 do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
 do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
}










function dbads_XXX_restore_datefield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 10.10.2008 - 00:31                                                    */
/* Last Update      : 02.01.2009 - 14:53                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];

 restorefeld_tag      = parseInt(document.formular['restore_day_'+fieldname].value);
 restorefeld_monat    = parseInt(document.formular['restore_month_'+fieldname].value);
 restorefeld_jahr     = parseInt(document.formular['restore_year_'+fieldname].value);
 restorefeld_stunden  = parseInt(document.formular['restore_hours_'+fieldname].value);
 restorefeld_minuten  = parseInt(document.formular['restore_minutes_'+fieldname].value);
 restorefeld_sekunden = parseInt(document.formular['restore_seconds_'+fieldname].value);

 document.formular['day_'+fieldname].selectedIndex   = restorefeld_tag;
 document.formular['month_'+fieldname].selectedIndex = restorefeld_monat;
 document.formular['year_'+fieldname].value          = restorefeld_jahr;
 document.formular['hours_'+fieldname].selectedIndex = restorefeld_stunden;
 document.formular['minutes_'+fieldname].value       = restorefeld_minuten;
 document.formular['seconds_'+fieldname].value       = restorefeld_sekunden;

 //Ist ein konkreter Tag angegeben ?
 if (document.getElementById(fieldname).value != "0|0|0|0|0|0")
   {
    //ja: Wurden ursprünglich Datumswerte angegeben ?
    if ((restorefeld_tag!=0) || (restorefeld_monat!=0) || (restorefeld_jahr!=0) || (restorefeld_stunden!=0) || (restorefeld_minuten!=0) || (restorefeld_sekunden!=0))
      {
       //ja: berechne den Wochentag des ursprünglichen Datumswert
       zeit           = new Date(restorefeld_jahr,(restorefeld_monat-1),restorefeld_tag,restorefeld_stunden,restorefeld_minuten,restorefeld_sekunden);
       tag_in_woche   = zeit.getDay();
       var wochentag  = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
       feld_wochentag = wochentag[tag_in_woche];
       document.getElementById('wochentag_'+fieldname).value = feld_wochentag;
      }
     else
      {
       //nein: zeige keinen Wochentag an
       document.getElementById('wochentag_'+fieldname).value = "-";
      }
   }
  else
   {
    //nein: zeige keinen Wochentag an
    document.getElementById('wochentag_'+fieldname).value = "-";
   }

 //Ändere die Warnfarben zurück
 do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');

 //Trage das neue Datum auch ins versteckte Feld ein
 document.getElementById(fieldname).value = document.formular['day_'+fieldname].selectedIndex+"|"+document.formular['month_'+fieldname].selectedIndex+"|"+document.formular['year_'+fieldname].value+"|"+document.formular['hours_'+fieldname].value+"|"+document.formular['minutes_'+fieldname].value+"|"+document.formular['seconds_'+fieldname].value;
}










function dbads_XXX_restore_fileinfos_textfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 10.02.2009 - 18:56                                                    */
/* Last Update      : 19.02.2010 - 23:07                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname =          parameter_array[0];
 var maxlength = parseInt(parameter_array[1]);
 var spalte    =          parameter_array[2];

 //Setze die Anzahl der Zeichen zurück, die noch eingegeben werden können
 anzahl_rest_zeichen = maxlength - document.formular['fileinfos_'+fieldname+'_originalþ'+spalte].value.length;
 document.getElementById('fileinfos_'+fieldname+'_restzeichenþ'+spalte).innerHTML = anzahl_rest_zeichen;

 //Trage in das Feld wieder den ursprünglichen Inhalt ein
 document.formular['fileinfos_'+fieldname+'_feldþ'+spalte].value = document.formular['fileinfos_'+fieldname+'_originalþ'+spalte].value;

 //Setze die gefärbte Legendenfarbe zurück
 document.getElementById('fileinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#000000";

 //Ändere die Warnfarben zurück (falls bereits keine weiteren Zeichen merh eingegeben werden konnten)
 do_it_dbads ('show_colors',fieldname+'&fileinfos_'+fieldname+'_restzeichenþ'+spalte+'&rest&sign_off');

 //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
 if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
   {
    //ja: nimm ihn heraus
    while (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.document.getElementById('fields_of_changed_content').value.replace(fieldname+"-","");}
   }

 //Ist das versteckte Feld mit dem Infos, welche Felder alle geändert wurden, leer ?
 if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value == "")
   {
    //ja: nimm die Kennung oben in der grünen Zeile rechts neben dem gelben Test wieder zurück
    top.document.getElementById('change_indicator').innerHTML = "";
   }
}










function dbads_XXX_restore_logikfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 30.09.2008 - 17:33                                                    */
/* Last Update      : 23.07.2009 - 15:36                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];


 //Besitzt der erste Radiobutton den Defaultwert ?
 if (document.getElementById('first_choise').value == document.formular['restore_'+fieldname].value)
   {
    //ja: der erste Radiobutton muss gechecked werden und der zweite nicht
    document.formular[fieldname][0].checked = true;
    document.formular[fieldname][1].checked = false;
   }
  else
   {
    //nein: dann muss der zweite Radiobutton gechecked werden
    document.formular[fieldname][0].checked = false;
    document.formular[fieldname][1].checked = true;
   }

 //Ändere die Warnfarben zurück
 do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
}










function dbads_XXX_restore_phonefield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 15.11.2010 - 10:07                                                    */
/* Last Update      : 15.11.2010 - 10:07                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname =          parameter_array[0];
 var size      = parseInt(parameter_array[1]);


 //Ermittle den ursprünglichen Telefonwert
 restore_string = document.formular['restore_'+fieldname].value;

 //Speichere den ursprünglichen Telefonwert zurück in die Felder
 elemente = restore_string.split("/");
 document.formular['code_'+fieldname].value      = elemente[0];
 document.formular['vorwahl_'+fieldname].value   = elemente[1];
 document.formular['durchwahl_'+fieldname].value = elemente[2];
 document.formular['apparat_'+fieldname].value   = elemente[3];

 //Trage die ursprüngliche Anzahl an Restzeichen ins Feld ein
 document.getElementById('rest_zeichen_'+fieldname).innerHTML = size - parseInt(document.formular['vorwahl_'+fieldname].value.length) - parseInt(document.formular['durchwahl_'+fieldname].value.length) - parseInt(document.formular['apparat_'+fieldname].value.length);

 //Setze das Länderauswahlfeld wieder zurück
 anzahl_auswahlen = document.formular['country_code_'+fieldname].length;
 for (auswahl=0;auswahl<=(anzahl_auswahlen-1);auswahl++)
    {
     code = document.formular['country_code_'+fieldname].options[auswahl].value;

     //Stimmt der Code im Auswahlfeld mit dem ursprünglichen Code überein ?
     if (code == elemente[0])
       {
        //ja: stelle das Auswahlfeld auf den ursprünglichen Code zurück
        document.formular['country_code_'+fieldname].selectedIndex = auswahl;
       }
    }

 //Trage den ursprünglichen Wert in das Feld das für die Abspeicherung des Datums in die DBoss-Datenbanken zuständig ist
 document.formular[fieldname].value = document.formular['code_'+fieldname].value+"|"+document.formular['vorwahl_'+fieldname].value+"|"+document.formular['durchwahl_'+fieldname].value+"|"+document.formular['apparat_'+fieldname].value;

 //Ändere die Warnfarben zurück
 do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
 do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
}










function dbads_XXX_restore_pictureinfos_selectfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 04.06.2010 - 19:43                                                    */
/* Last Update      : 04.06.2010 - 19:43                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];
 var spalte    = parameter_array[1];


 //Trage in das Feld wieder den ursprünglichen Inhalt ein
 document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value = document.formular['pictureinfos_'+fieldname+'_originalþ'+spalte].value;

 //Setze die gefärbte Legendenfarbe zurück
 document.getElementById('pictureinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#000000";

 //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
 if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
   {
    //ja: nimm ihn heraus
    while (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.document.getElementById('fields_of_changed_content').value.replace(fieldname+"-","");}
   }

 //Ist das versteckte Feld mit dem Infos, welche Felder alle geändert wurden, leer ?
 if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value == "")
   {
    //ja: nimm die Kennung oben in der grünen Zeile rechts neben dem gelben Test wieder zurück
    top.document.getElementById('change_indicator').innerHTML = "";
   }
}










function dbads_XXX_restore_pictureinfos_textfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 25.10.2008 - 13:23                                                    */
/* Last Update      : 07.01.2010 - 19:38                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname =          parameter_array[0];
 var maxlength = parseInt(parameter_array[1]);
 var spalte    =          parameter_array[2];

 //Setze die Anzahl der Zeichen zurück, die noch eingegeben werden können
 anzahl_rest_zeichen = maxlength - document.formular['pictureinfos_'+fieldname+'_originalþ'+spalte].value.length;
 document.getElementById('pictureinfos_'+fieldname+'_restzeichenþ'+spalte).innerHTML = anzahl_rest_zeichen;

 //Trage in das Feld wieder den ursprünglichen Inhalt ein
 document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value = document.formular['pictureinfos_'+fieldname+'_originalþ'+spalte].value;

 //Setze die gefärbte Legendenfarbe zurück
 document.getElementById('pictureinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#000000";

 //Ändere die Warnfarben zurück (falls bereits keine weiteren Zeichen mehr eingegeben werden konnten)
 do_it_dbads ('show_colors',fieldname+'&pictureinfos_'+fieldname+'_restzeichenþ'+spalte+'&rest&sign_off');

 //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
 if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
   {
    //ja: nimm ihn heraus
    while (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.document.getElementById('fields_of_changed_content').value.replace(fieldname+"-","");}
   }

 //Ist das versteckte Feld mit dem Infos, welche Felder alle geändert wurden, leer ?
 if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value == "")
   {
    //ja: nimm die Kennung oben in der grünen Zeile rechts neben dem gelben Test wieder zurück
    top.document.getElementById('change_indicator').innerHTML = "";
   }
}










function dbads_XXX_restore_selectfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 11.10.2008 - 23:51                                                    */
/* Last Update      : 23.07.2009 - 19:50                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];

 //Besitzt das Selectfeld als erste Option die Auswahl "keine Angabe" ?
 if (document.formular[fieldname].options[0].text == "keine Angabe")
   {
    //ja: es handelt sich um ein normales Selectfeld
    document.formular[fieldname].selectedIndex = parseInt(document.formular['restore_'+fieldname].value);
   }
  else
   {
    //nein: es handelt sich um ein Selectfeld mit dem Verweis auf eine externe Datenbank. Hier gibt
    //es die erste Option "keine Angabe" nicht !
    document.formular[fieldname].selectedIndex = parseInt(document.formular['restore_'+fieldname].value)-1;
   }

 //Ändere die Warnfarben zurück
 do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
}










function dbads_XXX_restore_textfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 26.09.2008 - 17:50                                                    */
/* Last Update      : 23.07.2009 - 14:53                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname  =          parameter_array[0];
 var maxlength  = parseInt(parameter_array[1]);
 var inhaltstyp =          parameter_array[2];


 /********************************************************************************************
 Ausfüllen des Feldes mit dem ursprünglichen Feldinhalt
 ********************************************************************************************/
 switch (inhaltstyp)
  {
   //Allgemines Textfeld oder Textarea-Feld
   case "string":
   document.formular[fieldname].value = document.formular['restore_'+fieldname].value;

   anzahl_rest_zeichen = maxlength - document.formular[fieldname].value.length;
   document.getElementById('rest_zeichen_'+fieldname).innerHTML = anzahl_rest_zeichen;
   break;

   //Dezimales Zahlenfeld
   case "floating":
   //Aus Restore-Feld: Ursprünglicher Feldwert
   restorefeld_inhalt   = document.getElementById('restore_'+fieldname).value;
   elemente             = restorefeld_inhalt.split(" | ");
   restore_string       = elemente[0];
   elemente             = restore_string.split(" komma ");
   restore_vorkomma     = elemente[0];
   restore_nachkomma    = elemente[1];

   //Trage die ursprünglichen Werte wieder ins Feld ein
   document.formular[fieldname+"_vordezimal"].value  = restore_vorkomma;
   document.formular[fieldname+"_nachdezimal"].value = restore_nachkomma;

   //Setze Restzeichen-Anzeige zurück: aus Restore-Feld: Maximale Werte
   restorefeld_inhalt    = document.getElementById('restore_'+fieldname).value;
   elemente              = restorefeld_inhalt.split(" | ");
   max_string            = elemente[1];
   elemente              = max_string.split(" - ");
   max_stellen_vorkomma  = parseInt(elemente[0]);
   max_stellen_nachkomma = parseInt(elemente[1]);

   //Berechne die Anzahl der Restzeichen
   anzahl_rest_zeichen_vorkomma  = max_stellen_vorkomma  - restore_vorkomma.length;
   anzahl_rest_zeichen_nachkomma = max_stellen_nachkomma - restore_nachkomma.length;

   //Restzeichen eintragen
   document.getElementById('rest_zeichen_'+fieldname).innerHTML = anzahl_rest_zeichen_vorkomma + " - " + anzahl_rest_zeichen_nachkomma;
   break;
  }

 //Ändere die Warnfarben zurück
 do_it_dbads ('show_colors',fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
 do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_off');
}










function dbads_XXX_save_ueber_welches_fragezeichen_liegt_die_maus (parameter_array)
/********************************************************************************************/
/* First Releae     : 19.05.2010 - 18:48                                                    */
/* Last Update      : 19.05.2010 - 18:48                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat die Maus über eines der Fragezeichen bewegt. Das wird jetzt gespeichert,    */
/* weil die JS-Routine zum Einblenden der Info-Tabelle an der augenblicklichen Mausposition */
/* keine Übergabeparemeter erlaubt.                                                         */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];

 ueber_welches_fragezeichen_liegt_die_maus = fieldname;
}











function dbads_XXX_set_datefield_to_now (parameter_array)
/********************************************************************************************/
/* First Releae     : 17.11.2008 - 13:53                                                    */
/* Last Update      : 03.12.2009 - 11:53                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den "now"-Button gedrückt.              */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];

 //Berechne das aktuelle Datum
 jetzt    = new Date();
 jahr     = jetzt.getFullYear();
 monat    = jetzt.getMonth();
 tag      = jetzt.getDate();
 stunden  = jetzt.getHours();
 minuten  = jetzt.getMinutes();
 sekunden = jetzt.getSeconds();

 //Berechne den heutigen Wochentag
 zeit           = new Date (jahr, monat, tag, stunden, minuten, sekunden);
 tag_in_woche   = zeit.getDay ();
 var wochentag  = new Array ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
 feld_wochentag = wochentag[tag_in_woche];
 document.getElementById ('wochentag_'+fieldname).value = feld_wochentag;

 //Trage die Werte zum heutigen Tag in die Kombifelder ein
 document.formular['day_'+fieldname].selectedIndex   = tag;
 document.formular['month_'+fieldname].selectedIndex = monat+1;
 document.formular['year_'+fieldname].value          = jahr;
 document.formular['hours_'+fieldname].selectedIndex = stunden;
 document.formular['minutes_'+fieldname].value       = minuten;
 document.formular['seconds_'+fieldname].value       = sekunden;

 //Trage die Werte zum heutigen Tag auch ins versteckte Feld ein
 document.formular[fieldname].value = tag+"|"+(monat+1)+"|"+jahr+"|"+stunden+"|"+minuten+"|"+sekunden;

 //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
 do_it_dbads ('show_colors',fieldname+'&legende_'+fieldname+'&changed&sign_on');
}









function dbads_XXX_set_zugangsdaten_felder (parameter_array)
/********************************************************************************************/
/* First Releae     : 05.10.2008 - 12:47                                                    */
/* Last Update      : 05.10.2008 - 12:47                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat in den Zugangsdaten-Feldern bei "Einstellungen" Eintragungen gemacht.       */
/********************************************************************************************/
{
 var modul = parameter_array[0];

 switch (modul)
  {
   case "einstellungen":
   if ((document.formular.benutzerkennung_einstellungen.value!="") && (document.formular.kennwort_einstellungen.value!=""))
     {
      document.formular.einstellungen_zugangsdaten_erforderlich[1].checked = true;
     }
   break;

   default:
   feld_benutzerkennung = "benutzerkennung_"+modul;
   feld_kennwort        = "kennwort_"+modul;
   radio_feld           = "zugangsdaten_erforderlich_"+modul;

   if ((document.formular[feld_benutzerkennung].value!="") && (document.formular[feld_kennwort].value!=""))
     {
      document.formular[radio_feld][1].checked = true;
     }
   break;
  }
}










function dbads_XXX_servicebereich_nicht_abschalten (parameter_array)
/********************************************************************************************/
/* First Releae     : 10.02.2010 - 21:11                                                    */
/* Last Update      : 26.05.2010 - 21:39                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User will die Arbeit mit seinem Servicebereich fortsetzen.                           */
/********************************************************************************************/
{
 var von_kunde                 =          parameter_array[0];
 var sekunden_der_inaktivitaet = parseInt(parameter_array[1]);


 //User mit Sound seinen Buttondruck untermalen...
 do_it_dbads ('play_sound',von_kunde+'&sound_3');

 //Zeitschleife beenden
 clearTimeout (zeitschleife_sicherheit);

 //Meldung wieder ausblenden
 top.document.getElementById('confirmation_of_selfclose').style.visibility = "hidden";

 //Zeitmessung resetten indem maximale Zeit wieder ins Feld eingetragen wird (plus 1 Sekunde, weil die sofort zu Beginn wieder abgezogen wird)
 top.document.getElementById('sekunden_der_inaktivitaet').value = sekunden_der_inaktivitaet + 1;
}










function dbads_XXX_show_colors (parameter_array)
/********************************************************************************************/
/* First Releae     : 27.12.2009 - 18:10                                                    */
/* Last Update      : 25.05.2010 - 22:55                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Die Routine färbt grafische Elemente des Formulars je nach Ereignis.                     */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];
 var what      = parameter_array[1];
 var purpose   = parameter_array[2];
 var status    = parameter_array[3];


 switch (purpose)
  {
   /******************************************************************************************
   Farbänderung bei Muss-ausgefüllt-werden-Feldern, die der User vergessen hat auszufüllen !
   ******************************************************************************************/
   case "missing_content":
     case "sign_on":
     font_color       = "#000088";
     background_color = "#cccc00";
     border           = "solid 1px #909000";
     break;

     case "sign_off":
     font_color       = "#000000";
     background_color = "#eaeaea";
     border           = "solid 1px #eaeaea";
     break;
   break;

   /******************************************************************************************
   Farbänderung bei Formularfeldern, deren Inhalt der User soeben verändert hat !
   ******************************************************************************************/
   case "changed":
   switch (status)
    {
     case "sign_on":
     font_color       = "#ff0000";
     background_color = "#ffeeee";
     border           = "solid 1px #ffbbbb";

     //Ist der Feldname des geänderten Feldes noch nicht im versteckten Feld eingetragen ?
     if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") == -1)
       {
        //ja: trage ihn ein
        top.servicezugang_body.document.getElementById('fields_of_changed_content').value = top.servicezugang_body.document.getElementById('fields_of_changed_content').value + fieldname + "-";
       }

     //Setze zur Kennung oben in der grünen Zeile rechts neben dem gelben Test zusätzlich ein Sternchen als globale Kennung
     top.document.getElementById('change_indicator').innerHTML = "*";
     break;

     case "sign_off":
     font_color       = "#000000";
     background_color = "#eaeaea";
     border           = "solid 1px #eaeaea";

     //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
     if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
       {
        //ja: nimm ihn heraus
        while (top.servicezugang_body.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.document.getElementById('fields_of_changed_content').value.replace(fieldname+"-","");}
       }

     //Ist das versteckte Feld mit dem Infos, welche Felder alle geändert wurden, leer ?
     if (top.servicezugang_body.document.getElementById('fields_of_changed_content').value == "")
       {
        //ja: nimm die Kennung oben in der grünen Zeile rechts neben dem gelben Test wieder zurück
        top.document.getElementById('change_indicator').innerHTML = "";
       }
     break;
    }
   break;

   /******************************************************************************************
   Farbänderung bei der Restzeichen-Anzeige, wenn der User Änderungen im Feld gemacht hat !
   ******************************************************************************************/
   case "rest":
   switch (status)
    {
     case "sign_on":
     font_color       = "#ffffff";
     background_color = "#ff0000";
     border           = "solid 1px #9999bb";
     break;

     case "sign_off":
     font_color       = "#000000";
     background_color = "#dddde6";
     border           = "solid 1px #9999bb";
     break;
    }
   break;

   default:
   alert ('Fehler in DBads:\n\nDer angegebene Zweck (\"'+purpose+'\") zur Änderung der Farbe eines Formularelements ist nicht bekannt !');
   break;
  }

 //Färbe das grafische Element auf der Webseite
 top.servicezugang_body.document.getElementById(what).style.border          = border;
 top.servicezugang_body.document.getElementById(what).style.color           = font_color;
 top.servicezugang_body.document.getElementById(what).style.backgroundColor = background_color;
}










function dbads_XXX_show_hide_auswahl_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.01.2010 - 16:56                                                    */
/* Last Update      : 31.01.2010 - 16:44                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat im Auswahl-Select-Feld rechts auf den Button (mit dem Pfeil nach unten)     */
/* gedrückt.                                                                                */
/********************************************************************************************/
{
 var what = parameter_array[0];

 switch (what)
  {
   //User hat auf das Selectfeld geklickt und damit die Liste ausklappen wollen
   case "onmouseup":
   if (top.servicezugang_body.document.getElementById('auswahl_select_field_choices').style.visibility == "visible")
     {
      top.servicezugang_body.document.getElementById('auswahl_select_field_choices').style.visibility = "hidden";
     }
    else
     {
      //Wurde die Seite über den Firefox aufgerufen ?
      if (navigator.userAgent.indexOf("Firefox")>-1)
        {
         //ja: mache ihn etwas schmaler
         top.servicezugang_body.document.getElementById('auswahl_select_field_choices').style.width = "740px";
        }

      top.servicezugang_body.document.getElementById('auswahl_select_field_choices').style.visibility = "visible";
      top.servicezugang_body.document.getElementById('auswahl_select_field_choices').focus();
     }
   break;

   //User hat der Liste den Focus entzogen und damit einklappen wollen
   case "onblur":
   top.servicezugang_body.document.getElementById('auswahl_select_field_choices').style.visibility = "hidden";
   break;
  }
}










function dbads_XXX_show_hide_fileinfos (parameter_array)
/********************************************************************************************/
/* First Releae     : 13.02.2009 - 13:40                                                    */
/* Last Update      : 30.05.2010 - 00:53                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var spalte = parameter_array[0];
 var file   = parameter_array[1];


 //Ermittle den Text im Button
 buttontext = document.getElementById('show_hide_button_zu_file_'+spalte+'_'+file+'_buttontext').innerHTML;

 //Sollen die Fileinfos eingeblendet werden ?
 if (buttontext == "Fileinfos einblenden")
   {
    //ja: blende sie ein
    document.getElementById('td_zu_file_'+spalte+'_'+file).style.visibility                      = "visible";
    document.getElementById('div_zu_file_'+spalte+'_'+file).style.height                         = "auto";
    document.getElementById('show_hide_button_zu_file_'+spalte+'_'+file+'_buttontext').innerHTML = "Fileinfos ausblenden";
   }
  else
   {
    //nein: blende sie aus
    document.getElementById('td_zu_file_'+spalte+'_'+file).style.visibility                      = "hidden";
    document.getElementById('div_zu_file_'+spalte+'_'+file).style.height                         = "1px";
    document.getElementById('show_hide_button_zu_file_'+spalte+'_'+file+'_buttontext').innerHTML = "Fileinfos einblenden";
   }
}










function dbads_XXX_show_hide_id_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.02.2010 - 13:20                                                    */
/* Last Update      : 07.02.2010 - 13:20                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat im ID-Select-Feld rechts auf den Button (mit dem Pfeil nach unten)         */
/* gedrückt.                                                                                */
/********************************************************************************************/
{
 var what = parameter_array[0];

 switch (what)
  {
   //User hat auf den Tiefpfeil geklickt und damit die Liste der IDs ausklappen wollen
   case "onmouseup":
   if (top.servicezugang_body.document.getElementById('id_select_field_choices').style.visibility == "visible")
     {
      top.servicezugang_body.document.getElementById('id_select_field_choices').style.visibility = "hidden";
     }
    else
     {
      //Wurde die Seite über den Firefox aufgerufen ?
      if (navigator.userAgent.indexOf("Firefox")>-1)
        {
         //ja: mache ihn etwas schmaler
        top.servicezugang_body.document.getElementById('id_select_field_choices').style.width = "58px";
        }

      top.servicezugang_body.document.getElementById('id_select_field_choices').style.visibility = "visible";
      top.servicezugang_body.document.getElementById('inneres_id_select_field_choices').focus();
     }
   break;

   //User hat der Liste den Focus entzogen und damit einklappen wollen
   case "onblur":
   top.servicezugang_body.document.getElementById('id_select_field_choices').style.visibility = "hidden";
   break;
  }
}










function dbads_XXX_show_hide_pictureinfos (parameter_array)
/********************************************************************************************/
/* First Releae     : 26.09.2008 - 17:50                                                    */
/* Last Update      : 29.05.2010 - 13:08                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat unter einem Bild auf den Button zum ein- oder ausblenden der Bildinforma-   */
/* tionen gedrückt.                                                                         */
/********************************************************************************************/
{
 var spalte = parameter_array[0];
 var bild   = parameter_array[1];


 //Ermittle den Text im Button
 buttontext = document.getElementById('show_hide_button_zu_bild_'+spalte+'_'+bild+'_buttontext').innerHTML;

 //Sollen die Bildinfos eingeblendet werden ?
 if (buttontext == "Bildinfos einblenden")
   {
    //ja: blende sie ein
    document.getElementById('td_zu_bild_'+spalte+'_'+bild).style.visibility                      = "visible";
    document.getElementById('div_zu_bild_'+spalte+'_'+bild).style.height                         = "auto";
    document.getElementById('show_hide_button_zu_bild_'+spalte+'_'+bild+'_buttontext').innerHTML = "Bildinfos ausblenden";
   }
  else
   {
    //nein: blende sie aus
    document.getElementById('td_zu_bild_'+spalte+'_'+bild).style.visibility = "hidden";
    document.getElementById('div_zu_bild_'+spalte+'_'+bild).style.height    = "1px";
    document.getElementById('show_hide_button_zu_bild_'+spalte+'_'+bild+'_buttontext').innerHTML = "Bildinfos einblenden";
   }
}










function dbads_XXX_show_loginfields (parameter_array)
/********************************************************************************************/
/* First Releae     : 26.09.2008 - 17:50                                                    */
/* Last Update      : 05.10.2008 - 17:40                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will ein Modul aufrufen, dass Kennwortgeschützt ist: zeige die Loginfelder an.  */
/********************************************************************************************/
{
 var modul_id   = parameter_array[0];
 var action     = parameter_array[1];
 var modul_name = parameter_array[2];


 //Trage den Modulnamen in die noch unsichtbaren Loginfelder ein
 while (modul_name.indexOf("Æ")>-1) {modul_name=modul_name.replace("Æ"," ");}
 top.servicezugang_body.document.formular.modul_name.value = modul_name;

 //Trage die Modul-ID in das noch unsichtbaren Felder ein
 top.servicezugang_body.document.formular.modul_id.value = modul_id;

 //Trage den Modultypen in das noch unsichtbaren Felder ein
 top.servicezugang_body.document.formular.action.value = action;

 //Mache die Loginfelder sichtbar
 top.servicezugang_body.document.getElementById('loginfields').style.visibility = "visible";

 //Setze den Focus in das Feld "Benutzerkennung"
 top.servicezugang_body.document.getElementById('benutzerkennung').focus();
}










function dbads_XXX_show_table_in_index (parameter_array)
/********************************************************************************************/
/* First Releae     : 03.03.2010 - 10:57                                                    */
/* Last Update      : 03.03.2010 - 10:57                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat auf den grauen Pfeil in der Statusleiste geklickt.                          */
/********************************************************************************************/
{
 var what_table = parameter_array[0];


 //Blende erst mal alle Tabellen aus (falls eingeblendet)
 top.document.getElementById('table_of_modules').style.visibility   = "hidden";
 top.document.getElementById('table_of_db_checks').style.visibility = "hidden";

 //Blende die gewünschte Tabelle ein
 top.document.getElementById(what_table).style.visibility = "visible";

 //Gib einem Element der Tabelle den Focus, damit die Tabelle, für den Fall dass der User
 //der Tabelle den Focus entzieht, automatisch wieder ausgeblendet werden kann.
 switch (what_table)
  {
   case "table_of_modules":   top.document.getElementById('datum_der_versionen').focus(); break;
   case "table_of_db_checks": top.document.getElementById('pruefergebnis').focus();       break;
  }
}










function dbads_XXX_speichern (parameter_array)
/********************************************************************************************/
/* First Releae     : 24.09.2008 - 14:20                                                    */
/* Last Update      : 21.11.2010 - 22:09                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Der User will die Formularinhalte neu abspeichern. Vorab läuft die Plausibiltäts-        */
/* kontrolle.                                                                               */
/********************************************************************************************/
{
 var modul_name             = parameter_array[0];
 var must_fields            = parameter_array[1];
 var what                   = parameter_array[2]; //Optionaler Parameter
 var plausbilitaetspruefung = false;



 //Bei einigen Sonderfällen gibt es verschiedene Speicherungs-Wege
 switch (modul_name)
  {
   case "rundmail_senden":
   frage                  = 'Möchten Sie tatsächlich Ihre Rundmail jetzt abschicken ?';
   plausbilitaetspruefung = false;
   break;

   case "Zugangsdaten":
   frage                  = 'Möchten Sie tatsächlich die Zugangsdaten neu speichern ?';
   plausbilitaetspruefung = false;
   break;

   case "zugriffe_hochladen":
   frage                  = 'Möchten Sie tatsächlich jetzt die Zugriffsdateien hochladen ?';
   plausbilitaetspruefung = false;
   break;

   default:
   switch (what)
    {
     case "picture": frage = 'Möchten Sie tatsächlich das Bild speichern ?';  break;
     case "file":    frage = 'Möchten Sie tatsächlich die Datei speichern ?'; break;

     default:
     if (top.document.getElementById('change_indicator').innerHTML == "*")
       {
        frage = 'Möchten Sie tatsächlich diesen Datensatz speichern ?';
       }
      else
       {
        frage = 'Möchten Sie tatsächlich diesen Datensatz\n\n- obwohl Sie keine Änderungen vorgenommen haben -\n\ndennoch speichern ?\n\n\nWenn Sie nun auch "OK" drücken, wird lediglich das Datum in "Zuletzt geändert" auf das aktuelle Datum gesetzt.';
       }
     break;
    }
   plausbilitaetspruefung = true;
   break;
  }

 //Gib entsprechend dem Modul die entsprechende Rückfrage raus
 antwort = confirm(frage);

 if (antwort)
   {
    //Soll eine Plausibilitätsprüfung vorgenommen werden ?
    if (plausbilitaetspruefung)
      {
       //ja: wurde ein Plausibilitätsfehler (hier ein leeres Feld, dass nicht leer sein darf) gefunden ?
       if (do_it_dbads ('check_fields_if_empty_allowed',must_fields))
         {
          //nein: speichere das Formular ab
          top.servicezugang_body.document.formular.submit();
         }
        else
         {
          //ja: speichere das Formular nicht ab, eine Fehlermldung erfolgte bereits in der Prüfung selbst
         }
      }
     else
      {
       //nein: speichere das Formular - ohne Rücksicht auf Verluste - sofort ab
       top.servicezugang_body.document.formular.submit();
      }
   }
}










function dbads_XXX_start_countdown_sicherheitsabschaltung (parameter_array)
/********************************************************************************************/
/* First Releae     : 10.02.2010 - 21:11                                                    */
/* Last Update      : 31.03.2010 - 21:43                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Es erscheint die Meldung, dass aus Sicherheitsgründen der Servicebereich in wenigen      */
/* Sekunden automatisch geschlossen wird.                                                   */
/********************************************************************************************/
{
 var von_kunde       =          parameter_array[0];
 var anzahl_sekunden = parseInt(parameter_array[1]);


 //Ziehe 1 Sekunde ab
 anzahl_sekunden--;

 //Zeige die neue Zeit bis zur Abschaltung an (aber nur positive Werte!)
 if (anzahl_sekunden >= 0)
   {
    top.document.getElementById('rettungssekunden').innerHTML = anzahl_sekunden;
   }

 //Ist der Countdown bei Null angelangt ?
 if (anzahl_sekunden == 0)
   {
    //ja: ein Sound ertönt. Das ist manchmal ganz sinnvoll, wenn zwischenzeitlich der Bildschirmschoner
    //aktiviert wurde und der User nicht den grafischen Hinweis auf die Sicherheitsabschaltung sehen kann.
    do_it_dbads ('play_sound',von_kunde+'&sound_1');
   }
  else
   {
    //nein: ist der Countdown bei -4 angelangt ?
    if (anzahl_sekunden == -4)
      {
       //ja: das Fenster wird geschlossen
       window.close();
      }
   }

 zeitschleife_sicherheit = setTimeout("do_it_dbads('start_countdown_sicherheitsabschaltung','"+von_kunde+"&"+anzahl_sekunden+"')",1000);
}










function dbads_XXX_start_of_function (parameter_array)
/********************************************************************************************/
/* First Releae     : 24.09.2008 - 12:43                                                    */
/* Last Update      : 27.01.2010 - 22:36                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User will die Arbeit mit einem Servicebereich-Modul beginnen.                         */
/********************************************************************************************/
{
 var modul_id = parameter_array[0];
 var action   = parameter_array[1];
 var id       = parameter_array[2];


 //Zeige dem User die Eieruhr, solange bis die Webseite fertig aufgebaut ist
 top.servicezugang_body.document.body.style.cursor = "wait";

 //Starte die Funktion
 top.servicezugang_body.document.location.href = "/"+fuer_kunde+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+id;
}










function dbads_XXX_start_of_login (parameter_array)
/********************************************************************************************/
/* First Releae     : 21.02.2010 - 13:51                                                    */
/* Last Update      : 21.03.2010 - 23:15                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Öffnet für den User das Login-Fenster für den kennwortgeschützen Zugang zum Service-     */
/* bereich.                                                                                 */
/********************************************************************************************/
{
 var backsteps     = parameter_array[0];
 var user_id       = parameter_array[1];
 var von_kunde     = parameter_array[2];
 var fuer_kunde    = parameter_array[3];
 var web_version   = parameter_array[4];

 var fensterbreite = screen.width;
 var fensterhoehe  = screen.height;
 var fensterlage_y = (fensterhoehe-660)/2;
 var fensterlage_x = (fensterbreite-750)/2;

 win = window.open ('/'+von_kunde+'/system/dbads/phplib/login.php?true', 'service_bereich_login', 'width=750, height=640, left='+fensterlage_x+', top='+fensterlage_y+', status=0, statusbar=0, directories=0, location=0, scrollbars=0, resizable=0, menubar=0, toolbar=0');
}










function dbads_XXX_start_of_module (parameter_array)
/********************************************************************************************/
/* First Releae     : 24.09.2008 - 12:43                                                    */
/* Last Update      : 19.12.2009 - 00:03                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will die Arbeit mit einem Servicebereich-Modul beginnen.                        */
/********************************************************************************************/
{
 var backsteps    = parameter_array[0];
 var user_id      = parameter_array[1];
 var von_kunde    = parameter_array[2];
 var fuer_kunde   = parameter_array[3];
 var web_version  = parameter_array[4];
 var routine      = parameter_array[5];
 var modul_id     = parameter_array[6];
 var action       = parameter_array[7];
 var modul_name   = parameter_array[8];
 var datensatz_id = parameter_array[9];
 var section      = parameter_array[10];



 switch (action)
  {
   /*****************************************************************************************
   Das Modul wird im Content-Fenster von DBads geöffnet
   *****************************************************************************************/
   case "open_in_content":

   //Berücksichtige Sonderzeichen
   header = modul_name;
   while (header.indexOf("Æ")>-1) {header=header.replace("Æ","&nbsp;");}
   while (header.indexOf(" ")>-1) {header=header.replace(" ","&nbsp;");}
   while (header.indexOf("-")>-1) {header=header.replace("-","&minus;");}

   while (section.indexOf("Æ")>-1) {section=section.replace("Æ","&nbsp;");}
   while (section.indexOf(" ")>-1) {section=section.replace(" ","&nbsp;");}
   while (section.indexOf("-")>-1) {section=section.replace("-","&minus;");}

   //Setze den Modulnamen inm die glasgrüne Zeile ein
   parent.document.getElementById('header').innerHTML = section+"&nbsp;&nbsp;&nbsp;<span style='font-weight:normal;'>|</span>&nbsp;&nbsp;&nbsp;"+header;

   //Baue die Navigation mit den Funktionen zum jeweiligen Modul auf
   top.servicezugang_navigation.document.location.href = "/"+von_kunde+"/system/dbads/phplib/navigation.php?"+modul_id;

   //Starte das Modul
   top.servicezugang_body.document.location.href = "/"+von_kunde+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+datensatz_id;
   break;

   /*****************************************************************************************
   Das Modul wird in einem neuen Fenster angezeigt
   *****************************************************************************************/
   case "open_popup":
   //Wurde in der Datenbank module.db eine Routine für dieses Popup-Fenster angegeben ?
   if (routine!="")
     {
      //ja: öffne das Popup-Fenster
      var x_lage;
      var y_lage;
      var fensterbreite = screen.width;
      var fensterhoehe  = screen.height;
      x_lage = 0;
      y_lage = 0;
      win = window.open (routine, "webpraesenz_bisher", "height="+fensterhoehe+", width="+fensterbreite+", left="+x_lage+", top="+y_lage+", status=1, scrollbars=1, resizable=1, menubar=1, toolbar=1");
     }
    else
     {
      alert ('Fehler in DBads:\n\nEs soll ein Popup-Fenster geöffnet werden, aber zum Modul (ID='+modul_id+') in \"module.db\"\nfehlt dazu die Angabe woher der Inhalt (HTML- oder PHP-Datei) kommen soll !');
     }
   break;
  }
}










function dbads_XXX_start_of_popup (parameter_array)
/********************************************************************************************/
/* First Releae     : 05.12.2008 - 14:57                                                    */
/* Last Update      : 05.12.2008 - 14:57                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will in einem Popup-Fenster eine Webpräsenz anschauen.                          */
/********************************************************************************************/
{
 var backsteps   = parameter_array[0];
 var user_id     = parameter_array[1];
 var von_kunde   = parameter_array[2];
 var fuer_kunde  = parameter_array[3];
 var web_version = parameter_array[4];
 var routine     = parameter_array[5];
 var modul_id    = parameter_array[6];


 //Wurde in der Datenbank module.db eine Routine für dieses Popup-Fenster angegeben ?
 if (routine!="")
   {
    //ja: öffne das Popup-Fenster
    var x_lage;
    var y_lage;
    var fensterbreite = screen.width;
    var fensterhoehe  = screen.height;
    x_lage = 0;
    y_lage = 0;
    win = window.open (routine, "webpraesenz_bisher", "height="+fensterhoehe+", width="+fensterbreite+", left="+x_lage+", top="+y_lage+", status=1, scrollbars=1, resizable=1, menubar=1, toolbar=1");

    if ((von_kunde==fuer_kunde) && (von_kunde=="temporyx.de"))
      {
       //Ich selbst bin in meinem Servicebereich und schaue mir über die
       //Servicebereiche eine Webseite über ein PopUp-Fenster an. Dann wird der Home-Bereich
       //nicht geändert
      }
     else
      {
       //Zeige im Homebereich wieder die alte Homeseite an
       top.servicezugang_body.document.location.href = '/'+von_kunde+'/system/dbads/phplib/home.php';
      }
   }
  else
   {
    alert ('Fehler in DBads:\n\nEs soll ein Popup-Fenster geöffnet werden, aber zum Modul (ID='+modul_id+') in \"module.db\"\nfehlt dazu die Angabe woher der Inhalt (HTML- oder PHP-Datei) kommen soll !');
   }
}










function dbads_XXX_start_of_service (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 12:51                                                    */
/* Last Update      : 23.03.2010 - 11:15                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Der User will den Servicebereich betreten.                                               */
/********************************************************************************************/
{
 var backsteps     = parameter_array[0];
 var user_id       = parameter_array[1];
 var von_kunde     = parameter_array[2];
 var fuer_kunde    = parameter_array[3];
 var web_version   = parameter_array[4];


 var fensterbreite = screen.width;
 var fensterhoehe  = screen.height;
 var fensterlage_y = ((fensterhoehe-800)/2)-50;
 var fensterlage_x = (fensterbreite-1014)/2;

 win = window.open ('/'+von_kunde+'/system/dbads/phplib/index.php', 'service_bereich', 'width=1014, height=800, left='+fensterlage_x+', top='+fensterlage_y+', status=0, statusbar=0, directories=0, location=0, scrollbars=0, resizable=1, menubar=0, toolbar=0');
}










function dbads_XXX_submit_formular (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.05.2010 - 19:29                                                    */
/* Last Update      : 29.05.2010 - 19:29                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat im Login-Fenster auf "OK" gedrückt.                                         */
/********************************************************************************************/
{
 document.formular.submit();
}










function ermittle_tastaturcode_wenn_focus_im_datensatznummer_anzeiger (ereignis)
/********************************************************************************************/
/* First Releae     : 06.01.2010 - 23:09                                                    */
/* Last Update      : 18.03.2010 - 22:56                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User hat im Formular auf eine Taste gedrückt. Werte es aus.                          */
/* Dazu wird die Feldeingabe ausgewertet und anhand derer die ID des anzuzeigenden Daten-   */
/* satzes ermittelt. Das geht so:                                                           */
/* Das Auswahlfeld oben im Formular ist ja ein selbstgebautes Selectfeld. Sobald der User   */
/* hierdrauf klickt, wird ein bisher verstecktes Feld mit allen anklickbaren Optionen ein-  */
/* geblendet. Jede Option ist eine Zeile. Rechts, am Ende der Zeilen gibt es die Scrollbar. */
/* links, direkt vor der Scrollbar hat jede Zeile ein kleines Distanzstück, damit der Text  */
/* in den Zeilen nicht bis an die Scrollbar heranreicht. Und genau in diesem Distanzstück   */
/* steht für jede Zeile die ID des jeweiligen Datensatzes.                                  */
/* Gibt also der User im Auswahlfeld eine Zahl ein, bedeutet das ja die Nummer einer der    */
/* Zeilen des Auswahlfeldes mit seinen Optionen. Nun braucht die Routine hier nur die       */
/* richtige Zeile auszuwerten und zu ermitteln, welche Zahl (=ID) in dem Distanzstück steht.*/
/********************************************************************************************/
{
 //Gibt es das Feld überhaupt (manchmal wird nämlich das Auswahlfeld, oben im Formular, weggelassen) ?
 if (document.getElementById('current_record'))
   {
    //ja: hat das Datensatznummer-Feld den Focus (hat Benutzer es angeklickt) ?
    if (document.getElementById('current_record').focus == true)
      {
       //ja; ermittle den Tastaturcode
       if (!ereignis)
         {
          ereignis = window.event;
         }

       if (ereignis.which)
         {
          tastencode = ereignis.which;
         }
        else
         {
          if (ereignis.keyCode)
            {
             tastencode = ereignis.keyCode;
            }
         }

       //Hat der Benutzer auf die Return-Taste gedrückt ?
       if (tastencode == 13)
         {
          //ja: zeige im Formular den im Datensatznummer-Feld angegebenen Datensatz an
          content_form_satznummer = document.getElementById('current_record').value;

          //Ermittle anhand der Datensatznummer des Datensatznummer-Feldes die ihr zugrundeliegende Datenbank-ID
          content_form_id = document.getElementById('zeile_'+content_form_satznummer+'_rechtes_distanzstueck_mit_verstecker_id').innerHTML;

          //Rufe das Formular neu auf.
          top.servicezugang_body.document.location.href = "/"+content_form_von_kunde+"/system/dbads/phplib/content.php?"+content_form_modul_id+"&"+content_form_action+"&"+content_form_id;
         }
      }
   }
}










function move_infotable_to_position_of_mouseclick_and_make_it_visible (ereignis)
/********************************************************************************************/
/* First Releae     : 19.05.2010 - 16:24                                                    */
/* Last Update      : 20.05.2010 - 22:51                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat im Formular auf die linke Maustaste gedrückt. Die Position der Maus im      */
/* Formular wird ermittelt und ausgewertet.                                                 */
/********************************************************************************************/
{
 if (!ereignis)
   {
    ereignis = window.event;
   }

 //Wird "ereignis.page" vom Browser verstanden ?
 if ((ereignis.pageX) && (ereignis.pageY))
   {
    //ja: also handelt es sich um einen Mozilla-Browser: hier weitermachen...
    //Erfasse die Koordinaten der Maus
    x_mouse_position = ereignis.pageX;
    y_mouse_position = ereignis.pageY;
   }
  else
   {
    //nein: wird "ereignis.client" vom Browser verstanden ?
    if ((ereignis.clientX) && (ereignis.clientY))
      {
       //ja: also handelt es sich um einen Microsoft-Browser: hier weitermachen...
       //Erfasse die Koordinaten der Maus und berücksichtige zusätzlich das eventuell verscrollte Fenster
       x_mouse_position = ereignis.clientX + document.body.scrollLeft;
       y_mouse_position = ereignis.clientY + document.body.scrollTop;
      }
   }

 //Ist augenblicklich bereits ein das Fenster einer Infotabelle sichtbar ?
 if (visible_infotable != "")
   {
    //ja: verstecke dieses Fenster wieder
    top.servicezugang_body.document.getElementById(visible_infotable).style.visibility = "hidden";

    //Leere diese Merkvariable, weil ja alle Fenster wieder versteckt sind
    visible_infotable = "";
   }

 //Verändere die Mauskoordinaten leicht, damit das Infofenster nicht direkt unter der Mausspitze aufgeht
 x_mouse_position = x_mouse_position + 40;
 y_mouse_position = y_mouse_position + 15;

 //Platziere die Tabelle dort wo sich die Zeigerspitze der Maus gerade befindet
 top.servicezugang_body.document.getElementById('infotable_'+ueber_welches_fragezeichen_liegt_die_maus).style.top  = y_mouse_position+"px";
 top.servicezugang_body.document.getElementById('infotable_'+ueber_welches_fragezeichen_liegt_die_maus).style.left = x_mouse_position+"px";

 //Mach das Infofenster sichtbar
 top.servicezugang_body.document.getElementById('infotable_'+ueber_welches_fragezeichen_liegt_die_maus).style.visibility = "visible";

 //Merke dir dieses geöffnete Infofenster (damit es später durch das öffnen eines anderen Fensters wieder versteckt werden kann)
 visible_infotable = 'infotable_'+ueber_welches_fragezeichen_liegt_die_maus;
}








function submit_on_enter (ereignis)
/********************************************************************************************/
/* First Releae     : 05.06.2010 - 15:07                                                    */
/* Last Update      : 05.06.2010 - 15:07                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Prüft für das Login-Fenster, welche Taste der User gedrückt hat. Bei "RETURN" wird das   */
/* LoginFormular abgeschickt. Bei allen anderen Tasten wird das entsprechende Zeichen in    */
/* die Formularfelder eingetragen.                                                          */
/********************************************************************************************/
{
 //Ermittle den Code der gedrückten Taste
 if (!ereignis)
   {
    ereignis = window.event;
   }

 if (ereignis.which)
   {
    tastencode = ereignis.which;
   }
  else
   {
    if (ereignis.keyCode)
      {
       tastencode = ereignis.keyCode;
      }
   }

 //Hat der Benutzer auf die Return-Taste gedrückt ?
 if (tastencode == 13)
   {
    //ja: schicke das Formular ab
    do_it_dbads ('submit_formular','');
   }
  else
   {
    //nein, der User hat irgendeine andere Taste gedrückt, das entsprechende Zeichen wird in die Formularfelder eingetragen
   }
}

