var postTitle=new Array()
var postUrl=new Array()
var postDate=new Array()
var postSum=new Array()
var postLabels=new Array()
var sortBy="titleasc"
var tocLoaded=false
var numChars=250
var postFilter=''
function loadtoc(json){
function getPostData(){
if("entry" in json.feed){
var numEntries=json.feed.entry.length
for(var i=0;i<numEntries;i++){
var entry=json.feed.entry[i]
var posttitle=entry.title.$t
var postdate=entry.published.$t.substring(0,10)
var posturl
for(var k=0;k<entry.link.length;k++){
if(entry.link[k].rel=='alternate'){
posturl=entry.link[k].href
break}}
if("content" in entry){
var postcontent=entry.content.$t;}
else
if("summary" in entry){
var postcontent=entry.summary.$t;}
else var postcontent=""
var re=/<\S[^>]*>/g
postcontent=postcontent.replace(re,"")
if(postcontent.length>numChars){
postcontent=postcontent.substring(0,numChars)
var quoteEnd=postcontent.lastIndexOf(" ")
postcontent=postcontent.substring(0,quoteEnd)+'...'}
var pll=''
if("category" in entry){
for(var k=0;k<entry.category.length;k++){
pll+='<a href="javascript:filterPosts(\''+entry.category[k].term+'\')" title="Click para selccionar todos los flashes de la categoria \''+entry.category[k].term+'\'">'+entry.category[k].term+'</a>; '}
var l=pll.lastIndexOf(';')
if(l !=-1){pll=pll.substring(0,l);}}
postTitle.push(posttitle)
postDate.push(postdate)
postUrl.push(posturl)
postSum.push(postcontent)
postLabels.push(pll)}}}
getPostData()
sortPosts(sortBy)
tocLoaded=true}
function filterPosts(filter){
postFilter=filter
displayToc(postFilter)}
function allPosts(){
postFilter=''
displayToc(postFilter)}
function sortPosts(sortBy){
function swapPosts(x,y){
var temp=postTitle[x]
postTitle[x]=postTitle[y]
postTitle[y]=temp
var temp=postDate[x]
postDate[x]=postDate[y]
postDate[y]=temp
var temp=postUrl[x]
postUrl[x]=postUrl[y]
postUrl[y]=temp
var temp=postSum[x]
postSum[x]=postSum[y]
postSum[y]=temp
var temp=postLabels[x]
postLabels[x]=postLabels[y]
postLabels[y]=temp}
for(var i=0;i<postTitle.length-1;i++){
for(var j=i+1;j<postTitle.length;j++){
if(sortBy=="titleasc"){if(postTitle[i]>postTitle[j]){swapPosts(i,j);}}
if(sortBy=="titledesc"){if(postTitle[i]<postTitle[j]){swapPosts(i,j);}}
if(sortBy=="dateoldest"){if(postDate[i]>postDate[j]){swapPosts(i,j);}}
if(sortBy=="datenewest"){if(postDate[i]<postDate[j]){swapPosts(i,j);}}}}}
function displayToc(filter){
var numDisplayed=0
var tocTable=''
var tocHead1='TITULO'
var tocTool1='Click para ordenar por titulo'
var tocHead2='FECHA'
var tocTool2='Click para ordenar por fecha'
var tocHead3='CATEGORIA'
var tocTool3=''
if(sortBy=="titleasc"){
tocTool1+=' (Z-A)'
tocTool2+=' (nuevos primero)'}
if(sortBy=="titledesc"){
tocTool1+=' (A-Z)'
tocTool2+=' (nuevos primero)'}
if(sortBy=="dateoldest"){
tocTool1+=' (A-Z)'
tocTool2+=' (nuevos primero)'}
if(sortBy=="datenewest"){
tocTool1+=' (A-Z)'
tocTool2+=' (viejos primero)'}
if(postFilter !=''){
tocTool3='Click para mostrar todas las categorias'}
tocTable+='<table>'
tocTable+='<tr>'
tocTable+='<td class="toc-header-col1">'
tocTable+='<a href="javascript:toggleTitleSort();" title="'+tocTool1+'">'+tocHead1+'</a>'
tocTable+='</td>'
tocTable+='<td class="toc-header-col2">'
tocTable+='<a href="javascript:toggleDateSort();" title="'+tocTool2+'">'+tocHead2+'</a>'
tocTable+='</td>'
tocTable+='<td class="toc-header-col3">'
tocTable+='<a href="javascript:allPosts();" title="'+tocTool3+'">'+tocHead3+'</a>'
tocTable+='</td>'
tocTable+='</tr>'
for(var i=0;i<postTitle.length;i++){
if(filter==''){
tocTable+='<tr><td class="toc-entry-col1"><a href="'+postUrl[i]+'" title="'+postSum[i]+'">'+postTitle[i]+'</a></td><td class="toc-entry-col2">'+postDate[i]+'</td><td class="toc-entry-col3">'+postLabels[i]+'</td></tr>'
numDisplayed++
}else{
z=postLabels[i].lastIndexOf(filter)
if(z!=-1){
tocTable+='<tr><td class="toc-entry-col1"><a href="'+postUrl[i]+'" title="'+postSum[i]+'">'+postTitle[i]+'</a></td><td class="toc-entry-col2">'+postDate[i]+'</td><td class="toc-entry-col3">'+postLabels[i]+'</td></tr>'
numDisplayed++}}}
tocTable+='</table>'
if(numDisplayed==postTitle.length){
var tocNote='<span class="toc-note">Mostrando todos los '+postTitle.length+' flashes<br/></span>';}
else{
var tocNote='<span class="toc-note">Mostrando '+numDisplayed+' flashes en la categoria \''
tocNote+=postFilter+'\' de '+postTitle.length+' en total<br/></span>'}
var tocdiv=document.getElementById("toc")
tocdiv.innerHTML=tocNote+tocTable}
function toggleTitleSort(){
if(sortBy=="titleasc"){sortBy="titledesc";}
else{sortBy="titleasc";}
sortPosts(sortBy)
displayToc(postFilter)}
function toggleDateSort(){
if(sortBy=="datenewest"){sortBy="dateoldest";}
else{sortBy="datenewest";}
sortPosts(sortBy)
displayToc(postFilter)}
function showToc(){
if(tocLoaded){
displayToc(postFilter)
var toclink=document.getElementById("toclink")
toclink.innerHTML='<a href="javascript:hideToc();">Ocultar Indice</a><br/>'}
else{alert("Espere... Cargando");}}
function hideToc(){
var tocdiv=document.getElementById("toc")
tocdiv.innerHTML=''
var toclink=document.getElementById("toclink")
toclink.innerHTML='<a href="javascript:showToc();">Mostrar Indice</a><br/>'}
