﻿/*
 * Textsize adjustment
 */

textSizing = {
	increase: function() {
		active = textSizing.getActiveStyleSheet();

		switch (active) {
			case 'A' : 
				textSizing.setActiveStyleSheet('AA');
				break;
			case 'AA' : 
				textSizing.setActiveStyleSheet('AAA');
				break;
			case 'AAA' : 
				textSizing.setActiveStyleSheet('AAAA');
				break;
			case 'AAAA' :
				break;
			default :
				textSizing.setActiveStyleSheet('A');
				break;
		}
		return false;
	},

	decrease: function() {
		active = textSizing.getActiveStyleSheet();

		switch (active) {
			case 'AAAA' : 
				textSizing.setActiveStyleSheet('AAA');
				break;
			case 'AAA' : 
				textSizing.setActiveStyleSheet('AA');
				break;
			case 'AA' : 
				textSizing.setActiveStyleSheet('A');
				break;
			case 'A' : 
				 break;
			default :
				textSizing.setActiveStyleSheet('A');
				break;
		}
		return false;
	},

	setActiveStyleSheet: function(title) {
		var i, a, main;
		for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
				a.disabled = true;
				if(a.getAttribute("title") == title) a.disabled = false;
			}
		}
	},

	getActiveStyleSheet: function() {
		var i, a;
		for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
		}
		return null;
	},

	getPreferredStyleSheet: function() {
		return ('A');
	},

	createCookie: function(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=/";
	},

	readCookie: function(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;
	},

	init: function() {
		var cookie = textSizing.readCookie("textsize");
		var title = cookie ? cookie : textSizing.getPreferredStyleSheet();
		if (title == 'null') {
			title = textSizing.getPreferredStyleSheet();
		}
		textSizing.setActiveStyleSheet(title);
	}
}

window.onload = function() {
	textSizing.init();

	var textUp = document.getElementById('textSizeUp');
    if (textUp)
	    textUp.onclick = textSizing.increase;

    var textDown = document.getElementById('textSizeDown');
    if (textDown)
        textDown.onclick = textSizing.decrease;
}

window.onunload = function() {
	var title = textSizing.getActiveStyleSheet();
	textSizing.createCookie("textsize", title, 365);
}

