
var servico = 0;

var limit = 9; // numero de noticias exibidas no indice
var offset = 0; // indice da noticia no topo do indice

var meses = { '01':'janeiro','02':'fevereiro','03':'março','04':'abril','05':'maio','06':'junho',
	'07':'julho','08':'agosto','09':'setembro','10':'outubro','11':'novembro','12':'dezembro'};

function processXML(rxml, extra) { // recebe 
	// verifica se veio <resposta> e quantas noticias
	// o ajax retornou
	var numnot = 0;
	var resp = rxml.getElementsByTagName("resposta").length;
	if (resp > 0) {
		var nlinha = rxml.getElementsByTagName("nlinha");
		if (nlinha[0].childNodes.length > 0) {
			numnot = nlinha[0].firstChild.nodeValue;
		}
	}

	// sai se resposta ou numnot sao invalidos
	if ( resp <= 0 || numnot <= 0 ) return;

	// cria um objeto xml para enviar ao transform
	var myXml = criaXMLDoc("MATERIAS");
	var root = myXml.documentElement;

	// pega as noticias retornadas pelo ajax
	var mats = rxml.getElementsByTagName("MAT");

	// poe um flag de anterior no xml se nao for a 1a pagina
	if (offset > 0) root.appendChild( criaXMLNode("ANTERIOR") );

	// verifica quantas noticias vai percorrer pois no ultima
	// pagina pode nao vir todas, e se nao for a ultima pagina
	// poe um flag de proximo no xml
	var end = limit;
	if (numnot > limit) {
		root.appendChild( criaXMLNode("PROXIMO") );
	} else {
		end = numnot;
	}

	// percorre as noticias enviadas pelo ajax e preenche o objeto xml
	// que sera enviado ao transform
	for (var i = 0; i < end; i++) {

		// pega os valores recebidos
		var dt = mats[i].getElementsByTagName("DAT")[0].firstChild.nodeValue;
		var hr = mats[i].getElementsByTagName("HOR")[0].firstChild.nodeValue;
		var tt = mats[i].getElementsByTagName("TIT")[0].firstChild.nodeValue;
		var cd = mats[i].getElementsByTagName("COD")[0].firstChild.nodeValue;
		
		if (i == 0) {
			// se for a primeira noticia pega data e hora para
			// colocar no topo da pagina
			var p = dt.split("/");
			var datpri = p[0];
			root.appendChild( criaXMLNode("DATPRI", datpri) );
			root.appendChild( criaXMLNode("HORPRI", hr) );
		} else {
			// compara data da noticia atual com a da noticia anterior
			// para inserir separador de data se forem diferentes
			var dtant = mats[i-1].getElementsByTagName("DAT")[0].firstChild.nodeValue;
			if (dt != dtant) {
				var ndm = criaXMLNode("MAT");
				var sep = criaXMLNode("SEPARA", dt); ndm.appendChild(sep);
				root.appendChild(ndm);
			}
		}

		var ndm = criaXMLNode("MAT");
		var dat = criaXMLNode("DAT", dt); ndm.appendChild(dat);
		var hor = criaXMLNode("HOR", hr); ndm.appendChild(hor);
		var tit = criaXMLNode("TIT", tt); ndm.appendChild(tit);
		var cod = criaXMLNode("COD", cd); ndm.appendChild(cod);
		root.appendChild(ndm);

	}

	// transforma
	xslt.transform(myXml);
}

function indice(o) {
	offset = o; // atualiza o offset global
	l = limit + 1; // pede sempre uma a mais para saber se tem proximo
	ajax.getXML('ajax/indice.php?l='+l+'&o='+o, processXML); // envia 
}

function proximo() { indice(offset+limit); window.scroll(0.0); } // pagina o indice para frente

function anterior() { indice(offset-limit); window.scroll(0.0); } // pagina o indice para tras

