window.addEvent("load", function(){
	fInitList();
	fInitSubmenu();
	initTeam();
	initMissions();
});

//////////////////////////////////////

function fInitSubmenu() {
	var current;
	var tweening = false;
	$$("ul.submenu").each(function(el){
		el.setStyle("display", "block");
		var link = el.getPrevious();
		link.block = el;
		link.fx = new Fx.Slide(link.block, {
			onComplete : function(){
				tweening = false;
			}
		});
		if (!link.block.hasClass("opened")) {
			link.fx.hide();
		} else {
			current = link;
		}
		link.addEvent('click', function(e){
			new Event(e).stop();
			var oThis = $(this);
			//
			if (tweening) {
				return;
			}
			//
			if (current && current == oThis.block) {
				current.fx.slideOut();
				return;
			}
			tweening = true;
			//
			oThis.fx.slideIn();
			if (current) {
				current.fx.slideOut();
			}
			//
			current = oThis;
		});
	});
}
//
//
function initTeam() {
	$$(".teamlist").each(function(ul){
		ul.getElements("a").each(function(a, i){
			a.addEvent("click", function(e){
				new Event(e).stop();
				try {
					ul.getParent().getElements("li").removeClass("active");
					ul.getParent().getElements("div.member").setStyle("display", "none");
					//
					a.getParent().addClass("active");
					ul.getParent().getElements("div.member")[i].setStyle("display", "block");
				} catch(e) {return;}
			});
		});
	});
}

//
function initMissions() {
	try {
		$("missions").getElements("a").each(function(a, i){
			a.addEvent("click", function(e){
				new Event(e).stop();
				try {
					$("missions").getElements("li").removeClass("active");
					$("missions").getParent().getParent().getElements("div.hightlight3").setStyle("display", "none");
					//
					a.getParent().addClass("active");
					$("missions").getParent().getParent().getElements("div.hightlight3")[i].setStyle("display", "block");
				} catch(e) {return;}
			});
		});
	} catch(e) {return;}
}
//

//
function fInitList() {
	var faq = $("teams");
	if (!faq) return;
	//
	var elements = faq.getElements("dd");
	var togglers = faq.getElements("dt");
	//
	elements.setStyle("display", "block");
	//
	new Accordion(togglers, elements, {
		duration: 300,
		opacity: false,
		alwaysHide: true,
		onActive: function(el) {
			el.addClass("active");
		},
		onBackground: function(el) {
			el.removeClass("active");
		}
	});
}
//
//
function opaceIt(thisObj, opaceTo) {
	if (!thisObj) return;
	if (opaceTo != 0) {
		thisObj.setStyles({
			display:'block'
		}).setOpacity(0);
	}
	var myEffects = new Fx.Style(thisObj, "opacity", {
		duration:400, 
		transition:Fx.Transitions.quadInOut
	});
	myEffects.start(opaceTo);
}