/* -- AJAX - CLASSE QUE LE O XML DAS NOTICIAS --
 * string @nome : Nome do Objeto criado.
 * string @div : ID do conteiner dos Itens.
 * string @linkHref : Link de cada Item.
 * number @limiteI : Limite inicial.
 * number @qtdMostra : Quantidade de Itens por Pagina.
 * array @paginadores : ID's do conteiners 
 * string @httpBase: Começo da URL para ser concatenada com o endereço das imagens
 * string @urlImgAnterior: URL da imagem do botão anterior
 * string @urlImgProximo: URL da imagem do botão proximo
 * string @filtro: filtra os dados que serão exibidos
 */
function GaleriasXML (nome) {
	this.nome = nome;
	this.div = "";
	this.linkHref = "";
	this.limiteI = 1;
	this.qtdMostra = 1;
	this.paginadores = false;
	this.httpBase = "";
	this.urlImgAnterior = '';
	this.urlImgProximo = '';
	this.idGaleria = '';
	
	this.bindXML = function (limiteI) {
		// Dados
		var div = this.div;
		var linkHref = this.linkHref;
		var limiteI = this.limiteI = !limiteI ? this.limiteI : limiteI;
		var qtdMostra = this.qtdMostra;
		var httpBase = this.httpBase;
		var idGaleria = this.idGaleria-1;
		
		// XML
		var xml = ajax.responseXML;
		var saida = "";
		
		// Galeria
		var galeria = xml.getElementsByTagName('galeria')[idGaleria];
		// Imagens
		var imagens = galeria.getElementsByTagName('imagem');
		
		// Quantidade de Galerias
		var qtdGalerias = this.qtdGalerias = imagens.length;
		
		// Limite inicial
		limiteI = (limiteI-1)*qtdMostra;
		
		// Limite final
		var limiteF = limiteI + qtdMostra;
		if(qtdGalerias < qtdMostra+1 || limiteF > qtdGalerias) {
			limiteF = qtdGalerias;
		}
		
		// Se for IE o nodo do CDATA  o primeiro
		var nodoCdata = is_ie ? 0 : 1;

		// Pegamos todos os dados
		for (var i=limiteI; i<limiteF; i++) {
			var imagem = imagens.item(i);
			// Saida
			saida += '<a href="' + httpBase + imagem.attributes[0].nodeValue +'" class="lightview" rel="gallery[planta'+idGaleria+']" title="'+ imagem.attributes[2].nodeValue +'">';
			saida += '<img src="' + httpBase + imagem.attributes[1].nodeValue +'" alt="'+ imagem.attributes[2].nodeValue +'" class="galeria" />';
			saida += '</a>';
		}

		// Mostra as galerias
		document.getElementById(div).innerHTML = saida;
		
		Lightview.updateViews();
		
		// Cria Paginador/es
		this.criaPaginador();
	}
	
	// Metodo que cria os Paginadores
	this.criaPaginador = function () {
		// Dados
		var paginadores = this.paginadores;
		// PAGINADORES
		if(paginadores) {
			var qtdPags = Math.ceil(this.qtdGalerias/this.qtdMostra);
			var qtdPaginadores = paginadores.length;
			for(var i=0;i<qtdPaginadores;i++) {
				// Cria o Paginador
				mudaPaginador(paginadores[i], this.limiteI, qtdPags, this.urlImgAnterior, this.urlImgProximo, this.nome+'.bindXML');
			}
		}
	}
}

/*
 * -- FUNO QUE GERA O PAGINADOR --
 * string @div : ID da DIV do Paginador.
 * number @numDaPag : O nmero da pagina que foi clicada.
 * number @qtdPags : Quantidade de Paginas.
 * string @callBack : A funo que vai ser executada por cada Boto.
 */
function mudaPaginador(div,numDaPag,qtdPags,urlImgAnterior,urlImgProximo,callBack) {
	// XML
	var xml = ajax.responseXML;
	
	// Texto dos Botoes
	var nextBtn = xml.getElementsByTagName('galerias')[0].attributes[0].nodeValue;
	var prevBtn = xml.getElementsByTagName('galerias')[0].attributes[1].nodeValue;
	
	// Habilita/Deshabilita os links do paginador
	var saida = "";
	
	//- Boto Prev
	if(numDaPag > 1) {
		saida += '<a href="#todo" id="anterior" onclick="'+ callBack +'('+ (parseInt(numDaPag)-1) +')"><img src="' + urlImgAnterior + '" alt="' + prevBtn + '" /></a>';
	}

	// Monta o paginador
	for (var i=0;i<qtdPags;i++) {
		var pagina = i+1;
		if(pagina != numDaPag) {
			saida += '<a href="#todo" onclick="'+ callBack +'(this.innerHTML)">'+pagina+'</a>';
		}
		else {
			saida += '<a href="#">'+ pagina +'</a>';
		}
		
		if(pagina!=qtdPags) { saida += " "; }
	}
	
	//- Boto Next
	if(numDaPag < qtdPags) {
		saida += '<a href="#todo" id="proxima" onclick="'+ callBack +'('+ (parseInt(numDaPag)+1) +')"><img src="' + urlImgProximo + '" alt="' + nextBtn + '" /></a>';
	}
	
	// Saida
	document.getElementById(div).innerHTML = saida;
}