var gallery = {
	currentSlide: 0, //photo selected
	numOfSlides: 0,
	focusedMain: false,
	hoverTimeout: null,
	overlayOpacity: .85,
	containerWidth: 0,
	imgOrVid: '',
	init: function(imgOrVid){
		gallery.imgOrVid = imgOrVid;
		var slides = $("#thumbnail_container .thumb-container li");
		gallery.numOfSlides = slides.length;
		slides.each(function(i){
			$(this).click(function(){
				gallery.selectSlide(i);
			});
		});
		$('#screen-box a.prev').click(function(){gallery.nextPrevSlide("prev")});
		$('#screen-box a.next').click(function(){gallery.nextPrevSlide("next")});
		$('#screen-box').hover(gallery.focusingMain,gallery.blurringMain);
		$('.screen-container li.selected img').fadeIn(); //.click(gallery.fullScreen)
		
		//Checks if mobile device.  If so, enable touchSwipe
		if(mobileChecker.isMobile == true && gallery.imgOrVid == "image"){
			var swipeOptions=
			{
				swipe:swipe,
				threshold:20
			}
			
			$(function(){			
				//Enable swiping...
				$("#screen-box").swipe( swipeOptions );
			});
		
			//Swipe handlers
			//The only arg passed is the original touch event object			
			function swipe(event, direction)
			{
				if(direction == "left"){
					gallery.nextPrevSlide("prev");
				} else if (direction == "right"){
					gallery.nextPrevSlide("next");	
				}
			}
		}
	},
	selectSlide: function(i){
		//set photo to selected
		$("#thumbnail_container .thumb-container li").eq(i).addClass('selected').siblings().removeClass('selected');
		gallery.animateSwitch(i);
	},
	animateSwitch: function(newSlide){
		var shareTitle = $("#article-content-container .socialIcons .shareTitle").html();
		var tempURL = $("#article-content-container .socialIcons .socialURL").html();
		var socialURL = "";
		if(gallery.imgOrVid == 'video'){
			var newMovieID = $("#thumbnail_container .thumb-container li").eq(newSlide).find('img').attr('src').replace('http://cdn1.gamepro.com/video/hdr/','').replace('.jpg','');
			var new_cdn_ck = newMovieID.split("-");
			if(new_cdn_ck.length == 2)
				newMovieID = new_cdn_ck[1];
			var movieW = '352';
			var movieH = '221';

			shareTitle = "E3 Insider | " + $("#thumbnail_container .thumb-container li").eq(newSlide).find('img').attr('title');
			socialURL = tempURL.substring(0,tempURL.lastIndexOf("/")) + "/" + newMovieID;

			
			$('#screen-box .screen-container li').fadeOut(500,function(){
				if(typeof(jwplayer('mpDiv')) != 'undefined'){
					jwplayer('mpDiv').stop();
				}
				$('#mpDiv').empty();
				videoEmbed.loadIt('mpDiv',newMovieID,'352','221');
			});
			gallery.scrollDragger();
			$('#screen-box .screen-container li').fadeIn(500, function(){
				gallery.currentSlide = newSlide;
			});
		} else {
			$('#screen-box .screen-container li.selected img').fadeIn(); //.unbind('click').click(gallery.fullScreen)
			$('#screen-box .screen-container li').eq(newSlide).siblings().removeClass('selected').children().children().fadeOut(500,function(){$(this).css('display','none');});
			gallery.scrollDragger();
			$('#screen-box .screen-container li').eq(newSlide).addClass('selected').children().children().fadeIn(500, function(){
				gallery.currentSlide = newSlide;
			});
			
			var newImageID = $("#thumbnail_container .thumb-container li.selected img").attr('rel');
			socialURL = tempURL.substring(0,tempURL.lastIndexOf("/")) + "/" + newImageID;
		}
//		console.log(shareTitle);
//		console.log(socialURL);
		loadSocial(socialURL,shareTitle);
	},
	scrollDragger:function(){
		var thumbContainer = $('#thumbnail_container .customScrollBox .container');
		var selectedThumb = $("#thumbnail_container .thumb-container li.selected img");
		var dragger = $('#thumbnail_container .dragger');
		
		//visible box width center
		var thumbCenter = ($('#thumbnail_container .customScrollBox').width() / 2);
//		console.log(thumbCenter);
		
		var distanceToThumb = (selectedThumb.position().left + (selectedThumb.width() / 2) + thumbContainer.position().left) - thumbCenter;
//		console.log(distanceToThumb);
		var moveContainerX = thumbContainer.position().left - distanceToThumb;
//		console.log(moveContainerX);
		if(moveContainerX > 0){
			moveContainerX = 0;	
		} else if(moveContainerX < $('#thumbnail_container .customScrollBox').width()-thumbContainer.width()){
			moveContainerX = $('#thumbnail_container .customScrollBox').width()-thumbContainer.width();	
		}
		if(gallery.numOfSlides > 2){
			thumbContainer.stop().animate({left:moveContainerX},500);
		}
		
		var draggerBoxWidth = ($('#thumbnail_container .dragger_container').width()-dragger.width());
//		console.log($("#thumbnail_container .thumb-container li").length);
		moveDraggerX = -draggerBoxWidth * (moveContainerX / (thumbContainer.width()-$('#thumbnail_container .customScrollBox').width()));
//		console.log(moveDraggerX);
		dragger.stop().animate({left:moveDraggerX},500);
		
//		var scrollAmount=(thumbContainer.width()-$('#thumbnail_container .customScrollBox').width())/($('#thumbnail_container .dragger_container').width()-dragger.width());

//		gallery.moveThumbs();
	},
	moveThumbs: function(){
		var thumbContainer = $('#thumbnail_container .customScrollBox .container')
		var dragger = $('#thumbnail_container .dragger');
		var scrollAmount=(thumbContainer.width()-$('#thumbnail_container .customScrollBox').width())/($('#thumbnail_container .dragger_container').width()-dragger.width());
		var draggerX=dragger.position().left;
		var targX=-draggerX*scrollAmount;
		var thePos=thumbContainer.position().left-targX;
		thumbContainer.stop().animate({left: "-="+thePos}, 500);
	},
	focusingMain: function(){
		clearTimeout(gallery.hoverTimeout);
		gallery.hoverTimeout = setTimeout(
		function(){
			gallery.showSlideNav();
		},250);
	},
	blurringMain: function(){
		clearTimeout(gallery.hoverTimeout);
		gallery.hoverTimeout = setTimeout(
		function(){
			gallery.hideSlideNav();
		},1000);
	},
	
/*NOT USED - CUSTOM FULL SCREEN OPTION - NEEDS WORK	
	fullScreen: function(){
		$('#screen-box').switchClass('normal','fullScreen',500);
		$('#screen-box .overlay').css({opacity: 0, display:'block'}).stop().animate({opacity:gallery.overlayOpacity},500);
		console.log("entering fullScreen: " + $('#screen-box').css('position'));
		//add overlay that will close box
		$('#screen-box .overlay').click(gallery.normalScreen);
		$('#screen-box .overlay a').click(gallery.normalScreen);
		
//		$('#screen-box .screen-container li.selected').animate({
//			top:
//		},500);
		
		$('.screen-container li img').unbind('click');
		$(document).keydown(function(e) {
			if (e.keyCode == 27) {
				gallery.normalScreen();
			}
		});
	},
	normalScreen: function(){
		console.log("back to normal");
		$('#screen-box').switchClass('fullScreen','normal',500);
		$('#screen-box .overlay').fadeOut();
		$('.screen-container li img').click(gallery.fullScreen);
		
		$(document).unbind('keydown');
		
	},
*/	
	showSlideNav: function(){
		if(mobileChecker.isMobile != true){ //disable auto hide feature when viewing on mobile device
			$('#screen-box .prev').fadeIn();
			$('#screen-box .next').fadeIn();
		}
	},
	hideSlideNav: function(){
		if(mobileChecker.isMobile != true){ //disable auto hide feature when viewing on mobile device
			$('#screen-box .prev').fadeOut();
			$('#screen-box .next').fadeOut();
		}
	},
	nextPrevSlide: function(direction){
		var i = gallery.currentSlide;
		if(direction == "prev"){
			i--;
			if(i < 0){
				i = gallery.numOfSlides -1;
			}
		} else {
			i++;
			if(i > gallery.numOfSlides -1){
				i = 0;
			}
		}
		gallery.selectSlide(i);
	}
}
/*
//instantiated when details page is loaded (tab-data-get.js)
$(document).ready(function(){
	gallery.init();
});
*/
