var animation = {
	'auto_animate': true,
	'auto_animate_delay': 8000,
	'auto_animate_id': '',
	'caption_speed': 'fast',
	//'panel_speed': 'slow',
	'panel_speed': 1000,
	'panel_easing': 'easeInOutCubic'
}
Drupal.behaviors.homepage_slideshow = function (context) {
	//Initialize slides
	var i = 1;
	$('li.slide').each(function(key, value) {
		$(value).attr('id', 'slide-'+i);
		i++;
	});
	
	$('.slide_caption').hide();
	$('#slide-1 > .slide_caption').show();
	$('#slide-1').addClass('active');
	$('.slide').not('.active').children('.slide_image_slice').show();

	//Slide animation
	$('.slide')
		.bind('open', function(){		
			if(! $(this).hasClass('open')){
				$(this).next().trigger('open');
				$(this).addClass('open');
				$(this).animate({right: "-=769px"}, animation.panel_speed, animation.panel_easing, function(){display_slices();});
			}
			else{
				$(this).prev().trigger('close');
			}
			$(this).siblings().removeClass('active');
			$(this).addClass('active');
			setTimeout(function(){hide_slices()},1);
			
			//$(this).siblings().children('.slide_image_slice').fadeIn();
			//$(this).children('.slide_image_slice').fadeOut();
			
			display_caption();
		})
		.bind('close', function(){
			if($(this).hasClass('open')){
				$(this).removeClass('open');
				$(this).animate({right: "+=769px"}, animation.panel_speed, animation.panel_easing, function(){display_slices();});
				$(this).prev().trigger('close');
			}
		});
	
	//Slide behavior
	/*
	$('.slide_image')
		.mouseover(function(){
			animation.auto_animate = false;
			trigger_accordion($(this).parent());
		})
		.click(function(){
			trigger_accordion($(this).parent());
		})
		.mouseout(function(){
			animation.auto_animate = true;
			clearInterval(animation.auto_animate_id);
			animation.auto_animate_id = setInterval('slideshow_animate()', animation.auto_animate_delay);
		});
	*/
	$('.slide')
		.hoverIntent(
			function() {
				animation.auto_animate = false;
				trigger_accordion($(this));
			},
			function() {
				animation.auto_animate = true;
				clearInterval(animation.auto_animate_id);
				animation.auto_animate_id = setInterval('slideshow_animate()', animation.auto_animate_delay);
			}
		)
		.click(function() {
			trigger_accordion($(this));
		});
	
		/*
		.mouseover(function(){
			animation.auto_animate = false;
			trigger_accordion($(this));
		})
		.click(function(){
			trigger_accordion($(this));
		})
		.mouseout(function(){
			animation.auto_animate = true;
			clearInterval(animation.auto_animate_id);
			animation.auto_animate_id = setInterval('slideshow_animate()', animation.auto_animate_delay);
		});
		*/
		
	animation.auto_animate_id = setInterval('slideshow_animate()', animation.auto_animate_delay);
};

function trigger_accordion(slide) {
	if(!(slide.is(':animated'))) {
		slide.trigger('open');
	}
}
					
function display_caption() {
	$('.slide_caption').each(function() {
		if(!($(this).parent().hasClass('active'))) {
			$(this).fadeOut('fast', function() {
				$('.slide.active > .slide_caption').fadeIn(animation.caption_speed);
			});
		}
	});
}

function hide_slices() {
	$('.slide_image_slice').each(function() {
		if($(this).parent().hasClass('active')) {
			$(this).fadeOut('fast');
		}
	});
}

function display_slices() {
	$('.slide_image_slice').each(function() {
		if(!$(this).parent().hasClass('active') && !$(this).is(":visible")) {
			$(this).fadeIn('fast');
		}
	});
}

function slideshow_animate() {
	if(!animation.auto_animate) return;
	
	var next_slide = $('.slide.active').next();
	if(!next_slide.length) {
		next_slide = $('#slide-1');
	}
	
	//next_slide.children('.slide_image').click();
	next_slide.click();
}
