// ****************************************
// The Heritage Foundation Foundry Blog Base JavaScript (with JQuery Help)
// Created by Brian Talbot on 2009-07-19
// (c) The Heritage Foundation.
// ****************************************

// ========================================
// Utility functions (Not Loaded with DOM)
// ========================================

// Get the Index of an Element
$.fn.getIndex = function(){
  var parentSet=$(this).parent().children();
  return $(parentSet).index(this);
};

// Display/Hide Loading
$.fn.toggleLoading = function(){
  $("#loading").fadeToggle();
};

$.fn.summarize = function(length){
  var str = $(this).text().slice(0,length);
  // alert( "Let's trim: "       + $(this).text());
  // alert( "Sliced: "           + str + "...");
  // alert( "Last space is at: " + (str.lastIndexOf(' ')));
  return str.slice(0,(str.lastIndexOf(' '))) + "&hellip;" + '<span class="more">More</span>';
};

$(document).ready(function(){

// ========================================
// Utility functions (Loaded with DOM)
// ========================================
	
  // Post Photo Captioning
  $(".captionize").each(function(){
    $(this).removeClass("captionize");
    var parent = $(this).parent();
    var img_url = $(this).attr('href');
    var img = $(this).find('img');
    var img_width = img.width();
    var caption = img.attr('title');
    var caption = $('<p class="caption">' + caption + '</p>').css('width',img_width - 83);
    var enlarge_link = $('<a href="' + img_url + '" class="call enlarge">Enlarge</a>');
    var container = $('<div class="captionized"></div>');
    
    $(this).append(img);
    container.append($(this));
    container.append(caption);
    container.append(enlarge_link);
    parent.prepend(container);
  });
  
  // Lightboxing
  $('a.enlarge, .captionized a').slimbox({}, null, function(el) {
		return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
	});
	
	// Input Toggle
	function switchText()
	{
		if ($(this).val() == $(this).attr('title')){
			$(this).val('').removeClass('blur');
		}
		else if ($.trim($(this).val()) == ''){
			$(this).addClass('blur').val($(this).attr('title'));
		}
	}
	$('input[@type=text][title!=""]').each(function() {
		if ($.trim($(this).val()) == '') $(this).val($(this).attr('title'));
		if ($(this).val() == $(this).attr('title')) $(this).addClass('blur');
	}).focus(switchText).blur(switchText);
});

/* 
 * Random Child (0.1)
 * by Mike Branski (www.leftrightdesigns.com)
 * mikebranski@gmail.com
 *
 * Copyright (c) 2008 Mike Branski (www.leftrightdesigns.com)
 * Licensed under GPL (www.leftrightdesigns.com/library/jquery/randomchild/gpl.txt)
 *
 * NOTE: This script requires jQuery to work.  Download jQuery at www.jquery.com
 *
 */

jQuery.fn.randomChild = function(settings) {
	return this.each(function(){
		var c = $(this).children().length;
		var r = Math.ceil(Math.random() * c);
		$(this).children().hide().parent().children(':nth-child(' + r + ')').show();
	});
};