q=document;kf=true;kg=false; nbsp =160;		
 node_text =3;	
 emptyString =/^\s*$/ ;
var global_valfield;	
function trim(str)
{
  return str.replace(/^\s+|\s+$/g, '');
}
function setFocusDelayed()
{
  global_valfield.focus();
}
function setfocus(kw)
{
  global_valfield =kw;
  setTimeout('setFocusDelayed()', 100 );
}
function msg(fld,     
             msgtype, 
             message) 
{
  var dispmessage;
  if (emptyString.test(message)) 
    dispmessage =String.fromCharCode(nbsp);    
  else  
    dispmessage =message;

  var elem =q.getElementById(fld);
  elem.firstChild.nodeValue =dispmessage;  
  
  elem.className =msgtype;   
}
 proceed =2;  

function commonCheck    (kw,   
                         infofield,  
                         required)   
{
  if (!q.getElementById) 
    return kf;  
  var elem =q.getElementById(infofield);
  if (!elem.firstChild) return kf;  
  if (elem.firstChild.nodeType != node_text) return kf;  

  if (emptyString.test(kw.value)) {
    if (required) {
      msg (infofield, "error", "Required");  
      setfocus(kw);
      return kg;
    }
    else {
      msg (infofield, "warn", "");   
      return kf;  
    }
  }
  return proceed;
}
function validatePresent(kw,   
                         infofield ) 
{
  var stat =commonCheck (kw, infofield, kf);
  if (stat != proceed) return stat;

  msg (infofield, "warn", "");  
  return kf;
}
function validateEmail  (kw,   
                         infofield,  
                         required)   
{
  var stat =commonCheck (kw, infofield, required);
  if (stat != proceed) return stat;

  var tfld =trim(kw.value);  
  var email =/^[^@]+@[^@.]+\.[^@]*\w\w$/  ;
  if (!email.test(tfld)) {
    msg (infofield, "error", "Not a valid e-mail address");
    setfocus(kw);
    return kg;
  }

  var email2 =/^[A-Za-z][\w.-]+@\w[\w.-]+\.[\w.-]*[A-Za-z][A-Za-z]$/  ;
  if (!email2.test(tfld)) 
    msg (infofield, "warn", "Not a valid e-mail address");
  else
    msg (infofield, "warn", "");
  return kf;
}
function validateTelnr  (kw,   
                         infofield,  
                         required)   
{
  var stat =commonCheck (kw, infofield, required);
  if (stat != proceed) return stat;

  var tfld =trim(kw.value);  
  var telnr =/^\+?[0-9 ()-]+[0-9]$/  ;
  if (!telnr.test(tfld)) {
    msg (infofield, "error", "Not a valid number");
    setfocus(kw);
    return kg;
  }

  var numdigits =0;
  for (var j=0; j<tfld.length; j++)
    if (tfld.charAt(j)>='0' && tfld.charAt(j)<='9') numdigits++;

  if (numdigits<6) {
    msg (infofield, "error", + numdigits + " Digits - Too short");
    setfocus(kw);
    return kg;
  }

  if (numdigits>11)
    msg (infofield, "warn", numdigits + " Digits - Too long");
  else { 
    if (numdigits<10)
      msg (infofield, "warn", + numdigits + " Digits - Too short");
    else
      msg (infofield, "warn", "");
  }
  return kf;
}