// From http://alexwilsonphoto.com/gallery/showcase/showcase2/#undefined


//<![CDATA[
	$(document).ready(function(){
		
		// adds new class name to maintain degradability
		$('ul.photo-list').addClass('thumbnails');
		
		// Add Gallery with Next and Prev buttons
		//$('ul.thumbnails').after('<div id="main_image"></div><p class="gallery-nav"><a href="#" onclick="$.galleria.prev(); return false;">&laquo; prev photo</a> | <a href="#" onclick="$.galleria.next(); return false;">next photo &raquo;</a></p>');
		
		// Add Gallery with Slidehsow set up
		//$('ul.thumbnails').after('<div id="main_image"></div><div id="gallerytitle"><p class="gallery-nav">Slideshow: <span class="start">Start</span> | <span class="stop">Stop</span></p></div>');
		$('ul.thumbnails').after('<div id="main_image"></div><div id="gallerytitle"><p class="gallery-nav"><a class="start">Play Slideshow</a> <a class="stop hidden">Stop Slideshow</a></p></div>');
		/*$('p.gallery-nav a').toggle(function(){
			$(this).text('Stop Slideshow').removeClass('start').addClass('stop');
		}, function(){
			$(this).text('Play Slideshow').removeClass('stop').addClass('start');
		});*/
		
		//$('.jcarousel-skin-tango').addClass('gallery_show'); // adds new class name to maintain degradability
		
		$('ul.thumbnails').galleria({
			history   : false, // activates the history object for bookmarking, back-button etc.
			clickNext : true, // helper for making the image clickable
			insert    : '#main_image', // the containing selector for our main image
			onImage   : function(image,caption,thumb) { // let's add some image effects for demonstration purposes
				
				if(! ($.browser.mozilla && navigator.appVersion.indexOf("Win")!=-1) ) { // FF/Win fades large images terribly slow
					image.css('display','none').fadeIn(600);
				}
				caption.css('display','none').fadeIn(600);
				
				// fetch the thumbnail container
				var _li = thumb.parents('li');
				
				// fade out inactive thumbnail
				_li.siblings().children('img.selected').fadeTo(500,1);
				
				// fade in active thumbnail
				thumb.fadeTo('fast',0.4).addClass('selected');
				
				// add a title for the clickable image
				image.attr('title','Next image >>');
				
				$('#main_image').trigger('img_change');

			},
			onThumb : function(thumb) { // thumbnail effects goes here
				
				// fetch the thumbnail container
				var _li = thumb.parents('li');
				
				// if thumbnail is active, fade all the way.
				var _fadeTo = _li.is('.active') ? '0.4' : '1';
				
				// fade in the thumbnail when finished loading
				thumb.css({display:'none',opacity:_fadeTo}).fadeIn(1500);
				
				// hover effects
				thumb.hover(
					function() { thumb.fadeTo('fast',0.4); },
					function() { _li.not('.active').children('img').fadeTo('fast',1); } // don't fade out if the parent is active
				)
			}
		});
		
		jQuery('ul.thumbnails').jcarousel({
    		animation: "300",
       		wrap: 'last',
        	scroll: 5,
	        initCallback: mycarousel_initCallback
	    });
	    
	    $.hotkeys.add('left', function(){$.galleria.prev();});
	    $.hotkeys.add('right', function(){$.galleria.next();});


	    $(function() { 
				//var slideshow = $("gallerytitle");
				
				var active = false;
				var gal = $('#gallerytitle');
				$('.start').css("cursor", "pointer").click(function() {
					if (!active) {
						active = !active;
						$.galleria.next();
						gal.everyTime('5s', 'slideshow', function() {
							$.galleria.next();
						});
					}
					$(this).addClass('hidden');
					$(this).next().removeClass('hidden');
				});
				//}).end().find('.stop').css("cursor", "pointer").click(function() {
				$('.stop').css("cursor", "pointer").click(function() {
					$(this).addClass('hidden');
					$(this).prev().removeClass('hidden');
					if (active) {
						active = !active;
						gal.stopTime('slideshow');
					}
				});
		});
	    
    });

    function mycarousel_initCallback(carousel) {
	    jQuery('#main_image').bind('img_change',function() {
		    var num = parseInt(($('.caption').text()).split(":",1)[0])-1;
	        carousel.scroll(num);
	        return false;
	    });
	};	
//]]>
