1/***********************************************************/ 2/* */ 3/* Plataforma e-ducativa - Argentina */ 4/* */ 5/* Copyright (c) 2026 de e-ducativa Educación Virtual S.A. */ 6/* */ 7/***********************************************************/ 8function mostrar_pantalla_login(mensaje) { 9 generar_portada_menu(); 10 11 Event.observe('acceso_log_form', 'submit', process_form); 12 13 $('username').focus(); 14 15 if (mensaje != '') { 16 alert_message(mensaje); 17 } 18} 19 20function alert_message(mensaje) { 21 22 var msg = new Element('div', { className: 'edu-system-message edu-system-message-warning' }); 23 var close = new Element('a', { className: 'cerrar_ventana' }); 24 25 msg.insert(mensaje).insert(close); 26 27 document.getElementById('sys-msg-wrapper').insert(msg); 28 29 close.observe('click', function () { 30 msg.remove(); 31 msg = null; 32 }); 33} 34 35function generar_portada_menu() { 36 var portada_login = generar_portada_login(); 37 38 if (portada_login) { 39 $('acceso_frame').addClassName('portada'); 40 $('acceso_frame').insert(portada_login); 41 } else { 42 $('acceso_frame').addClassName('vacio'); 43 } 44 45 // Traduce las formulas matematicas 46 AMprocessNode($('portada_login'), false, 'AM'); 47 48 // El checkeo se realiza aca porque esta libreria se carga luego de base.js 49 var contenido_620 = $$('.contenido_620')[0]; 50 51 if (contenido_620) { 52 if (!isResponsive(contenido_620)) 53 contenido_620.addClassName('no-responsive'); 54 55 // por defecto los contenido_620 no estan visibles (ocultos desde css) 56 // entonces modificamos esto para mostrar el contenido 57 contenido_620.setStyle({ 'visibility': 'visible' }); 58 } 59} 60 61function generar_portada_login() { 62 var portada_login = new Element('div', { id: 'portada_login' }); 63 var contenido_portada_login = new Element('div', { id: 'contenido_portada_login' }); 64 65 if (tipo_fondo_login == 'imagen') { 66 // si existe una imagen 67 $('wrapper').style.backgroundImage = "url('" + data_fondo + "')"; 68 $('wrapper').addClassName('con_imagen ' + tipo_login_style); 69 // para controlar el ambito 70 var body = document.body; 71 body.classList.add('con_imagen'); 72 if (tipo_login_style) body.classList.add(tipo_login_style); 73 } 74 75 // el texto a mostrar es vacio o tipo_portada_login es 'ninguno' 76 if (tipo_portada_login == 'ninguno') return; 77 78 if (tipo_portada_login == 'imagen') { 79 contenido_portada_login.insert(generar_imagen_login()); 80 } else { 81 contenido_portada_login.addClassName('contenido_620'); 82 83 /* contenido de portada */ 84 var cont_620_abrir = new Element('div', { 85 className: 'contenido_620_abrir', 86 title: 'VER_CONTENIDO'.termcap() 87 }); 88 89 contenido_portada_login.insert(cont_620_abrir); 90 //CUIDADO: este clase se inicializa aca, ya que se agrega al DOM luego del scan de la clase 91 // Educativa.Aula.Visualizador620Controller 92 new Educativa.Aula.Visualizador620Controller({ el: cont_620_abrir }); 93 94 var contenido_tiny_portada = new Element('div', { className: 'tiny_personalizado' }); 95 96 if (!data_login) return; 97 98 contenido_tiny_portada.insert(data_login); 99 contenido_portada_login.insert(contenido_tiny_portada); 100 } 101 102 portada_login.insert(contenido_portada_login); 103 104 return portada_login; 105 106} 107 108function generar_imagen_login() { 109 var html_imagen_login = ''; 110 111 html_imagen_login = new Element('img', { 112 className: 'imagen_portada', 113 src: data_login, 114 width: ancho_imagen_login, 115 height: alto_imagen_login 116 }); 117 118 return html_imagen_login 119 120} 121 122function process_form() { 123 if ($('wClaveUsuarioPlana') && $('username')) { 124 125 $('wClaveUsuario').value = calcMD5($F('wClaveUsuarioPlana').strip()); 126 127 $('username').value = $F('username').strip(); 128 129 // Se copia el valor de wClaveUsuarioPlana a un campo disabled que no viaje 130 $('wFake').value = $('wClaveUsuarioPlana').value; 131 132 // Se oculta el input real y el icono ojo, se muestra el fake en su lugar 133 $('wClaveUsuarioPlana').setStyle({ display: 'none' }); 134 var eyeIcon = $('passwd_visibility_login'); 135 if (eyeIcon) eyeIcon.setStyle({ display: 'none' }); 136 $('wFake').show(); 137 138 //Se borra wClaveUsuarioPlana para que viaje vacia y permita recordar la contrasenia en crome. 139 $('wClaveUsuarioPlana').value = ""; 140 141 return true; 142 } 143} 144 145function olvidaste_datos() {
146 const url = 'recordatorio.cgi?wOrigen=acceso'; 147 148 EduOpen({ 149 url, 150 width: 580, 151 height: 353, 152 title: Dict.termcap('RECUPERACION_DE_CUENTA'), 153 }) 154} 155 156function validate_and_submit() { 157 158 const invalid = Educativa.Utils.validar_clave({ 159 passwd_len: document.getElementById('passwd_len').value, 160 passwd_valid_chars: new RegExp(document.getElementById('passwd_valid_chars').value), 161 clave: document.getElementById('inputNuevaClave').value, 162 clave_confirmacion: document.getElementById('inputNuevaClave2').value, 163 confirmacion: true 164 }); 165 166 if (invalid) { 167 alert(invalid); 168 document.form_cambio_clave.focusFirstElement(); 169 return false; 170 } 171 172 document.form_cambio_clave.submit(); 173} 174 175function keep_passwd() { 176 document.getElementById('mantener_clave').value = 1; 177 document.form_cambio_clave.submit(); 178} 179 180function on_keydown_cambio_clave(e) { 181 if (e.keyCode == Event.KEY_RETURN) { 182 validate_and_submit(); 183 } 184}; 185 186/** 187 * Cambia la visibilidad de los caracteres del input de cambio de password 188 * @method toggle_passwd 189 */ 190function toggle_passwd(clave, icono) { 191 192 var passwd_visibility_icon = document.getElementById(icono); 193 var passwd_input = document.getElementById(clave); 194 195 if (passwd_input.type === "password") { 196 passwd_visibility_icon.innerHTML = '<i class="far fa-eye"></i>' 197 passwd_input.type = "text"; 198 } else { 199 passwd_visibility_icon.innerHTML = '<i class="far fa-eye-slash"></i>' 200 passwd_input.type = "password"; 201 } 202}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.