jQuery(document).ready(function() {
        //function to return only the query string part of the URL
        //since we are making GET requests with the query string ?month=x&year=yyyy, we simply
        //look for the index position of the month portion of the query string '?month='
        function get_normal_href(href) {
            return href.substring(href.indexOf('?month='));
        }

	jQuery('a.eventcalx-prev, a.eventcalx-next').click(function() {
		//omit the leading ? in the a's href using substring(), so that we can pass
		//key-value pairs of terms in the GET request
		var queryString = get_normal_href(jQuery(this).attr('href')).substring(1);
                var $loadingDiv = jQuery('<div></div>').css({
                    textAlign: 'center',
                    padding: '20px 0'
                });
                jQuery('table.eventcalx').replaceWith($loadingDiv.html('<img src="eventcalx/images/ajax-loader.gif" alt="Loading" />'));
                
		jQuery.get('eventcalx/includes/calendar.php', queryString, function(data) {
                    $loadingDiv.replaceWith(jQuery('table.eventcalx', data));
                    jQuery('a.eventcalx-prev').attr(
                            'href', get_normal_href(jQuery('a.eventcalx-prev', data).attr('href'))
                    );
                    jQuery('a.eventcalx-next').attr(
                            'href', get_normal_href(jQuery('a.eventcalx-next', data).attr('href'))
                    );
                    jQuery('span.eventcalx-title').text(
                            jQuery('span.eventcalx-title', data).text()
                    );			
		});
		return false;
	});
	
	var toolTipHTML = '<div class="eventcalx-tooltip">'
            + '<div class="eventcalx-tooltip-content"></div>'
            + '<div class="eventcalx-tooltip-bottom"></div>'
            + '</div>';

        var toolTip = jQuery(toolTipHTML);
	
	jQuery('a.event-link').live('mouseover', function(e) {
		var eventTitle = this.rel;
                jQuery(document.body).append(toolTip);
                //split up the event title
                var eventInfo = /^([0-9]*)\|([0-9]*)\b(.*)/.exec(eventTitle);
				var eventTitle = eventInfo[3].replace(/^\s+/,"");
                var eventDate = new Date(Number(eventInfo[1])*1000);
                var eventDateEnd = new Date(Number(eventInfo[2])*1000);
				
		var eventMins = eventDate.getMinutes();
		var eventMinsEnd = eventDateEnd.getMinutes();
		if(eventMins<10) eventMins="0"+eventMins;
		if(eventMinsEnd<10) eventMinsEnd="0"+eventMinsEnd;
		
                jQuery('div.eventcalx-tooltip-content').html(
			'<p class="tooltip-title">' + eventTitle + '</p>'
                            + '<p class="tooltip-date">'
                            + eventDate.getDate()
                            + '/'
                            + (eventDate.getMonth() + 1)
                            + '/'
                            + eventDate.getFullYear()
			    + ' '
			    + eventDate.getHours()
			    + ':'
			    + eventMins
				+ ' - '
				+ eventDateEnd.getHours()
				+ ':'
				+eventMinsEnd
//			    + ' to ' + eventDateEnd.getHours() + ':' + eventMinsEnd
                            + '</p>'
		);
                toolTip.show();
                
                var toolTipHeight = toolTip.outerHeight(),
                    cellOffset = jQuery(this).offset(),
                    cellOffsetX = cellOffset.left,
                    cellOffsetY = cellOffset.top,
                    tipOffsetX = 38;
                if(cellOffsetX < 38) {
                    tipOffsetX = cellOffsetX;
                }
                
                toolTip.css({
                    top: cellOffsetY - toolTipHeight,
                    left: cellOffsetX - tipOffsetX
                });

	}).live('mouseout', function(e) {
		toolTip.hide();
	});
					
});

