(function ($) {
	$(document).ready(function() {
		var TextResize = {
			decreaseButton: $('#tools_container .decrease'),
			increaseButton: $('#tools_container .increase'),
			
			initialize: function() {
				TextResize.decreaseButton.click(function(e) {
					TextResize.decrementTextSize();
					return false;
				});
				
				TextResize.increaseButton.click(function(e) {
					TextResize.incrementTextSize();
					return false;
				});
			},
			
			decrementTextSize: function() {
				var body = TextResize.getBodySize();
				
				if (true === body.small) {
					$('body').removeClass('small-text');
					$('body').addClass('smaller-text');
				}
				
				if (true === body.normal) {
					$('body').removeClass('large-text');
					$('body').addClass('small-text');
				}
				
				if (true === body.large) {
					$('body').removeClass('large-text');
				}
				
				if (true === body.larger) {
					$('body').removeClass('larger-text');
					$('body').addClass('large-text');
				}
				
				return true;
			},
			
			incrementTextSize: function() {
				var body = TextResize.getBodySize();
				
				if (true === body.smaller) {
					$('body').removeClass('smaller-text');
					$('body').addClass('small-text');
				}
				
				if (true === body.small) {
					$('body').removeClass('small-text');
				}
				
				if (true === body.normal) {
					$('body').removeClass('small-text');
					$('body').addClass('large-text');
				}
				
				if (true === body.large) {
					$('body').removeClass('large-text');
					$('body').addClass('larger-text');
				}
				
				return true;
			},
			
			getBodySize: function() {
				var smaller = ($('body').hasClass('smaller-text')) ? true : false;
				var small = ($('body').hasClass('small-text')) ? true : false;
				var large = ($('body').hasClass('large-text')) ? true : false;
				var larger = ($('body').hasClass('larger-text')) ? true : false;
				var normal = (false === smaller && false === small && false === large && false === larger) ? true : false;
				
				var sizes = {
					smaller: smaller,
					small: small,
					normal: normal,
					large: large,
					larger: larger
				};
				
				return sizes;
			}
		};
		
		TextResize.initialize();
	});
})(jQuery);