/**
 * Simple submit form function using xajax extensions
 *
 * @package creativepromotions
 * @author Michel Erb <xorinox@vtxmail.ch>
 * @version 1.0
 * @since 03.12.2007
 * @filesource lib/xajaxForm/xajaxForm.js
*/

function submitForm( formName, processFunction, submitButtonName, submitButtonValue, submitButtonFinished ){
  // set default values for submitButton
  submitButtonValue = typeof(submitButtonValue) != 'undefined' ? submitButtonValue : "Please wait...";
  submitButtonFinished = typeof(submitButtonFinished) != 'undefined' ? submitButtonFinished : "Request sent...";

  // save all form elemets to array and create assiziative array
  var formElements = xajax.$(formName).elements;
  var arr_elements = new Object();

  // loop through all elements and save values to array
  for( var i=0; i < formElements.length; i++ ){
    if (!formElements[i].id )
      continue;
    if (formElements[i].type && (formElements[i].type == 'radio' || formElements[i].type == 'checkbox') && formElements[i].checked == false)
      continue;

    arr_elements[formElements[i].id] = new Object();
    arr_elements[formElements[i].id]["value"] = formElements[i].value;
    arr_elements[formElements[i].id]["validation"] = formElements[i].className;
  }

    // disable submit button to prevent multiple send
  xajax.$( submitButtonName ).disabled = true;
  xajax.$( submitButtonName ).value = submitButtonValue;

    // fire xajax request
  xajax_processForm( arr_elements, processFunction, submitButtonName, submitButtonFinished );
  return false;
}
