function CNavigationPages (  )
{
	var m_strTitle;
	var m_nNbRecords;
	var m_nCurrentPage;
	var m_nNbValuesPerPage;
	var m_nCurrentId;

	//- Constructeur
	this.m_strTitle = "";
	this.m_nNbRecords = 0;
	this.m_nCurrentPage = 0;
	this.m_nNbValuesPerPage = 5; //nNbKeywordsPerPage;
	

	this.SetNbRecords = function ( nNbRecords ) 
	{
		this.m_nNbRecords = nNbRecords;
	}

	this.GetNbPages = function ( ) 
	{
		return ( Math.ceil ( this.GetNbRecords ( ) / this.GetNbValuesPerPage ( ) ) );
	}

	
	this.GetNbRecords = function ( ) 
	{
		return ( this.m_nNbRecords );
	}

	this.SetCurrentPage = function ( nCurrentPage ) 
	{
		
		if ( nCurrentPage >= 0 )
		{
			if ( nCurrentPage < this.GetNbRecords ( ) )
			{
				this.m_nCurrentPage = nCurrentPage;
			}
			else
			{
				this.m_nCurrentPage = this.GetNbPages ( ) - 1;
			}
		}
		else
		{
			this.m_nCurrentPage = 0;
		}
	}

	this.SetCurrentPageList = function ( nCurrentPage ) 
	{
		
		if ( nCurrentPage >= 0 )
		{
			if ( nCurrentPage < this.GetNbPages ( ) )
			{
				this.m_nCurrentPage = nCurrentPage;
			}
			else
			{
				this.m_nCurrentPage = this.GetNbPages ( ) - 1;
			}
		}
		else
		{
			this.m_nCurrentPage = 0;
		}
	}
	this.GetCurrentPage = function ( ) 
	{
		return ( this.m_nCurrentPage );
	}

	this.SetNbValuesPerPage = function ( nNbValuesPerPage ) 
	{
		this.m_nNbValuesPerPage = nNbValuesPerPage;
	}

	this.GetNbValuesPerPage = function ( ) 
	{
		return ( this.m_nNbValuesPerPage );
	}

	this.GetFirstItemCurrentPage = function ( ) 
	{
		return ( this.GetCurrentPage ( ) * this.GetNbValuesPerPage ( ) );
	}

	this.HasGotoFirstPage = function ( ) 
	{
		if ( this.GetCurrentPage ( ) == 0 )
		{
			return ( false );
		}
		return ( true );
	}

	this.HasGotoPreviousPage = function ( ) 
	{
		if ( this.GetCurrentPage ( ) == 0 )
		{
			return ( false );
		}
		return ( true );
	}

	this.HasGotoNextPage = function ( ) 
	{
		if ( this.GetCurrentPage ( ) >= this.GetNbPages ( ) - 1 )
		{
			return ( false );
		}
		return ( true );
	}

	this.HasGotoLastPage = function ( ) 
	{
		if ( this.GetCurrentPage ( ) >= this.GetNbPages ( ) - 1 )
		{
			return ( false );
		}
		return ( true );
	}

	this.GetDisplayedPages = function ( nNbPagesDisplayed )  //  nFirstPage et nLastPage variables de reference ( deja declareées plus haut)
	{
		nMiddlePage = this.GetCurrentPage ( );
		nNbPages = this.GetNbPages ( );

		nFirstPage = nMiddlePage - ( int ) ( nNbPagesDisplayed / 2 );

		if ( nFirstPage < 0 )
		{
			nMiddlePage = nMiddlePage - nFirstPage;
			nFirstPage = 0;
		}

		nLastPage = nMiddlePage + ( int ) ( nNbPagesDisplayed / 2 );

		if ( nLastPage > nNbPages - 1 )
		{
			nLastPage = nNbPages;

			nFirstPage = max ( nLastPage - nNbPagesDisplayed, 0 );
		}
	}
}

function Navigation ( nMode , nNumPage )
{
	oNavigationInfo.SetNbRecords ( nNbImages ); // Nombre d'images trouvées par la requette
	
	nNbValues = oNavigationInfo.GetNbValuesPerPage ( );
	
	
	if ( nMode == 1 )
	{
		oNavigationInfo.SetNbValuesPerPage ( nNbKeywordsPerPage ); // Nombre de mot clé à afficher par page
		oNavigationInfo.SetCurrentPageList ( nNumPage - 1 ); //- Ca commence à 0 (numéro de page)
	}
	else
	{
		oNavigationInfo.SetNbValuesPerPage ( 1 ); 
		oNavigationInfo.SetCurrentPageList ( nNumPage ); //
	}
	nFirst = oNavigationInfo.GetFirstItemCurrentPage ( ); // Le premier element de la page courrante // this.GetCurrentPage ( ) * this.GetNbValuesPerPage ( )
	nNbPages = oNavigationInfo.GetNbPages ( );
	
	//alert('nNumPage : '+nNumPage +' - GetFirstItemCurrentPage : '+ oNavigationInfo.GetFirstItemCurrentPage() +'\nGetNbValuesPerPage : '+oNavigationInfo.GetNbValuesPerPage() + ' - GetNbPages : ' +oNavigationInfo.GetNbPages ( ));
	
	strLink = "#";
	
	strHTMLCodeNavigation = '';
	
	strHTMLCodeNavigationDetail = '<div align="center" border="0"><font color="#000099">';
	if ( nMode == 1 )
	{
		nNbKeywordsPerPage = nNbColonnePage * nNbLignePage;
		
		if ( oNavigationInfo.HasGotoPreviousPage ( ) ) // page précédente
		{
			strLink = 'affiche( oInfoImageList, 1,' + (oNavigationInfo.GetCurrentPage ( ) + 1 - 1) + ',' + nNbColonnePage + ',' + nNbLignePage +')';
			
			strHTMLCodeNavigation += "<a  href='#' onclick='" + strLink + "'><img border='0' alt='previous' src='../common/images/mini_left.gif'></a>";
			
		}
		else
		{
			strHTMLCodeNavigation += "<a><img border='0' alt='previous' src='../common/images/mini_left2.gif'></a>"; 
		}
		
		strHTMLCodeNavigation += "&nbsp;Page " + ( oNavigationInfo.GetCurrentPage ( ) + 1 ) + " of " + ( nNbPages ) + "&nbsp;";
		
		if ( oNavigationInfo.HasGotoNextPage ( ) ) //page suivante
		{					
			strLink = 'affiche( oInfoImageList, 1, ' + (oNavigationInfo.GetCurrentPage ( ) + 1 + 1) +', ' + nNbColonnePage + ',' + nNbLignePage +')';
			
			strHTMLCodeNavigation += "<a href='#' onclick='" + strLink + "'><img border='0' alt='next' src='../common/images/mini_right.gif'/></a>";
		}
		else
		{
			strHTMLCodeNavigation += "<a><img border='0' alt='previous' src='../common/images/mini_right2.gif'></a>";
		}
	}
	else
	{
		nNbKeywordsPerPage = 1;
		
		if ( oNavigationInfo.HasGotoPreviousPage ( ) )
		{					
			strLink = 'affiche( oInfoImageList, 2, '+ (oNavigationInfo.GetCurrentPage ( ) - 1 ) +',1,1)';
			
			strHTMLCodeNavigation += "<a href='#' onclick='" + strLink + "'><img border='0' alt='previous' src='../common/images/left.gif'/></a>";					
		}
		else
		{
			strHTMLCodeNavigation += "<a></a>"; 
		}
		
		strLink = 'affiche( oInfoImageList, 1, ' + Math.ceil ( ( oNavigationInfo.GetCurrentPage ( ) + 1 ) / nNbColonnePage ) + ',' + nNbColonnePage+',' + nNbLignePage +')';
		//Micka
		//strHTMLCodeNavigation += "<a href='#' onclick='" + strLink + "'><img border='0' alt='back' src='../common/images/retour.gif'/></a>";
		
		if ( oNavigationInfo.HasGotoNextPage ( ) )
		{
			strLink = 'affiche( oInfoImageList, 2,'+ (oNavigationInfo.GetCurrentPage ( ) + 1) +',1,1)';
			
			strHTMLCodeNavigation += "<a href='#' onclick='" + strLink + "'><img border='0' alt='next' src='../common/images/right.gif'/></a>";
		}
		else
		{
			strHTMLCodeNavigation += "<a></a>";
		}
		
	}
	
	return strHTMLCodeNavigation;
	
}


function ShowImage (oInfoImageList, nNumPage , nNbColonnePage, nMode, nNbLignePage)
{
	var strHTMLCodeImage = "";
	var strHTMLCodeImageDetail = "";
	
	if ( nMode == 1 )
	{
		nNbKeywordsPerPage = nNbColonnePage * nNbLignePage; // 5
		nFirstImage = nNbKeywordsPerPage * ( nNumPage - 1 ) // les images commence à 0
	}
	else
	{
		nNbKeywordsPerPage = 1;
		nFirstImage = nNumPage;
	}
	//alert( 'nNumPage : ' + nNumPage + ',  nFirstImage : ' + nFirstImage ); 
	
	if(nMode == 1) // liste vignette
	{
			strHTMLCodeImage += "<table width='100%' class='cadre_liste2'>";
			nCptColonne = 0;
			//nCptColonneTot = 3;
			nNbTotalImagePage = nNbLignePage * nNbColonnePage;
		for ( nImage=nFirstImage; nImage<(nFirstImage+nNbTotalImagePage); nImage++ )
		{	
			
//			strHTMLCodeImage += "<!-- ";
//			strHTMLCodeImage += " Picture Code : " + oInfoImageList.GetImage( nImage ).GetImageCode( );
//			strHTMLCodeImage += " -->\n";
			if( nCptColonne == 0 ) strHTMLCodeImage += "<tr>";
			if( oInfoImageList.GetImage( nImage ) != null )
			{
				strHTMLCodeImage += "<td height='40' colspan='3' width='26%' align='center'>";
				
				
				// Nouveau avec popin - Mickaël 12/01/2010 11h50
				//OpenPopin( popin, 844, 617 ); return false;"
				//strHTMLCodeImage += "<a href='javascript:OpenPopin(\"popin\", document, 300, " + nImage+ " )'>";
				
				// Ancien sans popin
				//strHTMLCodeImage += "<a href='#' onClick='affiche( oInfoImageList, 2, " + nImage + ", 1,1);'>";
				
				
				
				
				
				//"../photos/Thumb-19938.jpg", "Image-0.html", "../photos/Preview-19938.jpg"
				//strHTMLCodeImage += "<img src='../photos/Thumb-" + oInfoImageList.GetImage( nImage ).GetImageId() + ".jpg' alt='" + oInfoImageList.GetImage( nImage ).GetImageInfo().GetTitreImage() + "' class='img'>";
				
				strHTMLCodeImage += "<img"; 
				strHTMLCodeImage += " style='cursor:pointer' src='" + oInfoImageList.GetImage( nImage ).GetImageInfo().GetURLLinkToImageThumb()+"'";
				strHTMLCodeImage += " alt='" + oInfoImageList.GetImage( nImage ).GetImageInfo().GetTitreImage() + "'"; 
				
				strHTMLCodeImage += " class='imgmosaique'";
				nb= 300 - oInfoImageList.GetImage( nImage ).GetImageWidth();
				nbpp = 50
				if(nb < 1)
				{
					nb=80;
					nbpp = 0;
				}
				strHTMLCodeImage += " onclick='javascript:OpenPopin(\"popin\", "+oInfoImageList.GetImage( nImage ).GetImageWidth()+"+"+nb+"+"+nbpp+" , "+oInfoImageList.GetImage( nImage ).GetImageHeight()+"+50, " + nImage + " )' />";
				strHTMLCodeImage += "<br />";
	//			strHTMLCodeImage += "</td>";
	//			strHTMLCodeImage += "<td width='75%'>";
				if ( oInfoImageList.GetImage( nImage ).GetImageInfo().GetAff_TitreImage() == 1 )
				{
				strHTMLCodeImage += "<br /><b>Titre:</b> "+oInfoImageList.GetImage( nImage ).GetImageInfo().GetTitreImage();
				}
				if ( oInfoImageList.GetImage( nImage ).GetImageInfo().GetAff_DateImage() == 1 )
				{
				strHTMLCodeImage += "<br /><b>Date:</b> "+oInfoImageList.GetImage( nImage ).GetImageInfo().GetDateImageLong();
				}
				if ( oInfoImageList.GetImage( nImage ).GetImageInfo().GetAff_VilleImage() == 1 )
				{
				strHTMLCodeImage += "<br /><b>Ville:</b> "+oInfoImageList.GetImage( nImage ).GetImageInfo().GetVilleImage();
				}
				if ( oInfoImageList.GetImage( nImage ).GetImageInfo().GetAff_PaysImage() == 1 )
				{
				strHTMLCodeImage += "<br /><b>Pays:</b> "+oInfoImageList.GetImage( nImage ).GetImageInfo().GetPaysImage();
				}
				if ( oInfoImageList.GetImage( nImage ).GetImageInfo().GetAff_MotsClesImage() == 1 )
				{
				strHTMLCodeImage += "<br /><b>Mots Cles:</b> "+oInfoImageList.GetImage( nImage ).GetImageInfo().GetMotsClesImage();
				}
				if ( oInfoImageList.GetImage( nImage ).GetImageInfo().GetAff_CreditImage() == 1 )
				{
				strHTMLCodeImage += "<br /><b>Credit:</b> "+oInfoImageList.GetImage( nImage ).GetImageInfo().GetCreditImage();
				}
				if ( oInfoImageList.GetImage( nImage ).GetImageInfo().GetAff_LegendeImage() == 1 )
				{
				strHTMLCodeImage += "<br /><b>Legende:</b> " + oInfoImageList.GetImage( nImage ).GetImageInfo().GetLegendeImage();
				}
				if ( oInfoImageList.GetImage( nImage ).GetImageInfo().GetAff_PhotographeImage() == 1 )
				{
				strHTMLCodeImage += "<br /><b>Photographe:</b> "+oInfoImageList.GetImage( nImage ).GetImageInfo().GetPhotographeImage();
				}
				if ( oInfoImageList.GetImage( nImage ).GetImageInfo().GetAff_CopyrightImage() == 1 )
				{
				strHTMLCodeImage += "<br /><b>Copyright:</b> " + oInfoImageList.GetImage( nImage ).GetImageInfo().GetCopyrightImage();
				}
				strHTMLCodeImage += "</td>";
			}
			nCptColonne++;
			if( nCptColonne == nNbColonnePage )
			{
				strHTMLCodeImage += "</tr>";
				nCptColonne = 0;
			}
			else strHTMLCodeImage += "<td width='2%'>";

			
		}
			strHTMLCodeImage += "</table>";
			strHTMLCodeImage += "</tr>";
/*			strHTMLCodeImage += "<tr>";
			strHTMLCodeImage += "<td valign='top' align='left'></td>";
			strHTMLCodeImage += "</tr>";		
*/		
		return strHTMLCodeImage;
	}
	else // page image preview
	{
		for ( nImage=nFirstImage; nImage<(nFirstImage+1); nImage++ )
		{	
			strHTMLCodeImageDetail += "\n<!-- ";
			strHTMLCodeImageDetail += " Picture Code : " + oInfoImageList.GetImage( nImage ).GetImageCode( );
			strHTMLCodeImageDetail += " -->\n";
			//strHTMLCodeImageDetail += "<div id='Layer1' style='position:relative; background-repeat:no-repeat;'>";
			
			
			strHTMLCodeImageDetail += "<img src='" + oInfoImageList.GetImage( nImage ).GetImageInfo().GetURLLinkToImagePreview() + "' alt='" + oInfoImageList.GetImage( nImage ).GetImageInfo().GetTitreImage(); // . "\n";

			strHTMLCodeImageDetail += "'";
			strHTMLCodeImageDetail += " class='img' id='imagegrand' onclick='javascript:Modalbox.hide();' style='cursor:pointer'><br />";
			//strHTMLCodeImageDetail += "<center><input type='button' value='Download' onClick='OnClickDownload ( " + oInfoImageList.GetImage( nImage ).GetImageId( ) + " );'></center>";
			//strHTMLCodeImageDetail += "</div>\n";
			//strHTMLCodeImageDetail += "<div align='left' border='0' class='title'><B>" + oInfoImageList.GetImage( nImage ).GetImageInfo().GetTitreImage() + "</B></div>\n";
			//strHTMLCodeImageDetail += "<div align='left' border='0' class='caption'>" + oInfoImageList.GetImage( nImage ).GetImageInfo().GetLegendeImage() + "</div>\n";
			//strHTMLCodeImageDetail += "<div align='left' border='0' class='auteur'>" + oInfoImageList.GetImage( nImage ).GetImageInfo().GetPhotographeImage() + " - " +  oInfoImageList.GetImage( nFirstImage ).GetImageInfo().GetCopyrightImage() + " - " + oInfoImageList.GetImage( nFirstImage ).GetImageInfo().GetDateImageLong() + "</div>\n";
			
		}	
		
		return strHTMLCodeImageDetail;
	
	}
	
}


function affiche( oInfoImageList, nMode, nNumPage,  nNbrImage, nNbLignePage)
{
	var strHTMLFull =  '';
	
	if(nMode == 1)
	{
		strHTMLShowImage = ShowImage (oInfoImageList, nNumPage , nNbrImage, nMode, nNbLignePage); // affiche la(es) image(s)
		strHTMLNavigation = Navigation(nMode, nNumPage); // affiche la navigation

		strHTMLFull = '<table width="100%" border="0" cellpadding="0" cellspacing="0">';
		strHTMLFull += ' <tr>';
		strHTMLFull += ' <td>';
		strHTMLFull += ' <table width="400" height="24" border="0" bgcolor="#FFFFFF" align="center" cellpadding="0" cellspacing="0" style="margin-bottom:5px; background-image:url(../common/images/haut_page.gif); background-repeat:no-repeat;">';
		strHTMLFull += ' <tr>';
		strHTMLFull += ' <td align="center" valign="bottom">';
		strHTMLFull += strHTMLNavigation; // affiche la navigation
		strHTMLFull += ' </td>';
		strHTMLFull += ' </tr>';
		strHTMLFull += ' </table>';
		strHTMLFull += ' </td>';
		strHTMLFull += ' </tr>';
		strHTMLFull += ' <tr>';
		strHTMLFull += ' <td valign="top" align="center">';
		strHTMLFull += strHTMLShowImage;
		strHTMLFull += ' </td>';
		strHTMLFull += ' </tr>';
		strHTMLFull += ' <tr>';
		strHTMLFull += ' <td>';
		strHTMLFull += ' <table width="400" height="20" border="0" bgcolor="#FFFFFF" align="center" cellpadding="0" cellspacing="0" style="margin-top:5px; background-image:url(../common/images/pied_page.gif); background-repeat:no-repeat;">';
		strHTMLFull += ' <tr>';
		strHTMLFull += ' <td align="center" valign="top">';
		strHTMLFull += strHTMLNavigation; // affiche la navigation
		strHTMLFull += ' </td>';
		strHTMLFull += ' </tr>';
		strHTMLFull += ' </table>';
		strHTMLFull += ' </td>';
		strHTMLFull += ' </tr>';
		strHTMLFull += '</table>';
		document.getElementById("affichage").innerHTML = strHTMLFull;
	}
	else
	{
		strHTMLFull = '<table width="300" align="center"><tr><td align="center"><div border="0"><font color="#000099">';
		strHTMLFull += '<br></font></div>';
		//strHTMLFull += Navigation(nMode, nNumPage)+'</font></div>';
		strHTMLFull += ShowImage (oInfoImageList, nNumPage , nNbColonnePage, nMode, nNbLignePage);
		strHTMLFull += '</td></tr></table>';
		document.getElementById("popin").innerHTML = strHTMLFull;
	
	}
	
	return strHTMLFull;
}


function OnClickDownload ( nImageId )
{
	var strLink;
        
	//alert ( 'Download : ' + nImageId );            

}
