/* VARIAVEIS DE CONFIGURAÇÃO DA CAPA */
/* --------------------------------- */
var re_date = /([01]?[0-9])\/([0-2]{3}[0-9])/; // $1 = mes | $2 = ano
var meses_por_pagina = 6;
var materias_por_pagina = meses_por_pagina*12;
/* --------------------------------- */

function sortHoroscopo( a,b )
{
  var date_a = new Date();
  var date_b = new Date();
  var result;
  
  if( a != null && b != null )
  {
    date_a.setFullYear(parseInt(a.periodo.toString().replace(re_date,"$2")));
    date_a.setMonth(parseInt(a.periodo.toString().replace(re_date,"$1")));
    date_a.setDate(1);
    
    date_b.setFullYear(parseInt(b.periodo.toString().replace(re_date,"$2")));
    date_b.setMonth(parseInt(b.periodo.toString().replace(re_date,"$1")));
    date_b.setDate(1);
    
    if(date_a > date_b)
    {
      result = -1;
    }
    else if(date_a < date_b)
    {
      result = 1;
    }
    else
    {
      result = 0
    }
  }
  else
  {
    if( a == null )
    {
      result = 1;
    }
    else
    {
      result = -1;
    }
  }
  
  return result;
}

function sortPrevisoes( a,b )
{
  //var signos = ["Áries","Touro","Gêmeos","Câncer","Leão","Virgem","Libra","Escorpião","Sagitário","Capricórnio","Aquário","Peixes"];
  var signos = ["Áries","Câncer","Libra","Capricórnio","Touro","Leão","Escorpião","Aquário","Gêmeos","Virgem","Sagitário","Peixes"];
  var result;
  
  if( a != null && b != null )
  {
    for(var i = 0; i < signos.length; i++)
    {
      if(a.signo == signos[i])
      {
        a=i;
      }
      else if(b.signo == signos[i])
      {
        b=i;
      }
    }
    
    result = a-b;
  }
  else
  {
    if( a == null )
    {
      result = 1;
    }
    else
    {
      result = -1;
    }
  }
    
  return result;
}

function sortAll()
{
  horoscopo.sort(sortHoroscopo);
  for(var i = 0; i < horoscopo.length-1; i++)
  {
    horoscopo[i].previsoes.sort(sortPrevisoes);
  }
}

function writeArquivo(pag)
{
  var meses = ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"];
  var dl = document.createElement("dl");
  var dt;
  var dd;
  var a;
  var text;
  var container = document.getElementById("ultnot-insercao");
  var i_start = pag*meses_por_pagina;
  var i_end = Math.min((pag+1)*meses_por_pagina,horoscopo.length-1);
  
  for(var i=i_start; i < i_end; i++)
  {
    dt = document.createElement("dt");
    dt.className = (i==i_start)?"primeiro":"";
    text = meses[getMonthPeriodo(horoscopo[i])-1] + " de " + getYearPeriodo(horoscopo[i]); 
    text = document.createTextNode(text);
    dt.appendChild(text);
    dl.appendChild(dt);
    var k =0;
    
    for(var j = 0; j < horoscopo[i].previsoes.length -1; j++)
    {
      dd = document.createElement("dd");
      a = document.createElement("a");
      text = document.createTextNode(horoscopo[i].previsoes[j].signo);
      a.appendChild(text);
      a.href = horoscopo[i].previsoes[j].link;
      dd.appendChild(a);
      dl.appendChild(dd);
    }
  }
  
  container.innerHTML = "";
  container.appendChild(dl);
  return true; 
}

function getMonthPeriodo(horoscopo)
{
  return parseInt(horoscopo.periodo.toString().replace(re_date,"$1"));
}

function getYearPeriodo(horoscopo)
{
  return parseInt(horoscopo.periodo.toString().replace(re_date,"$2"));
}

function changeLinkPaginacao()
{
  var links = document.getElementById("ultnot-paginacao").getElementsByTagName("a");
  
  for (var i = 0; i < links.length; i++)
  {
    links[i].href = links[i].href.replace(/(.*)\?(.*)(\..*)/,"$1$3?$2");
    links[i].className = (i==pag)?"ativa":"inativa";
  }
}

function pageLoad()
{
  sortAll();
  writeArquivo(pag);
  //changeLinkPaginacao();
}
