/* Por Aurélio A. Heckert - http://www.aurium.cjb.net/ - aurelio@im.ufba.br
** Esse script permite a manipulação, pelo usuário, do tamanho e fonte do
** texto de uma área cujo id é igual a "conteudo".
** Direitos Autorais Reservados (C) 2004 Grupo XUL Brasil
**
** Esse Script é Software Livre, licenciado pela CC-GPL
** Veja um resumo em:
** http://creativecommons.org/licenses/GPL/2.0/
** A licença completa em:
** http://creativecommons.org/licenses/GPL/2.0/legalcode.pt
**
** Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
** sob os termos da Licença Pública Geral GNU conforme publicada pela Free
** Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
** qualquer versão posterior.
**
** Este programa é distribuído na expectativa de que seja útil, porém, SEM
** NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU
** ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
** do GNU para mais detalhes.
**
** Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
** com este programa; se não, escreva para a Free Software Foundation, Inc.,
** no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
** Caso você esteja vendo esse script através de uma página web, use os
** links já citados para ler a licença.
*/

/* ToDo:
** Tranformar esse código procedural em um objeto.
*/

var VetFontesGenericas = [
      "sans-serif",
      "serif",
      "cursive",
      "fantasy",
      "monospace"
    ];

var TamanhoDaFonteDoConteudo = 12;
var NumeroDaFonteDoConteudo = 0;
document.getElementById("conteudo").style.fontSize = TamanhoDaFonteDoConteudo+"px";
document.getElementById("conteudo").style.fontFamily = VetFontesGenericas[NumeroDaFonteDoConteudo];

function MudaFonteSize(Aumenta){
  TamanhoDaFonteDoConteudo += Aumenta;
  if(TamanhoDaFonteDoConteudo < 1){
    TamanhoDaFonteDoConteudo = 1;
  }
  var Conteudo = document.getElementById("conteudo");
  Conteudo.style.fontSize = TamanhoDaFonteDoConteudo + "px";
  if( (TamanhoDaFonteDoConteudo % 4) == 0){
    window.alert("Tamanho atual da fonte: "+TamanhoDaFonteDoConteudo+" pixels.");
  }
  createCookie("ConteudoStyleFontSize", TamanhoDaFonteDoConteudo);
}

function MudaFonteFamily(){
  NumeroDaFonteDoConteudo++;
  if(NumeroDaFonteDoConteudo >= VetFontesGenericas.length){
    NumeroDaFonteDoConteudo = 0;
  }
  window.alert('Mudando para fonte estilo "'+ VetFontesGenericas[NumeroDaFonteDoConteudo] +'".');
  var Conteudo = document.getElementById("conteudo");
  Conteudo.style.fontFamily = VetFontesGenericas[NumeroDaFonteDoConteudo];
  createCookie("ConteudoStyleFontFamilyNum", NumeroDaFonteDoConteudo);
}


function createCookie(name,value,days){
  if(days){
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }else{
    var expires = "";
  }
  var ck = name+"="+value+expires+"; path=/";
  document.cookie = ck;
}

function readCookie(name){
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i<ca.length;i++){
    var c = ca[i];
    while(c.charAt(0)==' '){
      c = c.substring(1,c.length);
    }
    if(c.indexOf(nameEQ) == 0){
      return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}

function eraseCookie(name){
  createCookie(name,"",-1);
}

function PegaFormatacaoDeConteudoDoCookie(){
  var Conteudo = document.getElementById("conteudo");
  var Val;
  if( (Val = readCookie("ConteudoStyleFontSize")) != null ){
    Conteudo.style.fontSize = Val+"px;";
    TamanhoDaFonteDoConteudo = parseInt(Val, 10);
  }
  if( (Val = readCookie("ConteudoStyleFontFamilyNum")) != null ){
    Conteudo.style.fontFamily = VetFontesGenericas[Val];
    NumeroDaFonteDoConteudo = parseInt(Val, 10);
  }
}
