/*
 * pageFonts.js
 *
 * IT-Sundhed
 * Lasse F. Pedersen
 * 24/Nov/2003
 *
 * Toggles font size (large / small)
 */

// Standard font size
var stdFontSize = null

function getCookie( name ) {
  var start = document.cookie.indexOf( name + "=" );
  var len = start + name.length + 1;
  if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
    return null;
  }
  if ( start == -1 ) return null;
  var end = document.cookie.indexOf( ";", len );
  if ( end == -1 ) end = document.cookie.length;
  return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
  var today = new Date();
  today.setTime( today.getTime() );
  if ( expires ) {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date( today.getTime() + (expires) );
  document.cookie = name+"="+escape( value ) +
    ( ( expires ) ? ";expires="+expires_date.toGMTString() : "" ) + //expires.toGMTString()
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure=" : "" );
}

function deleteCookie( name, path, domain ) {
  if ( getCookie( name ) ) document.cookie = name + "=" +
    ( ( path ) ? ";path=" + path : "") +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

/*
 * Font size of the 'page' container
 */
 
function toggleFontSize() {

  var amount;

  // Change anchor container and anchor so it acts like a toggling switch
  var con = document.getElementById("fontSizeItem");
  var elm = document.getElementById("fontSizeAnchor");

  if(con.className == "smallertext") {
    setCookie("txt", "largertext", 1, "/", "", "");
    amount = -3;
    con.className = "largertext";
    elm.innerHTML = "St&#248;rre tekst";
    } 
    
  else {
    setCookie("txt", "smallertext", 1, "/", "", "");
    amount = 3;
    con.className = "smallertext";
    elm.innerHTML = "Mindre tekst";
  }


  

  // Get 'page' container and current font size
  var pageelm = document.getElementById("text");
  var pagesiz = 0;
  
  if(pageelm.currentStyle != null) {
    pagesiz = parseInt(pageelm.currentStyle.fontSize);
  } else {
    pagesiz = parseInt(document.defaultView.getComputedStyle(pageelm, null).fontSize);
  }

  // Set original font size if not set
  if(!stdFontSize) {
    stdFontSize = pagesiz;
  } 

  toggleFontSizeDeep(pageelm, amount);
  
  // Defined in pageLoad.js
 
recalcTextHeight()
recalcBackHeight();
recalcHeight();



}

// Recurse
function toggleFontSizeDeep(pageelm, amount) {
  
  // Got children? Recurse
  if(pageelm.hasChildNodes) {
  
    var children = pageelm.childNodes

    for(var i = 0; i < children.length; i++) {
      toggleFontSizeDeep(children[i], amount);
    }
  
  }

  var elmcss = pageelm.style;
  var curcss = null;

  if(pageelm != "[object Text]" && pageelm != "[object Comment]") {
    if(pageelm.currentStyle != null) {
      curcss = pageelm.currentStyle;
    } else if(document.defaultView != null) {
      curcss = document.defaultView.getComputedStyle(pageelm, null);
    }
  }

  if(!elmcss || !curcss)
    return;
    
  if(pageelm.tagName == "FONT") {
    
    if(amount > 0)
      pageelm.size = parseInt(pageelm.size) + 1;
    else
      pageelm.size = parseInt(pageelm.size) - 1;
      
  } else if(curcss.fontSize.indexOf("px") != -1) {
    
    elmcss.fontSize = parseInt(curcss.fontSize) + amount + "px";

  }

}
