/* 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.Ingreso''
(1,26): run-time error CSS1019: Unexpected token, found ','
(1,28): 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 ':'
(10,6): run-time error CSS1019: Unexpected token, found ','
(11,13): run-time error CSS1030: Expected identifier, found ' '
(11,23): run-time error CSS1031: Expected selector, found '('
(11,23): run-time error CSS1025: Expected comma or open brace, found '('
(233,6): run-time error CSS1019: Unexpected token, found ','
(234,11): run-time error CSS1030: Expected identifier, found ' '
(234,21): run-time error CSS1031: Expected selector, found '('
(234,21): run-time error CSS1025: Expected comma or open brace, found '('
(240,6): run-time error CSS1019: Unexpected token, found ','
(241,18): run-time error CSS1030: Expected identifier, found ' '
(241,28): run-time error CSS1031: Expected selector, found '('
(241,28): run-time error CSS1025: Expected comma or open brace, found '('
(244,6): run-time error CSS1019: Unexpected token, found ','
(245,19): run-time error CSS1030: Expected identifier, found ' '
(245,29): run-time error CSS1031: Expected selector, found '('
(245,29): run-time error CSS1025: Expected comma or open brace, found '('
(248,6): run-time error CSS1019: Unexpected token, found ','
(249,14): run-time error CSS1030: Expected identifier, found ' '
(249,24): run-time error CSS1031: Expected selector, found '('
(249,24): run-time error CSS1025: Expected comma or open brace, found '('
(281,6): run-time error CSS1019: Unexpected token, found ','
(282,15): run-time error CSS1030: Expected identifier, found ' '
(282,25): run-time error CSS1031: Expected selector, found '('
(282,25): run-time error CSS1025: Expected comma or open brace, found '('
(287,1): run-time error CSS1019: Unexpected token, found '}'
(287,2): run-time error CSS1019: Unexpected token, found ')'
(289,1): run-time error CSS1019: Unexpected token, found '$'
(289,2): run-time error CSS1019: Unexpected token, found '('
(289,11): run-time error CSS1031: Expected selector, found ')'
(289,11): run-time error CSS1025: Expected comma or open brace, found ')'
(313,2): run-time error CSS1019: Unexpected token, found ')'
 */
$.widget('Tanner.Ingreso', {
    options: {
        urlApiDataSend: "/IngresoUsuario",
        noSelectedOptionClass: "no-selected-option",
        btnIngresar: ".btn-ingresar",
        form: "#form-ingreso",
        alerts: "#row",
        BusinessLineAutomotriz: 2,
        BusinessLineCrediNissan: 5,
    },
    _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('Autenticando, por favor espere.<br/><br/><div id="contenedor-loader"></div>')
                            .setting({
                                'movable': false,
                                'closableByDimmer': false,
                                'maximizable': false,
                                'closable': false
                            });
                        $('.ajs-header').text("Login").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(180);
                        $('.ajs-footer').hide();
                    },
                    success: function (result) {
                        if (result.Status) {
                            if (result.MultipleLogin) {
                                $(this).attr('disabled', true);
                                var header = $('.modal-header').html();
                                var body = $('.modal-body').html();
                                
                                if (alertify.myAlert != null && alertify.myAlert().isModal())
                                    alertify.myAlert().destroy();
                                    
                                alertify.myAlert || alertify.dialog('myAlert', function factory() {
                                    return {
                                        main: function (message) {
                                            this.message = message;
                                        },
                                        setup: function () {
                                            return {
                                                buttons: [
                                                    { text: "Tanner", key: 12, className: alertify.defaults.theme.ok },
                                                    { text: "NTFS RETAIL", key: 13, className: alertify.defaults.theme.cancel },
                                                ],
                                                focus: { element: 0 },
                                                options: {
                                                    closable: true,
                                                    autoReset: false,
                                                    invokeOnCloseOff: true,
                                                    basic: false,
                                                    maximizable: false,
                                                    resizable: false,
                                                    padding: true,
                                                    title: header,
                                                    closableByDimmer: true,
                                                    Modal: true,
                                                    Frameless: false
                                                }
                                            };
                                        },
                                        prepare: function () {
                                            this.setContent(this.message);
                                        },
                                        callback: function (closeEvent) {
                                            console.log(closeEvent);
                                            if (closeEvent.index == 0) {
                                                json = Object.assign(json, { BusinessLineId: self.options.BusinessLineAutomotriz });
                                                $.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('Autenticando, por favor espere.<br/><br/><div id="contenedor-loader"></div>')
                                                            .setting({
                                                                'movable': false,
                                                                'closableByDimmer': false,
                                                                'maximizable': false,
                                                                'closable': false
                                                            });
                                                        $('.ajs-header').text("Login").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(180);
                                                        $('.ajs-footer').hide();
                                                    },
                                                    success: function (result) {
                                                        if (result.Status) {
                                                            if (result.MultipleLogin == false) {
                                                                $(this).attr('disabled', true);
                                                                window.location.href = urlLogin + '?' + result.Url;
                                                            }
                                                        }
                                                        else {
                                                            alertify.alert('Error', 'No fue posible autenticarse verifique Usuario y Contraseña y vuelva a intentar.').closeOthers();
                                                            $('.ajs-footer').show();
                                                            $('.ajs-header').text("Login").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").css("border-style", "none");
                                                        }
                                                    },
                                                    error: function (result) {
                                                        alertify.alert('Error', 'Ocurrió un error inesperado, favor volver a probar').closeOthers();
                                                        $('.ajs-footer').show();
                                                        $('.ajs-header').text("Login").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");
                                                    }
                                                });

                                            }
                                            if (closeEvent.index == 1) {
                                                json = Object.assign(json, { BusinessLineId: 5 });
                                                $.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('Autenticando, por favor espere.<br/><br/><div id="contenedor-loader"></div>')
                                                            .setting({
                                                                'movable': false,
                                                                'closableByDimmer': false,
                                                                'maximizable': false,
                                                                'closable': false
                                                            });
                                                        $('.ajs-header').text("Login").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(180);
                                                        $('.ajs-footer').hide();
                                                    },
                                                    success: function (result) {
                                                        if (result.Status) {
                                                            if (result.MultipleLogin == false) {
                                                                $(this).attr('disabled', true);
                                                                window.location.href = urlLogin + '?' + result.Url;
                                                            }
                                                        }
                                                        else {
                                                            alertify.alert('Error', 'No fue posible autenticarse verifique Usuario y Contraseña y vuelva a intentar.').closeOthers();
                                                            $('.ajs-footer').show();
                                                            $('.ajs-header').text("Login").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");
                                                        }
                                                    },
                                                    error: function (result) {
                                                        alertify.alert('Error', 'Ocurrió un error inesperado, favor volver a probar').closeOthers();
                                                        $('.ajs-footer').show();
                                                        $('.ajs-header').text("Login").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");
                                                    }
                                                });
                                            }
                                        }
                                    }
                                });
                                //launch it.
                                alertify.myAlert(body).set({
                                    'autoReset': false
                                }).closeOthers();
                                
                                $('.ajs-header').text("Login").css("font-family", "NissanLight2");
                                $('.ajs-content').css({ "font-family": "NissanLight2" });
                                $('.ajs-button').css("font-family", "NissanLight2");
                            }
                            else {
                                $(this).attr('disabled', true);
                                window.location.href = urlLogin + '?' + result.Url;
                            }
                        } else {
                            alertify.alert('Error', 'No fue posible autenticarse verifique Usuario y Contraseña y vuelva a intentar.').closeOthers();
                            $('.ajs-footer').show();
                            $('.ajs-header').text("Login").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");
                        }
                    },
                    error: function (result) {
                        alertify.alert('Error', 'Ocurrió un error inesperado, favor volver a probar').closeOthers();
                        $('.ajs-footer').show();
                        $('.ajs-header').text("Login").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);
    },
    ValidateEmail: function (jsonForm) {
        var re = /\S+@\S+\.\S+/;
        return re.test(jsonForm);;
    },
    Validate: function (jsonForm) {
        var self = this;
        var valid = true;

        if ((jsonForm.Rut == '' || jsonForm.Rut == null) && (jsonForm.Clave == '' || jsonForm.Clave == null)) {
            alertify.alert('Error', 'Debe ingresar campos requeridos').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");
            valid = false;
        }
        else {
            if (jsonForm.Rut == '' || jsonForm.Rut == null) {
                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 15px 15px 15px").css("border-style", "none");
                valid = false;
            }
            else if (jsonForm.Clave == '' || jsonForm.Clave == null) {
                alertify.alert('Error', 'Debe ingresar una Contraseña').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");
                valid = false;
            }
        }
        
        return valid;
    },
    ResetForm: function () {
        var self = this;
        $('#rutAlert').hide();
        $('#claveAlert').hide();
    }
});

$(document).ready(function () {
    options = {
        contDatos: "#contenedor-ingreso"
    }
    $(options.contDatos).Ingreso();
    $('#rutAlert').hide();
    $('#claveAlert').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("");
        }
    });
});
