﻿var xhr = new Array(); // ARRAY OF XML-HTTP REQUESTS
var xi = new Array(0); // ARRAY OF XML-HTTP REQUEST INDEXES
xi[0] = 1; // FIRST INDEX SET TO 1 MAKING IT AVAILABLE


function xhrRequest(type) {
if (!type) {
type = 'html';
}


// xhrsend IS THE xi POSITION THAT GETS PASSED BACK
// INITIALIZED TO THE LENGTH OF THE ARRAY(LAST POSITION + 1)
// IN CASE A FREE RESOURCE ISN'T FOUND IN THE LOOP
var xhrsend = xi.length;

// GO THROUGH AVAILABLE xi VALUES
for (var i=0; i<xi.length; i++) {


// IF IT'S 1 (AVAILABLE), ALLOCATE IT FOR USE AND BREAK
if (xi[i] == 1) {
xi[i] = 0;
xhrsend = i;
break;
}
}


// SET TO 0 SINCE IT'S NOW ALLOCATED FOR USE
xi[xhrsend] = 0;


// SET UP THE REQUEST
if (window.ActiveXObject) {
try {
xhr[xhrsend] = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xhr[xhrsend] = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
} else if (window.XMLHttpRequest) {
xhr[xhrsend] = new XMLHttpRequest();
if (xhr[xhrsend].overrideMimeType) {
xhr[xhrsend].overrideMimeType('text/' + type);
}
}
return (xhrsend);
}


function fcn(url, idDiv) {

//alert(url);
var xhri = xhrRequest('html');
xhr[xhri].open('GET', url, true);
xhr[xhri].onreadystatechange = function() {
if (xhr[xhri].readyState == 4 && xhr[xhri].status == 200) {
//alert(xhr[xhri].responseText);

var responseArray = xhr[xhri].responseText.split("###");

var htmltext = responseArray[0];
var jstext = responseArray[1];

document.getElementById(idDiv).innerHTML = htmltext;

//alert(jstext);
eval(jstext);

xi[xhri] = 1;
xhr[xhri] = null;
}
};
xhr[xhri].send(null);
}

//devolve a lingua em que a pagina esta
function lingua()
{
    if (location.href.match("langid=2"))
    {
        return "&langid=2";
    }
    else
    {
        return "&langid=1";
    }
}

function loadMultiGalerias(url) {
// CALL A FUNCTION THAT USES xmlHttp MULTIPLE TIMES
var divs=document.getElementsByTagName("div");
    
for(var i=0;i<divs.length;i++)
{
    //aqui entram os divs galeria
    if( (divs[i].id).match("galeria" ))
    {
        fcn( url + "?galeria=" + divs[i].id + lingua(), divs[i].id);
    }

}

}


var current = new Array();
var num_fotos = new Array();

var galerias_data = new Array();

//galerias_data[3] = new Array()
//galerias_data[3][0] = new Array()

//galerias_data[3][0][0] = "fotografia"
//galerias_data[3][0][1] = "/source/gest_cnt_upload/gdrt"

//alert(galerias_data[3][0][0]);

//id da galeria a mostrar
//entra o javascript com as fotos
//direction da visualizacao
function navigateF( id_galeria, direction)
{

 //se nao tiver imagem actual coloca = 1
 if (typeof current[id_galeria] == "undefined") 
 {
    current[id_galeria] = 1;
 }
 //alert( "actual " + current[id_galeria]);

 //vai buscar os elementos de cada galeria
 lg = document.getElementById("legenda" + id_galeria);
 img = document.getElementById("foto" + id_galeria);
 numF = document.getElementById("numFoto" + id_galeria);
//alert(num_fotos[id_galeria]);
 if (direction == 9999) 
    current[id_galeria] = 1;
 else
    if (direction == -9999) 
        current[id_galeria] = parseInt(num_fotos[id_galeria]);
    else
    {
        current[id_galeria] = current[id_galeria] + direction;
        if (current[id_galeria] < 1) 
            current[id_galeria] = 1;
        if (current[id_galeria] > num_fotos[id_galeria])
            current[id_galeria] = num_fotos[id_galeria];
    }  

    numF.innerHTML = current[id_galeria] + " / " + num_fotos[id_galeria];

    //alert(galerias_data[id_galeria][current[id_galeria]][1]);
    lg.innerHTML = galerias_data[id_galeria][current[id_galeria]][0];
    img.src = galerias_data[id_galeria][current[id_galeria]][1];

    return true;
    //alert("ANTES inner html -> " + lg.innerHTML);

}

////devolve a posicao de scrool, ex getScrolling()['x'] devolve o x
//function getScrolling() {  
////     var x = 0; var y = 0;  
////     if (document.body && document.body.scrollLeft && !isNaN(document.body.scrollLeft)) {  
////         x = document.body.scrollLeft;  
////     } else if (window.pageXOffset && !isNaN(window.pageXOffset)) {  
////         x = window.pageXOffset;  
////     }  
////     if (document.body && document.body.scrollTop && !isNaN(document.body.scrollTop)) {  
////         y = document.body.scrollTop;  
////     } else if (window.pageYOffset && !isNaN(window.pageYOffset)) {  
////         y = window.pageYOffset;  
////     }  
//     
//    var scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0; 
//    var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || 0;
// //alert("1- " + scrollTop + "   2- " + scrollLeft);
//    
//    var position = new Array();
//    position['y'] = window.pageYOffset || document.documentElement.scrollTop || 0; 
//    position['x'] = window.pageXOffset || document.documentElement.scrollLeft || 0;
//     //alert(document.documentElement.scrollTop+"offset");
//     //alert(document.documentElement.scrollLeft+"offset");
//    return position;  
//}

////coloca o scrolling igual ao x e ao y
//function setScrolling(x,y)
//{
//document.documentElement.scrollLeft = x;
//document.documentElement.scrollTop = y;
//return 0;
//}


////quando faz scroll guarda a posicao para que quanto se clica numa galeria a janela nao salte
//var posicao = getScrolling();
//window.onscroll=function(){setScrolling(posicao['x'],posicao['y']);} 
 

