function validForm() {}
validForm.prototype = {
  init: function(options) {
      var selfForm = $(options.formId);
      var sendFormUrl = (options.url) ? options.url : selfForm.attr('action');   
      var formAjaxResult = $(options.ajaxResult);
      if (formAjaxResult!=null) {
        formAjaxResult.html('');
      }
      var ajaxLoader = $(options.ajaxLoader);
      if (ajaxLoader!=null) {
        ajaxLoader.hide();
      }
      
      $(options.formId).bomValidation();
      $(options.formId).live('submit', function(e) {
        e.preventDefault();
        e.stopPropagation();
        if (formAjaxResult!=null) {
          formAjaxResult.removeClass('error');
          formAjaxResult.html('');
        }
        if (ajaxLoader!=null) {
          ajaxLoader.show();
        }
        
        $.ajax({
          type: 'POST',
          url: sendFormUrl,
          data: selfForm.serialize(),
          async:false,
          success: function(data) {
            if (data.idMessage < 300) {
              if (data.message==null) {
                if (options.redirection) {
                  var url = (data.url != null) ? data.url : document.location.href;
                  var regex = new RegExp('#', 'g');
                  document.location = url.split(regex)[0];
                }
                else {
                  modal.prototype.hideModal();
                }
              }
              else {
                if (formAjaxResult!=null) {
                  formAjaxResult.html(data.message);
                }
              }
            }
            else {
              if (formAjaxResult!=null) {
                formAjaxResult.addClass('error');
                formAjaxResult.html(data.message);
              }
            }
            
            if (ajaxLoader!=null) {
              ajaxLoader.hide();
            }
            
          }
        });
      });
  }
};
