var glyNam = '';
var nuWndw = '';
var rcGI = 0;
var dbGI = new Array();

function PopWin(imgIdx)
{
	if ( nuWndw.location && !nuWndw.closed ) { nuWndw.close(); }
	// tidy up caption text
	imgCpn = snr(snr(dbGI[imgIdx].imgCpn,"<br>"," "),"*","<br>");
	// scale win & img dims to available screen space
	sclFac = 1.0;
	sclWid = dbGI[imgIdx].imgWid;
	sclHgt = dbGI[imgIdx].imgHgt;
	maxWid = z0ui.ScnWid - 10;
	maxHgt = z0ui.ScnHgt - 50;
	padWid = 40;
	padHgt = 80 + ( sclHgt > sclWid ? 25 : 0 );
	winWid = min( dbGI[imgIdx].imgWid + padWid, maxWid );
	winHgt = min( dbGI[imgIdx].imgHgt + padHgt, maxHgt );
	winMsg = "Click on image to close window.";
	// do we need to scale the image
	if ( ( dbGI[imgIdx].imgWid + padWid ) !== winWid || ( dbGI[imgIdx].imgHgt + padHgt ) !== winHgt )
	{
		sclHrz = ( ( winWid == maxWid ? maxWid : winWid ) - padWid ) / dbGI[imgIdx].imgWid;
		sclVrt = ( ( winHgt == maxHgt ? maxHgt : winHgt ) - padHgt ) / dbGI[imgIdx].imgHgt;
		sclFac = min( 1.0, min( sclHrz, sclVrt ) );
		sclHgt = 0.96 * dbGI[imgIdx].imgHgt * sclFac;
		sclWid = 0.96 * dbGI[imgIdx].imgWid * sclFac;
	}
	winXul = ( z0ui.ScnWid - winWid ) / 2;
	winYul = ( z0ui.ScnHgt - winHgt ) / 2;
	// construct winCtl string
	winCtl = 'top=' + winYul + ',left=' + winXul + ',width=' + winWid + ',height=' + winHgt + ',resizable=1,dependent=1,menubar=0,toolbar=0,titlebar=1,status=1,scrollbars=1';
	// create new window
	nuWndw = window.open('','nuWndw',winCtl);
	// open new window for writing
	nuWndw.document.open();
	// write html to new window
	nuWndw.document.write( "<HTML><HEAD><TITLE>A.R.E.S. Niagara - (" + winMsg + ")</TITLE></HEAD>"
	+	"<BODY marginheight=\"0\" marginwidth=\"0\" topmargin=\"0\" bottommargin=\"0\" leftmargin=\"0\" rightmargin=\"0\" bgcolor=\"#FFFFFF\" text=\"#990000\" alink=\"#008080\" link=\"#000000\" vlink=\"#990000\" onLoad=\"self.status='Click on image to close window.'\">"
	+	"<TABLE WIDTH=\"100%\" HEIGHT=\"100%\" BORDER=\"0\" ALIGN=\"CENTER\"><TR VALIGN=\"CENTER\"><TD ALIGN=\"CENTER\" VALIGN=\"CENTER\"><SPAN style=\"font-size: 4pt;\">&nbsp;<BR>"
	+	"<A NAME=\"Image\" HREF=\"javascript:void(self.close())\" onClick=\"self.close();\""
	+	" onMouseOver=\"self.status='" + winMsg + "'\""
	+	" onMouseOut=\"self.status='" + winMsg + "'\""
	+	" title=\""+winMsg+"\">"
	+	"<IMG SRC=\"" + z0ui.DldPth + "galleries/" + glyNam + "/" + dbGI[imgIdx].imgFyl + ".jpg"
	+	"\" WIDTH=\"" + sclWid
	+	"\" HEIGHT=\"" + sclHgt
	+	"\" ALT=\"" + winMsg + "\" BORDER=\"0\">"
	+	"</A></SPAN>"
	+	"<span style=\"font-size: 12pt;\"><br>" + imgCpn + "</span>"
	+	"</TD></TR></TABLE>"
	+	"</BODY></HTML>" );
	// close new window for writing
	nuWndw.document.close();
	// set status text of new window
	nuWndw.status = winMsg;
	// transfer focus to new window
	nuWndw.focus();
}


// object constructor for Gallery Images
function mkGI( iFyl, iWid, iHgt, iCpn )
{
	this.imgFyl = iFyl;
	this.imgWid = iWid;
	this.imgHgt = iHgt;
	this.imgCpn = iCpn;
	return this;
}


function ShwGly()
{
	dw( "<TABLE border=\"0\" width=\"100%\">" );
	var Ucol = 0;
	for ( ii = 0; ii < rcGI; ii ++ )
	{
		if ( Ucol == 0 ) { RowBeg(); }
		 if (  dbGI[ii].imgFyl.length > 0 && dbGI[ii].imgCpn.length > 0 ) // thumbnail with or without linked image
		{
			brkFlg = ( dbGI[ii].imgCpn.indexOf("*") >= 0 || dbGI[ii].imgCpn.indexOf("<br>") >= 0 );
			var thmCpn = snr( dbGI[ii].imgCpn,"*","");
			var thmAlt = snr(snr(snr(thmCpn,"<br>"," "),"<small>",""),"</small>","");
			dw( "<TD align=\"CENTER\" valign=\"" + ( brkFlg ? "TOP" : "BOTTOM" ) + "\">"
			+	"<SPAN style=\"font-size: 9pt;\">"
			+	"<A NAME='" + dbGI[ii].imgFyl + "'" + ( dbGI[ii].imgWid == 0 ? "" : " HREF='" + z0ui.BasPth + "galleries/" + glyNam + "/" + dbGI[ii].imgFyl + ".jpg'" ) + " rel=\"lightbox["+glyNam+"]\" " + "\" TITLE=\"" + thmAlt + "\">"
			+	"<IMG SRC=\"" + z0ui.BasPth + "galleries/" + glyNam + "/thumbs/" + dbGI[ii].imgFyl + ".jpg\"" + ( dbGI[ii].imgWid == 0 ? ( dbGI[ii].imgHgt == 0 ? " WIDTH=100" : "HEIGHT="+dbGI[ii].imgHgt ) : "" )+ " BORDER=\"0\" ALT=\"" + thmAlt + "\">"
			+	"<BR>" + thmCpn
			+	"</A>"
			+	"</SPAN>" + ( brkFlg ? "" : "<br>&nbsp;" )
			+	"</TD>" );
		}
		else if ( dbGI[ii].imgFyl.length == 0 && dbGI[ii].imgCpn.length > 0 ) // caption only
		{
			if ( Ucol > 0 ) { DrwPad( 3 - Ucol ); RowBrk(); }
			dw( "<TD class=\"doch\" colspan=\"4\">&nbsp;"+dbGI[ii].imgCpn+"</TD>" );
			Ucol = 3;
		}
		else if ( dbGI[ii].imgFyl.length == 0 && dbGI[ii].imgCpn.length == 0 ) { DrwPad(1); } // pad cell
		Ucol = Ucol + 1;
		if ( Ucol == 4 ) { RowEnd(); Ucol = 0; }
	}
	if( Ucol > 0 && Ucol < 3 ) { DrwPad( 3 -  Ucol ); RowEnd(); }
	dw( "</TABLE>" );
}

function RowBeg() { dw( "<TR>" ); }
function RowEnd() { dw( "</TR>" ); }
function RowBrk() { RowEnd(); RowBeg(); }
function DrwPad(PadMax) { for( PadCnt=0; PadCnt < PadMax; PadCnt ++) { dw( "<TD>&nbsp;</TD>" ); } }

