// JavaScript Document

var total_slides = 0;
var current_slide = 0;
var previous_slide = 0;
var interval_duration = 8000;
var interval_id = 0;

function runShow( slide_class )
{
	var browser = navigator.appName;
	
	//	Count number of slides
	var slides = $$(slide_class);
	var num_slides = slides.length;
						
	total_slides = num_slides;
	current_slide = 1;
	previous_slide = num_slides;
	
	new Effect.Parallel([
			new Effect.Appear('slide-'+current_slide, {sync:true}),
			new Effect.Appear('slide-'+current_slide+'-text', {sync:true})],
			{ duration: 1.5 });
	
	window.setInterval("updateSlide('"+slide_class+"')", interval_duration);
}

/*
if( $('flash-slide1').display == "" || $('flash-slide1').style.visibility == "" )
			previous_slide = 'flash-slide1';
		if( $('flash-slide3').display == "" || $('flash-slide3').style.visibility == "" )
			previous_slide = 'flash-slide3';
*/

function updateSlide(slide_class)
{
	//alert('slide');
	//return;
	
	//	Are we at the end?
	if( current_slide >= total_slides ) {
		current_slide = 1;
		previous_slide = total_slides;
	}
	else if( previous_slide >= total_slides ) {
		previous_slide = 1;
		current_slide++;
	}
	else {
		previous_slide++;
		current_slide++;
	}
	
	new Effect.Parallel([
			new Effect.Fade('slide-'+previous_slide, {sync:true}),
			new Effect.Fade('slide-'+previous_slide+'-text', {sync:true}),
			new Effect.Appear('slide-'+current_slide, {sync:true}),
			new Effect.Appear('slide-'+current_slide+'-text', {sync:true})],
			{ duration: 1.5 });
}


var tour_total_slides = 0;
var tour_current_slide = 0;
var tour_previous_slide = 0;
var tour_interval_duration = 2000;
var tour_interval_id = 0;

function run_tour_slide( slide_class )
{	
	//	Count number of slides
	var slides = $$(slide_class);
	var num_slides = slides.length;
	
	tour_total_slides = num_slides-1;
	tour_current_slide = 0;
	tour_previous_slide = num_slides-1;

	new Effect.Appear(slides[tour_current_slide], {duration:.2});
	
	tour_interval_id = window.setInterval("updateTourSlide('"+slide_class+"')", tour_interval_duration);
}

/*
if( $('flash-slide1').display == "" || $('flash-slide1').style.visibility == "" )
			previous_slide = 'flash-slide1';
		if( $('flash-slide3').display == "" || $('flash-slide3').style.visibility == "" )
			previous_slide = 'flash-slide3';
*/

function updateTourSlide(slide_class)
{
	//alert('slide');
	//return;
	
	var slides = $$(slide_class);
	
	//	Are we at the end?
	if( tour_current_slide >= tour_total_slides ) {
		tour_current_slide = 0;
		tour_previous_slide = tour_total_slides;
	}
	else if( tour_previous_slide >= tour_total_slides ) {
		tour_previous_slide = 0;
		tour_current_slide++;
	}
	else {
		tour_previous_slide++;
		tour_current_slide++;
	}
	
	new Effect.Parallel([
			new Effect.Fade(slides[tour_previous_slide], {sync:true}),
			new Effect.Appear(slides[tour_current_slide], {sync:true})], { duration: .5 });
}



function runSuiteShow()
{

	new Effect.Move('suite-internal-large', {y:-450, duration:8});
	new Effect.Move('suite-internal-large', {y:450, duration:4, delay:8});
	
	new Effect.Parallel([
			new Effect.Fade('suite-internal-large', {sync:true}),
			new Effect.Appear('suite-internal-bed', {sync:true})], { duration: 2, delay:12 });
	
	new Effect.Move('suite-internal-bed', {y:-600, duration:8, delay:14});
	new Effect.Move('suite-internal-bed', {y:600, duration:4, delay:22});
	
	
	new Effect.Parallel([
			new Effect.Fade('suite-internal-bed', {sync:true}),
			new Effect.Appear('suite-internal-large', {sync:true})], { duration: 2, delay:26 }); 
	
	
	window.setTimeout("runSuiteShow()", 27000);
}


var about_total_slides = 0;
var about_current_slide = 0;
var about_previous_slide = 0;
var about_interval_duration = 4000;
var about_interval_id = 0;

function runAboutShow( slide_class )
{ 
	//	Count number of slides
	var slides = $$(slide_class);
	var num_slides = slides.length;
						
	about_total_slides = num_slides;
	about_current_slide = 1;
	about_previous_slide = num_slides;
	
	new Effect.Appear(slides[about_current_slide], {duration:1});
	
	about_interval_id = window.setInterval("updateAboutSlide('"+slide_class+"')", about_interval_duration);
}

/*
if( $('flash-slide1').display == "" || $('flash-slide1').style.visibility == "" )
			previous_slide = 'flash-slide1';
		if( $('flash-slide3').display == "" || $('flash-slide3').style.visibility == "" )
			previous_slide = 'flash-slide3';
*/

function updateAboutSlide( slide_class )
{
	//alert(slide_class);
	//return;
	
	var slides = $$(slide_class);
	
	//	Are we at the end?
	if( about_current_slide >= about_total_slides ) {
		about_current_slide = 0;
		about_previous_slide = about_total_slides;
	}
	else if( about_previous_slide >= about_total_slides ) {
		about_previous_slide = 0;
		about_current_slide++;
	}
	else {
		about_previous_slide++;
		about_current_slide++;
	}
	
	new Effect.Parallel([
			new Effect.Fade(slides[about_previous_slide], {sync:true}),
			new Effect.Appear(slides[about_current_slide], {sync:true})], { duration: .5 });
}



/////////////////////////////////////////////////////////////
//	
//
//	REQUIRES: Prototype v1.6+, Scriptaculous v1.8+
//
/////////////////////////////////////////////////////////////


////////////////////////////////
//	SLIDESHOW
//	
////////////////////////////////

function startShow(vars) {
	
	var slides = $$(vars[0]);
	var duration = vars[2];
	
	var num_slides = slides.length;
	
	if( num_slides <= 0 ) { return false; }
	
	//	Scan to see if any slides are visible, if so, hide them.
	for( var i = 0; i < num_slides; i++ ) {
		if( Utility.isVisible( slides[i] ) )
			$(slides[i]).hide();
	}

	//	Show slide 1
	$(slides[0]).show();
	
	//	Start interval
	window.setInterval("update_slideshow('"+vars[0]+"', '"+vars[2]+"')", vars[1]);
	
}


var Slideshow = {
			
	//	TEXT/FORM VALIDATION 
	
	
	////////////////////////////////
	//	
	//	
	startShow: function(vars) {
		
		var slides = $$(vars["class"]);
		var duration = vars["duration"];
		
		var num_slides = slides.length;
		
		if( num_slides <= 0 ) { return false; }
		
		//	Scan to see if any slides are visible, if so, hide them.
		for( var i = 0; i < num_slides; i++ ) {
			if( Utility.isVisible( slides[i] ) )
				$(slides[i]).hide();
		}
				
		//	Show slide 1
		$(slides[0]).show();
		
		//	Start interval
		window.setInterval("update_slideshow('"+vars["class"]+"', '"+vars["duration"]+"')", about_interval_duration);
	},

	////////////////////////////////
	//	
	//	
	update: function(vars) {
		
		
		
	}
};

function update_slideshow( slide_class, duration )
{
	//alert('slide');
	//return;
	
	var slides = $$(slide_class);
	var num_slides = slides.length;
	var current_slide = 0;
	var previous_slide = 0;
	
	if( num_slides <= 0 ) { return };
	
	//	Determine which slide is visible
	for( var i = 0; i < num_slides; i++ ) {
		if( Utility.isVisible( slides[i] ) )
			current_slide = i;
	}
		
	if( current_slide >= num_slides-1 )
		current_slide = 0;
	else
		current_slide++;
		
	if( current_slide == 0 )
		previous_slide = num_slides-1;
	else
		previous_slide = current_slide-1;
	
	new Effect.Parallel([
			new Effect.Fade(slides[previous_slide], {sync:true}),
			new Effect.Appear(slides[current_slide], {sync:true})], { duration: duration });
}
