/********************************************************************************************/
/*                                                                                          */
/*                            JavaScript-Library fuer [DBads]                               */
/*                                                                                          */
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 12:51                                                    */
/* Last Update      : 29.09.2011 - 15:42                                                    */
/* Version          : 58                                                                    */
/********************************************************************************************/
/* 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 auswahlfeld_window                       = null;
var zeitschleife_sicherheit;
var zuletzt_markierte_zeile_in_auswahlfeld   = -1;
var selektierte_zeile                        = -1;
var id_zuletzt_markierte_zeile               = "";
var hintergrundfarbe_zuletzt_markierte_zelle = new Array();
var schriftfarbe_zuletzt_markierte_zelle     = new Array();
var listen_status                            = "";
var visible_infotable                        = "";
var anzahl_aufgeklappter_module              = 0;
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 jetzt                                    = new Date();
var objImg                                   = new Image();
var letzter_suchbegriff_im_auswahlfeld       = "";
var start_uhr_sekunde                        = 0;
var start_uhr_millisekunde                   = 0;
var ende_uhr_sekunde                         = 0;
var ende_uhr_millisekunde                    = 0;










function do_it_dbads (what, parameter)
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 12:51                                                    */
/* Last Update      : 28.09.2011 - 13:41                                                    */
/* Version          : 14                                                                    */
/********************************************************************************************/
/* Funktionsübersicht in diesem Modul                                                       */
/********************************************************************************************/
{
 parameter_array = parameter.split("&");


 switch (what)
  {
   case "analog_uhr_init":                                      dbads_XXX_analog_uhr_init                                 (parameter_array); break;
   case "analog_uhr_start":                                     dbads_XXX_analog_uhr_start                                (parameter_array); break;
   case "browser_workarrounds":                                 dbads_XXX_browser_workarrounds                            (parameter_array); break;
   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_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_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_formfield_with_legend_inside":                   dbads_XXX_check_formfield_with_legend_inside              (parameter_array); break;
   case "check_form_email_an_temporyx_senden":           return dbads_XXX_check_form_email_an_temporyx_senden             (parameter_array); break;
   case "check_form_login_to_dbads":                     return dbads_XXX_check_form_login_to_dbads                       (parameter_array); break;
   case "check_form_no_access":                          return dbads_XXX_check_form_no_access                            (parameter_array); break;
   case "check_form_open_module":                        return dbads_XXX_check_form_open_module                          (parameter_array); break;
   case "check_picturefield":                            return dbads_XXX_check_picturefield                              (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 "click_on_tile_infocenter":                             dbads_XXX_click_on_tile_infocenter                        (parameter_array); break;
   case "clienttime_counting":                                  dbads_XXX_clienttime_counting                             (parameter_array); break;
   case "close_all_sub_windows":                                dbads_XXX_close_all_sub_windows                           (parameter_array); break;
   case "close_window":                                         dbads_XXX_close_window                                    (parameter_array); break;
   case "close_window_on_countdown_is_up":                      dbads_XXX_close_window_on_countdown_is_up                 (parameter_array); break;
   case "close_window_on_zero":                                 dbads_XXX_close_window_on_zero                            (parameter_array); break;
   case "close_window_slave":                                   dbads_XXX_close_window_slave                              (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 "collapse_or_expand_header_protected":                  dbads_XXX_collapse_or_expand_header_protected             (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 "end_of_submodule":                                     dbads_XXX_end_of_submodule                                (parameter_array); break;
   case "get_record_from_button":                               dbads_XXX_get_record_from_button                          (parameter_array); break;
   case "get_record_from_datensatzanzeige":                     dbads_XXX_get_record_from_datensatzanzeige                (parameter_array); break;
   case "inactive":                                             dbads_XXX_inactive                                        (parameter_array); break;
   case "infocenter_klappen":                                   dbads_XXX_infocenter_klappen                              (parameter_array); break;
   case "init_content_form":                                    dbads_XXX_init_content_form                               (parameter_array); break;
   case "init_index":                                           dbads_XXX_init_index                                      (parameter_array); break;
   case "init_infocenter":                                      dbads_XXX_init_infocenter                                 (parameter_array); break;
   case "init_suchfeld_in_auswahlfeld":                         dbads_XXX_init_suchfeld_in_auswahlfeld                    (parameter_array); break;
   case "make_choice_auswahl_select_field":                     dbads_XXX_make_choice_auswahl_select_field                (parameter_array); break;
   case "make_choice_auswahl_zeige_datensaetze":                dbads_XXX_make_choice_auswahl_zeige_datensaetze           (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 "mouse_over_tile_infocenter":                           dbads_XXX_mouse_over_tile_infocenter                      (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 "new_order_in_auswahlfeld_formulare_select_value":      dbads_XXX_new_order_in_auswahlfeld_formulare_select_value (parameter_array); break;
   case "new_order_in_auswahlfeld_zeige_datensaetze":           dbads_XXX_new_order_in_auswahlfeld_zeige_datensaetze      (parameter_array); break;
   case "open_auswahlfeld_select_value_window":                 dbads_XXX_open_auswahlfeld_select_value_window            (parameter_array); break;
   case "open_auswahlfeld_zeige_datensaetze_window":            dbads_XXX_open_auswahlfeld_zeige_datensaetze_window       (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 "passwordfield_focus":                                  dbads_XXX_passwordfield_focus                             (parameter_array); break;
   case "passwortausgabe":                                      dbads_XXX_passwortausgabe                                 (parameter_array); break;
   case "play_sound":                                           dbads_XXX_play_sound                                      (parameter_array); break;
   case "read_hidden_tile_informations":                        dbads_XXX_read_hidden_tile_informations                   (parameter_array); break;
   case "remark_choice_auswahl_select_field":                   dbads_XXX_remark_choice_auswahl_select_field              (parameter_array); break;
   case "reset_countdown":                                      dbads_XXX_reset_countdown                                 (parameter_array); break;
   case "reset_suche_text_in_auswahlfeld":                      dbads_XXX_reset_suche_text_in_auswahlfeld                 (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 "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 "show_field_colors":                                    dbads_XXX_show_field_colors                               (parameter_array); break;
   case "show_fieldinfo_in_infocenter":                         dbads_XXX_show_fieldinfo_in_infocenter                    (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_module":                              dbads_XXX_show_loginfields_module                         (parameter_array); break;
   case "show_loginfields_modulegroup":                         dbads_XXX_show_loginfields_modulegroup                    (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 "start_suche_text_in_auswahlfeld":                      dbads_XXX_start_suche_text_in_auswahlfeld                 (parameter_array); break;
   case "submit_formular":                                      dbads_XXX_submit_formular                                 (parameter_array); break;
   case "suche_text_in_auswahlfeld":                            dbads_XXX_suche_text_in_auswahlfeld                       (parameter_array); break;
   case "system_message_to_user":                        return dbads_XXX_system_message_to_user                          (parameter_array); break;
   case "useraktion_quittung":                                  dbads_XXX_useraktion_quittung                             (parameter_array); break;
   case "way_to_expand_modulgroups":                            dbads_XXX_way_to_expand_modulgroups                       (parameter_array); break;


   default: alert('Fehler in DBads:\n\nDie Funktion (\"'+what+'\") gibt es im Modul \"dbads.js\" nicht !');                                  break;
  }
}










function dbads_XXX_analog_uhr_init (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.06.2011 - 17:29                                                    */
/* Last Update      : 06.06.2011 - 17:29                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine startet die Initialisierung der analogen Uhr.                                */
/********************************************************************************************/
{
 var objCanvas = document.getElementById('canvas_id');

 //Mache die Uhr erst jetzt sichtbar, denn das Cointainer-DIV ist während der Ladezeit noch irgendwie größer und erst am Ende der Ladezeit nimmt es seine richtige Größe an
 document.getElementById('analog_uhr_div').style.visibility = 'visible';

 //Starte die Uhrausgabe
 dbads_XXX_analog_uhr_start (objCanvas);
}










function dbads_XXX_analog_uhr_start (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.06.2011 - 17:29                                                    */
/* Last Update      : 06.06.2011 - 17:29                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine startet die Ausgabe der analogen Uhr am Browser.                             */
/********************************************************************************************/
{
 if (top.hidden_action_index.hidden_action_servertime)
   {
    var server_sekunden = parseInt(top.hidden_action_index.hidden_action_servertime.document.getElementById('server_seconds').innerHTML);
    var server_minuten  = parseInt(top.hidden_action_index.hidden_action_servertime.document.getElementById('server_minutes').innerHTML);
    var server_stunden  = parseInt(top.hidden_action_index.hidden_action_servertime.document.getElementById('server_hours').innerHTML);
    var objCanvas       = parameter_array;
    var durchmesser     = 100;
    var objContext      = objCanvas.getContext('2d');

    objContext.clearRect(0,0,durchmesser,durchmesser);                      //Anzeigebereich leeren
    objContext.save();                                                      //Ausgangszustand speichern
    objContext.translate(durchmesser/2,durchmesser/2);                      //Koordinatensystem in Mittelpkt des Ziffernblatts verschieben

    //Stundenzeiger
    objContext.save();                                                      //Ausgangszustand speiche
    objContext.rotate(server_stunden*Math.PI/6+server_minuten*Math.PI/360);
    objContext.beginPath();                                                 //Neuen Pfad anlegen
    objContext.moveTo(0,7);                                                 //Zeiger über Mitte hinaus zeichnen (7 Pixel von Mitte bis hinteres Ende)
    objContext.lineTo(0,-21);                                               //Stundenzeiger im gedrehten Koord-Sys. um 21 Einheiten nach oben zeichnen (21 Pixel von Mitte bis vorderes Ende)
    objContext.lineWidth   = 1;                                             //Dicke des Zeigers
    objContext.strokeStyle = '#000000';                                     //Farbe des Zeigers
    objContext.stroke();
    objContext.restore();

    //Minutenzeiger
    objContext.save();
    objContext.rotate(server_minuten*Math.PI/30);
    objContext.beginPath();
    objContext.moveTo(0,7);
    objContext.lineTo(0,-35);
    objContext.lineWidth   = 1;
    objContext.strokeStyle = '#000000';
    objContext.stroke();
    objContext.restore();

    //Sekundenzeiger
    objContext.save();
    objContext.rotate (server_sekunden*Math.PI/30);
    objContext.beginPath();
    objContext.moveTo (0,12);
    objContext.lineTo (0,-31);
    objContext.lineWidth   = 1;
    objContext.strokeStyle = '#aa0000';
    objContext.stroke();
    objContext.restore();

    objContext.restore();
   }

 //Nächste Sekunde anzeigen
 setTimeout(function(){dbads_XXX_analog_uhr_start(objCanvas);},1000);
}










function dbads_XXX_browser_workarrounds (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.04.2011 - 19:21                                                    */
/* Last Update      : 29.04.2011 - 19:21                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine sammelt zentral alle Workarrounds.                                           */
/********************************************************************************************/
{
 var id      = parameter_array[0];
 var browser = "";


 switch (true)
  {
   case (navigator.userAgent.indexOf("Firefox")>-1):                                               browser = "ff"; break; //Mozilla Firefox:
   case ((navigator.appName.indexOf("Microsoft")>-1) && (navigator.userAgent.indexOf("MSIE")>-1)): browser = "ie"; break; //Microsoft Internet Explorer:
   default: break; //Alle anderen Browser
  }


 switch (browser)
  {
   case "ff":
   switch (id)
    {
     case "infocenter_einklappen": top.document.getElementById('infocenter_frame').style.width = "0px"; break;
    }
   break;

   case "ie":
   switch (id)
    {
     case "infocenter_einklappen": top.document.getElementById('infocenter_frame').style.width = "0%"; break;
    }
   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 = top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].selectedIndex;
 country_code        = top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].options[ausgewaehlte_option].value;

 //Trage den Ländercode ins Feld ein
 top.servicezugang_body.home_area.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.home_area.document.getElementById(fieldname).value.length < 7)
   {
    //ja:
    do_it_dbads ('show_field_colors', 'window&'+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.home_area.document.getElementById(fieldname).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.home_area.document.formular['day_'+fieldname].selectedIndex);
 var feld_monat = parseInt(top.servicezugang_body.home_area.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_field_colors', 'window&'+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_field_colors', 'window&'+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_field_colors', "window&"+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_field_colors', 'window&'+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_fields_if_empty_allowed (parameter_array)
/********************************************************************************************/
/* First Releae     : 15.10.2008 - 12:56                                                    */
/* Last Update      : 27.04.2011 - 14:25                                                    */
/* Version          : 6                                                                     */
/********************************************************************************************/
/* 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.home_area.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.home_area.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.home_area.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.home_area.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.home_area.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.home_area.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.home_area.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.home_area.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.home_area.document.getElementById('fragezeichen_kein_file_vorhanden_'+fieldname)) && (top.servicezugang_body.home_area.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_formfield_with_legend_inside (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.06.2011 - 00:18                                                    */
/* Last Update      : 29.06.2011 - 00:18                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine prüft ein Formularfeld bei dem z.B. aus Platzgründen die Feldlegende im      */
/* Feld selbst angegeben wird (statt links davor).                                          */
/********************************************************************************************/
{
 var fieldname         =                              parameter_array[0];
 var legende           = correct_text_from_php_to_js (parameter_array[1]);
 var art_des_kontaktes =                              parameter_array[2];


 switch (art_des_kontaktes)
  {
   //Der User hat den Focus vom Feld weggenommen: wenn das Feld leer ist, setze die Legende wieder ein...
   case "onblur":
   if (document.formular[fieldname].value == "")
     {
      document.formular[fieldname].value = legende;
     }
   break;

   //Der User hat das Feld angeklickt: wenn im Feld die Legende steht, leere das Feld für eine Eintragung durch den User
   case "onclick":
   if (document.formular[fieldname].value == legende)
     {
      document.formular[fieldname].value = "";
     }
   break;
  }
}










function dbads_XXX_check_form_email_an_temporyx_senden (parameter_array)
/********************************************************************************************/
/* First Releae     : 28.06.2011 - 21:46                                                    */
/* Last Update      : 28.06.2011 - 21:46                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will eine Mail über das Infocenter an die Temporyx senden.                      */
/********************************************************************************************/
{
 if (document.formular.anrede.value == "Anrede *")
   {
    alert('Bitte geben Sie Ihre Anrede an !');
    document.formular.anrede.focus();
    return false;
   }
  else
   {
    if ((document.formular.vorname.value == "Vorname *") || (document.formular.vorname.value == ""))
      {
       alert('Bitte geben Sie Ihren Vornamen an !');
       document.formular.vorname.focus();
       return false;
      }
     else
      {
       if ((document.formular.nachname.value == "Nachname *") || (document.formular.nachname.value == ""))
         {
          alert('Bitte geben Sie Ihren Nachnamen an !');
          document.formular.nachname.focus();
          return false;
         }
        else
         {
          if ((document.formular.text.value == "Ihr Text *") || (document.formular.text.value == ""))
            {
             alert('Bitte geben Sie den Text ein !');
             document.formular.text.focus();
             return false;
            }
           else
            {
             return true;
            }
         }
      }
   }
}










function dbads_XXX_check_form_login_to_dbads (parameter_array)
/********************************************************************************************/
/* First Releae     : 01.07.2011 - 01:16                                                    */
/* Last Update      : 01.07.2011 - 01:16                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will sich in den Servicebereich einloggen.                                      */
/********************************************************************************************/
{
 if (document.formular.benutzerkennung.value == "")
   {
    alert('Bitte geben Sie Ihre Benutzerkennung ein !');
    document.formular.benutzerkennung.focus();
    return false;
   }
  else
   {
    if (document.formular.kennwort.value == "")
      {
       alert('Bitte geben Sie das zu Ihrer Benutzerkennung gültige Kennwort ein !');
       document.formular.kennwort.focus();
       return false;
      }
     else
      {
       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_open_module (parameter_array)
/********************************************************************************************/
/* First Releae     : 01.07.2011 - 01:32                                                    */
/* Last Update      : 01.07.2011 - 01:32                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will ein passwortgeschütztes Modul öffnen.                                      */
/********************************************************************************************/
{
 if (document.formular.benutzerkennung.value == "")
   {
    alert('Bitte geben Sie die Benutzerkennung zum Modul ein !');
    document.formular.benutzerkennung.focus();
    return false;
   }
  else
   {
    if (document.formular.kennwort.value == "")
      {
       alert('Bitte geben Sie das zur Benutzerkennung gültige Kennwort ein !');
       document.formular.kennwort.focus();
       return false;
      }
     else
      {
       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_selectfield (parameter_array)
/********************************************************************************************/
/* First Releae     : 14.10.2008 - 12:35                                                    */
/* Last Update      : 26.09.2011 - 21:56                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Die Routine prüft ein Selectfeld auf Plausibilität.                                      */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];


 //Gibt es die 2 logischen Radiobuttons ?
 if ((top.servicezugang_body.home_area.document.formular[fieldname]['first_choise']) && (top.servicezugang_body.home_area.document.formular[fieldname]['second_choise']))
   {
    //ja: prüfe sie, ob wenigstens einer gesetzt ist
    zustand_first_choise  = top.servicezugang_body.home_area.document.formular[fieldname]['first_choise'].checked;
    zustand_second_choise = top.servicezugang_body.home_area.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_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&missing_content&sign_on');

       //Meldung an den User
       alert ('Markieren Sie bitte einen der beiden Radiobuttons beim farblich gekennzeichneten Auswahlfeld !');
       return false;
      }
     else
      {
       //nein: alles ok!
       return true;
      }
   }
  else
   {
    //nein: ist das Feld leer oder hat der User "Keine Angabe" ausgewählt ?
    if ((top.servicezugang_body.home_area.document.formular[fieldname].value == "") || ((top.servicezugang_body.home_area.document.formular[fieldname].value == "Keine Angabe")))
      {
       //ja: färbe die Legende
       do_it_dbads ('show_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&missing_content&sign_on');

       //Meldung an den User
       alert ('Wählen Sie bitte eine der im Feld angebotenen Alternativen aus !');
       return false;
      }
     else
      {
       //nein: alles ok!
       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.home_area.document.formular[fieldname])
   {
    //ja: ist das Feld leer ?
    if (top.servicezugang_body.home_area.document.formular[fieldname].value=="")
      {
       //ja: färbe die Legende
       do_it_dbads ('show_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&missing_content&sign_on');
       top.servicezugang_body.home_area.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_click_on_tile_infocenter (parameter_array)
/********************************************************************************************/
/* First Releae     : 31.05.2011 - 01:18                                                    */
/* Last Update      : 21.06.2011 - 00:39                                                    */
/* Version          : 6                                                                     */
/********************************************************************************************/
/* Der User hat auf eine der Kacheln im Infocenter geklickt.                                */
/********************************************************************************************/
{
 var pfad_kenner           =                              parameter_array[0];
 var tile                  =                              parameter_array[1];
 var background_farbe      =                              parameter_array[2];
 var border_farbe_on_click =                              parameter_array[3];
 var infotext              = correct_text_from_php_to_js (parameter_array[4]);
 var tile_header           = correct_text_from_php_to_js (parameter_array[5]);


 //Ränder des bisherigen Tiles entfärben
 bisheriges_angeklicktes_tile = top.servicezugang_infocenter.document.getElementById('presented_tile').innerHTML;
 top.servicezugang_infocenter.tile_kacheln.document.getElementById(bisheriges_angeklicktes_tile).style.border = "solid 4px #"+background_farbe;

 //Setze den Tile-Header
 top.servicezugang_infocenter.document.getElementById('tile_header').innerHTML = tile_header+":";

 //Tile-Content ausgeben
 top.servicezugang_infocenter.tile_content.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/infocenter/tile_contents/"+tile+".php";

 //Trage in das versteckte Feld die Informationen welcher neue Kacheln jetzt zu sehen sind
 top.servicezugang_infocenter.document.getElementById('presented_tile').innerHTML = "tile_"+tile;

 //Tile mit einem farbigen Rand kennzeichnen, dass es angeklickt ist
 top.servicezugang_infocenter.tile_kacheln.document.getElementById("tile_"+tile).style.border = "solid 4px #"+border_farbe_on_click;

 //Liegt ein Infotext vor ?
 if (infotext != "")
   {
    //ja: trage im Header das Sternchen ein, dass auf den Infotext hinweist
    top.servicezugang_infocenter.document.getElementById('tile_header').innerHTML = top.servicezugang_infocenter.document.getElementById('tile_header').innerHTML + "&nbsp;<span style='font-weight:normal;'>*</span>";

    //Je nach Content das Distanzstück und den Infotext aufbereiten
    switch (tile)
     {
      case "tile_useraktionen":
      top.servicezugang_infocenter.document.getElementById('bereich_fuer_weiterfuehrende_infos_zu_den_contents').style.height = "90px";
      top.servicezugang_infocenter.document.getElementById('bereich_fuer_weiterfuehrende_infos_zu_den_contents').innerHTML    = "*)&nbsp;" + infotext;
      break;

      default:
      top.servicezugang_infocenter.document.getElementById('bereich_fuer_weiterfuehrende_infos_zu_den_contents').innerHTML    = "";
      top.servicezugang_infocenter.document.getElementById('bereich_fuer_weiterfuehrende_infos_zu_den_contents').style.height = "5px";
      break;
     }
   }
  else
   {
    //nein: setze das Distanzstück und den Infotext zurück
    top.servicezugang_infocenter.document.getElementById('bereich_fuer_weiterfuehrende_infos_zu_den_contents').innerHTML    = "";
    top.servicezugang_infocenter.document.getElementById('bereich_fuer_weiterfuehrende_infos_zu_den_contents').style.height = "5px";
   }
}










function dbads_XXX_clienttime_counting (parameter_array)
/********************************************************************************************/
/* First Releae     : 15.09.2011 - 20:30                                                    */
/* Last Update      : 15.09.2011 - 20:30                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine zählt im Modul "hidden_action_servertime" die Uhrzeit auf Javascript-Ebene   */
/* bis zum Neuaufruf über PHP weiter.                                                       */
/********************************************************************************************/
{
 var server_timestamp = Number(parameter_array[0]);


 //Zerlege den von PHP kommenden Timestamp in seine Javascript-Zeitelemente. Bedingt durch
 //Ladezeiten innerhalb des Servicebereiches und Ladezeiten aus dem Internet liegt stets
 //eine Zeitdifferenz von ca. 2 Sekunden vor die nachfolgend ausgeglichen wird.
 zeit_variable = new Date();
 zeit_variable.setTime (server_timestamp+2000);

 //Trage in das Modul "hidden_action_servertime" die Sekunden, Minuten, Stunden, Tage, Monate und Jahre ein
 top.hidden_action_index.hidden_action_servertime.document.getElementById('server_seconds').innerHTML = zeit_variable.getSeconds();
 top.hidden_action_index.hidden_action_servertime.document.getElementById('server_minutes').innerHTML = zeit_variable.getMinutes();
 top.hidden_action_index.hidden_action_servertime.document.getElementById('server_hours').innerHTML   = zeit_variable.getHours();
 top.hidden_action_index.hidden_action_servertime.document.getElementById('server_day').innerHTML     = zeit_variable.getDate();
 top.hidden_action_index.hidden_action_servertime.document.getElementById('server_month').innerHTML   = zeit_variable.getMonth()+1;
 top.hidden_action_index.hidden_action_servertime.document.getElementById('server_year').innerHTML    = zeit_variable.getFullYear();


 //Trage in die Kofpzeile oben links (rechts neben dem Logo) ein
 top.document.getElementById('tag').innerHTML = zeit_variable.getDate();
 switch (zeit_variable.getMonth())
     {
      case 0:  monats_text = "Januar";    break;
      case 1:  monats_text = "Februar";   break;
      case 2:  monats_text = "März";      break;
      case 3:  monats_text = "April";     break;
      case 4:  monats_text = "Mai";       break;
      case 5:  monats_text = "Juni";      break;
      case 6:  monats_text = "Juli";      break;
      case 7:  monats_text = "August";    break;
      case 8:  monats_text = "September"; break;
      case 9:  monats_text = "Oktober";   break;
      case 10: monats_text = "November";  break;
      case 11: monats_text = "Dezember";  break;
     }
 top.document.getElementById('monat').innerHTML = monats_text;
 top.document.getElementById('jahr').innerHTML  = zeit_variable.getFullYear();


 //Zähle den Zeitstempel um eine (JavaScript)-Sekunde weiter
 server_timestamp = server_timestamp + 1000;

 //Wiederhole den Vorgang jede Sekunde
 setTimeout("do_it_dbads('clienttime_counting','"+server_timestamp+"')",1000);
}














function dbads_XXX_close_all_sub_windows (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.                    */
/********************************************************************************************/
{
 if (auswahlfeld_window && !auswahlfeld_window.closed)
   {
    auswahlfeld_window.close();
   }
}










function dbads_XXX_close_window (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.05.2010 - 19:22                                                    */
/* Last Update      : 26.07.2011 - 12:40                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat im Loginfenster auf "Abbrechen" gedrückt.                                   */
/********************************************************************************************/
{
 var wo = parameter_array[0];

 switch (wo)
  {
   case "top":    top.window.close();    break;
   case "parent": parent.window.close(); break;

   default: window.close(); break;
  }
}










function dbads_XXX_close_window_on_countdown_is_up (parameter_array)
/********************************************************************************************/
/* First Releae     : 28.09.2011 - 13:34                                                    */
/* Last Update      : 28.09.2011 - 13:34                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine startet die Prüfroutine für das angegebene Fenster, wenn der Countdown bei   */
/* Null angelangt ist.                                                                      */
/********************************************************************************************/
{
 var window_opener           = parameter_array[0];
 var max_time_of_no_activity = parameter_array[1];


 do_it_dbads ('reset_countdown', max_time_of_no_activity+'&'+window_opener);
 do_it_dbads ('close_window_on_zero', window_opener);
}










function dbads_XXX_close_window_on_zero (parameter_array)
/********************************************************************************************/
/* First Releae     : 18.05.2011 - 15:17                                                    */
/* Last Update      : 18.05.2011 - 15:17                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine schliesst das angegebene Fenster, wenn der Countdown bei Null angelangt ist. */
/* Null heißt hier aber tatsächlich 1 Sekunde, damit optisch auf dem Monitor nicht alles    */
/* durcheinanderflackert, wenn viele Fenster geöffnet sind, die alle geprüft müssen. Denn   */
/* das braucht ein wenig Zeit.                                                              */
/********************************************************************************************/
{
 var window_opener = parameter_array[0];


 switch (window_opener)
  {
   //Starte die Aktion im Masterfenster
   case "window_opener":
   //Ist der Countdown quasi bei Null angelangt ?
   if (window.opener.top.servicezugang_infocenter.tile_kacheln.document.getElementById('zeit_bis_zur_sicherheitsabschaltung').innerHTML == "1s")
     {
      //ja: schliesse das Fenster
      window.close();
     }
   break;

   //Starte die Aktion im Masterfenster
   case "parent.window_opener":
   //Ist der Countdown quasi bei Null angelangt ?
   if (parent.document.getElementById('zeit_bis_zur_sicherheitsabschaltung').innerHTML == "1s")
     {
      //ja: schliesse das Fenster
      window.close();
     }
   break;

   default:
   alert ('Fehler in DBads:\n\nDas angegebene Fenster (\"'+window_opener+'\") nicht bekannt !');
   break;
  }


  //Prüfe 1 Sekunde später wieder, ob der Countdown bei Null angelangt ist
  setTimeout("do_it_dbads('close_window_on_zero','"+window_opener+"')",1000);
}










function dbads_XXX_close_window_slave (parameter_array)
/********************************************************************************************/
/* First Releae     : 18.05.2011 - 20:20                                                    */
/* Last Update      : 18.05.2011 - 20:20                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat im Loginfenster auf "Abbrechen" gedrückt.                                   */
/********************************************************************************************/
{
 var slave_window_name = parameter_array[0];

 window[slave_window_name].close();
}










function dbads_XXX_collapse_or_expand_all_header (parameter_array)
/********************************************************************************************/
/* First Release    : 30.05.2010 - 12:47                                                    */
/* Last Update      : 05.09.2011 - 17:08                                                    */
/* Version          : 8                                                                     */
/********************************************************************************************/
/* 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 pfad_kenner = parameter_array[0];
 var zustand     = parameter_array[1];


 //Werden in der Navigation die Modulgruppen angezeigt ?
 if (top.servicezugang_navigation.navigation_modulgruppen)
   {
    //ja: ermittle die Anzahl der vorhandenen Modulgruppen
    anzahl_der_modulgruppen = parseInt(top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('anzahl_modulgruppen').innerHTML);

    //Fernsteuerung: Aktionen in die versteckten Informationen der Kachel "Modulgruppen" übertragen.
    switch (zustand)
     {
      case "aufklappen":
      top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alle_aufklappen').checked = true;

      //Alle Modulgruppen in der Navigation aufklappen
      for (header=0; header<=(anzahl_der_modulgruppen-1); header++)
         {
          do_it_dbads ('collapse_or_expand_header',String(header)+"&expand&"+pfad_kenner);
         }
      break;

      case "zuklappen":
      top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alle_zuklappen').checked = true;

      //Alle Modulgruppen in der Navigation zuklappen
      for (header=0; header<=(anzahl_der_modulgruppen-1); header++)
         {
          do_it_dbads ('collapse_or_expand_header',String(header)+"&collapse&"+pfad_kenner);
         }
      break;
     }
   }
}










function dbads_XXX_collapse_or_expand_header (parameter_array)
/********************************************************************************************/
/* First Release    : 30.05.2010 - 12:47                                                    */
/* Last Update      : 05.09.2011 - 17:08                                                    */
/* Version          : 5                                                                     */
/********************************************************************************************/
/* 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 pfad_kenner = parameter_array[2];


 switch (type)
  {
   case "alternate":
   //Existiert der angegebene Trenner-Header ?
   if (top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulgruppe_'+header))
     {
      //ja: ist im Infocenter und dort im Content der Kachel "Modulgruppen" die alternative Anzeigeart eingestellt ("Alternativ aufklappen") ?
      if (top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alternativ_aufklappen').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_modulgruppen = parseInt(top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('anzahl_modulgruppen').innerHTML);

         //Klappe alle Header zu
         for (element=0; element<=(anzahl_der_modulgruppen-1); element++)
            {
             do_it_dbads ('collapse_or_expand_header',String(element)+"&collapse&"+pfad_kenner);
            }

         //Klappe das angeklickte Modul auf und ersetze den Pfeil gegen den Hochpfeil
         top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulgruppe_'+header+'_icon_links').src = "/"+pfad_kenner+"/system/dbads/imagelib/buttons/icons_links/up.png";

         //Klappe die Modulliste wieder auf die ursprüngliche Höhe auseinander
         top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulliste_'+header).style.height = "auto";

         //Klappe auch das Distanzstueck unterhalb der Modulliste wieder auf die ursprüngliche Größe auseinander
         top.servicezugang_navigation.navigation_modulgruppen.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 (top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulgruppe_'+header+'_icon_links').src.indexOf('up.png') > -1)
           {
            //ja: also klappe das Module zu und ersetze den Pfeil gegen den Runterpfeil
            top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulgruppe_'+header+'_icon_links').src = "/"+pfad_kenner+"/system/dbads/imagelib/buttons/icons_links/down.png";

            //Klappe die Modulliste zusammen
            top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulliste_'+header).style.height = "1px";

            //Klappe auch das Distanzstueck unterhalb der Modulliste zusammen
            top.servicezugang_navigation.navigation_modulgruppen.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)
              {
               //ja: egal ob schon ist oder nicht: stelle das Radiobutton im Infocenter und dort im versteckten Feld der Kachel "Modulgruppen" auf "alle Modulgruppen zuklappen"
               top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alle_zuklappen').checked = true;

               //Wenn das Tile-Content angezeigt wird: stelle das Radiobutton im Infocenter und dort im Content der Kachel "Modulgruppen" auf "alle Modulgruppen zuklappen"
               if (top.servicezugang_infocenter.tile_content.document.getElementById('tile_content_modulgruppen'))
                 {
                  top.servicezugang_infocenter.tile_content.document.getElementById('content_modulgruppen_alle_zuklappen').checked = true;
                 }
              }
           }
          else
           {
            //nein: also klappe das Modul auf und ersetze den Pfeil gegen den Hochpfeil
            top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulgruppe_'+header+'_icon_links').src = "/"+pfad_kenner+"/system/dbads/imagelib/buttons/icons_links/up.png";

            //Klappe die Modulliste wieder auf die ursprüngliche Höhe auseinander
            top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulliste_'+header).style.height = "auto";

            //Klappe auch das Distanzstueck unterhalb der Modulliste wieder auf die ursprüngliche Größe auseinander
            top.servicezugang_navigation.navigation_modulgruppen.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.navigation_modulgruppen.document.getElementById('anzahl_modulgruppen').innerHTML))
              {
               //ja: egal ob schon ist oder nicht: stelle das Radiobutton im Infocenter und dort im versteckten Feld der Kachel "Modulgruppen" auf "alle Modulgruppen aufklappen"
               top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alle_aufklappen').checked = true;

               //Wenn das Tile-Content angezeigt wird: stelle das Radiobutton im Infocenter und dort im Content der Kachel "Modulgruppen" auf "alle Modulgruppen aufklappen"
               if (top.servicezugang_infocenter.tile_content.document.getElementById('tile_content_modulgruppen'))
                 {
                  top.servicezugang_infocenter.tile_content.document.getElementById('content_modulgruppen_alle_aufklappen').checked = true;
                 }
              }
           }
        }
     }
   break;

   case "collapse":
   //Existiert der angegebene Trenner-Header ?
   if (top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulgruppe_'+header))
     {
      //ja: also klappe das Module zu und ersetze den Pfeil gegen den Runterpfeil
      top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulgruppe_'+header+'_icon_links').src = "/"+pfad_kenner+"/system/dbads/imagelib/buttons/icons_links/down.png";

      //Klappe die Modulliste zusammen
      top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulliste_'+header).style.height = "1px";

      //Klappe auch das Distanzstueck unterhalb der Modulliste zusammen
      top.servicezugang_navigation.navigation_modulgruppen.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 (top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulgruppe_'+header))
     {
      //ja: also klappe das Modul auf und ersetze den Pfeil gegen den Hochpfeil
      top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulgruppe_'+header+'_icon_links').src = "/"+pfad_kenner+"/system/dbads/imagelib/buttons/icons_links/up.png";

      //Klappe die Modulliste wieder auf die ursprüngliche Höhe auseinander
      top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('modulliste_'+header).style.height = "auto";

      //Klappe auch das Distanzstueck unterhalb der Modulliste wieder auf die ursprüngliche Größe auseinander
      top.servicezugang_navigation.navigation_modulgruppen.document.getElementById('distanzstueck_'+header).style.height = "25px";

      //Vermerke in der globalen Variable: ein aufgeklapptes Modul mehr
      anzahl_aufgeklappter_module++;
     }
   break;
  }
}










function dbads_XXX_collapse_or_expand_header_protected (parameter_array)
/********************************************************************************************/
/* First Release    : 23.08.2011 - 16:20                                                    */
/* Last Update      : 23.08.2011 - 16:20                                                    */
/* Version          : 5                                                                     */
/********************************************************************************************/
/* 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 pfad_kenner = parameter_array[2];


 //Soll die Modulgruppe aufgeklappt werden ?
 if ((type == "alternate") || (type == "expand"))
   {
    //ja: existiert der angegebene Trenner-Header ?
    if (document.getElementById('modulgruppe_'+header))
      {
       //Existiert ein Icon rechts vom Buttontext ?
       if (document.getElementById('modulgruppe_'+header+'_icon_rechts'))
         {
          //ja: ist das rechte Icon das Schloß ?
          if (document.getElementById('modulgruppe_'+header+'_icon_rechts').src.indexOf("schloss.png")>-1)
            {
             //Mache die Loginfelder sichtbar
             do_it_dbads ('show_loginfields_modulegroup', header+"&"+type+"&"+pfad_kenner);
            }
         }
      }
   }
  else
   {
    //nein: zuklappen geht auch ohne Zugangsdaten
    do_it_dbads ('collapse_or_expand_header', header+"&"+type+"&"+pfad_kenner);
   }
}










function dbads_XXX_content_of_colorfield_links_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 27.09.2009 - 22:14                                                    */
/* Last Update      : 27.07.2011 - 17:28                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* 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;

    //Trage ins Feld für die Anzahl an Restzeichen die Null ein (für den Fall, dass der User vorher eine manuelle halbfertige Farbcodeiengabe gemacht hat
    document.getElementById('rest_zeichen_'+fieldname).innerHTML = "0";

    //Setze die Farbkennung zurück aus der ersichtlich ist, dass das Feld geändert wurde
    do_it_dbads ('show_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
   }

 //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_field_colors', 'window&'+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_field_colors', 'window&'+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_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
      }
     else
      {
       //nein: färbe die Anzeige normal-grau
       do_it_dbads ('show_field_colors', 'window&'+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_field_colors', 'window&'+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_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_on');
   }
  else
   {
    //nein: ändere die Farbe des Legendetextes zurück
    do_it_dbads ('show_field_colors', 'window&'+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_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_off');
      }
     else
      {
       do_it_dbads ('show_field_colors', 'window&'+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_field_colors', 'window&'+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_field_colors', 'window&'+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_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_on');
      }
     else
      {
       //nein: ändere die Farbe des Legendetextes zurück
       do_it_dbads ('show_field_colors', 'window&'+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_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_off');
   }
  else
   {
    //nein: färbe zur Erkennung die Legende rot
    do_it_dbads ('show_field_colors', 'window&'+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 fieldname     = parameter_array[0];
 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_field_colors', 'window&'+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_field_colors', 'window&'+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.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") == -1)
      {
       //ja: trage ihn ein
       top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value = top.servicezugang_body.home_area.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').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.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
      {
       //ja: nimm ihn heraus
       while (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.home_area.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.home_area.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').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_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_off');
         }
        else
         {
          //nein: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
          do_it_dbads ('show_field_colors', 'window&'+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_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_off');
            }
           else
            {
             //nein: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
             do_it_dbads ('show_field_colors', 'window&'+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 = top.servicezugang_body.home_area.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<=top.servicezugang_body.home_area.document.formular["vorwahl_"+fieldname].value.length-1;zeichen++)
       {
        zeichen_im_feld = top.servicezugang_body.home_area.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
    top.servicezugang_body.home_area.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 = top.servicezugang_body.home_area.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<=top.servicezugang_body.home_area.document.formular["durchwahl_"+fieldname].value.length-1;zeichen++)
          {
           zeichen_im_feld = top.servicezugang_body.home_area.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
       top.servicezugang_body.home_area.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 = top.servicezugang_body.home_area.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<=top.servicezugang_body.home_area.document.formular["apparat_"+fieldname].value.length-1;zeichen++)
          {
           zeichen_im_feld = top.servicezugang_body.home_area.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
       top.servicezugang_body.home_area.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 - top.servicezugang_body.home_area.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
    top.servicezugang_body.home_area.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_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
      }
     else
      {
       //nein: färbe die Anzeige normal-grau
       do_it_dbads ('show_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
      }
   }
  else
   {
    //nein: keine weiteren Zeichen mehr möglich
    wo_is_focus = top.servicezugang_body.home_area.document.formular["focus_"+fieldname].value;
    switch (wo_is_focus)
     {
      case "vorwahl":
      max_anzahl_zeichen_in_feld = maxlength - top.servicezugang_body.home_area.document.formular["durchwahl_"+fieldname].value.length - top.servicezugang_body.home_area.document.formular["apparat_"+fieldname].value.length;
      top.servicezugang_body.home_area.document.formular["vorwahl_"+fieldname].value = top.servicezugang_body.home_area.document.formular["vorwahl_"+fieldname].value.substr(0,max_anzahl_zeichen_in_feld);
      break;

      case "durchwahl":
      max_anzahl_zeichen_in_feld = maxlength - top.servicezugang_body.home_area.document.formular["vorwahl_"+fieldname].value.length - top.servicezugang_body.home_area.document.formular["apparat_"+fieldname].value.length;
      top.servicezugang_body.home_area.document.formular["durchwahl_"+fieldname].value = top.servicezugang_body.home_area.document.formular["durchwahl_"+fieldname].value.substr(0,max_anzahl_zeichen_in_feld);
      break;

      case "apparat":
      max_anzahl_zeichen_in_feld = maxlength - top.servicezugang_body.home_area.document.formular["vorwahl_"+fieldname].value.length - top.servicezugang_body.home_area.document.formular["durchwahl_"+fieldname].value.length;
      top.servicezugang_body.home_area.document.formular["apparat_"+fieldname].value = top.servicezugang_body.home_area.document.formular["apparat_"+fieldname].value.substr(0,max_anzahl_zeichen_in_feld);
      break;
     }

    top.servicezugang_body.home_area.document.getElementById('rest_zeichen_'+fieldname).innerHTML = "0";
    do_it_dbads ('show_field_colors', 'window&'+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 (top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].value)
  {
   case "striche_oben": //Nimm die Option eine Zeile weiter unten
   top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].selectedIndex = top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].selectedIndex+1;
   top.servicezugang_body.home_area.document.formular['code_'+fieldname].value = top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].options[top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].selectedIndex].value;
   break;

   case "striche_unten": //Nimm die Option eine Zeile weiter oben
   top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].selectedIndex = top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].selectedIndex-1;
   top.servicezugang_body.home_area.document.formular['code_'+fieldname].value = top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].options[top.servicezugang_body.home_area.document.formular['country_code_'+fieldname].selectedIndex].value;
   break;
  }

 //Ermittle den ursprünglichen Telefonwert
 restore_string    = top.servicezugang_body.home_area.document.formular['restore_'+fieldname].value;

 //Ermittle den String aus den geänderten Feldern
 string_aus_felder = top.servicezugang_body.home_area.document.formular['code_'+fieldname].value+"/"+top.servicezugang_body.home_area.document.formular['vorwahl_'+fieldname].value+"/"+top.servicezugang_body.home_area.document.formular['durchwahl_'+fieldname].value+"/"+top.servicezugang_body.home_area.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
 top.servicezugang_body.home_area.document.formular[fieldname].value = top.servicezugang_body.home_area.document.formular['code_'+fieldname].value+"|"+top.servicezugang_body.home_area.document.formular['vorwahl_'+fieldname].value+"|"+top.servicezugang_body.home_area.document.formular['durchwahl_'+fieldname].value+"|"+top.servicezugang_body.home_area.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_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_on');
   }
  else
   {
    //nein: ändere die Farbe des Legendetextes zurück
    do_it_dbads ('show_field_colors', 'window&'+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 fieldname     = parameter_array[0];
 var pfad_und_bild = top.servicezugang_body.home_area.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
       top.servicezugang_body.home_area.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
    top.servicezugang_body.home_area.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 (top.servicezugang_body.home_area.document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value != top.servicezugang_body.home_area.document.formular['pictureinfos_'+fieldname+'_originalþ'+spalte].value)
   {
    //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
    top.servicezugang_body.home_area.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.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") == -1)
      {
       //ja: trage ihn ein
       top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value = top.servicezugang_body.home_area.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML = "*";
   }
  else
   {
    //nein: ändere die Farbe des Legendetextes zurück
    top.servicezugang_body.home_area.document.getElementById('pictureinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#000000";

    //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
    if (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
      {
       //ja: nimm ihn heraus
       while (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.home_area.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.home_area.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').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(top.servicezugang_body.home_area.document.getElementById("pictureinfos_"+fieldname+"_restzeichenþ"+spalte).innerHTML);
 var anzahl_rest_zeichen = maxlength - top.servicezugang_body.home_area.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
    top.servicezugang_body.home_area.document.getElementById('pictureinfos_'+fieldname+'_restzeichenþ'+spalte).innerHTML = anzahl_rest_zeichen;

    do_it_dbads ('show_field_colors', 'window&'+fieldname+'&pictureinfos_'+fieldname+'_restzeichenþ'+spalte+'&rest&sign_off');
   }
  else
   {
    //nein: Keine weiteren Zeichen mehr möglich
    top.servicezugang_body.home_area.document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value = top.servicezugang_body.home_area.document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value.substr(0,maxlength);

    top.servicezugang_body.home_area.document.getElementById('pictureinfos_'+fieldname+'_restzeichenþ'+spalte).innerHTML = "0";
    do_it_dbads ('show_field_colors', 'window&'+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 (top.servicezugang_body.home_area.document.formular['pictureinfos_'+fieldname+'_feldþ'+spalte].value != top.servicezugang_body.home_area.document.formular['pictureinfos_'+fieldname+'_originalþ'+spalte].value)
   {
    //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
    top.servicezugang_body.home_area.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.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") == -1)
      {
       //ja: trage ihn ein
       top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value = top.servicezugang_body.home_area.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML = "*";
   }
  else
   {
    //nein: ändere die Farbe des Legendetextes zurück
    top.servicezugang_body.home_area.document.getElementById('pictureinfos_'+fieldname+'_legendeþ'+spalte).style.color = "#000000";

    //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
    if (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
      {
       //ja: nimm ihn heraus
       while (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.home_area.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.home_area.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML = "";
      }
   }
}










function dbads_XXX_content_of_selectfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 11.10.2008 - 23:41                                                    */
/* Last Update      : 26.09.2011 - 19:51                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt eines Selectfeldes geändert.                                     */
/* Im "fenster" steht, ob die Routine über ein geöffnetes Fenster aufgerufen wurde          */
/* (fenster = opener) oder vom selben Fenster aus (fenster = windows).                      */
/********************************************************************************************/
{
 var fenster   = parameter_array[0];
 var fieldname = parameter_array[1];

 switch (fenster)
  {
   case "opener":
   var restore_value  = top.window.opener.top.servicezugang_body.home_area.document.formular['restore_'+fieldname].value;
   var selected_index = top.window.opener.top.servicezugang_body.home_area.document.formular[fieldname].selectedIndex;
   break;

   case "window":
   var restore_value  = top.servicezugang_body.home_area.document.formular['restore_'+fieldname].value;
   var selected_index = top.servicezugang_body.home_area.document.formular[fieldname].selectedIndex;
   break;
  }


 if (selected_index==restore_value)
   {
    do_it_dbads ('show_field_colors', fenster+"&"+fieldname+'&legende_'+fieldname+'&changed&sign_off');
   }
  else
   {
    do_it_dbads ('show_field_colors', fenster+"&"+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      : 18.04.2010 - 17:28                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Der User hat den Inhalt eines Formularfeldes mit Text geändert.                          */
/********************************************************************************************/
{
 var fieldname  = parameter_array[0];
 var maxlength  = parameter_array[1];
 var inhaltstyp = parameter_array[2];

 if (inhaltstyp != "floating") {maxlength = parseInt(maxlength);}


 /********************************************************************************************
 Ausfüllen des Feldes
 ********************************************************************************************/
 switch (inhaltstyp)
  {
   //Dezimales Zahlenfeld
   case "floating":
   //Prüfe das Vorkommafeld
   if (isNaN(top.servicezugang_body.home_area.document.formular[fieldname+"_vordezimal"].value))
     {
      //ja: nimm alle Nicht-Zahlen aus dem Feld
      zahlen_string = "";
      for (zeichen=0;zeichen<=top.servicezugang_body.home_area.document.formular[fieldname+"_vordezimal"].value.length-1;zeichen++)
         {
          zeichen_im_feld = top.servicezugang_body.home_area.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;
            }
         }

      top.servicezugang_body.home_area.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(top.servicezugang_body.home_area.document.formular[fieldname+"_nachdezimal"].value))
     {
      //ja: nimm alle Nicht-Zahlen aus dem Feld
      zahlen_string = "";
      for (zeichen=0;zeichen<=top.servicezugang_body.home_area.document.formular[fieldname+"_nachdezimal"].value.length-1;zeichen++)
         {
          zeichen_im_feld = top.servicezugang_body.home_area.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;
            }
         }

      top.servicezugang_body.home_area.document.formular[fieldname+"_nachdezimal"].value = zahlen_string;

      //Meldung an den User
      alert('Geben Sie bitte in dieses Feld ausschliesslich Zahlen ein !');
     }
   break;

   //Reines Zahlenfeld
   case "numeric":
   if (isNaN(top.servicezugang_body.home_area.document.formular[fieldname].value))
     {
      //ja: nimm alle Nicht-Zahlen aus dem Feld
      zahlen_string = "";
      for (zeichen=0;zeichen<=top.servicezugang_body.home_area.document.formular[fieldname].value.length-1;zeichen++)
         {
          zeichen_im_feld = top.servicezugang_body.home_area.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;
            }
         }

      top.servicezugang_body.home_area.document.formular[fieldname].value = zahlen_string;

      //Meldung an den User
      alert('Geben Sie bitte in dieses Feld ausschliesslich Zahlen ein !');
     }
   break;

   //Passwortfeld
   case "password":
   case "password_visible_on_demand":
   top.servicezugang_body.home_area.document.formular[fieldname].value = document.formular['showfield_'+fieldname].value;
   break;

   //Allgemines Textfeld
   case "string":
   //Hier werden alle Zeichen zugelassen !
   break;
  }


 /********************************************************************************************
 Anpassen des Restzeichenfeldes
 ********************************************************************************************/
 switch (inhaltstyp)
  {
   /*******************************************************************************************************************
   Allgemines Textfeld & reines Zahlenfeld werden hier gleichbehandelt
   *******************************************************************************************************************/
   case "numeric":
   case "password":
   case "password_visible_on_demand":
   case "string":
   //Trage das eingegebene Zeichen ins Feld ein
   anzahl_rest_zeichen = maxlength - top.servicezugang_body.home_area.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
      top.servicezugang_body.home_area.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_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
        }
       else
        {
         //nein: färbe die Anzeige normal-grau
         do_it_dbads ('show_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
        }
     }
    else
     {
      //nein: Keine weiteren Zeichen mehr möglich
      top.servicezugang_body.home_area.document.formular[fieldname].value = document.formular[fieldname].value.substr(0,maxlength);
      top.servicezugang_body.home_area.document.getElementById('rest_zeichen_'+fieldname).innerHTML = "0";
      do_it_dbads ('show_field_colors', 'window&'+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 (top.servicezugang_body.home_area.document.formular[fieldname].value!=top.servicezugang_body.home_area.document.formular['restore_'+fieldname].value)
     {
      //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
      do_it_dbads ('show_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_on');
     }
    else
     {
      //nein: ändere die Farbe des Legendetextes zurück
      do_it_dbads ('show_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_off');
     }
   break;

   /*******************************************************************************************************************
   Dezimales Zahlenfeld
   *******************************************************************************************************************/
   case "floating":
   //Aus Feld: Feldwert ermitteln
   feldwert_vorkomma  = top.servicezugang_body.home_area.document.formular[fieldname+"_vordezimal"].value;
   feldwert_nachkomma = top.servicezugang_body.home_area.document.formular[fieldname+"_nachdezimal"].value;

   //Ermittle die maximale Stringgröße der beiden Felder
   elemente              = maxlength.split(",");
   max_stellen_vorkomma  = parseInt(elemente[0]);
   max_stellen_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;

   //Hat der User bei den Vorkomma-Zahlen das Maximum an Zeichen überschritten ?
   if (neue_anzahl_rest_zeichen_vorkomma < 0)
     {
      //ja: nimm die Zeichen die zuviel sind wieder aus dem Feld raus. Das muss nicht immer nur 1 Zeichen sein, denn
      //der User kann bei Autorepeat viele Zeichen zuviel eingeben (einfach mit dem Finger auf einer Zahl bleiben).
      feldwert_vorkomma = top.servicezugang_body.home_area.document.formular[fieldname+"_vordezimal"].value;
      feldwert_vorkomma = feldwert_vorkomma.substr(0,feldwert_vorkomma.length-Math.abs(neue_anzahl_rest_zeichen_vorkomma));
      top.servicezugang_body.home_area.document.formular[fieldname+"_vordezimal"].value = feldwert_vorkomma;

      //Setze den neuen String der Restzeichenanzeige zusammen
      neuer_rest_zeichen_inhalt = "0 , " + neue_anzahl_rest_zeichen_nachkomma;

      //Zeige die neuen Restanzeige an
      top.servicezugang_body.home_area.document.getElementById('rest_zeichen_'+fieldname).innerHTML = neuer_rest_zeichen_inhalt

      //Info an User
      alert ('Es können keine weiteren Vorkomma-Zeichen mehr eingegeben werden !!');
     }
    else
     {
      //Hat der User bei den Nachkomma-Zahlen das Maximum an Zeichen überschritten ?
      if (neue_anzahl_rest_zeichen_nachkomma < 0)
        {
         //ja: nimm die Zeichen die zuviel sind wieder aus dem Feld raus. Das muss nicht immer nur 1 Zeichen sein, denn
         //der User kann bei Autorepeat viele Zeichen zuviel eingeben (einfach mit dem Finger auf einer Zahl bleiben).
         feldwert_nachkomma = top.servicezugang_body.home_area.document.formular[fieldname+"_nachdezimal"].value;
         feldwert_nachkomma = feldwert_nachkomma.substr(0,feldwert_nachkomma.length-Math.abs(neue_anzahl_rest_zeichen_nachkomma));
         top.servicezugang_body.home_area.document.formular[fieldname+"_nachdezimal"].value = feldwert_nachkomma;

         //Setze den neuen String der Restzeichenanzeige zusammen
         neuer_rest_zeichen_inhalt = neue_anzahl_rest_zeichen_vorkomma + " , 0";

         //Zeige die neuen Restanzeige an
         top.servicezugang_body.home_area.document.getElementById('rest_zeichen_'+fieldname).innerHTML = neuer_rest_zeichen_inhalt

         //Info an User
         alert ('Es können keine weiteren Nachkomma-Zeichen mehr eingegeben werden !!');
        }
       else
        {
         //nein: Eingabe ist okay, färbe die Anzeige normal-grau
         do_it_dbads ('show_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');

         //Setze den neuen String der Restzeichenanzeige zusammen
         neuer_rest_zeichen_inhalt = neue_anzahl_rest_zeichen_vorkomma + " , " + neue_anzahl_rest_zeichen_nachkomma;

         //Zeige die neuen Restanzeige an
         top.servicezugang_body.home_area.document.getElementById('rest_zeichen_'+fieldname).innerHTML = neuer_rest_zeichen_inhalt

         //Zeigt die Restanzeige bereits "0 , 0" an ?
         if (top.servicezugang_body.home_area.document.getElementById('rest_zeichen_'+fieldname).innerHTML == "0 , 0")
           {
            //ja: färbe die Anzeige rot
            do_it_dbads ('show_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_on');
           }

         //Hat der User alle Zeichen aus dem Vorkomma-Feld gelöscht, aber im Nachkomma-Feld etwas eingetragen ?
         if ((feldwert_vorkomma == "") && (feldwert_nachkomma != ""))
           {
            //ja: trage die Feldwerte in das versteckte Feld ein, das für die Auswertung (z.B. Speichern) zuständig ist
            top.servicezugang_body.home_area.document.getElementById(fieldname).value = "0." + feldwert_nachkomma;
           }
          else
           {
            //nein: hat der User alle Zeichen aus dem Nachkomma-Feld gelöscht, aber im Vorkomma-Feld etwas eingetragen ?
            if ((feldwert_vorkomma != "") && (feldwert_nachkomma == ""))
              {
               //ja: trage die Feldwerte in das versteckte Feld ein, das für die Auswertung (z.B. Speichern) zuständig ist
               top.servicezugang_body.home_area.document.getElementById(fieldname).value = feldwert_vorkomma + ".0";
              }
             else
              {
               //nein: hat der User im Vor- und Nachkommafeld etwas eingetragen ?
               if ((feldwert_vorkomma != "") && (feldwert_nachkomma != ""))
                 {
                  //ja: trage die Feldwerte in das versteckte Feld ein, das für die Auswertung (z.B. Speichern) zuständig ist
                  top.servicezugang_body.home_area.document.getElementById(fieldname).value = feldwert_vorkomma + "." + feldwert_nachkomma;
                 }
                else
                 {
                  //nein: trage nichts ein
                  top.servicezugang_body.home_area.document.getElementById(fieldname).value = "";
                 }
              }
           }
        }
     }

   //Hat sich der Feldinhalt gegenüber dem ursprünglichen Wert verändert ?
   if (top.servicezugang_body.home_area.document.formular[fieldname].value != top.servicezugang_body.home_area.document.formular['restore_'+fieldname].value)
     {
      //ja: ändere die Farbe des Legendetextes als optisches Zeichen der Änderung
      do_it_dbads ('show_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_on');
     }
    else
     {
      //nein: ändere die Farbe des Legendetextes zurück
      do_it_dbads ('show_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_off');
     }
   break;
  }
}










function dbads_XXX_content_of_validityfield_has_changed (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.01.2010 - 15:21                                                    */
/* Last Update      : 14.06.2011 - 21:41                                                    */
/* Version          : 5                                                                     */
/********************************************************************************************/
/* Der User hat bei einem Datensatz auf die Checkboxen "Gültig/Nicht gültig" gedrückt.      */
/********************************************************************************************/
{
 var status = parameter_array[0];


 //Setze die Formatierung - je nach Entscheidung des Users - für die beiden Radiobuttons
 switch (status)
  {
   case "gueltig":
   top.servicezugang_body.home_formular_kopfzeile.document.getElementById('datensatz_gueltig').style.color   = "#44ff44";
   top.servicezugang_body.home_formular_kopfzeile.document.getElementById('datensatz_ungueltig').style.color = "#ffffff";

   //Übertrage die Entscheidung in das versteckte Formular
   top.servicezugang_body.home_area.document.formular['validity'].value = "true";
   break;

   case "ungueltig":
   top.servicezugang_body.home_formular_kopfzeile.document.getElementById('datensatz_gueltig').style.color   = "#ffffff";
   top.servicezugang_body.home_formular_kopfzeile.document.getElementById('datensatz_ungueltig').style.color = "#ff8888";

   //Übertrage die Entscheidung in das versteckte Formular
   top.servicezugang_body.home_area.document.formular['validity'].value = "false";
   break;
  }


 //Hat der User die Gültigkeit geändert ?
 if (((top.servicezugang_body.home_formular_kopfzeile.document.getElementById('validity_origin').value=="false") && (status=="gueltig")) || ((top.servicezugang_body.home_formular_kopfzeile.document.getElementById('validity_origin').value=="true") && (status=="ungueltig")))
   {
    //ja: 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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML = "*";

    //Meldung an User...
    alert('Um die geänderte Gültigkeit in dem Datensatz zu speichern, drücken Sie bitte auf \"Datensatz speichern\" in der Navigation !');
   }
  else
   {
    //nein: setze die Kennung oben in der grünen Zeile rechts neben dem gelben Test wieder zurück
    top.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').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      : 26.12.2010 - 23:36                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User will ein upgeloadtes File über dem Servicebereich löschen.                      */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3]; //Hier: Pfad und Dateiname der zu löschenden Datei


 //Extrahiere aus der angegebenen ID den Dateinamen des Files
 elemente = id.split('þ');
 filename = elemente[1];

 //Rückfrage an User
 antwort = do_it_dbads('system_message_to_user','file_loeschen&'+filename);

 if (antwort)
   {
    top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/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      : 26.12.2010 - 23:33                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User will ein Bild über dem Servicebereich löschen.                                  */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3]; //Hier: Pfad und Dateiname des zu löschenden Bildes


 //Extrahiere aus der angegebenen ID den Dateinamen des Bildes
 elemente = id.split('þ');
 bildname = elemente[1];

 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user','bild_loeschen&'+bildname);


 if (antwort)
   {
    top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/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      : 16.06.2011 - 16:40                                                    */
/* Version          : 7                                                                     */
/********************************************************************************************/
/* Der User will einen Datensatz über dem Servicebereich löschen.                           */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3];


 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user','datensatz_loeschen');

 //Hat der User die Confirmation akzeptiert ?
 if (antwort)
   {
    //ja: wird das Formularfeld mit der Datensatz-ID angezeigt ?
    if (top.servicezugang_body.home_area.document.formular["id"])
      {
       //ja: ermittle die ID des zu löschenden Datensatzes
       id = top.servicezugang_body.home_area.document.formular["id"].value;

       //Starte den Löschvorgang
       top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/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 !');
      }
   }
}










function dbads_XXX_end_of_module (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 21:33                                                    */
/* Last Update      : 01.07.2011 - 02:03                                                    */
/* Version          : 12                                                                    */
/********************************************************************************************/
/* Der User will die Arbeit mit einem Servicebereich-Modul beenden und gelangt dadurch       */
/* in das Modul "Home".                                                                     */
/********************************************************************************************/
{
 var pfad_kenner           = parameter_array[0];
 var background_farbe      = parameter_array[1];
 var border_farbe_on_click = parameter_array[2];


 //Hat der User noch ungespeicherte Änderungen am Formular vorgenommen ?
 if (top.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML == "*")
   {
    //ja: mache ihn darauf aufmerksam
    antwort = do_it_dbads ('system_message_to_user','modul_beenden_1');
   }
  else
   {
    //nein: frage den Benutzer, ob er wirklich das Modul beenden will
    antwort = do_it_dbads ('system_message_to_user','modul_beenden_2');
   }


 //Will der Benutzer tatsächlich das Modul beenden ?
 if (antwort)
   {
    //ja: Header setzen
    top.servicezugang_body.document.getElementById('modulanzeige_in_grauer_zeile').innerHTML     = "Willkommen&nbsp;im&nbsp;Servicebereich";
    top.servicezugang_body.document.getElementById('funktionsanzeige_in_grauer_zeile').innerHTML = "";

    //Navigationszeile zurücksetzen; es wird wieder der Wilkommens-Spruch angezeigt
    top.servicezugang_navigation.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/navigation/navigation_index.php?0&welcome";

    //Body zurück auf Home setzen
    top.servicezugang_body.document.location.href = '/'+pfad_kenner+'/system/dbads/phplib/home.php';

    //Trage im Infocenter und dort in der Kachel "Modul-ID" die Zahl 0 (Null) ein.
    top.servicezugang_infocenter.tile_kacheln.document.getElementById('modul_id').innerHTML = "0";

    //Trage im Infocenter und dort in der Kachel "Modulgruppen" ein, dass alle Modulgruppen zugeklappt sind, denn beim Neuaufbau
    //der Navigation werden die Modulgruppen nach dem Verlassen eines Moduls immer zugeklappt dargestellt.
    top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alle_zuklappen').checked = true;

    //Setze das Infocenter zurück auf die Standardkachel "Login/Logout"
    infotext    = "";
    tile_header = correct_text_from_js_to_php_into_database ('Login / Logout');
    do_it_dbads ('click_on_tile_infocenter', pfad_kenner+'&login_logout&'+background_farbe+'&'+border_farbe_on_click+'&'+infotext+'&'+tile_header+'');
   }
}










function dbads_XXX_end_of_service (parameter_array)
/********************************************************************************************/
/* First Releae     : 23.10.2008 - 23:09                                                    */
/* Last Update      : 17.02.2011 - 13:25                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User will die Arbeiten im Servicebereich beenden und schliesst damit auch das        */
/* PopUp-Fenster.                                                                           */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];


 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user','servicebereich_beenden');


 if (antwort)
   {
    top.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/end_of_service.php";
   }
}










function dbads_XXX_end_of_submodule (parameter_array)
/********************************************************************************************/
/* First Releae     : 24.09.2008 - 12:43                                                    */
/* Last Update      : 18.07.2011 - 11:24                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User will die Arbeit mit einem Servicebereich-Modul beenden, indem er ein anderes    */
/* Modul aufruft. Die trifft bisher bei den Formularen zum editieren von Bild- und File-    */
/* Informationen zu.                                                                        */
/********************************************************************************************/
{
 var pfad_kenner  = parameter_array[0];
 var modul_id     = parameter_array[1];
 var action       = parameter_array[2];
 var navistring   = parameter_array[3];
 var datensatz_id = parameter_array[4];
 var modulgruppe  = parameter_array[5];



 //Ermittle aus der einen blauen Kopfzeile des Formulars den Titeltext (links oben). Extrahiere davon die Datensatz-ID des nun
 //aufzurufenen Moduls. Der Eingangsparameter "datensatz-id" kann dazu nicht verwendet werden, weil die Routine "end_of_submodule"
 //von PHP aus angestossen wird und diese PHP-Routine keine Kenntnis zur Rückverzeigerung zum aufgerufenen Modul hat. Da aber
 //dieser Rücksprung bisher nur bei Formularen für Bild- und Fileinformationen Verwendung findet, nehme ich einfach die ID des
 //Datensatz aus dem aufzurufenen Modul aus der blauen Zeile oben über dem Formular. Denn dort macht es eigentlich nur Sinn die
 //Angabe zur Bilddatei oder Filedatei zu platzieren.
 elemente     = top.servicezugang_body.home_formular_kopfzeile.document.getElementById('blaue_zeile').innerHTML.split('_');
 datensatz_id = elemente[0];

 //Hat der User noch ungespeicherte Änderungen am Formular vorgenommen ?
 if (top.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML == "*")
   {
    //ja: Rückfrage an User
    antwort = do_it_dbads ('system_message_to_user','submodul_beenden_1&'+navistring);
   }
  else
   {
    //nein: Rückfrage an User
    antwort = do_it_dbads ('system_message_to_user','submodul_beenden_2&'+navistring);
   }


 if (antwort)
   {
    //Berücksichtige Sonderzeichen
    while (navistring.indexOf("Æ")>-1) {navistring=navistring.replace("Æ","&nbsp;");}
    while (navistring.indexOf(" ")>-1) {navistring=navistring.replace(" ","&nbsp;");}
    while (navistring.indexOf("-")>-1) {navistring=navistring.replace("-","&minus;");}

    while (modulgruppe.indexOf("Æ")>-1) {modulgruppe=modulgruppe.replace("Æ","&nbsp;");}
    while (modulgruppe.indexOf(" ")>-1) {modulgruppe=modulgruppe.replace(" ","&nbsp;");}
    while (modulgruppe.indexOf("-")>-1) {modulgruppe=modulgruppe.replace("-","&minus;");}

    //Setze den Modulnamen in die glasgrüne Zeile ein
    top.servicezugang_body.document.getElementById('modulanzeige_in_grauer_zeile').innerHTML = modulgruppe+"."+navistring;

    //Baue die Navigation mit den Funktionen zum jeweiligen Modul auf
    top.servicezugang_navigation.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/navigation/navigation_index.php?"+modul_id+"&"+action;

    //Starte das Modul
    top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+datensatz_id+"&true";
   }
}










function dbads_XXX_get_record_from_button (parameter_array)
/********************************************************************************************/
/* First Releae     : 04.01.2010 - 00:58                                                    */
/* Last Update      : 01.07.2011 - 02:31                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User will sich einen anderen Datensatz über einen der Button links oder rechts vom   */
/* Selectfeld anzeigen lassen.                                                              */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3];


 top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+id+"&false";
}










function dbads_XXX_get_record_from_datensatzanzeige (parameter_array)
/********************************************************************************************/
/* First Releae     : 20.07.2011 - 15:07                                                    */
/* Last Update      : 20.07.2011 - 15:07                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will sich einen anderen Datensatz über die Datensatzanzeige in der Funßzeile,   */
/* zwischen den Button liegend, anzeigen lassen.                                            */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];


 //Ermittle die ID des ausgesuchten Datensatzes
 datensatz_id_aus_selectfeld = top.servicezugang_body.home_formular_fusszeile.document.formular['current_record_in_fusszeile'].value;

 top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+datensatz_id_aus_selectfeld+"&false";
}










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_infocenter_klappen (parameter_array)
/********************************************************************************************/
/* First Releae     : 01.05.2011 - 00:20                                                    */
/* Last Update      : 14.06.2011 - 14:50                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User hat auf den Pfeil bei der Ablaufleiste geklickt.                                */
/********************************************************************************************/
{
 var way    = parameter_array[0];
 var breite = parameter_array[1];


 switch (way)
  {
   case "einklappen":
   do_it_dbads('browser_workarrounds','infocenter_einklappen');
   top.servicezugang_body.document.getElementById('infocenter_ein_und_ausklappen_pfeil').style.visibility = "visible";
   break;

   case "ausklappen":
   top.servicezugang_body.document.getElementById('infocenter_ein_und_ausklappen_pfeil').style.visibility = "hidden";
   top.document.getElementById('infocenter_frame').style.width = breite+"px";
   break;
  }
}










function dbads_XXX_init_content_form (parameter_array)
/********************************************************************************************/
/* First Releae     : 02.01.2010 - 13:55                                                    */
/* Last Update      : 14.06.2011 - 20:26                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Im Formular werden die Zeitangaben "Zuerst angelegt" und "Zuletzt geändert" bei neuen    */
/* Datensätzen fortlaufend aktualisiert.                                                    */
/********************************************************************************************/
{
 var content_form_action = parameter_array[0];
 var content_form_id     = parameter_array[1];
 var content_form_status = parameter_array[2];


 //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")
     {
      //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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').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;
        }

      //Zeitanzeige "Zuerst angelegt" synchronsieren
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_first_creation_weekday').innerHTML = feld_wochentag;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_first_creation_days').innerHTML    = tag;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_first_creation_months').innerHTML  = monat;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_first_creation_years').innerHTML   = jahr;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_first_creation_hours').innerHTML   = stunden;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_first_creation_minutes').innerHTML = minuten;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_first_creation_seconds').innerHTML = sekunden;

      //Zeitanzeige "Zuletzt geändert" synchronsieren
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_last_update_weekday').innerHTML    = feld_wochentag;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_last_update_days').innerHTML       = tag;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_last_update_months').innerHTML     = monat;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_last_update_years').innerHTML      = jahr;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_last_update_hours').innerHTML      = stunden;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_last_update_minutes').innerHTML    = minuten;
      top.servicezugang_body.home_formular_kopfzeile.document.getElementById('record_last_update_seconds').innerHTML    = sekunden;
     }

   setTimeout ("do_it_dbads('init_content_form','"+content_form_action+"&"+content_form_id+"&next')",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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').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.navigation_funktionen.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.navigation_funktionen.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_index (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.06.2011 - 01:16                                                    */
/* Last Update      : 29.09.2011 - 15:42                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Initialisiere das Fenster von "index.php".                                               */
/********************************************************************************************/
{
 var pfad_kenner            = parameter_array[0];
 var routine_zum_ersten_mal = parameter_array[1];


 /*****************************************************************************************
 Analog-Uhr initialisieren und starten
 *****************************************************************************************/
 if (routine_zum_ersten_mal == "true")
   {
    //Aktiviere die Analog-Uhr
    do_it_dbads ('analog_uhr_init','')
   }

 //Manchmal kommt die Routine schneller als der Browser laden kann. Daher die Sicherheitsfrage...
 if (top.hidden_action_index.hidden_action_servertime)
   {
    //Ermittle die Sekunden auf dem Server
    server_sekunden = top.hidden_action_index.hidden_action_servertime.document.getElementById('server_seconds').innerHTML;

    //Serverzeit alle 30 Sekunden neu erfassen und damit Uhr des Servicebereiches mit der Serveruhr synchronisieren
    if ((server_sekunden == "0") || (server_sekunden == "30"))
      {
       top.hidden_action_index.hidden_action_servertime.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/hidden_action/hidden_action_servertime.php";
      }
   }


 //Wiederhole diese Aktion jede Sekunde
 setTimeout ("do_it_dbads('init_index','"+pfad_kenner+"&false')",1000);
}










function dbads_XXX_init_infocenter (parameter_array)
/********************************************************************************************/
/* First Releae     : 20.11.2008 - 12:25                                                    */
/* Last Update      : 20.07.2011 - 12:47                                                    */
/* Version          : 5                                                                     */
/********************************************************************************************/
/* Das Infocenter wird nach Aufruf des Servicebereiches gestartet.                          */
/********************************************************************************************/
{
 var pfad_kenner              =          parameter_array[0];
 var fenster                  =          parameter_array[1];
 var last_login               = parseInt(parameter_array[2]);
 var border_kachel_angeklickt =          parameter_array[3];


 switch (fenster)
  {
   case "infocenter":
   /*****************************************************************************************
   Fortlaufende Zeitanzeige in Sekunden seit dem der Servicebereich aufgerufen wurde
   *****************************************************************************************/
   //Berechne den PHP-Zeitstempel der aktuellen Zeit
   jetzt                  = new Date();
   zeitstempel_jetzt      = Math.floor(jetzt.getTime()/1000);
   zeitstempel_last_login = last_login;
   sekunden_seit_aufruf_vom_service_bereich = zeitstempel_jetzt - zeitstempel_last_login;

   //Weniger als 1 Minute verstrichen ?
   if (sekunden_seit_aufruf_vom_service_bereich < 60)
     {
      //ja: berechne den Zeitstring bis 1 Minute
      zeitstring_wie_lange_schon_im_system = 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_wie_lange_schon_im_system = 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_wie_lange_schon_im_system = 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_wie_lange_schon_im_system = tagestring+"d&nbsp;"+stundenstring+"h&nbsp;"+minutenstring+"m&nbsp;"+sekundenstring+"s";
           }
        }
     }

   //Gib den Zeitstring im Infocenter und dort in eine der Kacheln aus. Bei manchen Startsituationen kann es vorkommen, dass
   //Die Kachel zur Ausgabe der Zeit noch nicht am Browser aufgebaut ist, aber diese Routine schon die Uhrzeit dort ausgeben will
   if (top.servicezugang_infocenter.tile_kacheln)
     {
      top.servicezugang_infocenter.tile_kacheln.document.getElementById('zeit_seit_servicbereich_aufruf').innerHTML = zeitstring_wie_lange_schon_im_system;
     }



   /*****************************************************************************************
   Fortlaufende Zeitanzeige bei User-Inaktivität (Countdown)
   *****************************************************************************************/
   //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.servicezugang_infocenter.tile_kacheln.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_countdown = 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_countdown = 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_countdown = 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_countdown = tagestring+"d&nbsp;"+stundenstring+"h&nbsp;"+minutenstring+"m&nbsp;"+sekundenstring+"s";
              }
           }
        }
     }


   /*****************************************************************************************
   Auswertung des Countdowns
   *****************************************************************************************/
   //Gibt es eine Vorgabe der maximale Inaktivitätszeit ?
   if (parseInt(top.document.getElementById('max_time_of_no_activity').innerHTML) > 0)
     {
      //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 (verdunkelt den Bildschirm)
            top.document.getElementById('confirmation_of_selfclose').style.visibility = "visible";

            //ja: gib die Info aus, dass der Countdown abgelaufen ist
            top.servicezugang_infocenter.tile_kacheln.document.getElementById('zeit_bis_zur_sicherheitsabschaltung').innerHTML = "0s";

            //Akustisches Signal an den eingeloggten Kunden !
            do_it_dbads ('play_sound',pfad_kenner+'&sound_2');

            //Starte den Countdown
            do_it_dbads ('start_countdown_sicherheitsabschaltung',pfad_kenner+'&31');
           }
        }
       else
        {
         //nein: gib die Zeiten aus. Bei manchen Startsituationen kann es vorkommen, dass die Kachel zur Ausgabe der Zeit noch nicht
         //am Browser aufgebaut ist, aber diese Routine schon die Uhrzeit dort ausgeben will
         if (top.servicezugang_infocenter.tile_kacheln)
           {
            //Gib den Zeitstring im Infocenter und dort in eine der Kacheln aus
            top.servicezugang_infocenter.tile_kacheln.document.getElementById('zeit_bis_zur_sicherheitsabschaltung').innerHTML = zeitstring_countdown;

            //Gib den Zeitstring aus: für die Anzeige für den User
            top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet').value = time_of_no_activity;
           }
        }
     }

   /*****************************************************************************************
   Wiederhole diese Routine jede Sekunde
   *****************************************************************************************/
   setTimeout("do_it_dbads('init_infocenter','"+pfad_kenner+"&"+fenster+"&"+last_login+"&"+border_kachel_angeklickt+"')",1000);
   break;

   case "sperre":
   var delta_sperre = parameter_array[2];
   top.document.formular.benutzerkennung.focus();
   do_it_dbads ('count_website_sperre',String(delta_sperre));
   break;
  }
}










function dbads_XXX_init_suchfeld_in_auswahlfeld (parameter_array)
/********************************************************************************************/
/* First Releae     : 15.06.2011 - 17:32                                                    */
/* Last Update      : 15.06.2011 - 17:32                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User hat mit der Maus in das Suchefeld im Auswahlfeld (oben) geklickt um dort einen  */
/* Suchstring einzugeben.                                                                   */
/********************************************************************************************/
{
 var pfad_kenner             = parameter_array[0];
 var max_time_of_no_activity = parameter_array[1];

 //Setze den Countdown im Hauptfenster zurück
 do_it_dbads ('reset_countdown', max_time_of_no_activity+'&parent.window_opener');

 document.getElementById('suchfeld').value = "";
 document.getElementById('suchfeld').style.fontFamily    = "verdana";
 document.getElementById('suchfeld').style.fontSize      = "9pt";
 document.getElementById('suchfeld').style.fontWeight    = "bold";
 document.getElementById('suchfeld').style.letterSpacing = "1pt";
}










function dbads_XXX_make_choice_auswahl_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 26.09.2011 - 17:20                                                    */
/* Last Update      : 26.09.2011 - 17:20                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat mit der Maus innerhalb der Liste der Auswahlmöglichkeiten eines der Aus-    */
/* wahlmöglichkeiten angeklickt um den Wert ins Kombifeld zu übernehmen.                    */
/********************************************************************************************/
{
 var pfad_kenner         = parameter_array[0];
 var auswahlmoeglichkeit = parameter_array[1];
 var fieldname           = parameter_array[2];


 top.window.opener.top.servicezugang_body.home_area.document.formular[fieldname].value = document.getElementById('zelle_'+auswahlmoeglichkeit+'_0').value;
 do_it_dbads('content_of_selectfield_has_changed','opener&'+fieldname)

 //Schliesse das Auswahlfeld-Fenster
 parent.window.close();

}










function dbads_XXX_make_choice_auswahl_zeige_datensaetze (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.01.2010 - 17:55                                                    */
/* Last Update      : 26.09.2011 - 17:19                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Der User hat mit der Maus innerhalb der Liste der Auswahlmöglichkeiten eines der Aus-    */
/* wahlmöglichkeiten angeklickt um sich einen anderen datensatz anzuschauen.                */
/********************************************************************************************/
{
 var pfad_kenner          = parameter_array[0];
 var angeklickte_zeile_id = parameter_array[1];
 var modul_id             = parameter_array[2];
 var action               = parameter_array[3];


 //Schliesse das Auswahlfeld-Fenster
 parent.window.close();

 //Zeige das Formular im Content an
 top.window.opener.top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+angeklickte_zeile_id+"&false";
}










function dbads_XXX_make_choice_id_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 07.02.2010 - 19:15                                                    */
/* Last Update      : 14.06.2011 - 18:12                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User hat mit der Maus innerhalb der Liste der IDs eines der Auswahlmöglichkeiten     */
/* angeklickt.                                                                              */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];


 //Ermittle die im Selectfeld angezeigte, gewünschte ID
 selektierte_zeile = top.servicezugang_body.home_formular_kopfzeile.document.getElementById('datensatz_id').selectedIndex;
 selektierte_id    = top.servicezugang_body.home_formular_kopfzeile.document.getElementById('datensatz_id').options[selektierte_zeile].value;


 top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+selektierte_id+"&false";
}










function dbads_XXX_mark_choice_auswahl_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.01.2010 - 17:55                                                    */
/* Last Update      : 26.07.2011 - 14:12                                                    */
/* Version          : 6                                                                     */
/********************************************************************************************/
/* Der User bewegt die Maus innerhalb der Liste der Auswahlmöglichkeiten auf und ab und     */
/* markiert dabei die einzelnen Zeilen.                                                     */
/********************************************************************************************/
{
 var zeile                    = parameter_array[0];
 var max_spalten              = parameter_array[1];
 var id_markierter_datensatz  = parameter_array[2];
 var markierungs_hintergrund  = parameter_array[3];
 var markierungs_schriftfarbe = parameter_array[4];


 //Wurde bereits eine Zeile markiert ?
 if (zuletzt_markierte_zeile_in_auswahlfeld != -1)
   {
    //ja: färbe die zuletzt markierte Zeile wieder auf die ursprünglichen Farben zurück
    for (spalte=0;spalte<=max_spalten-1;spalte++)
       {
        document.getElementById('zelle_'+zuletzt_markierte_zeile_in_auswahlfeld+'_'+spalte).style.backgroundColor = hintergrundfarbe_zuletzt_markierte_zelle[spalte];
        document.getElementById('zelle_'+zuletzt_markierte_zeile_in_auswahlfeld+'_'+spalte).style.color           = schriftfarbe_zuletzt_markierte_zelle[spalte];
       }
   }

 //Merke dir vor dem Färben der Zeile auf die die Maus liegt, die Hintergrundfarben und Textfarben
 for (spalte=0;spalte<=max_spalten-1;spalte++)
    {
     hintergrundfarbe_zuletzt_markierte_zelle[spalte] = document.getElementById('zelle_'+zeile+'_'+spalte).style.backgroundColor;
     schriftfarbe_zuletzt_markierte_zelle[spalte]     = document.getElementById('zelle_'+zeile+'_'+spalte).style.color;
    }

 //Färbe jetzt alle neu zu markierenden Zellen
 for (spalte=0;spalte<=max_spalten-1;spalte++)
    {
     document.getElementById('zelle_'+zeile+'_'+spalte).style.backgroundColor = "#"+markierungs_hintergrund;
     document.getElementById('zelle_'+zeile+'_'+spalte).style.color           = "#"+markierungs_schriftfarbe;
    }

 //Merke dir die zuletzt markierte Zeilennummer
 zuletzt_markierte_zeile_in_auswahlfeld = zeile;

 //Trage in die Statuszeile die ID des markierten Datensatzes ein (wenn vorhanden)
 if (top.auswahlfeld_status.document.getElementById('id_des_markierten_datensatzes'))
   {
    top.auswahlfeld_status.document.getElementById('id_des_markierten_datensatzes').innerHTML = id_markierter_datensatz;
   }
}










function dbads_XXX_mouse_over_head_button (parameter_array)
/********************************************************************************************/
/* First Releae     : 20.12.2009 - 15:44                                                    */
/* Last Update      : 30.05.2011 - 13:19                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat Maus auf die Kopfzeile in der Navigation gelegt (links oben direkt unter    */
/* Temporyx-Logo).                                                                          */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var way         = parameter_array[1];


 switch (way)
  {
   case "over":
   document.getElementById('head_button').style.backgroundImage = 'url(/'+pfad_kenner+'/system/dbads/imagelib/gruener_zeilenkopf/grauer_kopf_mouse_over.png)';
   document.getElementById('head_button').style.color           = ALL_COLOR_BUTTON_TEXT_ONMOUSEOVER;
   break;

   case "out":
   document.getElementById('head_button').style.backgroundImage = 'url(/'+pfad_kenner+'/system/dbads/imagelib/gruener_zeilenkopf/grauer_kopf.png)';
   document.getElementById('head_button').style.color           = ALL_COLOR_BUTTON_TEXT;
   break;
  }
}










function dbads_XXX_mouse_over_tile_infocenter (parameter_array)
/********************************************************************************************/
/* First Releae     : 31.05.2011 - 16:42                                                    */
/* Last Update      : 06.06.2011 - 01:05                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat Maus auf eines der Tiles im Infocenter gelegt.                              */
/********************************************************************************************/
{
 var tile                      = parameter_array[0];
 var way                       = parameter_array[1];
 var hintergrund_farbe_erhellt = parameter_array[2];
 var hintergrund_farbe_normal  = parameter_array[3];
 var rahmen_farbe_clicked      = parameter_array[4];


 switch (way)
  {
   case "over":
   //Ist die Hintergrundfarbe dunkel ?
   if (document.getElementById("tile_"+tile).style.backgroundColor == '#'+hintergrund_farbe_normal)
     {
      //ja: ist die Rahmenfarbe NICHT grün ?
      if (document.getElementById("tile_"+tile).style.borderColor != '#'+rahmen_farbe_clicked)
        {
         //ja: färbe den Rahmen heller
         document.getElementById("tile_"+tile).style.borderColor = '#'+hintergrund_farbe_erhellt;
        }

      //Färbe den Hintergrund heller
      document.getElementById("tile_"+tile).style.backgroundColor = '#'+hintergrund_farbe_erhellt;
     }
   break;

   case "out":
   //Ist die Hintergrundfarbe heller ?
   if (document.getElementById("tile_"+tile).style.backgroundColor == '#'+hintergrund_farbe_erhellt)
     {
      //ja: ist die Rahmenfarbe NICHT grün ?
      if (document.getElementById("tile_"+tile).style.borderColor != '#'+rahmen_farbe_clicked)
        {
         //ja: färbe die Rahmenfarbe wieder dunkler
         document.getElementById("tile_"+tile).style.borderColor = '#'+hintergrund_farbe_normal;
        }

      //Färbe den Hintergrund wieder dunkler
      document.getElementById("tile_"+tile).style.backgroundColor = '#'+hintergrund_farbe_normal;
     }
   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 pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3]; //Hier: Pfad und Dateiname des zu verschiebenden Files


 //Extrahiere aus der angegebenen ID den Dateinamen des Files
 elemente = id.split('þ');
 filename = elemente[1];

 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user','file_eine_pos_tiefer&'+filename);


 if (antwort)
   {
    document.location.href = "/"+pfad_kenner+"/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 pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3]; //Hier: Pfad und Dateiname des zu verschiebenden Bildes


 //Extrahiere aus der angegebenen ID den Dateinamen des Bildes
 elemente = id.split('þ');
 bildname = elemente[1];

 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user','bild_eine_pos_tiefer&'+bildname);


 if (antwort)
   {
    document.location.href = "/"+pfad_kenner+"/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 pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3]; //Hier: ID des nach unten zu verschiebenden Datensatzes


 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user','datensatz_eine_pos_tiefer&'+id);

 if (antwort)
   {
    document.location.href = "/"+pfad_kenner+"/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 pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3]; //Hier: Pfad und Dateiname des zu verschiebenden Files


 //Extrahiere aus der angegebenen ID den Dateinamen des Files
 elemente = id.split('þ');
 filename = elemente[1];

 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user','file_eine_pos_hoeher&'+filename);


 if (antwort)
   {
    document.location.href = "/"+pfad_kenner+"/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      : 30.04.2011 - 14:50                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User will ein Bild innerhalb des Formulares nach oben verschieben.                   */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3]; //Hier: Pfad und Dateiname des zu verschiebenden Bildes


 //Extrahiere aus der angegebenen ID den Dateinamen des Bildes
 elemente = id.split('þ');
 bildname = elemente[1];

 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user','bild_eine_pos_hoeher&'+bildname);


 if (antwort)
   {
    document.location.href = "/"+pfad_kenner+"/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 pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3]; //Hier: ID des nach oben zu verschiebenden Datensatzes

 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user','datensatz_eine_pos_hoeher&'+id);

 if (antwort)
   {
    document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/action/action.php?"+modul_id+"&"+action+"&"+id;
   }
}










function dbads_XXX_new_order_in_auswahlfeld_formulare_select_value (parameter_array)
/********************************************************************************************/
/* First Releae     : 28.09.2011 - 14:27                                                    */
/* Last Update      : 28.09.2011 - 14:27                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat im Auswahlfeld zur Auflistung von Auswahlmöglichkeiten für Select-Felder    */
/* auf das kleine Pfeilchen neben der Spaltenlegende im Tabellenkopf geklickt.              */
/********************************************************************************************/
{
 var pfad_kenner          = parameter_array[0];
 var modul_id             = parameter_array[1];
 var action               = parameter_array[2];
 var anzuzeigende_spalten = parameter_array[3];
 var direction            = parameter_array[4];
 var sortiere_nach_header = parameter_array[5];
 var feldwert             = parameter_array[6];


 //Zeige das untere Auswahlfeld - jetzt mit der neuen Ordnung - neu an
 document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/tools/auswahlfeld/formulare_select_value/auswahlfeld_unten.php?"+modul_id+"&"+action+"&"+anzuzeigende_spalten+"&"+direction+"&"+sortiere_nach_header+"&"+feldwert;
}










function dbads_XXX_new_order_in_auswahlfeld_zeige_datensaetze (parameter_array)
/********************************************************************************************/
/* First Releae     : 03.01.2010 - 22:24                                                    */
/* Last Update      : 28.09.2011 - 13:56                                                    */
/* Version          : 5                                                                     */
/********************************************************************************************/
/* Der User hat im Auswahlfeld zur Auflistung der Datensätze auf das kleine Pfeilchen neben */
/* der Spaltenlegende im Tabellenkopf geklickt.                                             */
/********************************************************************************************/
{
 var pfad_kenner                = parameter_array[0];
 var modul_id                   = parameter_array[1];
 var action                     = parameter_array[2];
 var anzuzeigende_spalten       = parameter_array[3];
 var id_ausgewaehlter_datensatz = parameter_array[4];
 var direction                  = parameter_array[5];
 var ordnung_nach_spalte        = parameter_array[6];


 //Zeige das untere Auswahlfeld - jetzt mit der neuen Ordnung - neu an
 document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/tools/auswahlfeld/zeige_datensaetze/auswahlfeld_unten.php?"+modul_id+"&"+action+"&"+anzuzeigende_spalten+"&"+id_ausgewaehlter_datensatz+"&"+direction+"&"+ordnung_nach_spalte;
}










function dbads_XXX_open_auswahlfeld_select_value_window (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.09.2011 - 13:54                                                    */
/* Last Update      : 26.09.2011 - 13:54                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat im Auswahl-Select-Feld rechts auf den Button (mit dem Pfeil nach unten)     */
/* gedrückt.                                                                                */
/********************************************************************************************/
{
 var pfad_kenner          = parameter_array[0];
 var modul_id             = parameter_array[1];
 var action               = parameter_array[2];
 var fullscreen           = parameter_array[3];
 var title                = parameter_array[4];
 var spalte               = parameter_array[5];
 var direction            = parameter_array[6];
 var sortiere_nach_header = parameter_array[7];
 var feldwert             = parameter_array[8];


 //Öffne das Popup-Fenster des Auswahlfeldes
 var x_lage;
 var y_lage;
 var fensterbreite = 920;
 var fensterhoehe  = 500;
 x_lage = (screen.width - fensterbreite)/2;
 y_lage = ((screen.height - fensterhoehe)/2)-40;

 //Soll das Fenster über die gesamte Monitorfläche geöffnet werden ?
 if (fullscreen == "true")
   {
    //ja:
    fullscreen = "fullscreen=1,"
   }
  else
   {
    //nein:
    fullscreen = "fullscreen=0,"
   }


 //Öffne das neue Fenster
 auswahlfeld_window = window.open ("/"+pfad_kenner+"/system/dbads/phplib/tools/auswahlfeld/formulare_select_value/auswahlfeld_index.php?"+modul_id+"&"+action+"&"+title+"&"+spalte+"&"+direction+"&"+sortiere_nach_header+"&"+feldwert, "auswahlfeld", "height="+fensterhoehe+", width="+fensterbreite+", left="+x_lage+", top="+y_lage+", status=0, dialogHeight=1000, "+fullscreen+" scrollbars=0, resizable=1, menubar=0, toolbar=0, location=0");
}










function dbads_XXX_open_auswahlfeld_zeige_datensaetze_window (parameter_array)
/********************************************************************************************/
/* First Releae     : 29.01.2010 - 16:56                                                    */
/* Last Update      : 26.09.2011 - 12:56                                                    */
/* Version          : 7                                                                     */
/********************************************************************************************/
/* Der User hat im Navigationsbreich auf den Button "Zeige Datensätze" gedrückt.            */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var fullscreen  = parameter_array[3];


 //Hole die Parameter aus dem Formular-Header
 wert_header_im_auswahlfeld      = top.servicezugang_body.home_formular_kopfzeile.document.getElementById('header_im_auswahlfeld').innerHTML;
 wert_id_ausgewaehlter_datensatz = top.servicezugang_body.home_formular_kopfzeile.document.getElementById('id_ausgewaehlter_datensatz').innerHTML;
 wert_direction                  = top.servicezugang_body.home_formular_kopfzeile.document.getElementById('direction').innerHTML;
 wert_sortiere_nach_header       = top.servicezugang_body.home_formular_kopfzeile.document.getElementById('sortiere_nach_header').innerHTML;

 //Öffne das Popup-Fenster des Auswahlfeldes
 var x_lage;
 var y_lage;
 var fensterbreite = 920;
 var fensterhoehe  = 500;
 x_lage = (screen.width - fensterbreite)/2;
 y_lage = ((screen.height - fensterhoehe)/2)-40;

 //Soll das Fenster über die gesamte Monitorfläche geöffnet werden ?
 if (fullscreen == "true")
   {
    //ja:
    fullscreen = "fullscreen=1,"
   }
  else
   {
    //nein:
    fullscreen = "fullscreen=0,"
   }


 //Öffne das neue Fenster
 auswahlfeld_window = window.open ("/"+pfad_kenner+"/system/dbads/phplib/tools/auswahlfeld/zeige_datensaetze/auswahlfeld_index.php?"+modul_id+"&"+action+"&"+wert_header_im_auswahlfeld+"&"+wert_id_ausgewaehlter_datensatz+"&"+wert_direction+"&"+wert_sortiere_nach_header, "auswahlfeld", "height="+fensterhoehe+", width="+fensterbreite+", left="+x_lage+", top="+y_lage+", status=0, dialogHeight=1000, "+fullscreen+" scrollbars=0, resizable=1, menubar=0, toolbar=0, location=0");
}










function dbads_XXX_open_db_check_informer (parameter_array)
/********************************************************************************************/
/* First Releae     : 20.06.2010 - 14:14                                                    */
/* Last Update      : 18.05.2011 - 14:14                                                    */
/* Version          : 7                                                                     */
/********************************************************************************************/
/* Die Routine öffnet eine Fenster zur Information, wo es bei einer der Kundendatenbanken   */
/* zu einer Warnung oder gar Fehler gekommen ist.                                           */
/********************************************************************************************/
{
 var pfad_kenner   = 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-660)/2;
 var fensterlage_x = (fensterbreite-850)/2;


 db_check_informer = window.open ('/'+pfad_kenner+'/system/dbads/phplib/tools/db_check_informer.php?'+db_name+'&'+status+'&'+meldung, 'db_check_informer', 'width=850, 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_passwordfield_focus (parameter_array)
/********************************************************************************************/
/* First Releae     : 18.04.2011 - 16:21                                                    */
/* Last Update      : 18.04.2011 - 17:10                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat ein Passwortfeld angeklickt.                                                */
/********************************************************************************************/
{
 var fieldname  = parameter_array[0];
 var inhaltstyp = parameter_array[1];
 var way        = parameter_array[2];


 switch (inhaltstyp)
  {
   //Einfaches Passwort ohne Klartextcheckbox
   case "password":
   switch (way)
    {
     //Passwortfeld hat Focus bekommen
     case "field_focus":
     document.formular[fieldname].value                            = "";
     document.formular['showfield_'+fieldname].value               = "";
     document.formular['showfield_'+fieldname].style.letterSpacing = "2px";
     document.formular['showfield_'+fieldname].style.fontSize      = "10pt";
     break;

     //Passwortfeld hat Focus verloren
     case "field_blur":
     //Hat der User den Feldinhalt nicht nur einfach angeklickt, sondern den Inhalt auch bereits geändert (etwas Neues eingetippt) ?
     if ((document.formular['showfield_'+fieldname].value != document.formular['restore_'+fieldname].value) && document.formular['showfield_'+fieldname].value.length != 0)
       {
        //ja: Übernimm den neuen Inhalt
        document.formular[fieldname].value = document.formular['showfield_'+fieldname].value;
       }
      else
       {
        //nein: speichere den ursprünglichen Inhalt wieder zurück
        document.formular[fieldname].value = document.formular['restore_'+fieldname].value;
       }

     document.formular['showfield_'+fieldname].value               = "********";
     document.formular['showfield_'+fieldname].style.letterSpacing = "0px";
     document.formular['showfield_'+fieldname].style.fontSize      = "13pt";
     break;
    }
   break;

   //Passwortfeld mit Klartextcheckbox
   case "password_visible_on_demand":
   switch (way)
    {
     //Passwortfeld hat Focus bekommen
     case "field_focus":
     document.formular['showfield_'+fieldname].value               = document.formular[fieldname].value;
     document.formular['cleartext_on_demand_'+fieldname].checked   = true;
     document.formular['showfield_'+fieldname].style.letterSpacing = "2px";
     document.formular['showfield_'+fieldname].style.fontSize      = "10pt";
     break;

     //Passwortfeld oder Checkbox hat Focus verloren
     case "field_blur":
     case "checkbox_blur":
     document.formular['showfield_'+fieldname].value               = "********";
     document.formular['cleartext_on_demand_'+fieldname].checked   = false;
     document.formular['showfield_'+fieldname].style.letterSpacing = "0px";
     document.formular['showfield_'+fieldname].style.fontSize      = "13pt";
     break;

     //Checkbox hat Focus bekommen
     case "checkbox_focus":
     switch (true)
      {
       //Checkbox bereits angekreuzt
       case (document.formular['cleartext_on_demand_'+fieldname].checked):
       document.formular['showfield_'+fieldname].value               = document.formular[fieldname].value;
       document.formular['showfield_'+fieldname].style.letterSpacing = "2px";
       document.formular['showfield_'+fieldname].style.fontSize      = "10pt";
       break;

       //Checkbox nicht angekreuzt
       case (!document.formular['cleartext_on_demand_'+fieldname].checked):
       document.formular['showfield_'+fieldname].value               = "********";
       document.formular['showfield_'+fieldname].style.letterSpacing = "0px";
       document.formular['showfield_'+fieldname].style.fontSize      = "13pt";
       break;
      }
     break;
    }
   break;
  }
}










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      : 09.02.2010 - 14:48                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Spielt den Sound der angegeben ID ab.                                                    */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var sound_id    = parameter_array[1];


 top.document.getElementById('div_'+sound_id).innerHTML = "<embed id="+sound_id+" src=/"+pfad_kenner+"/system/dbads/soundlib/"+sound_id+".mp3 type=audio/x-mp3 autostart=true loop=false height=0 width=0></embed>";
}










function dbads_XXX_remark_choice_auswahl_select_field (parameter_array)
/********************************************************************************************/
/* First Releae     : 28.01.2011 - 14:30                                                    */
/* Last Update      : 26.09.2011 - 17:10                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User bewegt die Maus aus die Liste der Auswahlmöglichkeiten heraus. Dadurch wird nun */
/* die letzte Markierung wieder zurückgenommen.                                             */
/********************************************************************************************/
{
 var max_spalten = parameter_array[0];


 //Wurde bereits eine Zeile markiert ?
 if (zuletzt_markierte_zeile_in_auswahlfeld != -1)
   {
    //ja: färbe die zuletzt markierte Zeile wieder auf die ursprünglichen Farben zurück
    for (spalte=0;spalte<=max_spalten-1;spalte++)
       {
        document.getElementById('zelle_'+zuletzt_markierte_zeile_in_auswahlfeld+'_'+spalte).style.backgroundColor = hintergrundfarbe_zuletzt_markierte_zelle[spalte];
        document.getElementById('zelle_'+zuletzt_markierte_zeile_in_auswahlfeld+'_'+spalte).style.color           = schriftfarbe_zuletzt_markierte_zelle[spalte];
       }

    //Trage auch in die Statuszeile den Eintrag des zuletzt markierten Datensatzes zurück (wenn vorhanden)
    if (top.auswahlfeld_status.document.getElementById('id_des_markierten_datensatzes'))
      {
       top.auswahlfeld_status.document.getElementById('id_des_markierten_datensatzes').innerHTML = "-";
      }
   }
}










function dbads_XXX_read_hidden_tile_informations (parameter_array)
/********************************************************************************************/
/* First Releae     : 08.06.2011 - 15:00                                                    */
/* Last Update      : 08.06.2011 - 15:00                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User hat im Infocenter eine Kachel ausgewählt. Das Content liest dazu in der Kachel  */
/* eventuell vorliegende versteckte Informationen aus und trägt sie in die den Content der  */
/* Kachel ein.                                                                              */
/********************************************************************************************/
{
 var tile = parameter_array[0];


 switch (tile)
  {
   case "tile_content_modulgruppen":
   if (top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alle_aufklappen').checked == true)
     {
      top.servicezugang_infocenter.tile_content.document.getElementById('content_modulgruppen_alle_aufklappen').checked = true;
     }

   if (top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alle_zuklappen').checked == true)
     {
      top.servicezugang_infocenter.tile_content.document.getElementById('content_modulgruppen_alle_zuklappen').checked = true;
     }

   if (top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_additiv_aufklappen').checked == true)
     {
      top.servicezugang_infocenter.tile_content.document.getElementById('content_modulgruppen_additiv_aufklappen').checked = true;
     }

   if (top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alternativ_aufklappen').checked == true)
     {
      top.servicezugang_infocenter.tile_content.document.getElementById('content_modulgruppen_alternativ_aufklappen').checked = true;
     }
   break;
  }
}










function dbads_XXX_reset_countdown (parameter_array)
/********************************************************************************************/
/* First Releae     : 31.03.2010 - 22:57                                                    */
/* Last Update      : 29.01.2011 - 16:01                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* 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)
 switch (window_opener)
  {
   //Starte die Aktion im selben Fenster
   case "window":
   if (top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet'))
     {
      top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet').value = max_time_of_no_activity + 1;
     }
   break;

   //Starte die Aktion im Masterfenster
   case "window_opener":
   if (window.opener.top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet'))
     {
      window.opener.top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet').value = max_time_of_no_activity + 1;
     }
   break;

   //Starte die Aktion im Masterfenster des Masterfensters
   case "window_opener_window_opener":
   if (window.opener.top.window.opener.top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet'))
     {
      window.opener.top.window.opener.top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet').value = max_time_of_no_activity + 1;
     }
   break;

   //Starte die Aktion im Masterfenster
   case "parent.window_opener":
   if (parent.window.opener.top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet'))
     {
      parent.window.opener.top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet').value = max_time_of_no_activity + 1;
     }
   break;

   default: alert ('Fehler in DBads:\n\nDas angegebene Fenster (\"'+window_opener+'\") nicht bekannt !'); break;
  }
}










function dbads_XXX_reset_suche_text_in_auswahlfeld (parameter_array)
/********************************************************************************************/
/* First Releae     : 09.01.2011 - 12:05                                                    */
/* Last Update      : 13.09.2011 - 16:16                                                    */
/* Version          : 6                                                                     */
/********************************************************************************************/
/* Der User hat im Such-Eingabefeld im Fenster des Auswahlfeldes ein Zeichen eingegeben.    */
/********************************************************************************************/
{
 var pfad_kenner                       = parameter_array[0];
 var max_zeilen                        = parameter_array[1];
 var max_spalten                       = parameter_array[2];
 var hintergrundfarbe_dunkel_zelle     = parameter_array[3];
 var hintergrundfarbe_hell_zelle       = parameter_array[4];
 var textfarbe_sortierbar_zelle        = parameter_array[5];
 var textfarbe_unsortierbare_zelle     = parameter_array[6];
 var spalte_unsortierbar               = parameter_array[7];
 var textfarbe_selektierte_zeile       = parameter_array[8];
 var suchfeld_leeren                   = parameter_array[9];
 var max_time_of_no_activity           = parameter_array[10];



 //Setze den Countdown im Hauptfenster zurück
 do_it_dbads ('reset_countdown', max_time_of_no_activity+'&parent.window_opener');

 //Suche die selektierte Zeile anhand der Textfarben der Zellen in Spalte 0
 for (zeile=0;zeile<=max_zeilen-1;zeile++)
    {
     if (top.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_0').style.color == "#"+textfarbe_selektierte_zeile)
       {
        //Selektierte Zeile gefunden !
        selektierte_zeile = zeile;
        break;
       }
    }

 //Färbe alle Zeilen neutral zurück (aufgrund einer etwaigen vorherigen Suche)
 for (zeile=0;zeile<=max_zeilen-1;zeile++)
    {
     //Färbe alle Spalten der Zeile neutral zurück
     for (spalte=0;spalte<=max_spalten-1;spalte++)
        {
         //Hintergrundfarbe
         if (zeile%2==0)
           {
            top.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte).style.backgroundColor = "#"+hintergrundfarbe_dunkel_zelle;
           }
          else
           {
            top.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte).style.backgroundColor = "#"+hintergrundfarbe_hell_zelle;
           }

         //Textfarbe
         if (zeile == selektierte_zeile)
           {
            top.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte).style.color = "#"+textfarbe_selektierte_zeile;
           }
          else
           {
            if ((spalte != "") && (spalte == spalte_unsortierbar))
              {
               top.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte).style.color = "#"+textfarbe_unsortierbare_zelle;
              }
             else
              {
               top.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte).style.color = "#"+textfarbe_sortierbar_zelle;
              }
           }
        }
    }

 //Resette das Suchfeld
 if (suchfeld_leeren == "true")
   {
    top.auswahlfeld_oben.document.getElementById('suchfeld').style.color         = "#ffffff";
    top.auswahlfeld_oben.document.getElementById('suchfeld').style.fontFamily    = "arial";
    top.auswahlfeld_oben.document.getElementById('suchfeld').style.fontSize      = "8pt";
    top.auswahlfeld_oben.document.getElementById('suchfeld').style.fontWeight    = "normal";
    top.auswahlfeld_oben.document.getElementById('suchfeld').style.letterSpacing = "0pt";
    top.auswahlfeld_oben.document.getElementById('suchfeld').value               = "Geben Sie hier ein wonach Sie suchen...";
   }

 //Leere das Feld zur Anzeige wieviel Stellen gefunden wurden (wenn vorhanden)
 if (parent.auswahlfeld_status.document.getElementById('wieviel_funde'))
   {
    parent.auswahlfeld_status.document.getElementById('wieviel_funde').innerHTML = "0";
   }

 //Leere das Feld zur Anzeige wieviel Zeilen gefunden wurden
 parent.auswahlfeld_status.document.getElementById('wieviel_gefundene_zeilen').innerHTML = "0";

 //Scroll das untere Fenster mit Datenzeilen wieder ganz nach oben
 top.auswahlfeld_unten.scrollTo(0,0);

 //Stelle wieder den grünen Punkt dar
 top.auswahlfeld_oben.document.getElementById('ready_indicator').src = '/'+pfad_kenner+'/system/dbads/imagelib/auswahlfeld/ready.png';
}










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_field_colors', 'window&'+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      : 27.07.2011 - 17:46                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* 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
 do_it_dbads ('show_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
 do_it_dbads ('show_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_off');
}










function dbads_XXX_restore_currencyfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 11.10.2008 - 23:51                                                    */
/* Last Update      : 12.02.2011 - 11:10                                                    */
/* 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]);


 default_currency     = document.formular['restore_'+fieldname].value.split(".");
 volle_waehrung       = default_currency[0];
 hundertstel_waehrung = default_currency[1];

 //Wurde in der Datenbank auch korrekt die Hunderstel Währung angegeben ?
 if (hundertstel_waehrung != "")
   {
    //ja: fehlt die führende Null bei der hunderstel Währung ?
    if ((parseInt(hundertstel_waehrung) < 10) && (hundertstel_waehrung.length < 2))
      {
       //ja: stelle dem Werte eine Null voran
       hundertstel_waehrung = "0"+hundertstel_waehrung;
      }
   }
  else
   {
    //nein: manchmal fehlt sie, wenn aus früheren Zeiten nur vollen Zahlen angegeben wurden.
    hundertstel_waehrung = "00";
   }


 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_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
 do_it_dbads ('show_field_colors', 'window&'+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_field_colors', 'window&'+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 mehr eingegeben werden konnten)
 do_it_dbads ('show_field_colors', 'window&'+fieldname+'&fileinfos_'+fieldname+'_restzeichenþ'+spalte+'&rest&sign_off');

 //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
 if (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
   {
    //ja: nimm ihn heraus
    while (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.home_area.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.home_area.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').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_field_colors', 'window&'+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_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
 do_it_dbads ('show_field_colors', 'window&'+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.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
   {
    //ja: nimm ihn heraus
    while (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.home_area.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.home_area.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML = "";
   }
}










function dbads_XXX_restore_pictureinfos_textfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 25.10.2008 - 13:23                                                    */
/* Last Update      : 27.07.2011 - 16:29                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* 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];

 if (inhaltstyp != "floating") {maxlength = parseInt(maxlength);}


 //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_field_colors', 'window&'+fieldname+'&pictureinfos_'+fieldname+'_restzeichenþ'+spalte+'&rest&sign_off');

 //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
 if (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
   {
    //ja: nimm ihn heraus
    while (top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.home_area.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.home_area.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.home_area.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML = "";
   }
}










function dbads_XXX_restore_selectfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 11.10.2008 - 23:51                                                    */
/* Last Update      : 26.09.2011 - 20:28                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname = parameter_array[0];


 //Speichere den Restore-Wert wieder ins Formular zurück.
 document.formular[fieldname].value = document.formular['restore_'+fieldname].value;

 //Ändere die Warnfarben zurück
 do_it_dbads ('show_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_off');
}










function dbads_XXX_restore_textfield_content (parameter_array)
/********************************************************************************************/
/* First Releae     : 26.09.2008 - 17:50                                                    */
/* Last Update      : 27.07.2011 - 15:22                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User hat rechts neben einem Formularfeld auf den Restore-Button gedrückt.            */
/********************************************************************************************/
{
 var fieldname  = parameter_array[0];
 var maxlength  = parameter_array[1];
 var inhaltstyp = parameter_array[2];



 if (inhaltstyp != "floating") {maxlength = parseInt(maxlength);}

 /********************************************************************************************
 Ausfüllen des Feldes mit dem ursprünglichen Feldinhalt
 ********************************************************************************************/
 switch (inhaltstyp)
  {
   /*******************************************************************************************************************
   Dezimales Zahlenfeld
   *******************************************************************************************************************/
   case "floating":
   //Ermittle aus dem Restore-Feld den ursprünglichen Feldwert
   restorefeld_inhalt = document.getElementById('restore_'+fieldname).value;

   if (restorefeld_inhalt != "")
     {
      elemente          = restorefeld_inhalt.split(".");
      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;

      //Berechne die Anzahl der Restzeichen
      elemente                      = maxlength.split(",");
      max_stellen_vorkomma          = parseInt(elemente[0]);
      max_stellen_nachkomma         = parseInt(elemente[1]);
      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;

      //Wert ins letztlich auszuwertende Feld eintragen
      document.formular[fieldname].value = restore_vorkomma + "." + restore_nachkomma;
     }
    else
     {
      //Trage die ursprünglichen Werte wieder ins Feld ein
      document.formular[fieldname+"_vordezimal"].value  = "";
      document.formular[fieldname+"_nachdezimal"].value = "";

      //Berechne die Anzahl der Restzeichen
      elemente              = maxlength.split(",");
      max_stellen_vorkomma  = parseInt(elemente[0]);
      max_stellen_nachkomma = parseInt(elemente[1]);

      //Restzeichen eintragen
      document.getElementById('rest_zeichen_'+fieldname).innerHTML = max_stellen_vorkomma + " , " + max_stellen_nachkomma;

      //Wert ins letztlich auszuwertende Feld eintragen
      document.formular[fieldname].value = "";
     }
   break;

   /*******************************************************************************************************************
   Allgemines Textfeld oder Textarea-Feld
   *******************************************************************************************************************/
   case "numeric":
   case "password":
   case "password_visible_on_demand":
   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;
  }

 //Ändere die Warnfarben zurück
 do_it_dbads ('show_field_colors', 'window&'+fieldname+'&rest_zeichen_'+fieldname+'&rest&sign_off');
 do_it_dbads ('show_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_off');
}










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_field_colors', 'window&'+fieldname+'&legende_'+fieldname+'&changed&sign_on');
}










function dbads_XXX_servicebereich_nicht_abschalten (parameter_array)
/********************************************************************************************/
/* First Releae     : 10.02.2010 - 21:11                                                    */
/* Last Update      : 03.06.2010 - 19:43                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Der User will die Arbeit mit seinem Servicebereich fortsetzen.                           */
/********************************************************************************************/
{
 var pfad_kenner               =          parameter_array[0];
 var sekunden_der_inaktivitaet = parseInt(parameter_array[1]);


 //User mit Sound seinen Buttondruck untermalen...
 do_it_dbads ('play_sound',pfad_kenner+'&sound_3');

 //Finale Meldung (verdunkelter Bildschirm) wieder ausblenden: Bildschirm wird wieder hell
 top.document.getElementById('confirmation_of_selfclose').style.visibility = "hidden";

 //Countdown im Infocenter wieder zurücksetzen indem maximale Zeit ins Feld eingetragen wird (plus 1 Sekunde, weil schon zu Beginn der Countdown-Routine 1 Sekunden abgezogen wird)
 top.servicezugang_infocenter.tile_kacheln.document.getElementById('sekunden_der_inaktivitaet').value = sekunden_der_inaktivitaet + 1;
}










function dbads_XXX_show_field_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 fenster   = parameter_array[0];
 var fieldname = parameter_array[1];
 var what      = parameter_array[2];
 var purpose   = parameter_array[3];
 var status    = parameter_array[4];



 switch (purpose)
  {
   /******************************************************************************************
   Farbänderung bei Muss-ausgefüllt-werden-Feldern, die der User vergessen hat auszufüllen !
   ******************************************************************************************/
   case "missing_content":
   switch (status)
    {
     //Der Zustand wird angezeigt
     case "sign_on":
     font_color       = CONTENT_COLOR_TEXT;
     background_color = CONTENT_COLOR_BACKGROUND_LEGEND_FIELD_MISSING;
     break;

     //Der angezeigte Zustand wird wieder entfernt
     case "sign_off":
     font_color       = CONTENT_COLOR_TEXT;
     background_color = CONTENT_COLOR_BACKGROUND;
     break;
    }
   break;

   /******************************************************************************************
   Farbänderung bei Formularfeldern, deren Inhalt der User soeben verändert hat !
   ******************************************************************************************/
   case "changed":
   switch (status)
    {
     //Der Zustand wird angezeigt
     case "sign_on":
     font_color       = CONTENT_COLOR_TEXT_LEGEND_FIELD_CHANGED;
     background_color = CONTENT_COLOR_BACKGROUND_LEGEND_FIELD_CHANGED;

     switch (fenster)
      {
       case "window":
       //Ist der Feldname des geänderten Feldes noch nicht im versteckten Feld eingetragen ?
       if (top.servicezugang_body.home_formular_kopfzeile.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") == -1)
         {
          //ja: trage ihn ein
          top.servicezugang_body.home_formular_kopfzeile.document.getElementById('fields_of_changed_content').value = top.servicezugang_body.home_formular_kopfzeile.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML = "*";
       break;

       case "opener":
       //Ist der Feldname des geänderten Feldes noch nicht im versteckten Feld eingetragen ?
       if (top.window.opener.top.servicezugang_body.home_formular_kopfzeile.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") == -1)
         {
          //ja: trage ihn ein
          top.window.opener.top.servicezugang_body.home_formular_kopfzeile.document.getElementById('fields_of_changed_content').value = top.window.opener.top.servicezugang_body.home_formular_kopfzeile.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.window.opener.top.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML = "*";
       break;
      }
     break;

     //Der angezeigte Zustand wird wieder entfernt
     case "sign_off":
     font_color       = CONTENT_COLOR_TEXT;
     background_color = CONTENT_COLOR_BACKGROUND;

     //Ist der Feldname des geänderten Feldes im versteckten Feld bereits nach dem Formularaufruf in den Browser geladen worden ?
     if (top.servicezugang_body.home_formular_kopfzeile.document.getElementById('fields_of_changed_content'))
       {
        //Ist der Feldname des geänderten Feldes im versteckten Feld eingetragen ?
        if (top.servicezugang_body.home_formular_kopfzeile.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-") > -1)
          {
           //ja: nimm ihn heraus
           while (top.servicezugang_body.home_formular_kopfzeile.document.getElementById('fields_of_changed_content').value.indexOf(fieldname+"-")>-1) {top.servicezugang_body.home_formular_kopfzeile.document.getElementById('fields_of_changed_content').value=top.servicezugang_body.home_formular_kopfzeile.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.home_formular_kopfzeile.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.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML = "";
          }
       }

     break;
    }
   break;

   /******************************************************************************************
   Farbänderung bei der Restzeichen-Anzeige, wenn der User Änderungen im Feld gemacht hat !
   ******************************************************************************************/
   case "rest":
   switch (status)
    {
     //Der Zustand wird angezeigt
     case "sign_on":
     font_color       = CONTENT_COLOR_TEXT_FIELD_NO_SPACE_LEFT;
     background_color = CONTENT_COLOR_BACKGROUND_FULL_NO_SPACE_LEFT;
     break;

     //Der angezeigte Zustand wird wieder entfernt
     case "sign_off":
     font_color       = CONTENT_COLOR_TEXT;
     background_color = CONTENT_COLOR_BACKGROUND_DUNKEL;
     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
 switch (fenster)
  {
   case "window":
   top.servicezugang_body.home_area.document.getElementById(what).style.color           = font_color;
   top.servicezugang_body.home_area.document.getElementById(what).style.backgroundColor = background_color;
   break;

   case "opener":
   top.window.opener.top.servicezugang_body.home_area.document.getElementById(what).style.color           = font_color;
   top.window.opener.top.servicezugang_body.home_area.document.getElementById(what).style.backgroundColor = background_color;
   break;
  }
}










function dbads_XXX_show_fieldinfo_in_infocenter (parameter_array)
/********************************************************************************************/
/* First Releae     : 17.06.2011 - 18:04                                                    */
/* Last Update      : 20.07.2011 - 12:34                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Der User hat links neben einem Formularfeld auf das Fragezeichen gedrückt.               */
/********************************************************************************************/
{
 var pfad_kenner                 = parameter_array[0];
 var background_farbe            = parameter_array[1];
 var border_farbe_on_click       = parameter_array[2];
 var modul_id                    = parameter_array[3];
 var feldname                    = parameter_array[4];
 var muss_ausgefuellt_werden     = parameter_array[5];
 var wie_muss_ausgefuellt_werden = parameter_array[6];
 var category                    = parameter_array[7];
 var inhaltstyp                  = parameter_array[8];
 var size                        = parameter_array[9];


 //Ränder des bisherigen Tiles entfärben
 bisheriges_tile = top.servicezugang_infocenter.document.getElementById('presented_tile').innerHTML;
 top.servicezugang_infocenter.tile_kacheln.document.getElementById(bisheriges_tile).style.border = "solid 4px #"+background_farbe;

 //Trage in das versteckte Feld die Informationen welcher Kacheln gerade zu sehen sind (zur späteren Auswertung)
 top.servicezugang_infocenter.document.getElementById('presented_tile').innerHTML = "tile_felderlaeuterungen";

 //Trage im Header den Tile-Header ein
 top.servicezugang_infocenter.document.getElementById('tile_header').innerHTML = "Feld-Erläuterungen:";

 //Tile mit einem farbigen Rand kennzeichnen, dass es angeklickt ist
 top.servicezugang_infocenter.tile_kacheln.document.getElementById('tile_felderlaeuterungen').style.border = "solid 4px #"+border_farbe_on_click;

 //Scrolle das Kachel-Frame soweit, dass die Kachel "Tile-Felderlaeuterungen" sichtbar wird. "scrollIntoView" ginge
 //dabei auch, aber leider verschiebt sich unter Firefox die gesamte Webseite um ca. 20 Pixel nach oben aus dem
 //sichtbaren Bereich raus. Aus mache ich hier bis aus Weiteres ein zielgenaues Scrollen. Das funktioniert natürlich
 //nur soweit wie die Kacheln nicht in ihren Positionen verändert werden.
 top.servicezugang_infocenter.tile_kacheln.scrollTo(0,300);

 //Rufe im Infocenter den zugehörigen Tile-Content auf
 top.servicezugang_infocenter.tile_content.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/infocenter/tile_contents/felderlaeuterungen.php?"+modul_id+"&"+feldname+"&"+muss_ausgefuellt_werden+"&"+wie_muss_ausgefuellt_werden+"&"+category+"&"+inhaltstyp+"&"+size;
}










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.home_area.document.getElementById('id_select_field_choices').style.visibility == "visible")
     {
      top.servicezugang_body.home_area.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.home_area.document.getElementById('id_select_field_choices').style.width = "58px";
        }

      top.servicezugang_body.home_area.document.getElementById('id_select_field_choices').style.visibility = "visible";
      top.servicezugang_body.home_area.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.home_area.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_module (parameter_array)
/********************************************************************************************/
/* First Releae     : 26.09.2008 - 17:50                                                    */
/* Last Update      : 23.08.2011 - 13:02                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User will eine Modulgruppe öffnen oder ein Modul aufrufen, dass Kennwortgeschützt    */
/* ist: zeige die Loginfelder mit den jeweiligen Texten an.                                 */
/********************************************************************************************/
{
 var modul_id    = parameter_array[0];
 var action      = parameter_array[1];
 var modulgruppe = parameter_array[2];
 var navistring  = parameter_array[3];
 var pfad_kenner = parameter_array[4];


 while (modulgruppe.indexOf("Æ")>-1) {modulgruppe=modulgruppe.replace("Æ"," ");}
 while (navistring.indexOf("Æ")>-1)  {navistring=navistring.replace("Æ"," ");}

 //Rufe das Zugangsdaten-Fenster für die Module auf
 top.servicezugang_body.home_area.zugangsdaten_fenster.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/zugangsdaten_fenster/mit_zugangsdaten_fuer_module.php?"+modul_id+"&"+action+"&"+modulgruppe+"&"+navistring;
}










function dbads_XXX_show_loginfields_modulegroup (parameter_array)
/********************************************************************************************/
/* First Releae     : 23.08.2011 - 14:34                                                    */
/* Last Update      : 23.08.2011 - 14:34                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Der User will eine Modulgruppe öffnen oder ein Modul aufrufen, dass Kennwortgeschützt    */
/* ist: zeige die Loginfelder mit den jeweiligen Texten an.                                 */
/********************************************************************************************/
{
 var header      = parameter_array[0];
 var type        = parameter_array[1];
 var pfad_kenner = parameter_array[2];


 //Rufe das Zugangsdaten-Fenster für die Module auf
 top.servicezugang_body.home_area.zugangsdaten_fenster.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/zugangsdaten_fenster/mit_zugangsdaten_fuer_modulgruppen.php?"+header+"&"+type+"&"+pfad_kenner;
}










function dbads_XXX_speichern (parameter_array)
/********************************************************************************************/
/* First Releae     : 24.09.2008 - 14:20                                                    */
/* Last Update      : 08.05.2011 - 23:34                                                    */
/* Version          : 5                                                                     */
/********************************************************************************************/
/* Der User will die Formularinhalte neu abspeichern. Vorab läuft die Plausibiltäts-        */
/* kontrolle.                                                                               */
/********************************************************************************************/
{
 var modulgruppe            = parameter_array[0];
 var navistring             = parameter_array[1];
 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 (modulgruppe+"."+navistring)
  {
   case "Sonstiges.Rundmail senden":
   frage                  = "datensatz_speichern_1";
   plausbilitaetspruefung = false;
   break;

   case "Sonstiges.Zugriffe hochladen":
   frage                  = "datensatz_speichern_3";
   plausbilitaetspruefung = false;
   break;

   default:
   switch (what)
    {
     case "picture": frage = "datensatz_speichern_4"; break;
     case "file":    frage = "datensatz_speichern_5"; break;

     default:
     if (top.servicezugang_body.document.getElementById('change_indicator_in_grauer_zeile').innerHTML == "*")
       {
        frage = "datensatz_speichern_6";
       }
      else
       {
        frage = "datensatz_speichern_7";
       }
     break;
    }
   plausbilitaetspruefung = true;
   break;
  }

 //Rückfrage an User
 antwort = do_it_dbads ('system_message_to_user',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.home_area.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.home_area.document.formular.submit();
      }
   }
}










function dbads_XXX_start_countdown_sicherheitsabschaltung (parameter_array)
/********************************************************************************************/
/* First Releae     : 10.02.2010 - 21:11                                                    */
/* Last Update      : 20.04.2011 - 21:00                                                    */
/* Version          : 4                                                                     */
/********************************************************************************************/
/* Es erscheint die Meldung, dass aus Sicherheitsgründen der Servicebereich in wenigen      */
/* Sekunden automatisch geschlossen wird.                                                   */
/********************************************************************************************/
{
 var pfad_kenner     =          parameter_array[0];
 var anzahl_sekunden = parseInt(parameter_array[1]);


 //Ist das finale Coundownfenster (verdunkelter Bildschirm) zu sehen ?
 if (top.document.getElementById('confirmation_of_selfclose').style.visibility == "visible")
   {
    //ja: ziehe weiterhin 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',pfad_kenner+'&sound_1');
      }
     else
      {
       //nein: ist der Countdown bei -4 angelangt ?
       if (anzahl_sekunden == -4)
         {
          //ja: der Servicebereich wird geschlossen
          top.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/end_of_service.php";
         }
      }

    zeitschleife_sicherheit = setTimeout("do_it_dbads('start_countdown_sicherheitsabschaltung','"+pfad_kenner+"&"+anzahl_sekunden+"')",1000);
   }
  else
   {
    //nein: der User hat den finalen Countdown ab gebrochen indem er schlicht den verdunkelten Bildschirm weggeklickt hat
   }
}










function dbads_XXX_start_of_function (parameter_array)
/********************************************************************************************/
/* First Releae     : 24.09.2008 - 12:43                                                    */
/* Last Update      : 29.07.2011 - 23:59                                                    */
/* Version          : 7                                                                     */
/********************************************************************************************/
/* Der User hat auf einen der Funktionsbuttons gedrückt.                                    */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var modul_id    = parameter_array[1];
 var action      = parameter_array[2];
 var id          = parameter_array[3];


 //Gibt es den Abbruch-Knopf ?
 if (top.servicezugang_navigation.navigation_funktionen.document.getElementById('navigationsbutton_abbrechen'))
   {
    //ja: dies ist nur beim Anlegen eines neuen Datensatzes so. Und da der User sich das Formular
    //neu anzeigen lassen möchte, kann dies nur bedeuten, dass er auf den Abbruch-Button gedrückt
    //hat und somit das Anlegen des neuen Datensatzes vorzeitig abbrechen möchte. Drückt der User nun
    //bei der Rückfrage auf "OK" so wird brutal das Formular mit dem ersten Datensatz des Moduls
    //neu angezeigt und damit das Eingabeformular für den neuen Datensatz verworfen!
    antwort = do_it_dbads ('system_message_to_user','neuen_datensatz_abbrechen');
   }
  else
   {
    //nein: starte die Funktion
    antwort = true;
   }


 if (antwort)
   {
    //Zeige dem User die Eieruhr, solange bis die Webseite fertig aufgebaut ist
    top.servicezugang_body.document.body.style.cursor = "wait";

    //Starte die Funktion
    switch (action)
     {
      case "abbrechen":
      top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/content.php?"+modul_id+"&open_in_content&"+id+"&true";
      break;

      case "new_record":
      top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+id+"&true";
      break;

      default:
      top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+id+"&false";
      break;
     }
   }
}










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 pfad_kenner   = parameter_array[0];

 var fensterbreite = screen.width;
 var fensterhoehe  = screen.height;
 var fensterlage_y = (fensterhoehe-660)/2;
 var fensterlage_x = (fensterbreite-750)/2;


 start_of_login = window.open ('/'+pfad_kenner+'/system/dbads/phplib/login.php?true&'+pfad_kenner, '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      : 15.07.2011 - 15:03                                                    */
/* Version          : 14                                                                    */
/********************************************************************************************/
/* Der User will die Arbeit mit einem Servicebereich-Modul beginnen.                        */
/********************************************************************************************/
{
 var pfad_kenner  = parameter_array[0];
 var routine      = parameter_array[1];
 var modul_id     = parameter_array[2];
 var action       = parameter_array[3];
 var datensatz_id = parameter_array[4];
 var modulgruppe  = parameter_array[5];
 var navistring   = parameter_array[6];


 switch (action)
  {
   /*****************************************************************************************
   Das Modul wird im Content-Fenster von DBads geöffnet
   *****************************************************************************************/
   case "open_in_content":

   //Berücksichtige Sonderzeichen
   while (modulgruppe.indexOf("Æ")>-1) {modulgruppe=modulgruppe.replace("Æ","&nbsp;");}
   while (modulgruppe.indexOf(" ")>-1) {modulgruppe=modulgruppe.replace(" ","&nbsp;");}
   while (modulgruppe.indexOf("-")>-1) {modulgruppe=modulgruppe.replace("-","&minus;");}

   while (navistring.indexOf("Æ")>-1)  {navistring=navistring.replace("Æ","&nbsp;");}
   while (navistring.indexOf(" ")>-1)  {navistring=navistring.replace(" ","&nbsp;");}
   while (navistring.indexOf("-")>-1)  {navistring=navistring.replace("-","&minus;");}

   //Setze den Modulnamen in die glasgrüne Zeile ein
   top.servicezugang_body.document.getElementById('modulanzeige_in_grauer_zeile').innerHTML = modulgruppe+"."+navistring;

   //Baue die Navigation mit den Funktionen zum jeweiligen Modul auf
   top.servicezugang_navigation.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/navigation/navigation_index.php?"+modul_id+"&"+action;

   //Starte das Modul: Body/Content
   top.servicezugang_body.home_area.document.location.href = "/"+pfad_kenner+"/system/dbads/phplib/content.php?"+modul_id+"&"+action+"&"+datensatz_id+"&true";

   //Trage im Infocenter und dort in der Kachel "Modul-ID" die zugehörige Modul-ID ein.
   top.servicezugang_infocenter.tile_kacheln.document.getElementById('modul_id').innerHTML = modul_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      : 28.07.2011 - 13:13                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User will in einem Popup-Fenster eine Webpräsenz anschauen.                          */
/* Mit dem Aufruf der Webseite aus dem Servicebereich heraus wird die Session-Variable      */
/* "Pfad-Kenner" verändert. Das hätte auch Auswirkungen auf die Funktionalität des Service- */
/* bereiches. Daher wird - mit dem Aufruf der Webseite - der Servicebereich geschlossen.    */
/* Mit dem Neuaufruf des Servicebereiches durch den User wird die Session-Variable wieder   */
/* richtig gesetzt.                                                                         */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];
 var kunde       = parameter_array[1];
 var routine     = parameter_array[2];
 var modul_id    = parameter_array[3];


 //Wurde in der Datenbank module.db eine Routine für dieses Popup-Fenster angegeben ?
 if (routine!="")
   {
    antwort = confirm ('Mit dem Aufruf der Webseite werden das Fenster von www.temporyx.de und das Fenster des Servicebereiches geschlossen.\n\nMöchten Sie die Webseite nun aufrufen ?');

    //Ist der Benutzer einverstanden, dass der Servicebereich geschlossen und die Webseite angezeigt wird ?
    if (antwort)
      {
       //ja: Schliesse den Servicebereich
       top.window.close();

       //Öffne das Fenster mit der Webseite
       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 !');
   }
}










function dbads_XXX_start_of_service (parameter_array)
/********************************************************************************************/
/* First Releae     : 06.09.2008 - 12:51                                                    */
/* Last Update      : 21.07.2011 - 20:06                                                    */
/* Version          : 7                                                                     */
/********************************************************************************************/
/* Der User will den Servicebereich betreten.                                               */
/********************************************************************************************/
{
 var pfad_kenner_servicezugang = parameter_array[0];

 var fensterbreite             = screen.width;
 var fensterhoehe              = screen.height;
 var fensterlage_y             = ((fensterhoehe-800)/2)-50;
 var fensterlage_x             = (fensterbreite-1014)/2;


 win = window.open ('/'+pfad_kenner_servicezugang+'/system/dbads/phplib/index.php', 'service_bereich', 'width=1014, height=800, left='+fensterlage_x+', top='+fensterlage_y+', status=0, fullscreen=1, statusbar=0, directories=0, location=0, scrollbars=0, resizable=1, menubar=0, toolbar=0');
}










function dbads_XXX_start_suche_text_in_auswahlfeld (parameter_array)
/********************************************************************************************/
/* First Releae     : 23.06.2011 - 15:55                                                    */
/* Last Update      : 23.06.2011 - 15:55                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Suche im Auswahlfeld wird gestartet.                                                 */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];


 //Setze den roten Punkt zur Anzeige dass die Suche begonnen hat
 document.getElementById('ready_indicator').src='/'+pfad_kenner+'/system/dbads/imagelib/auswahlfeld/busy.png';

 //Setze die Startzeit
 startzeit_suche        = new Date();
 start_uhr_sekunde      = startzeit_suche.getSeconds();
 start_uhr_millisekunde = startzeit_suche.getMilliseconds();
}










function dbads_XXX_submit_formular (parameter_array)
/********************************************************************************************/
/* First Releae     : 28.06.2011 - 21:07                                                    */
/* Last Update      : 28.06.2011 - 21:07                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* Der User hat im Login-Fenster auf "OK" gedrückt.                                         */
/********************************************************************************************/
{
 var formular = parameter_array[0];


 abschicken = false;

 //Wurde das Formular angegeben, das abgeschickt werden soll ?
 if (formular != "")
   {
    //ja: prüfe, ob es zu denen gehört deren Formularfelderinhalt vor dem Absenden auf Plausibilität geprüft werden sollen
    switch (formular)
     {
      case "email_an_temporyx_absenden": abschicken = do_it_dbads ('check_form_email_an_temporyx_senden',''); break;
      case "login_to_dbads":             abschicken = do_it_dbads ('check_form_login_to_dbads',          ''); break;
      case "no_fields":                  abschicken = true;                                                   break; //Abschicken des Formulars geht auf jeden Fall. weil es nicht einhergeht mit dem Ausfüllen von Feldern
      case "open_module":                abschicken = do_it_dbads ('check_form_open_module',             ''); break;
     }
   }
  else
   {
    //nein: abschicken des Formulars geht auf jeden Fall
    abschicken = true;
   }

 //Kann das Formular abgeschickt werden ?
 if (abschicken)
   {
    //ja: raus damit !
    document.formular.submit();
   }
}










function dbads_XXX_suche_text_in_auswahlfeld (parameter_array)
/********************************************************************************************/
/* First Releae     : 09.01.2011 - 12:05                                                    */
/* Last Update      : 27.09.2011 - 23:49                                                    */
/* Version          : 6                                                                     */
/********************************************************************************************/
/* Der User hat im Such-Eingabefeld im Fenster des Auswahlfeldes ein Zeichen eingegeben.    */
/********************************************************************************************/
{
 var pfad_kenner                       = parameter_array[0];
 var max_zeilen                        = parameter_array[1];
 var max_spalten                       = parameter_array[2];
 var hintergrundfarbe_dunkel_zelle     = parameter_array[3];
 var hintergrundfarbe_hell_zelle       = parameter_array[4];
 var textfarbe_sortierbar_zelle        = parameter_array[5];
 var textfarbe_unsortierbare_zelle     = parameter_array[6];
 var spalte_unsortierbar               = parameter_array[7];
 var textfarbe_selektierte_zeile       = parameter_array[8];
 var textfarbe_gefundene_zeilen        = parameter_array[9];
 var hintergrundfarbe_gefundene_zeilen = parameter_array[10];
 var max_time_of_no_activity           = parameter_array[11];



 //Ermittle den Suchstring
 suchstring = document.getElementById('suchfeld').value;

 //Hat sich der Suchbegriff gegenüber dem letzten Suchbegriff geändert ?
 if (suchstring != letzter_suchbegriff_im_auswahlfeld)
   {
    //ja: neuer "letzter_suchbegriff..." ist der jetzige Suchbegriff
    letzter_suchbegriff_im_auswahlfeld = suchstring;

    //Setze alle eventuell vorangegangenen Suchergebnisse wieder zurück
    do_it_dbads ('reset_suche_text_in_auswahlfeld', pfad_kenner+"&"+max_zeilen+"&"+max_spalten+"&"+hintergrundfarbe_dunkel_zelle+"&"+hintergrundfarbe_hell_zelle+"&"+textfarbe_sortierbar_zelle+"&"+textfarbe_unsortierbare_zelle+"&"+spalte_unsortierbar+"&"+textfarbe_selektierte_zeile+"&false&"+max_time_of_no_activity);

    //Wurde ein Suchstring angegeben ?
    if (suchstring != "")
      {
       //Durchsuche alle Zeilen
       erste_gefundene_zeile       = 0;
       suchstring_gefunden         = false;
       anzahl_funde                = 0;
       array_der_gefundenen_zeilen = new Array();

       //Wurde angegeben, dass keine bestimmte Spalte durchsucht werden soll ?
       if (document.getElementById('spaltenauswahl').value == "-1")
         {
          //ja: es wird als von der ersten bis zur letzten Spalte durchsucht
          von_spalte = 0;
          bis_spalte = max_spalten-1;
         }
        else
         {
          //nein: lege fest, welche Spalte durchsucht werden soll
          spaltennummer = parseInt(document.getElementById('spaltenauswahl').value);
          von_spalte = spaltennummer;
          bis_spalte = spaltennummer;
         }

       //Durchsuche jede Zeile
       for (zeile=0;zeile<=max_zeilen-1;zeile++)
          {
           //Durchsuche die angegebenen Spalten der Zeile
           for (spalte=von_spalte;spalte<=bis_spalte;spalte++)
              {
               //Ermittle den Zellenwert
               zellenwert = parent.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte).value;

               //Soll NICHT die Groß- und Kleinschreibung beachtet werden ?
               if (!parent.auswahlfeld_oben.document.getElementById('gross_und_kleinschreibung').checked)
                 {
                  //ja: mache alles zu Kleinbuchstaben
                  suchstring = suchstring.toLowerCase();
                  zellenwert = zellenwert.toLowerCase();
                 }

               //Kommt der Suchstring im Zellenwert vor ?
               if (zellenwert.indexOf(suchstring) > -1)
                 {
                  //ja: wird NICHT nach einem ganzen Wort gesucht ?
                  if (!parent.auswahlfeld_oben.document.getElementById('ganzes_wort').checked)
                    {
                     //ja: schon mal eine Stelle gefunden !
                     suchstring_gefunden = true;

                     //Färbe Zeile
                     for (spalte_gefundene_zelle=0;spalte_gefundene_zelle<=max_spalten-1;spalte_gefundene_zelle++)
                        {
                         parent.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte_gefundene_zelle).style.backgroundColor = "#"+hintergrundfarbe_gefundene_zeilen;
                         parent.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte_gefundene_zelle).style.color           = "#"+textfarbe_gefundene_zeilen;
                        }

                     //Merke dir die neue Anzahl Funde überhaupt
                     anzahl_funde++;

                     //Ermittle inwieviele Zeilen der String gefunden wurde
                     zeile_schon_notiert = false;

                     //Ermittle ob die aktuelle Zeile bereits in dem Array der gefundenen Zeilen eingetragen wurde
                     for (element=0; element<=array_der_gefundenen_zeilen.length-1; element++)
                        {
                         zeile_im_array = array_der_gefundenen_zeilen[element];
                         if (zeile_im_array == zeile)
                           {
                            zeile_schon_notiert = true;
                            break;
                           }
                        }

                     //Wurde die aktuelle Zeile noch nicht ins Array eingetragen ?
                     if (!zeile_schon_notiert)
                       {
                        //ja: trage sie ein
                        array_der_gefundenen_zeilen.push(zeile);
                       }

                     if (erste_gefundene_zeile == 0)
                       {
                        erste_gefundene_zeile = zeile;
                       }
                    }
                   else
                    {
                     //nein: stimmt die Länge des Zellenwertes mit der Länge des Suchstrings überein ?
                     switch (true)
                      {
                       //Suchstring gleich am Anfang der Zelle prüfen
                       case (zellenwert.indexOf(suchstring) == 0):
                       //Suchstringlänge = Zellenwertlänge ?
                       if (zellenwert.length == suchstring.length)
                         {
                          //ja: Suchstring gefunden
                          suchstring_gefunden = true;
                         }
                        else
                         {
                          //nein: Unterschiede durch Sonderzeichen ?
                          switch (true)
                           {
                            case (zellenwert.indexOf(suchstring+" ") > -1): suchstring_gefunden = true; break;
                            case (zellenwert.indexOf(suchstring+")") > -1): suchstring_gefunden = true; break;
                            case (zellenwert.indexOf(suchstring+"-") > -1): suchstring_gefunden = true; break;
                            case (zellenwert.indexOf(suchstring+".") > -1): suchstring_gefunden = true; break;
                            case (zellenwert.indexOf(suchstring+",") > -1): suchstring_gefunden = true; break;
                            case (zellenwert.indexOf(suchstring+"=") > -1): suchstring_gefunden = true; break;
                           }
                         }
                       break;

                       //Suchstring gleich am Ende der Zelle prüfen
                       case (zellenwert.indexOf(suchstring) == zellenwert.length-suchstring.length):
                       switch (true)
                        {
                         case (zellenwert.indexOf(" "+suchstring) > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("("+suchstring) > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("-"+suchstring) > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("."+suchstring) > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf(","+suchstring) > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("="+suchstring) > -1): suchstring_gefunden = true; break;
                        }
                       break;

                       case (zellenwert.length == suchstring.length): //Gesamter Zellenwert gleich Suchstring
                       break;

                       //Suchstring innerhalb des Zellenwertes prüfen
                       default:
                       switch (true)
                        {
                         case (zellenwert.indexOf(" "+suchstring+" ") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("("+suchstring+")") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf(" "+suchstring+")") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("("+suchstring+" ") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("-"+suchstring+"-") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf(" "+suchstring+"-") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("-"+suchstring+" ") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("."+suchstring+".") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf(" "+suchstring+".") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("."+suchstring+" ") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf(","+suchstring+",") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf(" "+suchstring+",") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf(","+suchstring+" ") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("="+suchstring+"=") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf(" "+suchstring+"=") > -1): suchstring_gefunden = true; break;
                         case (zellenwert.indexOf("="+suchstring+" ") > -1): suchstring_gefunden = true; break;
                        }
                       break;
                      }

                     //Stelle gefunden ?
                     if (suchstring_gefunden)
                       {
                        //ja:
                        suchstring_gefunden = true;

                        //Färbe Zeile
                        for (spalte_gefundene_zelle=0;spalte_gefundene_zelle<=max_spalten-1;spalte_gefundene_zelle++)
                           {
                            parent.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte_gefundene_zelle).style.backgroundColor = "#"+hintergrundfarbe_gefundene_zeilen;
                            parent.auswahlfeld_unten.document.getElementById('zelle_'+zeile+'_'+spalte_gefundene_zelle).style.color           = "#"+textfarbe_gefundene_zeilen;
                           }

                        //Merke dir die neue Anzahl Funde überhaupt
                        anzahl_funde++;

                        //Ermittle inwieviele Zeilen der String gefunden wurde
                        zeile_schon_notiert = false;

                        //Ermittle ob die aktuelle Zeile bereits in dem Array der gefundenen Zeilen eingetragen wurde
                        for (element=0; element<=array_der_gefundenen_zeilen.length-1; element++)
                           {
                            zeile_im_array = array_der_gefundenen_zeilen[element];
                            if (zeile_im_array == zeile)
                              {
                               zeile_schon_notiert = true;
                               break;
                              }
                           }

                        //Wurde die aktuelle Zeile noch nicht ins Array eingetragen ?
                        if (!zeile_schon_notiert)
                          {
                           //ja: trage sie ein
                           array_der_gefundenen_zeilen.push(zeile);
                          }

                        if (erste_gefundene_zeile == 0)
                          {
                           erste_gefundene_zeile = zeile;
                          }
                       }
                    }
                 }
              }
          }

       //Wurde der gesuchte Suchstring gefunden ?
       if (suchstring_gefunden)
         {
          //ja: färbe zur Erkennung das Suchfeld zurück
          document.getElementById('suchfeld').style.color = "#ffffff";

          //Scrolle das Fenster vertikal herunter bis zur 1. Fundstelle
          scroll_action = "";
          switch (true)
           {
            case (erste_gefundene_zeile<7): scroll_action = "top"; break;
            case (erste_gefundene_zeile>7): scroll_action = "foreward"; erste_gefundene_zeile = erste_gefundene_zeile-7; break;
           }

          switch (scroll_action)
           {
            case ("top"):      top.window.auswahlfeld_unten.scrollTo(0,0);                                                            break;
            case ("foreward"): parent.auswahlfeld_unten.document.getElementById('zeile_'+erste_gefundene_zeile).scrollIntoView(true); break;
           }
         }
        else
         {
          //nein: färbe zur Erkennung das Suchfeld
          document.getElementById('suchfeld').style.color = "#ff0000";
         }


       //Trage die Anzahl der gefundenen Zeilen ins Feld ein
       parent.auswahlfeld_status.document.getElementById('wieviel_gefundene_zeilen').innerHTML = array_der_gefundenen_zeilen.length;

       //Trage die Anzahl der Funde ins Feld ein (wenn vorhanden)
       if (parent.auswahlfeld_status.document.getElementById('wieviel_funde'))
         {
          parent.auswahlfeld_status.document.getElementById('wieviel_funde').innerHTML = anzahl_funde;
         }
      }
     else
      {
       //nein: färbe das Suchfeld neutral
       document.getElementById('suchfeld').style.color = "#ffffff";

       top.window.auswahlfeld_unten.scrollTo(0,0);
      }

    //Suche abgeschlossen, stelle wieder den grünen Punkt dar
    document.getElementById('ready_indicator').src = '/'+pfad_kenner+'/system/dbads/imagelib/auswahlfeld/ready.png';

    //Setze die Endezeit der Suche
    endezeit_suche        = new Date();
    ende_uhr_sekunde      = endezeit_suche.getSeconds();
    ende_uhr_millisekunde = endezeit_suche.getMilliseconds();

    //Berechne die Zeitdifferenz
    startzeit     = start_uhr_sekunde + (start_uhr_millisekunde/1000);
    endezeit      = ende_uhr_sekunde  + (ende_uhr_millisekunde/1000);
    zeitdifferenz = endezeit - startzeit;
    if (zeitdifferenz < 0) {zeitdifferenz = zeitdifferenz + 60}

    //Zeitdifferenz auf 3 Stellen nach dem Komma begrenzen
    zeitdifferenz = Math.ceil(zeitdifferenz*1000)/1000;
    zeitdifferenz = zeitdifferenz.toString();;

    //Zeitdifferenzenwert formatieren
    elemente = zeitdifferenz.split(".");
    switch (elemente[1].length)
     {
      case 1: elemente[1] = elemente[1] + "00"; break;
      case 2: elemente[1] = elemente[1] + "0";  break;
     }

    //Errechnete Suchzeit
    zeit_der_suche = elemente[0] + "." + elemente[1];

    //Ausgabe der Suchzeit im oberen Teil des Auswahlfeldes
    top.auswahlfeld_status.document.getElementById('suchzeit').innerHTML = zeit_der_suche;
   }
  else
   {
    //Suche abgeschlossen, da erst gar nicht gesucht wurde: stelle wieder den grünen Punkt dar
    document.getElementById('ready_indicator').src = '/'+pfad_kenner+'/system/dbads/imagelib/auswahlfeld/ready.png';
   }
}










function dbads_XXX_system_message_to_user (parameter_array)
/********************************************************************************************/
/* First Releae     : 30.04.2011 - 13:57                                                    */
/* Last Update      : 12.09.2011 - 11:40                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Die Routine gibt eine Rückfrage an den User aus.                                         */
/********************************************************************************************/
{
 var what          = parameter_array[0];
 var textelement_1 = parameter_array[1];
 var textelement_2 = parameter_array[2];
 var textelement_3 = parameter_array[3];
 var textelement_4 = parameter_array[4];



 //Verdunkle den Bildschirm
 top.document.getElementById('dark_curtain').style.visibility = "visible";

 switch (what)
  {
   case "bild_eine_pos_hoeher":      antwort = confirm ('Möchten Sie das Bild \"'+textelement_1+'\" um eine Position nach oben verschieben ?'); break;
   case "bild_eine_pos_tiefer":      antwort = confirm ('Möchten Sie das Bild \"'+textelement_1+'\" um eine Position nach unten verschieben ?'); break;
   case "bild_loeschen":             antwort = confirm ('Möchten Sie das Bild \"'+textelement_1+'\" unwiderruflich löschen ?'); break;
   case "datensatz_eine_pos_hoeher": antwort = confirm ('Möchten Sie den Datensatz (ID='+textelement_1+') um eine Position nach oben verschieben ?'); break;
   case "datensatz_eine_pos_tiefer": antwort = confirm ('Möchten Sie den Datensatz (ID='+textelement_1+') um eine Position nach unten verschieben ?'); break;
   case "datensatz_loeschen":        antwort = confirm ('Möchten Sie diesen Datensatz unwiderruflich löschen ?\n\n\nACHTUNG:\n\nSind diesem Datensatz, neben den im Formular ersichtlichen Feldwerten, weitere Informationen (z.B. Bilder und/oder Files) zugeordnet, so werden auch sie unwideruflich gelöscht !'); break;
   case "datensatz_speichern_1":     antwort = confirm ('Möchten Sie Ihre Rundmail jetzt abschicken ?'); break;
   case "datensatz_speichern_3":     antwort = confirm ('Möchten Sie jetzt die Zugriffsdateien hochladen ?'); break;
   case "datensatz_speichern_4":     antwort = confirm ('Möchten Sie das Bild speichern ?');  break;
   case "datensatz_speichern_5":     antwort = confirm ('Möchten Sie die Datei speichern ?'); break;
   case "datensatz_speichern_6":     antwort = confirm ('Möchten Sie diesen Datensatz speichern ?'); break;
   case "datensatz_speichern_7":     antwort = confirm ('Möchten Sie diesen Datensatz\n\n- obwohl Sie keine Änderungen vorgenommen haben -\n\nspeichern ?\n\n\nWenn Sie nun auf \"OK\" drücken, wird lediglich das Datum in \"Zuletzt geändert\" auf das aktuelle Datum gesetzt.'); break;
   case "file_eine_pos_hoeher":      antwort = confirm ('Möchten Sie das File \"'+textelement_1+'\" um eine Position nach oben verschieben ?'); break;
   case "file_eine_pos_tiefer":      antwort = confirm ('Möchten Sie das File \"'+textelement_1+'\" um eine Position nach unten verschieben ?'); break;
   case "file_loeschen":             antwort = confirm ('Möchten Sie die diesem Datensatz zugeordnete Datei\n\n\"'+textelement_1+'\"\n\nunwiderruflich aus der Datenbank löschen ?\n\n\nAchtung: Diesem File eventuell zugeordnete File-Informationen werden damit ebenfalls gelöscht!\n\n'); break;
   case "funktion_beginnen":         antowrt = confirm ('Möchten Sie das Anlegen des neuen Datensatzes vorzeitig abbrechen ?\n\n(wenn Sie nun auf \"OK\" drücken, wird der neue Datensatz nicht gespeichert!)'); break;
   case "modul_beenden_1":           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 !'); break;
   case "modul_beenden_2":           antwort = confirm ('Möchten Sie das Modul beenden und zurück in die Startseite Ihres Servicebereiches gelangen ?'); break;
   case "neuen_datensatz_abbrechen": antwort = confirm ('Möchten Sie das Anlegen des neuen Datensatzes vorzeitig abbrechen ?\n\nFalls Sie bereits in die leeren Formularfelder Informationen eingetragen haben, gehen diese bei einem Abbruch verloren!'); break;
   case "servicebereich_beenden":    antwort = confirm ('Möchten Sie Ihre Arbeiten im Servicebereich beenden ?'); break;
   case "submodul_beenden_1":        antwort = confirm ('Sie haben Änderungen im Formular vorgenommen,\ndie noch nicht gespeichert sind !\n\nMöchten Sie dennoch das Modul beenden und ins vorherige Modul \"'+textelement_1+'\" wechseln ?\n\n________________________________________________\n\nWenn Sie auf "OK" drücken, werden Ihre Änderungen nicht gepeichert und das Formular geschlossen !'); break;
   case "submodul_beenden_2":        antwort = confirm ('Möchten Sie das Modul beenden und zurück ins vorherige Modul \"'+textelement_1+'\" wechseln ?'); break;
  }

 //Helle den Bildschirm wieder auf
 top.document.getElementById('dark_curtain').style.visibility = "hidden";

 return antwort;
}










function dbads_XXX_useraktion_quittung (parameter_array)
/********************************************************************************************/
/* First Releae     : 28.04.2011 - 16:56                                                    */
/* Last Update      : 05.06.2011 - 22:35                                                    */
/* Version          : 3                                                                     */
/********************************************************************************************/
/* Der User hat ein Aktions abgeschlossen. Diese Routine schreibt dazu in das Select-Feld   */
/* in "index.php" eine entsprechende Meldung ein. Früher (bis 28.04.2011) erfolgte dazu     */
/* eine JavaScript-Meldung am Bildschirm. Das war zunächst auch gut so, hatte aber den Nach-*/
/* teil, dass der User diese immer bestätigen musste. Das war bei vielen Tätigkeiten mit    */
/* der Zeit nervtötend!                                                                     */
/********************************************************************************************/
{
 var pfad_kenner = parameter_array[0];


 //User mit Sound auf seine abgeschlossene Aktion hinweisen
 do_it_dbads ('play_sound', pfad_kenner+'&sound_4');
}










function dbads_XXX_way_to_expand_modulgroups (parameter_array)
/********************************************************************************************/
/* First Releae     : 08.06.2011 - 14:31                                                    */
/* Last Update      : 08.06.2011 - 14:31                                                    */
/* Version          : 1                                                                     */
/********************************************************************************************/
/* Die Routine nimmt die Klicks des Users im Content der Kachel "Modulgruppe" entgegen.     */
/********************************************************************************************/
{
 var way = parameter_array[0];


 switch (way)
  {
   case "additiv":    top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_additiv_aufklappen').checked = true;    break;
   case "alternativ": top.servicezugang_infocenter.tile_kacheln.document.getElementById('kachel_modulgruppen_alternativ_aufklappen').checked = true; break;

   default:
   alert ('Fehler in DBads:\n\nDie Angabe über die Art (\"'+way+'\") wie Modulgruppen aufgeklappt werden sollen, ist unbekannt !\n\nZugelassen sind derzeit nur \"additiv\" und \"alternativ\".');
   break;
  }
}










function submit_on_enter_dbads (ereignis)
/********************************************************************************************/
/* First Releae     : 05.06.2010 - 15:07                                                    */
/* Last Update      : 27.04.2011 - 17:39                                                    */
/* Version          : 2                                                                     */
/********************************************************************************************/
/* 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
   }
}

