function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function changeCommentsPage(id, pagina){
	var div = document.getElementById('comments_body').parentNode
	div.innerHTML = '<div style="text-align:center;">Cargando comentarios...</div>';
	window.location = window.location + "#comments";
	var ajax = GetXmlHttpObject();
	var url ='index.php?change_comments_page&pagina='+pagina+'&id='+id;
	
	ajax.onreadystatechange=function(){
		if (ajax.readyState==4){
			var json = ajax.responseText
			var cut = (json.lastIndexOf('<!--') != -1) ? json.lastIndexOf('<!--') : json.length
			json = json.substring(0,cut) //Borramos el comentario que deja el sistema de cache si es que esta.
			json = eval ('('+ json + ')');
			if(json.result == 'no'){
				div.innerHTML = '<div style="text-align:center;">Los comentarios no pudieron cargarse.</div>';
			}else{
				div.innerHTML = '';
				div.appendChild(createComments(json));
				div.appendChild(createindex(id, pagina, parseInt(json.max)));	
			}
		}	
	};
	
	
	ajax.open("GET",url,true);
	ajax.send(null);
	
	return false;
}

function createComments(json){
	divContenedor = document.createElement('div');
	divContenedor.id='comments_body'
	for(i=0;i<json.data.length;i++){
		divComments = document.createElement('div');
		divComments.className = 'comments';
		ul = document.createElement('ul');
		li = document.createElement('li');
		divHeader = document.createElement('div');
		divHeader.className = 'comment_header'
		divHeader.innerHTML = json.pub+' <strong>'+json.data[i]['autor']+'</strong>, '+json.data[i]['fecha']
		li.appendChild(divHeader);
		divBody = document.createElement('div');
		divBody.innerHTML = json.data[i]['comentario']
		divBody.className = 'comment_body';
		li.appendChild(divHeader);
		li.appendChild(divBody);
		ul.appendChild(li);
		divComments.appendChild(ul);
		divContenedor.appendChild(divComments);
	}	
	return divContenedor;
}

function createindex(id, page, max){
	var loopPage = 1;
	var countwidth = 5
	var Pages = 'P&aacute;gina&nbsp;';
	
	
	while (loopPage - 1 < max){
    	if (loopPage < (page - countwidth)){
      		//skip
    	}else{
			if (loopPage == (page - countwidth)){
				pagebefore = page - countwidth - countwidth + 1;
				if (pagebefore < 1)
					pagebefore = 1;
				Pages += getHTMLPage(id, pagebefore, '&lt;&lt;');
			}else{
				if (loopPage == (page + countwidth))
					Pages += getHTMLPage(id, page + countwidth + countwidth -1 , '&gt;&gt;');
				else{
					if (loopPage < (page + countwidth)){
						if (loopPage == page)
							Pages += getHTMLPage(id, loopPage, loopPage, false);
						else
							Pages += getHTMLPage(id, loopPage, loopPage);
					}
				}
			}
		}
		loopPage += 1;
	}
	
	divContenedor = document.createElement('div');
	divContenedor.innerHTML = Pages;
	
	return divContenedor;
}

function getHTMLPage(id, aPage, aText, aShowLink){
	aShowLink = typeof(aShowLink) != 'undefined' ? aShowLink : true;
	if (aShowLink)
    	return '<a href="'+'index.php?news='+id+'&amp;comment_page='+aPage+'" onclick="changeCommentsPage('+id+', '+aPage+');return false;">'+aText+'&nbsp;</a>';
  	else
	    return aText+"&nbsp;";
}
