var CtrlText=0
var CtrlTextZahlen=1
var CtrlZahlen=2
var CtrlZahlenStrict=3
var CtrlDatumStrict=4
var CtrlDatum=5
var CtrlMail=6



function CtrlEingabe(ObjId,Ctrl,NullEingabe,Hinweis)
{

var CtrlFindZahlen=/\d.+/;  // zahlen und buchstaben in zeichenkette:
var CtrlFindZeichen=/\D/;   // zeichen ohne zahlen:

//alert(ObjId + ": " + Id(ObjId).value)

var res=true

switch(Ctrl)
{
 case CtrlText:
  if (CtrlFindZahlen.test(Id(ObjId).value)==false && CtrlFindZeichen.test(Id(ObjId).value)==true) {}
  else {res=false;}
  break;
 case CtrlTextZahlen:
//  if (CtrlFindZahlen.test(Id(ObjId).value)==true || CtrlFindZeichen.test(Id(ObjId).value)==true) {}
//  else {}
  break;
 case CtrlZahlen:
  if (CtrlFindZahlen.test(Id(ObjId).value)==true && CtrlFindZeichen.test(Id(ObjId).value)==false) {}
  else {res=false;}
  break;
 case CtrlZahlenStrict:
  if (bw.ie4 || bw.ie5 || bw.ie6)
  {
   var Taste=window.event.keyCode
   if (Taste>47 && Taste<58 || Taste==44|| Taste==46) {res=true;}
   else {window.event.keyCode=0;res=false;}
  }
  break;
 case CtrlDatumStrict:
  if (bw.ie4 || bw.ie5 || bw.ie6)
  {
   var Taste=window.event.keyCode
   if (Taste>47 && Taste<58 || Taste==46) {res=true}
   else {window.event.keyCode=0;res=false;}
  }
  break;
 case CtrlDatum:
  var Datum_Array=Id(ObjId).value.split(".")
  if (Datum_Array.length==3)
  {
   var Datum_Tag=Datum_Array[0];var Datum_Monat=Datum_Array[1];var Datum_Jahr=Datum_Array[2]
   if (Datum_Tag.length==1) {Datum_Tag="0"+Datum_Tag}
   if (Datum_Monat.length==1) {Datum_Monat="0"+Datum_Monat}
   if (Datum_Jahr.length<=2 && Datum_Jahr.length!=0)
    { if (Datum_Jahr.length==1) {var DatumJahrVor="200"} else {var DatumJahrVor="20"};var Datum_Jahr=DatumJahrVor+Datum_Jahr}
   else
     {var now = new Date();Datum_Jahr=now.getYear()}
   var Datum=new Date(Datum_Jahr,Datum_Monat-1,Datum_Tag,0,0,00)
   if (Datum.getDate()-Datum_Tag==0 && (Datum.getMonth()+1)-Datum_Monat==0 && Datum.getYear()-Datum_Jahr==0)
    {Id(ObjId).value=(Datum_Tag+"."+Datum_Monat+"."+Datum_Jahr);res=true}
   else {Id(ObjId).value="";res=false;}
  }
  else if (Datum_Array.length==2)// keine Jahreszahl und kein . angegeben
  {var now = new Date();Id(ObjId).value=Id(ObjId).value+"."+now.getYear()}
  else {res=false;}
  break;
 case CtrlMail:
  if (Ctrl_isMail(Id(ObjId).value)==true) {}
  else {res=false;}
  break;
 }

if (NullEingabe){ if (Id(ObjId).value=="") {res=false;}}

if (res==false)
 {

 Id(ObjId).style.border = "solid red 2px";
 window.setTimeout("Ctrl_BorderOff('" + ObjId + "')",500)
 if (Hinweis) {alert(Hinweis)}
 }

return(res)

}

function Ctrl_BorderOff(CtrlObj)
 { Id(CtrlObj).style.border = "solid black 1px";}

function Ctrl_isMail(s)
{
 var a = false;
 var res = false;
 if(typeof(RegExp) == 'function')
 {
  var b = new RegExp('abc');
  if(b.test('abc') == true){a = true;}
  }
 if(a == true)
 {
  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
  res = (reg.test(s));
 }
 else
 {
  res = (s.search('@') >= 1 &&
  s.lastIndexOf('.') > s.search('@') &&
  s.lastIndexOf('.') >= s.length-5)
 }
 return(res);
}

function Ctrl_isText(pruef_text)
 {
      ist_text=true
      pruef_text=pruef_text.toUpperCase();

      for(n=0;n<pruef_text.length;n++)
             {
             var Z=pruef_text.charAt(n)
             if(Z<"A"||Z>"Z")
             {
              if (Z=="Ü"||Z=="Ö"||Z=="Ä"||Z=="ß") ist_text=true;
              else if(Z<"1"||Z>"0") ist_text=true;
              else ist_text=false;
             }
             }
      if(pruef_text=="") ist_text=false;
      return(ist_text);
}

function CtrlGenKat()
{

 Id("ArtikelTitel").value=Id("mar_nr").options[Id("mar_nr").selectedIndex].text + " " + Id("typ").value+",  "+Id("kat_nr").options[Id("kat_nr").selectedIndex].text

}

function CtrlFormCheck(ObjIdList)
{
// zum verlassen eines formularfeldes: der onblur event der id-steuerlemente wird angesprochen
// ObjIdList ist string Id-zeichenkette mit , als trennzeichen

 var ObjId = ObjIdList.split(",");
 var res=false

 for(var i = 0; i < ObjId.length; ++i)
 { if (Id(ObjId[i]).onblur()==true) {res=true} }

 return(res)
}
