//Imax Header Interactivity
$(document).ready(function(){
	var navClicked = false;
	var isTransitioning = false;
	var sliders = $('.imax-highlights').bxSlider({
		auto: true,
		pause: 15000,
		controls: true,
		autoDirection: 'next',
		infiniteLoop: false,
		easing: 'easeInOutExpo',
		speed: 1100,
		onBeforeSlide: function(_currentSlide, totalSlides)
		{
			//Pager setup
			$('.thumbs a').addClass("Disabled");
			
			//remove borders
			$('.thumbs a').removeClass('pager-active');
			
			//add border
			$('.thumbs a').eq(_currentSlide).addClass('pager-active');

            // Set Link
            var link = $(".imax-highlights li.pager").eq(_currentSlide).find(".highlight-thumb").attr("href");
            $("div.show-click-area a").attr("href", link);
			
			if (!navClicked) {
				//update arrow states when auto slideshowing running
				var currentIndex = sliders.getCurrentSlide();
				var noOfSlides = sliders.getSlideCount();
				var upcomingSlide;
				if (currentIndex == noOfSlides)
				{
					upcomingSlide = 0;	
				} else {
					upcomingSlide = currentIndex;
				}
				StyleButtons(upcomingSlide);
			};
		},
		
		onAfterSlide: function(_currentSlide, totalSlides)
		{
			//Pager setup
			$('.thumbs a').removeClass("Disabled");
			
			isTransitioning = false;
		}
	});
	
	if ($(".imax-highlights li.pager").size() < 2)
	{
		$('.custom-bx-prev, .custom-bx-next').hide();
	}
	
	StyleButtons(0);
	
	/* TOUCH ONLY EVENTS */
	
	var TouchSupport = 'createTouch' in document;
	if (TouchSupport)
	{
		// Make links work
		$("a").each(function()
		{
			if (!$(this).attr("rel"))
			{
				$(this).attr("rel", "external");
			}
		});
		
		// Add Circles
		$("ul.imax-highlights li.pager").each(function()
		{
			var href = $(this).find(".HighlightThumb").parent().attr("href");
			$("ul#Circles").append('<li><a href="javascript:void(0)"></a></li>');
		});
		$("ul#Circles li:first").children("a").addClass("Active");
		$("ul#Circles").css({left:(344 - $("ul#Circles").width() / 2)});
		$("ul#Circles li a").click(CircleClick);
		
		// Add thumbnails
		$("ul.imax-highlights li.pager").each(function()
		{
			var href = $(this).find(".HighlightThumb").parent().attr("href");
			$("ul#Circles").append('<li></li>');
		});
		$("ul#Circles li:first").addClass("Active");
		
		$(".show-click-area").live("swipeleft", function(event)
		{
			ChangeSlide(1);
		});
		
		$(".show-click-area").live("swiperight", function(event)
		{
			ChangeSlide(-1);
		});
		
		//stop auto slideshow on click of navigation
		$('.custom-bx-prev, .custom-bx-next').live("tap", function() {
			navClicked = true;
			sliders.stopShow();
		});
		
		// custom next/previous
		$('.custom-bx-prev').live("tap", function()
		{
			ChangeSlide(-1);
		});
		
		$('.custom-bx-next').live("tap", function()
		{
			ChangeSlide(1);
		});
		
		//Pager setup
		$('.thumbs a').live("tap", ThumbClick);
	}
	
	/* NON-TOUCH EVENTS */
	if (!TouchSupport)
	{
		// Add thumbnails
		$("ul.imax-highlights li.pager").each(function()
		{
			var src = $(this).find(".HighlightThumb").attr("src");
			var href = $(this).find(".HighlightThumb").parent().attr("href");
			$("div.thumbs").append('<a href="' + href + '"><img src="' + src + '" width="64" height="40" /></a>');
		});
		
		//slight arrow movement
		$('.custom-bx-prev').hover(
		  function(){
			if (!$(this).hasClass("Disabled"))
			{
				$(this).stop().animate({"left": "-5px"}, 300);
			}
		 },
		  function(){
			if (!$(this).hasClass("Disabled"))
			{
				$(this).stop().animate({"left": "0px"}, 300);
			}
		  }
		);
		
		//slight arrow movement
		$('.custom-bx-next').hover(
		  function() {
			if (!$(this).hasClass("Disabled"))
			{
				$(this).stop().animate({"right": "-5px"}, 300);
			}
		  },
		  function() {
			if (!$(this).hasClass("Disabled"))
			{
				$(this).stop().animate({"right": "0px"}, 300);
			}
		  }
		);
		
		//when hovered over slideshow stops
		$('.bx-wrapper').hover(
			function () {
				if (!navClicked) {
					sliders.stopShow();
				}
			},
			function() {
				if (!navClicked) {
					sliders.startShow();	
				}
			}
		);
		
		// custom next/previous
		$('.custom-bx-prev').click(function()
		{
			ChangeSlide(-1);
		});
		
		$('.custom-bx-next').click(function()
		{
			ChangeSlide(1);
		});
		
		//page bar mouse event listeners
		$('.pager-bar-roll-area').mouseenter(
			function()
			{
				$('.pager-bar').stop();
				//animate pager bar in
				$('.pager-bar').animate(
					{
						bottom: '0px'
					}, 300, 'easeOutQuart'
				);
			}
		);
		
		$('.pager-bar').mouseleave(
			function()
			{
				$(this).stop();
				//animate pager bar in
				$('.pager-bar').animate(
					{
						bottom: '-54px'
					}, 300, 'easeOutQuart'
				);
			}
		);
		
		$('.show-click-area').mouseenter(
			function()
			{
				$('.pager-bar').stop();
				//animate pager bar in
				$('.pager-bar').animate(
					{
						bottom: '-54px'
					}, 300, 'easeOutQuart'
				);
			}
		);
		
		//Pager setup
		$('.thumbs a').click(ThumbClick);
		
		//button rollovers
		$('.buy-tickets a').css({  'backgroundPosition': '0 0' }).hover(
		  function(){
			$(this)
			  .stop()
			  .animate({
				'opacity': 0
			  }, 250);
		  },
		  function(){
			$(this)
			  .stop()
			  .animate({
				'opacity': 1
			  }, 250);
		  }
		);
		
		$('.session-times a').css({  'backgroundPosition': '-111px 0' }).hover(
		  function(){
			$(this)
			  .stop()
			  .animate({
				'opacity': 0
			  }, 250);
		  },
		  function(){
			$(this)
			  .stop()
			  .animate({
				'opacity': 1
			  }, 250);
		  }
		);
	}
	
	/* GENERAL */
	
	// Thumb Click
	function ThumbClick()
	{
		if (!$(this).hasClass("Disabled"))
		{
			navClicked = true;
			sliders.stopShow();
			var thumbIndex = $('.thumbs a').index(this);
			sliders.goToSlide(thumbIndex);
			StyleButtons(thumbIndex);
			$('.thumbs a').removeClass('pager-active');
			$(this).addClass('pager-active');
		}
		return false;
	}
	
	// Circle Click
	function CircleClick()
	{
		var index = $("ul#Circles li").index($(this).parent());
		StyleCircles(index);
		SetSlide(index);
	}
	
	// Style Circles
	function StyleCircles(index)
	{
		$("ul#Circles li a").removeClass("Active");
		$("ul#Circles li").eq(index).children("a").addClass("Active");
	}
	
	// Change Slide
	function ChangeSlide(direction)
	{
		if (!isTransitioning)
		{
			isTransitioning = true;
			var NextSlide = sliders.getCurrentSlide() + direction;
			if (NextSlide < 0) NextSlide = 0;
			if (NextSlide > $(".imax-highlights li.pager").size() - 1) NextSlide = $(".imax-highlights li.pager").size() - 1;
			SetSlide(NextSlide);
			StyleCircles(NextSlide);
		}
	}
	
	// Set Slide
	function SetSlide(index)
	{
		navClicked = true;
		sliders.stopShow();
		sliders.goToSlide(index);
		
		StyleButtons(index);
	}
	
	function StyleButtons(NextSlide)
	{
		// Hide Next
		if (NextSlide == $(".imax-highlights li.pager").size() - 1)
		{
			$('.custom-bx-next').addClass('Disabled');
		}
		else
		{
			$('.custom-bx-next').removeClass('Disabled');
		}
		
		// Hide Previous
		if (NextSlide == 0)
		{
			$('.custom-bx-prev').addClass('Disabled');
		}
		else
		{
			$('.custom-bx-prev').removeClass('Disabled');
		}
	}
	
	//allow arrow movement to be cropped
	$('.bx-wrapper').css({  'overflow': 'hidden' })
	
	//Inject click area for showpage link
	$('.bx-wrapper').append('<div class="show-click-area"><a href=""></a></div>');

    // Set Initial Link
    var link = $(".imax-highlights li.pager").first().find(".highlight-thumb").attr("href");
    $("div.show-click-area a").attr("href", link);
	
	// Position Thumbs
	var ThumbWidth = $(".thumbs").width();
	var ThumbPos = 344 - $(".thumbs").width() / 2;
	$(".thumbs").css({left:ThumbPos});
	
	//hide pager-bar
	$('.pager-bar').animate({
		bottom: '-54px'
	}, 0
	);

    $('.thumbs a:first').addClass('pager-active');
	
  });
