/* ************************************************************************
  Codigo JScript para la web de VV
  Archivo de script para funciones generales -todas las paginas-
************************************************************************ */


/////////////////////////////////////////////////////////////////////////
// Datos globales a todas las paginas

// Lista de paginas y nombres de las colecciones
var g_aColecList = new Array("colec01.htm", "colec02.htm", "colec03.htm", "colec04.htm", "colec05.htm", "colec06.htm", "colec07.htm", "colec08.htm", "colec09.htm", "colec10.htm", "colec11.htm", "colec12.htm", "colec13.htm", "colec14.htm", "colec15.htm", "colec16.htm");
var g_aColecName = new Array("el encargo onírico", "las hojas sagradas", "trilogía de un ave", "la vida secreta de las patatas", "hubblegrafías", "agua", "el salto", "lucero", "pan petrificado", "gira sin giro", "el diario de las nubes", "corazón de calabaza", "el rastro del rostro", "la mirada salvaje", "espejismos", "serenata nocturna");

// Lista de paginas de los VIAJES
var g_aViajesList = new Array("viaje01.htm", "viaje02.htm", "viaje03.htm", "viaje04.htm", "viaje05.htm");
var g_aViajesName = new Array("etiopía", "india", "nepal", "portugal", "tenerife");



/////////////////////////////////////////////////////////////////////////
// FUNCIONES DE CONTROL Y DINAMICA DE LA WEB
/////////////////////////////////////////////////////////////////////////

//---------------------------------------------------------------------
// Muestra un mensaje en la statusBar del navegador
// Parametros:
//		msg : String. Mensaje a mostrar.
function ShowStatusBarInfo(msg)
{
	// Cancela el borrado si se hace otra llamada
	if (typeof(InfoProcessId) != "undefined")
		clearTimeout(InfoProcessId);

	window.defaultStatus = msg;
	InfoProcessId = setTimeout("ClearStatusBarInfo()", 3000);
}
function ClearStatusBarInfo()
{
	window.defaultStatus = "";
}


//---------------------------------------------------------------------
//  Muestra un poster aleatorio para la portada de la web
function DrawRandomImage()
{
	var i;
	i = Math.ceil(Math.random()*14);
	document.write("<img src='img/portada/portada" + ((i<10)?"0":"") + i + ".jpg'><br>");
}


//---------------------------------------------------------------------
//  Esta función muestra la imagen recibida en una ventana fija
//  Parámetros:
//    sImgName : Ruta y nombre de la imagen a mostrar
//    sTitulo  : Titulo de la ventana
//    iAncho, iAlto : Tamaño de la imagen
function ShowImage(sImgName, sTitulo, iAncho, iAlto)
{
	settings = 'height=' + (iAlto-4) + ', width=' + (iAncho-4) + ', top=' + ((screen.availHeight / 2) - (iAlto / 2)) + ', left=' + ((screen.availWidth / 2) - (iAncho / 2)) + ', channelmode=no, directories=no, fullscreen=no, location=no, menubar=no, resizable=no, scrollbars=no, status=no, titlebar=no, toolbar=no';
	oNewImgWin = window.open('', 'win_image', settings);

	oNewImgWin.document.open();
	oNewImgWin.document.write("<html><head><title>" + sTitulo + "</title></head>");
	oNewImgWin.document.write("<body style='{ background: #000000; border: 0px; padding: 0px; margin: 0px; text-align: left; vertical-align: top; }' onBlur='this.close();'>");
	oNewImgWin.document.write("<img src=" + sImgName + " style='{ border: 0px; padding: 0px; margin: 0px; }'>");
	oNewImgWin.document.write("</body></html>");
	oNewImgWin.document.close();
	oNewImgWin.focus();
}




/////////////////////////////////////////////////////////////////////////
// FUNCIONES COMUNES DE GENERACION DE PAGINAS (TODAS LAS SECCIONES)
/////////////////////////////////////////////////////////////////////////

//---------------------------------------------------------------------
//  Muestra la tabla de colecciones
//	Parametros:
//		seccion : String. "colec" para seccion de COLECCIONES, "viajes" para seccion de VIAJES
function DrawGalleriesTable(seccion)
{
	var i, contCol, bFinProc;
	contCol = 1;
	bFinProc = false;

	document.write("<table cellpadding=0 cellspacing=0 style='margin-left:auto; margin-right:auto;'>");
	while (!bFinProc)
	{
		document.write("<tr>");
		for (i=0; i<4; i++)     // 4 colecciones por fila
		{
			if (!bFinProc)
			{
				if (seccion=="colec")
					document.write("<td class='thumbGallery'><a href='colec" +((contCol<10)?"0":"")+contCol+ ".htm'><img src='img/colecciones/thumb/thumb" +((contCol<10)?"0":"")+contCol+ ".jpg'></a></td>");
				else if (seccion=="viajes")
					document.write("<td class='thumbGallery'><a href='viaje" +((contCol<10)?"0":"")+contCol+ ".htm'><img src='img/viajes/thumb/thumb" +((contCol<10)?"0":"")+contCol+ ".jpg'></a></td>");
			}
			else
			{
				document.write("<td class='thumbGallery'> </td>");
			}
			
			contCol++;
			
			// Comprueba si ha llegado al final de la lista de fotos
			if (seccion=="colec")
			{
				if (contCol > g_aColecList.length)
					bFinProc = true;
			}
			else if (seccion=="viajes")
			{
				if (contCol > g_aViajesList.length)
					bFinProc = true;
			}
		}
		document.write("</tr>");
	}
	document.write("</table>");
}


//---------------------------------------------------------------------
//  Muestra el titulo de la coleccion
//  Parametros:
//		seccion : String. "colec" para seccion de COLECCIONES, "viajes" para seccion de VIAJES
//		Utiliza m_sColecNumber que debe estar definida en la pagina
function ShowCollectionTitle(seccion)
{
	if (seccion=="colec")
		document.write("<img src='img/colecciones/titulos/title" + m_sColecNumber + ".jpg'>");
	else if (seccion=="viajes")
		document.write("<img src='img/viajes/titulos/title" + m_sColecNumber + ".jpg'>");
}


//---------------------------------------------------------------------
//  Inicializa el contenido de la pagina la primera vez
//  Parametros:
//		seccion : String. "colec" para seccion de COLECCIONES, "viajes" para seccion VIAJES
function InitCollectionPage(seccion)
{
	DrawPageThumbs(seccion, 0);
	ShowBigImage(seccion, 0);
}


//---------------------------------------------------------------------
//  Muestra la imagen grande indicada
//  Parametros:
//		seccion : Seccion. "colec" para la seccion COLECCIONES, "viajes" para la seccion VIAJES.
//		indice  : Indice de la foto a mostrar en m_sImgArray[]
//      Tambien utiliza m_sColecNumber, m_sImgArray[] y bigImageDiv, que deben estar definidas en la pagina.
function ShowBigImage(seccion, indice)
{
	var str;
	var oDiv;   // Obj para acceder al DIV de la imagen

	// Nombre de la foto a mostrar
	if (seccion=="colec")
		str = "img/colecciones/colec" + m_sColecNumber +"/"+ m_sImgArray[indice];
	else if (seccion=="viajes")
		str = "img/viajes/viaje" + m_sColecNumber +"/"+ m_sImgArray[indice];

	oDiv = (document.getElementById) ? document.getElementById("bigImageDiv") : bigImageDiv;
	oDiv.innerHTML = "<img src='"+ str +"'><br>";
	m_iPhotoNum = indice;
}


//---------------------------------------------------------------------
//  Pinta la tabla de thumbnails de la coleccion en pantalla (en vertical, 2 columnas)
//  Parametros:
//		seccion : String. "colec" para la seccion COLECCIONES, "viajes" para la seccion VIAJES
//		index   : integer. Indice de pagina (de 0 a 2), MAXIMO 3 PAGINAS POR COLECCION
//		Utiliza tambien m_sColecNumber y m_sImgArray[], que deben estar definidas en la pagina
function DrawPageThumbs(seccion, index)
{
	var i, total, contImg, str, maxImg;
	var bFinProc = false;   // Flag para fin de proceso
	var oDiv;               // Obj para acceder al DIV de los thumbnails

	oDiv = (document.getElementById) ? document.getElementById("thumbTableDiv") : thumbTableDiv;
	maxImg = m_sImgArray.length;    // Numero de fotos en la coleccion
	str = "";
	total = 0;

	// Busca indice inicial para mostar thumbnails
	contImg = index*12;

	str = "<table cellpadding=0 cellspacing=0>";
	while (!bFinProc)
	{
		str = str+"<tr>";		// Inicio de fila
		for (i=0; i<2; i++)		// 2 celdas en la fila
		{
			str = str+"<td class='thumbImage'>";
			if (contImg < maxImg)
			{
				if (seccion=="colec")
					str = str+"<img src='img/colecciones/colec"+ m_sColecNumber +"/thumb/"+ m_sImgArray[contImg] +"' style='cursor:pointer;' onClick='ShowBigImage(\"colec\", "+ contImg +");'>";
				else if (seccion=="viajes")
					str = str+"<img src='img/viajes/viaje"+ m_sColecNumber +"/thumb/"+ m_sImgArray[contImg] +"' style='cursor:pointer;' onClick='ShowBigImage(\"viajes\", "+ contImg +");'>";
			}
			str = str+"</td>";
			contImg++;
			total++;
		}
		str = str+"</tr>";    // Final de la fila
    
	    // Fin de la tabla de thumbnails
	    if ((contImg >= maxImg) || (total >= 12))
			bFinProc = true;
	}
	
	// Pie de la tabla
	str = str+"</table>";

	oDiv.innerHTML = str;
	m_iPageNum = index;
	DrawNextPageLinks(seccion);      // Repinta los links de paginas siguientes
}


//---------------------------------------------------------------------
//  Muestra la siguiente foto de la coleccion
//  Parametros:
//		seccion : String. "colec" para la seccion de COLECCIONES, "viajes" para la seccion de VIAJES
//		inc : integer. Incremento de foto (1 o -1) para foto siguiente o anterior
//		Utiliza tambien m_sColecNumber, m_iPhotoNum y m_sImgArray[], que deben estar definidas en la pagina
function NextPhoto(seccion, inc)
{
	var maxImg, index;
	maxImg = m_sImgArray.length-1;    // INDICE MAXIMO de fotos en la coleccion

	// Busca la foto siguiente (inc==1) o anterior (i==-1) a la actual
	if (inc == 1)
		index = (m_iPhotoNum>=maxImg) ? 0 : m_iPhotoNum+1;
	else
		index = (m_iPhotoNum>0) ? m_iPhotoNum-1 : maxImg;

	ShowBigImage(seccion, index);
}


//---------------------------------------------------------------------
//  Pinta los links de pagina (1, 2 o 3) de la coleccion
//  Parametros:
//		seccion : String. "colec" para la seccion COLECCIONES, "viajes" para la seccion VIAJES
//		Utiliza m_iPageNum y m_sImgArray[], que deben estar definidas en la pagina
function DrawNextPageLinks(seccion)
{
	var i, paginas, str;
	var oDiv;

	paginas = Math.ceil(m_sImgArray.length/12);    // Numero de paginas de la coleccion
	str = "";

	// Si hay solo 1 pagina, no pone links
	if (paginas > 1)
	{
		for (i=0; i<paginas; i++)
		{
			if (i>0)
				str = str + " - ";

			// Se desactiva el link de la pagina actual
			if (m_iPageNum == i)
				str = str + "<span style='font:bold 11pt arial,tahoma,verdana; color:#707070;'>" +(i+1)+ "</span>";
			else
				str = str + "<span style='font:bold 11pt arial,tahoma,verdana; cursor:pointer;' onClick='DrawPageThumbs(\"" +seccion+ "\", " +i+ ")'>" +(i+1)+ "</span>";
		}
		oDiv = (document.getElementById) ? document.getElementById("nextPageLinksDiv") : nextPageLinksDiv;
		oDiv.innerHTML = str;
	}
}




