var featureList = new Spry.Data.XMLDataSet("http://" + document.domain + "/shared/featureList_XML.cfm", "/root/content");

var gSlideShowInterval;
if (gSlideShowInterval == undefined)
  gSlideShowInterval = 8000; 

var gAutoStartSlideShow;
if (gAutoStartSlideShow == undefined)
  gAutoStartSlideShow = true;

var gSlideShowTimer = null;
var gSlideShowOn = false;


function fadeInContent(notificationType, notifier, data)
{
	if (notificationType != "onPostUpdate")
		return;
	Spry.Effect.AppearFade('spry_content', { to: 100, from: 0, duration: 500 });
}

Spry.Data.Region.addObserver('spry_content', fadeInContent);

function fadeOutContentThenSetRow(rowID)
{
	if(rowID != featureList.getCurrentRowNumber()){
		Spry.Effect.AppearFade('spry_content', { to: 0, from: 100, duration: 500, finish: function() {
			featureList.setCurrentRow(rowID);
			setSelectedControlColor();
			//displaySelectedRowNumber();
			 if (gSlideShowOn)
				setSlideShowTimer();
		}});
	}
}


function advanceToNextSlide(moveBackwards)
{
  var rows = featureList.getData();
  var curRow = featureList.getCurrentRow();
  
  if (rows.length < 1)
    return;

  for (var i = 0; i < rows.length; i++)
  {
    if (rows[i] == curRow)
    {
      if (moveBackwards)
        --i;
      else
        ++i;
      break;
    }
  }

  if (!moveBackwards && i >= rows.length)
    i = 0;
  else if (moveBackwards && i < 0)
    i = rows.length - 1;

  curRow = rows[i];
  //featureList.setCurrentRow(curRow["ds_RowID"]);
  fadeOutContentThenSetRow(curRow["ds_RowID"]);
}

function setSlideShowTimer()
{
  killSlideShowTimer();
  gSlideShowTimer = setTimeout(function(){ gSlideShowTimer = null; advanceToNextSlide(false); }, gSlideShowInterval);
}

function killSlideShowTimer()
{
  if (gSlideShowTimer)
    clearTimeout(gSlideShowTimer);
  gSlideShowTimer = null;
}

function startSlideShow(skipTimer){
	gSlideShowOn = true;
	if (!skipTimer)
		setSlideShowTimer();
	document.getElementById('imgPlayPause').src = '../interface/pause_ctrl.gif';
	document.getElementById('imgPlayPause').alt = 'Pause';
}

function stopSlideShow(){
	gSlideShowOn = false;
	killSlideShowTimer();
	document.getElementById('imgPlayPause').src = '../interface/play_ctrl.gif';
	document.getElementById('imgPlayPause').alt = 'Play';
}

function doPlayPause(){
	if(gSlideShowOn){
		stopSlideShow();
	} else {
		startSlideShow();
	}
}

function HandleRowClick(rowID)
{
  stopSlideShow();
  fadeOutContentThenSetRow(rowID);
}

function setSelectedControlColor(){
	for(var i = 0; i < featureList.getRowCount(); i++){
		if(i == featureList.getCurrentRowNumber()){
			document.getElementById('number_list_'+i).style.backgroundColor = 'CECECE';
		} else {
			document.getElementById('number_list_'+i).style.backgroundColor = '';
		}
	}
}

function displaySelectedRowNumber(){
	document.getElementById('currentrow').innerHTML = featureList.getCurrentRowNumber()+1;
}