jQuery(document).ready(function($) {
	
	//only init if wordpress-single-post with gallery (#thumbs div found)
	
	var is_single_post = $('body').hasClass('single');
	if ($('#thumbs').length!=0 && is_single_post) {
		
		$('#loading').fadeIn("slow");
		
		/****************************************************************************************/
		
		// We only want these styles applied when javascript is enabled
		$('div.navigation').css({'width' : '315px', 'float' : 'left'});
		$('div.content').css('display', 'block');
	
		// Initially set opacity on thumbs and add
		// additional styling for hover effect on thumbs
		var onMouseOutOpacity = 0.85;
		$('#thumbs ul.thumbs li').opacityrollover({
			mouseOutOpacity:   onMouseOutOpacity,
			mouseOverOpacity:  1.0,
			fadeSpeed:         'fast',
			exemptionSelector: '.selected'
		});
	
		//check if thumbs div exists
		
			
			// Initialize Advanced Galleriffic Gallery
			var gallery = $('#thumbs').galleriffic({
				delay:                     2500,
				numThumbs:                 15,
				preloadAhead:              15,
				enableTopPager:            false,
				enableBottomPager:         false,
				maxPagesToShow:            7,
				imageContainerSel:         '#slideshow',
				controlsContainerSel:      '#controls',
				captionContainerSel:       '#caption',
				loadingContainerSel:       '#loading',
				renderSSControls:          false,
				renderNavControls:         false,
				playLinkText:              'Play Slideshow',
				pauseLinkText:             'Pause Slideshow',
				prevLinkText:              '&lsaquo; Previous Photo',
				nextLinkText:              'Next Photo &rsaquo;',
				nextPageLinkText:          'Next &rsaquo;',
				prevPageLinkText:          '&lsaquo; Prev',
				enableHistory:             true,  // breaks mouse-back button if activated? opacity hover flicker if off
				enableKeyboardNavigation:  false,
				autoStart:                 false,
				syncTransitions:           true,
				defaultTransitionDuration: 300,
				onSlideChange:             function(prevIndex, nextIndex) {
					// 'this' refers to the gallery, which is an extension of $('#thumbs')
					this.find('ul.thumbs').children()
						.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
						.eq(nextIndex).fadeTo('fast', 1.0);
				}
			});
		
		/**** Functions to support integration of galleriffic with the jquery.history plugin ****/
	
		// PageLoad function
		// This function is called when:
		// 1. after calling $.historyInit();
		// 2. after calling $.historyLoad();
		// 3. after pushing "Go Back" button of a browser
		function pageload(hash) {
			// alert("pageload: " + hash);
			// hash doesn't contain the first # character.
			
			//trigger only if has shorter than 3 caps (enough for slide index)
			if(hash.length < 3) {
				$.galleriffic.gotoImage(hash);
			} else {
				//bug...if ho hash then always stops at slide 0 instead of going back to previous pages
				//gallery.gotoIndex(0);
			}
		}
	
		// Initialize history plugin.
		// The callback is called at once by present location.hash. 
		$.historyInit(pageload);
	
		// set onlick event for buttons using the jQuery 1.3 live method
		$("a[rel='history']").live('click', function(e) {
			if (e.button != 0) return true;
		 
			var hash = this.href;
			hash = hash.replace(/^.*#/, '');
	
	
			// moves to a new page. 
			// pageload is called at once. 
			// hash don't contain "#", "?"
			$.historyLoad(hash);
	
			return false;
		});
	
		/****************************************************************************************/
	}
});
