$(document).ready(function() {
	$('#font-sizer').fontsizer({
		captionSmall: 'Schrift kleiner',
		captionNormal: 'Schrift normal',
		captionBig: 'Schrift größer'
	});
	if ($.cookie) {
		var currentFontSize = parseInt($.cookie('fontsizer'));
		$('#content').css('font-size', currentFontSize);
	}
});

$.fn.extend({
	fontsizer: function(options) {
		// default settings
		var settings = $.extend({
			normal: 12,
			step: 2,
			classSmall: 'small',
			classNormal: 'normal',
			classBig: 'big',
			captionSmall: 'A',
			captionNormal: 'A',
			captionBig: 'A'
		}, options);

		var setCookie = function(currentFontSize) {
			if ($.cookie) {
				$.cookie('fontsizer', String(currentFontSize), {
					domain: window.location.hostname,
					path: '/'
				});
			}
		}
		
		var getFontsize = function() {
			var currentFontSizeText = $('body').css('font-size');
			var currentFontSize = currentFontSizeText.substr(0, currentFontSizeText.length - 2);

			if ($.cookie && $.cookie('fontsizer') != null) {
				currentFontSize = $.cookie('fontsizer');
			}	

			return currentFontSize;
		}
		
		/*
		 * Extending DOM
		 * 
		 * <ul>
		 * 		<li><a href="#" class="small">A</a></li>
		 * 		<li><a href="#" class="normal">A</a></li>
		 * 		<li><a href="#" class="big">A</a></li>
		 * </ul>
		 */		
		$(this).html('<ul><li><a href="#" class="' + settings.classSmall + '">' + settings.captionSmall + '</a></li><li><a href="#" class="' + settings.classNormal +'">' + settings.captionNormal + '</a></li><li><a href="#" class="' + settings.classBig +'">' + settings.captionBig + '</a></li>');
		
		$(this).find('.' + settings.classSmall).click(function() {
			currentFontSize = parseInt(getFontsize()) - parseInt(settings.step);
			$('#content').css('font-size', currentFontSize);
			setCookie(currentFontSize);
			
		});
		$(this).find('.' + settings.classBig).click(function() {
			currentFontSize = parseInt(getFontsize()) + parseInt(settings.step);
			$('#content').css('font-size', currentFontSize);
			setCookie(currentFontSize);
		});
		$(this).find('.' + settings.classNormal).click(function() {
			currentFontSize = parseInt(settings.normal);
			$('#content').css('font-size', currentFontSize);
			setCookie(currentFontSize);
		});
		
		return this;
	}
});
