var _currentDirName;
var _currentSlideIdx = 0;
var _displayProgressBar = false;

// JavaScript Document
function displaySlideShow(title, dirName, displayProgressBar)
{	
	//set global flag for this slide show
	_displayProgressBar = (!displayProgressBar) ? false : true;
	
	var h = getObject("photoSlideShowTitle");
	h.innerHTML = title;				
	var win = getSlideWin();
	loadSlideShowFrame(win, dirName, 0)
	//showLayer(win);
	setTimeout("showPopupWindow()", 100); //delay to allow adjust behind scenes	
}

function renderProgressBar(displayProgressBar)
{	
	var win = getSlideWin();
	var progressBar = getObject("progressBar");
	
	if (progressBar != null)	
	{		
		if (_displayProgressBar)		
		{	
			//alert("showing progress bar");
			showObj(progressBar);
 			centerLayerRelative(progressBar, win);
		}			
		else	
			hideObj(progressBar);						
	}
}

function showPopupWindow()
{
	var win = getSlideWin();
	showLayer(win);
}

function loadSlideShowFrame(win, dirName, idx)
{	
	if (!idx)
		idx = 0;
		
	var slides = slideshows[dirName];
	
	if (idx >= slides.length)
		idx = 0; //wrap
	else if (idx < 0)
		idx = slides.length - 1;
	
	var i = slides[idx];			

	var winW = i.sizeX;
	if (winW < 400) //min width from CSS
		winW = 400;
	
	var winH = i.sizeY + 70; //padding for buttons/headers 
	
	//calculate offset for surrounding div producing drop shadow to include padding (10px ea) and border (1px ea)
	setStyleProperty(win, "width", (winW + 22) + "px"); 
	setStyleProperty(win, "height", (winH + 22) + "px");		
	
	var content = getObject("photoSlideShowContent");
	if (content != null)
	{
		setStyleProperty(content, "width", winW + "px");
		setStyleProperty(content, "height", winH + "px");		
	}
	
	
	/*if (progressBar != null)
	{
		setStyleProperty(progressBar, "width", winW + "px");
		setStyleProperty(progressBar, "height", winH + "px");		
	}*/

	//set surrounding div bigger for drop shadow (2px)
	//	alert (winW + " vs " + parseInt(getStyle(win, 'width')));	
	var img = getObject("photoSlideShowFrame");	
	//img = document.images["photoSlideShowFrame"];		
	setStyleProperty(img, "width", i.sizeX + "px");
	setStyleProperty(img, "height", i.sizeY + "px");
	img.src = i.fileName;  
	var btns = getObject("photoSlideShowButtons");


	displayBlockElement(btns, (slides.length > 1));			
		
	centerLayer(win);
	//render bar after layer is centered to avoid bizarre Safari multi-render bug!!!
	renderProgressBar();
	//update curr index
	_currentSlideIdx = idx;
	_currentDirName = dirName;
}

function clearSlide()
{
	var img = getObject("photoSlideShowFrame");
	img.src = "/images/global/spacer.gif";	
}

function hideSlideShow()
{
	var win = getSlideWin();
	hideLayer(win);	
	//reset positioning to avoid shifting viewport on Firefox
	setStyleProperty(win, "top", 0);
	setStyleProperty(win, "left", 0);
	clearSlide(); 
	hideObj("progressBar");
}

function getSlideWin()
{
	return getObject("photoSlideShow");
}

function changeFrame(idx) {
	clearSlide();
	var win = getSlideWin();	
	//fadeOut(win, 50);
	loadSlideShowFrame(win, _currentDirName, idx);
	//fadeIn(win, 40);	
	//window.setTimeout("loadSlideShowFrame('" + win.id + "','" + _currentDirName + "'," + idx + ")", 350);
	//window.setTimeout("fadeIn('"+win.id+"',40)", 400);

}

function displayNextSlide() {
	changeFrame(_currentSlideIdx + 1);
}

function displayPreviousSlide() {
	changeFrame(_currentSlideIdx - 1);
}