/* Version 2.0 18.02.2003 */
/* Version 2.1 03.04.2003  verbesserte datumsvervollstaendigung*/
/* Version 2.2 02.10.2003  verbesserte datumsvervollstaendigung*/
/* Version 2.3 19.11.2003  verbesserte datumsvervollstaendigung (replace funktion)*/

function autocomplete(formfeld,vorgabestring,nuroptionenerlaubt)
 {
   var eingabe ;
   var suchergebnis ;
   var objekt ;
   var zielzuweisung ;
   objekt = "window.document.EINGABEFORM." + formfeld + ".value" ;
   eingabe = eval(objekt) ;
   if (eingabe != "")
   {
     suchergebnis = finde(eingabe,vorgabestring) ;
     if (nuroptionenerlaubt == 1 || suchergebnis != "")
     {
       if (suchergebnis != "")
       {
       zielzuweisung = objekt + " = suchergebnis" ;
       eval(zielzuweisung) ;
       }
        else
       {
         var fokus ;
         fokus = "window.document.EINGABEFORM." + formfeld + ".focus()" ;
         window.setTimeout(fokus,1) ;
       }

     } /* ende nuroptionenerlaubt */
   } /* ende if eingabe =! "" */
 } /* ende autocomplete */

function finde(suchtext,suchstring) 
 {
   var pos1 ;
   var pos2 ;
   var ret ;
   ret = "" ;
   pos1 = -1 ;
   pos2 = -1 ;
   pos1 = suchstring.indexOf("|" + suchtext) ;
   pos2 = suchstring.indexOf("|",pos1 + 1) ;
   if (pos1 > -1 && pos2 > -1)
    { ret = suchstring.substring(pos1 + 1,pos2) ; }
   return ret ;
 } /* ende finde */

function getoptval(r,f,e)
 {
   var l ;
   var i ;
   var sel ;
   var obj ;
   var ret ;

   if (r == '')
   { obj = 'this.document.' + f + '.' + e ; }
    else
   { obj = 'parent.' + r + '.document.' + f + '.' + e ; }

   eval('l = ' + obj + '.length;') ;

   for (i=0 ; i < l ; i++)
   {
     eval('sel = ' + obj + '.options[' + i + '].selected;') ;

     if (sel == true) 
     { eval('ret = ' + obj + '.options[' + i + '].value;') };

   } /* ende for*/

 return ret ;
 } /* ende getoptval */

function mkda(ts,actdate)
{
  var d ;
  var t ;
  var m ;
  var c ;
  var j ;
  var tval ;
  var r ;
  var actday ;
  var actmonth ;
  var actyear ;
  var actcent ;
  var pos1 ;
  var zeit ;
  var p1 ;
  var p2 ;

/* Alle Punkte und Dopplepunkte entfernen */

   ts = replace(ts,'.','') ;
   ts = replace(ts,':','') ;

   
  if (ts.length >= 1 && ts.indexOf('.') == -1)
  {

   actday = actdate.substring(0,2) ;
   actmonth = actdate.substring(3,5) ;
   actyear = actdate.substring(6,10) ;
   actcent = actyear.substring(0,2) ;
   actyear = actyear.substring(2,4) ;

   l = ts.length ;

   /* ein + oder ein - oder ein leer-zeichen trennt datum und zeit */
   pos1 = ts.indexOf('+') ;
   if (pos1 == -1)
   { pos1 = ts.indexOf('-') ;}

   if (pos1 == -1)
   { pos1 = ts.indexOf(' ') ;}

   /* Mehr als 8 stellen aber keine getrennte Uhrzeit */
   /* die uhrzeit wurde direkt hintendran getippt */
   /* also muss ein trennzeichen eingefuegt werden */
   if (pos1 == -1 && l > 8)
   {
    d = ts.substring(0,8) ;
    zeit = ts.substring(8,l) ;
    ts = d + ' ' + zeit ;
    pos1 = 8 ;    
    l++ ;
   }

   if (pos1 > -1)
   {
    d = ts.substring(0,pos1) ;
    zeit = ts.substring(pos1 + 1,l) ;
   }

   else
   {d = ts ; zeit = ''}

   /* Fuehrende Null hinzufuegen */
   l = d.length ;
   if (l == 1) { d = "0" + d ;}
   if (l == 3) { d = "0" + d ;} 

   l = d.length ;

   /* Nur den Tag eingegeben */
   if (l == 2)
   {
     t = d.substring(0,2) ;
     m = actmonth ;
     j = actcent + actyear ;     
   }

   if (l == 4)
   {
     t = d.substring(0,2) ;
     m = d.substring(2,4) ;
     j = actcent + actyear ;     
   }
   
   if (l == 6)
   {
     t = d.substring(0,2) ;
     m = d.substring(2,4) ;
     c = d.substring(4,6) ;
     j = actcent + c ;     
   }

   if (l == 8)
   {
     t = d.substring(0,2) ;
     m = d.substring(2,4) ;
     j = d.substring(4,8) ;
   }

   datum = t + "." + m + "." + j ;

   if (t > 31 || m > 12 ) { alert('Datum: ' + datum + ' ist ungueltig');datum = '' ; }

   if ( zeit.length > 0) { zeit = mkti(zeit) ;}

  if (datum != '' && zeit != '')
  {r = datum + ' ' + zeit;}
  else
  { if (datum != '') {r = datum;} else { r = ''; } }

  } /* ende if datenlaenge > 1*/
  else
  { r = ts;}
  return r ;
}

function mkti(wert)
 {
  var ret ;
  var h ;
  var m ;
  var s ;
  var f ;
  f = "000000" ;
  if (wert.length == 1) { wert = "0" + wert ;}
  if (wert.length == 3) { wert = "0" + wert ;} 
  wert = wert + f.substring(0,6 - wert.length) ;
  h = wert.substring(0,2) ;
  m = wert.substring(2,4) ;
  s = wert.substring(4,6) ;
  ret =  h + ":" + m + ":" + s ;
  if (h > 23 || m > 59 || s > 59) { alert('Zeit: ' + ret + ' ist ungueltig');ret=''}
  return ret ;
 }


function replace(text,alt,neu)
{
  var p1 ;  
  var teil1 ;
  var teil2 ;
  var i = 0 ;
    
  p1 = text.indexOf(alt) ;

  while (p1 > -1 && i < 20)
  {
    p1 = text.indexOf(alt) ;

    teil1 = text.substring(0,p1) ;
    teil2 = text.substring(p1+1,text.length) ;  
    text = teil1 + neu + teil2 ;
    i++ ;
  } /* ende while */
   
  return text ;
} /* ende function replace */


