/* (C) 2006--2010 Scott A. Kuhl */

var slideshow = 0;
var slideshow_timeout = 4000;

var color_selected = '#FF0000';
var color_default = '#333333';

var numImages = imageList.length;
var curImage = startImage


document.onkeydown = checkKeycode;
function checkKeycode(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;

   switch(keycode)
   {
     	case 37: // left
	   relpic(-1, 1);
           break;
        case 39: // right
           relpic(1,1);
           break;
        case 27: //escape
	   hideAllDivs();
           break;
        case 84: // 't'
           showDiv('thumbnails');
           break;
   }



}

function toggleSlideshow()
{
	slideshow = !slideshow;

	if( slideshow )
	{
	      document.getElementById("slideshow").innerHTML = "<img src=\"icons/media-playback-pause.png\" alt=\"Stop slideshow\" title=\"Stop slideshow\" />";	
		relpic(1,0);
	}
	else
	      document.getElementById("slideshow").innerHTML = "<img src=\"icons/media-playback-start.png\" alt=\"Start slideshow\" title=\"Start slideshow\" />";
}

function abspic(indx)
{
	rel = indx - curImage;
	relpic(rel,1);
}

function showDiv(divName)
{
   if(slideshow)
	toggleSlideshow();

   hideAllDivs();
   document.getElementById("header").style.opacity = .5;
   document.getElementById("gallerypic").style.opacity = .5;	
   document.getElementById(divName).style.display = "inline";
}



function hideDiv(divName)
{
   document.getElementById("header").style.opacity = 1;
   document.getElementById("gallerypic").style.opacity = 1;
   document.getElementById(divName).style.display = "none";
}

function hideAllDivs()
{
   hideDiv("thumbnails");
}


function get_thumb_dimen(orig_w, orig_h)
{
	new_w = orig_w / orig_h;
	new_h = 1;

	// set height of thumbnail to 90
	new_w = new_w * 90;
	new_h = new_h * 90;

	if(new_w > 175)      // if this makes the thumbnail too wide, reduce height even more.
	{
		new_h = new_h * (175.0/new_w);
		new_w = new_w * (175.0/new_w);
        }

	new_h = Math.round(new_h);
	new_w = Math.round(new_w);

	return " style=\"width: " + new_w + "px; height: " + new_h + "px\" "; 
}

function relpic(rel, killSlideshow)
{
   if(killSlideshow && slideshow)
	toggleSlideshow();

   /* if we don't want to kill the slideshow, we are running a
      slideshow.  However, if slideshow=0, the show got toggled off after
      this call to relpic was scheduled */
   if(!killSlideshow && !slideshow)
	return;

   hideAllDivs();

   /* unhighlight border on the old selected thumbnail */
   document.getElementById("thumb" + curImage).style.borderColor = color_default;


   /* update curImage */
   curImage += rel;
   while(curImage >= numImages)  curImage -= numImages;
   while(curImage < 0)           curImage += numImages;

   /* highlight newly selected thumbnail */
   document.getElementById("thumb" + curImage).style.borderColor = color_selected;

	/* Change the previous image thumbnail */
	if(curImage == 0)
		document.getElementById("prevpic").innerHTML = "";
	else
		document.getElementById("prevpic").innerHTML = "<a class='hoverbright' accesskey=p href='javascript:relpic(-1,1)'><img src='icons/go-previous.png' alt='Previous image' title='Previous image' width='64' height='64' /><img id=\"navImage\" " + 
		get_thumb_dimen(thumbWidthList[curImage-1], thumbHeightList[curImage-1]) + 
		"src=\"thumbnail.php?file=" + currentDir + imageList[curImage-1] + "\" /></a>";


	if(curImage == numImages-1)
		document.getElementById("nextpic").innerHTML = "";
	else
		document.getElementById("nextpic").innerHTML = "<a class='hoverbright' accesskey=n href='javascript:relpic(1,1)'><img id=\"navImage\" " + 
		get_thumb_dimen(thumbWidthList[curImage+1], thumbHeightList[curImage+1]) + 
 		"src=\"thumbnail.php?file=" + currentDir + imageList[curImage+1] + "\" /><img src='icons/go-next.png' alt='Next image' title='Next image' width='64' height='64' /></a>";


   /* change the image */
   document.getElementById("gallerypic").innerHTML = "<img id=\"gallerypicimg\" style=\"height: " + heightList[curImage] + "px; width: " + widthList[curImage] + "px; opacity: 0.0\" src=\"" + currentDir + imageList[curImage] + "\"><br />" + 
      descrList[curImage] + 
     "<br />Taken on " + dateList[curImage] + 
     " - <a href='gallery.php?galleryPath=" + currentDir + "&start=" + imageList[curImage] + "'>Link to this image</a>";

   // fade in:
   document.getElementById("gallerypicimg").style.opacity = 1.0;

	/* schedule next slideshow swap */
	 if(slideshow)
	{
//		img = document[name];
//		img.onload = function() { setTimeout('relpic(1,0)', slideshow_timeout) }; 
		setTimeout('relpic(1,0)', slideshow_timeout);


        }

	/* preload next image */
	if(curImage + 1 >= numImages)
		preload(0);
	else
		preload(curImage+1);

	scroll(0,0);
}

function preload(i)
{
	pl = new Image();
	pl.src = currentDir + imageList[i];
}




