// JavaScript Document

//Yoana: 06/10/2006
//funcion creada para añadir en el evento onMouseOver  de los acrónimos que sean un enlace
//que se quiera abrir en una ventana nueva. Deben tener como id="acNuevaVentana"
function mostrarTodoTitle() {
	this.document.getElementById("acNuevaVentana").title += ". Se abre en una nueva ventana";
}


function aplicarEfecto(submenu,nombreLi){
	var elemento = document.getElementById(nombreLi);
   	if (!elemento.className || elemento.className =="outon" || elemento.className =="outin") {
		new Effect.Appear(submenu);
	} else {
		//es visible
		new Effect.Fade(submenu);
	}
	//alert("antes");
	cambioClass(nombreLi);
	//alert("después");
}
function aplicarEfectoPG(submenu,nombreLi){
	var elemento = document.getElementById(nombreLi);
   	if (!elemento.className || elemento.className=='outon') {
		elemento.className = 'outon';
		new Effect.Appear(submenu);
	} else {
		//es visible
		new Effect.Fade(submenu);
	}
	//alert("antes");
	cambioClass(nombreLi);
	//alert("después");
}

function aplicarEfectoBusc(divAMostrarOcultar,nombreP){
	var elemento = document.getElementById(nombreP);
   	if (!elemento.className || elemento.className=='outon') {
		elemento.className = 'outon';
		new Effect.Appear(divAMostrarOcultar);
	} else {
		//es visible
		new Effect.Fade(divAMostrarOcultar);
	}
	//alert("antes");
	cambioClass(nombreLi);
	//alert("después");
}

function cambioClass(idCambio) {
	var elemento = document.getElementById(idCambio);
	if (!elemento.className) { 	elemento.setAttribute("class","on");
	} else { 
		switch (elemento.className)
		{
			case "in": 
				elemento.className="outin"; 
				break;	
			case "outin": 
				elemento.className="in"; 
				break;	
			case "on": 
				elemento.className="outon"; 
				break;	
			case "outon": 
				elemento.className="on"; 
				break;	
		  default: break;
		};
	}
/*	now = new Date();
	seg = now.getSeconds();
	siguiente = seg + 1;
	while (seg<siguiente)
	{
		ahora = new Date();
		seg = ahora.getSeconds();
	}  */
}

//Yoana 31/07/2006: Función que cambia el class de on a outon, para el caso de que sí tengamos javascript
// y el menú aparezca oculto. Por defecto pensamos que no va a haber javascript y tiene que salir desplegado
function inicializarClass(idRepaso) {
	var elemento =document.getElementById(idRepaso);
	if (!elemento.className) { 	elemento.setAttribute("class","outon");
	} else {
			if ( elemento.className =="on") 
				elemento.className="outon"; 
	}
}

function compruebaPopup(className,features){

  var as = document.getElementsByTagName('A');

   for(i=0;i<as.length;i++){
      var a = as[i];
      r=new RegExp("(^| )"+className+"($| )");
      if(r.test(a.className)){
			a.title= a.title + " Se abre en una nueva ventana";
			 a.onclick = function(){
             window.open(this.href, 'nueva', features);
             return false;
		 }
        /* a.onkeypress = function(){
             window.open(this.href, 'nueva', features);
             return false;
         }*/
      }
    }
}

function compruebaPopup2(className,features){

  var as = document.getElementsByTagName('A');

   for(i=0;i<as.length;i++){
      var a = as[i];
      r=new RegExp("(^| )"+className+"($| )");
      if(r.test(a.className)){
			a.title= a.title + " Se abre en una nueva ventana";
			 a.onclick = function(){
             window.open(this.href, 'nueva2', features);
             return false;
		 }
        /* a.onkeypress = function(){
             window.open(this.href, 'nueva', features);
             return false;
         }*/
      }
    }
}

function ventanaNueva(className,features){

var as = document.getElementsByTagName('a');
 for(i=0;i<as.length;i++){
      var a = as[i];
      r=new RegExp("(^| )"+className+"($| )");
      if(r.test(a.className)){
			a.title= a.title + " Se abre en una nueva ventana";
			 a.onclick = function(){
             window.open(this.href, 'nuevaVentana', features);
             return false;
		 }
        /* a.onkeypress = function(){
             window.open(this.href, 'nueva', features);
             return false;
         }*/
      }
    }
}


function abrirPopup(){
    var className = '';
	var features ='';
	
    className = 'nuevaVentana';
	features='toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no';
	ventanaNueva(className,features);
	
    className = 'abrirRegistro';
	features ='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=450,height=420';
	compruebaPopup(className,features);
	
	
	className = 'abrirFicha';
	features ='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=520,height=590';
	compruebaPopup(className,features);
	
	className = 'abrirPopup2';
	features ='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=520,height=550';
	compruebaPopup2(className,features);

	
	className = 'abrirDetalle';
	features ='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=520,height=590';
	compruebaPopup(className,features);
	
	className = 'abrirExplicar';
	features ='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=570,height=590';
	compruebaPopup(className,features);

}

//Yoana 28/07/2006: Función que esconde los submenús de la derecha que deben estar ocultos al cargar la página. 
//Necesario para que si la aplicación se ejecuta sin poder usar javascript, el menú se vea completo.
function esconderSubmenus(){
	if (!document.getElementsByTagName) return;
	var enlaces = document.getElementsByTagName("ul");
	var nombreClase = "";
	for (var i=0; i<enlaces.length; i++){
		var enlace = enlaces[i];
		if (!enlace.className) { nombreClase = ""; }
		else { nombreClase = enlace.className; }
		if (nombreClase=="invisible") {
		// este solo funciona en mozilla	-- 	enlace.setAttribute("style","display:none;");
			enlace.style.display='none';
		}
	}
}

function 	revisarAcronimos()
{
	var acron = document.getElementsByTagName("acronym");
	if (acron!=null) {
		for (var i=0; i<acron.length; i++){
			var ac = acron[i];
			if (ac.className!=null && ac.className=="acNuevaVentana")
			{	ac.title += ". Se abre en una nueva ventana";	} 
		}
	} 
}

function inicializar(){
	//revisarCss();
	abrirPopup();
	esconderSubmenus();
	revisarAcronimos();
}
   
window.onload = inicializar;


/*funcion ajax para enviar a un amigo*/


var req2;

function enviar_amigo(thisurl) {
        document.getElementById('AMIGO').style.display='block';
		var url = "/includes/enviar_amigo.inc.php?thisurl="+thisurl+"&amp;nocache=" + Math.random();
        if(window.XMLHttpRequest) {
                req2 = new XMLHttpRequest();
        } else if(window.ActiveXObject) {
                req2 = new ActiveXObject("Microsoft.XMLHTTP");
        }
        req2.open("GET", url, true);
        req2.onreadystatechange = callback_enviar_amigo;
        req2.send(null);
}

function enviar_amigo_en(thisurl) {
        document.getElementById('AMIGO').style.display='block';
		var url = "/includes/enviar_amigo.inc_en.php?thisurl="+thisurl+"&amp;nocache=" + Math.random();
        if(window.XMLHttpRequest) {
                req2 = new XMLHttpRequest();
        } else if(window.ActiveXObject) {
                req2 = new ActiveXObject("Microsoft.XMLHTTP");
        }
        req2.open("GET", url, true);
        req2.onreadystatechange = callback_enviar_amigo;
        req2.send(null);
}

function callback_enviar_amigo() {
        if(req2.readyState == 4) {
                if(req2.status == 200) {
                        response = req2.responseText;
                        document.getElementById("AMIGO").innerHTML = response;
                } else {
                        alert("There was a problem retrieving the data:\n" + req2.statusText);
                }
        }
}


