$(document).ready(function() {


/* ON LOAD
-----------------------------------------------------------------------------------------------------------*/
	//open external links in new window
	$('a[href^="http://"]').attr("target", "_blank");

	if($('body').hasClass('blog') && !$('body').hasClass('ie7')) {
		!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
	}

	//home: hide/show slideshow controller on hover
	$('body.home .primary .slideshow_container .controller').hide();
	$('body.home .primary .slideshow_container').hover(
		function() {
			$('body.home .primary .slideshow_container .controller').fadeIn();
		},
		function() {
			$('body.home .primary .slideshow_container .controller').fadeOut();
		}
	);

	//home: adjust members section for older browsers
	if($('html').hasClass('no-csscolumns')) {
		$('section.members h4, section.members ul').remove();
		var newHTML = '<div class="column1"><h4>Members</h4><ul><li class="option1 first odd"><a href="http://www.aarp.org/about_aarp/aarp_foundation/">AARP Foundation</a></li><li class="option2 even"><a href="http://www.axa-financial.com/pressroom/community.html">AXA Equitable</a></li><li class="option3 odd"><a href="http://www.bankofamerica.com/foundation/">Bank of America</a></li><li class="option4 even"><a href="http://www.gatesfoundation.org/Pages/home.aspx">Bill &amp; Melinda Gates Foundation</a></li><li class="option5 odd"><a href="http://citifoundation.com/">Citi Foundation</a></li><li class="option6 even"><a href="http://www.db.com/us/content/en/social_responsibility.html">Deutsche Bank</a></li><li class="option7 odd"><a href="http://www.fordfound.org/">Ford Foundation</a></li><li class="option8 even"><a href="http://www.knightfdn.org/">John S. and James L. Knight Foundation</a></li><li class="option9 odd"><a href="http://www.jpmorganchase.com/cm/cs?pagename=Chase/Href&amp;urlname=jpmc">JPMorgan Chase &amp; Co.</a></li><li class="option10 even"><a href="http://www.metlife.com/Applications/Corporate/WPS/CDA/PageGenerator/0,1674,P284,00.html">MetLife, Inc.</a></li><li class="option11 odd"><a href="http://www.morganstanley.com/">Morgan Stanley</a></li><li class="option12 even"><a href="http://www.prudential.com/">Prudential Financial, Inc.</a></li></ul></div><div class="column2"><ul><li class="option13 odd"><a href="http://www.rwjf.org/">Robert Wood Johnson Foundation</a></li><li class="option14 even"><a href="http://www.surdna.org/">Surdna Foundation</a></li><li class="option15 odd"><a href="http://www.aecf.org/">The Annie E. Casey Foundation</a></li><li class="option16 even"><a href="http://www.macfound.org/">The John D. and Catherine T. MacArthur Foundation</a></li><li class="option17 odd"><a href="http://www.kresge.org/">The Kresge Foundation</a></li><li class="option18 even"><a href="http://www.mcknight.org/">The McKnight Foundation</a></li><li class="option19 odd"><a href="http://www.rockfound.org/">The Rockefeller Foundation</a></li><li class="option20 even last"><a href="http://www.wkkf.org/">W.K. Kellogg Foundation</a></li></ul><h4>Affiliate Members</h4><ul><li class="option1 first odd"><a href="http://www.clevelandfoundation.org/">Cleveland Foundation</a></li><li class="option2 even last"><a href="http://www.skillman.org/">The Skillman Foundation</a></li></ul>';
		$('section.members').addClass('clearfix').html(newHTML);
	}

	//home: adding arrows for related content slideshow
	$('body.home div.secondary div.slideshow').css({ marginLeft:15, marginRight:15, width:632 });
	$('body.home div.secondary ul.controller li.arrows').prepend('<span class="arrow"></span>');

	//home: override click on related content slideshow to prevent over-scrolling
	$('body.home div.secondary li.arrows').click(function(e) {
		var currentSlide	= $('body.home div.secondary ul.slideshow').find('li.selected').index();
		var slideCount		= $('body.home div.secondary ul.slideshow li').size();
		if ($(this).hasClass('next')) {
			if (slideCount - currentSlide - 3) { //can scroll right
				$(this).removeClass('inactive');
			} else { //cannot scroll right
				$(this).addClass('inactive');
			}
		}
	});

	//knowledge checkboxes
	$('input[type=checkbox].media_tag, input[type=checkbox].media_type').change(function() {
		$('div#content article, div.content-item').remove();
		$('div#content').html('<ul class="content-list" id="media_list"></ul>');
		do_ajax_search();
	});

	//knowledge search
	$('form#pub-search').submit(function() {
		$('div#content article, div.content-item').remove();
		$('div#content').html('<ul class="content-list" id="media_list"></ul>');
		do_ajax_search();
		return false;
	});

	//knowledge: toggle checkbox pallets
	$('.search-tags h4').click(function() {
		$(this).next('ul').slideToggle();
		var toggleIcon = $(this).find('.toggle');
		if (toggleIcon.hasClass('collapsed')) {
			toggleIcon.removeClass('collapsed');
		} else {
			toggleIcon.addClass('collapsed');
		}
	});

	//jscrollpane for landing pages
	if($('.scroll').siblings('nav').attr('id') == 'section-nav') {
		var sectionNav = $('.scroll').siblings('nav');
		var sectionNavHeight = ($(sectionNav).outerHeight());
		$('.scroll').css('height', sectionNavHeight);

		$('.scroll').jScrollPane({showArrows: true});

		var jspPaneWidth = $('.jspPane').outerWidth();
		var revisedWidth = jspPaneWidth + 2;
		$('.jspPane').css('width', revisedWidth);
		$('.jspTrack').prepend('<div class="jspDragPath"></div>');
		$('.jspArrow').each(function() {
			$(this).prepend('<div class="jspArrowIcon"></div>');
		});
	}

	//adjustments for IE7
	if($('html').hasClass('ie7')) {
		//content item floats for IE7
		var contentItem = $('.ie7 .content-item, .ie7 .content-list li');

		$(contentItem).each(function() {
			if ($(this).find('figure').length > 0) {
				var thisWidth = $(this).outerWidth();
				var thisImageWidth = $(this).find('img').outerWidth();
				var thisTextNewWidth = (thisWidth - 20) - (thisImageWidth + 10);
				$(this).find('figure').css({ 'width' : thisImageWidth, 'float' : 'left' });
				$(this).find('.wrapper').css({ 'width' : thisTextNewWidth, 'float' : 'left' });
			}
		});

		//fixing submit buttons for IE7
		$('input.search[type="submit"]').attr('value', '');
	}

	//inside pages: insert read_more links
	$('div.tinymce').children().each(function(){
		if ($(this).hasClass('read_more') && !$(this).next().hasClass('read_more')) {
			$(this).after('<a class="read_more_link">Read More</a>');
		}
	});

	//inside pages: set read_more click event
	$('a.read_more_link').click(function(){
		if ($(this).html() == 'Read More') {
			$(this).prevAll().each(function(){
				if (!$(this).hasClass('read_more')) return false;
				$(this).show();
			});
			$(this).html('Close');
		} else if ($(this).html() == 'Close') {
			$(this).prevAll().each(function(){
				if (!$(this).hasClass('read_more')) return false;
				$(this).hide();
			});
			$(this).html('Read More');
		}
	});

	//article slideshows
	$('#content article ul.controller li.arrows').append('<span class="arrow-icon"></span>');

	//inside pages: gallery
	$('ul.gallery a').fancybox();

	//inside pages: add comment
	$('form.comment_add').submit(function(e){
		e.preventDefault();
		var $form = $(this);
		var errors = new Array();

		if (!$form.find('textarea[name=comment]').tinymce().getContent().length) errors[errors.length] = 'The comment field is empty';
		if (!$form.find('input[name=title]').val()) errors[errors.length] = 'The name field is empty';
		if (!$form.find('input[name=email]').val()) errors[errors.length] = 'The email field is empty';

		if (errors.length) return form_errors(errors);
		//check that there's a comment in tinymce

		$.ajax({
			url : '/ajax/comment_add.php',
			type : 'POST',
			data : $form.serialize(),
			success : function(data) {
				$form.siblings('div.comments').html(data);

				//clear form
				$form.find('input[name=title]').val('');
				$form.find('input[name=email]').val('');
				$form.find('textarea[name=comment]').html('');
			}
		});
	});

	//Where we work
	$('body.where nav.legend li').click(function(e){
		e.preventDefault();
		var currentClass = $(this).attr('class');

		$('section.description').each(function() {
			if($(this).hasClass(currentClass)) {
				$(this).removeClass('visuallyhidden');
			} else {
				$(this).addClass('visuallyhidden');
			}
		});

		$('section.map img').each(function() {
			if($(this).hasClass(currentClass)) {
				$(this).removeClass('visuallyhidden');
			} else {
				$(this).addClass('visuallyhidden');
			}
		});
	});

	$('section.description img.close').click(function(){
		$(this).parent().addClass('visuallyhidden');
		$('section.description.introduction').removeClass('visuallyhidden');
		//
		$('section.map img').each(function() {
			if($(this).hasClass('map_full')) {
				$(this).removeClass('visuallyhidden');
			} else {
				$(this).addClass('visuallyhidden');
			}
		});
	});

	//TII Winning Cities
	//init
	$('.cities-list li:first').css('z-index', 50).addClass('selected');

	//send selected content to foreground
	$('.cities-nav a').click(function(e) {
		e.preventDefault();

		var thisContentBlock = $(this).attr('href');
		var thisIndex = $(this).parent().index();

		manageContentLayers(thisContentBlock);
	});

	//blog topics sidebar
	var linkNavTopics = $('#topics-nav').find('a'),
		sectionTopics = $('#topics').find('section'),
		firstTopic = $(linkNavTopics).first(),
		selectedTopic = $(firstTopic).attr('href'),
		moreShown = false;
	
	var onLinkNavClick = function(e) {
	  e.preventDefault();
		var li = $(this).parent();
		$(li).addClass('selected');
		$(li).siblings().removeClass('selected');

		selectedTopic = $(this).attr('href');
		showTopic(selectedTopic);
	};

	var onShowMore = function() {
	  var speed = moreShown ? 0 : 500;
	  moreShown = true;
	  var sections = $("section.feed-list");
	  var maxHeight = 600;
	  var height = 0;
	  var is_hidden = false;

	  for(i = 0; i < sections.length; i++) {
	    is_hidden = $(sections[i]).css('display') == 'none';
	    if(!is_hidden) {
  	    lis = $(sections[i]).find('li');
  	    height = 0;
  	    for(j = 0; j < lis.length; j++) {
  	      height += $(lis[j]).outerHeight();
  	    }	    
  	    maxHeight = Math.max(maxHeight, height);
      }   
	  }
	  $("section.feed-list").animate({height: maxHeight + 'px'}, speed);
	  $("div.feed-list-container").addClass('expanded').animate({height: maxHeight + 'px'}, speed);
	  $('#more-feeds').fadeOut();  
	};

	$('#topics-nav').show();
	$(sectionTopics).hide();
	$(firstTopic).parent().addClass('selected');
	showTopic(selectedTopic);
	$(linkNavTopics).click(onLinkNavClick);


	// Home page News Feed
	$('.feed-list-container').append('<div class="fade"/><div id="more-feeds" class="button">Show More</div>');	
	$('#twitter-feed').append('<ul id="controller" class="clearfix"><li class="button newer"><span>Newer<span class="arrow up"></span></span></li><li class="button older"><span>Older<span class="arrow down"></span></span></li></ul>');
	$('#twitter-feed > .wrapper').append('<div class="fade"/>');
	$('#more-feeds').on('click', onShowMore);
	
	$('#about-video').click(function() {
		$.fancybox({
			'padding'		: 0,
			'autoScale'		: false,
			'transitionIn'	: 'none',
			'transitionOut'	: 'none',
			'title'			: this.title,
			'width'			: 640,
			'height'		: 360,
			'href'			: this.href.replace(new RegExp("([0-9])","i"),'moogaloop.swf?clip_id=$1'),
			'type'			: 'swf'
		});

		return false;
	});
	
	
	
	
	// Init
	(function() {
		var firstLink = $('#feed-nav').find('li:first-child');		
		firstLink.addClass('selected');
		showFeedList(firstLink.find('a').attr('href'));
	})();
	
	
	$('#feed-nav').delegate('a', 'click', function(e) {
		e.preventDefault();
		
		var link = $(this),
			feedList = link.attr('href');
				
		link
			.parent()
				.addClass('selected')
				.siblings()
					.removeClass('selected');
					
		showFeedList(feedList);
		
		if(moreShown) {
		  onShowMore();
	  }	
	});
		
	
	function showFeedList(feedList) {
		$(feedList).siblings('section').hide();
		$(feedList).show();
	}
	
	
	
	
	//home: adjust members section for older browsers
	if($('html').hasClass('no-csscolumns')) {
		var membersSection = $('#lc-members'),
			newHTML = '<div class="column column1"><h1>Members</h1><ul><li class="option1 first odd"><a href="http://www.aarp.org/about_aarp/aarp_foundation/">AARP Foundation</a></li><li class="option2 even"><a href="http://www.aecf.org/">The Annie E. Casey Foundation</a></li><li class="option3 odd"><a href="http://www.axa-financial.com/pressroom/community.html">AXA Equitable</a></li><li class="option4 even"><a href="http://www.bankofamerica.com/foundation/">Bank of America</a></li><li class="option5 odd"><a href="http://www.gatesfoundation.org/Pages/home.aspx">Bill &amp; Melinda Gates Foundation</a></li><li class="option6 even"><a href="http://citifoundation.com/">Citi Foundation</a></li><li class="option7 odd"><a href="http://www.db.com/us/content/en/social_responsibility.html">Deutsche Bank</a></li><li class="option8 even"><a href="http://www.fordfound.org/">Ford Foundation</a></li><li class="option9 odd"><a href="http://www.macfound.org/">The John D. and Catherine T. MacArthur Foundation</a></li><li class="option10 even"><a href="http://www.knightfdn.org/">John S. and James L. Knight Foundation</a></li><li class="option11 odd"><a href="http://www.jpmorganchase.com/cm/cs?pagename=Chase/Href&amp;urlname=jpmc">JPMorgan Chase &amp; Co.</a></li></ul></div><div class="column column2"><ul><li class="option12 even"><a href="http://www.kresge.org/">The Kresge Foundation</a></li><li class="option13 odd"><a href="http://www.mcknight.org/">The McKnight Foundation</a></li><li class="option14 even"><a href="http://www.metlife.com/Applications/Corporate/WPS/CDA/PageGenerator/0,1674,P284,00.html">MetLife, Inc.</a></li><li class="option15 odd"><a href="http://www.morganstanley.com/">Morgan Stanley</a></li><li class="option16 even"><a href="http://www.prudential.com/">Prudential Financial, Inc.</a></li><li class="option17 odd"><a href="http://www.rwjf.org/">Robert Wood Johnson Foundation</a></li><li class="option18 even"><a href="http://www.rockfound.org/">The Rockefeller Foundation</a></li><li class="option19 odd"><a href="http://www.surdna.org/">Surdna Foundation</a></li><li class="option20 even last"><a href="http://www.wkkf.org/">W.K. Kellogg Foundation</a></li></ul><h1>Affiliate Members</h1><ul><li class="option1 first odd"><a href="http://www.clevelandfoundation.org/">The Cleveland Foundation</a></li><li class="option2 even last"><a href="http://www.skillman.org/">The Skillman Foundation</a></li></ul></div>';
		
		membersSection.find('section').remove();
		membersSection.addClass('clearfix').append(newHTML);
	}




/* FUNCTIONS
-----------------------------------------------------------------------------------------------------------*/
	//manage content layers
	function manageContentLayers(thisContentBlock) {
		var selectedContent = '.cities-list ' + thisContentBlock;

		if (!$(selectedContent).hasClass('selected')) {
			$(selectedContent).hide().css({
				'z-index': 100});
			$(selectedContent).fadeIn(function() {
				$(this).css('z-index', 50).addClass('selected');
				$(this).siblings().css('z-index', '').removeClass('selected');
			});
		} else {
			return;
		}

	}

	function do_ajax_search() {
		$('ul#media_list').fadeOut('fast', send_ajax_search);
	}

	function send_ajax_search() {
		var post_data = $("form#pub-search").serialize();
		post_data += "&ajax=true";

		$.post("/knowledge/",
			post_data,
			function(data) {
			   $('ul#media_list').html(data);
			   $('ul#media_list').fadeIn('fast')
			}
		);
	}

	function clearTags() {
		$('input[type=checkbox].media_tag, input[type=checkbox].media_type').attr("checked", '');
		do_ajax_search();
	}

	function showTopic(selectedTopic) {
		$(sectionTopics).hide();
		$(selectedTopic).show();
	}


	$('#load-more').live('click', load_more_blog_posts);

	function load_more_blog_posts(e) {
		$(e.target).hide();

		$.ajax({
		  url: '/ajax/blog.php?id=' + get_least_recent_blog_id(),
		  success: function(data) {
		  	if($.trim(data) != '') {
		    	$('div#content').append(innerShiv(data));
		    	blog_reload_disqus();
		    	blog_reload_twitter();
		    	blog_reload_facebook();
		    }
		  }
		});

		return false;
	}

	function blog_reload_disqus() {
	   	try {
	   		DISQUSWIDGETS.getCount();
	   	} catch(ex) { }
	}

	function blog_reload_twitter() {
		try {
			twttr.widgets.load();
		} catch(ex) { }
	}

	function blog_reload_facebook() {
		try {
			FB.XFBML.parse();
		} catch(ex) { }
    }
});

function get_least_recent_blog_id() {
	var ids = $('article.post').map(function() { return $(this).data('id'); } );
	var seconds = $('article.post').map(function() { return $(this).data('seconds'); } );
	var min = Number.MAX_VALUE;
	var index = 0;

	for(i = 0; i < seconds.length; i++) {
		if(min > seconds[i]) {
			min = seconds[i];
			index = i;
		}
	}

	return ids[index];
}








