var loading = '<p id="loading"><img src="/images/loading.gif" alt="Loading..." class="loading" /> loading&hellip;</p>';
$(function() {
	// section menus
	$("#mainNavigation ul ul, #mainNavigation ul dl, #movieContainer, #loading, #movPlayer, #prev").hide();
	
	$("#mainNavigation > ul > li > a, #masthead a").click(function(e) {
		if (!$("#mainNavigation > ul").hasClass("home")) {
			e.preventDefault();
			if (!$(this).parent("li").hasClass("active")) {
				var dest = this.href;
				$("#mainNavigation ul ul:visible, #mainNavigation ul dl:visible").slideUp(350, function() {
					window.location.href = dest;
				});
			} else {
				$(this).parent("li").find("li.active").removeClass("active");
				$("#movieContainer:visible #closeButton").trigger("click");
			}
		}
	});
	
	// thumbnail hover effect
	$("#thumbs a").hover(function() {
		$(this).animate({opacity: .8}, 150);
		var x = $(this).parent("li").attr("class");
		$("#mainNavigation li."+x).addClass("active");
	}, function() {
		$(this).animate({opacity: 1}, 150);
		var y = $(this).parent("li").attr("class");
		$("#mainNavigation li."+y).removeClass("active");
	});
	
	// main navigation hover effect
	$("#mainNavigation ul ul a").hover(function() {
		var x = $(this).parent("li").attr("class");
		$("#thumbs li."+x+" a").animate({opacity: .8}, 150);
	}, function() {
		var y = $(this).parent("li").attr("class");
		$("#thumbs li."+y+" a").animate({opacity: 1}, 150);
	});
	
	
	// movie functions
	// load movie
	$("#mainNavigation ul ul a, #thumbs ul a").click(function(e) {
		if ($("body").attr("id") != "stills") {
			e.preventDefault();
			var m = this.href;
			var t = $(this).text();
			var p = $(this).attr("rel");
			if (p !== "") {
				p = " / " + p;
			}
			$(this).parent("li").addClass("active").siblings("li").removeClass("active");
			$("#movieContainer h2").text(t + p).scrambledWriter();
			$("#thumbs:visible").fadeOut(150, function() {
				$("#movieContainer").fadeIn(150);
			});
			if ($("#movie:visible")) {
				$("#movie").empty().append(loading).fadeIn("normal", function() {
					$("#movie p#loading").delay(2000).fadeOut("normal", function() {
						loadClip(m);
					});
				});
			} else {
				loadClip(m);
			}
		}
	});
	
	// close movie player
	$("#closeButton").live("click", function(e) {
		e.preventDefault();
		$("#movieContainer").fadeOut(150, function() {
			$("#movie").empty();
			$("#thumbs").fadeIn(150);
		});
	});
	
	// auto play from active clip
	$("#movPlayer").live('qt_ended', function() {
		$("#movieContainer h2").text("");
		if ($("#mainNavigation ul ul li.active").is(":last-child")) {
			$("#closeButton").trigger("click");
		} else {
			$("#mainNavigation ul ul li.active").next("li").children("a").trigger("click");
			/*
				$("#movie").empty().append(loading).fadeIn("normal", function() {
				$("#movie p#loading").delay(2000).fadeOut("normal", function() {
					$("#mainNavigation ul ul li.active").next("li").children("a").trigger("click");
				});
			});
			*/
		}
	});
	
	$("#movPlayer").load(function() {
		$(this).show();
	});
	
	// Stills Functions
	$("#navStills ul a").click(function(e) {
		e.preventDefault();
		if (!$(this).parent("li").hasClass("active")) {
			$("#prev").hide();
			$("#next").show();
			var gallery = this.href;
			$("#photoContainer:visible").fadeOut();
			$("#gallery").fadeOut(function() {
				$(this).load(gallery + " #photoContainer", function() {
					$("#photoContainer").hide().fadeIn();
					$("#stillsList").hide();
					$("#stillsList li:first-child").addClass("active");
					$("#gallery").fadeIn();
				});
			});
			$("#navStills li").removeClass("active");
			$(this).parent("li").addClass("active");
			/*$(this).parentsUntil("#mainNavigation > ul").slideUp(350, function() {
				window.location.href = gallery;
			});*/
		}
	});
	
	// image click
	$("#stills #stillsImg").live("click", function(e) {
		$("#next:visible").trigger("click");
	});
	
	// left & right arrow keys
	$("#stills").keyup(function(e) {
		switch (e.keyCode) {
			case 37:
			$("#prev:visible").trigger("click");
			break;
			
			case 39:
			$("#next:visible").trigger("click");
			break;
		}
	})
	
	// next button
	$("#next").live("click", function(e) {
		e.preventDefault();
		$("#prev:hidden").show();
		var c = $("#stillsList .active");
		var n = c.next("li");
		var s = n.children("a").attr("href");
		$("#stillsImg").fadeOut(150, function() {
			$(this).attr("src", s);
			$(this).load(function() {
				$(this).fadeIn();
			});
		});
		c.removeClass("active");
		n.addClass("active");
		if (n.is(":last-child")) {
			$(this).hide();
		}
	});
	
	// prev button
	$("#prev").live("click", function(e) {
		e.preventDefault();
		$("#next:hidden").show();
		var c = $("#stillsList .active");
		var p = c.prev("li");
		var s = p.children("a").attr("href");
		$("#stillsImg").fadeOut(150, function() {
			$(this).attr("src", s);
			$(this).load(function() {
				$(this).fadeIn();
			});
		});
		c.removeClass("active");
		p.addClass("active");
		if (p.is(":first-child")) {
			$(this).hide();
		}
	});
	
	// email links
	$(".emailLink").click(function() {
		var domain = this.href.replace("http://www.", "");
		var addr = "mailto:" + this.id + "@" + domain.replace("/", "");
		this.href = addr;
	});
	
	// external links
	$(".externalLink").click(function(e) {
		e.preventDefault();
		window.open(this.href);
	});
	
});

$(window).load(function() {
	$("#mainNavigation .active ul, #mainNavigation .active dl").slideDown();
	$("#mainNavigation .active ul a, #mainNavigation dt a, dd.agent span, dd.phone, dd.email a").scrambledWriter();
	$("#navStills.active #navPeople a").trigger("click");
});

/*------------------------------------------
	Utility Functions
--------------------------------------------*/
function loadClip(movpath) {
	if ($.browser.safari) {
		var player = document.getElementById("movPlayer");
		if (player) {
			player.Stop();
		}
	}
	var theMov = QT_GenerateOBJECTText_XHTML(movpath, '100%', '100%', '', 'EnableJavaScript', 'True', 'postdomevents', 'True', 'obj#ID', 'movPlayer', 'emb#ID', 'movPlayerEmbed', 'emb#NAME', 'movPlayer', 'autoplay', 'true', 'showlogo', 'false', 'controller', 'false', 'kioskmode', 'true', 'scale','1', 'allowembedtagoverrides','true', 'loop', 'false', 'bgcolor', 'transparent', 'wmode', 'transparent');
	$("#movie").empty().append(theMov);
}
