// JavaScript Document
var observer = {};

observer.nextEffect = false;
observer.startAutoSlide = function(){
	var rowNo = tickerDs.getCurrentRowNumber();
	rowNo = (rowNo >= ((tickerDs.getRowCount())-1))? 0 : rowNo+1;
	tickerDs.setCurrentRowNumber(rowNo);
	var row = tickerDs.getCurrentRow();	
	slideTimer = setTimeout(function(){myPanelsSlides(row['ds_RowID']);}, 5000);
}
observer.onPostEffect = function(e){
	if (this.nextEffect)
	{
		var eff = this.nextEffect;
		setTimeout(function(){eff.start();}, 10);
	}else{
		this.startAutoSlide();
	}

	this.nextEffect = false;
	
}
observer.onPostUpdate = function(){
	var row = tickerDs.getCurrentRow();
	myPanelsSlides(row['ds_RowID']);
}

function myPanelsSlides(currentPanelID)
{
 tickerDs.setCurrentRow(currentPanelID);
 var row = tickerDs.getCurrentRow();
 var currentPanel = row['@id'];
 
  if(slideTimer){
	   clearTimeout(slideTimer);
   }
	
   // The list of all the panels that need sliding
	panels.push(currentPanel); 
	var opened = -1;

	// Let's check if we have an effect for each of these sliding panels
	if (typeof effects == 'undefined')
		effects = {};

	for (var i=0; i < panels.length; i++)
	{
		if (typeof effects[panels[i]] == 'undefined'){
			effects[panels[i]] = new Spry.Effect.Slide(panels[i], {from: '0%', to: '100%', toggle: true, horizontal: true});
			//effects[panels[i]] = new Spry.Effect.Fade(panels[i], {duration: 1000, from: 0, to: 100, toggle:true});
			effects[panels[i]].addObserver(observer);
		}
		 
		if (effects[panels[i]].direction == Spry.forwards && currentPanel != panels[i])
			opened = i;

		//prevent too fast clicks on the buttons
		if (effects[panels[i]].direction == Spry.backwards && effects[panels[i]].isRunning)
		{
			observer.nextEffect = effects[currentPanel];
			return;
		}
	}

	if (opened != -1)
	{
		observer.nextEffect = effects[currentPanel];
		effects[panels[opened]].start();
	} 
	else if (effects[currentPanel].direction != Spry.forwards)
	{
		effects[currentPanel].start();
	}
};
var panels = [];
var slideTimer = null;
var tickerDs = new Spry.Data.XMLDataSet("/ticker/ticker.xml", "ticker/item",{useCache:false});
tickerDs.setColumnType("@id", "string");
tickerDs.setColumnType("title", "html");
var tickerList = new Spry.Data.PagedView(tickerDs,{pageSize:12});
var tickerPagingInfo = tickerList.getPagingInfo();
Spry.Data.Region.addObserver('ticker',observer);



/*  Feature Scroller */
var current_feature = 1;
var num_features = 4;
var interval = 10000;


function show_next_feature(show){
	//alert(show);
	//current_feature = show;
	
	//
	next_feature = show;
	//current_feature = next_feature;

	picGalleryChangeDisplay(next_feature);
} 

function picGalleryChangeDisplay(show)
{
/*	alert(show);
*/	// Change Text
	document.getElementById("feature_text_" + current_feature).style.display = "none";
	document.getElementById("feature_text_" + show).style.display = "block";
	document.getElementById("con_features_text").style.backgroundColor = feature_color[show];
	
	// Change Image
	document.getElementById("feature_image_" + current_feature).style.display = "none";
	document.getElementById("feature_image_" + show).style.display = "block";
	//document.images["feature_img"].src = feature_images[show];
	current_feature = show;
	
	if(current_feature == num_features)
		next_feature = 1;
	else
		next_feature = show+1;
	//current_feature = next_feature;
	//setTimeout ( "show_next_feature(next_feature)", interval );
	setTimeout ("show_next_feature(next_feature)", interval );
}



function start_feature_scroll(){
	next_feature = current_feature+1;
	//current_feature = next_feature;
	document.getElementById("con_features_text").style.backgroundColor = feature_color[1];
	setTimeout ( "picGalleryChangeDisplay(next_feature)", 10000 );
} 

/* End Feature Scroller */

