(function()
{
	var stylesheet;
	var textsize;
	$(document).ready(function()
	{
		stylesheet = readCookie('stylesheet')  === null ? 'graphics' : readCookie('stylesheet');
		textsize = readCookie('textsize') === null ? 'medium' : readCookie('textsize');
					
		$('#graphics').click(function(event)
		{
			event.preventDefault();
			
			document.getElementById('css_graphics').disabled = false;
			document.getElementById('css_textonly').disabled = true;
			
			stylesheet = 'graphics';
		});
		
		$('#textonly').click(function(event)
		{
			event.preventDefault();

			document.getElementById('css_graphics').disabled = true;
			document.getElementById('css_textonly').disabled = false;
			
			stylesheet = 'textonly';
		});
		
		$('#text_largest').click(function(event)
		{
			event.preventDefault();

			$('html').css({ fontSize : '100%' });
			textsize = 'largest';
		});
		
		$('#text_larger').click(function(event)
		{
			event.preventDefault();
			
			$('html').css({ fontSize : '93%' });
			textsize = 'larger';
		});
		
		$('#text_medium').click(function(event)
		{
			event.preventDefault();
			
			$('html').css({ fontSize : '83%' });
			textsize = 'medium';
		});
		
		$('#' + stylesheet).trigger('click');
		$('#text_' + textsize).trigger('click');
	});
	
	$(window).unload(function()
	{
		createCookie('stylesheet', stylesheet, 365);
		createCookie('textsize', textsize, 365);
	});
	
	function createCookie(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=/";
	}
	
	function readCookie(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;
	}
})();