var ultimaData;
var dataChat,numElChat,dataNov,numElNov;
dataChat = numElChat = dataNov = numElNov = 0;

function actualizaTodo(t,chat){	
	if(chat){
		CreaXmlHttp('/insertos/consultasForo.php', 'e='+numElChat+'&t='+t+'&tipo=res&data='+dataChat, 'funcionResultado');
	}
	CreaXmlHttp('/insertos/consultasForo.php', 'e='+numElNov+'&tipo=nov&data='+dataNov, 'funcionNovidades');
	return false;
}
/*
Funcion que recolle a eo parametros de destino no  servidor,
unha vez realizada a conexion
*/
function CreaXmlHttp(url, params, funcionSaida) {
	var mensaxes = document.getElementById('mensaxes');
	try{
		var oXmlHttp = zXmlHttp.createRequest();
		oXmlHttp.open("post", url, 0);
		oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");
		oXmlHttp.onreadystatechange = function () {
			//		alert(oXmlHttp.readyState+' - '+oXmlHttp.status);
				if (oXmlHttp.readyState == 4) {
						if (oXmlHttp.status != 200) {
								alert("Ocurrio un error: " + oXmlHttp.statusText);
						}
				}            
		};
		try{
			oXmlHttp.send(params); 
		}catch(e){ 
//osmia, retiro este bug
//alert('Bug Mozilla: '+ e.name + ': ' + e.message);return 0;
}
		eval(funcionSaida)(oXmlHttp.responseXML);
		return 1;
	}catch(e){ 
   //osmia, mensaxe de javascript capado 
	//	alert('Exception function CreaXmlHttp: '+ e.name + ': ' + e.message);
		return 0;	
	}
}

function funcionNovidades(xmlDoc){
	/*  ZONA TESTEO */
	var tests = document.getElementById('test');
	var mensaxes = document.getElementById('mensaxes');

	var foros = xmlDoc.getElementsByTagName('foro');
	var l = xmlDoc.getElementsByTagName('posts');
	var oFragment = document.createDocumentFragment();
	var divUL = document.getElementById('ulNov'); 
	var ulForum = document.createElement('ul');
			
//	test.innerHTML = '<br />nData Novidades: '+ dataNov;
//	mensaxes.innerHTML = xmlDoc.xml;
	
	if(dataNov==0) divUL.innerHTML="";
	try{	dataNov = l[0].getElementsByTagName("dataultimo")[0].firstChild.data;	}catch(e){}


	for (j=0;j<foros.length;j++)	{
		var topics = foros[j].getElementsByTagName('topic');
		if(document.getElementById('ultopics'+foros[j].getElementsByTagName("forumId")[0].firstChild.data)){
			var ulTopic = document.getElementById('ultopics'+foros[j].getElementsByTagName("forumId")[0].firstChild.data);
		}else{	
			var ulTopic = document.createElement('ul');
			ulTopic.id = 'ultopics'+foros[j].getElementsByTagName("forumId")[0].firstChild.data;
		}
		if(document.getElementById('foro'+foros[j].getElementsByTagName("forumId")[0].firstChild.data)){
			var liForum = document.getElementById('foro'+foros[j].getElementsByTagName("forumId")[0].firstChild.data);
		}else{
			var liForum = document.createElement('li');
			liForum.id='foro'+foros[j].getElementsByTagName("forumId")[0].firstChild.data; 	
			var tit = document.createElement('h5');
			var hRef = document.createElement('a');
			tit.className = 'tituloForo';
			hRef.setAttribute('href', '/foros/viewforum.php?f='+foros[j].getElementsByTagName("forumId")[0].firstChild.data);
			hRef.appendChild(document.createTextNode(foros[j].getElementsByTagName("name")[0].firstChild.data));
			tit.appendChild(hRef);
			liForum.appendChild(tit);
		}
		//document.getElementById('test').innerHTML += '\n<br>'+liForum.innerHtml;
		for (k=0;k<topics.length;k++)	{
			var posts = topics[k].getElementsByTagName('post');
			if(document.getElementById('ulposts'+topics[k].getElementsByTagName("topicId")[0].firstChild.data)){
				var ulPosts = document.getElementById('ulposts'+topics[k].getElementsByTagName("topicId")[0].firstChild.data);
			}else{	
				var ulPosts = document.createElement('ul');		
				ulPosts.id = 'ulposts'+topics[k].getElementsByTagName("topicId")[0].firstChild.data;
				ulPosts.className = 'ulposts';
			}			
			if(document.getElementById('topic'+topics[k].getElementsByTagName("topicId")[0].firstChild.data)){
				var liTopic = document.getElementById('topic'+topics[k].getElementsByTagName("topicId")[0].firstChild.data);
			}else{
				var liTopic = document.createElement('li');
				liTopic.id='topic'+foros[j].getElementsByTagName("topicId")[0].firstChild.data; 
				var tit = document.createElement('h6');
				var hRef = document.createElement('a');
				tit.className = 'tituloTopic';
				hRef.setAttribute('href', '/foros/viewtopic.php?t='+topics[k].getElementsByTagName("topicId")[0].firstChild.data);
				hRef.appendChild(document.createTextNode(topics[k].getElementsByTagName("name")[0].firstChild.data));
				tit.appendChild(hRef);
				liTopic.appendChild(tit);		
			}
			for (i=0;i<posts.length;i++)	{
				var resultados = new Array();
				resultados['autor'] = posts[i].getElementsByTagName("autor")[0].firstChild.data;
				resultados['asunto'] = posts[i].getElementsByTagName("asunto")[0].firstChild.data;
				resultados['dataAlta'] = posts[i].getElementsByTagName("dataAlta")[0].firstChild.data;
				resultados['postId'] = posts[i].getElementsByTagName("postId")[0].firstChild.data;
				//ulPosts.appendChild(creaFilaNovidades(resultados));
				ulPosts.insertBefore(creaFilaNovidades(resultados),ulPosts.firstChild);
			}
			liTopic.appendChild(ulPosts);
			//liTopic.insertBefore(ulPosts,liTopic.firstChild);
			ulTopic.appendChild(liTopic);
			//ulTopic.insertBefore(liTopic,ulTopic.firstChild);
		}	
		liForum.appendChild(ulTopic);
		oFragment.appendChild(liForum);
	}

	
	//tests.innerHTML += '<br />ulEl: '+divUL.childNodes.length+'-- oFragmentEl: '+oFragment.childNodes.length;
	try{	
		if(divUL.childNodes.length > 0 || oFragment.childNodes.length){
			var mostrarEl = 6;
			if(divUL.childNodes.length>mostrarEl){		eliminaFilasNov(divsEl,mostrarEl);	}
		}else{
			oFragment.appendChild(document.createTextNode('Non hai novas entradas'));	
		}	
		divUL.insertBefore(oFragment,divUL.firstChild);
	}catch(e){ 
	//	oFragment.appendChild(document.createTextNode('Non hai novas entradas'));
		  //osmia, mensaxe de javascript capado
		//alert('Exception funcion "funcionNovidades": '+ e.name + ': ' + e.message); 
	}
	
	
	/*Agora contamos os elementos que hai,posto que antes non podemos pq so se envian as actualizacions e non todos os posts*/	
}


function eliminaFilasNov(divsEl,numEl){
	return;
	var tests = document.getElementById('test');
	var mensaxes = document.getElementById('mensaxes');
	var ids = new Array();
	var splits = "";
	mensaxes.innerHTML = '';
	
	
	for (var i=0;i<divsEl.length;i++)	{
		ids[i] = parseInt(divsEl[i].firstChild.id);
		//mensaxes.innerHTML += ' - '+ids[i];
	}
	ids.sort();
	//ids.sort(function(a,b){return a - b})
	//tests.innerHTML = ids.length+'-'+numEl;
	//for(var i=numEl;i<ids.length;i++){
	var ulTop = document.getElementsByClassName('ulposts');
	var borrarId = new Array();
	for(var i=(ids.length-(numEl+1)),j=0;i>=0;j++,i--){
		//mensaxes.innerHTML += '<br />'+i+'.-'+ids[i];
		document.getElementById('post'+ids[i]).innerHTML = "";
		mensaxes.innerHTML +=  document.getElementById('post'+ids[i]);
		borrarId[j] = ids[i];
	}

/* Queda por conse*/
	//document.getElementById('ulposts27').removeChild(document.getElementById('post156'));//
	var ulTop = document.getElementsByClassName('ulposts');
	for (var i=0;i<ulTop.length;i++)	{
		//ids[i] = parseInt(divsEl[i].firstChild.id);
		mensaxes.innerHTML += '<br />'+ulTop[i].childNodes.length;
	}
	tests.innerHTML = ulTop.length;
}


function funcionResultado(xmlDoc){
	var l = xmlDoc.getElementsByTagName('posts');
	var num = l[0].getElementsByTagName("totalEntradas")[0].firstChild.data;
	var op = num.split(":");
	numElChat=op[0];
	if(op[1]=='b') dataChat=0;

	try{
		var posts = xmlDoc.getElementsByTagName('post');
	}catch(e){ 
		var posts = new Array();
	}

	// A data teņoa que actualizar despois de chamar a vaciarTabla, senon non me borra a primeira vez pq sempre chega actualizada a esa linea.
	//Polo tanto cando se borran fago chega un valor de borrado no numero de elementos que me inicializa a data a cero.
	// e volvo a cargar a taboa
	if(posts.length > 0){ 
		try{//Os frames en explorer tratanse de maneira distinta ao resto dos navegodores, A QUE NON O PODES CRER?
			var tablaTodos = document.getElementById('iframeResultados').contentDocument.getElementById('tablaResultados');
		}catch(e){
			var tablaTodos = document.frames['iframeResultados'].document.getElementById('tablaResultados').firstChild;
		}
		if((!dataChat || dataChat == 0) && tablaTodos) vaciaTabla(tablaTodos,1);//(nome d etabla, n primeiras filas a salvar)
		var cont = tablaTodos.rows.length;
		for (i=0,j=cont;i<posts.length;i++,j++)	{
			var resultados = new Array();
			resultados['autor'] = posts[i].getElementsByTagName("autor")[0].firstChild.data;
			resultados['asunto'] = posts[i].getElementsByTagName("asunto")[0].firstChild.data;
			resultados['texto'] = posts[i].getElementsByTagName("texto")[0].firstChild.data;
			resultados['dataAlta'] = posts[i].getElementsByTagName("dataAlta")[0].firstChild.data;
			creaFila(tablaTodos,resultados,j);
		}
	}
	dataChat = l[0].getElementsByTagName("dataultimo")[0].firstChild.data;
	return 1;
}

function vaciaTabla(tabla,manterFilas){
	var cont = tabla.rows.length;
	//alert(cont);
	for (i=manterFilas;i<cont;i++){
		//Queremos manter a fila dos titulos borramos sempre a segunda
		tabla.deleteRow(1);
	}
	return;
}

/*
Buscar solucion a insertar no codigo cada fila 
FAcer que soamente se insert unha vez o codigo completo de filas, pero hai que enlazalas cunha tabla
*/
function creaFila(elementDest,filaRes,posicionFila){
	objTr = elementDest.insertRow(posicionFila);
	var objTd = document.createElement('td');
	var objTd2 = document.createElement('td');	
	var span = document.createElement('span');
	span.className = 'name';
	span.style.fontWeight = 'bold';
	span.innerHTML = filaRes['autor'];//posts[numFila].getElementsByTagName("autor")[0].firstChild.data;
	objTd.appendChild(span);

	var objTable = document.createElement('table');
	objTable.setAttribute('border','0');	
	objTable.setAttribute('cellpadding','0');
	objTable.setAttribute('cellspacing','0');

	var objTdTr = objTable.insertRow(-1);
	var objTdTd = document.createElement('td');
	var span = document.createElement('span');
	span.className = 'postdetails';
	span.innerHTML = "<img border='0' width='12' height='9' title='Mensaxe' alt='Mensaxe' src='templates/subSilver/images/icon_minipost.gif'/>Publicado: " + filaRes['dataAlta'] +"<span class='gen'> </span><b>Asunto</b>: " + filaRes['asunto'];
	objTdTd.appendChild(span);
	objTdTr.appendChild(objTdTd);
	
	var objTdTr = objTable.insertRow(-1);
	var objTdTd = document.createElement('td');
	objTdTd.innerHTML = '<hr />';
	objTdTr.appendChild(objTdTd);
	
	var objTdTr2 = objTable.insertRow(-1);
	var objTdTd2 = document.createElement('td');
	var span = document.createElement('span');
	span.className = 'postbody';
	span.innerHTML = filaRes['texto'];

	objTdTd2.appendChild(span);
	objTdTr2.appendChild(objTdTd2);  
	objTd2.appendChild(objTable);

	try{
		objTr.appendChild(objTd);
		objTd.align='left';
		objTd.width='22%';
		objTd.vAlign='top';
		objTd.className='row'+eval((posicionFila%2)+1);
	}catch(e){
		objTr.insertCell(0);
		objTr.cells[0].align='left';
		objTr.cells[0].width='22%';
		objTr.cells[0].vAlign='top';
		objTr.cells[0].className='row'+eval((posicionFila%2)+1);
		objTr.cells[0].id='celda'+posicionFila+'0';
		//alert(objTr.firstChild.tagName);
		document.frames['iframeResultados'].document.getElementById('celda'+posicionFila+'0').innerHTML = objTd.innerHTML;
	}
	try{
		objTr.appendChild(objTd2);
		objTd2.height='28';
		objTd2.vAlign='top';
		objTd2.className='row'+eval((posicionFila%2)+1);
	}catch(e){
		objTr.insertCell(1);
		objTr.cells[1].height='28';
		objTr.cells[1].vAlign='top';
		objTr.cells[1].className='row'+eval((posicionFila%2)+1);
		objTr.cells[1].id='celda'+posicionFila+'1';
		document.frames['iframeResultados'].document.getElementById('celda'+posicionFila+'1').innerHTML = objTd2.innerHTML;
	}
	
}

function creaTabla(){
	var oTable = document.createElement('table');
	oTable.setAttribute('border','0');	
	oTable.setAttribute('cellpadding','3');
	oTable.setAttribute('cellspacing','4');
	oTable.setAttribute('width','100%');
	
	var oTBody = document.createElement('tbody');
	oTable.appendChild(oTBody);
	var tr = oTBody.insertRow(-1);
	var th = document.createElement('th');
	th.innerHTML='Autor';
	tr.appendChild(th);
	var th = document.createElement('th');
	th.innerHTML='Mensaxe';
	tr.appendChild(th);
	return oTable;
}

function creaFilaNovidades(filaRes){
	var oLI = document.createElement('li'); 
	oLI.id='post'+filaRes['postId'];
	var div = document.createElement('div');
	div.className = 'elemNov';
	
	var span = document.createElement('span');
	span.id = filaRes['postId'];
	div.appendChild(span);

	span = document.createElement('span');
	//span.id = 'dataNov';
	span.innerHTML = filaRes['dataAlta'];
	div.appendChild(span);

	div.appendChild(document.createElement('br'));
	
	span = document.createElement('span');
	//span.className = 'autorNov';
	span.innerHTML = filaRes['autor'];
	div.appendChild(span);

	div.appendChild(document.createElement('br'));
	
	span = document.createElement('span');
	//span.className = 'asuntoNov';
	span.innerHTML = filaRes['asunto'];
	div.appendChild(span);
		
	oLI.appendChild(div);
	return oLI;
}

function setCookie(sName,sValue,oExpires,sPath,sDomain,bSecure){
	var sCookie = sName + '=' +encodeURIComponent(sValue);
	var sCookie = sName + '=' +sValue;
	if(oExpires){
		var d = new Date();
		//sCookie += ';expires=' + oExpires.toGMTString();
		sCookie += ';expires=' + d;
	}
	if(sPath){
		sCookie += ';path=' + sPath;
	}
	if(oExpires){
		sCookie += ';domain=' + sDomain;
	}
	if(oExpires){
		sCookie += ';secure';
	}
	document.cookie = sCookie;
}

function getCookie(sName){	
	var sRE = '(?:; )?' + sName + '=([^;]*);?';
	var oRE = new RegExp(sRE);
	if(oRE.test(document.cookie)){
		return decodeURIComponent(RegExp['$1']);
	}else{
		return null;
	}
	
}

function deleteCookie(sName,sPath,sDomain){
	setCookie(sName,"",new Date(0),sPath,sDomain);
}

/*Poderase borrar pro vai ben*/
/*
function funcionNovidadesSeg(xmlDoc){
	var posts = xmlDoc.getElementsByTagName('post');
		var oFragment = document.createDocumentFragment();
		var div = document.getElementById('listNovidades'); 
		var oUL = document.getElementById('uListNovidades'); 
		oUL.id="uListNovidades";
		div.id="listNovidades";
 		div.appendChild(oUL);
		oFragment.appendChild(div);
	
	
	for (i=0;i<posts.length;i++)	{
		var resultados = new Array();
		resultados['autor'] = posts[i].getElementsByTagName("autor")[0].firstChild.data;
		resultados['asunto'] = posts[i].getElementsByTagName("asunto")[0].firstChild.data;
		resultados['dataAlta'] = posts[i].getElementsByTagName("dataAlta")[0].firstChild.data;
		
		oUL.appendChild(creaFilaNovidades(resultados));
	}
	//document.getElementById('col_esquerda').removeChild(document.getElementById('listNovidades'));
		document.getElementById('col_esquerda').insertBefore(oFragment,document.getElementById('col_esquerda').firstChild);
	
	createCookie(Consultanovidades);
}

*/
