$(document).ready(function() {
	
	//Bind Main Page Nav
	pageScroll();
	$(window).scroll(pageScroll);
	$('#HomeLnk, #Header ul li a').click(function() { $(this).blur(); });
	
	//Bind darkness, escape key and close buttons to close panel
	$('#Darkness, .panel a.close').click(closePanel);
	$(document).keypress(function(e) { 
		var code = (e.keyCode ? e.keyCode : e.which);
		if (code === 27) {
			closePanel();
		}
	});
	
	//Show Mission Panel
	$('#MissionLnk').click(showMission);
	
	//Show Meet People Panel
	$('#MeetPeopleLnk').click(showPeople);
	$('#MeetPeople #Slider .scroller').hover(function() {
		$('#MeetPeople #Slider .scroller').fadeTo('fast', 1);
	}, function() {
		$('#MeetPeople #Slider .scroller').fadeTo('fast', 0.7);
	});
	
	//Bind Idea Hovers
	$('#Ideas .cont').hover(portfolioEnter, portfolioLeave);
	$('#Ideas .cont a img').hover(portfolioHighlight, portfolioDehighlight);
	
	//Show Ideas Panel
	$('#Ideas .ideaLnk').click(showIdea);
	$('#Idea .subNav a.learnMore').click(showMoreInfo);
	$('#Idea .subNav a.next, #Idea .subNav a.prev').click(hideMoreInfo);
	
	//Show Directions Panel
	$('#DirectionsLnk').click(showDirections);
	
	//Test Offset Element
	$('#OffsetTest').click(alertOffset);
	
});

var firstPeopleLoad = true;
var personLoading = false;
var firstMapLoad = true;
var currentPortfolio;
var workPieces = new Array();
var currentItem;
var currentVideoPath = "";
var currentVideoAutoPlay = false;
var videoPathArr = new Array();
var videoIdArr = new Array();
var videoYTArr = new Array();
var vc = 0;

var pageScroll = function() {
	var offset = $('#Header').offset();
	switch (true) {
		case (offset.top < 516):
			$('#Header ul li a').removeClass('active');
			$('#HomeLnk').addClass('active');
			break;
		case (offset.top >= 516 && offset.top < 1086):
			$('#Header ul li a').not('a#MeetLnk').removeClass('active');
			$('#HomeLnk').removeClass('active');
			$('#Header ul li a#MeetLnk').addClass('active');
			break;
		case (offset.top >= 1086 && offset.top < 1648):
			$('#Header ul li a').not('a#IdeasLnk').removeClass('active');
			$('#HomeLnk').removeClass('active');
			$('#Header ul li a#IdeasLnk').addClass('active');
			break;
		case (offset.top >= 1648 && offset.top < 2288):
			$('#Header ul li a').not('a#CapabilitiesLnk').removeClass('active');
			$('#HomeLnk').removeClass('active');
			$('#Header ul li a#CapabilitiesLnk').addClass('active');
			break;
		case (offset.top >= 2288):
			$('#Header ul li a').not('a#ContactLnk').removeClass('active');
			$('#HomeLnk').removeClass('active');
			$('#Header ul li a#ContactLnk').addClass('active');
			break;
		default:
			$('#Header ul li a').removeClass('active');
			$('#HomeLnk').removeClass('active');
			break;
	}
}

var alertOffset = function() {
	var offset = $('#Header').offset();
	alert(offset.top + " , " + offset.left);
}

var closePanel = function() {
	workPieces = [];
	if (videoIdArr.length > 0) {
		for (i=0;i<videoIdArr.length;i++)
		{
			swfobject.removeSWF(videoIdArr[i]);
		}
	}
	$('#CaseStudyRotator ul li').remove();
	if ($('#Idea .moreInfo').hasClass('shown')) {
		hideMoreInfo();
		$('.panel.shown').delay(500).removeClass('shown').fadeOut('fast', function() {
			$('#Darkness').fadeOut('fast');
		});
	}
	else {
		$('.panel.shown').removeClass('shown').fadeOut('fast', function() {
			$('#Darkness').fadeOut('fast');
		});
	}
	if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod')
	{
		document.ontouchmove = function(e){ e.enableDefault(); }
	}
}

var showMission = function() {
	if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod')
	{
		$("html, body").animate({ scrollTop: 0 }, "fast");
		document.ontouchmove = function(e){ e.preventDefault(); }
	}
	$('#Darkness').fadeTo('fast', 0.5, function() {
		$('.panel#Mission').addClass('shown').fadeIn('slow', function() {
			//...
		});
	});
}

var showPeople = function() {
	if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod')
	{
		$("html, body").animate({ scrollTop: 0 }, "fast");
		document.ontouchmove = function(e){ e.preventDefault(); }
	}
	$('#Darkness').fadeTo('fast', 0.5, function() {
		$('.panel#MeetPeople').addClass('shown').fadeIn('slow', function() {
			if (firstPeopleLoad == true) {
				$('#Slider #ScrollingPeople').jMyCarousel({  
					visible: '957px',
					eltByElt: false,
					circular: true,
					speed: 200,
					easing: 'linear',
					start: startOffset,
					mouseWheel: true,
					btnPrev: $('#ScrollLeft'),
					btnNext: $('#ScrollRight')
				});
				$('#MeetPeople #Slider #ScrollingPeople ul.people li.person img').click(selectPerson);
				firstPeopleLoad = false;
			}
		});
	});
}

var selectPerson = function() {
	if (personLoading == false) {
		personLoading = true;
		var currentImage = this;
		var name = $(currentImage).attr('name');
		var curParent = $(currentImage).parent();
		$('#MeetPeople #Slider .person').not(curParent).removeClass('active');
		$('#MeetPeople #Slider .person img[name="' + name + '"]').parent().addClass('active');
		$('#MeetPeople #Profile').fadeOut('slow', function() {
			$('#MeetPeople #Profile').css('background', 'url(\'images/meet/overlay/people_large/' + x[$(currentImage).attr('index')].getElementsByTagName("image")[0].childNodes[0].nodeValue + '.jpg\') no-repeat right bottom');
			$('#MeetPeople h2').html(x[$(currentImage).attr('index')].getElementsByTagName("name")[0].childNodes[0].nodeValue);
			$('#MeetPeople h3').html(x[$(currentImage).attr('index')].getElementsByTagName("title")[0].childNodes[0].nodeValue);
			var fullBio = b[$(currentImage).attr('index')].getElementsByTagName("paragraph");
			var newBio = "";
			for (i=0;i<fullBio.length;i++)
			{ 
			  newBio += "<p>" + b[$(currentImage).attr('index')].getElementsByTagName("paragraph")[i].childNodes[0].nodeValue + "</p>";
			}
			
			$('#MeetPeople .text .bio').html(newBio);
			$('#MeetPeople #Profile').delay(1000).fadeIn('slow', function() {
				personLoading = false;
			});
		})
	}
}

var portfolioEnter = function() {
	$(this).find('img').clearQueue();
	$(this).find('img').not('.active').fadeTo('fast', 0.5);
}

var portfolioHighlight = function() {
	$(this).clearQueue();
	$(this).addClass('active');
	$('#Ideas .cont img').not('.active').fadeTo('fast', 0.5);
	if ($(this).hasClass('active')) {
		$(this).fadeTo('fast', 1);
	}
}

var portfolioDehighlight = function() {
	$(this).clearQueue();
	$(this).removeClass('active');
	$(this).fadeTo('fast', 0.5);
}

var portfolioLeave = function() {
	$(this).find('img').clearQueue();
	$(this).find('img').fadeTo('fast', 1);
}

var showIdea = function() {
	if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod')
	{
		$("html, body").animate({ scrollTop: 0 }, "fast");
		document.ontouchmove = function(e){ e.preventDefault(); }
	}
	
	currentPortfolio = $(this).find('img').attr('index');
	openPortfolio();
	
	videoPathArr = [];
	videoIdArr = [];
	videoYTArr = [];
	vc = 0;
	
	$('#CaseStudyRotator').jCarouselLite = null;
	$('#Idea .subNav .prev').unbind('click');
	$('#Idea .subNav .next').unbind('click');
	$('#Idea .subNav a.next, #Idea .subNav a.prev').click(hideMoreInfo);
	$('#Idea .subNav a.prev').addClass('disabled');
	$('#Idea .subNav a.next').removeClass('disabled');
	//Dynamically create carousel from XML file
	var pieces=y[currentPortfolio].getElementsByTagName("items");
	var piece=pieces[0].getElementsByTagName("item");
	for (i=0;i<piece.length;i++)
	{ 
		if (piece[i].getAttribute('type') == "image")
		{
			if (piece[i].getAttribute('link') != null) {
				workPieces[i] = $("<li class='" + i + "'><a href='" + piece[i].getAttribute('link') + "' target='_blank'><img alt='" + piece[i].getAttribute('name') + "' src='case_study_files/case_studies/" + piece[i].childNodes[0].nodeValue + "' /></a></li>");
			}
			else {
				workPieces[i] = $("<li class='" + i + "'><img alt='" + piece[i].getAttribute('name') + "' src='case_study_files/case_studies/" + piece[i].childNodes[0].nodeValue + "' /></li>");
			}
		}
		else {
			videoPathArr[vc] = piece[i].childNodes[0].nodeValue;
			var videoID = videoPathArr[vc].replace(/.*\//, "");
			videoID = videoID.replace(/\.flv/, "");
			videoID = videoID + "LI";
			videoIdArr[vc] = videoID;
			if (piece[i].getAttribute('youtube') != null) {
				videoYTArr[vc] = piece[i].getAttribute('youtube');
			}
			vc++;
			workPieces[i] = $("<li id='" + videoID + "' class='" + i + "'></li>");
		}
		$('#CaseStudyRotator ul').append(workPieces[i]);
	}
	if (videoPathArr.length > 0) {
		for (i=0;i<videoPathArr.length;i++)
		{
			createVideoPlayer(videoIdArr[i], videoPathArr[i], videoYTArr[i]);
		}
	}
	
	$('#Darkness').fadeTo('fast', 0.5, function() {
		$('.panel#Idea').addClass('shown').fadeIn('slow', function() {
			$("#CaseStudyRotator").jCarouselLite({
				btnNext: "#Idea .subNav .next",
				btnPrev: "#Idea .subNav .prev",
				visible: 1,
				circular: false,
				speed: 1000,
				beforeStart: function(a) {
					if (a.attr('id') != null) {
						if(navigator.platform != 'iPad' && navigator.platform != 'iPhone' && navigator.platform != 'iPod')
						{
							if (swfobject.hasFlashPlayerVersion('8')) {
								var videoID = a.attr('id').replace("LI", "");
								pauseMyVideoInFlash(videoID);
							}
						}
					}
				},
				afterEnd: function(a) {
					currentItem = a.attr('class');
					$('#Idea .portfolioName #CaseStudyPiece').html(piece[currentItem].getAttribute('name'));
					if (a.attr('id') != null) {
						if(navigator.platform != 'iPad' && navigator.platform != 'iPhone' && navigator.platform != 'iPod')
						{
							if (swfobject.hasFlashPlayerVersion('8')) {
								var videoID = a.attr('id').replace("LI", "");
								playMyVideoInFlash(videoID);
							}
						}
					}
				}
			});
		});
	});
}

var openPortfolio = function() {
	$('#Idea .prev').removeAttr('onclick');
	$('#Idea .next').removeAttr('onclick');
	$('#Idea .learnMore').removeAttr('onclick');
	var moreInfos=y[currentPortfolio].getElementsByTagName("moreInfo");
	moreInfoTitle = moreInfos[0].getElementsByTagName("title")[0].childNodes[0].nodeValue;
	moreInfoSituation = moreInfos[0].getElementsByTagName("situation")[0].childNodes[0].nodeValue;
	moreInfoIdea = moreInfos[0].getElementsByTagName("idea")[0].childNodes[0].nodeValue;
	$('#Idea .moreInfo .title').html(moreInfoTitle);
	$('#Idea .moreInfo .situation').html(moreInfoSituation);
	$('#Idea .moreInfo .idea').html(moreInfoIdea);
	currentPortfolioID = (y[currentPortfolio].getElementsByTagName("id")[0].childNodes[0].nodeValue + "CaseStudy");
	$('#Idea .portfolioName').attr('id', currentPortfolioID);
	var gaTrackLearnMore = "_gaq.push(['_trackEvent', 'Case Study', 'Learn More', '" + currentPortfolioID + "']);";
	var gaTrackViewPiece = "_gaq.push(['_trackEvent', 'Case Study', 'View Piece', '" + currentPortfolioID + "']);";
	$('#Idea .learnMore').attr('onclick', gaTrackLearnMore);
	$('#Idea .prev').attr('onclick', gaTrackViewPiece);
	$('#Idea .next').attr('onclick', gaTrackViewPiece);
	$('#Idea .prev').trigger('click');
	$('#Idea .portfolioName #CaseStudyName').html(y[currentPortfolio].getElementsByTagName("name")[0].childNodes[0].nodeValue + ":");
	$('#Idea .portfolioName #CaseStudyPiece').html(y[currentPortfolio].getElementsByTagName("item")[0].getAttribute("name"));
}

var createVideoPlayer = function(videoID, videoPath, videoYT) {
	if(navigator.platform != 'iPad' && navigator.platform != 'iPhone' && navigator.platform != 'iPod') {
		$.get('video-player.html', function(data) {
		  if ($('#' + videoID).hasClass('0')) {
			  var auto = "true";
		  }
		  else {
			  var auto = "false";
		  }
		  currentVideoPath = videoPath;
		  currentVideoAutoPlay = auto;
		  $('#' + videoID).html(data);
		});
	}
	else {
		$('#' + videoID).html('<iframe width="900" height="506" src="' + videoYT + '" frameborder="0" allowfullscreen></iframe>');
	}
}

var showMoreInfo = function() {
	if ($('#Idea .moreInfo').hasClass('shown')) {
		hideMoreInfo();
	}
	else {
		$('#Idea .moreInfo').addClass('shown').slideDown('slow', 'easeInOutCirc', function() {
			$('#Idea .subNav a.learnMore').html('HIDE INFO');
			$('#Idea .learnMore').removeAttr('onclick');
		});
	}
}

var hideMoreInfo = function() {
	if ($('#Idea .moreInfo').hasClass('shown')) {
		$('#Idea .moreInfo').removeClass('shown').slideUp('slow', 'easeInOutCirc', function() {
			$('#Idea .subNav a.learnMore').html('LEARN MORE');
		});
	}
}

var showDirections = function() {
	if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod')
	{
		$("html, body").animate({ scrollTop: 0 }, "fast");
		document.ontouchmove = function(e){ e.preventDefault(); }
	}
	
	$('#Darkness').fadeTo('fast', 0.5, function() {
		$('.panel#Directions').addClass('shown').fadeIn('slow', function() {
			if (firstMapLoad == true) {
				initialize();
				firstMapLoad = false;
			}
		});
	});
}


