var offset=0;
var day=0;
var selectedDay=0;
var selectedMonth=0;
var maxMonths=23;

$(document).ready(function() {
	$('#homeMonthNext').click(function(event) {
		event.preventDefault();
		if(offset<maxMonths)
		{
			$('#homeMonthNext').css({ opacity: 1.0 });
			$('#homeMonthPrevious').css({ opacity: 1.0 });
			offset++;
			if(offset==maxMonths)
			{
				$('#homeMonthNext').css({ opacity: 0.7 });
			}
			changeMonth();
		}
	});
	$('#homeMonthPrevious').click(function(event) {
		event.preventDefault();
		if(offset>0)
		{
			$('#homeMonthPrevious').css({ opacity: 1.0 });
			$('#homeMonthNext').css({ opacity: 1.0 });
			offset--;
			if(offset==0)
			{
				$('#homeMonthPrevious').css({ opacity: 0.7 });
			}
			changeMonth();
		}
	});
	$('#monthList').change(function(event) {
		event.preventDefault();
		offset=$(this).val();
		$('#homeMonthNext').css({ opacity: 1.0 });
		$('#homeMonthPrevious').css({ opacity: 1.0 });
		if(offset==0)
		{
			$('#homeMonthPrevious').css({ opacity: 0.7 });
		}
		if(offset==maxMonths)
		{
			$('#homeMonthNext').css({ opacity: 0.7 });
		}
		changeMonth();
	});
	day=$("#calendar tr .active").html();
	offset=$('#monthList').val();
	selectedDay=day;
	selectedMonth=offset;
	if(offset==0)
	{
		$('#homeMonthPrevious').css({ opacity: 0.7 });
	}
	if(offset==maxMonths)
	{
		$('#homeMonthNext').css({ opacity: 0.7 });
	}
	
	$(".filter").live("mouseover mouseout", function() {
		$(this).toggleClass("columnHover");
	});
	
	$("#eventListTable th").live("mouseover mouseout", function() {
		$(this).toggleClass("columnHover");
	});
	
	/*****Start fancy select*****/
	$('#monthList').hide();
	var menu = 0;
	var selectedValue = $('#monthList').val();
	var selectedText = $('#monthList :selected').text();
	var fancyList = '<div id="fancySelectList"><ul>';	
	var first = true;	
	$('#monthList option').each(function(index) {
		if(first)
		{
			fancyList += '<li id="month'+$(this).val()+'" class="firstLi"><a href="#" id="'+$(this).val()+'">'+$(this).text()+'</a></li>';
			first = false;
		}
		else
		{
			fancyList += '<li id="month'+$(this).val()+'"><a href="#" id="'+$(this).val()+'">'+$(this).text()+'</a></li>';
		}
	});
	fancyList += '</ul></div>';
	$('#monthSelect').append('<div id="fancySelect"><a href="#">'+selectedText+'</a></div>');
	var fancyOffset = $('#fancySelect').offset();
	$('#fancySelect').click(function (event) {
		event.preventDefault();	
		$('#monthSelect').append(fancyList);
		$('#fancySelectList').offset({ top: fancyOffset.top, left: fancyOffset.left });			
		$('#fancySelectList a').live('click', function(event) {		
			event.preventDefault();
			offset=$(this).attr('id');
			$('#homeMonthNext').css({ opacity: 1.0 });
			$('#homeMonthPrevious').css({ opacity: 1.0 });
			if(offset==0)
			{
				$('#homeMonthPrevious').css({ opacity: 0.7 });
			}
			if(offset==maxMonths)
			{
				$('#homeMonthNext').css({ opacity: 0.7 });
			}
			changeMonth();
		});
		menu = 2;
		$(document).click(function(e) {
			if(menu == 2)
			{
				menu = 1;
			}
			else
			{
				$('#fancySelectList').remove();
				$(document).unbind('click');
			}
		});	
    });    
    /*****End fancy select*****/
});

function changeMonth()
{
	$.getJSON('/calendar/newmonth/0/January/offset/'+offset, function(data) {
		/*$('#homeMonthTitle').html(data.monthName);*/
		$('#monthList').val(offset);
		selectedText = $('#monthList :selected').text();
		$('#fancySelect').html('<a href="#">'+selectedText+'</a>');
		$('#homeMonthNext a').text(data.nextMonthName);
		$('#homeMonthPrevious a').text(data.previousMonthName);
		$('#homeContentSidebarCalendarGridNumbers').html(data.calendar);
		$("#calendar tr a").removeClass("active"); 
		if(selectedMonth==offset)
		{
			$("#day"+selectedDay).addClass("active"); 
		}
	});
}
