/*
	ZiphGallery v1.0 © John Carehag/Ziphoid Webworx 2004

	Requirements:
	
	Internal structure of the gallery array:
		  [0] = Gallery Name
		  [1] = Image Base Path
		  [2] = Image Path
		  [3] = Image Base Name
		  [4] = Image Suffix
		  [5] = Thumbnail Base Path
		  [6] = Thumbnail Path
		  [7] = Thumbnail Base Name
		  [8] = Thumbnail Suffix
		  [9] = Gallery lower image number
		[10] = Amount of images (0 = no upper limit)
		[11] = Initial image number
		[12] = Thumbnail width (0 = no width force)
		[13] = Thumbnail height (0 = no height force)
		[14] = Minimum length of image number
		[15] = Gallery origin
		[16] = Gallery comments
		[17] = Gallery origin logo
		
*/
var galleries = new Array();
//			galleries[] = new Array("", "", "", "", "", "", "", "", "", 1, 0, 1, 100, 100, 1);

var usePopup = true;
var useUniquePopup = false;
var popupDetails = "width=700, height=500, resizable=yes, scrollbars=yes,menubar=no,toolbar=no,search=no,directories=no,location=no,status=no;";
var showButtons = false;
var currentGallery = 0;
var galleryName = "";
var imgBasePath = "";
var thnBasePath = "";
var thnPath = "";
var imgPath = "";
var imgBaseName = "";
var thnBaseName = "";
var imgSuffix = "";
var thnSuffix = "";
var defWidth = 100;
var defHeight = 150;
var tableWidth = 500;
var thnWidth = 0;
var thnHeight = 0;
var basePic = 1;
var columns = 5;
var galleryMax = 0;
var currentImageNumber = basePic;
var numberOfImages = 10;
var imageRoof = basePic + numberOfImages - 1;
var minNo = 1;
/*			var showGalleryOrigin = true;
var showPrevNext = true;
var showControl = true;
var showCurrentInfo = true;
var showURL = true;*/
var showGalleryOrigin = false;
var showPrevNext = false;
var showControl = false;
var showCurrentInfo = false;
var showURL = false;
var useButtons = false;

function openImgWin(newWin, action1, action2, wcmd) {
// width=200, height=200, resizable=yes, scrollbars=yes,menubar=yes,toolbar=yes,search=yes,directories=yes,location=yes,status=yes;
	newWin = window.open(action1, action2, wcmd);
	newWin.focus();
}

function showImage(i)	{
	if((i > basePic-1) && (i <= imageRoof)) {
		newImage = new Image()
		currentImageNumber = i;
		newImage.src = imgBasePath + imgPath + imgBaseName + i + imgSuffix;
		if(!usePopup) {
			document.myimage.src = newImage.src;
		} else {
			imageSrc = newImage.src;
//			alert(imageSrc);
		}
		if(showPrevNext) {
			if (i == basePic) {
				document.getElementById('prev').style.visibility='hidden';
			} else {
				document.getElementById('prev').style.visibility='visible';
			}

			if (i == imageRoof || ((galleryMax > 0) && (((i + currentImageNumber)-1) > galleryMax))) {
				document.getElementById('next').style.visibility='hidden';
			} else {
				document.getElementById('next').style.visibility='visible';
			}
		}
	}
	if(!usePopup) {
		document.getElementById('myimage').style.display = "block";
	} else {
		if(useUniquePopup) {
			popupName = "img_"+i;
		} else {
			popupName = "imgWin";
		}
		openImgWin("_imgWin", imageSrc, popupName, popupDetails);
	}
}

function renderGallery() {
	var tempHTML = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"" + tableWidth + "\" class=\"gallerytable\">";
	currentImageNumber = basePic;
	j = 0;
	for (i = currentImageNumber; i <= imageRoof; i++) {
		if((galleryMax > 0) && (((i + currentImageNumber)-1) > galleryMax)) {
			if(j > 0) {
				tempHTML += "</tr>";
			}
			i = imageRoof + 1;
		} else {
			if(j == 0) {
				tempHTML += "<tr>";
			}
//					tempHTML += "<td width=\"100\" align=\"center\" background=\"" + imgBasePath + imagePath + thumbPath + "/" + imgBaseName + i + ".jpg\"><a href=\"javascript:showImage(" + i + ");\">";
//					tempHTML += "<img src=\"_.gif\" border=\"0\" width=\"100\"></a></td>";
			tempHTML += "<td width=\"";
			if(thnWidth == 0) {
				tempHTML += defWidth;
			} else {
				tempHTML += thnWidth;
			}
			tempHTML += "\" height=\"";
			if(thnHeight == 0) {
				tempHTML += defHeight;
			} else {
				tempHTML += thnHeight;
			}
			tempHTML += "\" align=\"center\"><a href=\"javascript:showImage(" + i + ");\">";
			tempHTML += "<img src=\"" + thnBasePath + thnPath + thnBaseName;
			tempHTML += i;
			tempHTML += thnSuffix + "\" border=\"0\"";
			if(thnWidth != 0) {
				tempHTML += " width=\"" + thnWidth + "\"";
			}
			if(thnHeight != 0) {
				tempHTML += " height=\"" + thnHeight + "\"";
			}
			tempHTML += " onError=\"javascript:this.src = 'http://nonsensemail.com/no.gif';\"></a></td>";
			j++;
			if(j == columns) {
				tempHTML += "</tr>";
				j = 0;
			}
		}
/*					if(i % 5 == 0 && i < 5) {
			tempHTML += "<br>";
		}*/
	}
	tempHTML += "</table>";
//				alert(tempHTML);
	document.getElementById('renderDiv').innerHTML = tempHTML;
	if(showURL) {
		document.getElementById('showurl').style.visibility='visible';
	}
	if(showCurrentInfo) {
		tempDivHTML = basePic + "-";

		if(galleryMax == 0 || (galleryMax > 0 && (basePic + imageRoof) < galleryMax)) {
			tempDivHTML +=  imageRoof;
		} else {
			tempDivHTML += galleryMax;
		}
		document.getElementById('currentDiv').innerHTML = tempDivHTML;
		document.getElementById('currentgallDiv').innerHTML = imgBasePath + imgPath;
	}
	if(showControl) {
		document.getElementById('subDiv').innerHTML = "Previous&nbsp;" + numberOfImages + "&nbsp;images&nbsp;";
		document.getElementById('addDiv').innerHTML = "Next&nbsp;" + numberOfImages + "&nbsp;images";
	}
	if(!usePopup) {
		showImage(currentImageNumber);
	}
}

function generateGalleryOrigin() {
	var tempHTML = "<table><tr><td align=\"center\" valign=\"top\">";
	if(galleries[currentGallery][15] != "") {
		tempHTML += "<a href=\"" + galleries[currentGallery][15] + "\" target=\"_blank\">";
	}
	if(galleries[currentGallery][17] != "") {
		tempHTML += "<img src=\"";
		tempHTML += galleries[currentGallery][17];
		tempHTML += "\" border=\"0\">";
	} else {
		tempHTML += galleries[currentGallery][15];
	}
	if(galleries[currentGallery][15] != "") {
		tempHTML += "</a>";
	}
	tempHTML += "</td><td valign=\"top\"><span style=\"color: #eeeeee;\">";
	tempHTML += galleries[currentGallery][16];
	tempHTML += "</span></td></tr></table>";
	document.getElementById('originDiv').innerHTML = tempHTML;
}
function whichImage() {
	alert(document.myimage.src);
}

function whichGallery() {
	alert(currentGallery);
}

function populateGallery(galleryID) {
	if(galleryID != "xx") {
		galleryName = galleries[galleryID][0];
		imgBasePath = galleries[galleryID][1];
		thnBasePath = galleries[galleryID][5];
		thnPath = galleries[galleryID][6];
		imgPath = galleries[galleryID][2];
		imgBaseName = galleries[galleryID][3];
		thnBaseName = galleries[galleryID][7];
		imgSuffix = galleries[galleryID][4];
		thnSuffix = galleries[galleryID][8];
		basePic = galleries[galleryID][11];
		galleryMax = galleries[galleryID][10];
		currentImageNumber = basePic;
		thnWidth = galleries[galleryID][12];
		imageRoof = basePic + numberOfImages - 1;
		if(currentGallery != galleryID) {
			if(showGalleryOrigin) {
				generateGalleryOrigin();
			}
		}
		currentGallery = galleryID;
		if(showButtons == false) {
			if(showGalleryOrigin) {
				generateGalleryOrigin();
			}
//			document.getElementById('imageDiv').style.visibility='visible';
			if(useButtons) {
				document.getElementById('buttonsDiv').style.visibility='visible';
			}
			if(showControl) {
				document.getElementById('controlDiv').style.visibility='hidden';
			}
			if(showPrevNext) {
				document.getElementById('prevnextDiv').style.visibility='hidden';
			}
			showButtons = true;
		}
		renderGallery();
	}
}

function changeGallery(dir) {
	if(dir == "sub") {
		basePic = basePic - numberOfImages;
	} else {
		basePic = basePic + numberOfImages;
	}
	currentImageNumber = basePic;
	imageRoof = basePic + numberOfImages - 1;
	renderGallery();
}

function changeBase() {
	newBase = (prompt("Enter new base image", basePic));
	if(Number(newBase) >= 0) {
		basePic = Number(newBase);
		currentImageNumber = basePic;
		imageRoof = basePic + numberOfImages - 1;
		renderGallery();
	}
}

function changeAmount() {
	newAmount = (prompt("Enter new number of images to show", numberOfImages));
	if(Number(newAmount) > 0) {
		numberOfImages = Number(newAmount);
		currentImageNumber = basePic;
		imageRoof = basePic + numberOfImages - 1;
		renderGallery();
	}
}

function generateGallerySelect() {
	var tempHTML = "<select name=\"gallerypicker\" onchange=\"javascript:populateGallery(this.value);\">";
	tempHTML += "<option value=\"xx\" selected>Choose gallery:</option>";
	for (i = 0; i < galleries.length; i++) {
		tempHTML += "<option value=\"" + i + "\"";
/*					if(i == currentGallery) {
			tempHTML += " selected";
		}*/
		tempHTML += ">" + galleries[i][0] + "</option>";
	}
	tempHTML += "</select>";
	document.write(tempHTML);
}


