$(function()
{
	var
		step = 0.025,
		fontsizes = {'normal': 1, 'large': 1.125, 'xlarge': 1.25},
		fontsize = 'normal';
		// fontsize = fontsizes[n$.document.param.get('font-size', 'normal')];

	if(document.cookie.match(/font-size=([^\s;]+)/i)) {
		fontsize = document.cookie.match(/font-size=([^\s;]+)/i)[1];
	}

	$('a.ui-ctrl-select-fontsize-' + fontsize).css('text-decoration', 'underline');
	$('body').css({'font-size': fontsizes[fontsize]+'em'});

	$('.font-sizes').show();

	$('a.ui-ctrl-select-fontsize').click(function(e) {
		e.preventDefault();
		var nFontsize = 1;

		if ( $(this).hasClass('ui-ctrl-select-fontsize-normal') ) {
			f = 'normal';
			// n$.document.param.set('font-size', 'normal')
		} else if ( $(this).hasClass('ui-ctrl-select-fontsize-large') ) {
			f = 'large';
			// n$.document.param.set('font-size', 'large')
		} else if ( $(this).hasClass('ui-ctrl-select-fontsize-xlarge') ) {
			f = 'xlarge';		
			// n$.document.param.set('font-size', 'xlarge')
		} else {
			return;
		}

		document.cookie = 'font-size='+f+'; path=/';

		$('ul.font-size li').children().css('text-decoration', 'none');
		$(this).css('text-decoration', 'underline');

		$(document).trigger('layout.fontsize', [f]);
	});

	$(document).bind('layout.fontsize', function(e, f)
	{
		var oldFontsize = fontsizes[fontsize],
			newFontsize = fontsizes[f];

		fontsize = f;

		$body = $('body');
		// $('body').css('font-size', fontsize+'em');

		if( oldFontsize > newFontsize ) {
			var i = setInterval(function()
			{
				oldFontsize -= step;	
				if( oldFontsize <= newFontsize ) {
					clearInterval(i);
					$body.css({'font-size': newFontsize+'em'}); return;
				}
				$body.css({'font-size': oldFontsize+'em'});
			}, 10);
		} else if( oldFontsize < newFontsize ) {
			var i = setInterval(function()
			{
				oldFontsize += step;
				if( oldFontsize >= newFontsize ) {
					clearInterval(i);
					$body.css({'font-size': newFontsize+'em'}); return;
				}
				$body.css({'font-size': oldFontsize+'em'});
			}, 10);
		}
	});
});
