var ChangeableText = new Object();

ChangeableText.size = 'small';
ChangeableText.selectorPrefix = 'changeable_text_';
ChangeableText.linkDivId = 'changeable_text_selector';

ChangeableText.changeTo = function(size)
{
  var newClass = ChangeableText.selectorPrefix+size;
  var oldClass = ChangeableText.selectorPrefix+ChangeableText.size;
  ChangeableText.changeToIter(oldClass, newClass, document.body);
  ChangeableText.size = size;
  return false;
}

ChangeableText.changeToIter = function(oldClass, newClass, el)
{
  var i, c;
  ChangeableText.classRepl(el, oldClass, newClass);
  
  for (i = 0, c = el.childNodes.length; i < c; i++)
  {
    if (el.childNodes[i].nodeType == 1)
    {
      ChangeableText.changeToIter(oldClass, newClass, el.childNodes[i]);
    }
  }
}

ChangeableText.classRepl = function(e, oldClass, newClass)
{
  var m = e.className.match(new RegExp(" *"+oldClass+" *"));
  if (m != null)
  {
    e.className = 
     e.className.replace(new RegExp("( *)"+oldClass+"( *)"), "$1"+newClass+"$2");
  }
}

ChangeableText.onload = function ()
{
  var e = document.getElementById(ChangeableText.linkDivId);
  e.style.display = 'block';
}
