function checkForm_register(f)
{
   msg = "Some required fields are not completed. Please complete them and try submitting again."
   if(!valid(f.firstname,   'text'))   {window.alert(msg);                          return false;}
   if(!valid(f.lastname,    'text'))   {window.alert(msg);                          return false;}
   if(!valid(f.telephone,   'number')) {window.alert('telephone not valid');        return false;}
   if(!valid(f.address,     'text'))   {window.alert(msg);                          return false;}
   if(!valid(f.city,        'text'))   {window.alert(msg);                          return false;}
   if(!valid(f.postcode,    'text'))   {window.alert(msg);                          return false;}
   if(!valid(f.email,       'email'))  {window.alert('email not valid');            return false;}
   return true;
}

function removeSpaces(str)
{
   nstr = '';
   for(var pos=0; pos<str.length; pos++)
   {
      var c=str.charAt(pos);
      if(c != ' ') nstr = nstr+c;
   }
   return nstr;
}

function valid(field,type)
{
   var fv=field.value;
   var ret=true;
   switch(type)
   {
      case 'number':
         if(!fv) {ret=false;}
         fvns = removeSpaces(fv);
         for(var pos=0; pos<fvns.length; pos++)
         {
            var c=fvns.charAt(pos);
            if(c != '' + parseInt(c) + '') ret=false;
         } 
         break;
      case 'email':
         ret=(fv && !fv.replace( /[\w\-\+]+(\.[\w\-\+]+)*@[\w\-]+(\.[\w\-]+)+/i, "" ) );
         break;
      case 'request':
         if(!field.checked){ret=false;}
         break;
      case 'text':
         if(!fv) {ret=false;}
         break;      
   }
   return ret;
}