$(function() {
	var $eventsXML = null;
	var $calendar = $('#calendar');
	var $eventBox = $('<div class="eventBox"><a href="#" class="close">close</a><div class="eventDetails" /></div>').appendTo('#calendar').hide().find('a.close').click(function(){ $(this).parent().hide(); return false; }).end();
	var dateString = function(date){
		return (date.getMonth()+1) +'/'+ date.getDate() +'/'+ date.getFullYear();
	};

	$calendar.find('.events').live('click', function(e){ 
		var datepicker = $('#calendar').data('datepicker');
		var day = $(this).find('span').html();
		var date = new Date((datepicker.drawMonth + 1) +'/'+ day +'/'+ datepicker.drawYear);
	
		var selectedEvent = $eventsXML.find('event[dates*='+ dateString(date) +']');
		if (selectedEvent.length > 0){
			var html = '<strong class="date">'+ $.datepicker._defaults.monthNames[date.getMonth()] +' '+ date.getDate() +'</strong>';
			selectedEvent.each(function(){
				html += '<strong class="title">'+ $(this).attr('title') +'</strong> '+ $(this).attr('content');
			});
			//$eventBox.css({left: e.pageX+'px', top: e.pageY +'px'}).find('.eventDetails').html(html).attr('scrollTop', 0).end().fadeIn();
			$eventBox.find('.eventDetails').html(html).attr('scrollTop', 0).end().fadeIn();
		}
		
	});
	
	$.ajax({
			type: 'GET'
		   ,cache: false
		   ,url: '/eventsxml.aspx'
		   ,dataType: 'xml'
		   ,success: function(data, textStatus) { 
		   		$eventsXML = $(data);
				var minDate = new Date();

				$calendar.datepicker({
					 dateFormat: 'm/d/yy'
					,minDate: minDate 
					,hideIfNoPrevNext: true
					,beforeShowDay: function(date) { return [false, ($eventsXML.find('event[dates*='+ dateString(date) +']').length > 0) ? 'events':'', '']; }
					,onChangeMonthYear: function(year, month, inst) { $eventBox.hide(); }
				});

			} /* End AJAX Settings */
	});
});
