Cufon.replace('.cufon', { hover: true, fontFamily: 'Trajan Pro' });
Cufon.replace('.submenu', { hover: true, fontFamily: 'Trajan Pro' });

var ExternalLink = {
	Init: function(){ $('a.external').click(ExternalLink.Click); },
	Click: function(e){
		e.preventDefault();
		window.open( $(this).attr('href'), 'NewWindow'+new Date().getTime() );
		setTimeout(function(){ Cufon.refresh(); }, 1000);
	}
};

var galleriffic = {
	Init: function(){
		// We only want these styles applied when javascript is enabled
		$('div.navigation').css({'width' : '120px', 'float' : 'right'});
		$('div.content').css('display', 'block');
		// Initially set opacity on thumbs and add
		// additional styling for hover effect on thumbs
		var onMouseOutOpacity = 0.67;
		$('#thumbs ul.thumbs li').opacityrollover({
			mouseOutOpacity:   onMouseOutOpacity,
			mouseOverOpacity:  1.0,
			fadeSpeed:         'fast',
			exemptionSelector: '.selected'
		});
		// Initialize Advanced Galleriffic Gallery
		var gallery = $('#thumbs').galleriffic({
			delay:                     5000,
			numThumbs:                 4,
			preloadAhead:              -1,
			enableBottomPager:         false,
			maxPagesToShow:            1,
			imageContainerSel:         '#slideshow',
			controlsContainerSel:      '#controls',
			captionContainerSel:       '#caption',
			loadingContainerSel:       '#loading',
			renderNavControls:         false,
			enableKeyboardNavigation:  false,
			autoStart:                 true,
			syncTransitions:           true,
			defaultTransitionDuration: 1000,
			onSlideChange:             function(prevIndex, nextIndex) {
				// 'this' refers to the gallery, which is an extension of $('#thumbs')
				this.find('ul.thumbs').children()
					.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
					.eq(nextIndex).fadeTo('fast', 1.0);
			},
			onPageTransitionOut:       function(callback) {
				this.fadeTo('fast', 0.0, callback);
			},
			onPageTransitionIn:        function() {
				this.fadeTo('fast', 1.0);
			}
		});
	}
};


var Members = {
	Init: function(){
		$('.members-slideshow').cycle({
			fx: 'fade',
			delay: 500,
			timeout: 5000,
			pager: '.l-navigation'
		});
		$('.l-navigation a').click(Members.NavClick);
		$('.nav-link a').click(Members.ShowAllClick);
	},
	NavClick: function(e){
		e.preventDefault();
		$('.members-slideshow').cycle('pause').removeClass('show-all');
		$('.members-panel').show().not(':last').removeClass('b-border');
	},
	ShowAllClick: function(e){
		e.preventDefault();
		$('.members-slideshow').cycle('pause').addClass('show-all');
		$('.members-panel').show().not(':last').addClass('b-border');
		$('.b-nav, .l-navigation').hide();
	}
};

var ContentToggle = {
	Init: function(){
		$('.content-toggle .b-more a').click(ContentToggle.ShowClick);
	},
	ShowClick: function(e){
		e.preventDefault();
		$(this).toggleClass('active').parent().parent().find('.ct-sub').slideToggle(500);
	}
};

var GalleryBorder = {
	Init: function(){
		$('.t-gallery .photo a').mouseenter(GalleryBorder.AddBorder);
		$('.t-gallery .photo a').mouseleave(GalleryBorder.RemoveBorder);
	},
	AddBorder: function(){
		$(this).append('<img src="/assets/images/gallery-border.gif" class="g-border" />');
	},
	RemoveBorder: function(){
		$(this).find('.g-border').remove();
	}
};


var MenuToggle = {
	Init: function(){
		$('.programs-menu').find('a span').each(function(){
			$(this).html($(this).html()+' &raquo;');
		});
		$('.programs-menu').find('li')
		.mouseover(MenuToggle.SetActive)
		.mouseout(MenuToggle.SetInactive);
	},
	SetActive: function(){
		$(this).addClass('hover');
	},
	SetInactive: function(){
		$(this).removeClass('hover');
	}
};

$(document).ready(function() {
	ExternalLink.Init();
	$(".popup").colorbox();
	$(".popup-gallery").colorbox({
		iframe:true, innerWidth:650, innerHeight:546
	});
	$(".popup-video").colorbox({
		iframe:true, innerWidth:640, innerHeight:500
	});
	if($('.galleriffic').length) galleriffic.Init();
	if($('.galleriffic-popup').length) gallerifficPopup.Init();
	if($('.members-slideshow').length) Members.Init();
	if($('.content-toggle').length) ContentToggle.Init();
	if($('.programs-menu').length) MenuToggle.Init();
	if($('.t-gallery').length) GalleryBorder.Init();
});
