var Event = YAHOO.util.Event;
var Anim = YAHOO.util.Anim;
var Dom = YAHOO.util.Dom;


var spotlight = {
	
	init : function()
	{
		spotlight.el = Dom.get("spotlight");
		spotlight.el.items = Dom.getElementsByClassName("page_item","li",spotlight.el);
		
		spotlight.run();
	},
	
	run : function()
	{
		var els = spotlight.el.items;
		
		Event.on(els,"mouseover",spotlight.hover);
		Event.on(els,"mouseout",spotlight.hover);
		
		Dom.setStyle(els,"position","relative");
		Dom.setStyle(els,"top","-20px");
		Dom.setStyle(els,"opacity","0");
		
		spotlight.counter = 0;
		spotlight.animInterval = setInterval("spotlight.animate()",160);
	},
	
	animate : function(el)
	{
		var anim = new YAHOO.util.Anim(spotlight.el.items[spotlight.counter], {top: {to:0}, opacity: {to:1}}, 1, YAHOO.util.Easing.easeOutStrong);
			anim.animate();
		
		spotlight.counter++;
		if(spotlight.counter == spotlight.el.items.length) clearInterval(spotlight.animInterval);
	},
	
	hover : function(e)
	{
		topTo = (e.type == "mouseover") ? 5 : 0;
		speed = (e.type == "mouseover") ? .3 : .8;
		
		var anim = new YAHOO.util.Anim(this, {top: {to:topTo}}, speed, YAHOO.util.Easing.easeOutStrong);
			anim.animate();
	}
}

function menu()
{
	if(!isHome)
	{
		var menuItems = Dom.get("spotlight").getElementsByTagName("a");
				
		for(var i=0; i<menuItems.length; i++)
		{
			menuItems[i].title = menuItems[i].title.toLowerCase().replace(/[^a-z]/g,"");
		}
		
		Event.on(menuItems,"click",function(e){
			Event.preventDefault(e);
			document.location = document.location.protocol+"//"+document.location.host+"/#/"+this.title;
		});
		
	}
	
}

var viswijzer = {
	init : function()
	{
		viswijzer.toggleContent = Dom.get("toggle-content");
		viswijzer.lists = Dom.get("viswijzer-content").getElementsByTagName("table");
		viswijzer.links = Dom.get("visnav").getElementsByTagName("li");
		
		viswijzer.info  = Dom.get("vis-info");
		viswijzer.info.cat = viswijzer.info.getElementsByTagName("h3")[0];
		viswijzer.info.des = viswijzer.info.getElementsByTagName("p")[0];
		
		Dom.addClass(document.body,"js");
		
		for(var i=0; i<viswijzer.lists.length; i++)
		{
			
			viswijzer.lists[i].height = Number(Dom.getRegion(viswijzer.lists[i]).height)*1;
			
			viswijzer.lists[i].number = i+1;
			viswijzer.lists[i].link = viswijzer.links[i];
			viswijzer.links[i].list = viswijzer.lists[i];
			
			viswijzer.current = (Dom.hasClass(viswijzer.links[i],"active")) ? viswijzer.links[i] : viswijzer.current;
		};
		
		Event.on("vis-toggle","click",viswijzer.toggle);
		Event.on(viswijzer.links,"click",viswijzer.animLists);
		
		Dom.setStyle(viswijzer.toggleContent,"height",0);
		
	},
	
	toggle : function()
	{
		var menuHeight = Dom.getRegion(viswijzer.links[0].parentNode.parentNode).height;
		var status = this.className = (this.className == "inactive") ? "active" : "inactive";
		var toHeight = (status == "active" && viswijzer.current.list.height >= menuHeight ) ? viswijzer.current.list.height : (status == "active") ? menuHeight : 0;
			//toHeight += Dom.getRegion("intro").height;
		var animVis = new YAHOO.util.Anim(viswijzer.toggleContent, {height: {to:toHeight}}, 1, YAHOO.util.Easing.easeOutStrong);
			animVis.animate();
	},
	
	animHeight : function(newHeight)
	{
		
		var menuHeight = Dom.getRegion(viswijzer.links[0].parentNode.parentNode).height;
		var toHeight = (newHeight >= menuHeight) ? newHeight : menuHeight;
		
	
		
		//toHeight += Dom.getRegion("intro").height;
		var animVis = new YAHOO.util.Anim(viswijzer.toggleContent, {height: {to:toHeight}}, .5, YAHOO.util.Easing.easeOutStrong);
			animVis.animate();
	},
	
	setNewInfo : function(el)
	{
		viswijzer.info.className = el.className;
		viswijzer.info.cat.innerHTML = el.innerHTML;
		viswijzer.info.des.innerHTML = el.title;
	},
	
	animLists : function()
	{
		viswijzer.setNewInfo(this);
		
		viswijzer.current = this;
		
		viswijzer.animHeight(viswijzer.current.list.height);
		
		var pos = (this.list.number == 1) ? 0 : (this.list.number == 2) ? -(viswijzer.lists[0].height) : (this.list.number == 3) ? -(viswijzer.lists[0].height*1+viswijzer.lists[1].height*1) : 0;
		
		var animPos = new YAHOO.util.Anim("vis-slider", {top: {to:pos}}, 1, YAHOO.util.Easing.easeOutStrong);
			animPos.animate();
		
		Dom.removeClass(viswijzer.links,"active");
		Dom.addClass(this,"active");
	}
}


function getUserAgent() {
    window.userAgentReal = +window.userAgentReal || 0;
    return [ navigator.userAgent ][window.userAgentReal++];
}

Event.onDOMReady(viswijzer.init);
Event.onDOMReady(spotlight.init);
Event.onDOMReady(menu);	

