
window.addEvent('domready', function() {
	
	//eventos click dos botões de Downloads
	$('aLaminas').addEvent('click', function(e) {
		e.stop();
		intTipoDownload = this.getProperty('codigo');
		intPagina = 1;
		strNmProduto = '';
		strIdProduto = '';
		//esconde a div anterior
		$(strDivTipo).setStyle('display', 'none');
		strDivTipo = 'divLaminas';
		//mostra a div atual
		$(strDivTipo).setStyle('display', 'block');
		
		mostrarLista('laminas');
		//Verifica se a div do tipo atual já foi renderizada para não renderizar novamente
		if(!$(strDivTipo).hasChild('ulListaDownload'+intTipoDownload) || $('filtrado_'+intTipoDownload).value == "true")
			montaListaDownload();
	});
	$('aManuais').addEvent('click', function(e) {
		e.stop();
		intTipoDownload = this.getProperty('codigo');
		intPagina = 1;
		strNmProduto = '';
		strIdProduto = '';
		//esconde a div anterior
		$(strDivTipo).setStyle('display', 'none');
		strDivTipo = 'divManuais';
		//mostra a div atual
		$(strDivTipo).setStyle('display', 'block');
		
		mostrarLista('manuais');
		//Verifica se a div do tipo atual já foi renderizada para não renderizar novamente
		if(!$(strDivTipo).hasChild('ulListaDownload'+intTipoDownload) || $('filtrado_'+intTipoDownload).value == "true")
			montaListaDownload();
	});
	$('aImagensProduto').addEvent('click', function(e) {
		e.stop();
		intTipoDownload = this.getProperty('codigo');
		intPagina = 1;
		strNmProduto = '';
		strIdProduto = '';
		//esconde a div anterior
		$(strDivTipo).setStyle('display', 'none');
		strDivTipo = 'divImagensProduto';
		//mostra a div atual
		$(strDivTipo).setStyle('display', 'block');
		
		mostrarLista('imagens');
		//Verifica se a div do tipo atual já foi renderizada para não renderizar novamente
		if(!$(strDivTipo).hasChild('ulListaDownload'+intTipoDownload) || $('filtrado_'+intTipoDownload).value == "true")
			montaListaDownload();
	});
	$('aCatalagos').addEvent('click', function(e) {
		e.stop();
		intTipoDownload = this.getProperty('codigo');
		intPagina = 1;
		//esconde a div anterior
		$(strDivTipo).setStyle('display', 'none');
		strDivTipo = 'divCatalagos';
		//mostra a div atual
		$(strDivTipo).setStyle('display', 'block');
		
		mostrarLista('catalogos');
		//Verifica se a div do tipo atual já foi renderizada para não renderizar novamente
		if(!$(strDivTipo).hasChild('ulListaDownload'+intTipoDownload))
			montaListaDownload();
	});
	$('aAdesivos').addEvent('click', function(e) {
		e.stop();
		intTipoDownload = this.getProperty('codigo');
		intPagina = 1;
		strNmProduto = '';
		strIdProduto = '';
		//esconde a div anterior
		$(strDivTipo).setStyle('display', 'none');
		strDivTipo = 'divAdesivos';
		//mostra a div atual
		$(strDivTipo).setStyle('display', 'block');
		
		mostrarLista('adesivos');
		//Verifica se a div do tipo atual já foi renderizada para não renderizar novamente
		if(!$(strDivTipo).hasChild('ulListaDownload'+intTipoDownload) || $('filtrado_'+intTipoDownload).value == "true")
			montaListaDownload();
	});

	//---------------------------------------------------------------------------------------------------------
	/**
	 * Classe que vai pegar todas as Variaveis Globais.
	 */
	var GlobalVars = new Class({
		initialize: function () {
			// Endereo atual.
			this.enderecoAtual = window.location.href;
			// Path raiz
			this.pathRaiz = strPathHttpBase;
			this.pathCatImg = this.pathRaiz + 'servicos/produtoCaravell/upload/mercados/';
			this.pathProdImg = this.pathRaiz + 'servicos/produtoCaravell/upload/';
			this.pathBaseSite = strPathBaseSite; //tem que ser definido como variavel global
			// Endereo da pagina 404
			//this.endereco404 = strPathBaseSite + '/' + this.getIdiomaCodigo() + '/error_404/erro_404.aspx'; // TODO: Mudar o endereo
			// Executa todas as variaveis globais
			this.idioma = this.getIdioma();
			//this.cat = this.getCat();
			//this.api = this.getApi();
			//this.prod = this.getProd();
			this.scroll = this.getScroll();
			this.planta = this.getPlanta();
		},
		qString: function() {
			var gets = $get('?') != '' ? '?' + $get('?') : '?' + $get('#');
			return gets;
		},
		getIdioma: function () {
			if(this.enderecoAtual.test("/pt/", "i")) {
				this.idioma = 1;
				return this.idioma;
			}
			else if(this.enderecoAtual.test("/en/", "i")) {
				this.idioma = 2;
				return this.idioma;
			}
			else if(this.enderecoAtual.test("/es/", "i")) {
				this.idioma = 3;
				return this.idioma;
			}
		},
		getScroll: function () {
			this.scroll = $chk($get('', this.qString()).scroll) ? $get('', this.qString()).scroll : false;
			return this.scroll;
		},
		getPlanta: function () {
			if(this.enderecoAtual.test("/brasil/", "i")) {
				//TESTANDO COM CARAVELL
				//this.planta = 4;
				this.planta = 17;
				return this.planta;
			} else if(this.enderecoAtual.test("/world_wide/", "i")) {
				this.planta = 6;
				return this.planta;
			} else if(this.enderecoAtual.test("/usa/", "i")) {
				this.planta = 2;
				return this.planta;
			} else if(this.enderecoAtual.test("/mexico/", "i")) {
				this.planta = 16;
				return this.planta;
			} else if(this.enderecoAtual.test("/caravell/", "i")) {
				this.planta = 4;
				return this.planta;
			} else if(this.enderecoAtual.test("/derby/", "i")) {
				this.planta = 11;
				return this.planta;
			} else if(this.enderecoAtual.test("/klimasan/", "i")) {
				this.planta = 20;
				return this.planta;
			} else if(this.enderecoAtual.test("/coca_cola/", "i")) {
				this.planta = 10;
				return this.planta;
			}
		},
		getId: function (nome) {
			var verifica = true;
			
			if (nome == 'cat' && this.cat) {
				if ($chk(mapaCat[this.cat])) {
					verifica = true;
					return mapaCat[this.cat].index;
				}
				else {
					verifica = false;
				}
			}
			else if (nome == 'api' && this.cat && this.api) {
				if ($chk(mapaCat[this.cat][this.api])) {
					verifica = true;
					return mapaCat[this.cat][this.api].index;
				}
				else {
					verifica = false;
				}
			}
			else if (nome == 'prod' && this.api && this.prod) {
				if ($chk(mapaCat[this.cat][this.api][this.prod])) {
					return mapaCat[this.cat][this.api][this.prod].index;
				}
				else {
					verifica = false;
				}
			}
			
			// Verifica que tudo existe, seno redireciona para a pagina 404
			//if (!verifica) {
			//	window.location = this.endereco404;
			//}
		}
	});
	
	//---------------------------------------------------------------------------------------------------------
	/**
	 * Função que faz um mapeamento dos id(cat, api, e prod).
	 */
	function mapeaDados () {
		// Catergorias
		categoriasObj.each(function (categoria, indexCat) {
			// Categoria
			var cat = mapaCat[categoria.id] = {
				// Index da Categoria
				'index': indexCat
			};
			// Aplicaes
			categoria.aplicacao.each(function (aplicacao, indexApi) {
				// Aplicao
				var api = cat[aplicacao.id] = {
					// Index da Aplicao
					'index': indexApi
				};
				if(aplicacao.produto != null)
				{
					// Produtos
					aplicacao.produto.each(function (produto, indexProd) {
						// Produto
						var prod = api[produto.id] = {
							// Index da Aplicao
							'index': indexProd,
							'nome': produto.nome
						};
					});
				}
			});
		});
	}

	//---------------------------------------------------------------------------------------------------------
	//Funces e objetos (principais)
	//---------------------------------------------------------------------------------------------------------

	this.montaListaDownload = function () {
		//$('divListaDownload').empty();
		var idIdioma = vars.idioma;
		var strIdioma = '';
		switch(idIdioma)
		{
			case 1:
			  strIdioma = 'pt';
			  break;
			case 2:
			  strIdioma = 'en';
			  break;
			case 3:
			  strIdioma = 'es';
			  break;
			default:
			  strIdioma = 'pt';
		}
		var idPathRaiz = vars.pathRaiz;
		// Chama a funo que constroi o Sub Menu.
		$('loadingStatus').addClass('ajaxCarregando');
		
		//Destaque
		//alert('TIPO:'+intTipoDownload);
		if(intTipoDownload != '12' && intTipoDownload != '13' && intTipoDownload != '14' && intTipoDownload != '15'){
			var arqXSL = '';
			arqXSL = idPathRaiz + 'xsl/ajax_downloads_catalogo_'+strIdioma+'.xsl';
			montaCatalogos(xmlPagina, arqXSL, intPagina, strDivTipo);
		} else {
			//montaDownloads(urlWSDownloads + '?idioma='+idIdioma+'&planta='+vars.planta+'&cdgTiposDownload='+intTipoDownload, idPathRaiz + 'xsl/ajax_downloads_tipo_previa_'+strIdioma+'.xsl', intPagina, intTipoDownload, strDivTipo);
			montaDownloads(urlWSDownloads + '?idioma='+idIdioma+'&planta='+vars.planta+'&cdgTiposDownload='+intTipoDownload, idPathRaiz + 'xsl/ajax_downloads_tipo_'+strIdioma+'.xsl', intPagina, intTipoDownload, strDivTipo);
		}
		
		//Flag, para avisar que os tipos de downloads foram criados, para no ficar criando toda vez
		window.download = true;
		
		box.bindItems(); // atualiza a lista do multibox referentes aos links que existem na pagina, que mudam dinamicamente
		
		$('loadingStatus').removeClass('ajaxCarregando');
	}
	
	//---------------------------------------------------------------------------------------------------------
	/**
	 * Funo que monta a descrição do Produto.
	 * 
	 * @param {String} idProd : ID do Produto. 
	 */
	//---------------------------------------------------------------------------------------------------------
	// Chamadas diretas
	
	//Declaracoes
	var mapaCat = new Hash();
	// Crio o Obj que vai controlar as variaveis Globais.
	var vars = new GlobalVars();
	// MultiBox
	box = new MultiBox('mb', {useOverlay: true, showControls: false});
	//---------------------------------------------------------------------------------------------------------
});
