/**
 *
 *	selectGalerias()
 *	Adiciona os eventos ao select das galerias
 *
 */
function selectGalerias() {
	var s = document.getElementById('selectGalerias');
	var b = document.getElementById('btGalerias');
	if(!s || !b)
		return;
	b.onclick = function() {
		mostrarGaleria(s.value);
	}
}

/**
 *
 *	mostrarGaleria()
 *	Mostra a galeria
 *
 *	@param		idGaleria	int		ID da galeria a ser mostrada
 *	@param		idFoto		int		ID da foto a ser mostrada
 *	@see							carregarGaleria()
 *
 */
function mostrarGaleria(idGaleria, idFoto) {
	if(!idFoto)
		idFoto = 1;
	if(!idGaleria || typeof(idGaleria) == "object")
		idGaleria = 1;
	// div para colocar o HTML
	var div = document.getElementById('galeriasDir');
	if(!div)
		return;
	// executa a consulta e chama o handler da resposta: carregarGaleria()
	new ajax.ContentLoader('../php/foto.php?idGaleria='+idGaleria+'&idFoto='+idFoto, carregarGaleria);
}


/**
 *
 *	carregarGaleria()
 *
 *	@see		mostrarGaleria()
 *
 */
function carregarGaleria() {
	// div para colocar o HTML
	var divAppend = document.getElementById('galeriasDir');
	// resposta do ajax
	var jsonText = this.req.responseText;
	if(!jsonText)
		return;
	// transforma a resposta em objeto
	var json = eval("("+jsonText+")");
	
	var span = document.createElement('span');
	span.setAttribute('id', 'foto');
	
	var img = document.createElement('img');
	img.setAttribute('src', '../imagens/fotosRedimensionadas/gd_'+json.fotos.atual.nome);
	img.setAttribute('alt', 'Foto da Galeria');
	img.setAttribute('width', '301');
	img.setAttribute('height', '203');
	
	var divPaginacao = document.createElement('div');
	divPaginacao.setAttribute('id', 'paginacao');
	
	var nomeGaleria = document.createElement('h3');
	nomeGaleria.appendChild(document.createTextNode(json.fotos.nomegaleria));
	
	// verifica se há foto anterior
	if(json.fotos.anterior) {
		// cria o link
		var anterior = document.createElement('a');
		anterior.setAttribute('id', 'fotoAnterior');
		anterior.setAttribute('href', '#');
		// adiciona o evento AJAX para carregar a foto anterior
		anterior.onclick = function() {
			mostrarGaleria(json.fotos.atual.idgaleria, json.fotos.anterior.idfoto);
			return false;
		}
		
		// adiciona ao HTML
		divPaginacao.appendChild(anterior);
	}
	
	// verifica se há próxima foto
	if(json.fotos.proxima) {
		// cria o link
		var proxima = document.createElement('a');
		proxima.setAttribute('id', 'proximaFoto');
		proxima.setAttribute('href', '#');
		// adiciona o evento AJAX para carregar a próxima foto
		proxima.onclick = function() {
			mostrarGaleria(json.fotos.atual.idgaleria, json.fotos.proxima.idfoto);
			return false;
		}
		// adiciona ao HTML
		divPaginacao.appendChild(proxima);
	}
	
	// remove a imagem anterior, antes de inserir a nova
	removeChildren(divAppend);
	
	// insere a nova imagem e a paginação no HTML
	span.appendChild(img);
	divPaginacao.appendChild(nomeGaleria);
	divAppend.appendChild(span);
	divAppend.appendChild(divPaginacao);
}

addListener(window, 'load', mostrarGaleria);
addListener(window, 'load', selectGalerias);


/**
 *	Fuções auxiliares
 */

/**
 *
 *	addListener()
 *
 *	@param		obj		Object		Objeto a ser adicionado o ouvinte
 *	@param		evento	String		Tipo do evento
 *	@param		funcao	Function	Função que trata o evento
 *
 */
function addListener(obj, evento, funcao) {
	if(window.attachEvent)
		obj.attachEvent('on'+evento, funcao);
	else if(window.addEventListener)
		obj.addEventListener(evento, funcao, false);
	else
		return;
}

/**
 *
 *	getQueryString()
 *
 *	@param		variavel	String		Nome da variável da querystring
 *	@return					String		Valor da variável
 *
 */
var qs = new Array();
var variaveis = document.location.search.replace(/\x3F/,"").replace(/\x2B/g," ").split("&");
if(variaveis!="") {
    for(var i = 0; i < variaveis.length;i++) {
        var nvar = variaveis[i].split("=");
        qs[nvar[0]] = unescape(nvar[1]);
    }
}
function getQueryString(variavel) {
    return qs[variavel];
}