var image_fade_count = 0;
var image_wobble_index = 0;

var hover_image_size = 350;

function image_cloud_fade_in()
{
	if(jQuery(".image-cloud .image-cloud-item").size() == 0)
		return false;
	
	jQuery(".image-cloud .image-cloud-item").eq(image_fade_count).fadeIn('fast');

	if(image_fade_count < jQuery(".image-cloud .image-cloud-item").size())
	{
		image_fade_count ++;
		image_fade_timer = setTimeout(image_cloud_fade_in, 50);
	}
	else
		clear_image_cloud_fade();
}

function clear_image_cloud_fade()
{
	clearTimeout(image_fade_timer);
}

function image_cloud_wobble()
{
	if(jQuery(".image-cloud .image-cloud-item").size() == 0)
		return false;
	
	var wobble_target = jQuery(".image-cloud .image-cloud-item").eq(image_wobble_index);
	
	if(wobble_target.data('no-wobble-please') != 'yes')
	{
		if(wobble_target.data('direction') == '-')
			wobble_target.data('direction', '+');
		else
			wobble_target.data('direction', '-');
	
		wobble_target.animate( { top: wobble_target.data('direction') + '=3' }, 500);
	}
	
	if(image_wobble_index < jQuery(".image-cloud .image-cloud-item").size())
		image_wobble_index ++;
	else
		image_wobble_index = 0;

	setTimeout(image_cloud_wobble, 50);
}

// Self contain the jQuery stuff to avoid conflict with moo tools...
(function($) {

	$(document).ready( function () {

		if($('.image-cloud').size() > 0)
		{
			image_cloud_fade_in();
			//image_cloud_wobble();
			
			$('.image-cloud .image-cloud-item').each( function (loop_index) {
				
					$(this).data('original-width', $(this).width());
					$(this).data('original-height', $(this).height());
					
					$(this).data('original-left', $(this).css('left'));
					$(this).data('original-top', $(this).css('top'));

					$(this).data('original-zindex', $(this).css('z-index'));
					$(this).data('original-opacity', $(this).css('opacity'));
					
					if(loop_index == 0)
						$(this).data('original-opacity', 0.6);
					
					$(this).data('original-rotation', $(this).css('-moz-transform'));
					$(this).data('original-boxshadow', $(this).css('box-shadow'));
					
					$(this).data('scale-ratio', (hover_image_size / $(this).width()));
					
					$(this).data('scale-height', $(this).data('scale-ratio') * $(this).height());
					$(this).data('scale-width', hover_image_size);

					$(this).data('scale-top', (parseInt($(this).css('top')) + ($(this).height() / 2)) - ($(this).data('scale-height') / 2));
					$(this).data('scale-left', (parseInt($(this).css('left')) + ($(this).width() / 2)) - (hover_image_size / 2));

				});
			
			$('.image-cloud .image-cloud-item').hoverIntent(
					function () {

						$(this).stop();
						
						$(this).css('z-index', 50000);
						$(this).css('overflow', 'visible');
						$(this).css('background', '#9F002C');
						$(this).css('border-color', '#9F002C');
						$(this).css('box-shadow', 'none');
						
						$(this).css('opacity', '1');

						$(this).css('-moz-transform', 'rotate(0deg)');
						$(this).css('-webkit-transform', 'rotate(0deg)');
						$(this).css('-o-transform', 'rotate(0deg)');
						
						$(this).data('no-wobble-please', 'yes');

						$(this).animate(
									{
										width: $(this).data('scale-width'),
										height: $(this).data('scale-height'),
										top: $(this).data('scale-top'),
										left: $(this).data('scale-left')
									},
									150,
									function () {
										$(this).find('.image-cloud-title').css('z-index', 50001);
										$(this).find('.image-cloud-title').show();
									}
								);

					},
					function () {

						$(this).stop();

						$(this).css('z-index', $(this).data('original-zindex'));
						$(this).css('background', 'none');
						$(this).css('border-color', '#fff');
						$(this).css('opacity', $(this).data('original-opacity'));

						$(this).css('-moz-transform', $(this).data('original-rotation'));
						$(this).css('-webkit-transform', $(this).data('original-rotation'));
						$(this).css('-o-transform', $(this).data('original-rotation'));
						
						$(this).find('.image-cloud-title').hide();

						$(this).data('no-wobble-please', 'no');
						
						$(this).animate(
									{
										width: $(this).data('original-width'),
										height: $(this).data('original-height'),
										top: $(this).data('original-top'),
										left: $(this).data('original-left')
									},
									50,
									function ()
									{
										$(this).css('box-shadow', $(this).data('original-boxshadow'));
									}
								);

					}
			)
		}

	});

})(jQuery);

