
let v_proveedorSils     = false;
let v_proveedorCliente  = false;

function proveedorControl() {
    let v_estadoProveedorSils    = $('#chb_tipoProveedorSils').prop('checked');
    let v_estadoProveedorCliente = $('#chb_tipoProveedorCliente').prop('checked');

    v_proveedorSils     = false;
    v_proveedorCliente  = false;
    $("#div_proveedor").hide();

    if( v_estadoProveedorSils ) {
        $("#div_proveedor").show();
        v_proveedorSils = true;
    }

    if( v_estadoProveedorCliente ) {
        v_proveedorCliente = true;
    }

    // var validator = $("#txt_token");
	// validator.valid();
}

function rutDarFormato() {
    $('#txt_rut').val(darformatoRut($('#txt_rut').val()));
}

$(document).ready(function() {    
    $('#txt_rut').keyup(function () {
		rutDarFormato();
	});

    proveedorControl();

    $.validator.addMethod('validator_tipo', function(value, element) {
        return $('#chb_tipoCliente').prop('checked') ||
            $('#chb_tipoProveedorSils').prop('checked') ||
            $('#chb_tipoProveedorCliente').prop('checked')
    }, 'Debe seleccionar qué tipo de Cliente es');

    $.validator.addMethod('validator_formaPago', function(value, element) {
        if( v_proveedorSils ) {
            let v_validador = ($('#cmb_formaPago').val() > 0) ? true : false;
            return v_validador;
        }
        return true;
    }, 'Requerido');

    $.validator.addMethod('validator_catalogo', function(value, element) {
        if( v_proveedorSils ) {
            let v_validador = ($('#cmb_catalogo').val() > 0) ? true : false;
            return v_validador;
        }
        return true;
    }, 'Requerido');

    $("#frm_clienteProveedor").validate({
        ignore: ":disabled",
        rules: {
            txt_rut: {
				required    : true,
                validar_rut : true
			},           
			chb_tipoCliente: {
				validator_tipo   : true
			},
			chb_tipoProveedorSils: {
				validator_tipo   : true
			},
			chb_tipoProveedorCliente: {
				validator_tipo   : true
			},
			txt_razonSocial: {
				required: true
			},
			txt_contacto: {
				validar_letras_numeros  : true
			},
			txt_telefonoFijo: {
				digits          : true,
                validar_numeros : true,
                minlength       : 9,
                maxlength       : 9
			},
			txt_telefonoCelular: {
				required        : true,
                digits          : true,
                validar_numeros : true,
                minlength       : 9,
                maxlength       : 9
			},
			txt_email: {
				required   : true,
                email      : true
			},
			txt_paginaWeb: {
				url         : true
			},
			cmb_comuna: {
				required   : true
			},
			txt_direccion: {
				required: true
			},
			cmb_formaPago: {
				validator_formaPago: true
			},
			cmb_catalogo: {
				validator_catalogo: true
			},
        },
        submitHandler: function(form) {

            guardarClienteProveedor();

        },
        highlight: function(element) {
            $(element).closest('div').addClass('has-error');
        },
        unhighlight: function(element) {
            $(element).closest('div').removeClass('has-error');
        },
        errorElement: 'span',
        errorClass: 'help-block',
        errorPlacement:
            function( error, element ){
                if(element.is( "#chb_tipoCliente" )){
                    error.appendTo('#divError_tipo');
                } else if(element.is( "#chb_tipoProveedorSils" )){
                    error.appendTo('#divError_tipo');
                } else if(element.is( "#chb_tipoProveedorCliente" )){
                    error.appendTo('#divError_tipo');
                } else {
                    error.insertAfter(element);
                }
            }
    });

});
