window.addEvent("domready", function() {
	
	var preLoad = new Element('div', {								
		'class' : 'eventPreview'
		
	});
	var preLoad = new Element('img', {
		'class' : 'spinner-img'
	});
	
	$$('.previousMonth').addEvent('click', function(e) {
		e.preventDefault();
		getMonthsEvents(this.rel);
	});
	$$('.nextMonth').addEvent('click', function(e) {
		e.preventDefault();
		getMonthsEvents(this.rel);
	});	
	getMonthsEvents(month);
	
});

function getMonthsEvents(month) {
	
	var AjaxSpinner = new Spinner($('eventsCalendarHolder'), {
		message: 'Getting events...'
	});	
    var populate = new Request.JSON({
    	onRequest: function() {

    		AjaxSpinner.position();
    		AjaxSpinner.show();
    	},
    	
    	onSuccess: function(json) {
			AjaxSpinner.hide().chain(function(){
				AjaxSpinner.destroy();
			});
    		console.log(json);
			if (json == '') {
				
			} else {
				
				Cookie.write('month', month);
				
				$('eventsCalendar').set('html','');
				$each(json, function(item, index) {
					var month = new Element('li', {
						'class': 'cday',
						'text': index
					});	
					if (index == 'monthStartsOn') {
						for (i = 0; i < item; i++) {
							var blank = new Element('li', { 'class': 'cday'});							
							blank.inject($('eventsCalendar'), 'top');
						}
					} else if (index == 'previousMonth') {
						$$('.previousMonth').set('rel',item);
					} else if (index == 'nextMonth') {
						$$('.nextMonth').set('rel',item);								
					} else if (index == 'month') {
						$$('.monthShowing').set('text',item);		
					} else {
						if ($type(item) == 'array') {
							
							var preview = new Element('div', {								
								'class' : 'eventPreview',
								'html': '<h1>Events on this day...</h1>'
							}).inject(month, 'bottom');
							
							month.addClass('dayOfEvent');
							
							month.addEvents({
								'mouseover': function(e) {

									preview.setStyle('display','block');
									
									
								},
								'mouseout': function(e) {
									
							
									preview.setStyle('display','none');
									
													
								}
							});
							
							$each(item, function(item, index) {
								
								var html = preview.get('html');
								
								preview.set('html', html, '<a href="' + item.url + '.html">' + item.name + ' <span>[more...]</span></a>');
							
								
								
								
							});
						} 
							
						
						
						month.inject($('eventsCalendar'), 'bottom');

							
						
					}
				});
			}
    	},
    	noCache: true,
    	method: 'post',
		url: base + 'ajax.php'
    }).send({
    	data: 'events=true&month=' + month
    });
	
}

