//==============================================================
// Función que carga una url 
//==============================================================
function cargarPath(path) {
	  if ( window.parent.opener && ! window.parent.opener.closed){
		window.parent.opener.location.href = path;
		window.parent.opener.focus();
	  }
	  else{	  	
	  	window.location.href = path;
	  }
}


// funcion para abrir una flotante
/* cual: fichero a cargar
	wid: ancho de la ventana
	heig: alto de la ventan
	scrol: si queremos que haya scroll o no (si, no) */
	
// variable para controlar la ventana	
var winn;
function abre_flotante(cual,wid,heig,scrol){	
	var LeftP = (screen.width) ? (screen.width-wid)/2 : 0;
	var TopP = (screen.height) ? (screen.height-heig)/2 : 0;
	if(winn){
		if(!winn.closed) winn.close();
		winn = null;
	}
	window.focus();
	winn=eval("open('"+cual+"','','width="+wid+",height="+heig+",top="+TopP+",left="+LeftP+",scrollbars="+scrol+"')");
}

function rollover_on(cual)
{
	eval("document.getElementById('bullet"+cual+"').src = '../../img/fle_gui/bullet_menu_on.gif'")
}

function rollover_off(cual)
{
	eval("document.getElementById('bullet"+cual+"').src = '../../img/fle_gui/bullet_menu.gif'")
}
/************************************************* Ticker vertical Home ***********************************************************/
var tm;	
var hg;
function startTicker()
{
	hg = parseInt(document.getElementById("contenido_ticker").offsetHeight);	
	moveTicker();
}
function moveTicker()
{
	tp = parseInt(document.getElementById("contenido_ticker").style.top);		
	if(tp > - hg)
	{		
		document.getElementById("contenido_ticker").style.top = (parseInt(document.getElementById("contenido_ticker").style.top) - 1) + "px";
		tm = setTimeout("moveTicker()",45)
	}			
	else
	{
		document.getElementById("contenido_ticker").style.top = (hg - 50) + "px";
		tm = setTimeout("moveTicker()",1)
	}
}
function pauseTicker()
{
		clearTimeout(tm);
}	

function cambiarIdioma(newIdioma, oldIdioma)
{
	var ruta 		= document.location.href;	
	var lsRuta 		= ruta.split("/");	
	lsRuta[lsRuta.length-2] = newIdioma;			
	var pagina 		= lsRuta[lsRuta.length-1];
	lsRuta[lsRuta.length-1] = pagina.replace("_"+oldIdioma,"_"+newIdioma);
	document.location.href = lsRuta.join("/");
}

/************************************************* Scroll virtual con Drag ***********************************************************/

var RatonY; // Raton Y al clicar
var RatonX; // Raton X al clicar

var ClickArriba = false; // Switch de clic flecha arriba
var ClickAbajo = false; // Switch de clic flecha abajo
var ClickArrastra = false; // Switch de clic elemento barra scroll
var BarraArriba = false; // Switch de clic sobre barra scroll
var BarraAbajo = false; // Switch de clic debajo barra scroll

var timer = setTimeout("",500); // Variable de repetición
var ArribaIzquierda; // Arriba X
var ArribaTop; // Arriba Y
var AbajoIzquierda; // Abajo X
var AbajoTop; // Abajo Y
var ArrastraIzquierda; // Elemento scrolable
var ArrastraTop; // Elemento scrolable
var ReglaIzquierda; // Regla X
var ReglaTop; // Regla Y
var contentT; // Y del contenedor
var contentH; // Altura contenido
var contentClipH; // Altura del clip del contenido
var scrollLength; // Numero de pixel que se tiene que mover la barra
var startY; // mantiene el carril entre el raton y la capa

/****************** PARAMETROS **********************/
var upH = 6; // Altura flecha arriba
var upW = 5; // Ancho flecha arriba
var downH = 6; // Altura flecha abajo
var downW = 5; // Ancho flecha abajo
var dragH = 25; // Altura elemento barra
var dragW = 9; // Ancho elemento Barra
var scrollH = 244; // Altura barra scroll
var velocidad = 4; // Velocidad
/****************** FIN PARAMETROS **********************/

//Devuelve si estamos posicionados sobre la flecha superior
function EsFlechaSuperior(){
return (RatonX >= ArribaIzquierda && (RatonX <= (ArribaIzquierda + upW)) && RatonY >= ArribaTop && (RatonY <= (ArribaTop + upH)))
}

// Raton abajo
function E_RatonAbajo(e){
	DameRaton(e);
	startY = (RatonY - ArrastraTop);
	
	// Si clica sobre la flecha superior
	if(EsFlechaSuperior()){
		ClickArriba = true;
		return scrollUp();
	}	
	// Si clica sobre la flecha inferior
	else if(RatonX >= AbajoIzquierda && (RatonX <= (AbajoIzquierda + downW)) && RatonY >= AbajoTop && (RatonY <= (AbajoTop + downH))){
		ClickAbajo = true;
		return scrollDown();
	}
	// Si clica sobre el elemento de la barra de scroll
	else if(RatonX >= ArrastraIzquierda && (RatonX <= (ArrastraIzquierda + dragW)) && RatonY >= ArrastraTop && (RatonY <= (ArrastraTop + dragH))){
		ClickArrastra = true;
		return false;
	}
	else if(RatonX >= ArrastraIzquierda && (RatonX <= (ArrastraIzquierda + dragW)) && RatonY >= ReglaTop && (RatonY <= (ReglaTop + scrollH))){
		// Si clica sobre la barra de scroll encima del elemento
		if(RatonY < ArrastraTop){
			BarraArriba = true;
			ClickArriba = true;
			return scrollUp();
		}
		// Si clica sobre la barra de scroll debajo del elemento
		else{
			BarraAbajo = true;
			ClickAbajo = true;
			return scrollDown();
		}
	}
	// Si no se está haciendo scroll
	else{
		return true;
	}
}

// Función arrastrar
function E_RatonMueve(e){		
	if(ClickArrastra && contentH > contentClipH){
		DameRaton(e);
		ArrastraTop = (RatonY - startY);
		
		if(ArrastraTop < (ReglaTop))
			ArrastraTop = ReglaTop;		
		if(ArrastraTop > (ReglaTop + scrollH - dragH))
			ArrastraTop = (ReglaTop + scrollH - dragH);
		
		contentT = ((ArrastraTop - ReglaTop)*(1/scrollLength));
		contentT = eval('-' + contentT);

		MueveA();
		// Algunos IE no seleccionan los gifs.
		if(document.all)
			return false;
		
	}
}

function E_Arriba(){
	clearTimeout(timer);	
	ClickArriba = false;
	ClickAbajo = false;
	ClickArrastra = false;
	BarraArriba = false;
	BarraAbajo = false;
	return true;
}

// Cojemos la altura
function DameTop(){
	contentT = parseInt(document.getElementById("contenido").style.top);
}

// Coordenadas del raton
function DameRaton(e){
	if(document.all){
		RatonY = event.clientY + document.body.scrollTop;
		RatonX = event.clientX + document.body.scrollLeft;
	}
	else
	{
		RatonY = e.pageY;
		RatonX = e.pageX;
	}
}

// Mover la capa
function MueveA(){
	document.getElementById("contenido").style.top = contentT + "px";
	document.getElementById("drag").style.top = ArrastraTop + "px";
	document.getElementById("regla").style.top = ArrastraTop + "px";
}

// Scroll arriba
function scrollUp(){
	DameTop();
	
	if(BarraArriba){
		if(ArrastraTop <= (RatonY-(dragH/2)))
			return E_Arriba();
	}
	
	if(ClickArriba){
		if(contentT < 0){		
			ArrastraTop = ArrastraTop - (velocidad*scrollLength);
			
			if(ArrastraTop < (ReglaTop))
				ArrastraTop = ReglaTop;
				
			contentT = contentT + velocidad;
			if(contentT > 0)
				contentT = 0;
			
			MueveA();
			timer = setTimeout("scrollUp()",25);
		}
	}
	return false;
}

// Scroll abajo
function scrollDown(){
	DameTop();
	
	if(BarraAbajo){
		if(ArrastraTop >= (RatonY-(dragH/2)))
			return E_Arriba();
	}

	if(ClickAbajo){
		if(contentT > -(contentH - contentClipH)){			
			ArrastraTop = ArrastraTop + (velocidad*scrollLength);
			if(ArrastraTop > (ReglaTop + scrollH - dragH))
				ArrastraTop = (ReglaTop + scrollH - dragH);
			
			contentT = contentT - velocidad;
			if(contentT < -(contentH - contentClipH))
				contentT = -(contentH - contentClipH);
			
			MueveA();
			timer = setTimeout("scrollDown()",25);
		}
	}
	return false;
}

// Recarga la página para recargar posición de la capa
function RecargaPagina(){
	location.reload();
}

// Inicializamos
function CargaEventos(){
	// Posiciones de la flecha superior
	ArribaIzquierda = parseInt(document.getElementById("up").style.left);
	ArribaTop = parseInt(document.getElementById("up").style.top);
	// Posiciones de la flecha inferior
	AbajoIzquierda = parseInt(document.getElementById("down").style.left);
	AbajoTop = parseInt(document.getElementById("down").style.top);
	// Posiciones de la barra de scroll
	ArrastraIzquierda = parseInt(document.getElementById("drag").style.left);
	ArrastraTop = parseInt(document.getElementById("drag").style.top);
	// Posicion y de la regla
	ReglaTop = parseInt(document.getElementById("regla").style.top);
	//Altura del contenido y del clip
	contentH = parseInt(document.getElementById("contenido").offsetHeight);
	contentClipH = parseInt(document.getElementById("contenedor").offsetHeight);
	document.getElementById("contenido").style.top = 0 + "px";
		
	// Numero de pixel que desplaza la barra
	scrollLength = ((scrollH-dragH)/(contentH-contentClipH));
	// Captura de eventos
	
	document.onmousedown = E_RatonAbajo;
	document.onmousemove = E_RatonMueve;
	document.onmouseup = E_Arriba;	
}

function smOpenPop(cual,wid,heig,to,lef,scrol,ventana){
 eval("open('"+cual+"','"+ventana+"','width="+wid+",height="+heig+",top="+to+",left="+lef+",scrollbars="+scrol+"')");
}