var delay = 3000;
var duration = 1000;
var items;
var circles = [];

Shadowbox.init({ overlayOpacity: "0.9" });

Cufon.replace("h1", { fontFamily: "helvetica-neue-lt-com-lt-ex" });
Cufon.replace("h2", { fontFamily: "helvetica-neue-lt-com-lt-ex" });
Cufon.replace("#text-cycle ul li", { fontFamily: "helvetica-neue-lt-com-lt-ex" });

function getPageName() {
	var	sections = document.location.toString().split("/");
	var page = sections[sections.length - 1];
	if(page.indexOf("?") > -1) {
		sections = page.split("?");
		page = sections[0];
	}
	return page;
}

function showNext(e) {
	var n = (e.index() == items.last().index()) ? items.first() : e.next();
	e.delay(delay).animate({left: $("#text-cycle").width() + 20}, duration);
	n.css("left", -n.width() - 20);
	n.css("display", "block");
	n.delay(delay).animate({left: 0}, duration, function() {
		showNext($(this));
	});
}

function doTextCycle() {
	items = $("#text-cycle ul li");
	if(items.length > 0) showNext(items.first());
}

function doFloorPlans() {
	if($("#floor-plans").length > 0) {
		flashembed("floor-plans", { 
			src: "swf/floor-plans.swf", 
			version: [10, 0]
		});
	}
}

function doAudio() {
	if($("#audio").length > 0) {
		$f("audio", "swf/flowplayer-3.1.5.swf", { 
			plugins: { controls: null },
			clip: { 
				autoPlay: true,
				onBeforeFinish: function() { return false; } 
			} 
		});
		
		$("#audio-controls").click(function() {
			if($f("audio").toggle())
				$(this).removeClass("off");
			else
				$(this).addClass("off");
				
			return false;
		});
		
		if($("#video").length > 0) {
			$("#video").click(function() {
				$f("audio").stop();
				$("#audio-controls").addClass("off");
			});
		}
	}
}

function doSubNav() {
	$("#sub-nav li a").mouseenter(function() {
		var span = $(this).find("span");
		if(span.length > 0) {
			var x = -(span.width() / 2) + ($(this).width() / 4);
			span.css("left", x).fadeIn();
		}
	});
	
	$("#sub-nav li a").mouseleave(function() {
		$(this).find("span").fadeOut();   
	});
}

function nextCircle(e) {
	var items =  $("#circle-container li div").not(e);
	var n = items.eq(Math.round(Math.random() * (items.length - 1)));
	
	circles.push(n);
	if(circles.length > 4) {
		circles[0].delay(1000).fadeOut();
		circles.splice(0, 1);
	}
	
	n.delay(1000).fadeIn(1000, function() {
		nextCircle($(this));						
	});
}

function doCircleAnimation() {
	var numRows = 3;
	var numCols = 7;
	var numGraphics = 28;
	
	var graphics = new Array();
	for(var i = 0; i<numGraphics; i++)
		graphics.push( "url(images/circles/circle-graphic" + i +".png)");
		
	var circleAnimation = $("#circle-animation");
	if(circleAnimation.length > 0) {
		var colors = ["blue", "green", "brown", "orange"];
		circleAnimation.find("#alternate-content").remove();
		
		var container = $("<div id=\"circle-container\"></div>");
		container.appendTo(circleAnimation);
		
		for(var i = 0; i < numRows; i ++) {
			var ul = $("<ul></ul>");
			ul.appendTo(container);
			
			var r = Math.floor(Math.random() * 3) + 3;
			for(var j = 0; j < numCols + (i % 2); j ++) {
				var li = $("<li></li>");
				li.addClass(colors[((i % 2) + j) % colors.length]).appendTo(ul);
				if(j % 2 == 0) {
					var div = $("<div></div>");
					div.css("background-image", graphics.splice(Math.floor(Math.random() * graphics.length), 1));
					div.appendTo(li);
				}
			}
		}
		
		container.find("ul:even").addClass("even");
		container.find("ul:odd").addClass("odd");
		
		nextCircle($("#circle-container li div").first());
	}
}

$(document).ready(function() {
	$("a[href='" + getPageName() + "']").addClass("current");
	$(".scrollable").scrollable();
	
	doTextCycle();
	doFloorPlans();
	doAudio();
	doSubNav();
	doCircleAnimation();
});