var decadeBrowserLoaded = false;
var decadeBrowser;

function DecadeBrowserEvent(event, decade) {
	if (event == 'IS_READY') {
		decadeBrowserLoaded = true;
		decadeBrowser = $('#DecadeBrowser').get(0);
		initDecadeBrowserNav();
	}

	if (event == 'DECADE_LOADED') {

	}

	if (event == 'START_OUTRO') {
		$(document).trigger('handleElementsOut');
	}

	if (event == 'START_INTRO') {
		$(document).trigger('loadData', decade);
		$(document).trigger('handleSliderImages');
		$('#light-box-add-text').removeClass().addClass('lightbox-link-'+decade+' light-box-add-text');

		if (!decadeBrowserLoaded) {
			$('#media').css({backgroundImage: '/img/decades/'+decade+'s.jpg'});
		}

	}

	if (event == 'START_LOOP') {
		$(document).trigger('handleElementsIn');
	}
}

function initDecadeBrowserNav(decade) {
	if (decadeBrowser) {
		decadeBrowser.loadDecade(decade);
	} else {
		$(document).trigger('handleElementsOut');
		$('#media').css({'background': 'url("/img/decades/'+decade+'s.jpg") no-repeat'});
		$(document).trigger('loadData', [decade, true]);
		$(document).trigger('handleSliderImages', [true]);
		$(document).trigger('handleElementsIn');
		$('#light-box-add-text').removeClass().addClass('lightbox-link-'+decade+' light-box-add-text');
	}
}

$(function(){

	var sliderWidth;
	var maxContentWidth = 667;

	var noflash = false;
	var fancyboxSettings = {
		'type': 'iframe',
		'width': 798,
		'padding': 20,
		'autoScale': false,
		'height': 570,
		'overlayShow': true,
		'overlayOpacity': 0.75,
		'overlayColor': '#000',
		'titleShow': false,
		onStart: function() {
			$('.point').hide();
			$('#DecadeBrowser').css({'visibility': 'hidden', 'height': '0px', 'width': '0px'});
		},
		onCleanup: function() {
			$('.point').show();
			$('#DecadeBrowser').css({'visibility': 'visible', 'height': '299px', 'width': '889px'});
		}
	};

	$('#nav li').click(function() {
		$('#nav li a').removeClass('active');
		$(this).find('a').addClass('active');
		var decade_id = $(this).attr('id').replace("d", "");
		initDecadeBrowserNav(decade_id);
		return false;
	});

	//HANDLING FADING OUT ELEMENTS
	$(document).bind('handleElementsOut', function(event) {
		if ($.browser.msie){
			$('.point, .bubble, #slider-items, #slider-row, #decade-map').hide();
			$('.point').remove();
		} else {
			$('.point').fadeOut(1000,function() {$(this).remove();});
			$('.bubble').fadeOut(1000);
			$('#slider-items, #slider-row').fadeOut(1000);
			$('#decade-map').fadeOut(1000);
		}
	});

	//HANDLING FADING IN ELEMENTS
	$(document).bind('handleElementsIn', function(event) {
		if ($.browser.msie){
			$('.point').show();
			$('#decade-map').show();
		} else {
			$('#decade-map').fadeIn(1000);
			$('.point').fadeIn(1000);
		}

		if ($('#slider-items').width() <= maxContentWidth) {
			$('#slider-items').css({'margin-top':'10px'});
			$('#slider-items').fadeIn(1000);
		} else {
			$('#slider-items').css({'margin-top':'0px'});
			$('#slider-items, #slider-row').fadeIn(1000);
		}
	});

	//LOAD AND PLACE ELEMENTS
	$(document).bind('loadData', function(event, decade, noflash) {

		//clear out elements if no flash
		if (noflash == true) {
			$(document).trigger('handleElementsOut');
		}

		$('#slider-items').empty();
		$('#decade-map').remove();
		$("#lightboxadd-decade-link").attr({'href': '/decades/view_decade/'+decade});
		$("#lightboxadd-decade-link").fancybox(fancyboxSettings);

		$.getJSON('/decade/', {'decade': decade}, function(data) {

			var currentDecade = $('#nav .active').parent().attr('id').replace("d", "");
			//START DECADE CHECK
			if (currentDecade == decade) {

				var i = 0;

				if (data.Map.slug.length != 0) {
					$('#media').append('<img src="generated/images/'+data.Map.slug+'_w149_h149.png" width="149" height="149" id="decade-map" alt="Mater Hill Milestones"/ >');
				}
				// set our slide width to zero, then incremement as we process the images
				sliderWidth = 0;

				$.each(data.SliderImage, function() {
					i++;
					sliderWidth += parseInt(this.width, 10) + 41; // 41 is the padding between items
					$('#slider-items').append('<li><img src="generated/images/'+this.slug+'_h119.'+this.extension+'" height="119" alt="Mater Hill Milestones" /></li>');
					if (data.SliderImage.length != i) {
						$('#slider-items').append('<img src="img/slider-separator.jpg" width="2" height="119" alt="Milestone Separator"/ >');
					}
				});

				if (noflash == true) {
					calcSlider();
				}

				$.each(data.Milestone, function() {
					var milestone = $('<div class="point"></div>').css({'left': this.x+'px', 'top': this.y+'px'}).hide().appendTo('#media');

					if (noflash == true) {
						if ($.browser.msie){
							milestone.show();
						} else {
							milestone.fadeIn(1000);
						}

					}

					milestone.data('milestone', this).hover(function() {
						$(".read-more").fancybox(fancyboxSettings);
						if ($(this).is(':not(.active)')) {
							$('.point').removeClass('active');
							$(this).addClass('active');
							showBubble(this);
						}
					}, function() {return false;});
				});
				//END DECADE CHECK
			}
		});
	});

	function showBubble(point) {
		var data = $(point).data('milestone');
		$('.bubble-text').html('<span class="date">'+data.year+'</span><span>'+data.intro_text+'</span>');
		$('.bubble .read-more').attr({'href': '/decades/view/'+data.id});

		if (data.Image.slug) {
			$('.bubble-img .milestone-img').replaceWith($('<img width="177" height="150" alt="Mater Hill" border="0" class="milestone-img" />').attr({'src': 'generated/images/'+data.Image.slug+'_w177_h150.jpg'}));
			$('.bubble-img').show();
		} else {
			$('.bubble-img').hide();
		}

		if (Number(data.y) < 20) {
			var arrowoffset = 20;
		} else if (Number(data.y) > 250) {
			var arrowoffset = -20;
		} else {
			var arrowoffset = 0;
		}

		if ((Number(data.x) + 251) < $('#media').width()) {
			var leftoffset = Number(data.x) + 35;
			$('.arrow').css({'top': Number(data.y) + arrowoffset - 11 +'px', 'left': '0', 'background-position': 'left top' });
		} else {
			var leftoffset = Number(data.x) - 181 - 48;
			$('.arrow').css({'top': Number(data.y) + arrowoffset - 11 +'px', 'left': 216+'px', 'background-position': 'left -40px'});
		}

		var bubble = $('.bubble').hide().css({'left':  leftoffset +'px'});
		if ($.browser.msie){
			bubble.show();
		} else {
			bubble.fadeIn(250);
		}
	}

	$(document).click(function(event) {
		if ((!$(event.target).parents().is(".bubble, #fancybox-wrap") && $(event.target).is(':not(#fancybox-overlay, .point, .bubble)')) || $(event.target).is('.close-bubble')) {
			if ($.browser.msie){
				$('.bubble').hide();
			} else {
				$('.bubble').fadeOut();
			}

			$('.point').removeClass('active');
		}
		if ($(event.target).is('.close-bubble')) {
			return false;
		}
	});



	//SLIDER FUNCTIONS
	$(document).bind('handleSliderImages', function(event, noflash) {

		var ul = $('#slider-items');

		ul.css('left', 0);

		$('#handle').remove();
		$('#slider-row').append('<div id="handle"></div>');

		var slider = $('#handle', this).slider({
			slide: function (ev, ui) {
				var distance = (sliderWidth ? sliderWidth : $('#slider-items').width()) - $('#slider-row').innerWidth() - 30;
				if (ui.value > 0) {
					ul.css('left', '-'+distance * (ui.value / 100) +'px');
				}
			}
		});
	});



	function calcSlider() {

		$('#slider-items').hide();
		$('#slider').removeClass('scrolling');

		if (sliderWidth <= maxContentWidth) {
			$('#slider-items').css({'margin-top':'10px'});
			$('#slider-items').fadeIn(1000);
		} else {
			$('#slider-items').css({'margin-top':'0px'});
			$('#slider-items, #slider-row').fadeIn(1000);
			$('#slider').addClass('scrolling');
		}
	}

});

function testFlash(e) {
	if (e.success == false || e == false) {
		initDecadeBrowserNav(1910);
	}
}
var time = new Date;

swfobject.embedSWF('/swf/decades.swf?'+time.getTime(), "decades", "890", "299", "9.0.124", null, {videoUrlPrefix:'/img/decades/'}, {allowScriptAccess:'always', wmode: 'opaque'}, {id:'DecadeBrowser'}, testFlash);
