let msg_usuario_valido , msg_usuario_required , msg_usuario_minlength , msg_password_required , msg_olvido_password , msg_password_cambio , msg_password_send , msg_cancel , msg_olvido_enviado , msg_olvido_check ; $(function() { //manda form con enter $('input').keyup(function(event) { if (event.which === 13) { event.preventDefault(); login(); } }); //leo los mensajes $.getJSON('lang.'+$('html').attr('lang')+'.json', function(datos) { msg_usuario_valido = idioma_msg(datos,'Debe ingresar el usuario en el formato USUARIO@EMPRESA'); msg_usuario_required = idioma_msg(datos,'Por favor ingrese el usuario'); msg_usuario_minlength = idioma_msg(datos,'Al menos 3 caracteres'); msg_password_required = idioma_msg(datos,'Por favor ingrese su password'); msg_olvido_password = idioma_msg(datos,'¿Olvidó su contraseña?'); msg_password_cambio = idioma_msg(datos,'Le enviaremos un e-mail con las instrucciones para cambiarla.'); msg_password_send = idioma_msg(datos,'Enviar e-mail'); msg_cancel = idioma_msg(datos,'Cancelar'); msg_olvido_enviado = idioma_msg(datos,'e-mail enviado !!'); msg_olvido_check = idioma_msg(datos,'Revise su e-mail y siga las instrucciones.'); /* VALIDACIONES */ jQuery.validator.setDefaults({ errorElement: "span", errorPlacement: function (error, element) { error.addClass("invalid-feedback"); element.closest(".form-group").append(error); }, highlight: function (element, errorClass, validClass) { $(element).addClass("is-invalid"); }, unhighlight: function (element, errorClass, validClass) { $(element).removeClass("is-invalid"); }, }); jQuery.validator.addMethod("usuariovalido", function(value, element) { var ok = value.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]))+)$/); return this.optional(element) || ok; }, function(params, element) { return msg_usuario_valido; }); $("#loginform").validate({ onfocusout: function(element) { this.element(element); }, focusCleanup: false, rules: { Usuario: { required: true, minlength: 3, usuariovalido: true, }, Password: { required: true, } }, messages: { Usuario: { required: msg_usuario_required, minlength: msg_usuario_minlength, }, Password: { required: msg_password_required, }, }, invalidHandler: function(form, validator) { if (!validator.numberOfInvalids()) return; $('html, body').animate({ scrollTop: $(validator.errorList[0].element).offset().top-140 }); }, }); }); }); function login(){ if ($('#loginform').valid()){ $.post('/php/login/login.php', {Usuario: $('#Usuario').val(), Password: $('#Password').val()}, function(result) { if (result.success) { url = "/index.php"; $(location).attr("href", url); } else { Swal.fire({ title: 'Error!', html: result.errorMsg, icon: 'error', allowOutsideClick: false, confirmButtonText: 'OK' }) } }, 'json').fail(function(xhr, textStatus, errorThrown) { Swal.fire({ title: 'Error!', html: xhr.responseText + textStatus + errorThrown, icon: 'error', allowOutsideClick: false, confirmButtonText: 'OK' }) }); } } function lenguaje(lang){ window.location.search= "?lang="+lang; } function olvidepw() { if($('#Usuario').valid()){ Swal.fire({ icon: 'info', title: msg_olvido_password, html: msg_password_cambio, allowOutsideClick: false, showDenyButton: true, confirmButtonText: msg_password_send, denyButtonText: msg_cancel, }).then((result) => { if (result.isConfirmed) { $('#overlay').show(); $.post('/php/login/olvidepw.php', {Usuario: $('#Usuario').val(), }, function(result) { $('#overlay').hide(); if (result.success) { Swal.fire({ title: msg_olvido_enviado, html: msg_olvido_check, icon: 'success', allowOutsideClick: false, confirmButtonText: 'OK' }); } else { Swal.fire({ title: 'Error!', html: result.errorMsg, icon: 'error', allowOutsideClick: false, confirmButtonText: 'OK' }) } }, 'json').fail(function(xhr, textStatus, errorThrown) { Swal.fire({ title: 'Error!', html: xhr.responseText + textStatus + errorThrown, icon: 'error', allowOutsideClick: false, confirmButtonText: 'OK' }) }); } }) } }