var galleryImages = new Spry.Data.XMLDataSet(document.location + "?getSpryData=1", "/root/imageGallery");

var gSlideShowInterval;
if (gSlideShowInterval == undefined)
  gSlideShowInterval = 8000; 

var gAutoStartSlideShow;
if (gAutoStartSlideShow == undefined)
  gAutoStartSlideShow = true;

var gSlideShowTimer = null;
var gSlideShowOn = false;


function gotoUrl(url)
{
	if(url != '')
	{
		window.location = url;
	}

}


function checkCursor(url,alt)
{

	if(url != '')
	{

		document.getElementById('sprylink').style.cursor = 'pointer';
	}
	else
	{
		document.getElementById('sprylink').style.cursor = 'default';
	}	
	
	/* if(alt == '')
	{
	 var d = document.getElementById('sprylink');
	 var dImage = d.getElementsByTagName('img')[0];
	 dImage.setAttribute('alt','this is a picture');
	  dImage.setAttribute('title','');
	}
	else
	{
	 var d = document.getElementById('sprylink');
	 var dImage = d.getElementsByTagName('img')[0];
	 dImage.setAttribute('alt',alt);
	 dImage.setAttribute('title','');
	}
	
	return true;*/
	
	
}



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 != galleryImages.getCurrentRowNumber()){
		Spry.Effect.AppearFade('spry_content', { to: 0, from: 100, duration: 500, finish: function() {
		galleryImages.setCurrentRow(rowID);
		 var rows = galleryImages.getData();
		 var url = rows[rowID]["@imageLink"];
		 var alt = rows[rowID]["@imageDesc"];
	     checkCursor(url,alt);
			//setSelectedControlColor();
			//displaySelectedRowNumber();
			 if (gSlideShowOn)
				setSlideShowTimer();
		}});
	}
}


function advanceToNextSlide(moveBackwards)
{
  var rows = galleryImages.getData();
  var curRow = galleryImages.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];
  //galleryImages.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 < galleryImages.getRowCount(); i++){
		if(i == galleryImages.getCurrentRowNumber()){
			document.getElementById('number_list_'+i).style.backgroundColor = 'CECECE';
		} else {
			document.getElementById('number_list_'+i).style.backgroundColor = '';
		}
	}
}

function displaySelectedRowNumber(){
	document.getElementById('currentrow').innerHTML = galleryImages.getCurrentRowNumber()+1;
}