function fontSizer (defaultSize,cookieName) {
  if (!document.getElementById) return;
  var d = document, t = this;
  t.defaultSize = defaultSize;
  t.cookieName = cookieName;
  t.minSize = 0;
  t.maxSize = 3;
  if ((t.defaultSize < t.minSize) && (t.defaultSize > t.maxSize))
    t.defaultSize = 3;
  t.currentSize = t.defaultSize;
 // t.sizeNames = new Array('xx-small','x-small','small','medium','large','x-large','xx-large');
  t.sizeNames = new Array('15px', '16px','17px','18px');
  t.tagsToChange =new Array('div','td','th','p','tr');
  t.init = function (item) {
   t.setFontSize(item,getCookie(t.cookieName))
  };
  t.adjust = function (item,adjustment) {
    t.setFontSize(item,Number(t.currentSize)+Number(adjustment))
  };
  t.reset = function (item) {
    t.setFontSize(item,t.defaultSize)
  };
  t.setFontSize = function (item,newSize) {
    var itemElement = null, itemTags, i, j;
    if (isNaN(newSize)) newSize = t.defaultSize
    else if (newSize < t.minSize) newSize = t.minSize
    else if (newSize > t.maxSize) newSize = t.maxSize;
    t.currentSize = newSize;
    setCookie(t.cookieName,newSize);
    if (!(itemElement = d.getElementById(item)))
      itemElement = d.getElementsByTagName(item)[0];
    itemElement.style.fontSize=t.sizeNames[newSize];
    for (i=0;i<t.tagsToChange.length;i++) {
      itemTags = itemElement.getElementsByTagName(t.tagsToChange[i]);
      for (j=0;j<itemTags.length;j++)
        itemTags[j].style.fontSize=t.sizeNames[newSize];
    }
  }
}

var bikky = document.cookie;
//alert(bikky)
	function getCookie(name) 
	{
	    name += "="; // append '=' to name string
	    var i = 0; // index of first name=value pair
	    while (i < bikky.length) {
	      var offset = i + name.length; // end of section to compare with name string
    	  if (bikky.substring(i, offset) == name) { // if string matches
	        var endstr = bikky.indexOf(";", offset); // locate end of name=value pair
    	    if (endstr == -1) endstr = bikky.length;
        	return unescape(bikky.substring(offset, endstr)); // return cookie value section
	      }
	      i = bikky.indexOf(" ", i) + 1; // move i to next name=value pair
    	  if (i == 0) break; // no more values in cookie string
	    }
		return null; // cookie not found
	}
  
	var today = new Date();
	var expiry = new Date(today.getTime() + 28 * 24 * 60 * 60 * 1000); // plus 28 days

	function setCookie(name, value) 
	{ // use: setCookie("name", value);
		if (value != null && value != "")
		document.cookie=name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
		bikky= document.cookie; // update bikky
	}

var fSizer = new fontSizer(2,'fontSizerCookie');