/**********************************************************
 * Suzy's Javascript Photo Album, version 8.0, March 17, 2004
 *
 * Changed this version:  javascript is now in two seperate external
 *									  files, and put "spaces" in category names.
 *
 * This javascript may not be used on other sites without prior permission.
 *
 * You may contact me at photokity@hotmail.com for assistance. 
 *    
 * $Header: y:\\cvsrepos/gs_web/photoalbum-code.js,v 1.2 2005/02/20 21:22:59 rowens Exp $
 **********************************************************/

self.name = 'main'; // If you are using frames, change "main" to the name of the frame that the photoalbum is in.

current = 0; // Sets the current picture being shown to the first one.

ActiveVar = 0; // Sets up the variable that counts the pictures.
var ActiveArray = new Array() // Sets up the active array.
for (loop=0; loop < MainVar; loop++) {
  ActiveArray[ActiveVar++] = new Fix(MainArray[loop].DatVal, MainArray[loop].PicVal, MainArray[loop].TitVal, MainArray[loop].CatVal, MainArray[loop].TxtVal)
}

function DisplayCategories() { // Lists out the categories.
  TotalCategories = SuzyCategory.length;
  for (loop=0; loop < TotalCategories; loop++)  {
    document.write('<option value="' + SuzyCategory[loop] + '">' + SuzyCategory[loop] + '</option>');
  }
}

function FindPic() { // The search for a photo feature.
  TotalFound = 0;
  SearchString = document.SuzyForm.SearchWord.value;
  SearchString = SearchString.toLowerCase();
  WriteResults = window.open("","resultwindow","height=310, width=290, toolbar=0, status=0, menubar=0, resizable=1, scrollbars=1");
  WriteResults.document.open();
  WriteResults.document.write('<style type=text/css>body{background:url(images/album/parchment.jpg); font:8pt verdana}'
    + 'a{text-decoration:none}'
	+ 'img{border:2px ridge #ffaaaa; height:50px; vertical-align:middle}'
	+ '</style>'
    + 'You searched for:  <i>' + SearchString + '</i>'
	+ '<br>Category:  <i>' + parent.document.SuzyForm.CategoryDropdown.options[parent.document.SuzyForm.CategoryDropdown.selectedIndex].value + '</i>'
	+ '<p><b>Results:</b></p>');
  for (loop=0; loop < ActiveVar ; loop++) {
    Keyword = ActiveArray[loop].TxtVal;
    Keyword = Keyword.toLowerCase();
    URL = ActiveArray[loop].PicVal;
    title = ActiveArray[loop].TitVal;
    title = title.toLowerCase();
    SearchResult = Keyword.indexOf(SearchString);
    SearchResult2 = title.indexOf(SearchString);
    if (SearchResult != "-1" || SearchResult2 != "-1") {
      WriteResults.document.write('<p><a href="javascript:ShowSuzyPic(' + loop + ');" target="main"><img src="' + ActiveArray[loop].PicVal + '"/></a>  '+title+'</p>');
      TotalFound++;
    }
  }
  WriteResults.document.write('<p><b>Returned ' + TotalFound + ' results.</b></p><p><a href="javascript:window.close();">close window</a></p>');
  WriteResults.document.close();
}

function LoadPiclist() { // Loads initial list of pictures on web page.
  for (loop=0; loop < MainVar; loop++)  {
    document.write('<option value="' + ActiveArray[loop].PicVal + '">' + ActiveArray[loop].TitVal + '</option>');
  }
}

function LoadNextPic()  { // Loads next picture for faster operation.
	NextImage = new Image();
	NextPic = current + 1;
    if (NextPic>=ActiveVar) NextPic = 0;
    NextImage.src = ActiveArray[NextPic].PicVal;
}

function NextSuzyPic() { // Flips to the next photo.
  TotalImages = document.SuzyForm.SuzyDropdown.options.length;
  current++;
  if (current>=ActiveVar) current = 0;
  ShowSuzyPic(current);
}

LoadThis = 0;
function PreLoader() { // If checked, preloads all images into cache.  Five second interval between pics.
  if (SuzyForm.PreloadPics.checked && ++LoadThis < MainVar) {
    ShowingImage = new Image();
    ShowingImage.src = MainArray[LoadThis].PicVal;
	window.status="Pre-Loading image... '" + MainArray[LoadThis].PicVal + "'";
    RunLoader();
  } else {
	window.status=" ";
  }
}

function PreviousSuzyPic() { // Flips to the previous photo.
  current--;
  if(current<0) current = ActiveVar - 1;
  ShowSuzyPic(current);
}

function RandomSuzyPic() { // Shows a random photo.
  randompic = Math.floor(Math.random()*ActiveVar);
  ShowSuzyPic(randompic);
}

function RunLoader() { // Pre-loads all images every 5 seconds, if checkbox is selected.
  timerLoad = setTimeout("PreLoader()",5000)
}

function RunSlideShow() { // Shuffles the photos in a slide show.
    timerSlideShow = setTimeout("NextSuzyPic();",document.SuzyForm.Timer.value*1000)
}

function ShowSuzyCategory(picked) { // Shows the pictures in that category.
  ActiveArray.length = 0;
  PicList = '<select size="13" style="width:200px; font:8pt verdana" name="SuzyDropdown" onChange="ShowSuzyPic(SuzyForm.SuzyDropdown.options.selectedIndex);">';
  ActiveVar = 0;
  current = 0;
  for (loop=0; loop < MainVar; loop++) {
    if (MainArray[loop].CatVal.toLowerCase() == picked.toLowerCase() || picked == "All") {
      ActiveArray[ActiveVar++] = new Fix(MainArray[loop].DatVal, MainArray[loop].PicVal, MainArray[loop].TitVal, MainArray[loop].CatVal, MainArray[loop].TxtVal)
     PicList = PicList + '<option value="' + MainArray[loop].PicVal + '">' + MainArray[loop].TitVal + '</option>'; 
	} 
  }
  PicList = PicList + '</select>';
  document.getElementById('PicSpot').innerHTML = PicList;
}

var timerID, timerSlideShow;

function ShowSuzyPic(newpic) { // Shows the photo and text on the page.
  current = newpic;
  SelectionBox = document.SuzyForm.SuzyDropdown;
  if (SelectionBox.options.length == 0) return;
  SelectionBox.options[current].selected = true;
  document.getElementById('SuzySpot').innerHTML = '<a href="javascript:SuzyPicRemote(\'' + ActiveArray[current].PicVal + '\');"><img name="PicShowing" src="' + ActiveArray[current].PicVal + '" height="200" border="0"/></a>';
  //document.getElementById("Journal").outerHTML = '<div id=journal><br><b>' + ActiveArray[current].TitVal + '</b><p>' + ActiveArray[current].DatVal + '<p style="text-align:justify; text-indent:25px">' + ActiveArray[current].TxtVal + '</div>';
  document.getElementById('Journal').innerHTML = '<br/><b>' + ActiveArray[current].TitVal + '</b><p>' + ActiveArray[current].DatVal + '</p><p style="text-align:justify; text-indent:25px">' + ActiveArray[current].TxtVal+'</p>';
  if (document.SuzyForm.WhereView[1].checked) {
    clearTimeout(timerID);
    timerID = setTimeout('SuzyPicRemote(ActiveArray[current].PicVal)',1000)
  }
  if (document.SuzyForm.SelectedMode[0].checked) {
    clearTimeout(timerSlideShow);
    timerSlideShow = setTimeout('NextSuzyPic();',document.SuzyForm.Timer.value*1000)
	LoadNextPic();
  } else {
    LoadNextPic();
  }
}
function SuzyPicRemote(picName) { // Pops up the photo in a remote window.
    ShowingImage = new Image();
    ShowingImage.src = picName;
    wid = ShowingImage.width + 50;
    hei = ShowingImage.height + 60;
  if (wid < 30 || hei < 30) {
    wid=650;
    hei=490;
  }
  if (screen.width < wid || screen.height < hei) {
    wid = screen.width - 50;
    hei = screen.height - 50;
  }
  OpenWindow = window.open("", "remoteWin", "resizable=1, scrollbars=1, toolbar=0, left=15, top=10, width=" + wid + ", height=" + hei);
  OpenWindow.document.open();
  OpenWindow.document.write('<html><head><title>' + ActiveArray[current].TitVal + '</title></head>'
    + '<body style="background:url(images/album/parchment.jpg); font:8pt verdana; margin:2px"><center>' + ActiveArray[current].DatVal + '<br/>'
    + '<img src="' + picName + '" /><br/>' + ActiveArray[current].TxtVal
	+ '<br/><a href="javascript:window.close();">close window</a></center></body></html>');
  OpenWindow.document.close();
}
