function cPhotoGallery( blnAutoStart, intDurationSlide, intDurationEffect, 
	intNumThumbsPerPage, intCountPreLoadAhead, 
	blnEnableTopPager, blnEnableBottomPager, strNextPageLinkText, strPrevPageLinkText,
	blnRenderSlideShowControls, strPlayLinkText, strPauseLinkText,
	blnRenderNavigationControls, strPrevLinkText, strNextLinkText,
	strJSAlertMessageOnClick, strThumbMouseOutOpacity
	)
{
	this.m_blnAutoStart = blnAutoStart;
	this.m_intDurationSlide = intDurationSlide;
	this.m_intDurationEffect = intDurationEffect;
	this.m_intNumThumbsPerPage = intNumThumbsPerPage;
	this.m_intCountPreLoadAhead = intCountPreLoadAhead;
	this.m_blnEnableTopPager = blnEnableTopPager;
	this.m_blnEnableBottomPager = blnEnableBottomPager;
	this.m_strNextPageLinkText = strNextPageLinkText;
	this.m_strPrevPageLinkText = strPrevPageLinkText;
	this.m_blnRenderSlideShowControls = blnRenderSlideShowControls;
	this.m_strPlayLinkText = strPlayLinkText;
	this.m_strPauseLinkText = strPauseLinkText;
	this.m_blnRenderNavigationControls = blnRenderNavigationControls;
	this.m_strPrevLinkText = strPrevLinkText;
	this.m_strNextLinkText = strNextLinkText;
	this.m_strJSAlertMessageOnClick = strJSAlertMessageOnClick;
	this.m_strThumbMouseOutOpacity = strThumbMouseOutOpacity;

	// Function that runs when the page loads
	this.onLoad = function()
	{
		var _this = this;
		$(document).ready(function() {

			// Initially set opacity on thumbs and add
			// additional styling for hover effect on thumbs
			var onMouseOutOpacity = parseFloat( this.m_strThumbMouseOutOpacity );		// was hardcoded to 0.67;
			$('#thumbs-adv ul.thumbs li').css('opacity', onMouseOutOpacity)
				.hover(
					function () {
						$(this).not('.selected').fadeTo('fast', 1.0);
					}, 
					function () {
						$(this).not('.selected').fadeTo('fast', onMouseOutOpacity);
					}
				);
				
			if( _this.m_strJSAlertMessageOnClick.length > 0 )
			{
				$("#gallery-adv #slideshow-adv").click(function(){ alert( _this.m_strJSAlertMessageOnClick ); return false; });
				$("#gallery-adv #slideshow-adv").mousedown(function(){ alert( _this.m_strJSAlertMessageOnClick ); return false; });
				//$("#gallery-adv").mouseup(function(){ alert( _this.m_strJSAlertMessageOnClick ); });
			}

			// Initialize Advanced Galleriffic Gallery
			var galleryAdv = $('#gallery-adv').galleriffic('#thumbs-adv', {
				delay:                  _this.m_intDurationSlide,
				numThumbs:              _this.m_intNumThumbsPerPage,
				preloadAhead:           _this.m_intCountPreLoadAhead,
				enableTopPager:         _this.m_blnEnableTopPager,
				enableBottomPager:      _this.m_blnEnableBottomPager,
				imageContainerSel:      '#slideshow-adv',
				controlsContainerSel:   '#controls-adv',
				captionContainerSel:    '#caption-adv',
				loadingContainerSel:    '#loading-adv',
				renderSSControls:       _this.m_blnRenderSlideShowControls,
				renderNavControls:      _this.m_blnRenderNavigationControls,
				playLinkText:           _this.m_strPlayLinkText,
				pauseLinkText:          _this.m_strPauseLinkText,
				prevLinkText:           _this.m_strPrevLinkText,
				nextLinkText:           _this.m_strNextLinkText,
				nextPageLinkText:       _this.m_strNextPageLinkText,
				prevPageLinkText:       _this.m_strPrevPageLinkText,
				enableHistory:          true,
				autoStart:              _this.m_blnAutoStart,
				onChange:               function(prevIndex, nextIndex) {
					$('#thumbs-adv ul.thumbs').children()
						.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
						.eq(nextIndex).fadeTo('fast', 1.0);
				},
				onTransitionOut:        function(callback) {
					$('#caption-adv').fadeTo(_this.m_intDurationEffect, 0.0);
					$('#slideshow-adv').fadeTo(_this.m_intDurationEffect, 0.0, callback);
				},
				onTransitionIn:         function() {
					$('#slideshow-adv').fadeTo(_this.m_intDurationEffect, 1.0);
					$('#caption-adv').fadeTo(_this.m_intDurationEffect, 1.0);
					
				},
				onPageTransitionOut:    function(callback) {
					$('#thumbs-adv ul.thumbs').fadeTo(_this.m_intDurationEffect, 0.0, callback);

				},
				onPageTransitionIn:     function() {
					$('#thumbs-adv ul.thumbs').fadeTo(_this.m_intDurationEffect, 1.0);
				}
			});
			
		});

	};

	
	return this;
}
