function initAccessMethods() {
	
	if(document.getElementById && document.getElementsByTagName) return true;
	if(!document.all) return false;
	
	if(!document.getElementById) {
		document.getElementById = function(id) {
			return document.all[id];
		}
	}
	
	if(!document.getElementsByTagName) {
		document.getElementsByTagName = function(tagName) {
			return this.all.tags(tagName);
		}
		var elementNum = document.all.length;
		for(var i=0; i<elementNum; i++) {
			document.all[i].getElementsByTagName = document.getElementsByTagName;
		}
	}
	return true;
}

function getTextSizePref() {
	var pairs = document.cookie.split(";");
	for(var i=0; i<pairs.length; i++) {
		if(pairs[i].indexOf("TextSize") == 0) return pairs[i].substring(9);
	}
	return "Regular Text";
}

function setTextSizePref(styleSheet) {
	if(styleSheet) {
		document.cookie = "TextSize=" + styleSheet + ";path=/";
	} else {
		document.cookie = "TextSize=Regular;path=/;expires=" + new Date(0).toGMTString();
	}
}

function setStyleSheet(title) {
	var l;
	for(var i=0; (l=document.getElementsByTagName("link")[i]); i++) {
		if(l.getAttribute("title") && l.getAttribute("rel").indexOf("style") != -1) {
			l.disabled = true; 
			if(l.title == title) l.disabled = false;
		}
	}
	return false;
}

function getStyleSheet() {
	var l;
	var s = "";

	for(var i=0; (l=document.getElementsByTagName("link")[i]); i++) {
		if(l.getAttribute("title") && l.getAttribute("rel").indexOf("alt") != -1) {
			if(l.disabled == false) return l.getAttribute("title"); 
		}
	}
	
	return false;
}

function textSizeHandler(e) {
	setStyleSheet(this.title);
	return false;
}

function tipHandler(e) {
	window.status = this.title;
	return true;
}

function clearTip(e) {
	window.status = "";
	return true;
}

function initTextSize() {

	if(!initAccessMethods()) return;
	
	var tSize = document.getElementById("textSizing");
	if(tSize) {
		tSizers = tSize.getElementsByTagName("a");
		for(var i=0; i<tSizers.length; i++) {
			tSizers[i].onclick = textSizeHandler;
			tSizers[i].onmouseover = tipHandler;
			tSizers[i].onmouseout = clearTip;
		}
	}
	setStyleSheet(getTextSizePref());
}

window.onunload = function() {
	setTextSizePref(getStyleSheet());
}
