// JavaScript Document

/**
 * Classe DOMElement
 * @return (DOMElement) Retorna o elemento no html.
 */
DOMElement = {

	id: function (id)
	{
		
		if(document.getElementById)
		{
			
			ThumbPlace = document.getElementById(id);
			return ThumbPlace;
		
		} else {
		
			alert("? Element inesistente.");
		
		}
	
	}
		
};

/**
 *  Classe Mariz
 *  Inicia o sistema de galeria de fotos.
 */
Mariz = {

	// Sistema
	Version: "2.38",
	Author: "Bruno Dias",
	Company: "Mariz Comunicação Integrada",

	// Declaração das variáveis
	Container: "",  						// (DOMElement) Elemento onde serão inseridas as imagens
	Ano: "", 								// (string) String para o label do lightbox
	Fotos: 0, 								// (int) Número de fotos
	FotosLinha: 5,  						// (int) Número de fotos por linha
	
	TotalLinhas: 0, 						// (int) Total de linhas
	
	FotosThumb: [], 						// (array) Array para guardar as thumbs
	FotosLarge: [], 						// (array) Array para guardar as large
	
	Extension: ".jpg", 						// (string) String da extensão das imagens
	
	PastaDasImagens : "/imagens/eventos/",
	Pasta: "", 								// (string) String do diretorio (Diretorio Relativo)
	
	Tag: "",
	
	/**
	 * Essa função inicia o sistema.
	 *
	 * @param (container) 			Local onde serão inseridas as fotos.
	 * @param (numeroDeFotos) 		Número total de fotos a serem criadas.
	 * @param (ano) 				Ano para gerar a tag do lightbox.
	 */
	SistemaDeFotos: function (container, nFotos, folder, tag)
	{
		
		Mariz.Container = new DOMElement.id(container); 	// Onde serão inseridas as fotos
		Mariz.Tag = tag; 									// Tag para o lightbox
		Mariz.Fotos = nFotos; 								// Total de fotos
		Mariz.Pasta = folder; 								// Pasta do evento
		//alert("Total de fotos: "+Mariz.Fotos);
		Mariz.TotalLinhas = Math.round((Mariz.Fotos/Mariz.FotosLinha));
		//alert("Total de linhas: "+Mariz.TotalLinhas);
		
		// Gera a quantidade toda de fotos para a matriz
		for(var count = 1; count <= Mariz.Fotos; count++)
		{
			
			Mariz.FotosThumb[count] = new Image();
			Mariz.FotosThumb[count].src = Mariz.FotoEndereco("Thumb", count);
			
			Mariz.FotosLarge[count] = new Image();
			Mariz.FotosLarge[count].src = Mariz.FotoEndereco("Large", count);
			
			// Retorna o destino da imagem  - [n].src
		}
		
		// Cria toda as fotos
		Mariz.GerarFotos();
		
	},
	
	/**
	 * Retorna o endereço da imagem.
	 *
	 * @param (tipo) 				Tipo da imagem para selecionar.
	 * @param (numero) 				Número da foto para gerar o endereço.
	 * @return (string) 			Retorna o endereco real da imagem. 
	 */
	FotoEndereco: function (tipo, numero)
	{
		var name;
		
		switch (tipo)
		{
			case "Thumb":
				var thumbDaFoto = "thumb-";
				name = Mariz.PastaDasImagens + Mariz.Pasta + "/thumbs/" + thumbDaFoto + numero + Mariz.Extension;
			break;
			
			case "Large":
				var largeDaFoto = "large-";
				name = Mariz.PastaDasImagens + Mariz.Pasta + "/larges/" + largeDaFoto + numero + Mariz.Extension;
			break;

			default:
				alert("Essa funçao precisa de um tipo. 'Grande' retorna o nome da foto grande;\n\r  'PB' retorna o nome da foto preto e branco;\n\r 'Colorida' retorna o nome da foto colorida;\n\r ");
			break;
		}

		return name;
		
	},
	
	/**
	 * Essa função cria e insere as tag do html
	 * @param (tipo) 				Tipo da imagem para selecionar
	 * @param (numero) 				Número da foto para gerar o endereço
	 */
	GerarFotos: function ()
	{
		
		var innerTag = "";
		var j = 0;
		var tmpFoto = 1;
		
		var oTable = "<table width=\"592\" cellpadding=\"0\" cellspacing=\"2\" border=\"0\">\n\r";
			var oLinha = "<tr>\n\r";
				var oCelula = "<td align=\"center\">";
				var cCelula = "<\/td>\n\r";
			var cLinha = "<\/tr>";
		var cTable = "<\/table>";
		
		innerTag += oTable;
		
		for(var tmpLinha = 1; tmpLinha<=Mariz.TotalLinhas+1; tmpLinha++)
		{
			
			//
			innerTag += oLinha;
			
			//alert("Math.round(tmpFoto/Mariz.FotosLinha)+1 "+Math.round((tmpFoto/Mariz.FotosLinha)+1));
					
			do {
				
				var temp = "foto"+tmpFoto;
				//alert("Id da foto "+temp);
				//alert("Foto "+tmpFoto+" da linha "+tmpLinha);
				
				if(tmpFoto<=Mariz.Fotos)
				{
					innerTag += oCelula+"<a href=\""+Mariz.FotosLarge[tmpFoto].src+"\" rel=\"lightbox["+Mariz.Tag+"]\"><img id='"+temp+"' "+"src='"+Mariz.FotosThumb[tmpFoto].src+"' border='0' \/><\/a>"+ cCelula;
					
				} else {
					
					innerTag += oCelula +"&nbsp;" + cCelula;
					
				}
				
				//alert("Foto pertence a linha "+((((tmpFoto-1)/Mariz.FotosLinha))<=tmpLinha));
				//alert(tmpFoto);
				++tmpFoto;
				
			} while (((tmpFoto/Mariz.FotosLinha))<=tmpLinha);
			
			innerTag += cLinha;
			//
			
		}
		
		
		innerTag += cTable;
		
		//alert(innerTag);
		
		Mariz.Container.innerHTML += innerTag;

	}
	
};