var rf=new Carousel({
	container:'carousel',
	controls_autohide: 'slide',
	mobile_ids: 'container2,carousel-container,home-content',
	player_skin: '/taglib/swf/jwskins/fsjw28m/fsjw28.xml'
});

/* Nav animation
****************************/

var nav_time=500;
var nav_distance=27;

var navElements=$('nav').getElementsByTagName('LI');
var navItems=new Array();
for(var i=0;i<navElements.length;i++){
	navElements[i].style.marginLeft='0px';
	var thisid=navElements[i].id;
	navItems[thisid]={
		container: navElements[i],
		ts_start: 0,
		ts_end: 0,
		pos_start: 0,
		pos_delta: 0,
		tmr: 0
	};
	addEvent(navItems[thisid].container,'mouseover',function(ev){navStart(ev,'over');},false);
	addEvent(navItems[thisid].container,'mouseout',function(ev){navStart(ev,'out');},false);
}

function navStart(ev,dir){
	ev=ev||window.event;
	which=ev.srcElement||ev.target;
	var nid=which.parentNode.id;
	var n=navItems[nid];
	clearInterval(n.tmr);
	n.ts_start=new Date().getTime();
	n.ts_end=n.ts_start+nav_time;
	n.container.style.marginLeft.match(/^(\d+)/);
	n.pos_start=parseInt(RegExp.$1);
	if(dir=='over'){
		n.pos_delta=nav_distance-n.pos_start;
	}else{
		n.pos_delta=-1*n.pos_start;
	}
	n.tmr=setInterval(function(){navAni(nid)},20);
}

function navAni(which){
	var n=navItems[which];
	var now=new Date().getTime();
	if(now<=n.ts_end){
		var coef=navEase(nav_time-(n.ts_end-now), 0, 1, nav_time);
		n.container.style.marginLeft=(n.pos_start+Math.round(coef*n.pos_delta))+'px';
	}else{
		clearInterval(n.tmr);
		n.container.style.marginLeft=(n.pos_start+n.pos_delta)+'px';
	}
}

function navEase(t, b, c, d){
	return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
};


