/* 
============================================================
DEFINITION VON KONSTANTEN 
============================================================
*/
var regex_DateTimeSeperator = /\.|,|-|:|\/| /;
var regex_DateTimeTody = /heute|today/i;

var CONST_KEY_RETURN = 13;
var CONST_KEY_ESCAPE = 27;
var CONST_KEY_CURSOR_DOWN = 40;
var CONST_KEY_CURSOR_UP = 38;
var CONST_KEY_TAB = 9;

var CONST_BASE_URL = 'http://wwwneu.taxi4me.net/';
/* 
============================================================
DEFINITION VON GLOBALEN VARIABLEN 
============================================================
*/
var VAR_EL_POPUP;
var VAR_EL_POPUPIFRAME;
var VAR_EL_POPUP_CONTENT;
var VAR_EL_SETFOCUSON;
var VAR_EL_POPUPFMSIFEHLERTO;
var VAR_HELP_TOPICS = new Array();
/*
============================================================
INITIALISERIUNG DER GLOBALEN VARIABLEN 
============================================================
*/
function OnPageLoad() {
   VAR_EL_POPUP = document.getElementById('DIV_POPUP');
   VAR_EL_POPUPIFRAME = document.getElementById('IFRAME_POPUP');
   var el_fmsifehler= document.getElementById('DIV_ERR_FMSIFEHLER');
   if (el_fmsifehler && (el_fmsifehler.innerHTML != '')) {
      if (VAR_EL_POPUPFMSIFEHLERTO) {
         PosPopupToElementId(VAR_EL_POPUPFMSIFEHLERTO);
      }
      else {
         PosPopupToElementId('form_header');
      }
      ShowHinweis('DIV_ERR_FMSIFEHLER');
   }
}



/* ===========================================================================
ERWEITERUNGEN FUER DAS DATE - Objekt
=========================================================================== */

Date.prototype.ToFMSDate = Date_ToFMSDate;
Date.prototype.FromFMSDate = Date_FromFMSDate;
Date.prototype.DiffDays = Date_DiffDays;
/* Wandelt das Datum ins FMS-Format (tt.mm.jjjj) um */
function Date_ToFMSDate() {
   var month = this.getMonth() + 1;
   return this.getDate() + '.' + month + '.' + this.getFullYear();
}

/* Setzt das Datum anhand des FMS-Formats (tt.mm.jjjj) */
function Date_FromFMSDate(adatestring) {
   var list = adatestring.split(regex_DateTimeSeperator);
   if (list.length != 3) {
   }
   list[1]--;
   this.setDate(list[0]);
   this.setMonth(list[1]);
   this.setFullYear(list[2]);
}

/* Berechnet die Differenz in Tagen zu einem Datum */
function Date_DiffDays(otherdate) {
   var elapsed = this - otherdate;
   var days = elapsed / 1000 / 24 / 3600;
   return days;   
}

/* ===========================================================================
ERWEITERUNGEN FUER DAS  Object - Objekt
=========================================================================== */
/*Object.prototype.__followLink = Object_followLink;
function Object_followLink() {
   if (this.tagName && this.tagName.match(/^a$/i) && (this.href != '')) {
      location = this.href;
   }
}
*/
/* 
============================================================
FUNKTIONEN FUER UERBERPRUEFUNG VON DATUM UND ZEIT
============================================================
*/
/* Ueberprueft ob der Wert in dem Textfeld das korrekte Datumsformat hat, und zeigt gegebenenfalls eine Fehlermeldung an */
function checkDate(atxtfld, allowempty) {
   var s = atxtfld.value;
   if ((s.length == 0) && allowempty) {
      return;
   }
   
   var list = s.split(regex_DateTimeSeperator);
   if (GetElement('DIV_POPUP').style.display == 'block') {
   }
   else {
      PosPopupToElement(atxtfld);
   }

   if (list.length != 3) {
      ShowHinweis('DIV_ERR_INVALID_DATE');
      VAR_EL_SETFOCUSON = atxtfld;
      return;
   }
   if (isNaN(parseInt(list[0])) || isNaN(parseInt(list[1])) || isNaN(parseInt(list[2]))) {
      ShowHinweis('DIV_ERR_INVALID_DATE');
      VAR_EL_SETFOCUSON = atxtfld;
      return false;      
   }

   if (list[0].length == 1) {
      list[0] = "0" + list[0];
   }   
   
   if (list[1].length == 1) {
      list[1] = "0" + list[1];
   }
   if (list[2].length < 4) {
      list[2] = 2000 + parseInt(list[2]);
   }

   atxtfld.value = list.join(".");
}
/* Uberprueft ob der Wert in dem Textfeld das korrekte Zeitfirmat hat, und zeigt gegebenenfalls eine Fehlermeldung an */
function checkTime(atxtfld, allowempty) {
   var s = atxtfld.value;
   var list;
   if ((s.length == 0) && allowempty) {
      return;
   }
   if ((s.length >= 3) && (s.length <=4) && (parseInt(s) == s)) {
      list = s.match(/^(\d*?)(\d\d)$/);
      list.shift(); 
   }
   else {
      list = s.split(regex_DateTimeSeperator);
   }
   PosPopupToElement(atxtfld);

   if (list.length != 2) {
      ShowHinweis('DIV_ERR_INVALID_TIME');
      VAR_EL_SETFOCUSON = atxtfld;
      return false;
   }
   if ((list[0]>24) || (list[1]>59)) {
      ShowHinweis('DIV_ERR_WRONG_TIME');
      VAR_EL_SETFOCUSON = atxtfld;
      return false;
   }
   if (list[0].length < 2) {
      list[0] = "0" + list[0];
   }
   if (list[1].length < 2) {
      list[1] = "0" + list[1];
   }
   atxtfld.value = list.join(":");
   return false;
}

/* Ueberprueft ob der Wert ein numerischer ist, (erlaubte Zeichen: +-.0123456789) */
function checkNumber(atxtfld, allowempty) {
   var s = atxtfld.value;
   if ((s.length == 0) && allowempty) {
      return;
   }
   if (s.match(/^[\d+-.]*$/)) {
   }
   else {
      PosPopupToElement(atxtfld);
      ShowHinweis('DIV_ERR_INVALID_NUMBER');
      VAR_EL_SETFOCUSON = atxtfld;
   }
   return false;
}

function checkInteger(atxtfld, allowempty) {
   var s = atxtfld.value;
   if ((s.length == 0) && allowempty) {
      return;
   }
   if (isNaN(parseInt(s)) || (parseInt(s) != parseFloat(s))) {
      PosPopupToElement(atxtfld);
      ShowHinweis('DIV_ERR_INVALID_INTEGER');
      VAR_EL_SETFOCUSON = atxtfld;
   }
}
/* Ueberprueft ob ein Feld leer ist */
function IsFieldEmpty(aid) {
   var el = document.getElementById(aid);
   if (el) {
      return el.value == '';
   }
   else {
   }
}

/* Uberprueft ob eines der angegebenen Felder leer ist */
function IsAnyFieldEmpty() {
   var isanyempty = false;
   for (var i=0; i<arguments.length; i++) {
     isanyempty = isanyempty || IsFieldEmpty(arguments[i]);
   }
   return isanyempty;
}
/*
============================================================
FUNKTIONEN FUER ANZEIGE VON POPUP-INFORMATIONEN / FEHLERN 
============================================================
*/

function ShowHelp(id_help, id_posto) {
   var el_posto = GetElement(id_posto);
   var pos = CalcElementPosition(el_posto);
   var el_help = GetElement(id_help);
   var el_iframe_help = GetElement('iframe_help');

   if (el_help.style.display != 'block') {
      el_help.style.display = 'block';
      el_iframe_help.style.visibility = 'visible';
      var ael;
      while (ael = VAR_HELP_TOPICS.pop()) {
         ael.style.display = 'none';
      }
      el_help.style.display = 'block';
      VAR_HELP_TOPICS.push(el_help);

      pos[0] = pos[0] - el_help.clientWidth; 
      el_help.style.left = pos[0] + 'px';
      el_help.style.top  = pos[1] + 'px';
      el_iframe_help.style.left = pos[0] + 'px';
      el_iframe_help.style.top  = pos[1] + 'px';
      el_iframe_help.style.height = el_help.clientHeight;
   }
   else {
      el_iframe_help.style.visibility = 'hidden';
      el_help.style.display = 'none';
   }
   return false; 
   
}
/* Positioniert das Popupdiv zu dem durch aid angegebenen Element, eventuell mit Offset */
function PosPopupToElementId(aid, offsetx, offsety) {
   PosPopupToElement(document.getElementById(aid), offsetx, offsety);
}

/* Positioniert das Popupdiv zu dem angegebenen Element, eventuell mit Offset */
function PosPopupToElement(ael, offsetx, offsety) {
   var pos = CalcElementPosition(ael);
   if (offsetx) {
      pos[0] += offsetx;
   }
   if (offsety) {
      pos[1] += offsety;
   }
   PosPopupToXY(pos[0], pos[1]);
}

function PosPopupToXY(x, y) { 
   if (isTypeDefined(typeof VAR_EL_POPUP.style.left)) {
      VAR_EL_POPUP.style.left = x + 'px';
      VAR_EL_POPUP.style.top  = y + 'px';
   }
   x++;
   y++;
   if (VAR_EL_POPUPIFRAME) {
      VAR_EL_POPUPIFRAME.style.left = x + 'px';
      VAR_EL_POPUPIFRAME.style.top  = y + 'px';
   }
}

/* Positioniert das Element eltoshowid an die Position von eltoposid mit einem eventuellen Offset */
function PosElementToElementId(eltoshowid, eltoposid, offsetx, offsety) {
   var pos = CalcElementPositionId(eltoposid);
   var el = GetElement(eltoshowid);
   if (offsetx) {
      pos[0] += offsetx;
   }
   if (offsety) {
      pos[1] += offsety;
   }  
   el.style.left = pos[0] + 'px';
   el.style.top = pos[1] + 'px';
}


/* Zeigt das Popup -Div an */
function ShowPopup() {
   VAR_EL_POPUP.style.display = 'block';
   var w = VAR_EL_POPUP.clientWidth;
   var h = VAR_EL_POPUP.clientHeight;
   if (VAR_EL_POPUPIFRAME) { 
      VAR_EL_POPUPIFRAME.style.width   = w + 'px';
      VAR_EL_POPUPIFRAME.style.height  = h + 'px';
      VAR_EL_POPUPIFRAME.style.visibility = 'visible';
   }
   
}

function HidePopup() {
   VAR_EL_POPUP.innerHTML = '';
   VAR_EL_POPUP.style.display = 'none';
   if (VAR_EL_POPUPIFRAME) {
      VAR_EL_POPUPIFRAME.style.visibility  = 'hidden';
   }
   FocusElement();
}

function ShowPopupDialog(asrcid) {
   var el_src = GetElement(asrcid);
   var el_ie_helpdiv = document.createElement('DIV');
   el_ie_helpdiv.innerHTML = el_src.innerHTML;
   VAR_EL_POPUP.innerHTML = '';
   VAR_EL_POPUP.appendChild(el_ie_helpdiv);
   var iBody_ClientWidth = parseInt(document.body.clientWidth);
   var iBody_ClientHeight = parseInt(document.body.clientHeight);
   ShowElement('POPUPCONTAINER');
   var iLeft = iBody_ClientWidth  / 2 - parseInt(el_src.clientWidth) / 2;
   var iTop  = iBody_ClientHeight / 2 - parseInt(el_src.clientHeight) / 2;
   HideElement('POPUPCONTAINER');
   if (document.all) {
      
   }
   PosPopupToXY(iLeft, iTop);
   ShowPopup();
}

function SetHinweisText(atext) {
   var el_hinweis = GetElement('DIV_HINWEIS');
   var el_hinweis_content = GetElement('DIV_HINWEIS_CONTENT');
   el_hinweis_content.innerHTML = atext;
}

function ShowHinweisText(atext) {
   SetHinweisText(atext);
   var el_hinweis = GetElement('DIV_HINWEIS');
/*   var el_ie_helpdiv = document.createElement('DIV');
   VAR_EL_POPUP.innerHTML ='';
   el_ie_helpdiv.innerHTML = el_hinweis.innerHTML;
   VAR_EL_POPUP.appendChild(el_ie_helpdiv);
*/
   VAR_EL_POPUP.innerHTML = el_hinweis.innerHTML;
   ShowPopup();
   var el_close = GetElement('A_HINWEIS_CLOSE');
   if (el_close) {
      el_close.focus();
   }

}

function ShowHinweis(asrcid) {
   var el_src = GetElement(asrcid);
   ShowHinweisText(el_src.innerHTML);
}


function Popup_OnKeyDown(event) {
   if ( (event.keyCode == CONST_KEY_ESCAPE) ||
        (event.keyCode == CONST_KEY_RETURN) ) {
      HidePopup();
      FocusElement();
   }
   return false;
}



function FocusElement() {
   if (VAR_EL_SETFOCUSON) {
      VAR_EL_SETFOCUSON.focus();
//      VAR_EL_SETFOCUSON = undefined;
   }
}


function changeStylesheet(which) {
   var url = '/css/t4me_' + which + '.css';
   document.getElementById('stylesheet').href= url;
   document.cookie = "T4MEFONTSIZE=" + url;
}

function changeClass(aelement, aclassname) {
   var oldclassname = aelement.getAttribute('oldclassname');
   if (! oldclassname) {
      aelement.setAttribute('oldclassname', aelement.className);
      aelement.className = aclassname;
   }
   else {
      if (oldclassname == aelement.className) {
         aelement.className = aclassname;   
      }
      else {
         aelement.className = oldclassname;
      }
   }
}

function isTypeDefined(atype) {
   return (atype != 'undefined') && (atype != 'unknown');
}

function GetElement(aid) {
   var el;
   if (isTypeDefined(typeof document.getElementById)) {
      el = document.getElementById(aid);
   }
   else if (isTypeDefined(typeof document.all)) {
      el = document.all[aid];
   }
   if (el) {
      return el;
   }
   else {
//      throw ("Element mit id: " + aid + " ist nicht definiert");
   }
}

function SetFieldValue(aid, avalue) {
   var el = GetElement(aid);

   if (el) {
      var hasTagName = isTypeDefined(typeof el.tagName);

      if (hasTagName) {
      if (el.tagName.match(/^input$/i)) {
         if (  el.type.match(/^text$/i)   ||
               el.type.match(/^search$/i) ||
               el.type.match(/^hidden$/i) ||
               el.type.match(/^password$/i) )  {
            el.value = avalue;
         }
         if (el.type.match(/^checkbox$/i)) {
            if (el.value == avalue) {
               el.checked = true;
            }
            else {
               el.checked = false;
            }
         }
      } 
      else if (el.tagName.match(/^textarea$/i)) {
         el.value = avalue;
      }
      else if (el.tagName.match(/^select$/i)) {
         var bFound = false;
         for (var i=0; i<el.options.length && ! bFound; i++) {
            if (el.options[i].value == avalue)  {
               el.options[i].selected = true;
               bFound = true;
            }
         }
      }
      }
      else {
         if (  el.type.match(/^text$/i)   ||
               el.type.match(/^hidden$/i) ||
               el.type.match(/^password$/i) )  {
            el.value = avalue;
         }
         if (el.type.match(/^checkbox$/i)) {
            if (el.value == avalue) {
               el.checked = true;
            }
            else {
               el.checked = false;
            }
         }
         else if (el.type.match(/^select-one$/)) {
            var bFound = false;
            for (var i=0; i<el.options.length && ! bFound; i++) {
               if (el.options[i].value == avalue) {
                  el.options[i].selected = true;
                  bFound = true;
               }
            }
         }
 
      }
   }
}

function GetFieldValue(aelid) {
   var el = GetElement(aelid);
   var result;
   if (el) {
      var hasTagName = isTypeDefined(typeof el.tagName);

      if (hasTagName) {
      if (el.tagName.match(/^input$/i)) {
         if (  el.type.match(/^text$/i)      ||
               el.type.match(/^search$/i)    ||
               el.type.match(/^hidden$/i)    ||
               el.type.match(/^password$/i) ) {
            result = el.value;
         }
         else if (  el.type.match(/^checkbox$/i))  {
            if (el.checked) {
               result = el.value;
            }
         }
         else if (el.type.match(/^radio$/i)) {
            
         }
      }
      else if (el.tagName.match(/^textarea$/i)) {
         result = el.value;
      }
      else if (el.tagName.match(/^select$/i)) {
         if (el.selectedIndex > -1) {
            result = el.options[el.selectedIndex].value;
         }
      }
      }
      else {
         if (  el.type.match(/^text$/i)      ||
               el.type.match(/^hidden$/i)    ||
               el.type.match(/^password$/i) ) {
            result = el.value;
         }
         else if (  el.type.match(/^checkbox$/i))  {
            if (el.checked) {
               result = el.value;
            }
         }
         else if (el.type.match(/^radio$/i)) {
            
         }
         else if (el.type.match(/^select-one$/i)) {
            if (el.selectedIndex > -1) {
               result = el.options[el.selectedIndex].value;
            }
         }
      }
   }
   return result;
}

function IsRequiredOK(el) {
   var result = true;
   if (el) {
      if (el.getAttribute('required') == 1) {
         if (  el.tagName.match(/^input$/i) ) { 
            if (  el.type.match(/^text$/i)     ||
                  el.type.match(/^hidden$/i)   ||
                  el.type.match(/^password$/i) ) { 
               if (el.value == '') {
                  result = false;
               }
            }
         }
         else if (el.tagName.match(/^textarea$/i)) {
            if (el.value == '') {
               result = false;
            }
         }
      }
   }
   return result;
   
}


function ShowElement(aid, type) {
   var el = document.getElementById(aid);
   type = (type) ? type : 'block';
   if (el) {
      el.style.display = type;
   }
   else {
//      throw ("Element mit id :" + aid + " ist nicht definert");
   }
}

function tryToFocusElement() {
   var el;
   for (var i=0; i<arguments.length && ! el; i++) {
      el = GetElement(arguments[i]);
      if (el && (el.style.display != 'none') && el.disabled == false) { 
         el.focus();
      }
   }
}

function GetContent(aid) {
   var el = document.getElementById(aid);
   if (el) {
      return el.innerHTML;
   }
   return "";
}
/* Hilfsfunktion zum setzen des innerHTML eines select-elements, HACK fuer InternetExplorer */
function SetSelectContent(aid, atext) {
   var el = document.getElementById(aid);
   if (el) {
      if (document.all) {
         el.innerHTML = '<option>-</option>' + atext;
         if (isTypeDefined(typeof el.outerHTML)) {
            el.outerHTML = el.outerHTML;
         }
      }
      else {
         el.innerHTML = atext;
      }
   }
}

function SetContent(aid, atext) {
   var el = document.getElementById(aid);
   if (el) {
      el.innerHTML = atext;
   }
}

function SetContentAndExecScript(aid, atext) {
   var el = document.getElementById(aid);
   if (el) {
      var div = document.createElement('div');
      div.innerHTML = atext;
      el.appendChild(div);
   }
}

function EvalScriptsFromText(atext) {
   atext = atext.replace(/\n|\r/g, '');
   var scriptblocks = atext.match(/<script.*?>(.*?)<\/script>/g);
   if (scriptblocks) {
      var re = /<script.*?>(.*?)<\/script>/;
      for (var i=0; i<scriptblocks.length; i++) {
         var s = scriptblocks[i];
         s = s.replace(re, "$1");
         var el_script = document.createElement('script');
         el_script.type = 'text/javascript';
         try {
            el_script.appendChild(document.createTextNode(s));
         }
         catch(ex) {
            el_script.text = s;
         }
         var el_head = document.getElementsByTagName('head')[0] || document.documentElement;
         el_head.insertBefore(el_script, el_head.firstChild);
         el_head.removeChild(el_script);
      } 
   } 
}


function HideElement(aid) {
   var el = document.getElementById(aid);
   if (el) {
      el.style.display = 'none';
   }
}

function SetContentFromId(adstid, asrcid, show) {
   SetContent(adstid, GetContent(asrcid));
   if (show) {
      ShowElement(adstid, show);
   }
}
/* ========================================================
FUNKTIONEN ZUM ENABLEN DISABLEN VON FELDERN
======================================================== */
function EnableElementId(aid, enable) {
   var el = GetElement(aid);
   if (el) {
      EnableElement(el, enable);
   }
}

function IsElementIdEnabled(aid) {
   var el = GetElement(aid);
   var result = false
   if (el) {
      result = !el.disabled;
   }
   return result;
}
function GetAttribute(ael, aattname) {
   var result;
   if (ael) {
      try {
         result = ael.getAttribute(aattname);      
      }  
      catch(e) {
      }
   }
   return result;
}
function EnableElement(ael, enable) {
   if (ael) {
      if (isTypeDefined(typeof ael.getAttribute)) {
         /* var is_enabled = enable && !(ael.getAttribute('defaultdisabled') == 1); */
         var defaultdisabled = (GetAttribute(ael, 'defaultdisabled') == 1);
         var is_enabled = enable && !defaultdisabled;
         ael.disabled = ! is_enabled;
      }
      else {
         /* kein defaultdisabled */
         ael.disabled = ! enable;
      }
/*      ael.disabled = !enable; */
   }
}

function EnableFieldsetId(aid, enable) {
   var el_fs = document.getElementById(aid);
   EnableFieldset(el_fs, enable);
}

function EnableFieldset(el_fs, enable) {
   if (el_fs) {
      EnableElementList(el_fs.getElementsByTagName('input'),      enable);
      EnableElementList(el_fs.getElementsByTagName('select'),     enable);
      EnableElementList(el_fs.getElementsByTagName('button'),     enable);
      EnableElementList(el_fs.getElementsByTagName('textarea'),   enable);
      EnableElementList(el_fs.getElementsByTagName('a'),          enable);
   }
}

function EnableElementList(list, enable) {
   for (var i=0; i<list.length; i++) {
     EnableElement(list[i], enable);
   }
}

function DoLink(ael, afunction) {
   if (!ael.disabled) {
   }
}

function switchById(aid) {
   var el = document.getElementById(aid);
   if (el) {
      if (el.style.display == 'none') {
         el.style.display = 'block';
      }
      else {
         el.style.display = 'none';
      }
   }
}

function showAlternate(id1, id2) {
   switchById(id1);
   switchById(id2);
   return false;
}

function CalcElementPosition(el) {
   var x = el.offsetLeft;
   var y = el.offsetTop;

   while (el) {
      if (isTypeDefined(typeof el.offsetParent)) {
         el = el.offsetParent;
         if (el && isTypeDefined(typeof el.offsetLeft) && isTypeDefined(typeof el.offsetTop)) {     
            x += el.offsetLeft;
            y += el.offsetTop;
         }
      }
      else {
         el = undefined;
      }
   }      
   return new Array(x,y);
}

function CalcElementPositionId(aid) {
   return CalcElementPosition(GetElement(aid));
}

function CalcElementHeight(aid, aidbelow) {
   var pos_aid = CalcElementPositionId(aid);
   var pos_below = CalcElementPositionId(aidbelow);
   var height = pos_below[1] - pos_aid[1];
   return height;
}

function DoRemoteRequest(url, method, data, onready) {
   var oRequest;
   if (window.XMLHttpRequest) {
      oRequest = new window.XMLHttpRequest();
   }
   else {
      oRequest = new ActiveXObject("Microsoft.XMLHTTP");
   }
   oRequest.open(method, url, true);
   oRequest.onreadystatechange = function() {
      if (oRequest.readyState == 4) {
         if (onready) {
            onready();
         }
      }
   };
   if (data && (method == "POST" )) {
      oRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      oRequest.setRequestHeader("Content-length", data.length);
   }
   if (data) {
      oRequest.send(data);
   }
   else {
      oRequest.send(null);
   }
   return oRequest;
}


function PostFormToRemoteRequest(url, method, aform, onready) {
   var data = "";
   for (var i=0; i<aform.elements.length; i++ ) {
      var el = aform.elements[i];
      if (el.tagName.match(/^input$/i)) {
         if (el.type) {
            if ( el.type.match(/^text$/i)     || 
                 el.type.match(/^hidden$/i)   || 
                 el.type.match(/^password$/i) 
            ) {
               data += el.name + "=" + encodeURIComponent(el.value) + "&";
            }
            else if ( el.type.match(/^radio$/i) ) {
            }
            else if ( el.type.match(/^checkbox$/i) ) {
               if (el.checked) {
                  data += el.name + "=" + encodeURIComponent(el.value) + "&";
               }
            }
         }
      }
      else if (el.tagName.match(/^textarea$/i)) {
         data += el.name + "=" + encodeURIComponent(el.value) + "&";
      }
      else if (el.tagName.match(/^select$/i)) {
         for (var j=0; j<el.options.length; j++) {
            if (el.options[j].selected) {
               data += el.name + "=" + encodeURIComponent(el.options[j].value) + "&";
            }
         }
      }
      else if (el.tagName.match(/^button$/i)) {
         data += el.name + "=" + encodeURIComponent(el.value) + "&";
      }
   }
//   alert(data);
   return DoRemoteRequest(url, method, data, onready);
}
/* ============================================================================
FUNKTIONEN FUER AUSWAHL
============================================================================ */
function ShowAuswahl(aInnerHTML) {
   VAR_EL_POPUP.innerHTML = aInnerHTML;
   ShowPopup();
   var fld_auswahl = GetElement('fld_auswahl');
   if (fld_auswahl) {
      fld_auswahl.focus();
   }
}


function HideAuswahl() {
   HidePopup();
}

function SelectFirstAuswahlElement() {
   var el_auswahl0 = GetElement('auswahl0');
   if (el_auswahl0) {
      el_auswahl0.focus();
   }

   var el_auswahltable = GetElement('auswahltable');
   var result = -1; 
   if (el_auswahltable) {
      var anz = el_auswahltable.getAttribute('anzahl');
      result = anz;
      if (anz == 0) {
         HideAuswahl();
         ShowHinweis('DIV_ERR_KEINEINTRAGGEFUNDEN');
      }
      else if (anz == 1) {
         if (el_auswahl0) {
            el_auswahl0.onclick();
            HideAuswahl();
         }
      }
   }
   return result;
}



function Auswahl_OnKeyDown(event, ael, OnEnterAction) {
   if (event.keyCode == CONST_KEY_RETURN) {
      switchById('auswahl');
      OnEnterAction(ael);
      return false;
   }
   if (event.keyCode == CONST_KEY_ESCAPE) {
      switchById('auswahl');
      FocusElement();
      return false;
   }
   if (event.keyCode == CONST_KEY_CURSOR_DOWN) {
      var i = parseInt(ael.getAttribute('index')) + 1;
      var el = GetElement('auswahl' + i);
      if (el) { 
         el.focus();
      }
      event.cancelBubble = true;
      return false;
   }
   
   if (event.keyCode == CONST_KEY_CURSOR_UP) {
      var i = parseInt(ael.getAttribute('index')) - 1;
      var el = GetElement('auswahl' + i);
      if (el) {
         el.focus();
      }
      event.cancelBubble = true;
      return false;
   }
}

function Auswahl_OnDblClick(event) {
   switchById('auswahl');
}


function Auswahl_OnRowClick(atr, aclass) {
   var el = atr.parentNode;
   if (isTypeDefined(typeof el.rows)) {
      for (var i=0; i<el.rows.length; i++) {
         el.rows[i].className = el.rows[i].getAttribute('defaultclass');
      }
   }
   else {
      for (var i=0; i<el.children.length; i++) {
         var loctr = el.children[i];
         loctr.className = loctr.getAttribute('defaultclass');
      }
   }
   atr.className = aclass;
}

function Index_OnLoad() {
   GetElement('loginname').focus();   
}

function switchLangImage(lang, onoff) {
   if (onoff) {
       GetElement('lang_' + lang).src = CONST_BASE_URL + '/images/flag_' + lang + '_o.gif';
   }
   else {
      GetElement('lang_' + lang).src = CONST_BASE_URL + '/images/flag_' + lang + '_d.gif';
   }
}


var VAR_LISTROWSFORPOPUP = new Array();

function ClearListRows() {
   var arow;
   while(arow = VAR_LISTROWSFORPOPUP.pop()) {
      arow.className = arow.getAttribute('defaultclass');
   }
}

function SelectListRowById(aid) {
   ClearListRows();
   var el_tr = GetElement(aid);
   VAR_LISTROWSFORPOPUP.push(el_tr);
   el_tr.className = 'selected';
   var pos = CalcElementPosition(el_tr);
   pos[1] += el_tr.clientHeight;
   return pos;
   
}


function getPageFrom(aindex) {
   var el = GetElement('von_anzahl');
   if (el) {
      el.value = aindex;
      el.form.submit();
   }
   return false;
}

function setAnzahlProSeite(anzahl) {
   var el = GetElement('anzahl_pro_seite');
   if (el) {
      el.value = anzahl;
      getPageFrom(1);
   }
   return false;
}
var VAR_HINWEIS_IS_MOUSEDOWN = false;
var VAR_POS_EL_POPUP;
var VAR_OFFSET_EL_POPUP_MOUSE = new Array(0,0);
function HINWEIS_ON_MOUSEDOWN(event) {
   VAR_HINWEIS_IS_MOUSEDOWN = true;
   VAR_POS_EL_POPUP = CalcElementPosition(VAR_EL_POPUP);
   VAR_OFFSET_EL_POPUP_MOUSE[0] = event.clientX - VAR_POS_EL_POPUP[0];
   VAR_OFFSET_EL_POPUP_MOUSE[1] = event.clientY - VAR_POS_EL_POPUP[1];
   return false;
}

function HINWEIS_ON_MOUSEUP(event) {
   VAR_HINWEIS_IS_MOUSEDOWN = false;
   return false;
}

function DOCUMENT_ON_MOUSEMOVE(event) {
   if (VAR_HINWEIS_IS_MOUSEDOWN) {
      var left = (event.clientX - VAR_OFFSET_EL_POPUP_MOUSE[0]);        
      var top  = (event.clientY - VAR_OFFSET_EL_POPUP_MOUSE[1]);
      VAR_EL_POPUP.style.left = left + 'px';
      VAR_EL_POPUP.style.top  = top + 'px';
      if (VAR_EL_POPUPIFRAME) {
         VAR_EL_POPUPIFRAME.style.left = left + 'px';
         VAR_EL_POPUPIFRAME.style.top  = top + 'px';
      }
      return false;
   }
   return true;
}

function SetCursorToEnd(ael) {
   var val = ael.value;
   ael.value = '';
   setTimeout(function() {
      ael.value = val;
   }, 5);
}

