// feature widget, kev.w

function assignGo(href){
	document.getElementById("go").href = href;
}

function determineSeason() {

	/* Seasonal Date Cut-offs (dc) - kev.w */
	var current_date 	= new Date();									// Winter - Jan   -> Feb
	var dc_spring 		= new Date(current_date.getFullYear(),2,1);	// Spring - March -> May
	var dc_summer 		= new Date(current_date.getFullYear(),5,1);	// Summer - June  -> Aug
	var dc_autumn 		= new Date(current_date.getFullYear(),8,1); 	// Autumn - Sept  -> Oct
	var dc_winter 		= new Date(current_date.getFullYear(),10,1); 	// Winter - Nov	  -> Dec
/*
	var current_date 	= new Date();									// Winter - Jan 1	 -> March 19
	var dc_spring 		= new Date(current_date.getFullYear(),2,20);	// Spring - March 20 -> June 21
	var dc_summer 		= new Date(current_date.getFullYear(),5,22);	// Summer - June 22  -> Sept 22
	var dc_autumn 		= new Date(current_date.getFullYear(),8,23); 	// Autumn - Sept 23	 -> Dec 21
	var dc_winter 		= new Date(current_date.getFullYear(),11,21); 	// Winter - Dec 21	 -> Dec 31
*/
	
	if( current_date < dc_spring || current_date >= dc_winter ) {
		return "Winter";
	} else if( current_date >= dc_spring && current_date < dc_summer ) {
		return "Spring";
	} else if( current_date >= dc_summer && current_date < dc_autumn ) {
		return "Summer";
	} else {
		return "Autumn";
	}
}

function populateImageSet( season ) {
	
	switch( season ) {
		case "Winter":
			image_set[0] = 'feat_win_childski.jpg';
			image_set[1] = 'feat_win_familyjump.jpg';
			image_set[2] = 'feat_win_olderskier.jpg';
			image_set[3] = 'feat_win_parkhill.jpg';
			image_set[4] = 'feat_win_skichair.jpg';
			image_set[5] = 'feat_win_snowangel.jpg';
			image_set[6] = 'feat_win_snowboardduo.jpg';
			image_set[7] = 'feat_win_snowboardtrio.jpg';
				break;
		case "Spring":
			image_set[0] = 'feat_gen_family.jpg';
			image_set[1] = 'feat_gen_familybike.jpg';
			image_set[2] = 'feat_gen_girlrun.jpg';
			image_set[3] = 'feat_gen_girlsswim.jpg';
			image_set[4] = 'feat_gen_girlsswing.jpg';
			image_set[5] = 'feat_gen_kidsjump.jpg';
			image_set[6] = 'feat_gen_oldercouple.jpg';
				break;
		case "Summer":
			image_set[0] = 'feat_sum_boyclimb.jpg';
			image_set[1] = 'feat_sum_fatherson.jpg';
			image_set[2] = 'feat_sum_girlsline.jpg';
			image_set[3] = 'feat_sum_golfcouple.jpg';
			image_set[4] = 'feat_sum_powwow.jpg';
			image_set[5] = 'feat_sum_wheelchair.jpg';				
				break;
		case "Autumn":
			image_set[0] = 'feat_fal_famwalk.jpg';
			image_set[1] = 'feat_fal_girlstree.jpg';
			image_set[2] = 'feat_fal_momdaughter.jpg';
			image_set[3] = 'feat_fal_oldercouplewalk.jpg';
			image_set[4] = 'feat_fal_streethockey.jpg';
			image_set[5] = 'feat_fal_womanwalk.jpg';				
				break;
	}
	
}

function preloadImageSet() {
	for( var i = 0; i < image_set.length; i++ ) {
		image_pre[i] = new Image();
		image_pre[i].src = base_url + image_set[i];
	}
}

function getImageHTML( i ) {
	var html = '<img src="'+ base_url + image_set[ i ] + '" alt="'+ season +' Image" />';	
	return html;
}

/* BETA - photo gallery - kev.w */

/* Variables */
var fader = null;
var index = 0;
var repeater = null;
var playing = true;
var locked = false;

var season = "";
var base_url = "/canada/common/images/interface/homepage/features/";

var image_set = Array(); // filenames
var image_pre = Array(); // preload


/* Initialize fader */
var init = function() {
	
	fader = new YAHOO.util.Motion("fader"); 
	fader.method = YAHOO.util.Easing.easeOut; 
	
	// determine season
	season = determineSeason();
	
	// generate image set
	populateImageSet( season );

	// preload images
	preloadImageSet();
	
	// load initial image
	document.getElementById("fader").innerHTML = getImageHTML( index );
	
	// start
	start();
}

/* Start slideshow */
var start = function() {
	repeater = window.setInterval(play,6000);
}

/* Plays slideshow, called by start() */
var play = function() {
	next();
}								

/* Handles transition to next image */
var next = function() {
	index++;
	preload();
	fadeOut();
}

/* Image fadeout */
var fadeOut = function() {
	fader.duration = 0.6;
	fader.attributes.opacity = { from : 1, to : 0 };
	fader.onComplete.subscribe(swap);
	fader.animate(); 
}

/* Image fadein */
var fadeIn = function() {
	fader.duration = 1.3;
	fader.attributes.opacity = { from : 0, to : 1 };
	fader.onComplete.unsubscribe(swap);
	fader.animate(); 				
}

/* Swaps image after fadeout */
var swap = function() {	
	document.getElementById("fader").innerHTML = getImageHTML( index );
	fadeIn();
}			

/* Image preload for smooth transitions */
var preload = function() {
	if (index == image_set.length)
		index = 0;
	else if (index < 0)
		index = image_set.length - 1;
	
	document.getElementById("preload").innerHTML = getImageHTML( index );	
}			
	
