/* JSP Generator Version 3.6 - build 5 Copyright 2003-2012 by WEDITO GmbH */

var bIsRetTab = false;
var bEventRetTab = false;
var bIsChangeField = true;
var bEventChangeField = false;
var bInField=false;
var bRetTopKeydown=true;
var bSubmit=false;
var errEvent=false;
var keydown=false;
var rA=0;
var rO=0;
var sArray=null;
var sArrayA=null;
var sArrayO=null;
var ziffer="0123456789";
var sFocush=null;
var szeichen=":,.+-";
var lastkid = null;
var lastfid = null;
var bcss = false;
var am = new Array(2);
am[0] = new Array('ATZ0','','#000000','#FFD78A','#666666');
am[1] = new Array('ATZ1','#F0F0F0','#000000','#FFD78A','#666666');
var ac = new Array(5);
ac[0] = new Array('Input','#999999','#F9F9F9','#000000','#FF8033','#F9F9F9','#000000');
ac[1] = new Array('Area','#999999','#F9F9F9','#000000','#FF8033','#F9F9F9','#000000');
ac[2] = new Array('Combo','#999999','#F9F9F9','#000000','#FF8033','#F9F9F9','#000000');
ac[3] = new Array('Check','#999999','#F9F9F9','#000000','#FF8033','#F9F9F9','#000000');
ac[4] = new Array('Radio','#999999','#F9F9F9','#000000','#FF8033','#F9F9F9','#000000');

function StartTicker(id,text,pos,len,typ,zeit,wzeit,richtung){
  if(text.length>0){
    var e = null;
    if(document.getElementById){
      e = document.getElementById(id);
    }
    else if(document.all){
      e = document.all.tags('span')[id];
    }
    if(e!=null){
      var value  = null;
      var warten = false;
      switch(typ){
        case 1: // Rotieren
          value = text.substring(pos,text.length);
          if(pos>0){
            value += text.substring(0,pos);
          }
          if(len>0&&value.length>len){
            value = value.substring(0,len);
          }
          pos = pos + richtung;
          if(pos==text.length){
            pos=0;
            warten = true;
          }
          break;
        case 2: // Schreibmaschine/Rotieren
          value = text.substring(0,pos);
          if(len>0&&value.length>len){
            value = value.substring(0,len);
          }
          if(pos+2>text.length||pos+2>len){
            typ=1;
            pos = 0;
          }
          pos = pos + richtung;
          if(pos==text.length){
            pos=0;
            warten = true;
          }
          break;
        case 3: // Schreibmaschiene
          value = text.substring(0,pos);
          if(len>0&&value.length>len){
            value = value.substring(value.length-len,value.length);
          }
          pos = pos + richtung;
          if(pos==text.length){
            pos=0;
            warten = true;
          }
          break;
        case 4: // Einschub1
          value = text.substring(text.length-pos-1,text.length);
          if(len>0&&value.length>len){
            value = value.substring(0,len);
          }
          if(pos==-1 || pos==text.length){
            richtung = richtung * -1;
            warten = true;
          }
          pos = pos + richtung;
          break;
        case 5: // Einschub2
          value = text.substring(text.length-pos-1,text.length);
          if(len>0&&value.length>len){
            value = value.substring(0,len);
          }
          if(pos==-1 || pos==text.length){
            richtung = richtung * -1;
          }
          if(pos==text.length){
            warten = true;
          }
          pos = pos + richtung;
          break;
      }
      if(value!=null){
        e.innerHTML = value.replace(/\ /g,"&nbsp;");
        if(warten==false){
          window.setTimeout("StartTicker('" + id + "','" + text + "'," + pos + "," + len + "," + typ + "," + zeit + "," + wzeit + "," + richtung + ")",zeit);
        }
        else if(wzeit>-1){
          window.setTimeout("StartTicker('" + id + "','" + text + "'," + pos + "," + len + "," + typ + "," + zeit + "," + wzeit + "," + richtung + ")",wzeit);
        }
      }
    }
  }
}

function GetTopHandle(){
  var h = null;
  if(opener&&opener.closed==false){
    h=opener;
    while(h.opener&&h.opener.closed==false){
      h=h.opener;
    }
  }
  else{
    h = window;
  }
  return(h);
}

function SetTopStatus(text,typ,wait,site){
  var h = GetTopHandle();
  if(h.parent){
    if(h.parent.statuszeile && h.parent.statuszeile.SetStatus){
      h.parent.statuszeile.SetStatus(text,typ,wait,site);
    }
    else{
      h.parent.status=text;
    }
  }
}

function ClearTopStatus(){
  var h = GetTopHandle();
  if(h.parent){
    if(h.parent.statuszeile && h.parent.statuszeile.ClearStatus){
      h.parent.statuszeile.ClearStatus();
    }
    else{
      h.parent.status='';
    }
  }
}

var aktiv=null;
function SetStatus(text,typ,wait,site){
  if(aktiv){
    window.clearTimeout(aktiv);
  }
  if(document.getElementById){
    document.getElementById('ausgabe'+typ).innerHTML=text;
  }
  else if(document.all){
    document.all['ausgabe'+typ].innerHTML=text;
  }
  if(wait&&wait>0){
    aktiv=window.setTimeout('ClearStatus()',wait*1000);
  }
  if(site&&site>0){
    var start = history.length;
    aktiv=window.setTimeout("CheckStatus(" + start + "," + site + ")",wait*100);
  }
}

function CheckStatus(start,site){
  var akt = history.length;
  if(akt-start>=site){
    ClearStatus();
  }
  else{
    aktiv=window.setTimeout("CheckStatus(" + start + "," + site + ")",100);
  }
}
function ClearStatus(){
  if(document.getElementById){
    document.getElementById('ausgabe0').innerHTML='';
    document.getElementById('ausgabe1').innerHTML='';
  }
  else if(document.all){
    document.all['ausgabe0'].innerHTML='';
    document.all['ausgabe1'].innerHTML='';
  }
  aktiv=null;
}

var bOpen = true;
function ResizeWindow(n,p,v,c){
  var h1 = null;
  var h2 = null;
  if(document.getElementById){
    h1 = parent.document.getElementById(n);
    h2 = parent.document.getElementById(p);
  }
  else if(document.all){
    h1 = parent.document.all[n];
    h2 = parent.document.all[p];
  }
  if(h1!=null && h2!=null){
    var l= h2.src.length;
    var nr = h2.src.charAt(l-1);
    var value_new='';
    var value;
    if(c==true){
      value = h1.cols.split(",");
    }
    else{
      value = h1.rows.split(",");
    }
    for(var i=0;i<value.length;i++){
      if(i>0){
        value_new=value_new+',';
      }
      if(i==nr){
        if(bOpen==false){
          value_new=value_new+v;
          bOpen=true;
        }
        else{
          value_new=value_new+'25';
          bOpen=false;
        }
      }
      else{
        value_new=value_new+value[i];
      }
    }
    if(c==true){
      h1.cols = value_new;
    }
    else{
      h1.rows = value_new;
    }
  }
}

var LastRow=0;
var LastGroup=null;
var LastBGColor=null;
var LastColor=null;
var moff = true;
function MarkerOff(group,row,bgcolor,color){
  if(moff==false){
    if(group){
      var e = null;
      if(document.getElementById){
        e = document.getElementById('M'+group+row);
      }
      else if(document.all){
        e = document.all.tags('tr')['M'+group+row];
      }
      if(e){
        if(bcss==true||!e.className){
          if(bgcolor!=null){
            e.style.backgroundColor="#"+bgcolor;
          }
          else{
              e.style.backgroundColor=am[row%2][1];
          }
          if(color!=null){
             e.style.color="#"+color;
          }
          else{
            e.style.color = am[row%2][2];
          }
        }
        else{
          e.className=am[row%2][0];
          if(bgcolor!=null){
            e.style.backgroundColor="#"+bgcolor;
          }
          if(color!=null){
             e.style.color="#"+color;
          }
        }
      }
    }
  }
}

function MarkerOn(group,row,color,bgcolor,mcolor,mbgcolor){
  if(moff==false){
    MarkerOff(LastGroup,LastRow,LastBGColor,LastColor);
    if(group){
      LastRow=row;
      LastGroup=group;
      LastBGColor=bgcolor;
      LastColor=color;
      var e = null;
      if(document.getElementById){
        e = document.getElementById('M'+group+row);
      }
      else if(document.all){
        e = document.all.tags('tr')['M'+group+row];
      }
      if(e){
        if(bcss==true||!e.className){
          if(mbgcolor!=null){
            e.style.backgroundColor="#"+mbgcolor;
          }
          else{
              e.style.backgroundColor=am[row%2][3];
          }
          if(mcolor!=null){
             e.style.color="#"+mcolor;
          }
          else{
              e.style.color=am[row%2][4];
          }
        }
        else{
          e.className=am[row%2][0] + 'Activ';
          if(mbgcolor!=null){
            e.style.backgroundColor="#"+mbgcolor;
          }
          if(mcolor!=null){
             e.style.color="#"+mcolor;
          }
        }
      }
    }
  }
}

function openTree(url1,target,url2){
  window.location.href=url2;
  top.window.setTimeout('openTree("'+url1+'","' + target + '")',100);
}

function openUrl(url,target,para){
  open(url,target,para);
}

function openHelp(url){
  open(url,'Seiteninformationen','height=450,width=500,top=50,left=50,menubar=no,toolbar=no,locationbar=no,resizable=yes,scrollbars=yes').focus();
}

function openRechte(url){
  open(url,'Administration','height=450,width=500,top=50,left=50,menubar=no,toolbar=no,locationbar=no,resizable=yes,scrollbars=yes').focus();
}

function AlleRechte(){
  var h = document.forms[0];
  for(i=0;i<h.elements.length;i++){
    if(h.elements[i].type=='checkbox'){
      h.elements[i].checked = false;
    }
  }
}

function KeinRecht(){
  var h = document.forms[0];
  for(i=0;i<h.elements.length;i++){
    if(h.elements[i].type=='checkbox'){
      h.elements[i].checked = true;
    }
  }
}

function ResetCombo(e){
  if(e){
    if(e.type=='select-one'){
      for(var i=0;i<e.options.length;i++){
        if(e.options[i].defaultSelected==true){
          e.selectedIndex = i;
          break;
        }
      }
    }
    else if(e.type=='radio'){
      var h = e.form.elements[e.name];
      if(h){
        for(var i=0;i<h.length;i++){
          if(h[i].defaultChecked==true){
            h[i].checked = true;
            h[i].focus(); 
            break;
          }
        }
      }
    }
  }
}

function ResetBewertung(e){
  if(e){
    for(i=0;i<e.length;i++){
      e[i].checked=false;
    }
  }
  return(false);
}

function CColor(e,n) {
  var r = e.form.elements['_rgb1'+n];
  var g = e.form.elements['_rgb2'+n];
  var b = e.form.elements['_rgb3'+n];
  if(e.options[e.selectedIndex].value.length==0){
    /* Kompletten Farbwert löschen */
    r.selectedIndex = 0;
    g.selectedIndex = 0;
    b.selectedIndex = 0;
  }
  else{
    /* Kompletten Farbwert initialisieren */
    if(r.options[r.selectedIndex].value.length==0){
      r.selectedIndex = 1;
    }
    if(g.options[g.selectedIndex].value.length==0){
      g.selectedIndex = 1;
    }
    if(b.options[b.selectedIndex].value.length==0){
      b.selectedIndex = 1;
    }
  }
  if(r.options[r.selectedIndex].value.length==0||
     g.options[g.selectedIndex].value.length==0||
     b.options[b.selectedIndex].value.length==0)
  {
    if(document.getElementById){
      document.getElementById(n).style.backgroundColor = '';
    }
    else if(document.all){
      document.all.tags('span')[n].style.backgroundColor = '';
    }
    e.form.elements[n].value = '';
  }
  else{
    var farbe = r.options[r.selectedIndex].value
              + g.options[g.selectedIndex].value
              + b.options[b.selectedIndex].value;
    if(document.getElementById){
      document.getElementById(n).style.backgroundColor = "#"+farbe;
    }
    else if(document.all){
      document.all.tags('span')[n].style.backgroundColor = "#"+farbe;
    }
    e.form.elements[n].value = farbe;
  }
}

function IColor(e,n,v) {
  var r = e.form.elements['_rgb1'+n];
  var g = e.form.elements['_rgb2'+n];
  var b = e.form.elements['_rgb3'+n];
  var farbe = "0123456789ABCDEF";
  if(v){
    vrgb = v.toUpperCase();
    /* handelt es sich nicht um ein Pflichtfeld, wird der index erhöht */
    var index = 0;
    if(r.options[0].value.length==0){
       index++;
    }
    r.selectedIndex = Number(farbe.indexOf(vrgb.charAt(0)))*16+Number(farbe.indexOf(vrgb.charAt(1)))+index;
    g.selectedIndex = Number(farbe.indexOf(vrgb.charAt(2)))*16+Number(farbe.indexOf(vrgb.charAt(3)))+index;
    b.selectedIndex = Number(farbe.indexOf(vrgb.charAt(4)))*16+Number(farbe.indexOf(vrgb.charAt(5)))+index;
  }
  CColor(e,n);
}

function SwitchImage(e,name,ImageOn,ImageOff){
  var h = document.forms[0].elements[name];
  if(h.value=='ON'){
    h.value ='OFF';
    e.src   = urlimage + ImageOff;
  }
  else{
    h.value = 'ON';
    e.src   = urlimage + ImageOn;
  }
}

function Optionen(){
  this.e=null;
  this.l='';
  this.n='';
  this.v='';
  this.f='';
  this.a='';
  this.r=0;
  this.rA=0;
  this.rO=0;
  this.vk=0;
  this.nk=0;
  this.mi=null;
  this.ma=null;
  this.s=false;
  this.d=false;
  this.pt=null;
  this.pb=null;
  this.rt=true;
  this.ei=true;
  this.st='';
  this.h='';
}

var obj=new Optionen();
function SetOptions(e,l,a,r,rA,rO,vk,nk,mi,ma,d,pt,pb,rt,ei){
  bEventRetTab = false;
  bEventChangeField = false;
  if(a&&a!=9&&a!=12&&a!=13&&a!=14&&a!=15&&a!=16){
    bInField = true;
  }
  errEvent = false;
  obj.l=null;
  obj.n=null;
  obj.v=null;
  obj.f=null;
  obj.a=null;
  obj.r=false;
  obj.rA=false;
  obj.rO=false;
  obj.vk=0;
  obj.nk=0;
  obj.mi=null;
  obj.ma=null;
  obj.s=false;
  obj.d=false;
  obj.pt=pt;
  obj.pb=pb;
  obj.rt=rt;
  obj.ei=ei;
  obj.st='';
  if(sFocush){
    obj.h=sFocush;
    sFocush=null;
  }
  else{
    obj.h='';
  }
  if(e){
    obj.e=e;
    obj.n=e.name;
    obj.v=e.value;
    obj.f=e.form;
    if((e.type=='text'||e.type=='textarea'||e.type=='password')&&obj.v&&obj.v.length>0){
      e.select();
      obj.s=true;
    }
    else{
      obj.s=false;
    }
    if(obj.ei==true){
      var typ = -1;
      if(e.type=='text'||e.type=='password'||e.type=='file'){
        typ = 0;
      }
      else if(e.type=='textarea'){
        typ = 1;
      }
      else if(e.type=='select-one'){
        typ = 2;
      }
      else if(e.type=='checkbox'){
        typ = 3;
      }
      else if(e.type=='radio'){
        typ = 4;
      }
      if(typ>=0){
        if(bcss==true||!e.className){
          e.style.borderColor=ac[typ][4];
          e.style.backgroundColor=ac[typ][5];
          e.style.color=ac[typ][6];
        }
        else{
          e.className = ac[typ][0] + 'Activ';
        }
      }
    }
  }
  if(l){
    obj.l=l;
  }
  switch(a){
    case 6:
      if(obj.pt){
        obj.vk=0;
        if(obj.pt.indexOf("H")!=-1){
          obj.vk += 2;
        }
        if(obj.pt.indexOf("m")!=-1){
          obj.vk += 2;
        }
        if(obj.pt.indexOf("s")!=-1){
          obj.vk += 2;
        }
      }
      else{
        obj.vk=6;
      }
      break;
    case 7:
      obj.vk=8;
      break;
    default:
      if(vk){
        obj.vk=vk;
      }
      break;
  }
  if(nk){
    obj.nk=nk;
  }
  if(a){
    obj.a=a;
    if(obj.l){
      obj.st='Feldname: ' + obj.l + ', Feldtyp: ';
    }
    else{
      obj.st='Feldtyp: ';
    }
    switch(a){
      case 1:
        obj.st+='Text';
        if(obj.vk>0){
          obj.st+=' ('+obj.vk+' Zeichen)';
        }
        break;
      case 2:
        obj.st+='Ganzzahl';
        break;
      case 3:
        obj.st+='Ganzzahl mit tausender Punkten';
        DelTp();
        break;
      case 4:
        obj.st+='Fließkommazahl';
        break;
      case 5:
        obj.st+='Fließkommazahl mit tausender Punkten';
        DelTp();
        break;
      case 6:
        obj.st+='Uhrzeit';
        break;
      case 7:
        obj.st+='Datum';
        break;
      case 8:
        obj.st+='Schlüssel';
        break;
      case 9:
        obj.st+='Auswahl';
        break;
      case 10:
        obj.st+='E-Mail';
        if(obj.vk>0){
          obj.st+=' ('+obj.vk+' Zeichen)';
        }
        break;
      case 11:
        obj.st+=obj.pb;
        if(obj.vk>0){
          obj.st+=' ('+obj.vk+' Zeichen)';
        }
        break;
      case 12:
        obj.st+='Ja/Nein';
        break;
      case 13:
        obj.st+='Auswahl';
        break;
      case 14:
        obj.st+='Farbe - R';
        break;
      case 15:
        obj.st+='Farbe - G';
        break;
      case 16:
        obj.st+='Farbe - B';
        break;
      default:
        break;
    }
    if(mi){
      obj.st+=', Minimalwert: '+mi;
    }
    if(ma){
      obj.st+=', Maximalwert: '+ma;
    }
    if(r){
      obj.st+=' - Pflichtangabe';
    }
    if(rA){
      obj.st+=' - Pflichtangabe (Mehrfachauswahl)';
    }
    if(rO){
      obj.st+=' - Pflichtangabe (Auswahl)';
    }
    self.status=obj.st;
  }
  if(r){
    obj.r=r;
  }
  if(rA){
    obj.rA=rA;
  }
  if(rO){
    obj.rO=rO;
  }
  if(d){
    obj.d=d;
  }
  if(mi){
    obj.mi=mi;
    if(a==4||a==5){
      obj.mi=obj.mi.replace(/\./g,"");
      obj.mi=obj.mi.replace(/\,/g,".");
    }
  }
  if(ma){
    obj.ma=ma;
    if(a==4||a==5){
      obj.ma=obj.ma.replace(/\./g,"");
      obj.ma=obj.ma.replace(/\,/g,".");
    }
  }
  return(true);
}

function GetHValue(){
   var p='';
   if(obj.a&&(obj.a=='8'||obj.a=='9'||obj.a=='14'||obj.a=='15'||obj.a=='16')&&obj.h.length>0){
      p = '&focush='+obj.h.replace(/\ /g,"~");
   }
   return(p);
}
function hs(e){
  obj.s=true;
}

function GetAsc(e){
  var asc=null;
  if(e){
    if(e.which!=null){
      asc=e.which;
      if(asc==0&&e.keyCode){
        var c = e.keyCode;
        if(c==8||c==9||c==16||c==27){
          asc = c;
        }
      }
    }
    if(asc==null&&e.keyCode){
      asc=e.keyCode;
    }
  }
  else if(event){
    asc=event.keyCode;
  }
  return(asc);
}

function hkdc(e){
  bRetTopKeydown = true;
  if(errEvent==true){
    bRetTopKeydown = false;
  }
  else if(obj.a){
    var asc=GetAsc(e);
    if(asc){
      if(asc==8){
        bRetTopKeydown = false;
      }
      else if(asc==13){
        if(bIsRetTab==true){
          bRetTopKeydown = SelectNextElement(obj.f,obj.n);
        }
        else{
          bRetTopKeydown = false;
        }
      }
    }
  }
  return(bRetTopKeydown);
}

function hkds(e){
  bRetTopKeydown = true;
  if(errEvent==true){
    bRetTopKeydown = false;
  }
  else if(obj.a){
    var asc=GetAsc(e);
    if(asc){
      if(asc==8){
        bRetTopKeydown = false;
      }
      else if(asc==13){
        if(bIsRetTab==true){
          bRetTopKeydown = SelectNextElement(obj.f,obj.n);
        }
        else{
          bRetTopKeydown = false;
        }
      }
      else if(asc==27){
        obj.h='';
        if(obj.e.selectedIndex!=0){
          obj.e.selectedIndex=0;
          if(obj.e.onchange){
            obj.e.onchange();
          }
        }
      }
      else if(asc!=0&&asc!=9&&asc!=16){
        var c = String.fromCharCode(asc);
        var len1 = obj.h.length;
        if(len1>0){
          var a1   = obj.h.toLowerCase();
          var a2   = obj.e.options[obj.e.selectedIndex].text.toLowerCase();
          var len2 = a2.length;
          if(len2<len1||obj.h!=a2.substring(0,len1)){
            obj.h=c;
          }
        }
        var s = (obj.h+c).toLowerCase();
        var len = obj.e.options.length;
        var akt = obj.e.selectedIndex;
        for(var i=0;i<len;i++){
          var t = obj.e.options[i].text.toLowerCase();
          if(t.substring(0,s.length)==String(s)){
            obj.h=s;
            if(akt!=i||!document.all){
              obj.e.selectedIndex=i;
              if(obj.e.onchange){
                obj.e.onchange();
              }
            }
            break;
          }
        }
        bRetTopKeydown = false;
      }
    }
  }
  return(bRetTopKeydown);
}

function hkd(e){
  bRetTopKeydown = true;
  if(errEvent==true){
    bRetTopKeydown = false;
  }
  else if(obj.a){
    keydown=true;
    obj.v=obj.e.value;
    var asc=GetAsc(e);
    if(!asc||asc==0||asc==8||asc==9||asc==16||asc==27){
       /* Immer gültige Eingaben */
    }
    else if(asc==13){
      if(bIsRetTab==true){
        bRetTopKeydown = SelectNextElement(obj.f,obj.n);
      }
      else if(obj.e.type!='textarea'){
        bRetTopKeydown=false;
      }
      else if(obj.rt==false){
        SetTopStatus('Zeilenumbruch in diesem Feld nicht erlaubt!',0,5);
        bRetTopKeydown=false;
      }
    }
    else{
      c=String.fromCharCode(asc);
      switch(obj.a){
        case  1:
          if(CheckLenDown(c,'',obj.vk)==false){
            bRetTopKeydown = false;
          }
          break;
        case  2:
          if(CheckCharDown(c,'+-'+ziffer)==false ||
             CheckAnzDown(c,'+-',1,'Vorzeichen')==false||
             CheckLenDown(c,'+-',obj.vk)==false){
             bRetTopKeydown = false;
          }
          break;
        case  3:
          if(CheckCharDown(c,'+-'+ziffer)==false||
             CheckAnzDown(c,'+-',1,'Vorzeichen')==false||
             CheckLenDown(c,'+-',obj.vk)==false){
             bRetTopKeydown = false;
          }
          break;
        case  4:
          if(CheckCharDown(c,',+-'+ziffer)==false||
             CheckAnzDown(c,'+-',1,'Vorzeichen')==false||
             CheckAnzDown(c,',',1,'Komma')==false){
             bRetTopKeydown = false;
          }
          if(obj.v.indexOf(',')==-1){
            if(CheckLenDown(c,',+-',obj.vk)==false){
              bRetTopKeydown = false;
            }
          }
          else{
            if(CheckLenDown(c,',+-',obj.vk+obj.nk)==false){
              bRetTopKeydown = false;
            }
          }
          break;
        case  5:
          if(CheckCharDown(c,',+-'+ziffer)==false||
             CheckAnzDown(c,'+-',1,'Vorzeichen')==false||
             CheckAnzDown(c,',',1,'Komma')==false){
             bRetTopKeydown = false;
          }
          if(obj.v.indexOf(',')==-1){
            if(CheckLenDown(c,',+-',obj.vk)==false){
              bRetTopKeydown = false;
            }
          }
          else{
            if(CheckLenDown(c,',+-',obj.vk+obj.nk)==false){
              bRetTopKeydown = false;
            }
          }
          break;
        case  6:
          if(obj.pt){
            var ignore = 'Hms';
            var trenner = '';
            for(var i=0;i<obj.pt.length;i++){
              if(ignore.indexOf(obj.pt.charAt(i))==-1){
                trenner += obj.pt.charAt(i);
              }
            }
            if(CheckCharDown(c,trenner+ziffer)==false||
               CheckAnzDown(c,trenner,trenner.length,trenner)==false||
               CheckLenDown(c,trenner,obj.vk)==false){
               bRetTopKeydown = false;
            }
          }
          else{
            if(CheckCharDown(c,':'+ziffer)==false||
               CheckAnzDown(c,':',2,'Doppelpunkt')==false||
               CheckLenDown(c,':',obj.vk)==false){
               bRetTopKeydown = false;
            }
          }
          break;
        case  7:
          if(CheckCharDown(c,'.'+ziffer)==false||
             CheckAnzDown(c,'.',2,'Punkt')==false||
             CheckLenDown(c,'.',obj.vk)==false){
             bRetTopKeydown = false;
          }
          break;
        case 10:
          if(CheckAnzDown(c,'@',1,'at-Zeichen')==false||
             CheckLenDown(c,'@',obj.vk)==false){
             bRetTopKeydown = false;
          }
          break;
        case 11:
          if(CheckCharDown(c,obj.pt)==false||
             CheckLenDown(c,'',obj.vk)==false){
             bRetTopKeydown = false;
          }
          break;
        default:
          break;
      }
      obj.s=false;
    }
  }
  return(bRetTopKeydown);
}

function SwitchReturn(e){
  var asc=GetAsc(e);
  if(asc==17){
    if(bEventRetTab==true){
      if(bIsRetTab==true){
        bIsRetTab = false;
        SetTopStatus('RETURN = ZEILENUMBRUCH',0,5);
        bEventRetTab=false;
      }
      else{
        bIsRetTab = true;
        SetTopStatus('RETURN = TABULATOR',0,5);
        bEventRetTab=false;
      }
    }
    else{
      bEventRetTab=true;
    }
  }
  else{
    bEventRetTab=false;
  }
}

function SwitchDoubleclick(e){
  var asc=GetAsc(e);
  if(asc==18){
    if(bEventChangeField==true){
      if(bIsChangeField==true){
        bIsChangeField = false;
        SetTopStatus('DOPPELKLICK = AUS',0,5);
        bEventChangeField=false;
      }
      else{
        bIsChangeField = true;
        SetTopStatus('DOPPELKLICK = AN',0,5);
        bEventChangeField=false;
      }
    }
    else{
      bEventChangeField=true;
    }
  }
  else{
    bEventChangeField=false;
  }
}

function hkuc(e){
  SwitchReturn(e);
  SwitchDoubleclick(e);
  return(true);
}

function hkus(e){
  SwitchReturn(e);
  SwitchDoubleclick(e);
  return(true);
}

function hku(e){
  if(errEvent==true){
    return(false);
  }
  if(keydown==true){
    obj.s=false;
  }
  if(!obj.a){
    return(true);
  }
  SwitchReturn(e);
  SwitchDoubleclick(e);
  if(keydown==false){
    if(document.layers){
      if(e.modifiers&Event.CONTROL_MASK){
        obj.e.value=obj.v;
        return(false);
      }
      else{
        return(true);
      }
    }
  }
  obj.v=obj.e.value;
  switch(obj.a){
    case  1:
      if(CheckLenUp(obj.vk)==false){
        return(false);
      }
      break;
    case  2:
      if(CheckCharUp('+-'+ziffer)==false||
         CheckAnzUp('+-',1,'Vorzeichen')==false||
         CheckPosVorz()==false||
         CheckLenUp(obj.vk+AnzChar(obj.v,'+')+AnzChar(obj.v,'-'))==false){
         return(false);
      }
      break;
    case  3:
      if(CheckCharUp('+-'+ziffer)==false||
         CheckAnzUp('+-',1,'Vorzeichen')==false||
         CheckPosVorz()==false||
         CheckLenUp(obj.vk+AnzChar(obj.v,'+')+AnzChar(obj.v,'-'))==false){
         return(false);
      }
      break;
    case  4:
      if(CheckCharUp(',+-'+ziffer)==false||
         CheckAnzUp('+-',1,'Vorzeichen')==false||
         CheckAnzUp(',',1,'Komma')==false||
         CheckPosVorz()==false||
         CheckFloat(false)==false ||
         CheckLenUp(obj.vk+AnzChar(obj.v,'+')+AnzChar(obj.v,'-')+AnzChar(obj.v,',')+obj.nk)==false){
         return(false);
      }
      break;
    case  5:
      if(CheckCharUp(',+-'+ziffer)==false||
         CheckAnzUp('+-',1,'Vorzeichen')==false||
         CheckAnzUp(',',1,'Komma')==false||
         CheckPosVorz()==false||
         CheckFloat(false)==false ||
         CheckLenUp(obj.vk+AnzChar(obj.v,'+')+AnzChar(obj.v,'-')+AnzChar(obj.v,',')+obj.nk)==false){
         return(false);
      }
      break;
    case  6:
      if(obj.pt){
        var ignore = 'Hms';
        var trenner = '';
        for(var i=0;i<obj.pt.length;i++){
          if(ignore.indexOf(obj.pt.charAt(i))==-1){
            trenner += obj.pt.charAt(i);
          }
        }
        if(CheckCharUp(trenner+ziffer)==false||
           CheckAnzUp(trenner,trenner.length,trenner)==false||
           CheckLenUp(obj.vk+trenner.length)==false){
           return(false);
        }
      }
      else{
        if(CheckCharUp(':'+ziffer)==false||
           CheckAnzUp(':',2,'Doppelpunkt')==false||
           CheckLenUp(obj.vk+AnzChar(obj.v,':'))==false){
           return(false);
        }
      }
      break;
    case  7:
      if(CheckCharUp('.'+ziffer)==false||
         CheckAnzUp('.',2,'Punkt')==false||
         CheckLenUp(obj.vk+AnzChar(obj.v,'.'))==false){
         return(false);
      }
      break;
    case  8:
      var h=obj.f.elements[obj.n+'_1'];
      len = h.options.length;
      for(var i=0;i<len;i++){
        e=h.options[i].value;
        if(e.substring(e.length-obj.e.value.length,e.length)==String(obj.e.value)){
           h.selectedIndex=i;
           return(true);
        }
        h.selectedIndex=0;
      }
      break;
    case 10:
      if(CheckAnzUp('@',1,'at-Zeichen')==false||
         CheckLenUp(obj.vk)==false){
        return(false);
      }
      break;
    case 11:
      if(CheckCharUp(obj.pt)==false||
         CheckLenUp(obj.vk)==false){
         return(false);
      }
      break;
    default:
      break;
  }
  return(true);
}

function hb(e){
  bInField = false;
  if(!obj.a){
    return(true);
  }
  if(obj.ei==true){
    var typ = -1;
    if(obj.e.type=='text'||obj.e.type=='password'||obj.e.type=='file'){
      typ = 0;
    }
    else if(obj.e.type=='textarea'){
      typ = 1;
    }
    else if(obj.e.type=='select-one'){
      typ = 2;
    }
    else if(obj.e.type=='checkbox'){
      typ = 3;
    }
    else if(obj.e.type=='radio'){
      typ = 4;
    }
    if(typ>=0){
      if(bcss==true||!obj.e.className){
        obj.e.style.borderColor=ac[typ][1];
        obj.e.style.backgroundColor=ac[typ][2];
        obj.e.style.color=ac[typ][3];
      }
      else{
        obj.e.className = ac[typ][0];
      }
    }
  }
  if(errEvent==true){
    return(false);
  }
  if(obj.a==9){
    if(obj.r==true){
      if(obj.e.options[obj.e.selectedIndex].value.length==0){
        error(0,obj.l,'kein Eintrag vorhanden');
        return(false);
      }
    }
    if(obj.rA==true){
      if(obj.e.selectedIndex==0||obj.e.options[obj.e.selectedIndex].value.length==0){
        if(rA==0){
          rA=1;
        }
      }
      else{
        rA=2;
      }
    }
    if(obj.rO==true){
      if(obj.e.selectedIndex==0||obj.e.options[obj.e.selectedIndex].value.length==0){
        if(rO==0){
          rO=1;
        }
      }
      else if(rO<2){
        rO=2;
      }
      else{
        rO=3;
      }
    }
  }
  if(obj.a==8){
    h=obj.f.elements[obj.n+'_1'];
    obj.e.value=h.options[h.selectedIndex].value;
  }
  self.status='';
  obj.st='';
  if(obj.a!=8&&obj.a!=9&&obj.a!=12&&obj.a!=13&&obj.a!=14&&obj.a!=15&&obj.a!=16){
    keydown=false;
    var bn=false;
    var def=false;
    var po=0;
    obj.v=obj.e.value;
    if(obj.a>1&&obj.a<6&&obj.v.length>0){
      var vo;
      if(obj.v.charAt(0)=='+'||obj.v.charAt(0)=='-'){
        vo=obj.v.charAt(0);
        obj.v=obj.v.substring(1,obj.v.length);
      }
      obj.v=obj.v.replace(/\./g,"");
      obj.v=obj.v.replace(/\:/g,"");
      for(po=0;po<obj.v.length;po++){
        if(obj.v.charAt(po)!='0'){
          break;
        }
        else{
          bn=true;
        }
      }
      obj.v=obj.v.substring(po,obj.v.length);
    }
    if(bn==true&&obj.v.length==0){
      obj.v='0';
    }
    if(obj.rA==true){
      if(obj.v.length==0){
        if(rA==0){
          rA=1;
        }
      }
      else{
        rA=2;
      }
    }
    if(obj.rO==true){
      if(obj.v.length==0){
        if(rO==0){
          rO=1;
        }
      }
      else if(rO<2){
        rO=2;
      }
      else{
        rO=3;
      }
    }
    if(obj.r==true&&obj.v.length==0){
      def=true;
    }
    else if(obj.v.length>0){
      if(obj.a==4||obj.a==5){
        obj.v=MakeFloat(obj.v,obj.nk);
      }
      if(obj.a==3||obj.a==5){
        obj.v=MakeTp(obj.v);
      }
      if(obj.a==6){
        var err=false;
        var t;
        var value = '';
        if(obj.pt){
          var ignore = 'Hms';
          var trenner = '';
          for(var i=0;i<obj.pt.length;i++){
            if(ignore.indexOf(obj.pt.charAt(i))==-1){
              trenner+=obj.pt.charAt(i);
            }
          }
          for(var i=0;i<obj.v.length;i++){
            if(trenner.indexOf(obj.v.charAt(i))==-1){
              value+=obj.v.charAt(i);
            }
          }
        }
        else{
          value = obj.v;
        }
        dp=obj.v.indexOf(":");
        if(dp!=-1){
          t=obj.v.split(":");
        }
        else{
          t=new Array();
          if(value.length==6){
            t[0]=value.substring(0,2);
            t[1]=value.substring(2,4);
            t[2]=value.substring(4,6);
          }
          else if(value.length==4){
            t[0]=value.substring(0,2);
            t[1]=value.substring(2,4);
            t[2]='00';
          }
          else if(value.length==3){
            t[0]=value.substring(0,1);
            t[1]=value.substring(1,3);
            t[2]='00';
          }
          else if(value.length<3){
            t[0]=value;
            t[1]='00';
            t[2]='00';
          }
          else{
            err=true;
          }
        }
        if(err==false){
          if(t[0]==24){
            t[0]='0';
          }
          if(t[0].length>2||t[1].length>2){
            err=true;
          }
          else{
            if(t[0]>24){
              t[0]='0';
              err=true;
            }
            if(t[1]>59){
              t[1]='0';
              err=true;
            }
            if(t[2]>59){
              t[2]='0';
              err=true;
            }
            if(obj.pt){
              var n;
              var j = 0;
              var ignore = 'Hms';
              var trenner = '';
              for(var i=0;i<obj.pt.length;i++){
                if(ignore.indexOf(obj.pt.charAt(i))==-1){
                  trenner+=obj.pt.charAt(i);
                }
                else{
                  var n = 1;
                  var c = obj.pt.charAt(i);
                  if((i+1)<obj.pt.length&&obj.pt.charAt(i+1)==c){
                    n++;
                    i++;
                  }
                  t[j]=Norm(t[j],n);
                  j++;
                }
              }
              obj.v=t[0];
              if(trenner.length>0){
                obj.v+=trenner.charAt(0);
                obj.v+=t[1];
                if(trenner.length>1){
                  obj.v+=trenner.charAt(1);
                  obj.v+=t[2];
                }
              }
              if(obj.v.length>(obj.vk+trenner.length)){
                err=true;
                obj.v=obj.v.substring(0,obj.vk+trenner.length);
              }
            }
            else{
              obj.v=Norm(t[0],2)+':'+Norm(t[1],2)+':'+Norm(t[2],2);
              if(obj.v.length>8){
                err=true;
                obj.v=obj.v.substring(0,8);
              }
            }
          }
        }
        if(err==true){
          if(obj.mi){
            PruefeMin(obj);
          }
        if(obj.ma){
          PruefeMax(obj);
        }
          if(bSubmit==false){
            obj.e.focus();
          }
          obj.e.value='';
          error(1,obj.l,'ungültige Zeitangabe');
          return(false);
        }
      }
      if(obj.a==7){
        p=obj.v.indexOf(".");
        var err=false;
        var akt=new Date();
        var aktYear=akt.getFullYear();
        var aktMonth=akt.getMonth()+1;
        var aktDay=akt.getDate();
        if(p!=-1){
          var d=obj.v.split(".");
          if(!d[1]){
            err=true;
          }
          else if(!d[2]){
            d[2]=aktYear;
          }
        }
        else{
          var d=new Array();
          if(obj.v.length==8){
            d[0]=obj.v.substring(0,2);
            d[1]=obj.v.substring(2,4);
            d[2]=obj.v.substring(4,8);
          }
          else if(obj.v.length==6){
            d[0]=obj.v.substring(0,2);
            d[1]=obj.v.substring(2,4);
            d[2]=obj.v.substring(4,6);
          }
          else if(obj.v.length==4){
            d[0]=obj.v.substring(0,2);
            d[1]=obj.v.substring(2,4);
            d[2]=aktYear;
          }
          else{
            err=true;
          }
        }
        if(err==false){
          if(d[0].length>2||d[1].length>2){
            err=true;
          }
          else{
            if(d[0].length==0||d[0]==0){
              d[0]='01';
              err=true;
            }
            if(d[1].length==0||d[1]==0){
              d[1]='01';
              err=true;
            }
            if(d[2].length<4){
              if(d[2]<30){
                d[2]=Number(d[2])+2000;
              }
              else{
                d[2]=Number(d[2])+1900;
              }
            }
            var dn=new Date(d[2],(d[1]-1),d[0]);
            var year=dn.getFullYear();
            if(dn.getDate()!=d[0]||(dn.getMonth()+1)!=d[1]||year!=d[2]){
              d[0]=String(dn.getDate());
              d[1]=String((dn.getMonth()+1));
              d[2]=String(year);
              err=true;
            }
            obj.v=Norm(d[0],2)+'.'+Norm(d[1],2)+'.'+d[2];
            if(obj.v.length>10){
              err=true;
              obj.v=obj.v.substring(0,10);
            }
          }
        }
        if(err==true){
          if(obj.mi){
            PruefeMin(obj);
          }
          if(obj.ma){
            PruefeMax(obj);
          }
          if(bSubmit==false){
            obj.e.focus();
          }
          obj.e.value='';
          error(1,obj.l,'ungültige Datumsangabe');
          return(false);
        }
      }
      if(obj.a==10){
        pos1=obj.v.indexOf("@");
        len = obj.v.length;
        if(pos1<1||pos1==(len-1)){
          if(bSubmit==false){
            obj.e.focus();
          }
          obj.e.value='';
          error(1,obj.l,'ungültige E-Mail Adresse');
          return(false);
        }
      }
    }
    if(bn==true&&obj.r==false&&obj.rA==false&&obj.rO==false&&obj.v.length==0){
      if(obj.a==2||obj.a==3){
        obj.v='0';
      }
      if(obj.a==4||obj.a==5){
        obj.v=MakeFloat('0',obj.nk);
      }
    }
    if(vo&&obj.v.length>0){
      obj.v=vo+obj.v;
    }
    if(obj.mi&&(obj.r==true||obj.rA==true||obj.rO==true||obj.v.length>0)){
      PruefeMin(obj);
    }
    if(obj.ma&&(obj.r==true||obj.rA==true||obj.rO==true||obj.v.length>0)){
      PruefeMax(obj);
    }
    if(obj.v.length>0){
      if(document.all||obj.e.type!='file'){
         obj.e.value=obj.v;
      }
    }
  }
  if(def==true){
    error(0,obj.l,'Pflichtfeld nicht angegeben');
    return(false);
  }
  if(obj.rA==true){
    error(0,obj.l,'Erfassen Sie bitte mindestens eine Information der angegebenen Felder',1);
  }
  if(obj.rO==true){
    error(0,obj.l,'Erfassen Sie bitte genau eine Information der angegebenen Felder',2);
  }
  return(validate());
}

function validate(){
  obj.v=obj.e.value;
  switch(obj.a){
    case  1:
      if(CheckLenUp(obj.vk)==false){
        return(false);
      }
      break;
    case  2:
      if(CheckCharUp('+-'+ziffer)==false||
         CheckAnzUp('+-',1,'Vorzeichen')==false||
         CheckPosVorz()==false||
         CheckLenUp(obj.vk+AnzChar(obj.v,'+')+AnzChar(obj.v,'-'))==false){
         return(false);
      }
      break;
    case  3:
      if(CheckCharUp('.+-'+ziffer)==false||
         CheckAnzUp('+-',1,'Vorzeichen')==false||
         CheckPosVorz()==false||
         CheckLenUp(obj.vk+AnzChar(obj.v,'+')+AnzChar(obj.v,'-')+AnzChar(obj.v,'.'))==false){
         return(false);
      }
      break;
    case  4:
      if(CheckCharUp(',+-'+ziffer)==false||
         CheckAnzUp('+-',1,'Vorzeichen')==false||
         CheckAnzUp(',',1,'Komma')==false||
         CheckPosVorz()==false||
         CheckFloat(false)==false ||
         CheckLenUp(obj.vk+AnzChar(obj.v,'+')+AnzChar(obj.v,'-')+AnzChar(obj.v,',')+obj.nk)==false){
         return(false);
      }
      break;
    case  5:
      if(CheckCharUp('.,+-'+ziffer)==false||
         CheckAnzUp('+-',1,'Vorzeichen')==false||
         CheckAnzUp(',',1,'Komma')==false||
         CheckPosVorz()==false||
         CheckFloat(true)==false ||
         CheckLenUp(obj.vk+AnzChar(obj.v,'+')+AnzChar(obj.v,'-')+AnzChar(obj.v,'.')+AnzChar(obj.v,',')+obj.nk)==false){
         return(false);
      }
      break;
    case  6:
      if(obj.pt){
        var ignore = 'Hms';
        var trenner = '';
        for(var i=0;i<obj.pt.length;i++){
          if(ignore.indexOf(obj.pt.charAt(i))==-1){
            trenner += obj.pt.charAt(i);
          }
        }
        if(CheckCharUp(trenner+ziffer)==false||
           CheckAnzUp(trenner,trenner.length,trenner)==false||
           CheckLenUp(obj.vk+trenner.length)==false){
           return(false);
        }
      }
      else{
        if(CheckCharUp(':'+ziffer)==false||
           CheckAnzUp(':',2,'Doppelpunkt')==false||
           CheckLenUp(obj.vk+AnzChar(obj.v,':'))==false){
           return(false);
        }
      }
      break;
    case  7:
      if(CheckCharUp('.'+ziffer)==false||
         CheckAnzUp('.',2,'Punkt')==false||
         CheckLenUp(obj.vk+AnzChar(obj.v,'.'))==false){
         return(false);
      }
      break;
    case  8:
      var h=obj.f.elements[obj.n+'_1'];
      len = h.options.length;
      for(var i=0;i<len;i++){
        e=h.options[i].value;
        if(e.substring(e.length-obj.e.value.length,e.length)==String(obj.e.value)){
           h.selectedIndex=i;
           return(true);
        }
        h.selectedIndex=0;
      }
      break;
    case 10:
      if(CheckAnzUp('@',1,'at-Zeichen')==false||
         CheckLenUp(obj.vk)==false){
        return(false);
      }
      break;
    case 11:
      if(CheckCharUp(obj.pt)==false||
         CheckLenUp(obj.vk)==false){
         return(false);
      }
      break;
    default:
      break;
  }
  return(true);
}

function FocusPara(){
  var ret = "";
  if(obj.e&&obj.e.name){
     ret = '&ziel_focus=' + obj.e.name;
  }
  return(ret);
}

function ComboPara(name,feld){
  var ret = '&' + name + '=';
  var e = document.forms[0].elements[feld];
  if(e){
    ret += e.options[e.selectedIndex].value;
  }
  return(ret);
}

function RadioPara(name,feld){
  var ret = '&' + name + '=';
  var e = document.forms[0].elements[feld];
  if(e){
    for(var i=0;i<e.length;i++){
      if(e[i].checked==true){
        var v = e[i].value;
        if(v&&v.length>0){
          ret += v;
          break;
        }
      }
    }
  }
  return(ret);
}

function CheckPara(name,feld){
  var ret = '&' + name + '=';
  var e = document.forms[0].elements[feld];
  if(e&&e.checked){
    ret+='Ja';
  }
  else{
    ret+='Nein';
  }
  return(ret);
}

function FieldPara(name,feld){
  var ret = '&' + name + '=';
  var e = document.forms[0].elements[feld];
  if(e){
    var v = e.value;
    if(v&&v.length>0){
      v = escape(v);
      ret += v;
    }
  }
  return(ret);
}

function SelectNextElement(f,n){
  var found1=false;
  var found2=false;
  var i=0;
  while(found1==false&&found2==false&&i<f.elements.length){
    if(f.elements[i].name==n){
      var j=i+1;
      found1=true;
      while(found2==false&&j<f.elements.length){
        if(f.elements[j].type!='hidden'&&f.elements[j].name!=n&&f.elements[j].disabled==false){
          found2=true;
          f.elements[j].focus();
        }
        j++;
      }
    }
    i++;
  }
  if(found2==false){
    for(var i=0;i<f.elements.length;i++){
      if(f.elements[i].type!='hidden'&&f.elements[i].disabled==false){
        f.elements[i].focus();
        break;
      }
    }
  }
  return(false);
}

function CheckCharDown(c,str){
  if(str.indexOf(c)==-1){
    error(4,obj.l,'ungültiges Zeichen: '+c);
    return(false);
  }
  return(true);
}

function CheckAnzDown(c,str,max,bez){
  if(obj.s==false){
    var anz = 0;
    for(var i=0;i<str.length;i++){
      anz+=AnzChar(obj.v,str.charAt(i));
      if(str.charAt(i)==c){
         anz++;
      }
    }
    if(anz>max){
      error(4,obj.l,bez+'anzahl ungültig');
      return(false);
    }
  }
  return(true);
}

function CheckLenDown(c,str,len){
  if(len>0&&obj.s==false){
    var anz = len;
    for(var i=0;i<str.length;i++){
      anz+=AnzChar(obj.v,str.charAt(i));
      if(str.charAt(i)==c){
        anz++;
      }
    }
    if(obj.v.length+1>anz){
      obj.e.value=obj.v;
      error(3,obj.l,'maximale Länge: '+anz);
      return(false);
    }
  }
  return(true);
}

function CheckCharUp(str){
  var value='';
  for(var i=0;i<obj.v.length;i++){
    var c = obj.v.charAt(i);
    if(str.indexOf(c)!=-1){
       value+=c;
    }
    else{
      return(ErrorValue(4,'ungültiges Zeichen: '+c,value));
    }
  }
  return(true);
}

function CheckAnzUp(str,max,bez){
  var value='';
  var anz = 0;
  for(var i=0;i<obj.v.length;i++){
     var c = obj.v.charAt(i);
     if(str.indexOf(c)!=-1){
       anz++;
       if(anz<=max){
         value+=c;
       }
     }
     else{
       value+=c;
     }
  }
  if(anz>max){
     return(ErrorValue(4,bez+'anzahl ungültig',value));
  }
  return(true);
}

function CheckLenUp(len){
  if(len>0&&obj.v.length>len){
    return(ErrorValue(3,'maximale Länge: '+len,obj.v.substring(0,len)));
  }
  return(true);
}

function ErrorValue(typ,fehler,value){
  obj.e.value=value;
  obj.e.select();
  obj.s=true;
  error(typ,obj.l,fehler);
  return(false);
}

function CheckPosVorz(){
  if(obj.v.indexOf('+')>0||obj.v.indexOf('-')>0){
    var value='';
    for(var i=0;i<obj.v.length;i++){
      var c = obj.v.charAt(i);
      if(i==0||(c!='+'&&c!='-')){
        value+=c;
      }
    }
    return(ErrorValue(4,'ungültige Vorzeichen Position',value));
  }
  return(true);
}

function CheckFloat(tp){
  var komma=obj.v.indexOf(',');
  if(komma!=-1){
    var len_vk=komma;
    var len_nk=obj.v.length-komma-1;
    var str_vk=obj.v.substring(0,komma);
    var vk=obj.vk+AnzChar(str_vk,'+')+AnzChar(str_vk,'-');
    if(tp==true){
      vk+=AnzChar(str_vk,'.');
    }
    if(len_nk>obj.nk){
      return(ErrorValue(4,'ungültige Nachkommastellen',obj.v.substring(0,1+komma+obj.nk)));
    }
    if(len_vk>vk){
      return(ErrorValue(4,'ungültige Vorkommastellen',obj.v.substring(0,vk)+obj.v.substring(komma,obj.v.length)));
    }
  }
  else{
    var vk=obj.vk+AnzChar(obj.v,'+')+AnzChar(obj.v,'-');
    if(tp==true){
      vk+=AnzChar(obj.v,'.');
    }
    if(obj.v.length>vk){
      return(ErrorValue(4,'ungültige Vorkommastellen',obj.v.substring(0,vk)));
    }
  }
  return(true);
}

function PruefeMin(o){
  if(o.v){
    var err=false;
    if(o.a==3||o.a==5){
      o.v=o.v.replace(/\./g,"");
    }
    if(o.a==4||o.a==5){
      o.v=o.v.replace(/\,/g,".");
    }
    if(o.a==6){
      t1=o.v.split(":");
      t2=o.mi.split(":");
      if(Number(t1[0])==0){
        nt1=new Date(0,0,0,'24',t1[1],t1[2]);
      }
      else{
        nt1=new Date(0,0,0,t1[0],t1[1],t1[2]);
      }
      nt2=new Date(0,0,0,t2[0],t2[1],t2[2]);
      if(nt1<nt2){
        o.v=o.mi;
        err=true;
      }
    }
    if(o.a==7){
      d1=o.v.split(".");
      d2=o.mi.split(".");
      nd1=new Date(d1[2],(d1[1]-1),d1[0]);
      nd2=new Date(d2[2],(d2[1]-1),d2[0]);
      if(nd1<nd2){
        o.v=o.mi;
        err=true;
      }
    }
    if(Number(o.v)<Number(o.mi)&&o.a!=7&&o.a!=6){
      o.v=o.mi;
      err=true;
    }
    if(o.a==4||o.a==5){
      o.v=o.v.replace(/\./g,",");
      o.v=MakeFloat(o.v,o.nk);
    }
    if(o.a==3||o.a==5){
      if(o.v.charAt(0)=='+'||o.v.charAt(0)=='-'){
        o.v=o.v.charAt(0)+MakeTp(o.v.substring(1,o.v.length));
      }
      else{
        o.v=MakeTp(o.v);
      }
    }
    if(err==true){
      with(o.f.elements[o.n]){
        value=o.v;
        if(bSubmit==false){
          focus();
          select();
        }
      }
      o.s=true;
      error(2,o.l,'Minimalwert unterschritten: '+o.mi);
      o.v='';
    }
  }
}

function PruefeMax(o){
  if(o.v.length>0){
    err=false;
    if(o.a==3||o.a==5){
      o.v=o.v.replace(/\./g,"");
    }
    if(o.a==4||o.a==5){
      o.v=o.v.replace(/\,/g,".");
    }
    if(o.a==6){
      t1=o.v.split(":");
      t2=o.ma.split(":");
      if(Number(t1[0])==0){
        nt1=new Date(0,0,0,'24',t1[1],t1[2]);
      }
      else{
        nt1=new Date(0,0,0,t1[0],t1[1],t1[2]);
      }
      nt2=new Date(0,0,0,t2[0],t2[1],t2[2]);
      if(nt1>nt2){
        o.v=o.ma;
        err=true;
      }
    }
    if(o.a==7){
      d1=o.v.split(".");
      d2=o.ma.split(".");
      nd1=new Date(d1[2],(d1[1]-1),d1[0]);
      nd2=new Date(d2[2],(d2[1]-1),d2[0]);
      if(nd1>nd2){
        o.v=o.ma;
        err=true;
      }
    }
    if(Number(o.v)>Number(o.ma)&&o.a!=7&&o.a!=6){
      o.v=o.ma;
      err=true;
    }
    if(o.a==4||o.a==5){
      o.v=o.v.replace(/\./g,",");
      o.v=MakeFloat(o.v,o.nk);
    }
    if(o.a==3||o.a==5){
      if(o.v.charAt(0)=='+'||o.v.charAt(0)=='-'){
        o.v=o.v.charAt(0)+MakeTp(o.v.substring(1,o.v.length));
      }
      else{
        o.v=MakeTp(o.v);
      }
    }
    if(err==true){
      with(o.f.elements[o.n]){
        value=o.v;
        if(bSubmit==false){
          focus();
          select();
        }
      }
      o.s=true;
      error(2,o.l,'Maximalwert überschritten: '+o.ma);
      o.v='';
    }
  }
}

function MakeTp(s){
  var s1='';
  var s2='';
  var k=s.indexOf(",");
  if(k!=-1){
    s1=s.substring(0,k);
  }
  else{
    s1=s;
  }
  for(var i=0;i<=s1.length;i++){
    s2=s1.charAt(s1.length-i)+s2;
    if(i>0&&(i%3)==0&&i!=s1.length){
      s2='.'+s2;
    }
  }
  if(k!=-1){
    s2=s2+','+s.substring(k+1,s.length);
  }
  return(s2);
}

function DelTp(){
  if(obj.v.length>0){
    var value='';
    for(var i=0;i<obj.v.length;i++){
      var c = obj.v.charAt(i);
      if(c!='.'){
        value+=c;
      }
    }
    obj.e.value=value;
    obj.e.focus();
    obj.e.select();
  }
}

function MakeFloat(s,nk){
  var n=0;
  if(s.charAt(0)==','){
    s='0'+s;
  }
  var k=s.indexOf(",");
  if(k!=-1){
    n=s.substring(k+1,s.length).length;
  }
  else{
    s=s+',';
  }
  if(n<nk){
    for(var i=n;i<nk;i++){
      s=s+'0';
    }
  }
  return(s);
}

function AktDate(){
  var s='';
  var d=new  Date();
  var d1=String(d.getDate());
  var d2=String(d.getMonth()+1);
  var d3=d.getFullYear();
  if(d1.length==1){
    s=s+'0';
  }
  s=s+d1+'.';
  if(d2.length==1){
    s=s+'0';
  }
  s=s+d2+'.'+d3;
  return(s);
}

function AktTime(pattern){
  var s='';
  var t=new Date();
  var t1=String(t.getHours());
  var t2=String(t.getMinutes());
  var t3=String(t.getSeconds());
  if(pattern){
    for(var i=0;i<pattern.length;i++){
      if(pattern.charAt(i)=='H'){
        if((i+1)<pattern.length&&pattern.charAt(i+1)=='H'&&t1.length==1){
          t1 = '0' + t1;
        }
        s += t1;
      }
      else if(pattern.charAt(i)=='m'){
        if((i+1)<pattern.length&&pattern.charAt(i+1)=='m'&&t2.length==1){
          t2 = '0' + t2;
        }
        s += t2;
      }
      else if(pattern.charAt(i)=='s'){
        if((i+1)<pattern.length&&pattern.charAt(i+1)=='s'&&t3.length==1){
          t3 = '0' + t3;
        }
        s += t3;
      }
      else{
        s += pattern.charAt(i);
      }
    }
  }
  else{
    if(t1.length==1){
      t1 = '0' + t1;
    }
    if(t2.length==1){
      t2 = '0' + t2;
    }
    if(t3.length==1){
      t3 = '0' + t3;
    }
    s = t1 + ':' + t2 + ':' + t3;
  }
  return(s);
}

function Norm(s,l){
  var s1='';
  var n=0;
  if(s){
    n=s.length;
  }
  if(n<l){
    for(i=0;i<l-n;i++){
      s1=s1+'0';
    }
  }
  if(s){
    s1=s1+s;
  }
  return(s1);
}

function AnzChar(s,c){
  var a=0;
  for(var i=0;i<s.length;i++){
    if(s.charAt(i)==c){
      a++;
    }
  }
  return(a);
}

function message(typ,array,opt){
  if(bSubmit==false){
    var besch='';
    var para ='height=350,width=400,top=50,left=50';
    var image=null;
    switch(typ){
      case 1:
        ueber='Fehler';
        besch='Es ist ein Fehler aufgetreten';
        image = urlimage + 'fehler.gif';
        break;
      case 2:
        ueber='Korrektur';
        besch='Bitte prüfen Sie das angegebene Feld';
        image = urlimage + 'hinweis.gif';
        break;
      case 3:
        ueber='Feldende';
        besch='ungültige Eingabelänge';
        image = urlimage + 'feldende.gif';
        break;
      case 4:
        ueber='Hinweis';
        besch='Beachten Sie bitte folgenden Hinweis';
        image = urlimage + 'hinweis.gif';
        break;
      default:
        ueber='Fehler';
        besch='Es ist ein Fehler aufgetreten';
        break;
    }
    if(opt){
      para=para+','+opt;
    }
    var hm=open("",'name',para);
    if(hm){
      with(hm.document){
        open();
        writeln('<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<html>');
        writeln('  <head>');
        writeln('    <title>'+ueber+'<\/title>');
        writeln('    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">');
        writeln('    <meta http-equiv="Content-Script-Type" content="text/javascript">');
        writeln('    <meta http-equiv="Content-Style-Type" content="text/css">');
        writeln('    <link rel="stylesheet" type="text/css" href="' + urlcss + '">');
        writeln('    <script language=\"JavaScript\" type=\"text/javascript\">');
        writeln('      function okp(e){');
        writeln('        var asc = null;');
        writeln('        if(e.which){');
        writeln('          asc = e.which;');
        writeln('        }');
        writeln('        else if(e.keyCode){');
        writeln('          asc = e.keyCode;');
        writeln('        }');
        writeln('        if(asc&&asc==27){');
        writeln('          self.close();');
        writeln('        }');
        writeln('      }');
        writeln('    <\/script>');
        writeln('  <\/head>');
        writeln('  <body onkeypress="okp(event);" class="FBody">');
        writeln('    <form action="">');
        writeln('      <table border="0" cellspacing="0" cellpadding="0" width="100%" class="FTBack">');
        writeln('        <tr>');
        writeln('          <td class="FTRahmen">');
        writeln('            <table border="0" cellspacing="0" cellpadding="0">');
        writeln('              <tr>');
        write('                <td class="FTBox">');
        if(image){
          write('<img src="'+image+'" alt="">&nbsp;<\/td><td>');
        }
        writeln('<span class="FTText">'+ueber+'<\/span><\/td>');
        writeln('              <\/tr>');
        writeln('            <\/table>');
        writeln('          <\/td>');
        writeln('        <\/tr>');
        writeln('      <\/table>');
        writeln('      <br class="FGAbstand">');
        writeln('      <table border="0" cellspacing="0" cellpadding="0" width="100%" class="FGRahmen">');
        if(besch){
          writeln('        <tr class="FGTBack">');
          writeln('          <td>');
          writeln('            <table border="0" cellspacing="0" cellpadding="0">');
          writeln('              <tr>');
          writeln('                <td class="FGTBox"><span class="FGTText">'+besch+'<\/span><\/td>');
          writeln('              <\/tr>');
          writeln('            <\/table>');
          writeln('          <\/td>');
          writeln('        <\/tr>');
        }
        writeln('        <tr class="FGBack">');
        writeln('          <td>');
        writeln('            <table border="0" cellspacing="1" cellpadding="3" width="100%">');
        writeln('              <tr class="FIZ0">');
        writeln('                <td class="FILabel">Feldname<\/td>');
        writeln('                <td class="FILabel">Beschreibung<\/td>');
        writeln('              <\/tr>');
        for(j=0;j<array.length;j++){
          writeln('              <tr class="FIZ'+(1-j%2)+'">'+array[j]+'<\/tr>');
        }
        writeln('            <\/table>');
        writeln('          <\/td>');
        writeln('        <\/tr>');
        writeln('      <\/table>');
        writeln('      <br class="FGAbstand">');
        writeln('      <table border="0" cellspacing="0" cellpadding="0" width="100%">');
        writeln('        <tr>');
        writeln('          <td align="right"><table border="0" cellspacing="0" cellpadding="0" class="AABack"><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td valign="middle"><img src="' + urlimage + 'aktionm.gif" alt="" title="Fenster schließen" border="0"><\/td><td valign="middle"><a class="FHref" href="javascript:window.close(self);" title="Fenster schließen" onmouseover="self.status=\'Fenster schließen\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="self.status=\'Fenster schließen\'; return true;" onblur="self.status=\'\'; return true;">Schließen<\/a><\/td><\/tr><\/table><\/td><\/tr><\/table><\/td>');
        writeln('        <\/tr>');
        writeln('      <\/table>');
        writeln('    <\/form>');
        writeln('  <\/body>');
        writeln('<\/html>');
        close();
      }
      hm.focus();
    }
  }
}

function error(typ,feld,text,rtyp){
  if(errEvent==true){
    return(false);
  }
  var err=null;
  if(bSubmit==false){
    if(text){
      switch(typ){
        case 1:
          err=text;
          errEvent=true;
          break;
        case 2:
          err=text;
          errEvent=true;
          break;
        case 3:
          err=text;
          errEvent=true;
          break;
        case 4:
          err=text;
          errEvent=true;
          break;
      }
      if(err){
        message(typ,Array('<td class="FIText">'+feld+'</td><td class="FIText">'+err+'</td>'),"scrollbars");
      }
    }
    errEvent=false;
  }
  else{
    if(!rtyp){
      if(!sArray){
        sArray=new Array();
      }
      sArray[sArray.length]='<td class="FIText">'+feld+'</td><td class="FIText">'+text+'</td>';
    }
    else{
      if(rtyp==1){
        if(!sArrayA){
          sArrayA=new Array();
          sArrayA[sArrayA.length]='<td class="FIText">'+feld+'</td><td class="FIText">'+text+'</td>';
        }
        else{
          sArrayA[sArrayA.length]='<td class="FIText">'+feld+'</td><td class="FIText">&nbsp;</td>';
        }
      }
      else{
        if(!sArrayO){
          sArrayO=new Array();
          sArrayO[sArrayO.length]='<td class="FIText">'+feld+'</td><td class="FIText">'+text+'</td>';
        }
        else{
          sArrayO[sArrayO.length]='<td class="FIText">'+feld+'</td><td class="FIText">&nbsp;</td>';
        }
      }
    }
    errEvent=false;
    return(true);
  }
}

function SetFirstInGroup(group){
  if(group&&group=='ende'){
    SetFirstInSite();
  }
  else{
    var h     = document.forms[0];
    var len   = h.elements.length;
    for(var i=0;i<len;i++){
      var e=h.elements[i];
      if(e.type&&e.type!='hidden'){
        if(!group||e.name.substring(0,group.length+1)==group+"_"){
          e.focus();
          if(e.type=='text'||e.type=='textarea'||e.type=='radio'||e.type=='password'||e.type=='file'){
            e.select();
          }
          break;
        }
      }
    }
  }
}

function SetFirstInSite(){
  var len = document.forms.length;
  for(i=0;i<len;i++){
    var f=document.forms[i];
    for(j=0;j<f.elements.length;j++){
      var h=f.elements[j];
      if(h.type&&h.type!='hidden'){
        h.focus();
        if(h.type=='text'||h.type=='textarea'||h.type=='radio'||h.type=='password'||h.type=='file'){
          h.select();
        }
        i=len;
        break;
      }
    }
  }
}

function TastePruefen(e){
  var asc=GetAsc(e);
  var ret = bRetTopKeydown;
  bRetTopKeydown = true;
  if(bInField==false){
    if(asc&&asc==8){
      return(false);
    }
  }
  if(asc&&asc==27){
    if(lastkid!=null){
      CloseKalender(lastkid,null);
    }
    if(lastfid!=null){
      CloseFarbauswahl(lastfid,null);
    }
  }
  return(ret);
}
document.onkeydown=TastePruefen
document.onkeypress=TastePruefen

function initForm(){
  for(i=0;i<document.forms.length;i++){
    for(j=0;j<document.forms[i].elements.length;j++){
      var h=document.forms[i].elements[j];
      if(h.name&&h.type){
          if(h.type=='text'||h.type=='textarea'||h.type=='password'||h.type=='file'){
            h.onkeypress=hkd;
            h.onselect=hs;
            h.onkeyup=hku;
            if(!h.onblur){
              h.onblur=hb;
            }
          }
          else if(h.type=='select-one'){
        if(h.name.substring(0,5)=='_rgb1'){
          IColor(h,h.name.substring(5),document.forms[i].elements[h.name.substring(5)].value);
        }
            h.onkeypress=hkds;
            h.onselect=hs;
            h.onkeyup=hkus;
            if(!h.onblur){
              h.onblur=hb;
            }
          }
          else if(h.type=='checkbox'||h.type=='radio'){
            h.onkeypress=hkdc;
            h.onkeyup=hkuc;
            if(!h.onblur){
              h.onblur=hb;
            }
          }
        }
    }
  }
}
function initCss(){
  if(document.styleSheets){
    for(i=0;i<document.styleSheets.length;i++){
      var rules = null;
      if(document.styleSheets[i].rules){
        rules = document.styleSheets[i].rules;
        bcss = true;
      }
      else if(document.styleSheets[i].cssRules){
        rules = document.styleSheets[i].cssRules;
        bcss = true;
      }
      if(rules){
        for(j=0;j<rules.length;j++){
          var len = am.length;
          for(var k=0;k<len;k++){
            if(rules[j].selectorText=='.'+am[k][0]){
              am[k][1] = rules[j].style.backgroundColor;
              am[k][2] = rules[j].style.color;
            }
            else if(rules[j].selectorText=='.'+am[k][0]+'Activ'){
              am[k][3] = rules[j].style.backgroundColor;
              am[k][4] = rules[j].style.color;
            }
          }
          len = ac.length;
          for(var k=0;k<len;k++){
            if(rules[j].selectorText=='.'+ac[k][0]){
              ac[k][1] = rules[j].style.borderColor;
              ac[k][2] = rules[j].style.backgroundColor;
              ac[k][3] = rules[j].style.color;
            }
            else if(rules[j].selectorText=='.'+ac[k][0]+'Activ'){
              ac[k][4] = rules[j].style.borderColor;
              ac[k][5] = rules[j].style.backgroundColor;
              ac[k][6] = rules[j].style.color;
            }
          }
        }
      }
    }
    moff = false;
  }
}

function CheckForm(f){
  rA=0;
  rO=0;
  bRet=true;
  bSubmit=true;
  var elen=document.forms[f].elements.length;
  for(i=0;i<elen;i++){
    h=document.forms[f].elements[i];
    if(h.name&&h.type&&h.onfocus){
      if(h.name.substring(0,4)!='_rgb'&&(h.type=='hidden'||h.type=='text'||h.type=='textarea'||h.type=='select-one'||h.type=='password'||h.type=='file')&&h.disabled==false){
        if(h.onfocus()==true && hb()==false){
          bRet=false;
        }
      }
    }
  }
  this.focus();
  bSubmit=false;
  if(sArray){
    message(1,sArray,"scrollbars");
    bRet=false;
  }
  else if(rA==1&&sArrayA){
    message(1,sArrayA,"scrollbars");
    bRet=false;
  }
  else if((rO==1||rO==3)&&sArrayO){
    message(1,sArrayO,"scrollbars");
    bRet=false;
  }
  sArray=null;
  sArrayA=null;
  sArrayO=null;
  return(bRet);
}

function CheckGroup(f,g){
  rA=0;
  rO=0;
  bRet=true;
  bSubmit=true;
  var elen=document.forms[f].elements.length;
  for(i=0;i<elen;i++){
    h=document.forms[f].elements[i];
    if(h.name&&h.type&&h.onfocus){
      if(h.name.substring(0,g.length+1)==g+'_'&&h.name.substring(0,4)!='_rgb'&&(h.type=='hidden'||h.type=='text'||h.type=='textarea'||h.type=='select-one'||h.type=='password'||h.type=='file')&&h.disabled==false){
        if(h.onfocus()==true && hb()==false){
          bRet=false;
        }
      }
    }
  }
  this.focus();
  bSubmit=false;
  if(sArray){
    message(1,sArray,"scrollbars");
    bRet=false;
  }
  else if(rA==1&&sArrayA){
    message(1,sArrayA,"scrollbars");
    bRet=false;
  }
  else if((rO==1||rO==3)&&sArrayO){
    message(1,sArrayO,"scrollbars");
    bRet=false;
  }
  sArray=null;
  sArrayA=null;
  sArrayO=null;
  return(bRet);
}

function CheckInfo(f,g,i){
  rA=0;
  rO=0;
  bRet=true;
  bSubmit=true;
  var n=g+'_'+i;
  var elen=document.forms[f].elements.length;
  for(i=0;i<elen;i++){
    h=document.forms[f].elements[i];
    if(h.name&&h.type&&h.focus){
      if(h.name.substring(0,n.length)==n&&h.name.substring(0,4)!='_rgb'&&(h.type=='hidden'||h.type=='text'||h.type=='textarea'||h.type=='select-one'||h.type=='password'||h.type=='file')&&h.disabled==false){
        if(h.onfocus()==true && hb()==false){
          bRet=false;
        }
      }
    }
  }
  this.focus();
  bSubmit=false;
  if(sArray){
    message(1,sArray,"scrollbars");
    bRet=false;
  }
  else if(rA==1&&sArrayA){
    message(1,sArrayA,"scrollbars");
    bRet=false;
  }
  else if((rO==1||rO==3)&&sArrayO){
    message(1,sArrayO,"scrollbars");
    bRet=false;
  }
  sArray=null;
  sArrayA=null;
  sArrayO=null;
  return(bRet);
}

function StartFrame(h,l){
  if(h){
    h.location.href = l;
  }
}

function PrintFrame(h){
  if(h){
    h.focus();
    if(window.print){
      h.print();
    }
    else{
      alert('Funktion wird von Ihrem Browser nicht unterstützt!');
    }
  }
}

var send = false;
function SubmitForm(f,a,t,o){
  if(send==false){
    send = true;
    var h=document.forms[f];
    var target=h.target;

    var myWin = window;
    if(t){

      h.target = t;
      myWin = open('about:blank',t,o);
    }

    h.action=a;
    h.method='post';
    h.submit();
    h.target = target;

    if(t){
      send=false;
    }

    if(myWin){
      myWin.focus();
    }
  }
}

function uhr(n,style){
  var heute=new Date();
  var h=heute.getHours();
  var m=heute.getMinutes();
  var s=heute.getSeconds();
  if(h<10){
    h='0'+h;
  }
  if(m<10){
    m='0'+m;
  }
  if(s<10){
    s='0'+s;
  }
  var out=h+':'+m+':'+s;
  if(document.getElementById){
    document.getElementById(n).innerHTML=out;
  }
  else if(document.all){
    document.all[n].innerHTML=out;
  }
  window.setTimeout('uhr("'+n+'","'+style+'")',1000);
}
function Kalender(monat,jahr,feld,id){
  var mname  = new Array("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
  var tname  = new Array("Mo","Di","Mi","Do","Fr","Sa","So");
  var heute  = new Date();
  var hmonat = heute.getMonth() + 1;
  var hjahr  = heute.getYear();
  var htag   = heute.getDate();
  if(!monat){
    monat = hmonat;
  }
  if(!jahr){
    jahr = hjahr;
  }
  if(jahr<999){
    jahr += 1900;
  }
  if(hjahr<999){
    hjahr += 1900;
  }
  var monat1 = monat - 1;
  var monat2 = monat + 1;
  var jahr1 = jahr;
  var jahr2 = jahr;
  if(monat1==0){
    monat1 = 12;
    jahr1--;
  }
  else if(monat2==13){
    monat2 = 1;
    jahr2++;
  }
  var datum = new Date(jahr,monat- 1,1);
  var start = datum.getDay()-1;
  if(start<0){
    start = 6;
  }
  var ende  = 31;
  if(monat==4||monat==6||monat==9||monat==11){
     ende = 30;
  }
  else if(monat==2){
    ende = 28;
    if(jahr%4==0){
      ende = 29;
    }
    if(jahr%100==0){
      ende = 28;
    }
    if(jahr%400==0){
      ende = 29;
    }
  }
  var buff = '';
  var op1 = '';
  var op2 = '';
  if(!id){
    op1 = 'opener.';
    op2 = 'window.close(self);';
    buff += '<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<html>\n';
    buff += '  <head>\n';
    buff += '    <title>Kalender<\/title>\n';
    buff += '    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\n';
    buff += '    <meta http-equiv="Content-Script-Type" content="text/javascript">\n';
    buff += '    <meta http-equiv="Content-Style-Type" content="text/css">\n';
    buff += '    <link rel="stylesheet" type="text/css" href="' + urlcss + '">\n';
    buff += '  <\/head>\n';
    buff += '  <body class="ABody">\n';
    buff += '    <form action="">\n';
  }
  else{
    op2 = 'CloseKalender(\'' + id + '\',\'' + feld + '\');';
    var height = 138;
    var zeile = 0;
    var aktuell = 0;
    for(var i=0;i<=5;i++){
      zeile++;
      for(var j=0;j<=6;j++){
        if((i!=0) || (j>=start)){
          if(aktuell<=ende){
            aktuell++;
          }
        }
      }
      if(aktuell>=ende){
        break;
      }
    }
    if(zeile==6){
      height=157;
    }
    if(navigator.appVersion.indexOf("MSIE")!=-1){
      buff += '      <div style="position:absolute;"><iframe frameborder="0" width="160" height="' + height + '"></iframe></div>\n';
    }
    buff += '      <div style="position:absolute; width:160px; height:' + height + 'px; background-color:#ffffff;">\n';
  }
  if(lastkid!=null){
    CloseKalender(lastkid,null);
  }
  lastkid = id;
  var idhref = Date.parse(new Date());
  buff += '      <table border="0" cellpadding="2" cellspacing="1" align="center" class="KALRahmen" style="background-color:#ffffff; width:100%;">\n';
  buff += '        <tr class="KALBack">\n';
  buff += '          <td colspan="7">\n';
  buff += '            <table border="0" cellspacing="0" cellpadding="0" width="100%">\n'
  buff += '              <tr>\n'
  buff += '                <td class="KALT" align="right" width="60%">' + mname[monat-1] + '&nbsp;<a class="KALTW" href="javascript:' + op1 + 'Kalender(' + monat1 + ',' + jahr1 + ',\'' + feld + '\',\'' + id + '\');" title="vorheriger Monat" onmouseover="self.status=\'vorheriger Monat\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'vorheriger Monat\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;"><img src="' + urlimage + 'small_minus.gif" alt="vorheriger Monat" border="0"><\/a>&nbsp;<a class="KALTW" href="javascript:' + op1 + 'Kalender(' + monat2 + ',' + jahr2 + ',\'' + feld + '\',\'' + id + '\');" title="n&auml;chster Monat" onmouseover="self.status=\'nächster Monat\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'nächster Monat\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;"><img src="' + urlimage + 'small_plus.gif" alt="n&auml;chster Monat" border="0"><\/a>&nbsp;&nbsp;<\/td>\n';
  buff += '                <td class="KALT" align="left"  width="35%">' + jahr + '&nbsp;<a class="KALTW" href="javascript:' + op1 + 'Kalender(' + monat + ',' + (jahr - 1) + ',\'' + feld + '\',\'' + id + '\');" title="vorheriges Jahr" onmouseover="self.status=\'vorheriges Jahr\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'vorheriges Jahr\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;"><img src="' + urlimage + 'small_minus.gif" alt="vorheriges Jahr" border="0"><\/a>&nbsp;<a class="KALTW" href="javascript:' + op1 + 'Kalender(' + monat + ',' + (jahr + 1) + ',\'' + feld + '\',\'' + id + '\');" title="n&auml;chstes Jahr" onmouseover="self.status=\'nächstes Jahr\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'nächstes Jahr\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;"><img src="' + urlimage + 'small_plus.gif" alt="n&auml;chstes Jahr" border="0"><\/a>&nbsp;<\/td>\n';
  buff += '                <td align="right" width="5%"><a class="KALTC" href="javascript:' + op2 + ';" title="Schließen" onmouseover="self.status=\'Schließen\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'Schließen\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;">x<\/a><\/td>\n';
  buff += '              <\/tr>\n'
  buff += '            <\/table>\n'
  buff += '          <\/td>\n'
  buff += '        <\/tr>\n';
  buff += '        <tr class="KALNBack">\n';
  for(var i=0;i<=6;i++){
    buff += '          <td class="KALN">' + tname[i] + '<\/td>\n';
  }
  buff += '        <\/tr>\n';
  var aktuell = 1;
  for(var i=0;i<=5;i++){
    buff += '        <tr class="KALZ' + (i%2) + '">\n';
    for(var j=0;j<=6;j++){
      if((i==0) && (j<start)){
        buff += '          <td class="KALE">&#160;<\/td>\n';
      }
      else{
        if(aktuell>ende){
          buff += '          <td class="KALE">&#160;<\/td>\n';
        }
        else{
          var title='Auswahl: ';
          if(aktuell<10){
            title += '0';
          }
          title += aktuell + '.';
          if(monat<10){
            title += '0';
          }
          title += monat + '.' + jahr;
          if((jahr==hjahr) && (monat==hmonat) && (aktuell==htag)){
            buff += '          <td align="right"><a id="' +idhref + '" class="KALDA" href="javascript:' + op1 + 'SetKalender(' + aktuell + ',' + monat + ',' + jahr + ',\'' + feld + '\',\'' + id + '\');' + op2 + '" title="' + title + '" onmouseover="self.status=\'' + title + '\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'' + title + '\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;">' + aktuell + '<\/a><\/td>\n';
          }
          else{
            buff += '          <td align="right"><a class="KALD" href="javascript:' + op1 + 'SetKalender(' + aktuell + ',' + monat + ',' + jahr + ',\'' + feld + '\',\'' + id + '\');' + op2 + '" title="' + title + '" onmouseover="self.status=\'' + title + '\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'' + title + '\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;">' + aktuell + '<\/a><\/td>\n';
          }
          aktuell++;
        }
      }
    }
    buff += '        <\/tr>\n';
    if(aktuell>ende){
      break;
    }
  }
  buff += '      <\/table>\n';
  if(!id){
    buff += '      <br class="AGAbstand">\n';
    buff += '      <table border="0" cellspacing="0" cellpadding="0" width="100%">\n';
    buff += '        <tr>\n';
    buff += '          <td align="right"><table border="0" cellspacing="0" cellpadding="0" class="AABack"><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td valign="middle"><img src="' + urlimage + 'aktionm.gif" alt="" title="Fenster schließen" border="0"><\/td><td valign="middle"><a class="AHref" href="javascript:' + op2 + ';" title="Fenster schließen" onmouseover="self.status=\'Fenster schließen\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'Fenster schließen\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;">Schließen<\/a><\/td><\/tr><\/table><\/td><\/tr><\/table><\/td>\n';
    buff += '        <\/tr>\n';
    buff += '      <\/table>\n';
    buff += '    <\/form>\n';
    buff += '  <\/body>\n';
    buff += '<\/html>';
    var hm=open("","Kalender","height=220,width=200,top=50,left=50");
    if(hm){
      with(hm.document){
        open();
        writeln(buff);
        close();
      }
      hm.focus();
    }
  }
  else{
    buff += '      <\/div>\n';
    var e = null;
    if(document.getElementById){
      e = document.getElementById(id);
    }
    else if(document.all){
      e = document.all.tags('div')[id];
    }
    if(e!=null){
      e.innerHTML = buff;
      e.style.visibility='visible';
      var ehref;
      if(document.getElementById){
        ehref = document.getElementById(idhref);
      }
      else if(document.all){
        ehref = document.all.tags('a')[idhref];
      }
      if(ehref){
        ehref.focus();
      }
      else{
        e.focus();
      }
    }
  }
}

function SetKalender(tag,monat,jahr,feld){
  var ret;
  if(tag<10){
    ret = '0' + tag + '.';
  }
  else{
    ret = tag + '.';
  }
  if(monat<10){
    ret += '0' + monat + '.' + jahr;
  }
  else{
    ret += monat + '.' + jahr;
  }
  if(document.forms[0].elements[feld]){
    document.forms[0].elements[feld].value = ret;
  }
}

function CloseKalender(id,feld){
  var e = null;
  if(document.getElementById){
    e = document.getElementById(id);
  }
  else if(document.all){
    e = document.all.tags('div')[id];
  }
  if(e!=null){
    e.innerHTML = '';
    e.style.visibility='hidden';
    if(feld){
      var h = document.forms[0].elements[feld];
      if(h){
        h.focus();
      }
    }
  }
  lastkid = null;
}
function Farbauswahl(feld,id){
  var buff = '';
  var op1 = '';
  var op2 = '';
  if(!id){
    op1 = 'opener.';
    op2 = 'window.close(self);';
    buff += '<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<html>\n';
    buff += '  <head>\n';
    buff += '    <title>Farbauswahl<\/title>\n';
    buff += '    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\n';
    buff += '    <meta http-equiv="Content-Script-Type" content="text/javascript">\n';
    buff += '    <meta http-equiv="Content-Style-Type" content="text/css">\n';
    buff += '    <link rel="stylesheet" type="text/css" href="' + urlcss + '">\n';
    buff += '  <\/head>\n';
    buff += '  <body class="ABody">\n';
    buff += '    <form action="">\n';
  }
  else{
    op2 = 'CloseFarbauswahl(\'' + id + '\',\'' + feld + '\');';
    if(navigator.appVersion.indexOf("MSIE")!=-1){
      buff += '      <div style="position:absolute;"><iframe frameborder="0" width="185" height="180"></iframe></div>\n';
    }
    buff += '      <div style="position:absolute; width:185px; height:180px; background-color:#ffffff;">\n';
  }
  if(lastfid!=null){
    CloseFarbauswahl(lastfid,null);
  }
  lastfid = id;
  buff += '      <table border="0" cellspacing="1" cellpadding="0" class="FARBRahmen">\n';
  buff += '        <tr>\n';
  buff += '          <td id="' + feld + '_1" colspan="2" style="font-size:8pt;">&nbsp;<\/td>\n';
  buff += '          <td id="' + feld + '_2" colspan="23" style="font-size:8pt; font-family:arial; font-weight:bold; background-color:#ffffff;">Farbauswahl<\/td>\n';
  buff += '          <td align="right"><a class="FARBC" href="javascript:' + op2 + ';" title="Schließen" onmouseover="self.status=\'Schließen\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'Schließen\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;">x<\/a><\/td>\n';
  buff += '        <\/tr>\n';
  buff += '        <tr>\n';
  var farbe1 = 0;
  var farbe2 = 0;
  var farbe3 = 260;
  var fall = 0;
  for(var i=0;i<520;i++){
    if(fall==0){
      if(farbe3>0){
        farbe3 -= 5;
      }
      else{
        fall = 1;
      }
    }
    else if(fall==1){
      if(farbe1<255){
        farbe1 += 5;
        farbe2 += 5;
        farbe3 += 5;
      }
      else{
        fall = 2;
      }
    }
    else if(fall==2){
      if(farbe3>0){
        farbe3 -= 5;
      }
      else{
        fall = 3;
      }
    }
    else if(fall==3){
      if(farbe2>0){
        farbe2 -= 5;
      }
      else{
        fall = 4;
      }
    }
    else if(fall==4){
      if(farbe3<255){
        farbe3 += 5;
      }
      else{
        fall = 5;
      }
    }
    else if(fall==5){
      if(farbe1>0){
        farbe1 -= 5;
      }
      else{
        fall = 6;
      }
    }
    else if(fall==6){
      if(farbe2<255){
        farbe2 += 5;
      }
      else{
        fall = 7;
      }
    }
    else if(fall==7){
      if(farbe3>0){
        farbe3 -= 5;
      }
      else{
        fall = 8;
      }
    }
    else if(fall==8){
      if(farbe2>0){
        farbe2 -= 5;
      }
      else{
        fall = 9;
      }
    }
    else if(fall==9){
      if(farbe1<255){
        farbe1 += 5;
      }
      else{
        fall = 10;
        farbe1=255;
        farbe2=255;
        farbe3=255;
      }
    }
    buff += '          <td onclick="' + op1 + 'SetFarbauswahl(\'' + feld + '\',' + farbe1 + ',' + farbe2 + ',' + farbe3 + ');' + op2 + '" onmouseover="' + op1 + 'UpdateFarbauswahl(document,\'' + feld + '\',' + farbe1 + ',' + farbe2 + ',' + farbe3 + ');" title="' + farbe1 + ',' + farbe2 + ',' + farbe3 + '" style="font-size:5pt; background-color:rgb('+  farbe1 + ',' + farbe2 + ',' + farbe3 +  ')" width="6">&nbsp;<\/td>\n';
    if(((i+1)%26)==0){
      buff += '        <\/tr>\n';
      buff += '        <tr>\n';
    }
  }
  buff += '        <\/tr>\n';
  buff += '      <\/table>\n';
  if(!id){
    buff += '      <br class="AGAbstand">\n';
    buff += '      <table border="0" cellspacing="0" cellpadding="0" width="100%">\n';
    buff += '        <tr>\n';
    buff += '          <td align="right"><table border="0" cellspacing="0" cellpadding="0" class="AABack"><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td valign="middle"><img src="' + urlimage + 'aktionm.gif" alt="" title="Fenster schließen" border="0"><\/td><td valign="middle"><a class="AHref" href="javascript:' + op2 + ';" title="Fenster schließen" onmouseover="self.status=\'Fenster schließen\'; return true;" onmouseout="self.status=\'\'; return true;" onfocus="IgnoreEnter=true; self.status=\'Fenster schließen\'; return true;" onblur="IgnoreEnter=false; self.status=\'\'; return true;">Schließen<\/a><\/td><\/tr><\/table><\/td><\/tr><\/table><\/td>\n';
    buff += '        <\/tr>\n';
    buff += '      <\/table>\n';
    buff += '    <\/form>\n';
    buff += '  <\/body>\n';
    buff += '<\/html>';
    var hm=open("","Farbauswahl","height=220,width=200,top=50,left=50");
    if(hm){
      with(hm.document){
        open();
        writeln(buff);
        close();
      }
      hm.focus();
    }
  }
  else{
    buff += '      <\/div>\n';
    var e = null;
    if(document.getElementById){
      e = document.getElementById(id);
    }
    else if(document.all){
      e = document.all.tags('div')[id];
    }
    if(e!=null){
      e.innerHTML = buff;
      e.style.visibility='visible';
    }
  }
}

function UpdateFarbauswahl(doc,feld,f1,f2,f3){
  var e1 = null;
  var e2 = null;
  if(doc.getElementById){
    e1 = doc.getElementById(feld+'_1');
    e2 = doc.getElementById(feld+'_2');
  }
  else if(doc.all){
    e1 = doc.all.tags('td')[feld+'_1'];
    e2 = doc.all.tags('td')[feld+'_2'];
  }
  if(e1!=null&&e2!=null){
    var farbe = "0123456789ABCDEF";
    var hex = farbe.charAt(Math.floor(f1 / 16)) + farbe.charAt(((f1 / 16) - Math.floor(f1 / 16)) * 16)
            + farbe.charAt(Math.floor(f2 / 16)) + farbe.charAt(((f2 / 16) - Math.floor(f2 / 16)) * 16)
            + farbe.charAt(Math.floor(f3 / 16)) + farbe.charAt(((f3 / 16) - Math.floor(f3 / 16)) * 16);
    var out = '#' + hex + ' (' + f1 + ',' + f2 + ',' + f3 + ')';
    e1.style.backgroundColor= '#' + hex;
    e2.innerHTML = out;
    self.status = out;
  }
}

function SetFarbauswahl(feld,f1,f2,f3){
  var e = null;
  var f = document.forms[0];
  if(document.getElementById){
    e = document.getElementById(feld);
  }
  else if(document.all){
    document.all.tags('span')[feld];
  }
  if(e&&f){
    var i = 0;
    var r = f.elements['_rgb1'+feld];
    var g = f.elements['_rgb2'+feld];
    var b = f.elements['_rgb3'+feld];
    if(r&&g&&b){
      if(r.options[0].text.length==0){
        i++;
      }
      r.selectedIndex = f1+i;
      g.selectedIndex = f2+i;
      b.selectedIndex = f3+i;
      var farbe = "0123456789ABCDEF";
      var hex = farbe.charAt(Math.floor(f1 / 16)) + farbe.charAt(((f1 / 16) - Math.floor(f1 / 16)) * 16)
              + farbe.charAt(Math.floor(f2 / 16)) + farbe.charAt(((f2 / 16) - Math.floor(f2 / 16)) * 16)
              + farbe.charAt(Math.floor(f3 / 16)) + farbe.charAt(((f3 / 16) - Math.floor(f3 / 16)) * 16);
      e.style.backgroundColor = '#' + hex;
      f.elements[feld].value = hex;
    }
  }
}

function CloseFarbauswahl(id,feld){
  var e = null;
  if(document.getElementById){
    e = document.getElementById(id);
  }
  else if(document.all){
    e = document.all.tags('div')[id];
  }
  if(e!=null){
    e.innerHTML = '';
    e.style.visibility='hidden';
    if(feld){
      var h = document.forms[0].elements[feld];
      if(h){
        h.focus();
      }
    }
  }
  lastfid = null;
}

function GetZahl(meldung,min,max){
  var text = '';
  var text1 = '';
  if(meldung){
    text = meldung;
    if(min!=null|max!=null){
      text += '\r\n';
    }
  }
  if(min!=null & max!=null){
    text += '(Eingaben zwischen ' + min + ' und ' + max + ' erlaubt)';
  }
  else if(min!=null){
    text += '(Eingaben größer ' + min + ' erlaubt)';
  }
  else if(max!=null){
    text2 += '(Eingaben kleiner ' + max + ' erlaubt)';
  }
  var ret = null;
  var abfrage = true;
  while(abfrage==true){
    abfrage = false;
    eingabe = prompt(text1+text,'');
    text1 = '';
    if(eingabe){
      if(isNaN(eingabe)==true){
        text1 = 'Keine gültige Zahl. ';
        abfrage = true;
      }
      else{
        ret = Number(eingabe);
        if(min!=null & ret<min){
          text1 = 'Zahl zu klein. ';
          abfrage = true;
        }
        else if(max!=null & ret>max){
          text1 = 'Zahl zu groß. ';
          abfrage = true;
        }
      }
    }
    else{
      ret = 0;
    }
  }
  return(ret);
}


