// Free-C@mpus
// version 0.2
// 29-08-2005
// Copyright (c) 2005, David Castellanos <davidcaste@gmail.com>
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
// Basado en los ejemplos del libro de Mark Pilgrim "Dive Into Greasemonkey" (http://diveintogreasemonkey.org/)
//
// -------------------------------------------------------------------
//
// This is a Greasemonkey user script.
//
// To install, you need Greasemonkey: http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "Fire-C@mpus", and click Uninstall.
//
// -------------------------------------------------------------------
//
// Esto pretende ser una solución a corto plazo del problema de marginación que sufrimos los usuarios de Mozilla Firefox
// a la hora de acceder a Red-C@mpus. Simplemente, es imposible acceder con otro navegador distinto de Microsoft
// Internet Explorer, o que se identifique como este (User Agent).
//
// La opción de cambiar el User Agent no es óptima. Es complicado, no siempre funciona (aunque con los navegadores
// Opera y Konqueror funciona bien) y seguimos teniendo el problema del menú desplegable que no es estándar y sólamente
// es renderizado por Internet Explorer.
//
// La solución la brindó el grupo CRySOL de Ciudad Real (http://crysol.inf-cr.uclm.es) con un sistemas de frames creado por Bena
// (¡¡Gracias Bena :-)!!) que en parte solucionaba el problema. Pero con la nueva versión de Red-C@mpus dejó de funcionar,
// además que no se integraba muy bien, y podía resultar confuso a algunos usuarios.
//
// Este script está programado para Greasemonkey, ha sido probado en Firefox 1.0.6 en una Debian Sid y no tiene la intención de
// ser una solución definitiva (que en este caso sería que Red-C@mpus cumpliera los estándares y no se ciñera a un navegador
// específico y además propietario) sino una solución temporal, sencilla y limpia de cara al usuario.
//
// David Castellanos <davidcaste@gmail.com>
// http://www.linuxalbacete.org
//
// -------------------------------------------------------------------- 
//
// ==UserScript==
// @name Free-C@mpus
// @namespace http://www.linuxalbacete.org/
// @description Hack para poder acceder a RedC@mpus desde Mozilla Firefox y navegadores con la extensión Greasemonkey
// @include https://redcampus.uclm.es/*
// @include http://redcampus.uclm.es/*
// ==/UserScript==

var href = window.location.href;

// Compruebo si estoy en el marco "problemático"
if( href == "https://redcampus.uclm.es/redcampus/servlet/informacion?1FRAME=M" ) {

// fragmento de la función addGlobalStyle tomada del script Butler <http://diveintomark.org/projects/butler/butler.user.js>
// inyecto en HEAD una tabla de estilo CSS
var style = document.createElement("style");
style.type = "text/css";
style.innerHTML = 'body {' +
'		background-image: url(https://redcampus.uclm.es/redcampus/images/fondo_rc.gif);' +
'	}' +

'	a  {' +
'		color : #8000FF;' +
'		font-family : Verdana;' +
'		font-size : 11px;' +
'		font-weight : bold;' +
'	}' +

'	#menu {' +
'		background-color : white;' +
'		border : 2px black solid;' +
'		padding : 2px;' +
'	}' +

'	#navegacion {' +
'		display: inline;' +
'	}' +

'	#salir {' +
'		display: inline;' +
'		position: absolute;' +
'		padding-top: 3px;' +
'		right: 20px;' +
'	}';
document.getElementsByTagName('HEAD')[0].appendChild(style);

// elimino el puto script javascript del menú
var script = document.getElementsByTagName("SCRIPT");
if (script[0]) {
	script[0].parentNode.removeChild(script[0]);
}

// tabla donde están los enlaces del menú y el enlace a salir
var tabla = document.getElementsByTagName("TABLE");

// código que vamos a inyectar en el frame. Es un sencillo menú de navegación compuesto por una serie de select
var navegador = document.createElement("div");
navegador.innerHTML = '<div id="menu"><div id="navegacion">' +
'	<select onchange="parent.parent.frames[\'principal\'].location=value">' +
'	<option value=".">-Menu-</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/html/ayuda_alumno/index.htm">Ayuda</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2711">Datos personales</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2430">Becas Erasmus</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/ApoyoDocencia?INICIO=S&ID_PERFIL=APD_ALU&ID_IDIOMA=CAS">Apoyo a la Docencia</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/conf_navegador/Configuracion_Navegadores.htm">Configuración del navegador</option>' +
'	<option value="https:///redcampus/servlet/sformat?1COD_PANTALLA=3195">Cita Previa</option>' +
'	<option value=".">Automatrícula 1er y 2ndo ciclo</option>' +
'	<option value="http://www.uclm.es/alumnos/buzon/todos/">Buzón del Alumno</option>' +
'	<option value="https://socrates.uclm.es/pinalumnos/ch_pw.asp">Cambio de contraseña</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=3191">Libre elección disponible para el alumno</option>' +
'</select>' +

'<select onchange="parent.parent.frames[\'principal\'].location=value">' +
'	<option value=".">-Datos de la Matrícula-</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2729">Matrícula</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2720">Ocupación de los Grupos de Actividad</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2732">Consulta de movimientos y recibos</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2818">Becas</option>' +
'</select>' +

'<select onchange="parent.parent.frames[\'principal\'].location=value">' +
'	<option value=".">-Biblioteca-</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=1802">Mis Prestamos</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=1803">Mis Reservas</option>' +
'</select>' +

'<select onchange="parent.parent.frames[\'principal\'].location=value">' +
'	<option value=".">-Expediente-</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2695">Consulta de Expediente</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2817">Calificaciones</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2821">Asignaturas Superadas</option>' +
'	<option value="https://redcampus.uclm.es/redcampus/servlet/sformat?1COD_PANTALLA=2822">Expediente Completo</option>' +
'</select>' +
'</div>' +
'<div id="salir"><a href="https://redcampus.uclm.es/redcampus/servlet/Login?FIN=S">Salir</a></div>' +
'</div>';

// sustituyo la famosa tabla por nuestro menú de navegación
if (tabla[0]) {
	tabla[0].parentNode.replaceChild(navegador, tabla[0]);
}

}

// CHANGELOG:
// 0.2 - 29-08-2005 - Liberado

// la magia ha terminado
