<!-- form_validations.js -->


// ------------------------------------------------------------------------------
//
//    Copyright, 2003 Precision Software Inc.
// 
// ------------------------------------------------------------------------------
// Each function returns true if validation passed or false if validation failed
// ------------------------------------------------------------------------------

// Performs the validation and submit functions for a form
// -------------------------------------------------------
function validate_submit(formname)
{
   if(validate())
      formname.submit();
}

// Function Name        Description
// -------------        ----------------------------------------------
// FieldChanged         Field is not the original value
// FieldIsNumber        Value entered is a valid number
// FieldIsValidEmail    Value is a valid email address
// FieldLongEnough      Value contains enough characters
// FieldShortEnough     Value doesn't contain too many characters

function FieldChanged(form_field, msg)
{
   if (form_field.value==form_field.defaultValue)
   {
     alert(msg);
     form_field.select();
     form_field.focus();
     return false;
   }
   else
   {
      return true;
   }
}

function FieldNonEmpty(form_field, msg)
{
   if (form_field.value.length==0)
   {
     alert(msg);
     form_field.select();
     form_field.focus();
     return false;
   }
   else
   {
      return true;
   }
}


function FieldIsNumber(form_field, msg)
{
   form_field.value = str_replace(",", ".", form_field.value);
   form_field.value = str_replace(" ", "", form_field.value);

   if (isNaN(form_field.value))
   {
     alert(msg);
     form_field.select();
     form_field.focus();
     return false;
   }
   else
   {
      return true;
   }
}


function FieldIsValidEmail(form_field, msg)
{
   var emailFilter=/^.+@.+\..{2,3}$/;

   if (!(emailFilter.test(form_field.value)))
   {
     alert(msg);
     form_field.select();
     form_field.focus();
     return false;
   }
   else
   {
      return true;
   }

}

function FieldLongEnough(form_field, min_length, msg)
{
   if (form_field.value.length < min_length)
   {
     alert(msg);
     form_field.select();
     form_field.focus();
     return false;
   }
   else
   {
      return true;
   }
}

function FieldShortEnough(form_field, max_length, msg)
{
   if (form_field.value.length > max_length)
   {
     alert(msg);
     form_field.select();
     form_field.focus();
     return false;
   }
   else
   {
      return true;
   }
}

function FieldRadioIsSelected(form_field, msg)
{
   for (i=0, n=form_field.length; i<n; i++)
   {
      if (form_field[i].checked)
      {
         var checkvalue = form_field[i].value;
         break;
      }
   }

   if(!(checkvalue))
   {
     alert(msg);
//     form_field[0].select();
     form_field[0].focus();
     return false;
   }
   else
   {
      return true;
   }

}


