/*
 * Spinners
 *	
 *	@author John Axel Eriksson
 *	
 *	This is a helper that receives and sends messages to and from the spinners
 *	flashHelper.js must be imported to use this, so import flashhelper.js before you
 *	import this file.
 *	
 */

var spinnerHelper={};

spinnerHelper.spinnersLoaded=0;
spinnerHelper.totalSpinners=0;

spinnerHelper.lastSpinnerId='';
spinnerHelper.firstSpinnerId='';

spinnerHelper.spinnerAnimationDelay=200;
spinnerHelper.spinnerDisplayTime=8000;

spinnerHelper.width=300;
spinnerHelper.height=109;

spinnerHelper.params = {};
spinnerHelper.params.scale = "noscale";
spinnerHelper.params.salign = "tl";
spinnerHelper.params.align = "l";
spinnerHelper.params.allowscriptaccess = "sameDomain";
spinnerHelper.params.bgcolor = "#000000";

spinnerHelper.createSpinners = function(spinners) {
	
	spinnerHelper.totalSpinners=spinners.length;
	spinnerHelper.firstSpinnerId=spinners[0].spinnerId;
	spinnerHelper.lastSpinnerId=spinners[spinners.length-1].spinnerId;
	
	var flashvars;
	
	for(var i=0;i<spinners.length;i++) {
		flashvars=spinners[i];
		flashvars.callback_atTimeInterval='spinnerHelper.atTimeInterval';
		flashvars.callback_animationAtEnd='spinnerHelper.spinnerAnimationAtEnd';
		flashvars.callback_loadingComplete='spinnerHelper.finishedLoading';
		swfobject.embedSWF(
			"flash/Spinner.swf", 
			flashvars.spinnerId, 
			spinnerHelper.width, 
			spinnerHelper.height, 
			"9.0.0", 
			"flash/expressInstall.swf", 
			flashvars, 
			spinnerHelper.params
		);
	}
}


spinnerHelper.atTimeInterval = function (spinnerId, nextSpinnerId, time) {
	if(time>=spinnerHelper.spinnerAnimationDelay) {
		flashHelper.getMovie(spinnerId).stopTimePostingThisRound();
		spinnerHelper.startAnimation(nextSpinnerId);
		if(nextSpinnerId==spinnerHelper.lastSpinnerId) flashHelper.getMovie(nextSpinnerId).stopTimePostingThisRound();
	}
}

spinnerHelper.spinnerAnimationAtEnd = function (spinnerId, nextSpinnerId) {
	if(spinnerId==spinnerHelper.lastSpinnerId) setTimeout("spinnerHelper.startAnimation('"+nextSpinnerId+"')", spinnerHelper.spinnerDisplayTime);
}

spinnerHelper.startAnimation = function (spinnerId) {
	flashHelper.getMovie(spinnerId).startAnimation();
}

spinnerHelper.finishedLoading = function (spinnerId) {
	spinnerHelper.spinnersLoaded++;
	if(spinnerHelper.spinnersLoaded>=spinnerHelper.totalSpinners) setTimeout("spinnerHelper.startAnimation('"+spinnerHelper.firstSpinnerId+"')", spinnerHelper.spinnerDisplayTime);
}