(function(self, $) {

   // post-submit callback
   self.showResponse = function (responseText, statusText, xhr, formData)  {

      try {

         self.limpiarSend();

         if (responseText.send) {
            $('#form-send-contact').find('#name').val('');
            $('#form-send-contact').find('#email').val('');
            $('#form-send-contact').find('#consulta').val('');
            $('#form-send-contact').find('#consultaConuter').text('');

            $('#output-comment ul').append('<li>Datos enviados con exito</li>');
         }
         else {
            $('#error-message ul').append('<li>' + responseText.msg + '</li>');
         }
      }
      catch(ex) {}

      $('#send-data').removeAttr('work');

	};

   self.validate = function(formData, jqForm, options) {

      var retorno = true;

      if( $('#send-data').attr('work') !== undefined)
         return false;

      $('#send-data').attr('work', 'work');

      self.limpiarSend();

	   for (var i=0; i < formData.length; i++) {

         if (!formData[i].value && formData[i].name == 'name') {
            $('#contacto #name-form-error').append('&nbsp;&nbsp;&nbsp;Falta ingresar el nombre');
            retorno = false;
         }

         if (!formData[i].value && formData[i].name == 'email') {
            $('#contacto #email-form-error').append('&nbsp;&nbsp;&nbsp;Falta ingresar el email');
            retorno = false;
         }
         else if(formData[i].name == 'email' && !$.validarMail(formData[i].value)) {
            $('#contacto #email-form-error').append('&nbsp;&nbsp;&nbsp;El email es invalido');
            retorno = false;
         }

         if (!formData[i].value && formData[i].name == 'consulta') {
            $('#contacto #consulta-form-error').append('&nbsp;&nbsp;&nbsp;Falta ingresar la consulta');
            retorno = false;
         }

      }

      if (!retorno)
         $('#send-data').removeAttr('work');
      else
         $('#error-message ul').append('<li>Enviando Consulta</li>');

	   return retorno;
	};

  $(function(){

      // contacto
      $('#contacto #consulta').textCounter({ 'maxlimit': 300, 'description': 'consultaConuter' });

      $('#contacto #send-data').bind('click', function(ev) {

         ev.stopPropagation();
         $('#contacto #form-send-contact').trigger('submit');
         return false;

      });

      // bind to the form's submit event
      $('#contacto #form-send-contact').bind('submit', function(ev) {

         var options = {
            target: '#output-comment',    // target element(s) to be updated with server response
            beforeSubmit: self.validate,	// validate form
            dataType:  'json',            // response type json
            success: self.showResponse		// post-submit callback
         };

         $(this).ajaxSubmit(options);

         return false;

      });

		// botones
		$('a.minibutton').bind({
			mousedown: function() {
				$(this).addClass('mousedown');
			},
			blur: function() {
				$(this).removeClass('mousedown');
			},
			mouseup: function() {
				$(this).removeClass('mousedown');
			}
		});

  });

})({}, jQuery);

