$(document).ready(
	function ()
	{
		// set up "featured news" box
		var news_moving = 0;
		var clicked = false;
		var rotating = true;
		var switch_news = function (l)
		    {
                l.blur();
                if (l.hasClass('active'))
                {
                    return;
                }
                if (news_moving > 0)
                {
                    return;
                }
                news_moving = 2;
                var prev_l = $('div.l-splash div.headlines a.active');
                prev_l.removeClass('active');
                l.addClass('active');
                // figure out if the animation is forward or backward
                var prev_li = prev_l.closest('li');
                var new_li = l.closest('li');
                var direction = prev_li.prevAll().index(new_li) == -1 ? 'forward' : 'backward';
                
                var cur_story = $('.l-splash div.stories div.active');
                var new_story = $('.l-splash div.stories '+l.attr('href'));
                
                if (direction == 'forward')
                {
                    // begin animation for hiding current story
                    cur_story.animate({
                        left : '-559px',
                        opacity : 0.0
                    }, function () { news_moving -= 1; cur_story.removeClass('active'); } );
                    // begin animation for showing new story
                    new_story.css({ left : '559px', opacity : 0.0, display : 'block' }).animate({
                        left : '0px',
                        opacity : 1.0
                    }, function () { news_moving -= 1; new_story.addClass('active'); } );
                }
                else
                {
                    // begin animation for hiding current story
                    cur_story.animate({
                        left : '559px',
                        opacity : 0.0
                    }, function () { news_moving -= 1; cur_story.removeClass('active'); } );
                    // begin animation for showing new story
                    new_story.css({ left : '-559px', opacity : 0.0, display : 'block' }).animate({
                        left : '0px',
                        opacity : 1.0
                    }, function () { news_moving -= 1; new_story.addClass('active'); } );
                }
		    }
		$('.l-splash div.headlines a').click(
			function (e)
			{
			    // cancel rotation
			    clicked = true;
			    e.preventDefault();
			    switch_news($(this));
			}
		);
        // start rotating
        var rotate_time = 7000;
        var timer;
        var rotate = function ()
            {
                if (clicked || !rotating)
                {
                    return; // and don't reschedule
                }
                // show the next feature and reschedule
                var cur_l = $('div.l-splash div.headlines a.active');
                var next = cur_l.closest('li').next();
                if (next.size())
                {
                    switch_news(next.find('a'));
                }
                else
                {
                    switch_news(cur_l.closest('li').siblings().slice(0,1).find('a'));
                }
                timer = window.setTimeout(rotate, rotate_time);
            };
        $('div.l-splash').hover(
                function (e)
                {
                    rotating = false;
                },
                function (e)
                {
                    rotating = true;
                    if (!clicked)
                    {
                        window.clearTimeout(timer); 
                        timer = window.setTimeout(rotate, Math.round(rotate_time/2));
                    }
                }
            );
        timer = window.setTimeout(rotate, rotate_time);
	}
);