// JavaScript Document

//CONFIGURACIONES
//=====================
//=====================

var elemsActivados = 0; //en un princpio hay elementos desactivados
var catActual = -1; //categoria en la que estamos. Empieza en -1 pq no estamos en ninguna
var subCatActual = -1; //subcategoria en la que estamos. Empieza en -1 pq no estamos en ninguna

var rutaFotos = "fotos/";
var rutaVideos = "videos/";
var rutaImagenes = "img/";
var fondoTransparente = ";background-image:url(" + rutaImagenes + "transparente.gif);background-repeat:repeat;";
var filtroPNG = "<span style=\"position:absolute;top:0px;left:0px;text-align:center;width:1px;height:1px;" + fondoTransparente + ";visibility:inherit;" + fondoTransparente + ";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src='"; 
var filtroPNGfin = "')\"></span>";
var arrAllImg = new Array();																																																											   



//funcion de comunicacion con flash
function llamada(elem){
	//elem
	// 1 - categoria de fotos
	// 2 - categoria de videos
	// 3 - Quienes somos
	// 4 - Contacto
	
	switch (elem){
		case 1:
			cambiaCategoria(1);
		break;
		case 2:
			cambiaCategoria(2);
		break;
		case 3:
			quienesSomos();
		break;
		case 4:
			contacto();
		break;
	}
	
}


function cambiaCategoria(num){
	//realizo los cambios de contenidos del interfaz
	// num
	// 1 - foto
	// 2 - video
	
	//si aun no se han activado los elementos
	if (!elemsActivados)
		activarElementos();
		
	if (document.getElementById("flashMovie")){
		quitaContFlash("mediaObjSwf");
	}
		
	//cambiamos el flag de la categoria en la que estamos
	cambiaCatGeneral(num);
	
	var arrContenidos = new Array();
	var imgCat = "";
	var divsSubCat = "";
	var numMedia = 0;
	var divContador = "";
	var srcImg = "";
	var rutaMedia = "";
	var tipo = 1; //tipo de contenido, por defecto, fotos
	
	
	switch(num){
		case 1:
			arrContenidos = arrFotos;
			imgCat = arrCats["fotos"];
			rutaMedia = rutaFotos;
			ocultarDiv("mediaObjSwf");
			mostrarDiv("mediaObj");
			mostrarDiv("botonera");
		break;
		case 2:
			arrContenidos = arrVideos;
			imgCat = arrCats["videos"];
			rutaMedia = rutaVideos;
			tipo = 0; //tipo de contenidos flash
			mostrarDiv("mediaObjSwf");
			ocultarDiv("mediaObj");
			ocultarDiv("botonera");
		break;		
	}
	
	//montamos un div (boton) para cada subcategoría cogiendo el style definido en el XML
	for (subCat in arrContenidos){
		onclick = "cambiaSubCategoria("+subCat+");";
		divsSubCat += "<div class=\"menu\" style=\""+arrContenidos[subCat][1]+"\"><span onclick=\""+onclick+"\" onMouseOver=\"this.className='menu_over'\" onMouseOut=\"this.className='menu'\">"+arrContenidos[subCat][0]+"</span></div>";	
		//alert(arrContenidos[subCat][0] +"    "+arrContenidos[subCat][1]);
	}
	
	//numero de imagenes de la primera subcategoría
	numMedia = arrContenidos[0].length-2;
	divContador = "1 / "+numMedia;
	
	//primera imagen de la primera subcategoria de la categoria de fotos
	srcImg = rutaMedia + arrContenidos[0][2];			
	
	cambiaContDiv("menu2", divsSubCat);
	cambiaContDiv("categoria", arrContenidos[0][0]);
	cambiaContDiv("contador", divContador);
	
	if (tipo)
		cambiaContImg("mediaObj", srcImg);
		
	if (!tipo)
		cambiarContFlash("mediaObjSwf", srcImg);
	
	cambiaSpanPNG("menu1", imgCat);
	cambiaSubCategoria(0);

}

function cambiaContImg(idImg, src){
	if ( document.getElementById(idImg)){
		obj = document.getElementById(idImg);
		obj.style.filter="blendTrans(duration=1)";
		if (obj.filters.blendTrans.status != 2) {
			obj.filters.blendTrans.apply();
			obj.src = src;
			obj.filters.blendTrans.play();
		}
	}	
}

function cambiarContFlash(capa, ruta){
	var flashObjStr = "<object id='flashMovie' classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"  codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width='320' height='240' >";
	flashObjStr += "<param name=movie value=\""+ruta+"\">";
	flashObjStr += "<param name=allowScriptAccess value=\"sameDomain\" />";
	flashObjStr += "<param name=quality value=high />";
	flashObjStr += "<param name=bgcolor value=#ffffff />";	
	flashObjStr += "<embed name='flashMovie' src=\""+ruta+"\" quality=\"high\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" width=\"320\" height=\"240\"></embed>";
	flashObjStr += "</object>";
	document.getElementById(capa).innerHTML = flashObjStr;
	//alert(document.getElementById(capa).innerHTML);	
	
	//document.getElementById("flashMovie").Play();
}

function quitaContFlash(capa){
	document.getElementById(capa).innerHTML = "";
	
}

function cambiaContDiv(idDiv, contenido){
	//alert(idDiv+"      "+contenido);
	if( document.getElementById(idDiv) ){
		document.getElementById(idDiv).innerHTML = contenido;	
	}	
}


function cambiaSubCategoria(num){
	//num
	// X - numero de la subCategoria dentro de la categoria en la que nos encontramos
	
	var arrCont = new Array();
	rutaMedia = "";
	var tipo = 1;
	
	//dependiendo en que catEstemos usamos un array de contenidos u otro
	switch(catActual){
		case 1:
			arrCont = arrFotos;
			rutaMedia = rutaFotos;
		break;
		case 2:
			arrCont = arrVideos;
			rutaMedia = rutaVideos;
			tipo = 0;
		break;
	}

	//numero de imagenes de la primera subcategoría
	numMedia = arrCont[num].length-2;
	divContador = "1 / "+numMedia;
	
	//primera imagen de la subcategoria pasada por parametro de la categoria de fotos
	srcMedia = rutaMedia + arrCont[num][2];	
	
	subCatActual = num;
	
	cambiaContDiv("categoria", arrCont[num][0]);
	cambiaContDiv("contador", divContador);
	
	if (tipo)
		cambiaContImg("mediaObj", srcMedia);
		
	if(!tipo)
		cambiarContFlash("mediaObjSwf", srcMedia);

}

function cambiaMediaCont(boton){
	//boton - boton sobre el que hace click
	var dir = 0;
	
	if(boton.id == "btnizq"){
		dir = 0; //atras
	} else {
		dir = 1; //alante
	}
	
	var contadorCont = "";
	var posReal;
	var posMostrar;
	var divContador="";
	var posMax;
	contadorCont = dameContDiv("contador");
	
	//cogemos el array de contenidos de la categoria en la que estamos
	switch(catActual){
		case 1:
			arrCont = arrFotos;
			rutaMedia = rutaFotos;
		break;
		case 2:
			arrCont = arrVideos;
			rutaMedia = rutaVideos;
		break;
	}

	//quitamos espacios en blanco
	contadorCont = contadorCont.replace(/^s+|s+$/g, "");
	arrContador = contadorCont.split("/");
	posActual = arrContador[0]; 	//foto actual
	posReal = parseInt(posActual) + 1; 	//posición real dentro del array de contenido

	if (dir){
		posMostrar = posReal + 1;	
	} else {
		posMostrar = posReal -1;
	}
	
	posMax = parseInt(arrContador[1]) + 1;

	if (posMostrar > posMax)
		posMostrar = posMax;
		
	if (posMostrar < 2)
		posMostrar = 2;
		
	srcImg = rutaMedia + arrCont[subCatActual][posMostrar]; //ruta completa a la imagen
	
	posActual = posMostrar-1;
	
	divContador = posActual + " / "+arrContador[1];
	
	
	
	cambiaContDiv("contador", divContador);
	cambiaContImg("mediaObj", srcImg);
}

function activarElementos(){
	elemsActivados = 1;
	
	paraCarrusel();
	
	mostrarDiv("contenido");
	mostrarDiv("categoria");
	mostrarDiv("botonera");
	mostrarDiv("titMenu");
	mostrarDiv("foco");
	ocultarDiv("contacto");
	ocultarDiv("qsomos");
}




function dameContDiv(idDiv, contenido){
	if( document.getElementById(idDiv) ){
		return document.getElementById(idDiv).innerHTML;	
	}	
}

function mostrarDiv(nombre){
	if (document.getElementById(nombre)){
		document.getElementById(nombre).style.visibility = "visible";
	}	
}

function ocultarDiv(nombre){
	if (document.getElementById(nombre)){
		document.getElementById(nombre).style.visibility = "hidden";
	}	
}


function cambiaCatGeneral(num){
	catActual = num;
}

function quienesSomos(){
	ocultarDiv("contenido");
	ocultarDiv("categoria");
	ocultarDiv("botonera");
	ocultarDiv("titMenu");
	ocultarDiv("foco");
	ocultarDiv("mediaObj");
	ocultarDiv("contacto");
	if (document.getElementById("flashMovie")){
		quitaContFlash("mediaObjSwf");
	}
	
	elemsActivados = 0;

	mostrarDiv("qsomos");}

function contacto(){
	
	ocultarDiv("qsomos");
	ocultarDiv("contenido");
	ocultarDiv("categoria");
	ocultarDiv("botonera");
	ocultarDiv("titMenu");
	ocultarDiv("foco");
	ocultarDiv("mediaObj");
	if (document.getElementById("flashMovie")){
		quitaContFlash("mediaObjSwf");
	}
	
	elemsActivados = 0;

	mostrarDiv("contacto");
}

function botonOver(obj,srcImg){
	//obj.src = rutaImagenes + srcImg;
	cambiaSpanPNG(obj.id, srcImg);
}

function botonOut(obj,srcImg){
	//obj.src = rutaImagenes + srcImg;
	cambiaSpanPNG(obj.id, srcImg);
}

function cambiaSpanPNG(idImg, srcImg){
	spanObj = document.getElementById(idImg);
	newImg = new Image();
	newImg.src = rutaImagenes + srcImg;
	
	spanObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'" + rutaImagenes + srcImg + "\', sizingMethod='scale')";
	spanObj.style.width = newImg.width;
	spanObj.style.height = newImg.height;
}



var ptrCarrusel;

function carrusel(){
	//montamos el array con todas las imagenes
	for (cat in arrFotos){
		for (foto ; i<arrFotos[cat].length ; i++){
			arrAllImg.push(arrFotos[cat][i]);	
		}
	}
	
	mueveCarrusel();
	
}

function mueveCarrusel(){
	var aleat;
	var pathFoto;
	
	numPosibilidades = arrFotos.length;
    aleat = Math.random() * numPosibilidades
    aleat = Math.round(aleat)
	
	
	pathFoto = rutaFotos+arrAllImg[aleat];
	cambiaContImg("mediaObj", pathFoto);
	
	ptrCarrusel = window.setTimeout("mueveCarrusel()" , 5000);
	
}

function paraCarrusel(){
	clearTimeout(ptrCarrusel);
}

//FILTROS DE LOS PNG

function PNG_loader() {
   for(var i=0; i<document.images.length; i++) {
      var img = document.images[i];
      var imgName = img.src.toUpperCase();
      if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
         var imgID = (img.id) ? "id='" + img.id + "' " : "";
         var imgClass = (img.className) ? "class='" + img.className + "' " : "";
         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
         var imgStyle = "display:inline-block;" + img.style.cssText;

		 var imgOver = (img.onmouseover) ? "onMouseOver=\"javascript:botonOver(this,'"+img.id +"over.png'); \" " : "";
         var imgOut = (img.onmouseout) ? "onMouseOut=\"javascript:botonOver(this,'"+img.id +".png'); \" " : "";
		 var imgClick = (img.onclick) ? "onClick=\"javascript:cambiaMediaCont(this); \" " : "";
		 
         if (img.align == "left") imgStyle += "float:left;";
         if (img.align == "right") imgStyle += "float:right;";
         if (img.parentElement.href) imgStyle += "cursor:hand;";
         var strNewHTML = "<span " + imgID + imgClass + imgTitle + imgOver + imgOut +imgClick
            + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
            + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
         img.outerHTML = strNewHTML;
         i--;
      }
   }
}
window.attachEvent("onload", PNG_loader);

function centrar_pag()
{

	RefDiv = document.getElementById("principal");

	if(ns){			
		ancho_pag = parseInt(document.defaultView.getComputedStyle(RefDiv, null).getPropertyValue("width").replace("px",""));
		alto_pag = parseInt(document.defaultView.getComputedStyle(RefDiv, null).getPropertyValue("height").replace("px",""));			
	}else{			
		ancho_pag = parseInt(RefDiv.currentStyle.width.replace("px",""));
		alto_pag = parseInt(RefDiv.currentStyle.height.replace("px",""));			
	}
	
	var x= Math.floor(document.documentElement.clientWidth - ancho_pag) /2; 
	if(x<0){x=0;} 
	var y= Math.floor(document.documentElement.clientHeight - alto_pag) /2;
	if(y<0){y=0;} 
	
	document.getElementById('principal').style.top = y + "px";
    document.getElementById('principal').style.left = x + "px";

}

//Variables de Navegadores
var ie = true; //Tiene explorer
var ns = false; //Tiene Netscape
var ff = false; //Tiene Firefox	
navegadores();

function navegadores(){
	ie = (window.ActiveXObject != null);
	ns = (document.implementation != null && document.implementation.createDocument != null);
	ff = (document.implementation != null && document.implementation.createDocument != null);		
}
	

function cuadrar_pag(){
	var x= Math.floor(document.documentElement.clientWidth - ancho_pag) /2; 
	if(x<0){x=0;} 
	var y= Math.floor(document.documentElement.clientHeight - alto_pag) /2; 
	if(y<0){y=0;} 
	document.getElementById("principal").style.top = y+"px";

	var top_pag = y;
	document.getElementById("principal").style.left= x+"px";

	var left_pag = x;
	document.getElementById("principal").style.width = ancho_pag + "px";
	document.getElementById("principal").style.height = alto_pag + "px";
	
}

function window_onresize(){		
	cuadrar_pag();	
}	
