﻿<!--
/* 
    Fecha: Martes 17 de noviembre de 2009.
    Autor: Nicolás Ungaro.
    Descripción: Nueva implementación para navegación de galería de fotos. Esta implementación está basada en navegación por el lado del cliente
    sin necesidad de ir al servidor a hacer peticiones inecesarias y por ende sin perdida de información que antes se daba por el uso incorrecto de 
    Session.
*/

// Se instancia por única vez el documento xml perteneciente a la nota.
var xmlDoc = cargarDocumentoXML(querySt("nota_id"));
var imagenes = obtenerListaImagenes(xmlDoc);

//Cumple la misma funcionalidad que un Request.QueryString
function querySt(ji) 
{
    hu = window.location.search.substring(1);
    gy = hu.split("&");
    for (i=0;i<gy.length;i++) 
    {
        ft = gy[i].split("=");
        if (ft[0] == ji) 
        {
            return ft[1];
        }
    }
}

// Deuvelve un documento xml.
function cargarDocumentoXML(nota_id)
{
    var xhttp;
    if (window.XMLHttpRequest)
    {
        xhttp = new XMLHttpRequest();
    }
    else // Internet Explorer 5/6
    {
        xhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET","/anexos/xml/"+ nota_id + ".xml",false);
    xhttp.send("");
    return xhttp.responseXML;         
}

function initFoto()
{
    imagenes = obtenerListaImagenes(xmlDoc);
    document.getElementById("ImgIframe").src = imagenes[0].getAttribute("SRC");
    document.getElementById("lbl_total").innerHTML = imagenes.length;
    document.getElementById("lnk_nota").innerHTML = xmlDoc.getElementsByTagName("NOTA")[0].childNodes[1].childNodes[0].nodeValue;
    document.getElementById("divEpigrafe").innerHTML = obtenerEpigrafe(imagenes[0], document.getElementById("divEpigrafe").innerHTML);
}

function obtenerEpigrafe(xml, epigrafeAnterior)
{
    var epigrafe = epigrafeAnterior;
    if (xml.getElementsByTagName("EPIGRAFE")[0].childNodes[0])    
    {
        if (xml.getElementsByTagName("EPIGRAFE")[0].childNodes[0].text)
        {
            if (xml.getElementsByTagName("EPIGRAFE")[0].childNodes[0].text != "undefined" && xml.getElementsByTagName("EPIGRAFE")[0].childNodes[0].text != null)
            {
                epigrafe = xml.getElementsByTagName("EPIGRAFE")[0].childNodes[0].text;
            }                
        }
        else
        {
            if (xml.getElementsByTagName("EPIGRAFE")[0].childNodes[0] != "undefined" && xml.getElementsByTagName("EPIGRAFE")[0].childNodes[0] != undefined)	    
            {
                epigrafe = xml.getElementsByTagName("EPIGRAFE")[0].childNodes[0].nodeValue;
            }        
        }
    }
    return epigrafe;
}

// Devuelve la lista de imágenes de acuerdo a la lógica establecida.
function obtenerListaImagenes(xmlDoc)
{
	var listaImagenes = xmlDoc.getElementsByTagName("IMAGEN");
	//debugger;
	for (i=0; i < listaImagenes.length; i++)
	{
	    if ( parseInt(xmlDoc.getElementsByTagName("NOTA")[0].getAttribute("NOTA_ANIOMESDIA")) < 200811050000)
	    {
		    if (!(listaImagenes[i].getAttribute("PREVIEW") == "0" && listaImagenes[i].getAttribute("IMAGEN_GALERIA") == "1"))
		    {
		        listaImagenes[i].parentNode.removeChild(listaImagenes[i]);
		    }	    
	    }
	    else
	    {
		    if (!(listaImagenes[i].getAttribute("PREVIEW") == "1" && listaImagenes[i].getAttribute("IMAGEN_GALERIA") == "1"))
		    {
			    listaImagenes[i].parentNode.removeChild(listaImagenes[i]);
		    }
		}
	} 
	return listaImagenes;        
}

// Evento que se dispara cuando se hace click en el botón de siguiente foto de la galería.
function verFotoSiguiente()
{
    var hiddenPos = document.getElementById("posImagen");
	var pos = parseInt(hiddenPos.value);
	
	if ((pos+1) < imagenes.length)
	{
	    document.getElementById("ImgIframe").src = imagenes[pos+1].getAttribute("SRC");
	    document.getElementById("divFotoActualArriba").innerHTML = (pos+2);
        document.getElementById("divEpigrafe").innerHTML = obtenerEpigrafe(imagenes[pos+1], document.getElementById("divEpigrafe").innerHTML);
	    hiddenPos.value = (pos+1);
	}
    
}

// Evento que se dispara cuando se hace click en el botón de anterior foto de la galería.
function verFotoAnterior()
{
    var hiddenPos = document.getElementById("posImagen");
	var pos = parseInt(hiddenPos.value);
	
	if (pos > 0)
	{
	    document.getElementById("ImgIframe").src = imagenes[pos-1].getAttribute("SRC");
	    document.getElementById("divFotoActualArriba").innerHTML = pos;
        document.getElementById("divEpigrafe").innerHTML = obtenerEpigrafe(imagenes[pos-1], document.getElementById("divEpigrafe").innerHTML);
	    hiddenPos.value = (pos-1);
	}
    
}        

// Evento que se dispara cuando se hace click en el botón de inicio de la galería.
function verFotoInicio()
{
    var hiddenPos = document.getElementById("posImagen");
	
    document.getElementById("ImgIframe").src = imagenes[0].getAttribute("SRC");
    document.getElementById("divFotoActualArriba").innerHTML = "1";
    document.getElementById("divEpigrafe").innerHTML = obtenerEpigrafe(imagenes[0], document.getElementById("divEpigrafe").innerHTML);
    hiddenPos.value = "0";
}        
// -->