checkname = { //new object
 checkReq: 0,
 checknametimer: 'x',

 testkey: function (e) {
  var myKey;
  if(window.event) {
   myKey = e.keyCode;
   }
  else if(e.which) { // Netscape/Firefox/Opera
   myKey = e.which;
   } 
  switch ( myKey ) {
   case 13: {
    myKey = 'RET'; 
    break;
    }
   }
  return myKey;
  },

 usernick_keypressed: function( pEvent ) {
  tb.timer.abort( checkname.checknametimer );
  if ( checkname.testkey( pEvent ) != 'RET' ) {
   checkname.checknametimer=tb.timer.add( 'checkname.checkit()', 500 );
   }
  else {
   checkname.checkit();
   }
  },
  
 checkit: function() {
  if ( checkname.checkReq != 0 ) {
   checkname.checkReq.abort();
   }
  var myUrl='isuser.php';
  var myParms='nick='+document.getElementById('username').value;
  checkname.checkReq = tb.request.add({
   method: 'POST',           //kann man auch weglassen ist standard - GET müßte man schreiben
   url: 'isuser.php',
   parms: {                     // ein Objekt, daß die Parameter als name / wert paar enthält
    nick: document.getElementById('username').value 
    }, 
   success: checkname.checkit_cb    // die callback funktion
   });  
 
  },

 checkit_cb: function( pXml, pText ) {
  if ( pText == '1' ) {
   document.getElementById('username').style.border='1px solid #ff0000';
   document.getElementById('username').style.background='#ffeeee';
   document.getElementById('fUsernameMsg').innerHTML = 'Dieser Name existiert schon.';
   }
  else {
   document.getElementById('username').style.border='1px solid grey';
   document.getElementById('username').style.background='white';
   document.getElementById('fUsernameMsg').innerHTML = '';
   }
  checkname.checkReq = 0;
  }

 }