/*

	Supersized - Fullscreen Slideshow jQuery Plugin
	Version : 3.2.4
	Theme 	: Shutter 1.1
	
	Site	: www.buildinternet.com/project/supersized
	Author	: Sam Dunn
	Company : One Mighty Roar (www.onemightyroar.com)
	License : MIT License / GPL License

*/


(function($){
	
	theme = {
	 	
	 	
	 	/* Initial Placement
		----------------------------*/
	 	_init : function(){
	 		
	 		// Center Slide Links
	 		if (api.options.slide_links) $(vars.slide_list).css('margin-left', -$(vars.slide_list).width()/2);
	 		
			
			
			/* Thumbnail Tray
			----------------------------*/
			// Hide tray off screen
//			$(vars.thumb_tray).animate({bottom : -$(vars.thumb_tray).height()}, 0 );
			
			// Thumbnail Tray Toggle
//			$(vars.tray_button).toggle(function(){
//				$(vars.thumb_tray).stop().animate({bottom : 0, avoidTransforms : true}, 300 );
//				if ($(vars.tray_arrow).attr('src')) $(vars.tray_arrow).attr("src", vars.image_path + "button-tray-down.png");
//				return false;
//			}, function() {
//				$(vars.thumb_tray).stop().animate({bottom : -$(vars.thumb_tray).height(), avoidTransforms : true}, 300 );
//				if ($(vars.tray_arrow).attr('src')) $(vars.tray_arrow).attr("src", vars.image_path + "button-tray-up.png");
//				return false;
//			});
			
			// Make thumb tray proper size
//			$(vars.thumb_list).width($('> li', vars.thumb_list).length * $('> li', vars.thumb_list).outerWidth(true));	//Adjust to true width of thumb markers
			
			// Display total slides
/*			if ($(vars.slide_total).length){
				$(vars.slide_total).html(api.options.slides.length);
			}*/
			
			
			/* Thumbnail Tray Navigation
			----------------------------*/	
			if (api.options.thumb_links){
				//Hide thumb arrows if not needed
			//	if ($(vars.thumb_list).width() <= $(vars.thumb_tray).width()){
			//		$(vars.thumb_back +','+vars.thumb_forward).fadeOut(0);
			//	}
				
				// Thumb Intervals
        	//	vars.thumb_interval = Math.floor($(vars.thumb_tray).width() / $('> li', vars.thumb_list).outerWidth(true)) * $('> li', vars.thumb_list).outerWidth(true);
        	//	vars.thumb_page = 0;
        		
        		// Cycle thumbs forward
        	/*	$(vars.thumb_forward).click(function(){
        			if (vars.thumb_page - vars.thumb_interval <= -$(vars.thumb_list).width()){
        				vars.thumb_page = 0;
        				$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
        			}else{
        				vars.thumb_page = vars.thumb_page - vars.thumb_interval;
        				$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
        			}
        		});
        		
        		// Cycle thumbs backwards
        		$(vars.thumb_back).click(function(){
        			if (vars.thumb_page + vars.thumb_interval > 0){
        				vars.thumb_page = Math.floor($(vars.thumb_list).width() / vars.thumb_interval) * -vars.thumb_interval;
        				if ($(vars.thumb_list).width() <= -vars.thumb_page) vars.thumb_page = vars.thumb_page + vars.thumb_interval;
        				$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
					}else{
        				vars.thumb_page = vars.thumb_page + vars.thumb_interval;
        				$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
        			}
        		});
			*/	
			}
			
			
			/* Navigation Items
			----------------------------*/
		    $('#supersized').click(function() {
		    	api.nextSlide();
				Cufon.replace('#slidecaption-wrap');
		    });
		    
		    // $(vars.prev_slide).click(function() {
		    // 	api.prevSlide();
		    // });
		    
		    	// Full Opacity on Hover
		    	if(jQuery.support.opacity){
			    	$(vars.prev_slide +','+vars.next_slide).mouseover(function() {
					   $(this).stop().animate({opacity:1},100);
					}).mouseout(function(){
					   $(this).stop().animate({opacity:0.6},100);
					});
				}
			
			// if (api.options.thumbnail_navigation){
			// 		// Next thumbnail clicked
			// 		$(vars.next_thumb).click(function() {
			// 	    	api.nextSlide();
			// 	    });
			// 	    // Previous thumbnail clicked
			// 	    $(vars.prev_thumb).click(function() {
			// 	    	api.prevSlide();
			// 	    });
			// 	}
			// 	
				// 		    $(vars.play_button).click(function() {
				// api.playToggle();						    
				// 		    });
			
				if(jQuery.support.opacity){
			    	$(vars.prev_slide +','+vars.next_slide).mouseover(function() {
					   $(this).stop().animate({opacity:1},100);
					}).mouseout(function(){
					   $(this).stop().animate({opacity:0.6},100);
					});
				}
				
				$('#slidecaption-wrap-wrap').stop().css({height:'0px',width:'0px'});
			   $('#slidecaption').removeClass('hidden-default');
				// Info Caption
			   	$('#slidecaption-wrap').toggle(function() {
//				   	$('#slidecaption-wrap span').addClass('hidden-default');
					$('#slidecaption-wrap-wrap').stop().animate({height:'166px',width:'166px'},300);
					$('#slidecaption-wrap span').stop().animate({opacity:'0'},300);				

				}, function(){
					$('#slidecaption-wrap span').stop().animate({opacity:'1'},700);				
					$('#slidecaption-wrap-wrap').stop().animate({height:'0px',width:'0px'},1200);
				});
				
				
				
			// hide Menu at Pageload	
			//this.hideNavBar();
			
			var that = this;	
			
			
			
			$('body').mousemove(function(event) {
			  	that.mouseMoved(event);
			});
			
	
			function makeScrollable($outer, $inner){
				var extra = 200;
				//Get menu width
				var divHeight = $outer.height();
				$outer.css({height:divHeight})
				//Remove scrollbars
				$outer.css({
					overflow: 'hidden'
				});
				//Find last image in container
				var lastElem = $inner.find('li:last');

				$outer.scrollTop(0);
				//When user move mouse over menu
				$outer.unbind('mousemove').bind('mousemove',function(e){

					var containerHeight = lastElem[0].offsetTop + lastElem.outerHeight() + 2*extra;


					
					var top = (e.pageY - $outer.offset().top) * (containerHeight-divHeight) / divHeight - extra;
					$outer.scrollTop(top);
				});
			}
			var thumbTrayHeight = ($(window).height() - $('#thumb-tray').position().top - 20);
			$('#thumb-tray').height(thumbTrayHeight);


			makeScrollable($('#thumb-tray'), $('#thumb-list'));
			
			
			/* Window Resize
			----------------------------*/
			$(window).resize(function(){
			
				// Thumb Links
				if (api.options.thumb_links && vars.thumb_tray.length){
					// Update Thumb Interval & Page
					vars.thumb_page = 0;	
					vars.thumb_interval = Math.floor($(vars.thumb_tray).width() / $('> li', vars.thumb_list).outerWidth(true)) * $('> li', vars.thumb_list).outerWidth(true);
					
					// Adjust thumbnail markers
					if ($(vars.thumb_list).width() > $(vars.thumb_tray).width()){
						$(vars.thumb_back +','+vars.thumb_forward).fadeIn('fast');
						$(vars.thumb_list).stop().animate({'left':0}, 200);
					}else{
						$(vars.thumb_back +','+vars.thumb_forward).fadeOut('fast');
					}
					
				}
			});	
			
								
	 	},
	 	
	 	
	 	/* Go To Slide
		----------------------------*/
	 	goTo : function(){

		},
		mouseX : 0,
		mouseY : 0,
		
		timeoutStorage : '',
		
		hideNavBar : function() {
			this.timeoutStorage = setTimeout(function(){
			       $('#navigation-bar .inner-wrap').stop().animate({left:175},1500);
			},
			3000);	
			
		},
		mouseMoved : function(event) {
			this.mouseX = event.pageX; 
		   	this.mouseY = event.pageY;
			if(($(document).width() - this.mouseX) < 180) {
				this.showNavBar();
			} else {
				clearTimeout(this.timeoutStorage);
				this.hideNavBar();
			}
		},
		
		showNavBar : function() {
			clearTimeout(this.timeoutStorage);
			var that = this;
		   	$('#navigation-bar .inner-wrap').stop().animate({left:0},500,function(){
				that.hideNavBar();
			});	
		},
		
	 	
	 	/* Play & Pause Toggle
		----------------------------*/
	 	playToggle : function(state){
	 		
	 		if (state =='play'){
	 			// If image, swap to pause
	 			if ($(vars.play_button).attr('src')) $(vars.play_button).attr("src", vars.image_path + "pause.png");

	 		}else if (state == 'pause'){
	 			// If image, swap to play
	 			if ($(vars.play_button).attr('src')) $(vars.play_button).attr("src", vars.image_path + "play.png");

	 		}
	 		
	 	},
	 	
	 	
	 	/* Before Slide Transition
		----------------------------*/
	 	beforeAnimation : function(direction){

		  	
		  	/* Update Fields
		  	----------------------------*/
		  	// Update slide caption
		   	if ($(vars.slide_caption).length){
		   		(api.getField('title')) ? $(vars.slide_caption).html(api.getField('title')) : $(vars.slide_caption).html('');
		   	}
		    // Update slide number
			if (vars.slide_current.length){
			    $(vars.slide_current).html(vars.current_slide + 1);
			}
		    
		    
		    // Highlight current thumbnail and adjust row position
		    if (api.options.thumb_links){
		    
				$('.current-thumb').removeClass('current-thumb');
				$('li', vars.thumb_list).eq(vars.current_slide).addClass('current-thumb');
				
				// If thumb out of view
				if ($(vars.thumb_list).width() > $(vars.thumb_tray).width()){
					// If next slide direction
					if (direction == 'next'){
						if (vars.current_slide == 0){
							vars.thumb_page = 0;
							$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
						} else if ($('.current-thumb').offset().left - $(vars.thumb_tray).offset().left >= vars.thumb_interval){
	        				vars.thumb_page = vars.thumb_page - vars.thumb_interval;
	        				$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
						}
					// If previous slide direction
					}else if(direction == 'prev'){
						if (vars.current_slide == api.options.slides.length - 1){
							vars.thumb_page = Math.floor($(vars.thumb_list).width() / vars.thumb_interval) * -vars.thumb_interval;
							if ($(vars.thumb_list).width() <= -vars.thumb_page) vars.thumb_page = vars.thumb_page + vars.thumb_interval;
							$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
						} else if ($('.current-thumb').offset().left - $(vars.thumb_tray).offset().left < 0){
							if (vars.thumb_page + vars.thumb_interval > 0) return false;
	        				vars.thumb_page = vars.thumb_page + vars.thumb_interval;
	        				$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
						}
					}
				}
				
				
			}
		    
	 	},
	 	
	 	
	 	/* After Slide Transition
		----------------------------*/
	 	afterAnimation : function(){

	 	},
	 	
	 	

	 	
	 
	 };
	 
	 
	 /* Theme Specific Variables
	 ----------------------------*/
	 $.supersized.themeVars = {
	 	
	 	// Internal Variables
		progress_delay		:	false,				// Delay after resize before resuming slideshow
		thumb_page 			: 	false,				// Thumbnail page
		thumb_interval 		: 	false,				// Thumbnail interval
		image_path			:	'img/',				// Default image path
													
		// General Elements							
		play_button			:	'#pauseplay',		// Play/Pause button
		next_slide			:	'#nextslide',		// Next slide button
		prev_slide			:	'#prevslide',		// Prev slide button
		next_thumb			:	'#nextthumb',		// Next slide thumb button
		prev_thumb			:	'#prevthumb',		// Prev slide thumb button
		
		slide_caption		:	'#slidecaption',	// Slide caption
		slide_current		:	'.slidenumber',		// Current slide number
		slide_total			:	'.totalslides',		// Total Slides
		slide_list			:	'#slide-list',		// Slide jump list							
		
		thumb_tray			:	'#thumb-tray',		// Thumbnail tray
		thumb_list			:	'#thumb-list',		// Thumbnail list
		thumb_forward		:	'#thumb-forward',	// Cycles forward through thumbnail list
		thumb_back			:	'#thumb-back',		// Cycles backwards through thumbnail list
		tray_arrow			:	'#tray-arrow',		// Thumbnail tray button arrow

		

	 												
	 };												
	
	 /* Theme Specific Options
	 ----------------------------*/												
	 $.supersized.themeOptions = {					
	 						   
		progress_bar		:	0,		// Timer for each slide											
		mouse_scrub			:	0		// Thumbnails move with mouse
		
	 };
	
	
})(jQuery);





