$(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");
            }
        }
    });


   $(".required").focus(function(){$(this).next("span").next("span").css('display','none');});
 $(".email").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"));
						   

    var validator = $("#validame").validate();


    $(".submit").click(function()
    {
        if($("#validame").valid())
        {
            document.forms["profileForm"].submit();
        }
        else
        {
            var errors = validator.numberOfInvalids();
            var errors1 = validator.erroreslista(errors);
            if (errors)
            {
                var message = errors == 1
                ? 'Te falt&oacute; llenar 1 campo. Est&aacute; marcado en rojo'
                : 'Te falt&oacute; llenar ' + errors + ' campos. Est&aacute;n marcados en rojo';
                $("div.error span").html(message);
                $("div.error").show();
            }
            else
            {
		$("div.error").hide();
            }
        }
    }
    );
	
 });
