var jar = new CookieJar({
	expires: 3600, // seconds
	path: '/',
});

var initCalTable = function(table) {
	table.select('tr').each(function(tr) {
		if(tr.down('a')) {
			tr.observe('mouseover', function(event) {
				tr.addClassName('over');
			});
	
			tr.observe('mouseout', function(event) {
				tr.removeClassName('over');
			});
			
			tr.observe('click', function(event) {
				if(event.element().tagName != 'A') {
					var link = tr.down('a').href;
					window.location.href = link;
				}
			});
		}
	});
}

var initNavPulldown = function(pulldownDiv) {
	pulldownDiv.hide();
	
	var pulldownLink = new Element('a', { 'href': '#' }).update('&#x25be;');
	$('titre').down('.titre span.pulldown').insert({ bottom: pulldownLink });
	
	pulldownLink.observe('click', function(event) {
		pulldownLink.blur();
		pulldownLink.addClassName('actif');

		pulldownDiv.setStyle({
			'position': 'absolute',
			'left': pulldownLink.positionedOffset().left + 'px',
			top: pulldownLink.positionedOffset().top + 'px',
		});

		pulldownDiv.show();
		event.stop();
	});
	
	document.body.observe('click', function(event) {
		var e = event.element();
		
		if(!e.descendantOf(pulldownLink) && !e.descendantOf(pulldownDiv)) {
			pulldownDiv.hide();
			pulldownLink.removeClassName('actif');
		}
	});
}

var initPrixTotal = function(event) {
	var updateTotal = function(total) {
		$('prix-total').value = total + '$';
	}
	
	$$('input.prix').each(function(input) {
		new Form.Element.Observer(input, 0.2, function(input, value) {
			updateTotal($$('input.prix').inject(0, function(acc, input) {
				return acc + input.getValue() * 1;
			}));
		});
	});
	
	updateTotal(0);
}

var setupCaisse = function() {
	if($('caisse-etape-1')) {
		$('caisse-etape-1').observe('submit', function(event) {
			jar.put('Email', $F('caisse-email'));
			jar.put('Realname', $F('caisse-realname'));
		});

	} else if($('caisse-etape-2')) {
		if(jar.get('Realname')) {
			$('caisse-realname').value = jar.get('Realname');
			$('caisse-realname').up('tr').hide();
		}

		if(jar.get('Email')) {
			$('caisse-email').value = jar.get('Email');
			$('caisse-email').up('tr').hide();
		}
	}
}

var initSiteDomLoaded = function(event) {
	$$('table.cal-list').each(initCalTable);
	$$('#nav-pulldown').each(initNavPulldown);
	$$('#prix-total').each(initPrixTotal);
	if($$('#caisse')) setupCaisse();
}

var initSiteAllLoaded = function(event) {
	isAllLoaded = true;
}

Event.observe(document, 'dom:loaded', initSiteDomLoaded, false);
Event.observe(window, 'load', initSiteAllLoaded, false);

var isAllLoaded = false;

