akCookie = {
	create : function(name, value, days) {
		var expires = "";
		if(days) { 
			var expireDate = new Date();
			expireDate.setTime(expireDate.getTime() + (days * 24 * 60 * 60 * 1000));
			expires = "; expires=" + expireDate.toGMTString();
		}
		document.cookie = name + "=" + value + expires + "; path=/";
	},
	read : 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;
	},
	erase : function(name) {
		akCookie.create(name, '', -1);
	}
}

$(function(){
	$('div#accessControl').show();
	akAccess = function() {
		var sizes = {normal : '80%', large : '90%', larger : '95%'};
		var contrasts = ['normal', 'wob'];
		var chosenSize;
		var chosenContrast;
		//check for cookie
		var cookieValue = akCookie.read('akAccessSettings');
		
		if(cookieValue !== null) {
			//read cookie to get 
			settings = cookieValue.split(' ');
			_setFontSize(settings[0]);	
			_setContrast(settings[1]);
		}else{
			$('a#font-normal').addClass('current');
			$('a#contrast-normal').addClass('current');
		}

		function _setFontSize(size) {
			$('body').css('font-size', sizes[size]);
			for(key in sizes) { 
				if(size === key) { chosenSize = key } 
			}
			if(!chosenSize) { chosenSize = 'normal'; }
			$('#font-' + chosenSize).addClass('current');
		}

		function _setContrast(contrast) {
			chosenContrast = contrast; 
			if(!contrast in contrasts){ contrast = 'normal'; }
			if(contrast === 'normal') {
				$('body').removeClass(contrasts.join(' '));
			}else{
				$('body').addClass(contrast);
			}
			$('a.contrastChanger').each(function(){$(this).removeClass('current'); });
			$('a#contrast-' + chosenContrast).addClass('current');
		}

		function _save() {
			akCookie.create('akAccessSettings', (chosenSize + ' ' + chosenContrast), 2);
		}


		return {
			handleFontSizeEvent : function(size) {
				_setFontSize(size.split('-')[1]);
				_save();
				return false;
			},
			handleContrastEvent : function (contrast) {
				_setContrast(contrast.split('-')[1]);
				_save();
				return false;
			}
		}
	}();
		$('div#accessControl a.fontScaler').click(function(){
			akAccess.handleFontSizeEvent($(this).attr('id'));
			$('#accessControl a.fontScaler').each(function(){$(this).removeClass('current');});
			$(this).addClass('current');
			return false;
		});
		$('div#accessControl a.contrastChanger').click(function(){
			akAccess.handleContrastEvent($(this).attr('id'));
		});


		
});
