// retrieve cookie.
function getCookie(name){
  var cname = name + "=";
  var dc = document.cookie;
  if (dc.length > 0) {
    begin = dc.indexOf(cname);
    if (begin != -1) {
      begin += cname.length;
      end = dc.indexOf(";", begin);
      if (end == -1) end = dc.length;
        return unescape(dc.substring(begin, end));
    }
  }
  return null;
}

// set cookie.
function setCookie(name, value, expires, path, domain, secure) {
  document.cookie = name + "=" + escape(value) +
  ((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
  ((path == null) ? "" : "; path=" + path) +
  ((domain == null) ? "" : "; domain=" + domain) +
  ((secure == null) ? "" : "; secure");
}

// delete cookie.
function delCookie (name,path,domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path == null) ? "" : "; path=" + path) +
    ((domain == null) ? "" : "; domain=" + domain) +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function getFontSize(x)
{
	if (x.currentStyle)
		var y = x.currentStyle['fontSize'];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue('font-size');
	return y;
}

function font_reset(){
  if (document.getElementsByTagName) {
    tags = new Array ( "td", "p", "h1", "h2", "h3", "h4", "h5", "h6", "a", "li", "div", "em" );
    for (j=0; j<tags.length; j++) {
      var getElement = document.getElementsByTagName(tags[j]);
      var eachElement;
      for (i=0; i<getElement.length; i++) {
        eachElement = getElement[i];
        eachElement.style.fontSize = "";
      }
    }
  }
  delCookie('fontSize');
}

var current_increment=0;

function changeFontsize(fSize, increment) {
	
  current_increment += parseInt(increment);
  if (document.getElementsByTagName) {
    tags = new Array ( "td", "p", "h1", "h2", "h3", "h4", "h5", "h6", "a", "li", "div", "em" );
    for (j=0; j<tags.length; j++) {
      var getElement = document.getElementsByTagName(tags[j]);
      var eachElement, currentFontSize, fontIncrease, newFontSize;
      for (i=0; i<getElement.length; i++) {
        eachElement = getElement[i];
        if (increment != "") {
		  currentFontSize = parseInt(getFontSize(eachElement));
          fontIncrease = parseInt(increment);
          newFontSize = currentFontSize + fontIncrease;
          }
        else if (fSize != "")
          newFontSize = parseInt(fSize);
        if (fSize != "") {
          switch(tags[j]) {
          case "h2": newFontSize += 0; break;
          case "h3": newFontSize += 0; break;
          case "h4": newFontSize += 0; break;
          case "h5": newFontSize += 0; break;
          case "h6": newFontSize += 0;
          }
        }
        eachElement.style.fontSize = newFontSize + "px";
        setCookie('fontSize', current_increment);
      }
    }
  }
}