/**
 * Fontsizer.js - Simple FontSizer v1.1
 * 
 * v1.1 - Added cookie functionality
 * v1.0 - Initial version
 * 
 * @author  Webstores <info at webstores dot nl>
 *           Copyright (c) Webstores internet totaalbureau <http://www.webstores.nl/>
 */

var FontSizer = function() {
	var containers = [],
		activeSizer = null,
		activeCls = '';
	
	return {
		initialize: function(cStrArr) {
			for(var i = 0; i < cStrArr.length; i++) {
				if(document.getElementById(cStrArr[i]))
					containers.push(document.getElementById(cStrArr[i]));
			}
			activeSizer = document.getElementById('fontsmall');
			this.setCookieFontSize(this.getCookie('fontsize'));
			this.initEvents();
		},
		initEvents: function() {
			this.sizerClicked(document.getElementById('fontsmall'), '');
			this.sizerClicked(document.getElementById('fontmedium'), 'medium-font');
			this.sizerClicked(document.getElementById('fontlarge'), 'large-font');
		},
		sizerClicked: function(el, cls) {
			var self = this;
			el.onclick = function() {
				for(var i = 0; i < containers.length; i++) {
					removeClass(containers[i], activeCls)
					addClass(containers[i], cls);
				}
				activeSizer.className = '';
				this.className = 'active';
				activeSizer = this;
				activeCls = cls;
				self.createCookie('fontsize', this.id + ',' + cls, 7);
				return false;
			}
		},
		setCookieFontSize: function(cookie) {
			if(cookie) {
				var cData = cookie.split(',');
				for(var i = 0; i < containers.length; i++) {
					addClass(containers[i], cData[1]);
				}
				activeSizer.className = '';
				activeSizer = document.getElementById(cData[0]);
				activeSizer.className = 'active';
			}
		},
		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 {
				var expires = '';
			}
			document.cookie = name + '=' + value + expires + '; path=/';
		},
		getCookie: function(name) {
			var cName = name + '=';
			var cArr = document.cookie.split(';');
			for(var i = 0; i < cArr.length; i++) {
				var cookie = cArr[i];
				while(cookie.charAt(0) == ' ')
					cookie = cookie.substring(1, cookie.length);
				if(cookie.indexOf(cName) == 0)
					return cookie.substring(cName.length, cookie.length);
			}
			return false;
		}
	}
}();

