jQuery(document).ready(function(){	
	
	jQuery("#purpleBoxes a").bind('click', function(e){
		e.preventDefault();
	});
	
	jQuery("#keyTopicsBox").bind('click', function(e){
		var selectedBox = this;
		var cacheActive = selectedBox.isActive;

		// Always, start with resetting the callout
		resetCallout(function(){
			if(!cacheActive)
			{
				selectedBox.isActive = true;
				jQuery(selectedBox).addClass("keyTopicsCallout");
				jQuery("#purpleCallout").addClass("keyTopicsCallout");
				
				// Add the content!!
				jQuery("#purpleCallout ul").html(jQuery("#categories-2 ul").html())
				
				// Show the slider
				jQuery("#purpleCallout").slideDown('normal');			
			}
		});		

	});
	
	jQuery("#blogRollBox").bind('click', function(e){
		var selectedBox = this;
		var cacheActive = selectedBox.isActive;

		// Always, start with resetting the callout
		resetCallout(function(){
			if(!cacheActive)
			{
				selectedBox.isActive = true;
				jQuery(selectedBox).addClass("blogRollCallout");
				jQuery("#purpleCallout").addClass("blogRollCallout");
				
				// Add the content!!
				jQuery("#purpleCallout ul").html(jQuery("#linkcat-2 ul").html())
				
				// Show the slider
				jQuery("#purpleCallout").slideDown('normal');			
			}
		});				
	});	

	
	jQuery("#topPostsBox").bind('click', function(e){
		var selectedBox = this;
		var cacheActive = selectedBox.isActive;

		// Always, start with resetting the callout
		resetCallout(function(){
			if(!cacheActive)
			{
				selectedBox.isActive = true;
				jQuery(selectedBox).addClass("topPostsCallout");
				jQuery("#purpleCallout").addClass("topPostsCallout");
				
				// Add the content!!
				jQuery("#purpleCallout ul").html(jQuery("#prwidget-0-iframe").contents().find("#prwidget-0-posts").html())
				
				// Show the slider
				jQuery("#purpleCallout").slideDown('normal');			
			}
		});		
	});
});

function resetCallout(callBack)
{
	// Hide the callout
	if(jQuery("#purpleCallout").is(":visible"))
	{
		jQuery("#purpleCallout").slideUp('normal', function(){
			jQuery("#purpleCallout").removeClass();
			jQuery("#purpleBoxes span").each(function(){
				jQuery(this).removeClass();
				this.isActive = false;
			});
			return callBack();
		});
		
		return true;
	}
	
	// Remove the classes
	jQuery("#purpleBoxes span").each(function(){
		jQuery(this).removeClass();
		this.isActive = false;
	});
	return callBack();
}

