function validateNumber(field, msg, min, max) 
{
   if (!min) { min = 0 }
   if (!max) { max = 255 }
   if ( (parseInt(field.value) != field.value) || 
        field.value.length < min || field.value.length > max) 
   {
      alert(msg);
      field.focus();
      field.select();
      return false;
   }
   return true;
}

function validateString(field, msg, min, max) 
{
   if (!min) { min = 1 }
   if (!max) { max = 65535 }
   if (!field.value || field.value.length < min || field.value.max > max) 
   {
      alert(msg);
      field.focus();
      field.select();
      return false;
   }
   return true;
}

function validateEmail(email, msg, optional) 
{
   if (!email.value && optional) 
   {
      return true;
   }
   var re_mail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/;
   if (!re_mail.test(email.value)) 
   {
      alert(msg);
      email.focus();
      email.select();
      return false;
   }
   return true;
}
function validateZip(zip, msg, optional)
{
   if (!zip.value && optional) 
   {
      return true;
   }   
   var re_zip = /(^\d{5}$)||(^\d{5}-\d{4}$)/;
   if(!re_zip.test(zip.value))
   {
      alert(msg);
	  zip.focus();
	  zip.select();
	  return false;
   }
   return true;
}