
var iStepSize = 2;
var iMaxStepNr = 5;
var iMinStepNr = 0;
var iStepNr = 0;

function larger()
{

	if (iStepNr >= iMaxStepNr) return;
	iStepNr++;
	changeSize(iStepSize);
	
}

function smaller()
{
	if (iStepNr <= iMinStepNr) return;
	iStepNr--;
	changeSize(iStepSize*-1);
}

function resetSize(){
    if (iStepNr > 0){
	    var i = iStepNr;
	    iStepNr = 0;
	    changeSize(i*-iStepSize);
	}
}

function changeSize(iChange){
    if (!document.body.childNodes) return;
    aResizeNodes = findResizeTags(document.body.childNodes, 0);
	
    var sNodeName = "";
    var oNode = null;
    	
    for (i=0; i<aResizeNodes.length; i++) {
      oNode = aResizeNodes[i];
      sNodeName = oNode.nodeName;
      sNodeName = sNodeName.toUpperCase();
	  	  
      if (sNodeName != "#TEXT" && sNodeName != "#COMMENT" &&
          sNodeName != "HTML" && sNodeName != "HEAD" &&
          sNodeName != "TITLE" && sNodeName != "STYLE" && 
          sNodeName != "SCRIPT" && sNodeName != "BR" && 
          sNodeName != "TBODY" && sNodeName != "FORM") {
                
          if (oNode.currentStyle)
            styleSize = parseInt(oNode.currentStyle.fontSize);
          else 
            styleSize = parseInt(window.getComputedStyle(oNode, null).fontSize);
          if(!isNaN(styleSize)){
            styleSize+=iChange;
            oNode.style.fontSize = styleSize+'px';
          }
          iSize = parseInt(oNode.getAttribute("size"));
          if(!isNaN(iSize)){
            
            iSize+=iChange;
            oNode.setAttribute("size", iSize+'px');
          }
        }//allow resize
    }
    
    storeSize();	
}

function storeSize()
{
	var expires = new Date();
	expires.setTime(expires.getTime() + 365 * 24 * 60 * 60 * 1000);
	Cookie.deleteCookie('iStepNr', null, null);
	Cookie.setCookie('iStepNr', iStepNr, expires, 'stab', null, null);
}

function restoreSize()
{
	var cContent = String(Cookie.getCookie('iStepNr'));
	if (cContent != ''){
	    iStepNr = parseInt(cContent);
	    if (isNaN(iStepNr)) iStepNr = 0;
        if (iStepNr > 0)
	        changeSize((iStepNr)*iStepSize);
	}
}

function Cookie() { }

Cookie.setCookie = function(name, value, expires, path, domain, secure)
{
  var curCookie = name + '=' + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain="  + domain : "") +
    ((secure) ? "; secure" : "");

  document.cookie = curCookie;
}

Cookie.getCookie = function(name)
{
  var curCookie = document.cookie;
  var prefix = name + '=';

  var begin = curCookie.indexOf('; ' + prefix);
  if (begin < 0)
  {
    begin = curCookie.indexOf(prefix);
    if (begin != 0) return null;
  }
  else begin += 2;

  var end = document.cookie.indexOf(';', begin);
  if (end < 0) end = curCookie.length;

  return unescape(curCookie.substring(begin + prefix.length, end));
}

Cookie.deleteCookie = function(name, path, domain)
{
  if (Cookie.getCookie(name))
  {
    document.cookie = name + '=' +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

Cookie.fixDate = function(date)
{
  var base = new Date(0);
  var skew = base.getTime();

  if (skew > 0) date.setTime(date.getTime() - skew);
}

function findResizeTags(oMainTree, iLevel) {
  
  
  var aResult = new Array();
  var aTemp = new Array();
  var j = 0;
  var sNodeName = "";
  for (var i=0; i<oMainTree.length; i++) {
  
	bCannotResize = false;
	if (oMainTree[i].attributes && oMainTree[i].attributes.canresize !=null)
		bCannotResize = (oMainTree[i].attributes.canresize.value =="false");
	
	if (!bCannotResize)
	{
    if (oMainTree[i].hasChildNodes()) {
      sNodeName = oMainTree[i].childNodes[0].nodeName;
      sNodeName = sNodeName.toUpperCase();  
      if ((oMainTree[i].childNodes.length == 1) & (oMainTree[i].childNodes[0].nodeName == "#TEXT")){		
		aResult[j++] = oMainTree[i];
      }else{
        aTemp = findResizeTags(oMainTree[i].childNodes, iLevel+1);
        for (var k=0;k<aTemp.length; k++)		  			
			aResult[j++] = aTemp[k];        		
		aResult[j++] = oMainTree[i];
      }
    }else{	 
	
      aResult[j++] = oMainTree[i];
    }
	}
  }
  return aResult;
}