$(document).ready(function()
{
   $(".required").blur(function(){
       var largo = ($(this).attr('minlength'));
       var largo_real = $(this).val().length;
  
      
       if((largo > largo_real && largo != "") || largo_real == 0)
       {
            $(this).addClass("error");
           $(this).next("span").next("span").addClass("bad").css('display','inline').removeClass("welldone");
               
       }
       else
       {
         $(this).removeClass("error");
            $(this).next("span").next("span").addClass("welldone").css('display','inline').removeClass("bad");
       }
       
   });


   $(".email").blur(function(){

        if($(this).val().length > 0)
        {
            if( /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test($(this).val()))
            {
                $(this).removeClass("error");
                 $(this).next("span").next("span").addClass("welldone").css('display','inline').removeClass("bad");

            }
            else
            {
                 $(this).addClass("error");
                $(this).next("span").next("span").addClass("bad").css('display','inline').removeClass("welldone");
            }
        }
    });

 $(".ValidaCaracteres").blur(function(){

         
          if($(this).val().length > 0)
        {
        
 		var checkOK = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz-_.";
  		
  		var allValid = true;
                var valor = $(this).val();
		for (i = 0; i < valor.length; i++)
		{
   			ch = valor.charAt(i);
   			for (j = 0; j < checkOK.length; j++)
    		if (ch == checkOK.charAt(j))
    		break;
   			if (j == checkOK.length)
			{
   				allValid = false;
   				break;
  			}
  		}

		if (!allValid)
		{
  			 $(this).addClass("error");
                        $(this).next("span").next("span").addClass("bad").css('display','inline').removeClass("welldone");
		}
		else
		{
                  $(this).removeClass("error");
                 $(this).next("span").next("span").addClass("welldone").css('display','inline').removeClass("bad");
			
		}

        }
    });

    $(".required").focus(function(){$(this).next("span").next("span").css('display','none');});
    $(".email").focus(function(){$(this).next("span").next("span").css('display','none');});
    $(".ValidaCaracteres").focus(function(){$(this).next("span").next("span").css('display','none');});


    jQuery.validator.setDefaults({
        debug: false
    });


    jQuery.validator.addMethod("url_ip", function()
    {
        var obj=document.getElementById('portscan');
        var checkStr = obj.host.value;
        var url=/^(http:|https:|ftp:)\/\/\w+(\.\w+)*(\-\w+)?\.\w{2,3}(\:\d{2,6})?(\/{1,2}(\:|\-|\w|\.|\?|\/|\=|\&|\%|\@|\\|\,)*)?$/;

        if(url.test(checkStr))
        {
            return true;
        }
        else
        {
            partes=checkStr.split('.');
            if (partes.length!=4)
            {
                return false;
            }
            for (i=0;i<4;i++)
            {
                num=partes[i];

                if (num>255 || num<0 || num.length==0 || isNaN(num))
                {

                    return false;

                }

            }

            return true;

        }


    }, jQuery.format("Ingresa una URL o direccion IP v&aacute;lida"));
						   
 
      
        jQuery.validator.addMethod("ValidaCaracteres", function(value,element) {


	
 		var checkOK = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz-_.";
  		
  		var allValid = true;

		for (i = 0; i < element.value.length; i++)
		{
   			ch = element.value.charAt(i);
   			for (j = 0; j < checkOK.length; j++)
    		if (ch == checkOK.charAt(j))
    		break;
   			if (j == checkOK.length)
			{
   				allValid = false;
   				break;
  			}
  		}

		if (!allValid)
		{
  			return false;
		}
		else
		{
			return true;
		}

	}, jQuery.format("Existen caracteres no permitidos para este campo"));
        
        
        
    
    $(".submit_registro").click(function()
    {
        if($("#inscribete").valid())
        {
            $("div.error_inscribete").hide();
             $('.submit_registro').attr('disabled', true);
              document.inscribete.submit();
        }
        else
        {
            var errors =$("#inscribete").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_inscribete span").html(message);
                $("div.error_inscribete").show();
            }
            else
            {
		$("div.error_inscribete").hide();
            }
        }
    }
    );
      
      
      
      
          $(".submit_receta").click(function()
    {
        if($("#frmrecetas").valid())
        {
            $("div.error_receta").hide();
             $('.submit_receta').attr('disabled', true);
              document.inscribete.submit();
        }
        else
        {
            var errors =$("#frmrecetas").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_receta span").html(message);
                $("div.error_receta").show();
            }
            else
            {
		$("div.error_receta").hide();
            }
        }
    }
    );



   var user_valid = $("#registro_user").validate({
  rules: {
    alias: {
   
      remote: "registro/alias.php"
    },
    email:{
        remote: "registro/email.php"
    }
  }
})
         
          $(".submit_registro_user").click(function()
    {
        if($("#registro_user").valid())
        {
            
            
            
            
                        $("div.error_registro_user").hide();
                        document.forms["registro_user"].submit();
          
        }
        else
        {
            var errors =user_valid.numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_registro_user span").html(message);
                $("div.error_registro_user").show();
            }
            else
            {
		$("div.error_registro_user").hide();
            }
        }
    }
    );
        
          $(".submit_login").click(function()
    {
        if($("#frmlogin").valid())
        {
            $("div.error_login").hide();
            document.forms["frmlogin"].submit();
        }
        else
        {
            var errors =$("#frmlogin").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_login span").html(message);
                $("div.error_login").show();
            }
            else
            {
		$("div.error_login").hide();
            }
        }
    }
    );
        
        
        
         $(".submit_forgot").click(function()
    {
        if($("#frmforgot").valid())
        {
            $("div.error_forgot").hide();
            document.forms["frmforgot"].submit();
        }
        else
        {
            var errors =$("#frmforgot").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_forgot span").html(message);
                $("div.error_forgot").show();
            }
            else
            {
		$("div.error_forgot").hide();
            }
        }
    }
    );
        
        
      
        
              $(".submit_comentarios").click(function()
    {
        if($("#buzonComenta").valid())
        {
            $("div.error_comentarios").hide();
            $('.submit_comentarios').attr('disabled', true);
             document.buzonComenta.submit();
        }
        else
        {
            var errors =$("#buzonComenta").validate().numberOfInvalids();

            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_comentarios span").html(message);
                $("div.error_comentarios").show();
            }
            else
            {
		$("div.error_comentarios").hide();
            }
        }
    }
    );
        
        
        

        
        
        
        
$(".submit_opina").click(function()
    {
        if($("#frmopina").valid())
        {
            $("div.error_opina").hide();
            
            //SOLO TWITTER
            if(!document.forms["frmopina"].publish_fb.checked && document.forms["frmopina"].publish_tw.checked)
            {
                var url = "/redirect_tw.php?seccion=opina_simple";
                new_window = window.open(url, 'Twitter', 'height=400,width=800,resizable=false,scrollbars=no');  
            }
            //TW + FB
            if(document.forms["frmopina"].publish_fb.checked && document.forms["frmopina"].publish_tw.checked)
            {
                var url = "/redirect_tw.php?seccion=opina";
                new_window = window.open(url, 'Twitter', 'height=400,width=800,resizable=false,scrollbars=no');  
            }
            //Solo FB
            if(document.forms["frmopina"].publish_fb.checked && !document.forms["frmopina"].publish_tw.checked)
            {
                 
                ConectaFB();
            
             }
             if(!document.forms["frmopina"].publish_fb.checked && !document.forms["frmopina"].publish_tw.checked)
             {
                 document.frmopina.submit();
             }
             return false;
		     
        }
        else
        {
            var errors =$("#frmopina").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_opina span").html(message);
                $("div.error_opina").show();
            }
            else
            {
		$("div.error_opina").hide();
            }
        }
    }
    );

    $(".submit_contacto").click(function()
    {
        if($("#contacto").valid())
        {
            $("div.error_contacto").hide(); 
            document.contacto.submit();
             $('.submit_contacto').attr('disabled', true);
    //        return true;
        }
        else
        {
            var errors =$("#contacto").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_contacto span").html(message);
                $("div.error_contacto").show();
            }
            else
            {
		$("div.error_contacto").hide();
            }
        }
    }
    );
        
    $(".submit_recomienda").click(function()
    {
        if($("#frmrecomienda").valid())
        {
            $("div.error_recomienda").hide();
             $('.submit_recomienda').attr('disabled', true);
        }
        else
        {
            var errors =$("#frmrecomienda").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_recomienda span").html(message);
                $("div.error_recomienda").show();
            }
            else
            {
		$("div.error_recomienda").hide();
            }
        }
    }
    );



    $(".submit_alta").click(function()
    {
        if($("#frmalta").valid())
        {
            $("div.error_alta").hide();
             $('.submit_alta').attr('disabled', true);
              document.frmalta.submit();
        }
        else
        {
            var errors =$("#frmalta").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_alta span").html(message);
                $("div.error_alta").show();
            }
            else
            {
		$("div.error_alta").hide();
            }
        }
    }
    );
        
        
    $(".submit_anunciate").click(function()
    {
        if($("#anunciate").valid())
        {
            $("div.error_anunciate").hide();
             $('.submit_anunciate').attr('disabled', true);
              document.anunciate.submit();
        }
        else
        {
            var errors =$("#anunciate").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_anunciate span").html(message);
                $("div.error_anunciate").show();
            }
            else
            {
		$("div.error_anunciate").hide();
            }
        }
    }
    );

    $(".submit_actualiza").click(function()
    {
        if($("#actualiza").valid())
        {
            $("div.error_actualiza").hide();
            document.forms["actualiza"].submit();
             $('.submit_actualiza').attr('disabled', true);

        }
        else
        {
            var errors =$("#actualiza").validate().numberOfInvalids();
           
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error_actualiza span").html(message);
                $("div.error_actualiza").show();
            }
            else
            {
		$("div.error_actualiza").hide();
            }
        }
    }
    );
    $("div.buttonSubmit").hover(function(){

    $(this).addClass("buttonSubmitHover");
    },
    function(){

    $(this).removeClass("buttonSubmitHover");
    });
	
 });

function validaReporta(id)
{
    if($("#frmreporta"+id).valid())
    {
        $("div.error_reporta"+id).hide();
          document.forms["frmreporta"+id].submit();
    }
    else
    {
        var errors =$("#frmreporta"+id).validate().numberOfInvalids();
          
        if (errors)
        {
            var message = errors == 1
            ? 'Te falt&oacute; completar 1 campo. Est&aacute; marcado en rojo'
            : 'Te falt&oacute; completar ' + errors + ' campos. Est&aacute;n marcados en rojo';
            $("div.error_reporta"+id+" span").html(message);
            $("div.error_reporta"+id+"").show();
        }
        else
        {
            $("div.error_reporta"+id).hide();
        }
    }
}



/*
     function findUser(val)
     {
         if(val != "")
         {
            $.post("registro/alias.php", { alias: val},function(data) {
                
                if(data == "false")
                {
                    document.registro_user.alias.focus();
                     $(".alias_s").removeClass("welldone");
                    $(".alias_s").addClass("bad");
                    $(".alias").html("El usuario "+val+" ya esta en uso");
          
                    return false;
                }
                else if(data == "true")
                {
                    $(".alias_s").removeClass("bad");
                     $(".alias_s").addClass("welldone");
                     $(".alias").html("No uses caracteres especiales ni espacios");
                    return true;
                }
            });
         }
         return false;
     }
  */  
   

