//Validacion Pegudo jquery
jQuery.validator.addMethod(
        'IsEmpty', 
        function(v) {
                return  ((v == null) || (v.length == 0));
        },
        ''
);


jQuery.validator.addMethod(
        "requerido", 
        function(v) { 
                return !jQuery.validator.methods.IsEmpty(v);
        }, 
        "Campo obligatorio"
);


jQuery.validator.addMethod(
        "validar-numero", 
        function(v) {           
        errorNegativo=false;
        errorNan=false; 
                if (!isNaN(v)){
                        if (v > 0){
                                return true;
                        }
                        else 
                                errorNegativo=true;
                                return false;
                }
                        errorNan=true;
                        return false;
        },
        function(){
                if(errorNan)
                        return 'Debe ingresar solo numeros.';
                else if (errorNegativo)
                        return 'Debe ingresar numeros positivos.';
        }
);

jQuery.validator.addMethod(
        "validar-condicion-iva", 
        function(v) { 
                return jQuery('#condiva')[0].value != '';
        }, 
        "Debe seleccionar una condición."
);

//usar mascara
jQuery.validator.addMethod(
        "validar-cuit", 
        function(v) { 
                condIva = jQuery('#condiva');
                if(condIva[0].value != 'consumidor final')
                        return /^\d{2}\-\d{8}\-\d{1}$/.test(v);
                else
                        return jQuery.validator.methods.IsEmpty(v);

        },function(){
                condIva = jQuery('#condiva');
                if(condIva[0].value != 'consumidor final')
                        return "Debe ingresar un cuit válido. XX-XXXXXXXX-X .";
                else
                        return "Al ser consumidor final el CUIT es vacio"
        }
);

jQuery.validator.addMethod(
        "validar-letras", 
        function(v) { 
                return jQuery.validator.methods.IsEmpty(v) || /^[a-zA-Z]+$/.test(v);
        }, 
        "Debe ingresar solo letras."
);

jQuery.validator.addMethod(
        "validar-doc", 
        function(v) {
                return /^\d{1,2}\.\d{3}\.\d{3}$/.test(v);
        }, 
        "Debe ingresar un documento válido. XX.XXX.XXX."
);
//Fecha tipo dd-mm-aaaa
jQuery.validator.addMethod(
        "validar-fecha", 
        function(v) { 
       return /^\d{2}\-\d{2}\-\d{4}$/.test(v);
        }, 
        "Debe ingresar una fecha válida. dd-mm-aaaa. "
);

jQuery.validator.addMethod(
        "validar-letras-num", 
        function(v) { 
                return jQuery.validator.methods.IsEmpty(v) || /^[a-zA-Z0-9\W\.\-\_\s]{1,50}$/i.test(v)

        }, 
        "Debe ingresar solo letras o numeros."
);

jQuery.validator.addMethod(
        "validar-email", 
        function(v) { 
                return jQuery.validator.methods.IsEmpty(v) || /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v)
        }, 
        "Debe ingresar un e-mail valido. Por ejemplo info@logeum.com.ar ."
);

jQuery.validator.addMethod(
        "validar-url", 
        function(v) { 
                return jQuery.validator.methods.IsEmpty(v) || /^((http|https|ftp):\/\/)?(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(v)
        }, 
        "Ingrese una URL valida.Por ejemplo: www.logeum.com.ar "
);

jQuery.validator.addMethod(
        "validar-telefono", 
        function(v) { 
                return jQuery.validator.methods.IsEmpty(v) || /^\(?\d{4,4}\)?\-\d{7,7}|\(?\d{5,5}\)?\-\d{6,6}$/.test(v)
        }, 
        "Ingrese un telefono valido.Ej: 03773-421568 / 0342-4557177 "
);

jQuery.validator.addMethod(
        "validar-celular", 
        function(v) { 
                return jQuery.validator.methods.IsEmpty(v) || /^\(?\d{4,4}\)?\-\d{9,9}|\(?\d{5,5}\)?\-\d{8,8}$/.test(v)
        }, 
        "Ingrese un celular valido.Ej: 0342-154293512 / 03773-15489456 "
);

        "validar-cuit", 
        function(v) { 
                condIva = jQuery('#condiva');
                if(condIva[0].value != 'consumidor final')
                        return /^\d{2}\-\d{8}\-\d{1}$/.test(v);
                else
                        return jQuery.validator.methods.IsEmpty(v);

        },function(){
                condIva = jQuery('#condiva');
                if(condIva[0].value != 'consumidor final')
                        return "Debe ingresar un cuit válido. XX-XXXXXXXX-X .";
                else
                        return "Al ser consumidor final el CUIT es vacio"
        }

jQuery.validator.addMethod(
        "validar-monto", 
        // [$]1[##][,###]+[.##]
        // [$]1###+[.##]
        // [$]0.##
        // [$].##
        function(v) { 
                montoNegativo = false;
                if (!isNaN(v)) {
                        if (v > 0) {
                                return jQuery.validator.methods.IsEmpty(v) || /^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(v)
                        }
                        else {
                                montoNegativo = true;
                                return false;
                        }
                }
                else {
                        montoNegativo = false;
                        return false;
                }
        }, function () {
                if (montoNegativo)
                        return "Debe ingresar un monto positivo."               
                else    
                        return "Ingrese un monto correcto. Por ejemplo $100,000.50. "
        }
);

jQuery.validator.addMethod(
        "validar-forma-pago", 
        function(v) { 
           //alert('formapago:'+(jQuery('#formapago')[0].value == false)+'end');
                //alert('with.option: '+jQuery('#formapago')[0].options[0].value);
                //alert('without.option: '+jQuery('#formapago')[0].value);
       return jQuery('#formapago')[0].value != false;
        }, 
        "Debe seleccionar una condición. "
);
                                                 
jQuery.validator.addMethod(
        "longmin", 
        function(value, element, param) { 
                return this.optional(element) || this.getLength(value, element) >= param;
        }, 
        "Ingrese a lo sumo {0} caracteres "
);
                 
jQuery.validator.addMethod(
        "longmax", 
        function(value, element, param) { 
                return this.optional(element) || this.getLength(value, element) <= param;
        }, 
        "No ingrese mas de {0} caracteres "
);
