var ContentCards = new function()
{
	function swap_department(id)
	{
		$('#' + id).siblings('.active_').removeClass('active_').removeClass('department-cards-selected').slideUp();
		if(!$('#' + id).addClass('active_').addClass('department-cards-selected').slideDown().data('slideshow-on'))
		{
			$('#' + id).cycle(
			{
				fx: 'scrollHorz',
				timeout: 0,
				prev: '.card-navigation-prev',
				next: '.card-navigation-next'
			}).data('slideshow-on', true);
		}

		$('.department-link.active_', $('#' + id).parent().prev()).removeClass('active_').removeClass('department-link-selected');
		var new_link = $('.department-link.' + id).addClass('active_').addClass('department-link-selected');
		var a = new_link.siblings('.department-arrow');
		var ofs = new_link.position();
		ofs.top -= 24;
		a.data('home', { offset: ofs });
	}

	this.init = function()
	{
		$('.department-arrow').each(function(i,e)
		{
			$(this).data('home', { offset: $(this).position() });
		});

		$('.department-link').mouseenter(function(e)
		{
			var a = $(this).siblings('.department-arrow');
			a.animate({top: $(this).position().top + - 24 + 'px'}, { queue: false });
		});
		$('.department-container').mouseleave(function(e)
		{
			var a = $(this).children('.department-arrow');
			var b = a.data('home').offset;
			a.animate({top: b.top + 'px'}, { queue: false });
		});
		$.subscribe('/department/show', swap_department);
	};

	this.inline_card_mouseover = function(e)
	{
		var src = e.relatedTarget || e.fromElement;
		var dest = e.target;

		$(dest).next().show();
	};

	this.inline_card_mouseout = function(e)
	{
		var src = e.target || e.srcElement;
		var dest = e.relatedTarget || e.toElement;

		if(src.className != 'content-share-callout') return;
		while(dest != src && dest.nodeName != 'BODY')
			dest = dest.parentNode;
		
		if(dest == src)
			return;
		
		$(src).hide();
	};

	this.inline_dept_mouseover = function(e)
	{
		var dest = e.target;
		var a = $(dest).siblings('.department-arrow');
		a.animate({top: $(dest).position().top + - 24 + 'px'}, { queue: false });
	};

	this.inline_dept_cont_mouseout = function(e)
	{
		var src = e.target || e.srcElement;
		var dest = e.relatedTarget || e.toElement;

		if(src.className != 'department-container') return;
		while(dest != src && dest.nodeName != 'BODY')
			dest = dest.parentNode;
		
		if(dest == src)
			return;
		
		var a = $(src).children('.department-arrow');
		var b = a.data('home').offset;
		a.animate({top: b.top + 'px' }, { queue: false });
	}
}

$(ContentCards.init);

