// ======================================================================================
// This Photo Gallery written by Courts Carter, pizzabytheslice.com, v2.1.0 (1999-2005)
// Use, distribute, modify (improve. please?) according to Creative Commons agreement:
// http://creativecommons.org/licenses/by-nc/2.0/
// ======================================================================================
// -------------------------------------------
// arrays holding the image info
// -------------------------------------------
var gv_arySrc     = new Array(0); // image file names, for the src attribute of image tag
var gv_aryAlt     = new Array(0);
var gv_aryWidth   = new Array(0);
var gv_aryHeight  = new Array(0);
var gv_imgObjArray= new Array(); // stores image objects...
var gv_imgIsLoaded= new Array(); // cofirmed that image has been loaded...

var gv_isSlideshow			= false; // boolean
var gv_slideshowLoopIdx	= 0; // number of times through the slideshow

var gv_thisImg, 
    gv_nextImg,
    gv_prevImg,
    gv_lastImg;

var gv_thumbsPerPage,
    gv_firstImgThisPage;


// ====================================================================================================
// FUNCTION: addImg
// USE:      all
// DOES:     adds an image
// RETURNS:  index of the new Image item
// PARAMS:   src
//           alt (optional) if missing alt text is blank
//           width  (optional) if missing uses default width
//           height (optional) if missing uses default height
// ====================================================================================================
function addImg( p_src ) { // , p_alt, p_width, p_height
  gv_arySrc[gv_arySrc.length]					 = p_src;
	gv_imgIsLoaded[gv_imgIsLoaded.length]= false;
  if (arguments.length > 1)
	  gv_aryAlt[gv_aryAlt.length]= arguments[1];
	else
	  gv_aryAlt[gv_aryAlt.length]= "";
	if (arguments.length > 2)
	  gv_aryWidth[gv_aryWidth.length]= arguments[2];
	else
		gv_aryWidth[gv_aryWidth.length]= gv_defaultWidth;
	if (arguments.length > 3)
	  gv_aryHeight[gv_aryHeight.length] = arguments[3];
	else
	  gv_aryHeight[gv_aryHeight.length] = gv_defaultHeight;
	return gv_arySrc.length-1;
  } // addImg

// ====================================================================================================
// FUNCTION: getURLImgNbr
// scope:    private
// USE:      all
// DOES:     looks at URL parameters, accepts either "img=???", where ??? is index of image within this gallery
//           or "file=???", where ??? is image filename
// RETURNS:  index of image requested in the URL
// PARAMS:   none
// ====================================================================================================
function getURLImgNbr() {
  var fv_tempStr=new String(window.location.search).toLowerCase();
	var fv_id=0;
	var fv_found=false;
	//fv_tempStr=fv_tempStr;
	if (fv_tempStr.substr(1,3)=="img"){
		// strip "img=" from URL
		fv_tempStr= new String( fv_tempStr.substr( 5, fv_tempStr.length-5 ));
		if (fv_tempStr.length < 1)
			fv_tempStr= "0";
		else if (isNaN(fv_tempStr))
			alert("\""+fv_tempStr+"\" is not a valid number.");
		else
			fv_id= parseInt( fv_tempStr );
		if (fv_id >= gv_arySrc.length)
			fv_id = (gv_arySrc.length-1);
	} else if (fv_tempStr.substr(1,4)=="file") {
		// stip "file=" from URL
		fv_tempStr= fv_tempStr.substr( 6, fv_tempStr.length-6 );
		for (var i=0;i < gv_arySrc.length; i++) {
			if (gv_arySrc[i].toLowerCase() == fv_tempStr) {
				fv_id=i;
				fv_found=true;
				break;
				} // if
		} // for
		if (!fv_found)
			alert( "Sorry, did not find file \""+ fv_tempStr+"\".");
	} // if URL handler
  return  fv_id;
  } // getURLImgNbr

// ====================================================================================================
// FUNCTION: goto[Prev | Next | First | Last ]Pic
// USE:      image page
// DOES:     xxxx
// RETURNS:  xxxx
// PARAMS:   xxxx
// ====================================================================================================
function gotoPrevPic(){return switchPic( gv_prevImg );}
function gotoNextPic(){return switchPic( gv_nextImg );}
function gotoFirstPic(){return switchPic(0);}
function gotoLastPic(){return switchPic( gv_lastImg );}

// ====================================================================================================
// FUNCTION: gotoThumbs
// USE:      image page
// DOES:     xxxx
// RETURNS:  xxxx
// PARAMS:   xxxx
// ====================================================================================================
function gotoThumbs() { 
  window.location = gv_ThumbPage +"?img="+ gv_thisImg ;
  return false;
  } //gotoThumbs

// ====================================================================================================
// FUNCTION: switchPic
// USE:      image page
// DOES:     xxxx
// RETURNS:  xxxx
// PARAMS:   fp_idx: index of image to show
// ====================================================================================================
function switchPic( fp_idx ) {
	var fv_pic= document.getElementById(gv_ImageElementID);
  if (fp_idx < 0) {
		if (gv_isWrap)
	    switchPic(gv_lastImg);
		else
	    alert( "this is the first picture" );
  } else if (fp_idx > gv_lastImg) {
		if (gv_isWrap)
	    switchPic(0);
		else
	    alert( "this is the first picture" );
  } else {
    // to avoid ugly resizing 'blank' the image before changing dimensions
		if (!gv_imgIsLoaded[fp_idx]) {
			fv_pic.src = gv_loadingImg;
		} else {
			fv_pic.src= gv_ImgDir + gv_arySrc[fp_idx];
		}

		// 
    fv_pic.width      = gv_aryWidth[fp_idx];
    fv_pic.height     = gv_aryHeight[fp_idx];
		if (gv_isSetDescrWidth)
	    document.getElementById(gv_imgDescrId).innerHTML= "<p style=\"width:" +gv_aryWidth[fp_idx]+ "px;\">"+gv_aryAlt[fp_idx]+"</p>";
		else
	    document.getElementById(gv_imgDescrId).innerHTML= gv_aryAlt[fp_idx];

		if (gv_fileInfoId != "")
	    document.getElementById(gv_fileInfoId).innerHTML= "file: "+ gv_arySrc[fp_idx] +" (" +gv_aryWidth[fp_idx]+ "W x "+ gv_aryHeight[fp_idx]+"H)";

		gv_thisImg= fp_idx;
    gv_nextImg= fp_idx + 1 ;
    gv_prevImg= fp_idx - 1 ;

		// now all is in place to either exit or download the image.
		if (!gv_imgIsLoaded[fp_idx]) {
			gv_imgObjArray[fp_idx]= new Image();
			gv_imgObjArray[fp_idx].src = gv_ImgDir + gv_arySrc[fp_idx];
			gv_TimerId = setInterval("timeLoadImg()", 250 );
			}
    } // if
  } // switchPic

// ====================================================================================================
// FUNCTION: timeLoadImg
// ====================================================================================================
function timeLoadImg(){
	if (gv_imgObjArray[gv_thisImg].complete) {
		document.getElementById(gv_ImageElementID).src= gv_imgObjArray[gv_thisImg].src;
		gv_imgIsLoaded[gv_thisImg]= true;
		clearInterval(gv_TimerId);
	}
} // timeLoadImg


// ====================================================================================================
// FUNCTION: pbtsInitImgPg
// USE:      Call this AFTER the setters on an image page
// SCOPE:    private
// DOES:     xxxx
// RETURNS:  none
// PARAMS:   none
// ====================================================================================================
function pbtsInitImgPg() {
  var i=0;
	gv_nextImg= gv_thisImg + 1 ;
  gv_prevImg= gv_thisImg - 1 ;
  gv_lastImg= gv_arySrc.length-1;
  switchPic( gv_thisImg );
  } // pbtsInitImgPg


// ====================================================================================================
// FUNCTION: pbtsInitThmbPg
// SCOPE:    private
// USE:      Call this AFTER the setters on an thumbnail page
// DOES:     xxxx
// RETURNS:  none
// PARAMS:   none
// ====================================================================================================
function pbtsInitThmbPg() {
  var i=0;
  gv_thumbsPerPage= (gv_ThumbCols * gv_ThumbRows);
  gv_lastPage     = (gv_arySrc.length) / gv_thumbsPerPage;
  if ((gv_arySrc.length % gv_thumbsPerPage) != 0)
    gv_lastPage= gv_lastPage + 1;
  calcFirstThmbImg();
  writePageIndex();
  writeThumbGrid();
  } // pbtsInitThmbPg

// ====================================================================================================
// FUNCTION: initGallery
// USE:      All. Call AFTER you've called all of your "setters"
// DOES:     xxxx
// RETURNS:  xxxx
// PARAMS:   imageIndex (optional) if missing reads index of current Image from the URL
// ====================================================================================================
function initGallery() {
  var fv_tempStr=new String(window.location.pathname).toLowerCase();
  var fv_thumb= new String(gv_ThumbPage).toLowerCase();
  var fv_img= new String(gv_ImgPage).toLowerCase();

	if (arguments.length > 0)
		gv_thisImg= arguments[0];
	else
	  gv_thisImg= getURLImgNbr();

  if (fv_thumb.toString() == fv_img.toString()) {
		pbtsInitThmbPg();
		pbtsInitImgPg();
	} else if ((fv_thumb.length > 0) && (fv_tempStr.indexOf(fv_thumb.toString()) >= 0)) {
		pbtsInitThmbPg();
	} else if ((fv_img.length > 0) && (fv_tempStr.indexOf(fv_img.toString()) >= 0)) {
		pbtsInitImgPg();
	} else {
		alert( "failed to recognize Thumbnail or Image page" );
	}
	
} // initGallery

// ====================================================================================================
// FUNCTION: calcFirstThmbImg
// USE:      
// DOES:     Using the Current Image Index calculate which thumbnail page it falls on, return the 
//           index of the first image on this page
//           Sets global gv_firstImgThisPage 
// RETURNS:  see above
// PARAMS:   NONE
// ====================================================================================================
function calcFirstThmbImg() {
  if ((gv_thisImg % gv_thumbsPerPage) == 0) {
    gv_firstImgThisPage = gv_thisImg;
  } else {
    gv_firstImgThisPage = gv_thisImg - (gv_thisImg % gv_thumbsPerPage);
  }
	return gv_firstImgThisPage;
	} // calcFirstThmbImg

// ====================================================================================================
// FUNCTION: writePageIndex
// USE:      thumbnail page
// DOES:     xxxx
// RETURNS:  xxxx
// PARAMS:   ElementID (optional) where innerHTMl will write the thumbnail page links
// ====================================================================================================
function writePageIndex() {
  var fv_innerHTML= "";
  var idx=1;
  var  pagenum=1; 
	if (arguments.length > 0)
		gv_PageIdxElementID= arguments[0];

	for (; idx <= gv_lastPage; idx++ ) {
    if ((gv_firstImgThisPage >= ((idx-1)*gv_thumbsPerPage)) && (gv_firstImgThisPage <= ((idx*gv_thumbsPerPage)-1))) {
     fv_innerHTML=fv_innerHTML+ "&nbsp;<b>" + idx + "</b>&nbsp;";
    } else {
		
     fv_innerHTML=fv_innerHTML+"&nbsp;<a href='javascript:rewritePageIndex(" + ((idx-1)*gv_thumbsPerPage) + ");'>" + idx+ "</a>&nbsp;";
    } // if
  } // for
  //alert();
  if(gv_firstImgThisPage>0){
var prev="<a href='javascript:rewritePageIndex(" + (gv_firstImgThisPage-8) + ");'> < previous </a>";
  }else{
	var prev="< previous";  
	  }
	  var currnetpage=gv_firstImgThisPage/8;
	  
if((gv_firstImgThisPage<=(idx-1)*gv_thumbsPerPage) && (currnetpage<Math.round(gv_lastPage-1))){
var next="<a href='javascript:rewritePageIndex(" + (gv_firstImgThisPage+8) + ");'>next > </a>";
  }else{
	var next="next >";  
	  }
//document.getElementById(gv_PageIdxElementID).innerHTML= prev+fv_innerHTML+next;
	document.getElementById(gv_PageIdxElementID).innerHTML= "<table width=100% style='color:#BDBA80; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10'><tr><td align=center valign=top width='38%'>"+prev+"</td><td valign=top width='30%'>&nbsp;</td><td valign=top  width=30%>"+next+"</td></tr></table>";

	} // writePageIndex
	
	 // writePageIndex
// ====================================================================================================
// FUNCTION: rewritePageIndex
// USE:      thumbnail page
// DOES:     
// RETURNS:  
// PARAMS:   
// ====================================================================================================
function rewritePageIndex(fp_imgIdx) {
	gv_thisImg= fp_imgIdx;
  calcFirstThmbImg();
	writePageIndex();
  writeThumbGrid();
	if (gv_ThumbPage == gv_ImgPage)
		switchPic( fp_imgIdx );
	} // rewritePageIndex

// ====================================================================================================
// FUNCTION: writeMaxWidthShim
// USE:      detail page
// DOES:     xxxx
// RETURNS:  xxxx
// PARAMS:   xxxx
// ====================================================================================================
function writeMaxWidthShim(fp_id) {
  var idx=1;
	var fv_maxWidth=0;// 
  for (idx=gv_firstImgThisPage; idx < (gv_firstImgThisPage+gv_thumbsPerPage); idx++ ) {
		if (idx < gv_arySrc.length) {
			if (gv_aryWidth[idx] > fv_maxWidth)
				fv_maxWidth= gv_aryWidth[idx];
		} // if
  } // for
  document.getElementById(fp_id).innerHTML= "<img src=\""+gv_Spacer+"\" width="+fv_maxWidth+" height=\"1\">";
} // writeMaxWidthShim


// ====================================================================================================
// FUNCTION: writeThumbGrid
// USE:      thumbnail page
// DOES:     xxxx
// RETURNS:  xxxx
// PARAMS:   fp_id (optional) ElementId for area containing the thumbnails
// ====================================================================================================
function writeThumbGrid() {
  var fv_innerHTML= "";
 var idx=1;
 var fix=8; 
 var counter=1;
 	var margin_bottom=""
	var fv_isOnePg = (gv_ThumbPage == gv_ImgPage); // 
	var fv_spcHt= Math.round(gv_ThumbWidth*(gv_defaultHeight/gv_defaultWidth));
          
	if (arguments.length > 0)
		gv_ThumbElementID= arguments[0];
   main=gv_firstImgThisPage+8;
	for (idx=gv_firstImgThisPage; idx < (gv_firstImgThisPage+gv_thumbsPerPage); idx++ ) {
   
	if(idx < main-2){
     
	 margin_bottom="style='margin-bottom:15px; margin-right:10px; border: 1px solid #BDBA80;'";
	}else{
	 margin_bottom="style='margin-right:12px; margin-bottom:6px; border: 1px solid #BDBA80;'";	
	}


if ((idx % gv_ThumbCols) == 0) 
      fv_innerHTML=fv_innerHTML+ "<tr>";

    if (idx < gv_arySrc.length) {
		
      if (gv_aryWidth[idx] > gv_aryHeight[idx]) {
				if (fv_isOnePg)
			
	        fv_innerHTML=fv_innerHTML+ "<td align=left valign=	top ><table cellspacing=0 cellpadding=0><tr><td align=left valign=top  ><a href='javascript:void(0);' onMouseOver='switchPic("+idx+");' ><img   src='"+gv_ThumbDir+ gv_arySrc[idx]+ "' "+ margin_bottom+" height=72 border=0 alt=\"\" width="+gv_ThumbWidth+"  ></a></td></tr></table></td>";
				else 
	        fv_innerHTML=fv_innerHTML+ "<td valign=top "+gv_ThumbClass+"><a href='"+gv_ImgPage+"?img=" + idx + "'><img src='" +gv_ThumbDir+ gv_arySrc[idx]+ "' border=0   height=72 alt=\"click for larger image\" width="+gv_ThumbWidth+"></a></td>";
			} else {
				
		if (fv_isOnePg)
	        fv_innerHTML=fv_innerHTML+ "<td valign=top "+gv_ThumbClass+"><a href='javascript:switchPic("+idx+");'><img src='" +gv_ThumbDir+ gv_arySrc[idx]+ "' border=0  height=72 alt=\"click for larger image\" height="+gv_ThumbWidth+"></a></td>";
				else 
	        fv_innerHTML=fv_innerHTML+ "<td valign=top "+gv_ThumbClass+"><a href='"+gv_ImgPage+"?img=" + idx + "'><img src='" +gv_ThumbDir+ gv_arySrc[idx]+ "'  height=72 border=0 alt=\"click for larger image\" height="+gv_ThumbWidth+"></a></td>";
			}
      
    } else {
      fv_innerHTML=fv_innerHTML+ "<td valign=top><img src=\""+gv_Spacer+"\" width="+gv_ThumbWidth+" height="+fv_spcHt+"></td>";
    } // if removed  height=120

    if ((idx % gv_ThumbCols) == (gv_ThumbCols-1)) 
      fv_innerHTML=fv_innerHTML+ "</tr>";
 
  } // for

  document.getElementById(gv_ThumbElementID).innerHTML= "<table>"+ fv_innerHTML+ "</table>";//cellspacing='"+gv_ThumbSpacing+"'

} // writeThumbGrid

// ====================================================================================================
// FUNCTION: writeGoogle
// USE:      
// DOES:     writes a list suited for google's image search spider
// RETURNS:  none
// PARAMS:   none
// ====================================================================================================
function writeGoogle() {
	var i=0;
	var fv_outStr="";
	for (;i < gv_arySrc.length;i++) {
		fv_outStr=fv_outStr+ "&lt;p&gt;"+ 
		"&lt;a href=\""+ location.pathname +"?file="+gv_arySrc[i]+"\"&gt;"+
		"&lt;img src=\""+ gv_ImgDir+ gv_arySrc[i]+"\" alt=\"["+i+"] "+gv_aryAlt[i]+"("+document.title+")\"&gt;"+
		"&lt;/a&gt;"+
		"&lt;/p&gt;\n\n";
	} // for
	document.getElementById(gv_ThumbElementID).innerHTML= "<textarea align=\"left\" rows=10 cols=50>\n"+
		"&lt;title&gt;"+ document.title +"&lt;/title&gt;\n\n"+
		"&lt;meta http-equiv=\"refresh\" content=\"10;url="+location.pathname+"\"&gt;\n\n"+
		"&lt;a href=\""+location.pathname+"\"&gt;Click Here to visit "+location.pathname+"&lt;/a&gt;\n\n"+
		fv_outStr+
		"</textarea>";
  } // writeGoogle

// ====================================================================================================
// FUNCTION: handleKeyEvent
// USE:      tage
// DOES:     xxxx
// RETURNS:  xxxx
// PARAMS:   
// ====================================================================================================
function handleKeyEvent() {
	var fv_action= 0;
	var fv_idx   = 0;
	// detector from: www.howtocreate.co.uk
	if( typeof( event.which ) == 'number' ) {
		//NS 4, NS 6+, Mozilla 0.9+, Opera
		fv_action = event.which;
	} else if( typeof( event.keyCode ) == 'number'  ) {
		//IE, NS 6+, Mozilla 0.9+
		fv_action = event.keyCode;
	} else if( typeof( event.charCode ) == 'number'  ) {
		//also NS 6+, Mozilla 0.9+
		fv_action = event.charCode;
	} else {
		fv_action="";
	}
	// done.

	switch (fv_action) { 
		//	Help: H
    case 72:
		case 104:
    	showHelp();
			break;

		//	Start/Stop Slideshow: S
    case 83:
		case 115:
		  if (!gv_isSlideshow)
	    	startSlideshow();
			else
	    	stopSlideshow();
			break;

		//	Previous: P
    case 80:
		case 112:
    	gotoPrevPic();
			break;

		//	Next:  N
    case 78:
		case 110:
    	gotoNextPic();
			break;

		case  76: // Last/End: "L" 
		case 108: // "l"
			gotoLastPic();
			break;
		
		case  70: // First/Home: "F"
		case 102: // "f"
			gotoFirstPic();
			break;

		//	page Up: U
    case 85:
		case 117:
		  if ((gv_firstImgThisPage+gv_thumbsPerPage) < gv_arySrc.length) {
				gv_firstImgThisPage=gv_firstImgThisPage+gv_thumbsPerPage;
				writeThumbGrid();
			}
			break;

		//	page Down: D
    case 68:
		case 100:
			if (gv_firstImgThisPage >= gv_thumbsPerPage) {
				gv_firstImgThisPage=gv_firstImgThisPage-gv_thumbsPerPage;
				writeThumbGrid();
			}
			break;

		//	Google Image Search
    case 71:
		case 103:
		  writeGoogle();
			break;

		default: 
			// numbers 0-9 {1-9 & 0=10}
		  if ((fv_action >= 48) && (fv_action<=57)){
				fv_idx=fv_action-48;
				if (fv_idx > 0)
					fv_idx--;
				else
					fv_idx=9; // press 0 for tenth image
				if ((gv_firstImgThisPage+fv_idx) < gv_arySrc.length) {
					switchPic(gv_firstImgThisPage+fv_idx);
					} // inbounds
				} // 0-9 pressed
			// end:default

	} // switch

	return true;

	} //handleKeyEvent

function showHelp() {
	alert( "Photo Gallery Help\n\nF= First image\nL= Last\n\nN= Next Image\nP=Previous\n\n1-9,0 enlarge thumbnail 1-10\n\nS= Start/Stop Slideshow (delay is "+ (gv_slideDelay/1000)+ " seconds)\n\nU= page Up (next thumbnail page)\nD= page Down"  );
	} // showHelp

function startSlideshow() {
  stopSlideshow();
  gv_swapperIdx= window.setInterval( "gotoNextPic()", gv_slideDelay );
  gv_isSlideshow= true;
  gv_slideshowLoopIdx= 0;
  } // startSlideshow

function stopSlideshow() {
  if (gv_isSlideshow) {
    gv_isSlideshow= false;
    clearInterval(gv_swapperIdx);
    }
  } // stopSlideshow

function enableQuickKeys() {
  document.onkeyup = handleKeyEvent;
	} // enableQuickKeys

// ====================================================================================================
// FUNCTION: set[ ThumbDir | ImgDir | Spacer | ThumbWidth | ThumbPage | ImgPage | Wrap | LoadingImg ]
// USE:      
// DOES:     xxxx
// RETURNS:  xxxx
// PARAMS:   xxxx
// ====================================================================================================
var gv_slideDelay		 = 4000, // delay in miliseconds
    gv_ImageElementID= "theimage", // store the ElementId for image
    gv_imgDescrId    = "imgdescr", // id of an area under a single image where the description will be emitted
    gv_PageIdxElementID= "", // store the ElementId pointing to the Thumbnail page index
    gv_ThumbElementID  = "", // store the ElementId for area containing the thumbnails
    gv_ThumbDir     = "images/thumbs/", 
    gv_ImgDir       = "images/", 
    gv_ThumbPage    = "",
    gv_ImgPage      = "",
    gv_Spacer       = "images/shim.gif", 
		gv_loadingImg   = gv_Spacer,

    //gv_ThumbWidth   = 79,
		//gv_ThumbClass   = "",  // 
		//gv_ThumbEmptyClass= "",  // 
		//gv_ThumbSpacing = 2,
		//gv_ThumbCols    = 3, 
    //gv_ThumbRows    = 3,

    gv_isWrap       = true,
		gv_defaultWidth	= 1,
		gv_defaultHeight= 1,
    gv_fileInfoId   = "", // id of an File Info, if blank not shown
		gv_isSetDescrWidth= false;

/* file names and locations functions */
function setThumbDir(p_path){ gv_ThumbDir=p_path; }
function setImgDir(p_path){ gv_ImgDir=p_path; }
function setThumbPage(p_val){ gv_ThumbPage=p_val; }
function setImgPage(p_val){ gv_ImgPage=p_val; }
function setSpacer(p_val){ gv_Spacer=p_val; }
function setLoadingImg(p_Image){ gv_loadingImg=p_Image; }

/* thumbnail appearance functions */
function setRows( p_rows ){ gv_ThumbRows=  p_rows;}
function setCols( p_cols ){ gv_ThumbCols=  p_cols;}
function setThumbClass(p_class){ gv_ThumbClass=" class='"+p_class+"'"; }
function setThumbEmptyClass(p_class){ gv_ThumbEmptyClass=" class='"+p_class+"'"; }
function setThumbWidth(p_val){ gv_ThumbWidth=p_val; }
function setThumbSpacing(p_val){ gv_ThumbSpacing=p_val; }

/* behavior and defaults functions */
function setDelay(p_miliseconds){ gv_slideDelay= p_miliseconds;}
function setWrap(p_on){ gv_isWrap=p_on; }
function setDefDims( p_width, p_height ){ 
 if (p_width < 1) p_width=1;
 gv_defaultWidth=p_width; 
 if (p_height < 1) p_height=1;
 gv_defaultHeight=p_height;
 }

/* Element Id setting functions */
function setImageId( p_id )     { gv_ImageElementID   =  p_id;}
function setImageDescrId( p_id ){ gv_imgDescrId       =  p_id;}
function setImageInfoId( p_id ) { gv_fileInfoId       =  p_id;}
function setThumbIndexId( p_id ){ gv_PageIdxElementID =  p_id;}
function setThumbGridId( p_id ) { gv_ThumbElementID   =  p_id;}


