$(document).ready(function() {
  $("form").submit(function () {
    var validField = true;
    // Validando los campos que son requerido
    var firstOcur = '';
    var strMsg = '';
    $(this).find(".required").each(function() {
      if(jQuery.trim($(this).val())=='') {
        if(validField) {
          validField = false;
          firstOcur = jQuery.trim($(this).attr("id"))!=''?'#'+$(this).attr("id"):'*[name='+$(this).attr("name")+']';
        }
        if($(this).hasClass('error')!==true) $(this).addClass('error');
        if(jQuery.trim($(this).attr("empty_msg")) == '') strMsg += 'La Variable \''+$(this).attr("name")+'\' no debe ser vacia!';
        else strMsg += 'Rellene \'' + jQuery.trim($(this).attr("empty_msg")) + '\'';
        strMsg += "\n";
      } else if ($(this).hasClass('error')) {
        $(this).removeClass('error');
      }
    });
    if(jQuery.trim(strMsg) != '') {
      $(firstOcur).focus();
      alert(jQuery.trim(strMsg));
    }
    // Validando los Correos
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    if(validField) {
      $(this).find(".email").each(function() {
        if(jQuery.trim($(this).val())!='')
          validField = pattern.test(jQuery.trim($(this).val()))
        if(!validField) {
          firstOcur = jQuery.trim($(this).attr("id"))!=''?'#'+$(this).attr("id"):'*[name='+$(this).attr("name")+']';
          if (!$(this).hasClass('error'))
            $(this).addClass('error');
          if(jQuery.trim($(this).attr("empty_msg")) == '') strMsg += 'La Variable \''+$(this).attr("name")+'\' no contiene una dirección de correo valida';
          else strMsg += 'Campo \'' + jQuery.trim($(this).attr("empty_msg")) + '\' contiene una dirección invalida';
        }
      });
      if(jQuery.trim(strMsg) != '') {
        $(firstOcur).focus();
        alert(jQuery.trim(strMsg));
      }
    }
    // Validando igualdad de campos
    if(validField) {
      $(this).find("[link]").each(function () {
        if( $(this).val() != $("#" + $(this).attr("link")).val() && validField) {
          validField = false;
          firstOcur = jQuery.trim($(this).attr("id"))!=''?'#'+$(this).attr("id"):'*[name='+$(this).attr("name")+']';
          if (!$(this).hasClass('error'))
            $(this).addClass('error');
          if(jQuery.trim($(this).attr("empty_msg")) == '') strMsg += 'Los campos \''+$(this).attr("name")+'\' y ';
          else strMsg += 'Campo \'' + jQuery.trim($(this).attr("empty_msg")) + '\' y ';
          if(jQuery.trim($("#" + $(this).attr("link")).attr("empty_msg")) == '') strMsg += '\'' + $("#" + $(this).attr("link")).attr("name") + '\'';
          else strMsg += ' y \'' + jQuery.trim($("#" + $(this).attr("link")).attr("empty_msg")) + '\'';
          strMsg += ' son distintos';
        }
      });
      if(jQuery.trim(strMsg) != '') {
        $(firstOcur).focus();
        alert(jQuery.trim(strMsg));
      }
    }
    return validField;
  });
  $("#txtsearch").focus(function() {
    if($(this).attr("default")==$(this).val())
      $(this).val('');
  });
  $("#txtsearch").blur(function() {
    if(jQuery.trim($(this).val())=='')
      $(this).val($(this).attr("default"));
  });
});

