// <![CDATA[

var eventProgramDirPath = '/application';
var eventProgramPath    = eventProgramDirPath + '/eventCalendar.php';

function eventCalendar(year, month) {
	displayLoadingImg();

	var ajax = new Ajax.Request(
		eventProgramPath,
		{
			method: 'get',
			onSuccess: renderCalendar,
			onFailure: displayEventCalendarError,
			onException: displayEventCalendarError,
			parameters: 'year=' + year + '&month=' + month
		}
	);
}

function renderCalendar(req) {
	Element.hide($('calSpinner'));
	Element.show($('calendarCage'));
	Element.show($('calendar'));
	$('calendar').innerHTML = req.responseText;
}

function displayLoadingImg() {
	Element.hide($('calendar'));
	Element.show($('calSpinner'));
}

function displayEventCalendarError() {
	
	Element.hide($('calSpinner'));
	Element.show($('calendar'));
	$('calendar').innerHTML = 'データの取得に失敗しました';
}

function displayDayEvent(year, month, day) {
	loadingDayEvent();
	var ajax = new Ajax.Request(
		eventProgramPath,
		{
			method: 'get',
			onSuccess: renderDayEvent,
			parameters: 'year=' + year + '&month=' + month + '&day=' + day
			 + '&cmd=dayEvent'
		}
	);
}

function loadingDayEvent() {
	var sizeObj = Element.getDimensions('calendarCage');
	var elm = $('dayEventSpinner');
	elm.style.height = sizeObj.height + 'px';
	Element.show(elm);
}

function renderDayEvent(req) {
	var sizeObj = Element.getDimensions('dayEventSpinner');
	var elm = $('calTooltips');
	elm.innerHTML = convertResponseText(req);
	$('calTooltipsGray').style.height = $('transparentLayer').style.height = (sizeObj.height - 24) + 'px';
	Element.hide($('dayEventSpinner'));
	Element.show(elm);
}

function convertResponseText(req) {
	var text = req.responseText;
	if (navigator.appVersion.indexOf('KHTML') > -1) {
		var esc = escape(text);
		if (esc.indexOf('%u') < 0 && esc.indexOf('%') > -1) {
			text = decodeURIComponent(esc);
		}
	}
	return text;
}


eventCalendar();




// ]]>
