var xpos=0;


/*Configuración variables scroll vertical*/
var ypos=0;
var altolineascroll=0;
var altobolascroll=0;
var altoextremosuperiorscroll=0;
var posicioniniciallineascroll=0;
var posicionfinallineascroll=0;

var altocapacontenedoratexto=0;
var altotexto=0;
var altotextovisible=0;	
var posicioninicialtexto=0;
var posicionfinaltexto=0;

var altocapacontenedoraplanos=0;
var altoplanos=0;
var altoplanosvisible=0;	
var posicioninicialplanos=0;
var posicionfinalplanos=0;

var intervaloscroll=0;
var intervalotexto=0;
var intervaloplanos=0;
var numintervalos=0;

var sw_desplazamiento=false;
var sw_arrastre=false;
var scroll_utilizado='';			
var velocidad=1;		
/*Fin configuracion variables scroll vertical*/


var ie = (document.all) ? true:false;
//definicion de capas
ruta=document.location.toString();
rutaactual=ruta.indexOf("inicio");
var arrCapas=new Array();
if(rutaactual==-1){
	arrCapas[0]="fondoentrada";
	arrCapas[1]="cabecera";
	arrCapas[2]="fotocentral1";
	arrCapas[3]="fotocentral2";
	arrCapas[4]="fotocentral3";
	arrCapas[5]="fotomapa";
	arrCapas[6]="botonvisitar";
	arrCapas[7]="fondoentrada";
	arrCapas[8]="textocentral";
	arrCapas[9]="textoinferiorizquierda";
}else{
	arrCapas[0]="cabeceravisita";
	arrCapas[1]="fondomenu";
	arrCapas[2]="separador1";
	arrCapas[3]="separador2";
	arrCapas[4]="separador3";
	arrCapas[5]="btnvisita";
	arrCapas[6]="btnhistoria";
	arrCapas[7]="btnpatrimonio";
	arrCapas[8]="btnaprende";
	arrCapas[9]="btntradiciones";
	arrCapas[10]="copyright";
	arrCapas[11]="marcocentral";
	arrCapas[12]="separador4";
	arrCapas[13]="btnlegal";
	arrCapas[14]="puntoblanco";
	arrCapas[15]="lineagrispie";
	arrCapas[16]="btncontacto";
	arrCapas[17]="btnhome";
	arrCapas[18]="banneroficina";
}

//posiciones microsites
PosActual=1;
var arrPosiciones=new Array();
arrPosiciones[0]=0;arrPosiciones[1]=9;arrPosiciones[2]=-170;arrPosiciones[3]=-349;arrPosiciones[4]=-529;arrPosiciones[5]=-709;arrPosiciones[6]=-888;arrPosiciones[7]=-1067;

//FUNCIONES GENERALES
function precarga(){

	MM_preloadImages('images/btnunainvitacionon.gif','images/btnquesonon.gif','images/btndondeestanon.gif','images/btnoficinaturismoon.gif','images/btntuopinionon.gif','images/btnnoticiason.gif','images/btnbuscadoron.gif','images/btncontactoon.gif','images/btn0102on.gif','images/btn0304on.gif','images/btn0506on.gif','images/btn0708on.gif','images/btn0910on.gif','images/btn1112on.gif','images/btn1314on.gif','images/pic_thumb_01.jpg','images/pic_thumb_02.jpg','images/pic_thumb_03.jpg','images/pic_thumb_04.jpg','images/pic_thumb_05.jpg','images/pic_thumb_06.jpg','images/pic_thumb_07.jpg','images/pic_thumb_08.jpg','images/pic_thumb_09.jpg','images/pic_thumb_10.jpg','images/pic_thumb_11.jpg','images/pic_thumb_12.jpg','images/pic_thumb_13.jpg','images/pic_thumb_14.jpg');	
}

function openwindow(mywindow,mywindow2,myurl,mywidth,myheight,myscroll)
{
		width = "width="+mywidth;
		height= "height="+myheight;
		auxscroll= "scrollbars="+myscroll;
		mywindow=window.open(myurl,mywindow2,width+","+height+",resizable=no,"+auxscroll+",toolbars=no,directories=no,titlebar=no,status=no");
}

function ver_noticia(Id_Noticia){
	openwindow('Conjuntos Históricos','Noticia','src/public_ver_noticia.php?Id_Noticia='+Id_Noticia,488,515,'no')
}



//FUNCIONES DE SCROLL

function desplazamiento(pos){
	diferencia=xpos-pos;
	if(diferencia<0){
		diferencia=(-1)*diferencia;
	}
	if(diferencia>100){
		return 20;
	}else if(diferencia>10){
		return 3;
	}else{
		return 1;
	}
}

function desplazamientovertical(pos){
	diferencia=ypos-pos;
	if(diferencia<0){
		diferencia=(-1)*diferencia;
	}
	if(diferencia>600){
		return 3;
	}else if(diferencia>10){
		return 3;
	}else{
		return 3;
	}
}

function desplazarderecha(pos){
		if(xpos<pos){
			xpos+=desplazamiento(pos);
			document.getElementById('microsites').style.left=xpos+'px';
			setTimeout("desplazarderecha("+pos+")",velocidad);
		}
}

function desplazarizquierda(pos){
		if(xpos>pos){
			xpos-=desplazamiento(pos);
			document.getElementById('microsites').style.left=xpos+'px';
			setTimeout("desplazarizquierda("+pos+")",velocidad);
		}
}

function desplazamientovertical(bolascroll,capadinamica1,capadinamica2,accion){

		//posición vertical de la bola del scroll
		pos=document.all(bolascroll).offsetTop;
		
		if(accion=="subir"){
				
			//Movemos la bola hacia abajo un intervalo de texto
			posyscroll=pos-intervaloscroll;	

		}else if(accion=="bajar"){
				
			//Movemos la bola hacia arriba un intervalo de texto
			posyscroll=pos+intervaloscroll;
	
		}else{//Si arrastramos la bola del scroll ('accion' vale ahora la posición del cursor)
			//posicioninicialbolascroll=document.all('lineascroll').offsetTop;
			//Movemos la bola al punto donde está situado el cursor
			posyscroll=accion-(altobolascroll/2)+document.body.scrollTop;
			
		}
		
		//calculamos el nº de intervalos que hay que mover el texto y los planos
			numintervalos=(posyscroll-posicioninicialbolascroll)/intervaloscroll;
			
			
		//Movemos el texto en correspondencia con el movimiento de la bola del cursor
		posytexto=-intervalotexto*numintervalos;
			
		//si existe la capa planos en el documento:
		if(capadinamica2!=""){
				       
			//Movemos los planos en correspondencia con el movimiento de la bola del cursor 
			posyplanos=-intervaloplanos*numintervalos;
		}
		
			
		//estas condiciones obligan al texto, a los planos y a la bola de scroll a no superar los límites establecidos		
		if(posyscroll<posicioninicialbolascroll){
			posyscroll=posicioninicialbolascroll;
		}else if(posyscroll>(posicionfinalbolascroll)){
			posyscroll=posicionfinalbolascroll;	
		}
		if(posytexto>posicioninicialtexto){
			posytexto=posicioninicialtexto;
		}else if(posytexto<posicionfinaltexto){
			posytexto=posicionfinaltexto;			
		}
			
		if(capadinamica2!=""){
			if(posyplanos>posicioninicialplanos){
				posyplanos=posicioninicialplanos;
			}else if(posyplanos<posicionfinalplanos){
				posyplanos=posicionfinalplanos;			
			}
		}
		
		//damos finalmente los valores de movimiento tanto del texto, de planos (si hay) como de la bola de scroll
		document.all(bolascroll).style.top=posyscroll;
		
		document.all(capadinamica1).style.top=posytexto;
			
		if(capadinamica2!="") document.all(capadinamica2).style.top=posyplanos;
			
		//Si todavía mantenemos pulsado el extremo inferior del scroll	
		if(sw_desplazamiento) setTimeout("desplazamientovertical('"+bolascroll+"','"+capadinamica1+"','"+capadinamica2+"','"+accion+"')",velocidad);
			
}

function calcularposiciones(capacontenedoracapadinamica1,capadinamica1,capacontenedoracapadinamica2,capadinamica2,lineascroll,bolascroll){

	//calculamos la posición inicial de la bola del scroll y se la asignamos
	document.all(bolascroll).style.left=document.all(lineascroll).offsetLeft;

	/*VARIABLES DEL SCROLL*/	
	//longitud vertical de la barra de scroll vertical
	altolineascroll=document.all(lineascroll).offsetHeight;
	
	//longitud vertical de la bola de la barra de scroll vertical
	altobolascroll=document.all(bolascroll).offsetHeight;
	
	//posición inicial de la bola de la barra de scroll
	posicioninicialbolascroll=document.all(lineascroll).offsetTop;
	
	//posición final de la bola de la barra de scroll
	posicionfinalbolascroll=posicioninicialbolascroll+altolineascroll-altobolascroll;
	/*FIN VARIABLES DEL SCROLL*/

	/*VARIABLES DEL TEXTO*/
        //longitud vertical de la capa contenedora de la capa que contiene el texto (es la máscara del texto a mostrar)
        altocapacontenedoratexto=document.all(capacontenedoracapadinamica1).offsetHeight;
	
	//longitud vertical de la capa que contiene el texto
	altotexto=document.all(capadinamica1).offsetHeight;
	
	//longitud vertical de la parte visible de la capa que contiene el texto
	altotextovisible=altotexto-altocapacontenedoratexto;
	
	//posición inicial del texto
	posicioninicialtexto=document.all(capadinamica1).offsetTop;
	
	//posición final del texto
	posicionfinaltexto=-posicioninicialtexto-altotextovisible;
	/*FIN VARIABLES DEL TEXTO*/
	
	/*VARIABLES DE PLANOS*/
	if(capacontenedoracapadinamica2!=""){
		
		//longitud vertical de la capa contenedora de la capa que contiene los planos (es la máscara de los planos a mostrar)
	        altocapacontenedoraplanos=document.all(capacontenedoracapadinamica2).offsetHeight;
		
		//longitud vertical de la capa que contiene los planos
		altoplanos=document.all(capadinamica2).offsetHeight;
		
		//longitud vertical de la parte visible de la capa que contiene los planos
		altoplanosvisible=altoplanos-altocapacontenedoraplanos;
		
		//posición inicial de los planos
		posicioninicialplanos=document.all(capadinamica2).offsetTop;
		
		//posición final de los planos
		posicionfinalplanos=-posicioninicialplanos-altoplanosvisible;
		
	}
	/*FIN VARIABLES PLANOS*/
	
        //número de pixeles que avanza la bola del scroll en cada movimiento
        intervaloscroll=3;
        
        if(altotexto<400){
        	intervaloscroll=15;
        }else if(altotexto<450){
        	intervaloscroll=5;
        }else if(altotexto<500){
        	intervaloscroll=4;
        }
	
	//número de pixeles que avanza el texto y los planos en cada movimiento de la bola del scroll
	intervalotexto=(intervaloscroll*altotextovisible)/(altolineascroll-altobolascroll);
	if(capacontenedoracapadinamica2!="") intervaloplanos=(intervaloscroll*altoplanosvisible)/(altolineascroll-altobolascroll);

}

function mover_microsites(NumMicrosite){
	PosActual=NumMicrosite;
	pos=arrPosiciones[NumMicrosite];
	if(xpos<pos){
		setTimeout("desplazarderecha("+pos+")",velocidad);
	}else{
		setTimeout("desplazarizquierda("+pos+")",velocidad);
	}
}

function mover_microsite_siguiente(){
	if(PosActual!=7){
		PosActual+=1;
		mover_microsites(PosActual);
	}
}
function mover_microsite_anterior(){
	if(PosActual!=1){
		PosActual-=1;
		mover_microsites(PosActual);
	}
}

//FUNCIONES DE CAPAS
function OcultarCapa(NombreCapa){
	var oCapa = document.getElementById(NombreCapa);
	oCapa.style.visibility='hidden';
}

function MostrarCapa(NombreCapa){
	var oCapa = document.getElementById(NombreCapa);
	oCapa.style.visibility='visible';
}

function MostrarCapaInfo(NombreCapa){
	OcultarCapa('info1');OcultarCapa('info2');OcultarCapa('info3');OcultarCapa('info4');OcultarCapa('info5');OcultarCapa('info6');OcultarCapa('info7');OcultarCapa('info8');OcultarCapa('info9');OcultarCapa('info10');OcultarCapa('info11');OcultarCapa('info12');OcultarCapa('info13');OcultarCapa('info14');
	MostrarCapa(NombreCapa);
}

function PosicionObjeto(oTmp)
{
	var oPosicion = { x : 0, y : 0 }
	while (oTmp.offsetParent)
	{
		oPosicion.x += oTmp.offsetLeft;
		oPosicion.y += oTmp.offsetTop;
		oTmp = oTmp.offsetParent;
	}
	
	return oPosicion;
}

function vercentro(){
	var oCentrador = document.getElementById('centrador');
	var oPosicionCentrador = PosicionObjeto(oCentrador);
	alert(oPosicionCentrador.x+" "+oPosicionCentrador.y);
}

function moverCapa(NombreCapa,oPosicionCentrador,oPosicionCentradorOld) {
	//Creamos el objeto capa
	var oCapa = document.getElementById(NombreCapa);
	//obtenemos la posicion de la capa
	var oPosicionCapa=PosicionObjeto(oCapa);
	//calculamos las distancias al centro anterior
	DistanciaX=oPosicionCentradorOld.x-oPosicionCapa.x;
	DistanciaY=oPosicionCentradorOld.y-oPosicionCapa.y;
	//Calculamos las nuevas posiciones
	x=oPosicionCentrador.x + DistanciaX;
	y=oPosicionCentrador.y + DistanciaY;
	//recolocamos la capa
	oCapa.style.left = x + "px";
	oCapa.style.top = y + "px";
}

function CentrarTodo(){
	var oCentrador = document.getElementById('centrador');
	var oPosicionCentrador = PosicionObjeto(oCentrador);
	var oCentradorOld = document.getElementById('centradorold');
	var oPosicionCentradorOld = PosicionObjeto(oCentradorOld);
	for(i=0;i<arrCapas.length;i++){
		moverCapa(arrCapas[i],oPosicionCentrador,oPosicionCentradorOld);
	}
	//moverCapa('contenedor',oPosicionCentrador,oPosicionCentradorOld);
	//actualizamos las coordenadas de la capa centrador old
	oCentradorOld.style.left = parseInt(oPosicionCentrador.x) + "px";
	oCentradorOld.style.top = parseInt(oPosicionCentrador.y) + "px";
	//oCentradorOld.style.visibility = 'visible';
}

function resizeAll(){
	CentrarTodo();
	if(!ie){
		CentrarTodo();	
	}
}
function relocateAll(){
	CentrarTodo();
	CentrarTodo();	
}

function mostrar_todas_capas(){
	for(i=0;i<arrCapas.length;i++){
		if(window.navigator.userAgent.indexOf('Opera')!=-1 || window.navigator.userAgent.indexOf('Firefox')!=-1){
			if(arrCapas[i]!='copyright' && arrCapas[i]!='btnlegal' && arrCapas[i]!='puntoblanco' && arrCapas[i]!='btncontacto' && arrCapas[i]!='lineagrispie' ) MostrarCapa(arrCapas[i]);
		}else{
			MostrarCapa(arrCapas[i]);
		}
	}
	
}
