$('document').ready(function(){
	// Overlay triggers and targets
	$('a.overlay_trigger').click(function(event){
		event.preventDefault();
		var overlay_target = $($(this).attr('href'));
		overlay_target.children().first().is('.overlay_inner') || overlay_target.wrapInner('<div class="overlay_inner"/>');
		overlay_inner = overlay_target.find('.overlay_inner');
		overlay_inner.width(function(i,w){
			return $(this).children().first().outerWidth(true);
		}).append('<a class="overlay_close" href="#">&times;</a>');
		overlay_target.fadeIn('slow');
		overlay_target.find('.overlay_close').click(function(event){
			event.preventDefault();
			$(this).remove();
			overlay_target.fadeOut('slow');
		});
	});

	// Event Scroller
	// Initialize event scroller
	var event_scroller = $('#event_scroller');
	var event_scroller_items = $('#event_scroller li');

	event_scroller.append('<ul id="event_scroller_pips"></ul>');
	
	// Initial setup to undo CSS rules that apply by default to make the event scroller somewhat usable by non-js browsers
	event_scroller_items.each(function(){
		var event_image = $(this).find('img').first();
		$(this).css({
			"position": "absolute",
			"left": "0px",
			"top": event_scroller_items.index($(this))*event_scroller.height() + "px",
			"background": "url(" + event_image.attr('src') + ") 50% 50% no-repeat scroll",
			"background-size": "cover"
		});
		// Add a pip for each item
		$('#event_scroller_pips').append('<li></li>');
		$('#event_scroller_pips li:first').addClass('current');
	});
	
	// Show the navigation buttons
	event_scroller.append('<a id="event_scroller_previous" href="#">Previous</a><a id="event_scroller_next" href="#">Next</a>');
	
	// Previous item button
	$('a#event_scroller_previous').click(function(event){
		event.preventDefault();
		if($(':animated').length) {
			return false;
		}
		if(event_scroller_items.first().position().top >= 0) {
			event_scroller_items.animate({"top": "-=" + event_scroller.height()*(event_scroller_items.size() - 1)}, "slow");
			changePip('last');
		} else {
			event_scroller_items.animate({"top": "+=" + event_scroller.height()}, "slow");
			changePip('prev');
		}
	});
	
	// Next item button
	$('a#event_scroller_next').click(function(event){
		event.preventDefault();
		if($(':animated').length) {
			return false;
		}
		if(event_scroller_items.last().position().top <= 0) {
			event_scroller_items.animate({"top": "+=" + event_scroller.height()*(event_scroller_items.size() - 1)}, "slow");
			changePip('first');
		} else {
			event_scroller_items.animate({"top": "-=" + event_scroller.height()}, "slow");
			changePip('next');
		}
	});
	
});

function changePip(direction) {
	var dir = direction;
	var event_scroller_pips = $('#event_scroller_pips li');
	var lastPip = $('#event_scroller_pips li.current');
	var nextPip;
	
	switch(dir) {
		case 'first':
			nextPip = event_scroller_pips.first();
		break;
		case 'last':
			nextPip = event_scroller_pips.last();
		break;
		case 'next':
			nextPip = lastPip.next();
		break;
		case 'prev':
			nextPip = lastPip.prev();
		break;
	}
	
	lastPip.removeClass('current');
	nextPip.addClass('current');
}

