if (typeof month != 'undefined') 
{
	real_month = month;
}
else 
{
	real_date = new Date();
	real_month = real_date.getMonth();
}
	
var monthAdd = 0;
var yearAdd = 0;

function calendar(varElement, varDate){
	//Init Var
	var year_min = 2008;
	var year_max = 2012;
	
	//Init Var for Navigator
	var agt = navigator.userAgent.toLowerCase();
	var is_ie = (agt.indexOf("msie")!= -1 && document.all && agt.indexOf("opera") == -1);
	var is_ie5 = is_ie && (agt.indexOf("msie 5") != -1);
	var is_ie6 = is_ie && (agt.indexOf("msie 6") != -1);
	var is_ie7 = is_ie && (agt.indexOf("msie 7") != -1);
	var is_safari = (agt.indexOf("safari") != -1);
	
	switch(varDate){
		case 'nm':
			monthAdd = monthAdd + 1;
			break;
		case 'pm':
			monthAdd = monthAdd - 1;
			break;
		case 'ny':
			yearAdd = yearAdd + 1;
			break;
		case 'py':
			yearAdd = yearAdd - 1;
			break;
		case 'rs':
			monthAdd = 0;
			yearAdd = 0;
			break;
	};
	
	zeropad = function( n ){ return (n>9 ? n : '0'+n); };
	
	this_date = new Date();
	this_day = this_date.getDate();
	this_month = this_date.getMonth();
	this_year = this_date.getFullYear();

	// if (typeof this_month != 'undefined' && typeof init_this_month != 'undefined' && init_this_month == true)
	// {
//init_this_month = false;
	// }
	
	// else 
	// {
		// if (typeof init_this_month_2 == 'undefined')
		// {
			// this_month = parseInt(this_date.getMonth());
//init_this_month_2 = true;
			// if(CALENDAR_DAYS_TEXT && CALENDAR_DAYS_TEXT[this_year] != null && CALENDAR_DAYS_TEXT[this_year][this_month] == null)
			// {
				// while (CALENDAR_DAYS_TEXT[this_year][this_month] == null)
				// {
					// this_month = this_month + 1;
					// if (this_month > 12)
					// {
						// break;
						// this_month = parseInt(this_date.getMonth());
					// }
				// }
			// }	
		// }
		
		// else 
		// {
			// this_month = parseInt(this_date.getMonth());
		// }
	// }
	// this_month = this_date.getMonth();
	
	// this_month_original = this_month;
	
	
	date = new Date(this_year + yearAdd, this_month + monthAdd, 1);	
	
	// month = date.getMonth();
	year = date.getFullYear();
	month = parseInt(date.getMonth());
	
	// if (typeof month != 'undefined' && typeof init_month != 'undefined' && init_month == true)
	// {
		// init_month = false;
	// }
	
	// else 
	// {
		// if (typeof init_month_2 == 'undefined')
		// {
			// month = parseInt(date.getMonth());
			// init_month_2 = true;
			// if(CALENDAR_DAYS_TEXT && CALENDAR_DAYS_TEXT[year] != null && CALENDAR_DAYS_TEXT[year][month] == null)
			// {
				// while (CALENDAR_DAYS_TEXT[year][month] == null)
				// {
					// month = month + 1;
					// if (month > 12)
					// {
						// break;
						// month = parseInt(date.getMonth());
					// }
				// }
			// }	
		// }
		
		// else 
		// {
			// month = parseInt(date.getMonth());
		// }
	// }

	if(year >= year_max){
		year = year_max;
		yearAdd = -1;
	}
	
	if(year <= year_min){
		year = year_min;
		yearAdd = 0;
	}
	
	//months = new Array( 'January','February','March','April','May','June','July','August','September','October','November','December');
	months = new Array( 'Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');
	days = new Array('Dim','Lun','Mar','Mer','Jeu','Ven','Sam');
	week_end = {0:1,6:1};

	this_month = new Date(year, month, 1);
	next_month = new Date(year, month + 1, 1);
	        
	//Find out when this month starts and ends.         
	first_week_day = this_month.getDay();
	days_in_this_month = Math.round((next_month.getTime() - this_month.getTime()) / (1000 * 60 * 60 * 24));

	calendar_html = '<table id="calendarEvents">';

	calendar_html += '<tr><td colspan="7" class="month"><div id="calendarEventsMonth">';

	calendar_html += ' <a onclick="calendar(\''+ varElement +'\',\'py\');" class="sprite-doubble_arrow_left">&laquo;</a> <a onclick="calendar(\''+ varElement +'\',\'pm\');" class="sprite-simple_arrow_left">&lsaquo;</a> ';
	//calendar_html += '<span><a onclick="calendar(\''+ varElement +'\',\'rs\');">' + months[month] + ' ' + year + '</a></span>';
	calendar_html += '<span><a onclick="calendar(\''+ varElement +'\',\'rs\');"><span class="sprite-month_' + month + '">' + months[month] + '</span> <span class="sprite-year_' + year + '">' + year + '</span></a></span>';
	/*
	calendar_html += '<span><a href="http://www.ousortir.ca/actualites-nouvelles-evenements/'+year+'/'+zeropad(month+1)+'/index.html">' + months[month] + ' ' + year + '</a></span>';
	*/
	calendar_html += ' <a onclick="calendar(\''+ varElement +'\',\'nm\');" class="sprite-simple_arrow_right">&rsaquo;</a> <a class="sprite-doubble_arrow_right" onclick="calendar(\''+ varElement +'\',\'ny\');">&raquo;</a>';

	calendar_html += '</div><div class="clear"></div></td></tr>';

	calendar_html += '<tr>';
	for(i = 0; i < days.length; i++){
		var week_end = '';
		if(week_end[i] != undefined){
			week_end = ' week_end';
		}
		calendar_html += '<td class="week_days' + week_end + '">' + days[i] + '</td>';
	}
	
	calendar_html += '</tr>';	
	calendar_html += '<tr>';
	//Fill the first week of the month with the appropriate number of blanks.       
	for(week_day = 0; week_day < first_week_day; week_day++){
		calendar_html += '<td>&nbsp;</td>';
	}
	
	week_day = first_week_day;
	for(day_counter = 1; day_counter <= days_in_this_month; day_counter++){
		week_day %= 7;

		if(week_day == 0){
			calendar_html += '</tr><tr>';
		}
		
		var special_days = false;
		if(CALENDAR_DAYS_TEXT){
			if(CALENDAR_DAYS_TEXT[year] != null){
				if(CALENDAR_DAYS_TEXT[year][month] != null){
					if(CALENDAR_DAYS_TEXT[year][month][day_counter] != null){
						special_days = true;
					}
				}
			}
		}
		
		var affiche_special_day = '';
		if(special_days){
			var day_special_url = CALENDAR_DAYS_TEXT[year][month][day_counter][1];
			var day_special_event = CALENDAR_DAYS_TEXT[year][month][day_counter][0];
			
			day_affichage = '<a href="' + day_special_url + '" onmouseover="tooltip.show(\'' + day_special_event + '\',\'\',this);"><span>' + day_counter + '</span></a>';
		}else{
			day_affichage = '' + day_counter + '';
		}
		
		calendar_html += '<td class="day">';
		
		alt_date = new Date();
		//&& this_month.getMonth() == alt_date.getMonth()
	//	alert(this_month);
		
		//Do something different for the current day.
		if(this_day == day_counter && monthAdd == 0 && yearAdd == 0){
			if(!special_days){
				day_affichage = '<i><span>' + day_affichage + '</span></i>';
			}
			calendar_html += '<span><b>' + day_affichage + '</b></span>';
		}else{
			calendar_html += '' + day_affichage + '';
		}
        calendar_html += '</td>';
		week_day++;
	}

	calendar_html += '</tr>';
	calendar_html += '</table>';
    
	//Display the calendar.
	var El = document.getElementById(varElement);
	El.innerHTML = calendar_html;
	El_Width = El.offsetWidth;
	
	//Month Container Margin
	var MCont = document.getElementById('calendarEventsMonth');
	if(MCont){
		var MCont_Width = MCont.offsetWidth;
		var MCont_Margin = Math.floor(((El_Width - MCont_Width) / 2));
		MCont.style.marginLeft = (MCont_Margin - 3) + 'px';
	}
};

jQuery(document).ready(function () {	
	if (real_month > month) 
	{
		while (real_month > month)
		{
			calendar('calendar-container-s', 'nm');
		}
	}
});