function CheckInput()
{
   var addr;
   var inf1;
   var inf2;
   var pos,lpos;
   var mon=0,jahr=0;
   var hex;
   var addr=0;
   var xl,xo=0;
   
   aval = document.forms.CR.A.value;       // Adresse
   inf1 = document.forms.CR.I.value;       // info 1
   inf2 = document.forms.CR.J.value;       // info 2
   
   for( i=0; i < 4; i++)
   {
      if ( document.forms.CR.T[i].checked )    // offset
      {
         xo   = parseInt(document.forms.CR.T[i].value);  // offset
         break;
      }
   }
   
   for( i=0; i < 4; i++)
   {
      if ( document.forms.CR.W[i].checked ) 
      {
         xl = parseInt(document.forms.CR.W[i].value);    // Anzahl der Bytes
         break;
      }
   }      
      
   if ( aval == "" )
   {     
      alert("Adress Eingabe fehlt: ");
      document.forms.CR.A.focus();
      return false;
   }
   
   if ( inf1 == "" )
   {     
      alert("Info Eingabe fehlt: ");
      document.forms.CR.I.focus();
      return false;
   }
   if ( inf2 == "" && xl == 8 )
   {     
      alert("Info 2 Eingabe fehlt: ");
      document.forms.CR.J.focus();
      return false;
   }   
   
   if ( check(aval) )
   {       
      pos = aval.indexOf(".");
      lpos = aval.lastIndexOf(".");
      if ( pos >= 0 && pos == lpos ) 
      {
         mon  = parseInt(aval.substring(0,pos));
         jahr = parseInt(aval.substring(pos+1));
         if ( mon > 0 && mon < 13 )
         {
            addr = (mon-1)*16;                  
            if ( (jahr % 2) == 1 )
               addr = addr + 256;                     
            addr = addr + xo;           // offset dazu                      
            document.forms.CR.A.value = addr;                        
         }
         else
         {
            alert("Adressen Eingabe falsch");
            document.forms.CR.A.focus();
            return false;             
         }         
      }
      else
      {      
         addr = parseInt(aval);
         document.forms.CR.A.value = addr;                   
      }      
   }
   else
   {  
      aval = aval.toLowerCase(); 
      pos = aval.indexOf("0x");
      if ( pos == 0 )
      {
         hex = aval.substring(2);          
         addr = parseInt( hex, 16 );
         document.forms.CR.A.value = addr;                   
      }
      else
      {
         alert("Adressen Eingabe: Falsche Zeichen");
         document.forms.CR.A.focus();
         return false;
      }
   }

   if ( check(inf1) )
   {      
      pos = inf1.indexOf(".");
      if ( pos >= 0 ) 
      {
         alert("Info 1 Eingabe falsch");
         document.forms.CR.I.focus();
         return false;         
      }
      else
      {     
         inf1 = parseInt( inf1 );
         if ( inf1 < 4294967296 )
            document.forms.CR.I.value = inf1;
         else
         {
            alert("Info 1 Eingabewert zu gross");
            document.forms.CR.I.focus();
            return false;
         }                       
      }      
   }
   else
   {  
      wert = inf1.toLowerCase(); 
      pos = inf1.indexOf("0x");
      if ( pos == 0 )
      {
         hex = inf1.substring(2);          
         inf1 = parseInt( hex, 16 );
         if ( inf1 < 4294967296 )
            document.forms.CR.I.value = inf1;
         else
         {
            alert("Info 1 Eingabewert zu gross");
            document.forms.CR.I.focus();
            return false;
         }                  
      }
      else
      {
         alert("Info 1 Eingabe: Falsche Zeichen");
         document.forms.CR.I.focus();
         return false;
      }
   } 

   if ( xl == 8 )
   {   
      if ( check(inf2) )
      {      
         pos = inf2.indexOf(".");
         if ( pos >= 0 ) 
         {
            alert("Info 2 Eingabe falsch");
            document.forms.CR.J.focus();
            return false;         
         }
         else
         {     
            inf2 = parseInt( inf2 );
            if ( inf2 < 4294967296 )
               document.forms.CR.J.value = inf2;
            else
            {
               alert("Info 2 Eingabewert zu gross");
               document.forms.CR.J.focus();
               return false;
            }                       
         }      
      }
      else
      {  
         wert = inf2.toLowerCase(); 
         pos = inf2.indexOf("0x");
         if ( pos == 0 )
         {
            hex = inf2.substring(2);          
            inf2 = parseInt( hex, 16 );
            if ( inf2 < 4294967296 )
               document.forms.CR.J.value = inf2;
            else
            {
               alert("Info 2 Eingabewert zu gross");
               document.forms.CR.I.focus();
               return false;
            }                  
         }
         else
         {
            alert("Info 2 Eingabe: Falsche Zeichen");
            document.forms.CR.I.focus();
            return false;
         }
      } 
   }
   
   var sPin = prompt("Bitte PIN eingeben:");   
   if ( sPin.localeCompare('5432') == 0 )
      return true;
   else 
      return false;    
}

function check( txt )
{
   var gueltig = "0123456789.";
   for (var i = 0; i < txt.length; i++)
   {
      if ( gueltig.indexOf( txt.charAt(i)) < 0)
         return false;
   }
   return true;
}

function CheckInput_N()
{
   var addr;
   var inf1;
   var inf2;
   var pos,lpos;
   var tag=0;
   var mon=0;
   var jahr=0;
   var hex;
   var addr=0;
   var xl=0;
   var montab;
   var i;
   
   montab=new Array(13); 
   // jan            feb           mar             apr             mai              jun     
   montab[0] = 31; montab[1] = 28; montab[2] = 31; montab[3] = 30; montab[4]  = 31; montab[5]  = 30;
   
   // jul            aug           sep             okt             nov          
   montab[6] = 31; montab[7] = 31; montab[8] = 30; montab[9] = 31; montab[10] = 30; montab[11] = 31;
   
   
   aval = document.forms.NR.A.value;       // Adresse
   inf1 = document.forms.NR.I.value;       // info 1
   inf2 = document.forms.NR.J.value;       // info 2
         
   for( i=0; i < 4; i++)
   {
      if ( document.forms.NR.W[i].checked ) 
      {
         xl = parseInt(document.forms.NR.W[i].value);    // Anzahl der Bytes
         break;
      }
   }      
      
   if ( aval == "" )
   {     
      alert("Adress Eingabe fehlt: ");
      document.forms.NR.A.focus();
      return false;
   }
   
   if ( inf1 == "" )
   {     
      alert("Info Eingabe fehlt: ");
      document.forms.NR.I.focus();
      return false;
   }
   if ( inf2 == "" && xl == 8 )
   {     
      alert("Info 2 Eingabe fehlt: ");
      document.forms.NR.J.focus();
      return false;
   }   
   
   if ( check(aval) )
   {      
      pos = aval.indexOf(".");
      lpos = aval.lastIndexOf("."); 
      if ( pos >= 0 && pos < lpos )       // min. 2 Punkte       
      {
         tag  = parseInt(aval.substring(0,pos));
         mon  = parseInt(aval.substring(pos+1,lpos));
         jahr = parseInt(aval.substring(lpos+1));         
                  
         jahr = jahr % 4;
         if ( jahr == 0 )
            montab[1] = 29;
            
         jahr = jahr * 1024;            // jahres offset adresse
         if ( mon > 0 && mon < 13 )
         {
            if ( tag > 0  && tag <= montab[ mon-1 ] )
            {
               addr = 0;
               for ( i=0; i < (mon -1); i++)
                  addr += montab[i];               
               addr += tag;
               addr *= 2;                 
               addr += jahr;                      
               document.forms.NR.A.value = addr;
            }
            else
            {
               alert("Adressen Eingabe falsch");
               document.forms.NR.A.focus();
               return false;             
            }              
         }
         else
         {
            alert("Adressen Eingabe falsch");
            document.forms.NR.A.focus();
            return false;             
         }         
      }
      else
      {      
         addr = parseInt(aval);
         document.forms.NR.A.value = addr;                   
      }      
   }
   else
   {  
      aval = aval.toLowerCase(); 
      pos = aval.indexOf("0x");
      if ( pos == 0 )
      {
         hex = aval.substring(2);          
         addr = parseInt( hex, 16 );
         document.forms.NR.A.value = addr;                   
      }
      else
      {
         alert("Adressen Eingabe: Falsche Zeichen");
         document.forms.NR.A.focus();
         return false;
      }
   }

   if ( check(inf1) )
   {      
      pos = inf1.indexOf(".");
      if ( pos >= 0 ) 
      {
         alert("Info 1 Eingabe falsch");
         document.forms.NR.I.focus();
         return false;         
      }
      else
      {     
         inf1 = parseInt( inf1 );
         if ( inf1 < 4294967296 )
            document.forms.NR.I.value = inf1;
         else
         {
            alert("Info 1 Eingabewert zu gross");
            document.forms.NR.I.focus();
            return false;
         }                       
      }      
   }
   else
   {  
      wert = inf1.toLowerCase(); 
      pos = inf1.indexOf("0x");
      if ( pos == 0 )
      {
         hex = inf1.substring(2);          
         inf1 = parseInt( hex, 16 );
         if ( inf1 < 4294967296 )
            document.forms.NR.I.value = inf1;
         else
         {
            alert("Info 1 Eingabewert zu gross");
            document.forms.NR.I.focus();
            return false;
         }                  
      }
      else
      {
         alert("Info 1 Eingabe: Falsche Zeichen");
         document.forms.NR.I.focus();
         return false;
      }
   } 

   if ( xl == 8 )
   {   
      if ( check(inf2) )
      {      
         pos = inf2.indexOf(".");
         if ( pos >= 0 ) 
         {
            alert("Info 2 Eingabe falsch");
            document.forms.NR.J.focus();
            return false;         
         }
         else
         {     
            inf2 = parseInt( inf2 );
            if ( inf2 < 4294967296 )
               document.forms.NR.J.value = inf2;
            else
            {
               alert("Info 2 Eingabewert zu gross");
               document.forms.NR.J.focus();
               return false;
            }                       
         }      
      }
      else
      {  
         wert = inf2.toLowerCase(); 
         pos = inf2.indexOf("0x");
         if ( pos == 0 )
         {
            hex = inf2.substring(2);          
            inf2 = parseInt( hex, 16 );
            if ( inf2 < 4294967296 )
               document.forms.NR.J.value = inf2;
            else
            {
               alert("Info 2 Eingabewert zu gross");
               document.forms.NR.I.focus();
               return false;
            }                  
         }
         else
         {
            alert("Info 2 Eingabe: Falsche Zeichen");
            document.forms.NR.I.focus();
            return false;
         }
      } 
   }
   
   var sPin = prompt("Bitte PIN eingeben:");   
   if ( sPin.localeCompare('5432') == 0 )
      return true;
   else 
      return false;    
}