PageSourceSearch

https://virtualfide.fide.edu.pe//lib/javascript/Educativa/Aula/Acceso.js?v=1788178552

js fide.edu.pe collected 2026-10-07 06:54:45 UTC 6,334 bytes, 202 lines download raw bytes

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.