gReady = false;
gCurrentSplash = 0;


function handleCalendarResponseSuccess(transport) {
	paintCalendar(transport);
}

function handleCalendarResponseError(transport) {
	paintCalendar(transport);
}
function outputIE6() {
	var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
	if(IE6) {
		document.write('<link rel="stylesheet" href="/static/css/root-screen-ie6.css" type="text/css" media="screen" />');
	}
}


function paintCalendar(transport) {
	var calendarData = transport.responseText.evalJSON(true);
	if(calendarData) {
		$('chrome-calendar').innerHTML = '';
		$('chrome-calendar').innerHTML += '<h2>Calendrier ' + calendarData.month + '</h2>';

		var calendar = calendarData.calendar;
		var calendarHTML = '<ol>';
		for(var i = 0; i < calendar.length; i++) {
			var events = calendar[i].events;
			if(events == null || events.length == 0) {
				calendarHTML += '<li>' + calendar[i].date + '</li>';
			} else {
				calendarHTML += '<li><a href="javascript:void(0)">' + calendar[i].date + '</a><ol>';
				
				for(var i2 = 0; i2 < events.length && i2 < 3 ; i2++) {
					var event = events[i2];
					if(event) {
						calendarHTML += '<li>';
						
						if (event.hour) {
							calendarHTML += '<h2>' + event.hour + '</h2>';
						}
						
						if(event.play && event.play.id && event.play.title) {
							calendarHTML += '<h1><a href="/archives/pieces/' + event.play.id + '">' + event.play.title + '</a></h1>';
						}
						else if(event.name) {
							calendarHTML += '<h1>' + event.name + '</h1>';
						}
						
						if(event.caption) {
							if (event.caption_link) {
								calendarHTML += '<a href="' + event.caption_link + '">' + event.caption + '</a>';
							} else {
								calendarHTML += '<h3>' + event.caption + '</h3>';
							}
						}
						
						if(event.boxo_link) {
							calendarHTML += '<a href="' + event.boxo_link + '">achat de billets en ligne</a>';
						}
						
						calendarHTML += '</li>';
					}
				}

				calendarHTML += '</ol></li>';
			}
		}
		calendarHTML += '</ol>';
		$('chrome-calendar').innerHTML += calendarHTML;


		$('chrome-calendar').innerHTML += '<ol id="chrome-calendar-navigator"><li id="chrome-calendar-navigator-previous"><a href="javascript:refreshCalendar(-1) "><span>mois precedent</span></a></li><li id="chrome-calendar-navigator-next"><a href="javascript:refreshCalendar(1) "><span>mois suivant</span></a></li></ol>';
	} else alert('Une erreur est survenue avec le calendrier. SVP, reessayez plus tard.');
}
	


function refreshCalendar(delta) {
	// Refresh calendar
	
	var parameters = new Object()
	parameters.delta = delta;
	
	var AJAXRequest = new Ajax.Request(
		"/calendar",
		{
			method: "post",
			parameters: parameters,
			requestHeaders: ['cache-control', 'no-cache','pragma','no-cache', 'accept', 'application/json'],
			onFailure: function(transport) {handleCalendarResponseSuccess(transport);},
			onSuccess: function(transport) {handleCalendarResponseError(transport);}
		}
	);
}



function init() {
	if ($('marketing-mailing')) {
		$('marketing-mailing-email').onfocus = function(){
			this.style.background = "none";
			this.style.backgroundColor = "white";
			this.style.padding = "0px";
			this.style.width = "176px";
		}
	}
	
	if (location.protocol == 'https:' ) {
		// There seems to be a problem when calling ajax over https. Hide calendar for now.
		$('chrome-calendar').hide();
	} else {
		refreshCalendar();
	}
	
	gReady = true;
	
}

function nextSplash() {
	if(gCurrentSplash < (gSplashes.length - 1)) {
		gCurrentSplash++;
	} else {
		gCurrentSplash = 0;
	}
	$('chrome-splash-image').innerHTML = gSplashes[gCurrentSplash];
}

function previousSplash() {
	if(gCurrentSplash > 0) {
		gCurrentSplash--;
	} else {
		gCurrentSplash = gSplashes.length - 1;
	}
	$('chrome-splash-image').innerHTML = gSplashes[gCurrentSplash];
}

function switchSplash(index) {
	if(index < gSplashes.length && gSplashes.length > -1) {
		$('chrome-splash-image').innerHTML = gSplashes[index];
	}
}

function dismissAlert() {
	$('alert').style.display = 'none';
	return false;
}


window.onload = init;
