var slide;
var slideIndex = 0;
var oldSlideIndex = 0;
var maxSlides = 0;

var Sliding = false;

var Timer;

var CanSlide = true;
var CanSlideControl = true;

$(document).ready(function(){
	if(document.getElementById('Landing-Splash') == null)
		return;

	Timer = setInterval(NextSlide, 8000);
	
	var Slides = $('#Splash-Slides div');
	maxSlides = Slides.length;
	
	var SlideOverlay = $('#Landing-Splash-Controls');
	if(SlideOverlay != null) {
		for(var i = maxSlides; i > 0; i--)
			SlideOverlay.append('<a id="Splash-Control-'+(i-1)+'" href="#" class="'+((i == 1)?'Splash-Slider-Button-Selected':'Splash-Slider-Button')+'" onclick="PerformSlide('+(i-1)+')"></a>');
	}

	$('#Landing-Splash').bind('mouseenter', function(){ 
		CanSlide = false;
	}).bind('mouseleave', function(){
		CanSlide = true;
	});

	$('#Landing-Splash-Controls').bind('mouseenter', function(){ 
		CanSlide = false;
	}).bind('mouseleave', function(){
		CanSlide = true;
	});
});

function NextSlide(){

	if(!CanSlide)
		return;

	var SlideTo = (oldSlideIndex + 1 < maxSlides) ? oldSlideIndex + 1 : 0 ;

	PerformSlide(SlideTo);
}


function PerformSlide(Id) {

	if(Sliding)
		return;
		
	Sliding = true;
		
	slideIndex = Id;
	
	slide = $('#Splash-Slides div:eq('+Id+')');

	if(SlideOverlay != null) {
		
		$('#Landing-Splash-Controls a').attr('class', 'Splash-Slider-Button');
	
		$('#Splash-Control-'+Id).attr('class', 'Splash-Slider-Button-Selected');

		SlideOverlay('down', function() {
			ChangeSlide(function(){
				SlideOverlay('up', function(){
					oldSlideIndex = slideIndex;
					
					Sliding = false;
				});
			});
		});
	}
}

function SlideOverlay(dir, callback) {
	var SlideOverlay = $('#Landing-Splash-Overlay');
	SlideOverlay.animate({
		bottom: dir == 'down' ? -SlideOverlay.outerHeight() : 0
	}, 350, 'linear', function(){
		if(dir == 'down'){
			SlideOverlay.html(slide.html());
		}
		callback();
	});
}

function ChangeSlide(callback) {
	var Slide = $('#Landing-Splash');
	
	if(Slide != null){
		Slide.fadeTo(500, 0.01, function(){
			Slide.attr('class', '');
			Slide.addClass(slide.attr('class'));
		
			Slide.fadeTo(500, 1, callback);
		});
	}
}