// main
var switches;

function getStyleSwitches() {
	return (switches = switches || {
		'regular': document.getElementById('font-resize-regular'),
		'large': document.getElementById('font-resize-large')
	});
}

function getActiveStyle() {
	var els = getStyleSwitches();
	for (var idx in els) {
		if (hasClass(els[idx], 'current'))	return idx;
	}
	return 'regular';
}

function getPreferredStyle() {
	return 'regular';
}

function setActiveStyle(title) {
	var els = getStyleSwitches();
	if (hasClass(els[title], 'current'))	return;
	var opts = { 'regular': '75%', 'large': '100%' };
	document.body.style.fontSize = opts[title];
	for (var idx in els) {
		if (idx == title)	addClassToElement(els[idx], 'current');
		else	removeClassFromElement(els[idx], 'current');
	}
}

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

function readCookie(name) {
	var regexp = new RegExp('^ *' + name + '=(.+)$');
	var ca = document.cookie.split(';');
	for(var i = 0; i < ca.length; i++) {
		if (ca[i].match(regexp))	return RegExp.$1;
	}
	return null;
}

function readCookieOnWindowLoad(event) {
	var cookie = readCookie("fontsize");
	var title = cookie ? cookie : getPreferredStyle();
	setActiveStyle(title);
}
function createCookieOnWindowUnload(event) {
	var title = getActiveStyle();
	createCookie("fontsize", title, 365);
}
addEventToElement(window, 'load', readCookieOnWindowLoad);
addEventToElement(window, 'unload', createCookieOnWindowUnload);

