(function($) {
	$(document).ready(function() {
		if ($('body').hasClass('section-frontpage')) {
			$('#ed-tutkii').click(function(event) {
				event.preventDefault();
				$('#content').animate({
					opacity: 0
				}, function() {
					window.location.href = '/ed-tutkii';
				});
				return false;
			});
		}
		
		// Functions for presenting and hiding the Thank You message
		// that is presented to the user after 7 ratings.
		function closeThankYouMessage() {
			$('#overlay').remove();
			$('#thank-you').remove();
		}
		function showThankYouMessage() {
			var overlayEl = $('<div id="overlay"></div>');
			var thankYouEl = $('<div id="thank-you"></div>');
			$('body').append(overlayEl)
			$('body').append(thankYouEl)
			thankYouEl.load('/ed-tutkii/kiitos', function() {
				thankYouEl.find('.continue-rating').click(closeThankYouMessage);
				thankYouEl.find('.close').click(closeThankYouMessage);
			});
		}


		// A table of class names associated with different ratings
		// 0 = Love
		// 1 = Hot
		// 2 = Crap
		// 3 = Lame
		var ratingClassNames = ['love', 'hot', 'crap', 'lame'];
		
		
		// Rate an item using ajax
		function rateItem(itemId, rating) {
			var requestData = {
				'rate_item': itemId,
				'rating': rating
			};

			var item = $('#item-'+itemId);

			item.addClass('rated');
			for (var i in ratingClassNames) {
				item.removeClass(ratingClassNames[i]);
			}
			item.addClass(ratingClassNames[rating]);

			jQuery.getJSON('/ed-tutkii-module/index.php', requestData, function(data) {
				var obj = eval(data);
				var item = $('#item-'+itemId);
				if (!obj.success) {
					window.refresh();
				}
				
				if ($('#content .rated').length == 7) {
					// If the user has rated seven items, present a Thank You message.
					showThankYouMessage();
				}
			});			
		}
		
		$('.item.rateable').each(function(index, el) {
			// Add mouseover/mouseout event handlers to rateable items (because IE7 does not properly support css :hover)
			$(el).bind('mouseover', function() {
				$(el).addClass('hovered');
			});
			$(el).bind('mouseout', function() {
				$(el).removeClass('hovered');
				$(el).removeClass('mouseover-love');
				$(el).removeClass('mouseover-hot');
				$(el).removeClass('mouseover-crap');
				$(el).removeClass('mouseover-lame');
			});
			
			// Add click event listeners to rate-buttons.
			var itemId = $(el).attr('id').substring(5);
			$(el).find('.rating .love').click(function() {
				rateItem(itemId, 0);
			});
			$(el).find('.rating .hot').click(function() {
				rateItem(itemId, 1);
			});
			$(el).find('.rating .crap').click(function() {
				rateItem(itemId, 2);
			});
			$(el).find('.rating .lame').click(function() {
				rateItem(itemId, 3);
			});
			
			$(el).find('.rating .love').append('<div class="tooltip">Love it</div>');
			$(el).find('.rating .hot').append('<div class="tooltip">Hot as ED</div>');
			$(el).find('.rating .crap').append('<div class="tooltip">Bull it</div>');
			$(el).find('.rating .lame').append('<div class="tooltip">Last week</div>');			
		});
	});
}(jQuery));
