$(document).ready(function(){
	
	qty = $('#event_calendar li.day').size()-1
	
	$('#event_calendar').jcarousel({
		scroll:1,
		initCallback: on_init_event_calendar_carousel,
		buttonNextHTML:null,
		buttonPrevHTML:null,
		itemFirstInCallback:handle_prev_disable,
		itemVisibleInCallback:handle_next_disable
	});							
	
	
	
	$('.close_detail_drawer').click(function(){
		close_event_detail_drawer();
		close_all_calendar_details();
		return false;
	});
	
	$('#event_calendar a.event_details_link').click(function(){

		clicked_link = $(this)
		// date_clicked = $(this).parent().attr("id"); //this could be used to fetch remote data, if you need to know the date clicked
		
		if(clicked_link.hasClass('open'))
		{
			close_calendar_detail(clicked_link);
			close_event_detail_drawer();
		}
		else
		{
			close_all_calendar_details(clicked_link);
			open_calendar_detail(clicked_link);
			open_event_detail_drawer();
		}
		
		return false;
	});
	
});

// itemFirstInCallback:handle_prev_disable,
// itemLastOutCallback:handle_next_disable

handle_prev_disable = function(a,b,c,d)
{
  if(c==1)
  {
    $('#event_calendar .previous').addClass('previous_disabled')
  }
  else
  {
    $('#event_calendar .previous').removeClass('previous_disabled')
  }
}

handle_next_disable = function(a,b,c,d)
{
  if(c==a.size())
  {
    $('#event_calendar .next').addClass('next_disabled')
  }
  else
  {
    $('#event_calendar .next').removeClass('next_disabled')
  }
}

						
open_event_detail_drawer = function()
{
	$('#event_details_drawer').slideDown('fast')
}

close_event_detail_drawer = function()
{
	$('#event_details_drawer').slideUp('fast')
}

open_calendar_detail = function(clicked_link)
{
	load_detail_content(clicked_link);
	clicked_link.addClass('open');
	clicked_link.animate({paddingTop:32}, 'fast')
}

close_calendar_detail = function(clicked_link)
{
	clicked_link.animate({paddingTop:0}, 'fast', function(){clicked_link.removeClass('open')})
}

close_all_calendar_details = function()
{
	$('#event_calendar a.event_details_link').each(function(){
		if($(this).hasClass('open'))
		{
			close_calendar_detail($(this))
		}
	});
}

on_init_event_calendar_carousel = function(carousel)
{
	$('#event_calendar .previous').click(function()
	{
		carousel.prev();
		return false;
	});
	$('#event_calendar .next').click(function()
	{
		carousel.next();
		return false;
	});
	
}

load_detail_content = function(clicked_link)
{
	//traverse from clicked link to content
	// event_detail_content = $('.event_details_hidden_container', clicked_link.parent()).html();
	$('#event_detail_content').html(($('.event_details_hidden_container', clicked_link.parent()).html() == null) ? "<p>No details have been entered for this event.</p>" : $('.event_details_hidden_container', clicked_link.parent()).html());
}

