var js_pos = 0;
var js_years = new Array(2008,2007,2006,2005);	

var js_tree = new dTree('js_tree');			
js_tree.config.useIcons=false;
js_tree.config.closeSameLevel=true;
js_tree.config.useSelection=false;
js_tree.add(js_pos,-1,'Outras edições');		
for(var j=1; j<=js_years.length; j++){
	var aux = js_years[j-1].toString();
	js_tree.add(j, 0, aux, "javascript:loadXMLDoc('/casaclaudia/xml/sumario" + aux + ".xml', " + aux + ");");
}
js_pos = js_years.length + 2;

var js_proximaEdicao = "";

var veja_mais_recebe = "";

function onResponse() {
	if(checkReadyState(xmlhttp)){
		var response = xmlhttp.responseXML.documentElement;
				
		js_ano = (response.getElementsByTagName("ANO")[0].firstChild.data - 0) * 1;
		var isDefined = false; //booleana pra indicar se a variável ed da query string está setada
		var js_firstEdition, js_lastEdition; //js_numero da ultima edição da revista
		var ed = getQueryVariable("ed", "&"); //pega a varivel ed da query string ,que representa a js_edicao
		
		//percorre todas as edições
		js_edicao = response.getElementsByTagName("EDICAO");					
		for(var i=0; i<js_edicao.length; i++){			
			js_numero = (response.getElementsByTagName("NUMERO"))[i].firstChild.data + "";
			
			//a primeira edição encontrada no xml, sempre será a última edição da revista
			if(i==0) js_lastEdition = js_numero;
			if(i==js_edicao.length-1) js_firstEdition = js_numero;
			if(ed!=null && ed==js_numero) isDefined=true;
			else isDefined=false;
		}
		
		//se a variavel ed da query string estava setada com algum js_numero, entao a edição a ser exibida eh a indicada pela variável
		if(isDefined) js_lastEdition = js_numero;
		
		//monta o sumário com a js_edicao desejada
		
		js_firstEdition = parseInt(js_firstEdition);
		js_lastEdition = parseInt(js_lastEdition);
		js_proximaEdicao = parseInt(js_proximaEdicao);
			
		if((js_proximaEdicao!="" && js_proximaEdicao!=null) && (js_proximaEdicao>=js_firstEdition && js_proximaEdicao<=js_lastEdition)){
			//alert("js_ano errado!\n" + "invervalo: " + js_firstEdition + "-" + js_lastEdition + "\n next: " + js_proximaEdicao + "\n" + js_year);
			montaSumario(js_proximaEdicao, js_year);
		}
		else{
			//alert("invervalo: " + js_firstEdition + "-" + js_lastEdition + "\n next: " + js_proximaEdicao + "\n" + js_year);
			montaSumario(js_lastEdition, js_year);
		}
		
		var js_yearIndex = getYearIndex(js_year);
		js_tree.closeAll();
		js_tree.openTo(js_yearIndex, true);
		document.getElementById('arvore').innerHTML = js_tree.toString();
	}
}

function getYearIndex(num){
	for(var i=0; i<js_years.length; i++){
		if(js_years[i].toString()==num.toString()) return (i+1);
	}				
	return -1;
}

function montaSumario(js_edicao_atual, js_esteAno){
	if(checkReadyState(xmlhttp)){
		js_proximaEdicao = js_edicao_atual;
		
		if(js_esteAno!=js_ano){
			loadXMLDoc('/casaclaudia/xml/sumario' + js_esteAno +'.xml', js_esteAno);
		}
		else{
			
			var xmlsource = xmlhttp.responseXML.documentElement;					
			var txtMaterias = new String();
			var txtComplementos = new String();
			var txtSecoes = new String();
			var txtMenu = new String();
			var ctnMaterias, ctnComplementos, ctnSecoes, ctnDireita, ctnArvore;
			
			ctnMaterias = getNode("centroMaterias");
			ctnComplementos = getNode("centroComplemento");
			ctnSecoes = getNode("secoes");
			ctnDireita = getNode("capa");
			ctnArvore = getNode("arvore");
			
			js_ano = parseInt(xmlsource.getElementsByTagName("ANO")[0].firstChild.data + "");

			//percorre todas as edições desse js_ano para montar o menu em árvore
			js_edicao = xmlsource.getElementsByTagName("EDICAO");					
			for(var i=js_edicao.length-1; i>=0; i--){						
				var js_js_numeroEdicao = js_edicao[i].getElementsByTagName("NUMERO")[0].firstChild.data + "";		
				var js_mes = js_edicao[i].getElementsByTagName("MES")[0].firstChild.data + "";			
				js_tree.add(js_pos++, getYearIndex(js_esteAno), js_mes, "javascript:montaSumario(" + js_js_numeroEdicao + ", " + js_ano + ");");				
			}
			
			//percorreremos todas as edições para achar a necessária e montar o sumário
			js_edicao = xmlsource.getElementsByTagName("EDICAO");
			
			for(var i=0; i<js_edicao.length; i++){			
				js_numero = js_edicao[i].getElementsByTagName("NUMERO")[0].firstChild.data + "";	
				
				if(js_numero==js_edicao_atual){ //se encontramos a edição						
					//monta o cabeçalho da edição, contendo número, mês, js_capa...					
					js_mes = (js_edicao[i].getElementsByTagName("MES"))[0].firstChild.data;							
					js_capa = (js_edicao[i].getElementsByTagName("CAPA"))[0].firstChild.data;
						
					//txtMenu += "<img src=\"" + js_capa + "\" width=\"250\" alt=\"\" border=\"0\" />\n";
					request(js_capa);
					//obtemos o js_conteudo desta edição
					js_conteudo = js_edicao[i].getElementsByTagName("CONTEUDO");
					
					//MATÉRIAS desta edição
					txtMaterias += "<h3>" + js_mes + " " + js_ano + "</h3>\n";
					js_materias = js_conteudo[0].getElementsByTagName("MATERIA");							
					for(var j=0; j<js_materias.length; j++){
						var txtTitulo, txtDescricao, txtLink, js_temLink=false;
						try{
							txtTitulo = js_materias[j].getElementsByTagName("TITULO")[0].firstChild.data;
						}catch(er){txtTitulo="";}
						try{
							txtDescricao = js_materias[j].getElementsByTagName("DESCRICAO")[0].firstChild.data;
						}catch(er){txtDescricao="";}
						try{ //se nao tiver txtLink, adotamos o caractere # para esta variável
							txtLink = js_materias[j].getElementsByTagName("LINK")[0].firstChild.data;
						}catch(er){txtLink="#";}
						try{
							txtVejaMais = js_materias[j].getElementsByTagName("VEJAMAIS")[0].firstChild.data;
						}catch(er){txtVejaMais="";}
						try{ 
							txtLinkVejaMais = js_materias[j].getElementsByTagName("LINKVEJAMAIS")[0].firstChild.data;
						}catch(er){txtLinkVejaMais="";}
						
						if(txtLink=="#"){ //se nao tiver txtLink, monta o html deste item sem txtLink
							txtMaterias += "<p>&nbsp;</p>\n";
							txtMaterias += "<p>\n";
							txtMaterias += "\t<h1>" + txtTitulo + "</h1>\n";
							txtMaterias += "\t<h2>" + txtDescricao + "</h2>\n";
							//txtMaterias += "\t<div id=\"oia\" style=\"margin: 5px 0 10px 20px;\"><span style=\"color:#661053;\">Veja mais:</span><br /><a style=\"color:#000;\" href=\"" + txtLinkVejaMais + "\">" + txtVejaMais + "</a></div>\n";
							txtMaterias += "</p>\n";
						}
						else{ //se tiver, monta com txtLink
							txtMaterias += "<p>&nbsp;</p>\n";
							txtMaterias += "<p>\n";
							txtMaterias += "\t<h1><a href=\"" + txtLink + "\">" + txtTitulo + "</a></h1>\n";
							txtMaterias += "\t<h2><a href=\"" + txtLink + "\">" + txtDescricao + "</a></h2>\n";
							//txtMaterias += "\t<div id=\"oia\" style=\"margin: 5px 0 10px 20px;\"><span style=\"color:#661053;\">Veja mais:</span><br /><a style=\"color:#000;\" href=\"" + txtLinkVejaMais + "\">" + txtVejaMais + "</a></div>\n";	
							txtMaterias += "</p>\n";
						}							
					}
					
					//COMPLEMENTOS desta edição
					js_complementos = js_conteudo[0].getElementsByTagName("COMPLEMENTO");	
					txtComplementos = "<h1>Complementos para o site</h1>";
					for(var l=0; l<js_complementos.length; l++){
						var txtTitulo, txtDescricao, txtLink, js_temLink=false;
						try{
							txtTitulo = js_complementos[l].getElementsByTagName("TITULO")[0].firstChild.data;
						}catch(er){txtTitulo="";}
						try{
							txtDescricao = js_complementos[l].getElementsByTagName("DESCRICAO")[0].firstChild.data;
						}catch(er){txtDescricao="";}
						try{ //se nao tiver txtLink, adotamos o caractere # para esta variável
							txtLink = js_complementos[l].getElementsByTagName("LINK")[0].firstChild.data;
						}catch(er){txtLink="#";}
			
						if(txtLink=="#"){ //se nao tiver txtLink, monta o html deste item sem txtLink
							txtComplementos += "<p>&nbsp;</p>\n";
							txtComplementos += "<p>\n";
							txtComplementos += "\t<h2>" + txtTitulo + "</h2>\n";
							txtComplementos += "\t<h3>" + txtDescricao + "</h3>\n";
							
							txtComplementos += "</p>\n";
						}
						else{ //se tiver, monta com txtLink
							txtComplementos += "<p>&nbsp;</p>\n";
							txtComplementos += "<p>\n";
							txtComplementos += "\t<h2><a href=\"" + txtLink + "\">" + txtTitulo + "</a></h2>\n";
							txtComplementos += "\t<h3><a href=\"" + txtLink + "\">" + txtDescricao + "</a></h3>\n";	
							
							txtComplementos += "</p>\n";
						}
					}
					
					//SEÇÕES desta edição
					js_secoes = js_conteudo[0].getElementsByTagName("SECAO");	
					txtSecoes = "<br /><br /><h3>Seções</h3>";
					for(var k=0; k<js_secoes.length; k++){
						var txtTitulo, txtDescricao, txtLink, js_temLink=false;
						try{
							txtTitulo = js_secoes[k].getElementsByTagName("TITULO")[0].firstChild.data;
						}catch(er){txtTitulo="";}
						try{
							txtDescricao = js_secoes[k].getElementsByTagName("DESCRICAO")[0].firstChild.data;
						}catch(er){txtDescricao="";}
						try{ //se nao tiver txtLink, adotamos o caractere # para esta variável
							txtLink = js_secoes[k].getElementsByTagName("LINK")[0].firstChild.data;
						}catch(er){txtLink="#";}
						try{
							txtVejaMais = js_secoes[j].getElementsByTagName("VEJAMAIS")[0].firstChild.data;
						}catch(er){txtVejaMais="";}
						try{ 
							txtLinkVejaMais = js_secoes[j].getElementsByTagName("LINKVEJAMAIS")[0].firstChild.data;
						}catch(er){txtLinkVejaMais="";}
						if(txtLink=="#"){ //se nao tiver txtLink, monta o html deste item sem txtLink
							txtSecoes += "<p>&nbsp;</p>\n";
							txtSecoes += "<p>\n";
							txtSecoes += "\t<h1>" + txtTitulo + "</h1>\n";
							txtSecoes += "\t<h2>" + txtDescricao + "</h2>\n";
							//txtSecoes += "\t<h4><a href=\"" + txtLinkVejaMais + "\">" + txtVejaMais + "</a></h4>\n";
							txtSecoes += "</p>\n";
						}
						else{ //se tiver, monta com txtLink
							txtSecoes += "<p>&nbsp;</p>\n";
							txtSecoes += "<p>\n";
							txtSecoes += "\t<h1><a href=\"" + txtLink + "\">" + txtTitulo + "</a></h1>\n";
							txtSecoes += "\t<h2><a href=\"" + txtLink + "\">" + txtDescricao + "</a></h2>\n";
							//txtSecoes += "\t<h4><a href=\"" + txtLinkVejaMais + "\">" + txtVejaMais + "</a></h4>\n";
							txtSecoes += "</p>\n";
						}
					}
					
					//como achamos a edição que queríamos, não precisamos continuar nesse loop				
					break;
				}
			}		
			
			//monta o conteúdo dos divs			
			ctnMaterias.innerHTML = txtMaterias;
			ctnComplementos.innerHTML = txtComplementos;
			ctnSecoes.innerHTML = txtSecoes;			
			//ctnDireita.innerHTML = txtMenu;
			ctnArvore.innerHTML = js_tree.toString();
			
			//se nao tiver nenhum complemento ou seção, esconde-os do layout, caso tiver, mostra-os
			if(js_complementos.length==0) hide("complemento");
			else show("complemento");
			if(js_secoes.length==0) hide("secoes");
			else show("secoes");
			
			//esconde a imagem de "carregando"
			hide('carregando');
		}
	}
}