Event.observe(window,"load", function() {
	if (isMacFF())
		$$("ul.sub_nav").invoke("removeClassName","translucent");
	
	// Main navigation
	$$("ul.primary > li > a").invoke("observe","mouseenter",function(ev) {
		var x = 0;
		el = ev.element().up("li");
		while (el.down("a",x)) {
			el.down("a",x).addClassName("active");
			x++;
		}
		el.down("ul.sub_nav").show();
	});
	$$("ul.primary > li").invoke("observe","mouseleave",function(ev) {
		el = ev.element();
		if (!el.down("ul"))
			el = el.up("li");
		if (!el.down("ul"))
			el = el.up("li");		
		var x = 0;
		while (el.down("a",x)) {
			el.down("a",x).removeClassName("active");
			x++;
		}
		el.down("ul.sub_nav").hide();
	});
	
	// Sub-nav
	$$("#header > ul > li > a").invoke("observe","mouseenter",function(ev) {
		li = ev.element().up("li");
		li.setStyle({ zIndex: 10 });
		$$("#header > ul > li > ul:visible").invoke("hide");
		li.down("ul").show();
	});
	$$("#header > ul > li").invoke("observe","mouseleave",function(ev) {
		el = ev.element();
		if (!el.down("ul"))
			el = el.up("li");
		if (!el.down("ul"))
			el = el.up("li");
		el.setStyle({ zIndex: 2 });
		el.down("ul").hide();
	});
	
	// Image swap
	$$("div.thumbs a").invoke("observe","click", function(ev) {
		el = ev.element();
		Event.stop(ev);
		if (!el.down("img"))
			el = el.up("a");
		var clicked = el.down("img").getAttribute("src");
		var title = el.down("img").getAttribute("title");
		var selected = $("selected_image").getAttribute("src");
		if (clicked != selected) {
			new Effect.Fade("selected_image", { duration: 0.5, afterFinish: function() {
				$("selected_image").src = clicked;
				if ($("image_caption"))
					$("image_caption").innerHTML = title;
				new Effect.Appear("selected_image", { duration: 0.5 });
			}});
		}
	});
	
	// Search field text swap
	$$("input.search_field").invoke("observe","focus",function(ev) {
		el = ev.element();
		if (el.value == "search for...")
			el.value = "";
	});
	
	// Tabs
	$$("ul.tabs li a").invoke("observe","click",function(ev) {
		el = ev.element();
		ev.stop();
		if (!el.hasClassName("active")) {
			$$("ul.tabs li a").each(function(el) { el.removeClassName("active"); });
			el.addClassName("active");
			var tab = el.getAttribute("rel");
			$$("div.tab:visible").each(function(el) { el.hide(); });
			$(tab).show();
		}
	});
	
	
	/*-------------------
			Events
	-------------------*/
	if ($("advanced_link")) {
		$("advanced_link").observe("click", function(ev) {
			ev.stop();
			if ($("advanced_search").style.display == "none")
				new Effect.BlindDown("advanced_search", { duration: 0.25 });
			else
				new Effect.BlindUp("advanced_search", { duration: 0.25 });
		});
	}
});



// check if browser is firefox and os is mac
function isMacFF() {
	var userAgent = navigator.userAgent.toLowerCase();
	if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox') != -1) {
		return true;
	}
	else {
		return false; 
	}
}

// Data structure to hold all markers for interactive map
var markers = Array();