function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
	node = document;
	if ( tag == null )
	tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function getCookie(Name) {
	var search = Name + "="
	var returnvalue = "";
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search)
		// if cookie exists
		if (offset != -1) {
			offset += search.length
			// set index of beginning of value
			end = document.cookie.indexOf(";", offset);
			// set index of end of cookie value
			if (end == -1) end = document.cookie.length;
			returnvalue=unescape(document.cookie.substring(offset, end))
		}
	}
	return returnvalue;
}

var classNames = new Array('sizer');
var pixelArray =  new Array('9','10','11','12','13','14','16','18','20','22');
var emArray =  new Array('0.6','0.7','0.8','0.9','1.0','1.2','1.4','1.6','1.8','2.0');
var initSize = 4;
var size = initSize;
var sizeString = getCookie("fontSize");
if (sizeString != "")
	size = parseFloat(sizeString);
	
function fontSizer(inc,unit) {
	if (!document.getElementById)
		return;
	size += inc;
	if (size < 0 ) { size = 0; }
	if (size > 10 ) { size = 10; }
	initSize = size;
	document.cookie = "fontSize=" + size + "; path=/";
	setFontSize(unit);
}

function setFontSize(unit) {
	for (i = 0 ; i < classNames.length ; i++ ) {
		getallTags = getElementsByClass(classNames[i]);
		for (k = 0 ; k < getallTags.length ; k++) {
			getallTags[k].style.fontSize = (unit=='px') ? pixelArray[size]+unit: emArray[size]+unit;
		}
	}
}
