var currentFontSize = 1;


function findElems()
{
   var elems = Array();
   var p = document.getElementsByTagName('p');
   for(i = 0; i < p.length; i++)
   {
     elems[elems.length] = p[i];
   }
   var h1 = document.getElementsByTagName('h1');
   for(i = 0; i < h1.length; i++)
   {
     elems[elems.length] = h1[i];
   }
   var h2 = document.getElementsByTagName('h2');
   for(i = 0; i < h2.length; i++)
   {
     elems[elems.length] = h2[i];
   }
   var ft = document.getElementsByTagName('font');
   for(i = 0; i < ft.length; i++)
   {
     elems[elems.length] = ft[i];
   }

   return elems;
}

function increaseFontSize() {
   elems = findElems();

   for(i=0;i<elems.length;i++) {
      if(elems[i].tagName.toLowerCase() == 'font')
      {
        var s = elems[i].getAttribute('size');
        if(s)
        {
          s++;
          elems[i].setAttribute('size', s);
        }
      }else
      {
        if(elems[i].style.fontSize) {
           var s = parseInt(elems[i].style.fontSize.replace("px",""));
        } else {
           var s = 11;
        }

        s += 2;
        elems[i].style.fontSize = s+"px"
      }
   }
}
function decreaseFontSize() {
   elems = findElems();

   for(i=0;i<elems.length;i++) {
      if(elems[i].tagName.toLowerCase() == 'font')
      {
        var s = elems[i].getAttribute('size');
        if(s)
        {
          s--;
          elems[i].setAttribute('size', s);
        }
      }else
      {
        if(elems[i].style.fontSize) {
           var s = parseInt(elems[i].style.fontSize.replace("px",""));
        } else {
           var s = 11;
        }

        s -= 2;
        elems[i].style.fontSize = s+"px"
      }
   }
}

function setFontSize(i)
{
  while(i < currentFontSize)
  {
    currentFontSize--;
    decreaseFontSize();
  }

  while(i > currentFontSize)
  {
    currentFontSize++;
    increaseFontSize();
  }
  document.body.style.fontSize = (9 + i * 2) + 'px';

  createCookie('savedFontSize', i, 10);

}

function initializeFontSize()
{
  var c = readCookie('savedFontSize');
  if(c > 1)
  {
    setFontSize(c);
  }
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	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;
}
