var Login = {

    enviar_login: function(frmName) {

        var color = 'cccccc';
        var validator = new Validador(frmName ,'one' ,color);

        validator.addconstraint('user_email' ,'obligatorio','','El campo "E-Mail" es obligatorio.');
        validator.addconstraint('user_email' ,'email','','El campo "E-Mail" no es válido, por favor ingrese una dirección de correo válida.');

        validator.addconstraint('user_pass','obligatorio','','El campo "Contraseña" es obligatorio.');
        validator.addconstraint('user_pass','regex',new RegExp(/[a-zA-Z0-9\-_\.]{4,32}/),'El campo "Contraseña", sólo puede tener: Letras, Números, guión, guión bajo y puntos. Mínimo 4 caracteres y máximo 32');

        if(validator.validar()){
                return true;
        } else {
                return false;
        }
    },

    procesarLogin: function (frmName) {
        if (Login.enviar_login(frmName)) {
            Login._forceAutoComplete(frmName);
            $('.button').hide();
            $('#' + frmName).find('#cargando-form').show();
            // Si estamos en IE, simplemente enviamos el form con submit.
            if ($.browser.msie) {
                document.forms[frmName].submit();
            } else {
                $.ajax({
                    url: 'https://w2.df.cl/app_reg/php/user_login.php?jsoncallback=?&referer=' + encodeURIComponent(window.location.href),
                    dataType: 'json',
                    type: 'GET',
                    cache: false,
                    data: $('#'+frmName).serialize(),
                    success: function(data) {
                        if (data.res == 'error') {
                            alert(data.msg);
                        } else {
                            if (typeof data.msg != 'undefined') {
                                alert(data.msg);
                            }
                            if (typeof data.redirUrl != 'undefined') {
                                if (data.redirUrl != '') {
                                    window.location.href = data.redirUrl;
                                } else {
                                    window.location.href = window.location.href;
                                }
                            } else {
                                window.location.href = window.location.href;
                            }
                        }
                        $('.button').show();
                        $('#' + frmName).find('#cargando-form').hide();
                    },
                    error: function () {
                        alert("Ocurrió un error al tratar de procesar su solicitud. Porfavor inténtelo nuevamente en uno momento mas.");
                        $('.button').show();
                        $('#' + frmName).find('#cargando-form').hide();
                    }
                });
            };
        };
    },
    _forceAutoComplete: function(frmName) {
        var $forms = document.getElementsByName(frmName);
        for ( var i = 0; i < $forms.length; i++ ) {
            var $form = $forms[i];
            var $submit = document.createElement("INPUT");
            $submit.type = "submit";
            $form.appendChild($submit);
            $form.onsubmit = function(){return false}
            $submit.style.display = "none";
            $submit.click();
        }
    },
    onEnter: function (frmName) {
        $('#' +  frmName).find('#user_pass, #user_email').keypress(function (e) {
            if (e.keyCode == 13) {
                Login.procesarLogin(frmName);
                return false;
            };
        });
    },
    emptyValue: function (o) {
        if ($(o).val() == 'E-Mail' || $(o).val() == 'Password') {
            $(o).val('');
        }
    }
};

