function testmailformat(nFormular,nElement,Sprache)
{
Eingabe=document.forms[nFormular].elements[nElement].value;
Ergebnis=(Eingabe.search(/\S+@\S+\.\S+/)>-1);
if ((!Ergebnis) && (Sprache=='D'))
        {alert('Bitte geben Sie eine gültige Emailadresse ein.');}
if ((!Ergebnis) && (Sprache=='E'))
        {alert('Please enter a valid email address.');}
return Ergebnis;
}

function EvalFields(nFormular,Sprache)
{

eZWName='Zahlungsweise*o';

Ergebnis=true;
for(i=0;i<document.forms[nFormular].elements.length;i++)
  {
  e=document.forms[nFormular].elements[i];
  n=e.name;n2=n.substr(0,n.length-2);

  v=e.value;l=v.length;
  MsgD="Bitte geben Sie ";MsgD2=" ein.";
  MsgE="Please enter ";MsgE2=".";
  M="";
  Ergebnis=true;
  if(n.substr(n.length-2,1)=='*')
  {
    switch(n.substr(n.length-1,1))
      {case '0'://beliebige Zahl
       Ergebnis=!isNaN(v);
       if(Sprache=="D")
         {M="eine Zahl"}else
         {M="a number"}
       break;
       case '1'://Zahl größer 0
       if(!isNaN(v)){Ergebnis=(v>0);}else{Ergebnis=false}
       if(Sprache=="D")
         {M="eine Zahl größer als 0 in"}else
         {M="a number higher than zero in"}
       break;
       case 't'://Telefon: 0..9 () / -
       re=/^[0-9\s\(\)\+\-\/]+$/;
       Ergebnis=re.test(v);
       if(Sprache=="D")
         {M="eine gültige Telefonnummer in"}else
         {M="a valid phone number in"}
       break;
       case 'e'://Email x@x.x
       Ergebnis=(v.search(/\S+@\S+\.\S+/)>-1);
       if(Sprache=="D")
         {M="eine gültige Emailadresse in"}else
         {M="a valid email address in"}
       break;
       case 'u'://URL http...
       Ergebnis=(v.search(/^http/)>-1);
       if(Sprache=="D")
         {M="eine gültige Webadresse (http...) in"}else
         {M="a valid web address (http...) in"}
       break;
       case 'd'://Datum 00.00.00(00)
       //Ergebnis=(v.search(/^[0-3]?[0-9]?\.[0,1]?[0-9]\.[20]?[0-9][0-9]/)>-1);
       Ergebnis=gueltigesDatum(v);
       if(Sprache=="D")
         {M="ein gültiges Datum (tt.mm.jj) in"}else
         {M="a valid date (dd.mm.yy) in"}
       break;

       case 'o'://Radiobuttons
       cTest=0;
       for(i2=0;i2<document.forms[nFormular].elements.length;i2++)
         {e2=document.forms[nFormular].elements[i2];
          if((e2.name==n)&&(e2.checked))cTest++;
         }
       Ergebnis=(cTest==1);
       if(Sprache=="D")
         {MsgD="Bitte markieren Sie";MsgD2="."}else
         {MsgE="Please mark"}
       break;

       case 'c'://checkbox angehäkelt

       Ergebnis=e.checked;
       M="";
       if(Sprache=="D")
         {MsgD="Bitte markieren Sie";MsgD2="."}else
         {MsgE="Please mark"}
       break;

       case 'b'://Bankangaben länger als 4 Zeichen
       Ergebnis=((l>4)||(document.forms[nFormular].elements[eZWName][1].checked!=true));
       if(Sprache=="D")
         {M=" etwas in"}else
         {M="some text in"}
       break;

       case '8'://Bankleitzahl genau 8
       Ergebnis=((l==8)||(document.forms[nFormular].elements[eZWName][1].checked!=true));
       M="";
       if(Sprache=="D")
         {MsgD="Bitte geben Sie genau 8 Ziffern in";MsgD2=" ein."}else
         {MsgE="Please enter 8 Numbers in"}
       break;

       default://"x" beliebiger Text länger als 2 Zeichen


       Ergebnis=(l>2);
       if(Sprache=="D")
         {M="etwas in"}else
         {M="some text in"}
       break;
       }//switch
    }//if *
    //alert (Ergebnis);
    if (!Ergebnis)
    {if(n2.substr(2,1)=='_')n2=n2.substr(3,1000);
     if(Sprache=="D")
      {Msg=MsgD+M+" das Feld "+n2+MsgD2}else
      {Msg=MsgE+M+" the field "+n2+MsgE2}
     alert(Msg);
     document.forms[nFormular].elements[i].focus();
     break;
    }
  }//for
return Ergebnis;
}

function gueltigesDatum (datum)
{
 if (!datum) return false;
 datum=datum.toString();

 datum=datum.split(".");
 if (datum.length!=3) return false;

 datum[0]=parseInt(datum[0],10);
 datum[1]=parseInt(datum[1],10)-1;

 if (datum[2].length==2) datum[2]="20"+datum[2];

 var kontrolldatum=new Date(datum[2],datum[1],datum[0]);

 if (kontrolldatum.getDate()==datum[0] && kontrolldatum.getMonth()==datum[1] && kontrolldatum.getFullYear()==datum[2])
     return true; else return false;
}



function testURLformat(nFormular,nElement,Sprache)
{
Eingabe=document.forms[nFormular].elements[nElement].value;
if (Eingabe=='')
{
document.forms[nFormular].elements[nElement].value='keine';
return true;
}else
{
Ergebnis=(Eingabe.search(/^http/)>-1);
if ((!Ergebnis) && (Sprache=='D'))
        {alert('Bitte geben Sie eine gültige Webadresse ( http ... ) ein.');}
if ((!Ergebnis) && (Sprache=='E'))
        {alert('Please enter a valid web address ( http ... ).');}
return Ergebnis;
}
}
function testformats(nFormular,nElement1,nElement2,Sprache)
{
if (nFormular=='eintrag')
{
    if (document.forms[nFormular].elements['Name'].value=='')
    {
        document.forms[nFormular].elements['Name'].value='Anonymus'
    }
    if (document.forms[nFormular].elements['Betreff'].value=='')
    {
        document.forms[nFormular].elements['Betreff'].value='siehe Kommentar'
    }
    if (document.forms[nFormular].elements['Kommentar'].value=='')
    {
        document.forms[nFormular].elements['Kommentar'].value='Kein Kommentar'
    }
}
return testmailformat(nFormular,nElement1,Sprache) && testURLformat(nFormular,nElement2,Sprache);
}
