var Calendar = {
	month: null,
	prev_month: null,
	next_month: null,
	year: null,
	prev_year: null,
	next_year: null,
	url: null,

    initialize : function (month, year, url)
    {
		this.setDateData(month, year);
		this.url = url;
        this.getCalendar();
    },

	setDateData : function(month, year)
	{
		this.month = parseInt(month);
		this.year = parseInt(year);

		switch (this.month) {
			case 1:
				this.prev_month = 12;
				this.prev_year = this.year - 1;
				this.next_month = this.month + 1;
				this.next_year = this.year;
				break;
			case 12:
				this.prev_month = this.month - 1;
				this.prev_year = this.year;
				this.next_month = 1;
				this.next_year = this.year + 1;
				break;
			default:
				this.prev_month = this.month - 1;
				this.prev_year = this.year;
				this.next_month = this.month + 1;
				this.next_year = this.year;
				break;
		}
	},

    getCalendar : function()
    {
        var url = 'index.php';
        $j.post(
			url, 
			{
				eID: 'calendar', 
				url: this.url, 
				month: this.month, 
				year: this.year
			}, 
			function(res){Calendar.setCalendar(res)}, 
			'html'
		);
    },

    setCalendar : function(res)
    {
        $j('#cal_box').html(res);
 		$j('#prev_month').bind('click', function(){
			Calendar.initialize(Calendar.prev_month, Calendar.prev_year)
		});
		$j('#next_month').bind('click', function(){
			Calendar.initialize(Calendar.next_month, Calendar.next_year)
		});
		$j('#month').bind('change', function(){
			var value_list = $j('#month').val().split('_');
			Calendar.initialize(value_list[1], value_list[0])
		});
   }

}
