var basePath = "/";	
	/**
		Funcao para gerenciar a abertura e fechamento dos menus.
	**/
	function trataMenu(codigo){	
	 try{		
		var isRoot = $(codigo).getAttribute("root");
		var carregado = $(codigo).getAttribute("carregado");		
		if(trim(isRoot,0)=="1"){			
			if(carregado=="1"){
				changePage(basePath+"capa/default.jsp?codigoCategoria="+codigo);
			}

		}
	 }
	 catch(e){
	 	/*
	 		Caso de algum erro, simplesmente usa sem ele.
	 	*/
	 }
	}
	
	
	/**
	 * Traz os itens sobre demanda, caso os itens ja tenham sido 
	 * trazidos aí ele abri a pagina.
	 * @param {Object} codigo
	 */
	function trazItensSobDemanda(codigo){
		/*
		 * Se nao tiver sido carregado ainda
		 */				 
		if(trim($(codigo).getAttribute("carregado"),0)=="0"){
			$(codigo).setAttribute("carregado","1");		
			dojo.io.bind({
				method : 'GET',
				url: basePath+'loja/lojaAjax.do?method=listarCategoriasFilhas&strIdentificador='+codigo,
			    handler:function(type, data, evt){						
							if(type=="load"){
							   vetor = eval(data);
							   handlerTrazItensSobDemanda(vetor,codigo);
							}
							else{
								if(type="error"){
									alert("Não foi possivel carregar as subcategorias");
								}
							}	
						},		  	    
				preventCache:true,			
				mimetype: "text/json",
			    transport: "XMLHTTPTransport"		
		    });	   							
		}
		else{			
			changePage(basePath+"capa/default.jsp?codigoCategoria="+codigo);
		}
	}
	
	function handlerTrazItensSobDemanda(evalObj,codigoPai){
		//<ul id="${categoria.codigo}" root="1" style="list-style:none">		
		var elemento = criarElemento("ul");
		addAttribute(elemento,"id","ul"+codigoPai);
		addAttribute(elemento,"root","1");
		addAttribute(elemento,"style","list-style:none");
		//pega todos os filhos
		if(evalObj.length>0){
			for(i=0;i<evalObj.length;i++){
				filho = criarElemento("li");
				//addAttribute(filho,"onclick","trazItensSobDemanda('"+evalObj[i].identificador+"');");
				addAttribute(filho,"carregado","0");	
				addAttribute(filho,"id",evalObj[i].identificador);			
				
				link = criarElemento("a");
				addAttribute(link,"href","javascript:trazItensSobDemanda('"+evalObj[i].identificador+"');");
				link.innerHTML = "- "+evalObj[i].nome;
						
				append(filho,link);
				append(elemento,filho);
			}
			append($(codigoPai),elemento);
		}
		else{			
			changePage(basePath+"capa/default.jsp?codigoCategoria="+codigoPai);
		}
		 
								
	}
	
	/**
	 * 
	 * @param {Object} tipo
	 */
	function criarElemento(tipo){
		return document.createElement(tipo);
	}
	
	/**
	 * 
	 * @param {Object} elemento
	 * @param {Object} atribute
	 * @param {Object} valor
	 */
	function addAttribute(elemento,atributo,valor){
		elemento.setAttribute(atributo,valor);
	}
	
	function append(elementoPai,filho){
		elementoPai.appendChild(filho);
	}
	
	
	