// vendo -> to sell
// This software copyright 2000 Padraic Renaghan.
// All Rights Reserved.
// $Id: vendo.js,v 1.1 2001/01/11 20:46:24 prenagha Exp $
//--------------
// VENDO STANDARD JAVASCRIPT ROUTINES
// set the focus to the first non-hidden field on the
// first form named "MAIN" on this page.
function setFocus() {
  for (f=0; f<document.forms.length; f++) {
    if (document.forms[f].name.toLowerCase() == "main") {
      for (i=0; i<document.forms[f].elements.length; i++) {
        if (document.forms[f].elements[i].type.toLowerCase() == "hidden"
        ||  document.forms[f].elements[i].type.toLowerCase() == "submit"
        ||  document.forms[f].elements[i].type.toLowerCase() == "reset"
        ||  document.forms[f].elements[i].type.toLowerCase() == "image"
        ) {
        //don't set focus to these type of form elements.
        } else {
          document.forms[f].elements[i].focus();
          break;
        }
      }
    }
  }
}

// trim whitespace from the begining and ending of
// a string.
function trim(str) {
  //remove leading spaces
  while(str.substring(0,1) == ' ')
    str = str.substring(1,str.length);
    
  //remove trailing spaces
  while(str.substring(str.length-1,str.length) == ' ')
    str = str.substring(0,str.length-1);
    
  return str;
}

// check that any fields identified as required on a
// form are in fact populated with data.
function checkRequiredFields(frm) {
  var rtn    = true;
  var errors = "";
  
  //if we have any required fields, then loop
  //through each of them and make sure we
  //have a value on the form.
  if (typeof requiredFields != 'undefined'
  &&  requiredFields.length > 0) {
    for (var r=0; r<requiredFields.length; r++) {
      fieldFound = false;
      for (var f=0; f<frm.elements.length; f++) {
        if(frm.elements[f].name == requiredFields[r]) {
          value = trim(frm.elements[f].value);
          if (value.length > 0)
            fieldFound = true;
        }
      }
      if (!fieldFound) {
        if (requiredFieldsName[r]) {
          errors += requiredFieldsName[r] + " is required.\n";
        } else {
          errors += requiredFields[r] + " is required.\n";
        }
        rtn = false;
      }
    }
  }
  
  if (errors.length > 0) {
    alert(errors);
  }
  
  return rtn;
}

// process form submittal
submitCount = 0;

function submitForm(frm) {
  //check for required fields.
  if (!checkRequiredFields(frm))
    return false;
      
  //make sure user only submits the form ONCE
  if (submitCount == 0) {
    submitCount++;
    return true;
  } else {
    alert("This form has already been submitted.");
    return false;
  }  
}

