/*------------------------font size o matic-----------------------

author:Stephen Woods
last revised: 5/10/2006

This script creates some buttons to change the font size.

-----------------------------------------*/

var oldsize = 14;
var h_oldsize = 18.2;

function initFonts(){ //the styles need to be inline to be addressable
    if(!document.getElementById("p_content")){
	    return false;
	}
	var bob = document.getElementById("p_content");
	var paras = bob.getElementsByTagName("p");
	
	for (var i=0; i < paras.length; i++){
		paras[i].style.fontSize = oldsize+"px";
	}
	
}

function makeButtons(){ //this draws the buttons. We don't want to bother with them if the user has javascript off.
	if(!document.getElementById("p_content")){
	    return false;
	}
	var buttondiv = document.createElement("div");
	buttondiv.setAttribute("id","fontsizer");
	var smalla = document.createElement("a");
	smalla.setAttribute("href","#");
	smalla.setAttribute("title","Click to reduce the font size");
	smalla.setAttribute("class","smalla");
	smalla.style.fontSize = "10px";
	smalla.onclick = function(){
		
		shrinkText();
		return false;
    }
	
	var biga = document.createElement("a");
	biga.setAttribute("href","#");
	biga.setAttribute("title","Click to increase the font size");
	biga.setAttribute("class","biga");
	biga.style.fontSize = "16px";
	biga.onclick = function(){
		growText();
		return false;
	}
	
	var smalla_text = document.createTextNode("A ");
	smalla.appendChild(smalla_text);
	
	var biga_text = document.createTextNode("| A");
	biga.appendChild(biga_text);
	
	buttondiv.appendChild(smalla);
	buttondiv.appendChild(biga);
	var bob = document.getElementById("p_content");
	bob.parentNode.insertBefore(buttondiv,bob);
	
}
	
function growText(){
	var bob = document.getElementById("p_content");
	var paras = bob.getElementsByTagName("p");
	var headings = bob.getElementsByTagName("h1");
	var headings2 = bob.getElementsByTagName("h2");
	var lists = bob.getElementsByTagName("li");
	var links = bob.getElementsByTagName("a");
	oldsize = oldsize+5;
	h_oldsize = h_oldsize+5;
	for (var i=0; i < paras.length; i++){
		l_oldsize = oldsize;
		l_oldsize_str = l_oldsize + "px"; 
		paras[i].style.fontSize = l_oldsize_str;
	}
	
	for (var i=0; i < headings.length; i++){
		h_oldsize_str = h_oldsize + "px";
		headings[i].style.fontSize = h_oldsize_str;
	}
	
	for (var i=0; i < headings2.length; i++){
		h2_oldsize = h_oldsize;
		h2_oldsize_str = h2_oldsize + "px";
		headings2[i].style.fontSize = h2_oldsize_str;
	}
	
	for (var i=0; i < lists.length; i++){
		li_oldsize = oldsize;
		li_oldsize_str = li_oldsize + "px";
		lists[i].style.fontSize = li_oldsize_str;
	}
	
	for (var i=0; i < links.length; i++){
		a_oldsize = oldsize;
		a_oldsize_str = a_oldsize + "px";
		links[i].style.fontSize = a_oldsize_str;
	}
}

function shrinkText(){
	var bob = document.getElementById("p_content");
	var paras = bob.getElementsByTagName("p");
	var headings = bob.getElementsByTagName("h1");
	var headings2 = bob.getElementsByTagName("h2");
	var lists = bob.getElementsByTagName("li");
	var links = bob.getElementsByTagName("a");
	oldsize = oldsize -5;
	h_oldsize = h_oldsize -5;

	for (var i=0; i < paras.length; i++){
		l_oldsize = oldsize;
		l_oldsize_str = l_oldsize + "px";
		paras[i].style.fontSize = l_oldsize_str;
	}
	
	for (var i=0; i < headings.length; i++){

		h_oldsize_str = h_oldsize + "px";
		headings[i].style.fontSize = h_oldsize_str;
	}
	
	for (var i=0; i < headings2.length; i++){
		h2_oldsize = h_oldsize;
		h2_oldsize_str = h2_oldsize + "px";
		headings2[i].style.fontSize = h2_oldsize_str;
	}
	
	for (var i=0; i < lists.length; i++){
		li_oldsize = oldsize;
		li_oldsize_str = li_oldsize + "px";
		lists[i].style.fontSize = li_oldsize_str;
	}
	
		for (var i=0; i < links.length; i++){
		a_oldsize = oldsize;
		a_oldsize_str = a_oldsize + "px";
		links[i].style.fontSize = a_oldsize_str;
	}
}

//following code adds function to the onload
function addLoadEvent(func){
	var oldonload = window.onload;
	if(typeof window.onload != 'function'){
		window.onload = func;
	}else{
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

addLoadEvent(makeButtons); //set up the code
addLoadEvent(initFonts);