$(function () {
	
	showCal();
	
$('a.npcallink').live('click', function() {
	showCal($(this).attr('rel'));
	return false;
});	

	
});
function showCal(time){
	$.ajax({
		url: "modules/mod_calendar/process.php",
		type:"GET",
		data: 'ctime='+time,
		success: function(data){
			$('#caltable').html(data);
			$('.date_has_event').each(function () {
				// options
				var distance = 10;
				var time = 250;
				var hideDelay = 200;

				var hideDelayTimer = null;

				// tracker
				var beingShown = false;
				var shown = false;

				var trigger = $(this);
				var popup = $('.events ul', this).css('opacity', 0);

				// set the mouseover and mouseout on both element
				$([trigger.get(0), popup.get(0)]).mouseover(function () {
					// stops the hide event if we move from the trigger to the popup element
					if (hideDelayTimer) clearTimeout(hideDelayTimer);

					// don't trigger the animation again if we're being shown, or already visible
					if (beingShown || shown) {
						return;
					} else {
						beingShown = true;

						// reset position of popup box
						popup.css({
							bottom: 20,
							left: -176,
							display: 'block'// brings the popup back in to view
						})

						// (we're using chaining on the popup) now animate it's opacity and position
						.animate({
							bottom: '+=' + distance + 'px',
							opacity: 1
						}, time, 'swing', function() {
							// once the animation is complete, set the tracker variables
							beingShown = false;
							shown = true;
						});
					}
				
				}).mouseout(function () {
					// reset the timer if we get fired again - avoids double animations
					if (hideDelayTimer) clearTimeout(hideDelayTimer);

					// store the timer so that it can be cleared in the mouseover if required
					hideDelayTimer = setTimeout(function () {
						hideDelayTimer = null;
						popup.animate({
							bottom: '-=' + distance + 'px',
							opacity: 0
						}, time, 'swing', function () {
							// once the animate is complete, set the tracker variables
							shown = false;
							// hide the popup entirely after the effect (opacity alone doesn't do the job)
							popup.css('display', 'none');
						});
					}, hideDelay);
				});
			});			
		}
	});
	return false;
}
