//set the total number of images defined
var maxImages = 0

//specify image directory
var imgDirectory = "images\\";

//Specify whether images should be linked or not (1=linked)
var linkornot=0;

//Specify whether to place image number in the status bar (1=yes)
var statusornot=0;

//Specify whether to show description (1=show)
var descornot=0;

//Specify whether to show name (1=show)
var nameornot=0;

var photos=new Array();
var photoslink=new Array();
var photosdesc=new Array();
var photosname=new Array();
var which=0;
var ready = false;

// Determine browser.
	var agt=navigator.userAgent.toLowerCase();

    // *** BROWSER VERSION ***
    // Note: On IE5, these return 4, so use is_ie5up to detect IE5.
    var is_major = parseInt(navigator.appVersion);
    var is_minor = parseFloat(navigator.appVersion);

    // Note: Opera and WebTV spoof Navigator.  We do strict client detection.
    // If you want to allow spoofing, take out the tests for opera and webtv.
    var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
	var is_nav2 = (is_nav && (is_major == 2));
    var is_nav3 = (is_nav && (is_major == 3));
    var is_nav4 = (is_nav && (is_major == 4));
    var is_nav4up = (is_nav && (is_major >= 4));
    var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) ||
                          (agt.indexOf("; nav") != -1)) );
    var is_nav6 = (is_nav && (is_major == 5));
    var is_nav6up = (is_nav && (is_major >= 5));
    var is_gecko = (agt.indexOf('gecko') != -1);


    var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
	var is_ie3    = (is_ie && (is_major < 4));
    var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
    var is_ie4up  = (is_ie && (is_major >= 4));
    var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
    var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
    var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
    var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
    var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
    var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);

//parse layer/div depending on browser
function getLayer(name) {
  if (is_nav6up) return document.getElementById(name);
  else if (is_ie5_5up) return document.getElementById(name);
  else if (is_ie4up) return eval('document.all.' + name);
  else if (is_nav4up) return findLayer(name, document);

  return null;
}

//for ns4.x
function findLayer(name, doc) {
  var i, layer;

  for (i = 0; i < doc.layers.length; i++) {
    layer = doc.layers[i];
    if (layer.name == name)
      return layer;
    if (layer.document.layers.length > 0) {
      layer = findLayer(name, layer.document);
      if (layer != null)
        return layer;
    }
  }

  return null;
}

//find div/layers in DOM
function init_Divs()
{
	descDIV = getLayer("imgDescTxt");
	nameDIV = getLayer("imgNameTxt");

	ready = true
}

//output status line
function keeptrack(){
	window.status="Image "+(which+1)+" of "+maxImages;
}

//alter contents withing div/layer
function changeDIV(currlayer, source) {
	if (is_nav6up) {
		rng = document.createRange();
		rng.setStartBefore(currlayer);

		htmlFrag = rng.createContextualFragment(source);

		while (currlayer.hasChildNodes()) currlayer.removeChild(currlayer.lastChild);
		currlayer.appendChild(htmlFrag);
	} else if ((is_ie5_5up) || (is_ie4up)) {
		currlayer.innerHTML = source;
	} else {
		currlayer.document.open();
		currlayer.document.write(source);
		currlayer.document.close();
	}
}

//swap image
function changeImg(num){
	which=num;
	if (which>maxImages-1){
		which=0;
	}
	if (which<0){
		which=maxImages-1;
	}
	document.images.photoslider.src=imgDirectory+photos[which]
	if (descornot) changeDesc(which);
	if (nameornot) changeName(which);
	if (statusornot==1) keeptrack();
}

//swap description
function changeDesc(num){
var desc;
	if (ready) {
		desc = photosdesc[num] + " - " + (num+1) + " of " + maxImages;
		if (is_nav4up) desc = nsDescFontTag + desc + "</font></td></tr></table>";
		changeDIV(descDIV, desc);
	}
}

//swap name
function changeName(num){
var name;
	if (ready) {
		name = photosname[num];
		if (is_nav4up) name = nsNameFontTag + name + "</b></font></td></tr></table>";
		changeDIV(nameDIV, name);
	}
}

//jump to URL
function jump2link(){
	window.open(photoslink[which],'_blank','');
}

//initialize DIV/layers and status
function initPage() {
//preload images
var preloadedimages=new Array();
for (i=0;i<maxImages;i++){
	preloadedimages[i]=new Image();
	preloadedimages[i].src=imgDirectory+photos[i];
}

	//initialize status bar, if needed
	if (statusornot) keeptrack();
	
	//set x-browser variables 
	init_Divs();
	if (descornot) changeDesc(which);
	if (nameornot) changeName(which);
}

function doPopupView(fileName) {
var width=525;
var height=650;
    if (navigator.appName == 'Netscape') {
        adjWidth = width;
        adjHeight = height-2;
    }
    else {
        adjWidth = width;
        adjHeight = height;
    }
   
	  myView = window.open('','myView','width=' + adjWidth + ',height=' + adjHeight + ',toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no');
      myView.location.href = fileName;
}

//work around for netscape 4.x (same as CSS)
nsDescFontTag = "<table border='0' cellspacing='0' cellpadding='0'><tr><td><font color='#666666' face='arial,helvetica,sans-serif' point-size='6'>";
nsNameFontTag = "<table border='0' cellspacing='0' cellpadding='0'><tr><td><font color='#333333' face='arial,helvetica,sans-serif' point-size='10'><b>";
