/*criado por danilo*/
/*last mod: 24/09/2008 - danilo*/

function $A(object) {
	var array = [];
	for(var i = 0; i < object.length; i++) array[i] = object[i];
	return array;
}

function $$(param){ //Pega os elementos pela class
	var arrayTmp = new Array();
	var arrayRet = new Array();
	param.elem = param.elem.split(",");
	
	for (index in param.elem) {
		if (param.parent) arrayTmp = param.parent.getElementsByTagName(param.elem[index]);
		else arrayTmp = document.getElementsByTagName(param.elem[index]);
			
		for(i=0; arrayTmp.length>i ;i++){
			if (arrayTmp[i].className.indexOf(param.className) != -1)
				arrayRet.push(arrayTmp[i]);
		}
	}	
	return arrayRet;
}

EmDia = function () {
   this.emDia = emDia
   this.name = 'Em dia';
   this.version = '1.0v';
   this.initialize();
}

var emDia = EmDia.prototype;

//gera as divisões do menu a partir do json
emDia.geraArr = function(div)  {
	var cmt = document.getElementById(div)
	var cmtAll = cmt.getElementsByTagName("p");
	var xp = new Array();
	for (x=0;x<cmtAll.length;x++){
		cmtCont = cmtAll[x].innerHTML
		var p = eval("(" + cmtCont + ")")
		//transforma dados do json num array
	  xp[x] = new Array(p.categoria , p.link, p.titulo, p.imagem, p.legenda, p.data, p.chapeu);
	}
	return (xp)
}
// organiza o json em ULs distintas
emDia.popula = function(div, tip)  {
  var cmt = document.getElementById(div) 
  xp = this.geraArr(div);
  xp.sort();
  var tox = new Array() //prepara array que gerará as divisões-categorias
  e=0;
  cod=""; // coletor geral (ul final)
  cod2="";// coletor local (li divididas)
  oc = xp.length  
  // cria as variáveis que serão comparadas para não criar categorias repetidas                                          
  for(x=0;x<oc;x++){
  y = (x+1);
  if(y >=oc){
    xo = "ex"  // previne que a ultima posição não teste em falso
  }else{
    xo = xp[y][0];   // se não for ultima posição...
  }
  if (xp[x][0] != xo){    // testa se a posição atual não é encontrada nas anteriores
  cod2 = ""
      tox[e] = new Array(xp[x][0]); //cria a var que gera o filtro de categorias das LI (saude, brasil, etc)
    for(u=0; u<oc; u++){
      if(xp[u][0] == tox[e]) //testa se é interna ou home  e popula os LI de acordo com categoria
      (tip == "interna")? cod2+="<li><a href='"+ xp[u][1] +"' onmouseover=\"emDia.wind('shw', \'"+xp[u][3]+"\',\'"+xp[u][4]+"\',\'"+xp[u][5]+"\',\'"+xp[u][6]+"\',this, false)\" onmouseout=\"emDia.wind(\'hd\')\">- " +xp[u][2] +"</a></li>" : cod2+="<li><a href='"+ xp[u][1] +"' onmouseover=\"emDia.wind('shw', \'"+xp[u][3]+"\',\'"+xp[u][4]+"\',\'"+xp[u][5]+"\',\'"+xp[u][6]+"\',this,true)\" onmouseout=\"emDia.wind(\'hd\')\">• " +xp[u][2] +"</a></li>"
    }
    //testa se é interna ou home  e coleta os dados de LI pra dentro da UL
    (tip == "interna")? cod += "<div class='int' id='divisao"+e+"'><h5 onclick=\"emDia.hide('" + tox[e] + "')\"><a href='javascript:void(0);'>" + tox[e] + "</a></h5><ul id=\'"+tox[e]+"\'>"+cod2+"</ul></div>" : cod += "<div id='" +this.limpAcent('' + tox[e] + '')+"'><h3>" + tox[e] + "</h3><ul id=\'"+tox[e]+"\'>"+cod2+"</ul></div>";           
    e++;
    }
  } 
  return  (cod)
}

// preenche o menu das internas
emDia.convMen = function(div)  {
  var cmt = document.getElementById(div) 
  cod = emDia.popula(div, 'interna')
  cmt.innerHTML = cod;
  cmt.style.left='0';
  this.hide(cat);
}  
//distribui colunas na home
emDia.homeMen = function(div)  {   
  var cmt = document.getElementById(div) 
  cod = emDia.popula(div, 'home')
  cmt.innerHTML = cod;
  var dtb = cmt.getElementsByTagName("div");     
  k = dtb.length;
  for(x=0;x<k; x++){
     var ident = dtb[x].id;
     var loc =  document.getElementById(ident);
     document.getElementById("cont_" +ident).innerHTML =  loc.innerHTML
     loc.style.display = 'none';
  }
}

//esconde ou mostra as divisões do menu da interna 
emDia.hide = function(hid){  
    td = document.getElementById('menu');
    var tc = td.getElementsByTagName("ul");
    for(x=0; x<tc.length; x++)
    tc[x].style.display ="none";
    document.getElementById(hid).style.display="block";       
}

//abre a janelinha da capa
emDia.wind = function (acao, capa, legenda, data, chapeu ,obj, home){
var tu = document.getElementById('mstCapa')  
  if (acao == 'shw'){
    tu.style.display = "block";                                                                                     
    var ua = navigator.userAgent.toLowerCase();
      if (ua.indexOf('safari')==-1){
    tu.innerHTML ="<img src=\'"+ capa + "\'><br/><p id='dtFmt'>"+chapeu+"</p><span>"+ emDia.fDataExt(data, true); +"</span>"
    }else{
      tu.innerHTML ="<img src=\'"+ capa + "\'><br/><p id='dtFmt'>"+chapeu+"</p><span>"+ data +"</span>"
    }   
	obj.offsetParent.appendChild(tu);
	tu.style.marginLeft = "10px"
	var x = obj.offsetParent.offsetHeight;
	var y= obj.offsetTop;
	tu.style.marginTop = 0 - (x+tu.offsetHeight-y) +  "px";
  } else{
    tu.style.display = "none";
  }
}               

//limpa acentos e gera classe
emDia.limpAcent = function (word){  
  ac = 'áäâàãéëêèíïîìóöôòõúüûùçñýÿÁÄÂÀÃÉËÊÈÍÏÎÌÓÖÔÒÕÚÜÛÙÇÑÝ,';
  dc = 'aaaaaeeeeiiiiooooouuuucnyyAAAAAEEEEIIIIOOOOOUUUUCNY ';
	for (i = 0; i < ac.length; i++) {
	  word = word.replace(ac.charAt(i), dc.charAt(i));
	}  
	return (word.toLowerCase().replace(/ /g, ""))
}     

//formata a data
emDia.fDataExt = function(dt,weekDay) {
   if (!weekDay) dt = dt.substr(0,dt.indexOf(" ")) ;
   dt = dt.split("/");
   var nwDate = new Date(dt[1]+"/"+dt[0]+"/"+dt[2]+"/00:00") ;
   //var t = (weekDay) ? vjDiaSemana[nwDate.getDay()] + ", " : "" ;
   var t =""; 
   return ( t + nwDate.getDate() + " de " + vjMeses[nwDate.getMonth()].toLowerCase() + " de " + nwDate.getFullYear());
}

/**
 * @author AleBorges
 * Coloca a data no padrão por extenso
 */

emDia.setData=function(){
	strDate=$$({elem:'h3',className:'data'})[0].innerHTML.replace(/\s?(..):(..)/,'');
	var data=strDate.split('/');
	var meses = new Array('janeiro','fevereiro', 'março', 'abril','maio','junho','julho','agosto','setembro','outubro','novembro','dezembro');
	strSaida=data[0]+' de '+meses[parseInt(data[1])-1]+' de '+data[2];
	$$({elem:'h3',className:'data'})[0].innerHTML=strSaida;
}

emDia.initialize=function(){      
  try{
   emDia.setData();
  }catch(err){
	  emDia.homeMen('rpst')
	}
}


// Scripts de Inicialização
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", initReady, false);
}

window.onload = function(){
	initReady();
	initReady_onload();
}

var started = false;

function initReady(){
	if(started) return;
	emDia.initialize();	
	started = true;
}

function initReady_onload(){
	//implementar caso algo precise do load completo da pagina
}

function ieInit(){
	try{
		document.documentElement.doScroll("left");
	} 
	catch(e){
		setTimeout( ieInit, 25); 
		return;
	}
	initReady();
}

// IE:
/*@cc_on @*/
/*@if (@_jscript)
	document.write("<script id=\"cc_ie\" defer src=\"//:\"" +
		       " onreadystatechange=\"if(this.readyState == 'complete') ieInit(); \"" +
		       "><\/script>");
/*@end @*/
