// *****************************************************************************
// ** Ajax validate with jQuery for form inputs
// ** Version: 4.0.4
// *****************************************************************************

function validateInput(tablename, action, lang) {

  var params  = "";
  var element = "";
  var elems   = document.getElementById('formM').elements;

  // loop all form elements
  for(var i=0; i < elems.length; i++) {

    if(elems[i].name != "") {

      // elements to params for formHandler
      //params += "&" + elems[i].name + "=" + elems[i].value;

      // hide error messages
      element = document.getElementById(elems[i].name+'Error');
      if(element) element.innerHTML = '';
    }
  }

  // url for formHandler
  var url     = "/index.php?method=formHandler&table="+tablename+"&lang="+lang+"&ajax=true";
              //+params+"&timestamp=" + new Date().getTime(); // Use datestamp if cache problems

  //AJAX request
  $.ajax({

      type: "POST",
      cache: false,
      dataType: "text",
      url: url,
      data: $("#formM").serialize(),
      success: function(result) {

        // get ajax request response
        var virheet = result;

        // if valid input
        if(virheet == 'ok') {

          var lomake = document.getElementById('formM');

          // new hidden field to pass the action value
          var actionfield = document.createElement('input');
              actionfield.setAttribute('type', 'hidden');
              actionfield.setAttribute('name', 'action');
              actionfield.setAttribute('value', action);

              // add field to form
              lomake.appendChild(actionfield);
              // submit form
              lomake.submit();
        }
        // if errors
        else {

          var temp   = new Array();
          var errors = new Array();
              // split errors to array
              errors = virheet.split(';');

          // loop errors
          for(var i=0; i < errors.length; i++) {

            // split field and error
            mark = errors[i].split(': ');

            if( mark[1] != '' && mark[1] != undefined ) {
                // set error markers to form
                element = document.getElementById(mark[1]+'Error');
                if(element)
                   element.innerHTML = '<img src="shared/img/icons/delete.png" title="'+mark[0]+'" alt="'+mark[0]+'" />';
            }
          }
        }
      }
  });
}
/* End of validateInput */

