addEvent(win, "load", function() {
	setFontSize.init();
});
addEvent(win, "unload", function() {
	setFontSize.setCookie();
});

var setFontSize = {
	sizeSmall:	"62.5%",
	sizeMedium:	"75%",
	sizeBig:	"90%",
	cookieFlavor:		"fontSize",
	cookieExpireDays:	50,
	cookiePath:			"/",
	sizeNameS:	"small",
	sizeNameM:	"medium",
	sizeNameL:	"big",
	currentButtonClassName:	"current",
	switchParentsClassName:	"fontsize",

	init:	function() {
		var choosenSize = eatCookie(this.cookieFlavor);
		switch(choosenSize) {
			case this.sizeNameS:
				this.small();
				break;
			case this.sizeNameL:
				this.big();
				break;
			case this.sizeNameM:
			default:
				this.medium();
		}
	},
	small:	function() {
		doc.body.style.fontSize = this.sizeSmall;
		this.setCurrentCss(this.sizeNameS);
	},
	medium:	function() {
		doc.body.style.fontSize = this.sizeMedium;
		this.setCurrentCss(this.sizeNameM);
	},
	big:	function() {
		doc.body.style.fontSize = this.sizeBig;
		this.setCurrentCss(this.sizeNameL);
	},
	setCurrentCss:	function(size) {
		var switchParentNodes = getElementsByClassName(this.switchParentsClassName);
		if(switchParentNodes) {
			for(var i = 0; i < switchParentNodes.length; i++) {
				var switchParentNode = switchParentNodes[i];
				var switches = switchParentNode.getElementsByTagName("a");
				switch(size) {
					case "small":
						switches[0].className = this.currentButtonClassName;
						switches[1].className = "";
						switches[2].className = "";
						break;
					case "big":
						switches[0].className = "";
						switches[1].className = "";
						switches[2].className = this.currentButtonClassName;
						break;
					case "medium":
					default:
						switches[0].className = "";
						switches[1].className = this.currentButtonClassName;
						switches[2].className = "";
				}
			}
		}
	},
	setCookie:	function() {
		var switchParentNodes = getElementsByClassName(this.switchParentsClassName);
		if(switchParentNodes) {
			var switches = switchParentNodes[0].getElementsByTagName("a");
			if(switches[0] && switches[0].className == this.currentButtonClassName) {
				var choosenSize = this.sizeNameS;
			} else if(switches[2] && switches[2].className == this.currentButtonClassName) {
				var choosenSize = this.sizeNameL;
			} else {
				var choosenSize = this.sizeNameM;
			}
		}
		bakeCookie(this.cookieFlavor, choosenSize, this.cookieExpireDays, this.cookiePath);
	}
}
