var oilPictures = new Array();
var oilCaptions = new Array();

var quiltPictures = new Array();
var quiltCaptions = new Array();

var specPictures = new Array();
var specCaptions = new Array();

var bigPictures = new Array();
var bigCaptions = new Array();

var errPictures = new Array();
var errCaptions = new Array();

var captions = new Array(oilCaptions, specCaptions, quiltCaptions,
                         bigCaptions, errCaptions);
var pictures = new Array(oilPictures, specPictures, quiltPictures,
                         bigPictures, errPictures);

var oilNailWidths = new Array();
var specNailWidths = new Array();
var quiltNailWidths = new Array();
var nailWidths = new Array(oilNailWidths, specNailWidths,
                           quiltNailWidths);

var oilNailHeights = new Array();
var specNailHeights = new Array();
var quiltNailHeights = new Array();
var nailHeights = new Array(oilNailHeights, specNailHeights,
                            quiltNailHeights);

var x_coord = 0;
var y_coord = 0;

var oilPopup = null;
var specPopup = null;
var quiltPopup = null;
var bigPopup = null;
var popups = new Array(oilPopup, specPopup, quiltPopup,
                       bigPopup);
var popupNames = new Array("oilPopup", "specPopup", "quiltPopup",
                           "bigPopup");

function lookupPicture(name, reportFailure) {
  var x;
  var y;

  name = extractPictureFromURL(name);

  for (x = 0; x < pictures.length; x++) {
    for (y = 0; y < pictures[x].length; y++) {
      if (pictures[x][y] == name) {
        x_coord = x;
        y_coord = y;
        return true
      }
    }
  }
  
  if (reportFailure == true) {
    alert("Cannot find picture: " + name);
  }

  x_coord = pictures.length - 1;
  y_coord = 0;
  return false;
}

function openPopup(popupSrc, picture) {
  var options = 'titlebar=no,toolbar=no,width=620,height=440,' +
                'directories=no,status=no,menubar=no,' +
                'scrollbars=no,resizable=no';

  lookupPicture(picture, true);

  if (popups[x_coord] != null) {
      popups[x_coord].close();
  }

  popups[x_coord] = open(popupSrc + "#" + picture,
                         popupNames[x_coord], options);
  popups[x_coord].focus();
}

function openBigPopup() {
  var big = extractPictureFromURL(document.pic.src);

  var index = big.lastIndexOf(".");
  if (index == -1) {
    alert("Invalid picture file format: " + big);
    return; 
  }

  big = big.substring(0, index) + "_big.jpg";
  if (!lookupPicture(big, false)) {
    alert("A larger image does not currently exist.");
    return;
  }

  openPopup("bigpopup.html", pictures[x_coord][y_coord]);
}

function extractPictureFromURL(url) {   
  var index = url.lastIndexOf("#");
  if (index != -1) {
    url = url.substring(index+1);
    if (url  == null) {
      alert("Cannot extract current picture from URL: " + url);
      return "doesnotexist.jpg"
    }
  }

  index = url.lastIndexOf("/");
  if (index != -1) {
    url = url.substring(index+1);
  }

  return url;
}

function getBigPictureURL() {
    lookupPicture(document.URL, true);
    return pictures[x_coord][y_coord];
}

function loadPrevPicture() {
  lookupPicture(parent.picframe.document.pic.src, true);

  var numPictures = pictures[x_coord].length;
  index = (y_coord + numPictures - 1) % numPictures;

  loadNewPicture(index);
}

function loadNextPicture() {
  lookupPicture(parent.picframe.document.pic.src, true);

  var numPictures = pictures[x_coord].length;
  index = (y_coord + 1) % numPictures;

  loadNewPicture(index);
}

function loadNewPicture(index) {
  parent.picframe.document.pic.src = pictures[x_coord][index];

  parent.capframe.document.open();
  parent.capframe.document.write("<html><body bgcolor='blue' " + 
                                 "text='white'>");
  parent.capframe.document.write(captions[x_coord][index]);
  parent.capframe.document.write("</body></html>");
  parent.capframe.document.close();

  var myId = index + 1;
  var outOf = pictures[x_coord].length;

  parent.footframe.document.open();
  parent.footframe.document.write("<html><body bgcolor='blue' " +
                                  "text='white'>");
  parent.footframe.document.write("" + myId + " of " + outOf);
  parent.footframe.document.write("</body></html>");
  parent.footframe.document.close();
}

function getInitialContext() {
    lookupPicture(parent.document.URL, true);
}

function getInitialPicture() {
    getInitialContext();
    return pictures[x_coord][y_coord];
}

function getInitialCaption() {
    getInitialContext();
    return captions[x_coord][y_coord];
}

function getInitialCoords() {
    getInitialContext();
    var myId = y_coord + 1;
    var outOf = pictures[x_coord].length;
    return "" + myId + " of " + outOf;
}

function writePictureIndex(x) {
  var i;
  var j;

  document.write("<table>");

  for (i = 0; i < pictures[x].length; i += 7) {
    document.write("<tr>");
    for (j = i; j < pictures[x].length && j < i + 7; j++) {
      document.write("<td valign='baseline' align='center'>");

      document.write("<a href='javascript:openPopup(\"popup.html\", \"" +
                     pictures[x][j] + "\");'>");
      document.write("<img src='" + pictures[x][j] +
                     "' width='" + nailWidths[x][j] +
                     "' height='" + nailHeights[x][j] +
                     "'>");

      document.write("</a>");
      document.write("</td>");
    }
    document.write("</tr>");
  }

  document.write("</table>");
}

bigPictures[0] = "p8_big.jpg";
bigPictures[1] = "p3_big.jpg";
bigPictures[2] = "p2_big.jpg";
bigPictures[3] = "q10_big.jpg";
bigPictures[4] = "q11_big.jpg";
bigPictures[5] = "q6_big.jpg";
bigPictures[6] = "q13_big.jpg";
bigPictures[7] = "q7_big.jpg";
bigPictures[8] = "q8_big.jpg";
bigPictures[9] = "q9_big.jpg";
bigPictures[10] = "q12_big.jpg";
bigPictures[11] = "q3_big.jpg";
bigPictures[12] = "q4_big.jpg";
bigPictures[13] = "p5_big.jpg";
bigPictures[14] = "p4_big.jpg";
bigPictures[15] = "p1_big.jpg";
bigPictures[16] = "p7_big.jpg";
bigPictures[17] = "q14_big.jpg";
bigPictures[18] = "p9_big.jpg";

bigCaptions[0] = "<i><b><font color='red'>River's Bend</font></b></i>";
bigCaptions[1] = "<i><b><font color='red'>Upper Thompson</font></b></i>";
bigCaptions[2] = "<i><b><font color='red'>Frosty Silence</font></b></i>";
bigCaptions[3] = "<i><b><font color='red'>Allison</font></b></i>";
bigCaptions[4] = "<i><b><font color='red'>Sue Back</font></b></i>";
bigCaptions[5] = "<i><b><font color='red'>Ed</font></b></i>";
bigCaptions[6] = "<i><b><font color='red'>Thruston Racing</font></b></i>";
bigCaptions[7] = "<i><b><font color='red'>Minerva</font></b></i>";
bigCaptions[8] = "<i><b><font color='red'>Beth Back</font></b></i>";
bigCaptions[9] = "<i><b><font color='red'>Beth Front</font></b></i>";
bigCaptions[10] = "<i><b><font color='red'>Sue Front</font></b></i>";
bigCaptions[11] = "<i><b><font color='red'>Sam</font></b></i>";
bigCaptions[12] = "<i><b><font color='red'>Ben</font></b></i>";
bigCaptions[13] = "<i><b><font color='red'>Frozen Over</font></b></i>";
bigCaptions[14] = "<i><b><font color='red'>Along the Path</font></b></i>";
bigCaptions[15] = "<i><b><font color='red'>Wind Blown</font></b></i>";
bigCaptions[16] = "<i><b><font color='red'>Aspen</font></b></i>";
bigCaptions[17] = "<i><b><font color='red'>Allison</font></b></i>";
bigCaptions[18] = "<i><b><font color='red'>Long Trek</font></b></i>";

var i = 0;

oilPictures[i++] = "p9.jpg";
oilPictures[i++] = "p8.jpg";
oilPictures[i++] = "p2.jpg";
oilPictures[i++] = "p3.jpg";
oilPictures[i++] = "p4.jpg";
oilPictures[i++] = "p5.jpg";
oilPictures[i++] = "p6.jpg";
oilPictures[i++] = "p7.jpg";
oilPictures[i++] = "p1.jpg";

i = 0;

oilCaptions[i++] = "<i><b><font color='red'>Long Trek</font></b></i><br>" +
                   "20x10<br>Water Soluble Oil<br>Canvas";
oilCaptions[i++] = "<i><b><font color='red'>River's Bend</font></b></i><br>" +
                   "15x30<br>Water Soluble Oil<br>Canvas Panel";
oilCaptions[i++] = "<i><b><font color='red'>Frosty Silence</font></b></i><br>" + 
                   "24x12<br>Water Soluble Oil<br>Canvas";
oilCaptions[i++] = "<i><b><font color='red'>Upper Thompson</font></b></i><br>" +
                   "18x14<br>Water Soluble Oil<br>Canvas Panel<br>" + 
                   "<br><br><font color='red'><b>3rd Place, American Airlines: " +
                   "On your Own Time Art Show<b></font>";
oilCaptions[i++] = "<i><b><font color='red'>Along the Path</font></b></i><br>" +
                   "14x18<br>Water Soluble Oil<br>Canvas Panel";
oilCaptions[i++] = "<i><b><font color='red'>Frozen Over</font></b></i><br>" +
                   "18x14<br>Water Soluble Oil<br>Canvas Panel";
oilCaptions[i++] = "<i><b><font color='red'>White Silence</font></b></i><br>" +
                   "16x12<br>Water Soluble Oil<br>Canvas Panel";
oilCaptions[i++] = "<i><b><font color='red'>Aspen</font></b></i><br>" +
                   "10x20<br>Water Soluble Oil<br>Canvas Panel";
oilCaptions[i++] = "<i><b><font color='red'>Wind Blown</font></b></i><br>" +
                   "9x12<br>Water Soluble Oil<br>Canvas Panel";

i = 0;

oilNailWidths[i++] = "30";
oilNailWidths[i++] = "60";
oilNailWidths[i++] = "30";
oilNailWidths[i++] = "40";
oilNailWidths[i++] = "40";
oilNailWidths[i++] = "40";
oilNailWidths[i++] = "40";
oilNailWidths[i++] = "60";
oilNailWidths[i++] = "50";

i = 0;

oilNailHeights[i++] = "60";
oilNailHeights[i++] = "30";
oilNailHeights[i++] = "60";
oilNailHeights[i++] = "50";
oilNailHeights[i++] = "35";
oilNailHeights[i++] = "50";
oilNailHeights[i++] = "50";
oilNailHeights[i++] = "30";
oilNailHeights[i++] = "40";

quiltPictures[0] = "q1.jpg";
quiltPictures[1] = "q10.jpg";
quiltPictures[2] = "q11.jpg";
quiltPictures[3] = "q6.jpg";
quiltPictures[4] = "q13.jpg";
quiltPictures[5] = "q5.jpg";
quiltPictures[6] = "q7.jpg";
quiltPictures[7] = "q8.jpg";
quiltPictures[8] = "q9.jpg";
quiltPictures[9] = "q12.jpg";
quiltPictures[10] = "q2.jpg";
quiltPictures[11] = "q3.jpg";
quiltPictures[12] = "q4.jpg";
quiltPictures[13] = "q14.jpg";

quiltCaptions[0] = "<i><b><font color='red'>David</font></b></i>";
quiltCaptions[1] = "<i><b><font color='red'>Allison</font></b></i>";
quiltCaptions[2] = "<i><b><font color='red'>Sue Back</font></b></i>";
quiltCaptions[3] = "<i><b><font color='red'>Ed</font></b></i>";
quiltCaptions[4] = "<i><b><font color='red'>Thruston Racing</font></b></i>";
quiltCaptions[5] = "<i><b><font color='red'>Crisann</font></b></i>";
quiltCaptions[6] = "<i><b><font color='red'>Minerva</font></b></i>";
quiltCaptions[7] = "<i><b><font color='red'>Beth Back</font></b></i>";
quiltCaptions[8] = "<i><b><font color='red'>Beth Front</font></b></i>";
quiltCaptions[9] = "<i><b><font color='red'>Sue Front</font></b></i>";
quiltCaptions[10] = "<i><b><font color='red'>Meghan</font></b></i>";
quiltCaptions[11] = "<i><b><font color='red'>Sam</font></b></i>";
quiltCaptions[12] = "<i><b><font color='red'>Ben</font></b></i>";
quiltCaptions[13] = "<i><b><font color='red'>Allison</font></b></i>";

quiltNailWidths[0] = "60";
quiltNailWidths[1] = "60";
quiltNailWidths[2] = "60";
quiltNailWidths[3] = "60";
quiltNailWidths[4] = "60";
quiltNailWidths[5] = "60";
quiltNailWidths[6] = "60";
quiltNailWidths[7] = "60";
quiltNailWidths[8] = "60";
quiltNailWidths[9] = "60";
quiltNailWidths[10] = "60";
quiltNailWidths[11] = "60";
quiltNailWidths[12] = "60";
quiltNailWidths[13] = "60";

quiltNailHeights[0] = "60";
quiltNailHeights[1] = "60";
quiltNailHeights[2] = "60";
quiltNailHeights[3] = "60";
quiltNailHeights[4] = "60";
quiltNailHeights[5] = "60";
quiltNailHeights[6] = "60";
quiltNailHeights[7] = "60";
quiltNailHeights[8] = "60";
quiltNailHeights[9] = "60";
quiltNailHeights[10] = "60";
quiltNailHeights[11] = "60";
quiltNailHeights[12] = "60";
quiltNailHeights[13] = "60";

specPictures[0] = "p2_burst.jpg";
specPictures[1] = "p2_light.jpg";
specPictures[2] = "p4_burst.jpg";
specPictures[3] = "p7_neg.jpg";
specPictures[4] = "p6_neg.jpg";
specPictures[5] = "p4_neg.jpg";

specCaptions[0] = "<i><b><font color='red'>Frosty Silence</font></b></i><br>" + 
                  "Digital Enhancement";
specCaptions[1] = "<i><b><font color='red'>Frosty Silence</font></b></i><br>" + 
                  "Grey Scale<br>Digital Enhancement";
specCaptions[2] = "<i><b><font color='red'>Along the Path</font></b></i><br>" +
                  "Digital Enhancement";
specCaptions[3] = "<i><b><font color='red'>Aspen</font></b></i><br>" +
                  "Negative<br>Digital Enhancement";
specCaptions[4] = "<i><b><font color='red'>White Silence</font></b></i><br>" +
                  "Negative<br>Digital Enhancement";
specCaptions[5] = "<i><b><font color='red'>Along the Path</font></b></i><br>" +
                  "Negative<br>Digital Enhancement";

specNailWidths[0] = "30";
specNailWidths[1] = "30";
specNailWidths[2] = "40";
specNailWidths[3] = "60";
specNailWidths[4] = "40";
specNailWidths[5] = "40";

specNailHeights[0] = "60";
specNailHeights[1] = "60";
specNailHeights[2] = "35";
specNailHeights[3] = "30";
specNailHeights[4] = "50";
specNailHeights[5] = "35";

errCaptions[0] = "Picture does not exist!";
errPictures[0] = "doesnotexist.jpg";