$(function () {
	//var w = $('#calendar').width()/10;
	var x ;
	var y;
	var wcalendar;
	var w;
	var h;
	var popupBottom;
    var popupLeft;
    var wpopup = $('.events ul').width();
    var dayheight = $('th').height();
    var tdDay = $('.date_has_event').height();
    
    // popup //
    var xMax;
    var xTRMax;
    var xBRMax;
    
    // window //
    var WindowWidth;
    var WindowHeight;
    
    //alert(wpopup);
    $('#calendar').mousemove(function(e){
        x = e.pageX - this.offsetLeft;
        y = e.pageY - this.offsetTop;
        wcalendar = $('#calendar').width();
        w = $('#calendar').width()/2;
        h = $('#calendar').height()/2;
       	$('#example2-xy').html("X: " + x + "  Y: " + y + "  W:" + w + "  H:" + h); 
    	});
    	
    WindowWidth = $(window).width();	
    WindowHeight = $(window).height();
    
    //alert(WindowHeight);
    	
	$('.date_has_event').each(function () {
				
		
    	
		// options
		var distance = 0;
		var time = 250;
		var hideDelay = 300;

		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 () {
			
			//alert(WindowWidth);
			
			//position
			popupLeft = 10;
			popupBottom = 0;
			/*if ( x > w){
				if ((x+(wpopup/2)) > wcalendar ){
					popupLeft = -wpopup;						
				}else {
					//popupLeft = -(x-wpopup)+50;	
					popupLeft = 25;
				}
							
			} else {
				popupLeft = 25;
			}
			
			if ( y < h){
				popupBottom = -(2*tdDay);				
			} else {
				popupBottom = 4;
			}*/
			
		
			// 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: popupBottom,
					left: popupLeft,
					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);
		});
	});
});

$(function() {
	var zIndexNumber = 5000;
	$('div').each(function() {
		$(this).css('zIndex', zIndexNumber);
		zIndexNumber -= 10;
	});
});
