var J = jQuery.noConflict();

J(document).ready(function () {
  //J().ajaxStop($.unblockUI);

  var options = {
      target : '#targetResponseDispo',
      url : '/form/requestDispoSend',
      beforeSubmit : showRequest,
      success : showResponse
  };
  
  J('#formRequestDispo').ajaxForm(options);
  
});

/**
 * 
 * @param {array} formData champs du formulaire
 * @param {array} jqForm formulaire
 * @param {object} options les arguments de la balise form
 * @return {Boolean}
 */
function showRequest(formData, jqForm, options) {

  jQuery.validator.messages.required = "";
  jQuery.validator.messages.email = "";
  jQuery.validator.messages.digits = "";
  
  if(!jqForm.validate().form()) {
  	var errors = jqForm.validate().numberOfInvalids();
    if (errors) {
      var message = errors == 1
        ? 'Vous avez mal saisi un champ. Il a été entouré en rouge.'
        : 'Vous avez mal saisi ' + errors + ' champs. Ils ont été entourés en rouge.';
      J("div.error span").html(message);
      J("div.error").show();
    }
    else {
      J("div.error").hide();
    }
    return false;
  }
  
  J('#resa').block({ message: '<img style="margin: 10px;" src="/images/imgLoading_45x45.gif" />' });
  return true;
}

/**
 * Débloque le module de résa et remplace le formulaire par un accusé de réception
 * 
 * @param {string} responseText contenu retourné par le template requestDispoProcessSuccess
 * @param {} statusText
 */
function showResponse(responseText, statusText) {
  J('#resa').unblock();
  J('#resa').html(responseText);
}

