/**********************************************************************
gallery.JS contains declarations for the gallery object and
declares an instance of the gallery object.
***********************************************************************/ 

// create a new gallery entry
function entry (theID,theName,theThumbnail, thePicture, theDescription, theSize) {
    this.ID		= theID
    this.name		= theName;
    this.thumbnail    	= theThumbnail;
    this.picture	= thePicture;
    this.description    = theDescription
    this.size		= theSize
}

// View Entry
function entry_view (){
  imgDisplay.src=this.picture;
  document.getElementById("txtDisplay").innerHTML=this.description;
}

// gallery constructor creates a new gallery
function gallery () {
    this.numberEntries = 0;                               // No gallery entries when first created
    this.entries = new Array();                           // Array of entries is initially empty
    // Methods for gallery object
    this.addEntry = gallery_addEntry;                     // Specify method for adding gallery entries
    this.display = gallery_display;  			  // Specify method for displaying gallery as thumbnails
    this.displaySource = gallery_source; 		  // Specify method for displaying gallery source

}


// gallery_addEntry adds an item to the gallery
function gallery_addEntry (entryID, entryName,entryThumbnail, entryPicture, entryDescription, entrySize) {
    this.numberEntries += 1;
    this.entries[this.numberEntries-1] = new entry(entryID, entryName,entryThumbnail, entryPicture, entryDescription, entrySize);    
}

// gallery_display outputs gallery entries
function gallery_display (tmbWidth, tmbHeight,tmbCols,showInfo,startNo,displayCap) {

    if (displayCap == 0 ){
	displayCap = this.numberEntries;
    }

    document.write( '<table cellspacing="0" cellpadding="3" width="100%">' ); 
    var colNumber = 0;

    for (var i = startNo; i <= displayCap-1; i++) {                  // For each entry in the gallery,
        var my = this.entries[i];                                      
        
        if (colNumber == 0 ){
	   document.write( '<tr align="left" valign="top">');
	}

        document.write( '<td align="center" width="' + tmbWidth + '">');
	document.write( '<a href="javascript:previewImage(' + i + ')" target="_self">');
        document.write( '<img name="' +  my.ID +'" ' );  
        document.write( 'src="' + my.thumbnail + '" ' );
        document.write( ' border="0" width="' + tmbWidth + '" height="' + tmbHeight + '">');     
	document.write( '</a>');
	document.write( '</td>');
	colNumber++

	if (colNumber >= (tmbCols) ){
	    document.write( '<tr><td colspan=' + colNumber + 1 + ' height=1 bgcolor="#000080"></td></tr>');	
	    document.write( '</tr>');
	    colNumber = 0;
	}

	if (showInfo != 0){
	   document.write( '<td align="left"><font face="verdana" size=1>');
	   document.write( my.description);	
	   document.write( '</font></td>');
	   colNumber++	
	}
	
	if (colNumber >= (tmbCols) ){
	    document.write( '<tr><td colspan=' + colNumber + 1 + ' height=1 bgcolor="#000080"></td></tr>');	
	    document.write( '</tr>');
	    colNumber = 0;
	}
	
	}

	document.write( '</table>' );
}


// gallery_source returns gallery entries
function gallery_source (tmbWidth, tmbHeight,tmbCols,showInfo,startNo,displayCap) {  
    
    strDisplay = "";
	
    if (displayCap == 0 ){
	displayCap = this.numberEntries;
    }
    
    strDisplay = strDisplay + '<table cellspacing="0" cellpadding="3" width="100%">'; 
        
    
    var colNumber = 0;
    var lastImage = startNo + displayCap;
    
    if (lastImage > (this.numberEntries-1)){
	lastImage = (this.numberEntries-1)
    }
      
    var i = startNo
	
    for (var j = 0; j < displayCap; j++) {                  // For each entry in the gallery,
        	
	var my = this.entries[i];                                      
        
        if (colNumber == 0 ){
	   strDisplay = strDisplay + '<tr align="left" valign="top">';
	}


	if (i <= lastImage) {

           strDisplay = strDisplay + '<td align="center" width="' + tmbWidth + '">';
	   strDisplay = strDisplay + '<a href="javascript:previewImage(' + i + ')" target="_self">';
           strDisplay = strDisplay + '<img name="' +  my.ID +'" ' ;  
           strDisplay = strDisplay + 'src="' + my.thumbnail + '" ';
           strDisplay = strDisplay + ' border="0" width="' + tmbWidth + '" height="' + tmbHeight + '">';     
      	   strDisplay = strDisplay + '</a>';
           strDisplay = strDisplay + '</td>';
	   colNumber++

	   if (colNumber >= (tmbCols) ){
	       strDisplay = strDisplay + '<tr><td colspan=' + colNumber + 1 + ' height=1 bgcolor="#000080"></td></tr>';	
	       strDisplay = strDisplay + '</tr>';
	       colNumber = 0;
	   }

	   if (showInfo != 0){
	      strDisplay = strDisplay + '<td align="left"><font face="verdana" size=1>';
	      strDisplay = strDisplay + my.description;	
   	      strDisplay = strDisplay + '</font></td>';
	      colNumber++	
	   }
	
	
        } else if (i > lastImage) {
      	      strDisplay = strDisplay + '<td align="left"><font face="verdana" size=1>';
	      strDisplay = strDisplay + '<img src="images/infopanel/infopanel_tblank.gif"';
              strDisplay = strDisplay + ' border="0" width="' + tmbWidth + '" height="' + tmbHeight + '">';	
   	      strDisplay = strDisplay + '</font></td>';
	      colNumber++

	      if (showInfo == 1) {

		if (colNumber >= (tmbCols) ){
	    	   strDisplay = strDisplay + '<tr><td colspan=' + colNumber + 1 + ' height=1 bgcolor="#000080"></td></tr>';	
	    	   strDisplay = strDisplay + '</tr>';
	    	   colNumber = 0;
		}

	      	strDisplay = strDisplay + '<td align="left"><font face="verdana" size=1>';
	      	strDisplay = strDisplay + '<img src="images/infopanel/infopanel_tblank.gif"';
              	strDisplay = strDisplay + ' border="0" width="' + tmbWidth + '" height="' + tmbHeight + '">';	
   	      	strDisplay = strDisplay + '</font></td>';
	      	colNumber++

	      }	
	}


	if (colNumber >= (tmbCols) ){
	    strDisplay = strDisplay + '<tr><td colspan=' + colNumber + 1 + ' height=1 bgcolor="#000080"></td></tr>';	
	    strDisplay = strDisplay + '</tr>';
	    colNumber = 0;
	}
	
	if (i <= lastImage) i++;

	}

	strDisplay = strDisplay + '</table>';
	
	strDisplay = strDisplay + '<div align="center"><table border=0 cellpadding=0 cellspacing=0>';
	strDisplay = strDisplay + '<tr>';

	if (startNo == 0){
 	strDisplay = strDisplay + '<td rowspan=3><img src="images/navigation/gprevious.jpg"></td>';
	}

	if (startNo != 0){		
	   optStart = startNo - displayCap;
	   if (optStart < 0){
	      optStart = 0;
	   }
   	   strDisplay = strDisplay + '<td rowspan=3><img src="images/navigation/previous.jpg" onclick=moveRecord(' + optStart + ')></td>';
	}

	strDisplay = strDisplay + '<td><img src="images/navigation/nav_top.jpg"></td>';


	if (i == this.numberEntries){
   	   strDisplay = strDisplay + '<td rowspan=3><img src="images/navigation/gnext.jpg"></td>';
	}
	
	

	if (i < this.numberEntries){
	   optStart = i;
	   strDisplay = strDisplay + '<td rowspan=3><img src="images/navigation/next.jpg" onclick=moveRecord(' + optStart + ')></td>';
	}

	strDisplay = strDisplay + '</tr>';

	strDisplay = strDisplay + '<tr><td height=20 bgcolor="#F1F1F1" align="center" class="navtext">'


	if (this.numberEntries == 0 ) strDisplay = strDisplay + 'No Entries';
	if (this.numberEntries != 0 ) strDisplay = strDisplay + (startNo+1) + ' to ' + (i) + ' of ' + this.numberEntries;


	strDisplay = strDisplay + '</td></tr>';

	strDisplay = strDisplay + '<tr><td><img src="images/navigation/nav_bottom.jpg"></td></tr>';

	strDisplay = strDisplay + '</table></div>';

	
	return strDisplay;
}


// Create an instance of the gallery object
var Gallery = new gallery();
