/* File: $Id: textzoom.js,v 1.1 2005/01/27 00:00:28 bas Exp $ */



function ndeSetTheme()
{
  setTextSize();
  return true;
}

function setTextSize(chgsize,rs) 
{
  if (!document.documentElement || !document.body)
  {
    return;
  }

  var newSize;
  var startSize = parseInt(ndeGetDocTextSize());

  if (!startSize)
  {
    startSize = '100%';
  }

  switch (chgsize)
  {
  case 'incr':
    newSize = startSize + 5;
    break;

  case 'decr':
    newSize = startSize - 5;
    break;

  case 'reset':
    if (rs) 
    {
      newSize = rs;
    } 
    else 
    {
      newSize = 100;
    }
    break;

  default:
    newSize = parseInt(ndeReadCookie('anystory-textsize', true));
    if (!newSize)
    {
      newSize = startSize;
	  setTimeout("setTextSize('reset')",0);
    }
    break;

  }

  if (newSize < 10) 
  {
    newSize = 10;
  }

  newSize += '%';

  document.documentElement.style.fontSize = newSize;
  document.body.style.fontSize = newSize;

  ndeCreateCookie('anystory-textsize', newSize, 365, true);
}

function ndeGetDocTextSize() 
{
  if (!document.body)
  {
    return 0;
  }

  var size = 0;
  var body = document.body;

  if (body.style && body.style.fontSize)
  {
    size = body.style.fontSize;
  }
  else if (typeof(getComputedStyle) != 'undefined')
  {
    size = getComputedStyle(body,'').getPropertyValue('font-size');
  }
  else if (body.currentStyle)
  {
    size = body.currentStyle.fontSize;
  }
  return size;
}


function ndeCreateCookie(name,value,days,useLang) 
{
  var langString = useLang ? ndeGetLang() : '';

  var cookie = name + langString + '=' + value + ';';

  if (days) 
  {
    var date = new Date();
    var ndeMilliSecondsInDay = 86400000; // 24*60*60*1000
    date.setTime(date.getTime()+(days*ndeMilliSecondsInDay));
    cookie += ' expires=' + date.toGMTString() + ';';
  }
  cookie += ' path=/';

  document.cookie = cookie;
}

function ndeReadCookie(name, useLang) 
{
  var langString = useLang ? ndeGetLang() : '';

  var nameEQ = name + langString + '=';
  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 ndeGetLang()
{
  var langString = '';

  if (document.documentElement){
    langString = document.documentElement.lang;
    if (langString != ''){
      langString = '-' + langString;
    }
  }  
  return langString;
}

