
baseSize = 0;

fontUnit = 25;
pageUnit = 5;

function init_textsizer() {
	var cookie = readCookie('baseSize');
	baseSize = cookie ? cookie : 0;
	if(baseSize) {
		//set the size of the text.
		scale(pageUnit*baseSize, fontUnit*baseSize);
	}
	buildFontSwitcher();
}

function buildFontSwitcher() {
	var nav = document.getElementById('navindex').parentNode;
	var holder = document.createElement('li');
		
	var link = document.createElement('a');
	var text = document.createTextNode('Increase text size');
	link.appendChild(text);
	link.onclick = textBigger;
	holder.appendChild(link);
	nav.appendChild(holder);
	
	var holder = document.createElement('li');
	var link = document.createElement('a');
	var text = document.createTextNode('Decrease text size');
	link.appendChild(text);
	holder.appendChild(link);
	link.onclick = textSmaller;
	nav.appendChild(holder);
}

function textBigger() {
	scale(pageUnit, fontUnit);
	baseSize++;
	createCookie('baseSize', baseSize);
}
function textSmaller() {
	scale(-pageUnit, -fontUnit);
	baseSize--;
	createCookie('baseSize', baseSize);
}

function scale(page, font) {
	var divs = document.getElementsByTagName('div');
	var wrapper;
	for(var i=0; i<divs.length; i++) {		
		if(divs[i].className == 'pun') {
			wrapper = divs[i];
			break;
		}
	}
	
	fontSize = parseInt(wrapper.style.fontSize ? wrapper.style.fontSize : 75);
	wrapper.style.fontSize = minimum(fontSize+font, 25)+"%";
	var punwrap = document.getElementById('punwrap');
	pageSize = parseInt(punwrap.style.width ? punwrap.style.width : 50);
	punwrap.style.width = minimum(pageSize+page, 40)+"em";
}

function minimum(a, b) {
	return a < b ? b : a;
}

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 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;
}


// START THE TEXT RESIZER...
window.onload = init_textsizer;
