/*
 *  Object: whitehall.home
 *  Purpose: Behaviors for the Whitehall homepage
 */

whitehall.home = new Whitehall_Home(jQuery);
jQuery(document).ready(whitehall.home.init);

whitehall.home.setupFonts();

function Whitehall_Home($) {
	
	this.init = init;
	function init() {
		
	}
	
	this.setupFonts = setupFonts;
	function setupFonts() {
		whitehall.fonts.add('garamond', {
			selector: 'body.home .announcement h1',
			family: 'Garamond Premier Pro Caption'
		});
		whitehall.fonts.add('avenir', {
			selector: '#announcements p a, #content h1',
			family: 'Avenir'
		});
	}
}

whitehall.home.rotator = new Whitehall_Home_Rotator(jQuery);
jQuery(document).ready(whitehall.home.rotator.init);

function Whitehall_Home_Rotator($) {
	var delay = 5.5; // number of seconds to wait between transitions
	var fade = 1.5; // number of seconds for fade effect
	var container, panels = []; // dom elements for the container and panels to transition through
	var panelIndex = 0; // index of current panel being shown
	var timer; // timer for transition
	
	this.init = init;
	function init() {
		container = $('#announcements');
		panels = container.find('> .announcement');
		delay *= 1000;
		fade *= 1000;
		timer = setInterval(next, delay);
		setupPanels();
	}
	
	this.next = next;
	function next() {
		var previousPanel = panels.eq(panelIndex);
		panelIndex = (panelIndex + 1) % panels.length;
		previousPanel.animate({opacity: 0}, {duration: fade, complete: function() {
			previousPanel.removeClass('show');
		}});
		setTimeout(function() {
			panels.eq(panelIndex).css({opacity: 0}).addClass('show').animate({opacity: 1}, {duration: fade});
		}, fade / 3);
	}
	
	function setupPanels() {
		panels.each(function(index, el) {
			var $this = $(this);
			var url = $this.find('a').click(function(e) { e.stopPropagation(); }).attr('href');
			$this.addClass('clickable').click(function() {
				if (url)
					document.location = url;
			});
		});
	}
}



