/* Minification failed. Returning unminified contents.
(1,1): run-time error CSS1019: Unexpected token, found '$'
(1,3): run-time error CSS1030: Expected identifier, found 'widget('
(1,3): run-time error CSS1019: Unexpected token, found 'widget('
(1,10): run-time error CSS1019: Unexpected token, found ''Tanner.RecuperarClave''
(1,33): run-time error CSS1019: Unexpected token, found ','
(1,35): run-time error CSS1019: Unexpected token, found '{'
(2,13): run-time error CSS1030: Expected identifier, found ' '
(4,30): run-time error CSS1062: Expected semicolon or closing curly-brace, found ':'
(8,6): run-time error CSS1019: Unexpected token, found ','
(9,13): run-time error CSS1030: Expected identifier, found ' '
(9,23): run-time error CSS1031: Expected selector, found '('
(9,23): run-time error CSS1025: Expected comma or open brace, found '('
(71,6): run-time error CSS1019: Unexpected token, found ','
(72,11): run-time error CSS1030: Expected identifier, found ' '
(72,21): run-time error CSS1031: Expected selector, found '('
(72,21): run-time error CSS1025: Expected comma or open brace, found '('
(78,6): run-time error CSS1019: Unexpected token, found ','
(79,18): run-time error CSS1030: Expected identifier, found ' '
(79,28): run-time error CSS1031: Expected selector, found '('
(79,28): run-time error CSS1025: Expected comma or open brace, found '('
(82,6): run-time error CSS1019: Unexpected token, found ','
(83,14): run-time error CSS1030: Expected identifier, found ' '
(83,24): run-time error CSS1031: Expected selector, found '('
(83,24): run-time error CSS1025: Expected comma or open brace, found '('
(99,6): run-time error CSS1019: Unexpected token, found ','
(100,15): run-time error CSS1030: Expected identifier, found ' '
(100,25): run-time error CSS1031: Expected selector, found '('
(100,25): run-time error CSS1025: Expected comma or open brace, found '('
(105,1): run-time error CSS1019: Unexpected token, found '}'
(105,2): run-time error CSS1019: Unexpected token, found ')'
(107,1): run-time error CSS1019: Unexpected token, found '$'
(107,2): run-time error CSS1019: Unexpected token, found '('
(107,11): run-time error CSS1031: Expected selector, found ')'
(107,11): run-time error CSS1025: Expected comma or open brace, found ')'
(130,2): run-time error CSS1019: Unexpected token, found ')'
 */
$.widget('Tanner.RecuperarClave', {
    options: {
        urlApiDataSend: "SendEmailPasswordRecovery",
        noSelectedOptionClass: "no-selected-option",
        btnIngresar: ".btn-recuperar",
        form: "#form-recuperar",
        alerts: "#row"
    },
    _create: function () {

        var self = this;

        $(self.options.btnIngresar).on('click', function () {
            self.ResetForm();
            var json = Tanner.Helpers.SerializeForm($(self.options.form));
            if (self.Validate(json)) {

                $.ajax({
                    type: "POST",
                    url: self.options.urlApiDataSend,
                    data: JSON.stringify(json),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    beforeSend: function () {
                        alertify.minimalDialog || alertify.dialog('minimalDialog', function () {
                            return {
                                main: function (content) {
                                    this.setContent(content);
                                }
                            };
                        });
                        alertify.minimalDialog('Iniciando proceso de recuperación de contraseña, por favor espere.<br/><br/><div id="contenedor-loader"></div>').setting({
                            'movable': false,
                            'closableByDimmer': false,
                            'maximizable': false
                        });
                        $('.ajs-header').html("Recuperación").css("font-family", "NissanLight2");
                        $('.ajs-content').css({ "overflow": "initial", "font-family": "NissanLight2" });
                        $('.ajs-button').css("background-color", "#C3002F").css("font-family", "NissanLight2").css("color", "white").css("border-radius", "15px 15px 15px 15px");
                        $('.ajs-dialog').height(200);
                        $('.ajs-footer').hide();
                    },
                    timeout: 300000,
                    success: function (result) {
                        if (result.status == "20000") {
                            $(this).attr('disabled', true);
                            alertify.alert('Recuperar contraseña', 'Se ha enviado al siguiente correo electrónico una clave temporal: ' + result.email).closeOthers();
                            $('.ajs-header').css("font-family", "NissanLight2");
                            $('.ajs-content').css({ "font-family": "NissanLight2" });
                            $('.ajs-button').css("background-color", "#C3002F").css("font-family", "NissanLight2").css("color", "white").css("border-radius", "15px 15px 15px 15px");
                        } else {
                            alertify.alert('Error', 'Lo sentimos, el usuario ingresado no es correcto.').closeOthers();
                            $('.ajs-footer').show();
                            $('.ajs-header').css("font-family", "NissanLight2");
                            $('.ajs-content').css({ "font-family": "NissanLight2" });
                            $('.ajs-button').css("background-color", "#C3002F").css("font-family", "NissanLight2").css("color", "white").css("border-radius", "15px").css("border-style", "none");
                        }
                    },
                    error: function (result) {
                        alertify.alert('Error', 'Ocurrió un error inesperado, favor volver a probar').closeOthers();
                        $('.ajs-footer').show();
                        $('.ajs-header').css("font-family", "NissanLight2");
                        $('.ajs-content').css({ "font-family": "NissanLight2" });
                        $('.ajs-button').css("background-color", "#C3002F").css("font-family", "NissanLight2").css("color", "white").css("border-radius", "15px 15px 15px 15px");
                    }
                });
            }

        });
        
    },
    _init: function () {
        if (this.widgetInitialized) {
            this.element
                .data('id', $('<div/>').uniqueId().attr('id'));
            this._applyTemplate(this.data);
        }
    },
    _applyEvents: function (result) {
        Tanner.Helpers.Calendar();
        self.LoadSelectInfo(result);
    },
    Validate: function (jsonForm) {
        var self = this;
        var valid = true;

        if (jsonForm.Rut == '' || jsonForm.Rut == null) {
            /*$('#rutAlertRecuperar').fadeIn(500);
            $('#rutAlertRecuperar').fadeOut(1300);*/
            alertify.alert('Error', 'Debe ingresar un rut').closeOthers();
            $('.ajs-footer').show();
            $('.ajs-header').css("font-family", "NissanLight2");
            $('.ajs-content').css({ "font-family": "NissanLight2" });
            $('.ajs-button').css("background-color", "#C3002F").css("font-family", "NissanLight2").css("color", "white").css("border-radius", "15px").css("border-style", "none");
            valid = false;
        }

        return valid;
    },
    ResetForm: function () {
        var self = this;
        $('#rutAlertRecuperar').hide();
        $('#rutInvalid').hide();
    }
});

$(document).ready(function () {
    options = {
        contDatos: "#contenedor-recuperar"
    }
    $(options.contDatos).RecuperarClave();
    $('#rutAlertRecuperar').hide();
    $('#rutInvalid').hide();
    
    $("input#Rut").rut({
        formatOn: 'blur',
        minimumLength: 2, // validar largo mínimo; default: 2
        validateOn: 'blur', // si no se quiere validar, pasar null
        ignoreControlKeys: false
    }).on('rutInvalido', function (e) {
        if ($("input#Rut").val() != "") {
            alertify.alert('Error', 'Debe ingresar un rut valido').closeOthers();
            $('.ajs-footer').show();
            $('.ajs-header').css("font-family", "NissanLight2");
            $('.ajs-content').css({ "font-family": "NissanLight2" });
            $('.ajs-button').css("background-color", "#C3002F").css("font-family", "NissanLight2").css("color", "white").css("border-radius", "15px 15px 15px 15px").css("border-style", "none");
            $('input#Rut').val("");
        }
    });
});
