document.ready = function(){
	try{
		$('input[type="text"]').eq(0).focus();
	} catch(e){}
	try{
		$('#email').bind('keyup focus blur click change', function(){
			var email = $('#email').val().trim();
			if(email.match(/^[-_.0-9a-zA-Z]+@[-_.0-9a-zA-Z]+\.[a-zA-Z]{2,6}$/)){
				$('#email + .status').eq(0).css('background-position','0 -16px');
				$.get('ajax.php?action=ifClientNext&email='+encodeURIComponent(email),function(ajax){
					if(ajax){
						$('#email + .status').eq(0).css('background-position','0 -32px');
						$('#corps').html(ajax);
						initListSpectacle();
					} else {
						$('#email + .status').eq(0).css('background-position','0 -64px');
						$('#email ~ .tips').eq(0).html('Email inconnu. <input type="submit" name="addClient" value="Créer un compte ?">');
					}
				});
			}
		});
	} catch(e){}
	try{
		$('#formClient').submit(function(){
			if ($('#formClient [name="addClient"]').length){
				// créer un compte ?
				var email = $('#email').val().trim();
				$.get('ajax.php?action=getFormNewClient&email='+encodeURIComponent(email),
					function(ajax){
						$('#corps').html(ajax);
						initAddClient();
					});
			} else {$('#email').trigger('keyup');}
			return false;
		});
	} catch(e){}
	try{
		$('.disabled').click(function(){
			alert('Cher client, merci de vous authentifier avant de passer commande.');
			$('input').eq(0).focus();
			return false;
		});
	} catch(e){}
	try{
		// ticketPopup init
		$('body').append('<div id="popup"></div>');
		$('#popup').dialog({
			modal: true,
			buttons: {
				Ok: function() {
					//TODO : envoyer le nombre de place réservé pour syncro serveur (qui ferra les addTicket/delTicket nécessaire)
					$( this ).dialog( "close" );
				}
			},
			autoOpen: false,
			width: 700,
			title: 'Combien de places ?'
		});
		initListSpectacle();
	} catch(e){}

};
function initAddClient(){
	$('#formNewClient').submit(function(){
		// addClient (nom, prenom, email, adresse, cp, ville): int idClient
		$.get('ajax.php?action=addClient'
				+'&nom='+encodeURIComponent( $('#nom').val().trim() )
				+'&prenom='+encodeURIComponent( $('#prenom').val().trim() )
				+'&email='+encodeURIComponent( $('#email').val().trim() )
				+'&ville='+encodeURIComponent( $('#ville').val().trim() )
				+'&cp='+encodeURIComponent( $('#cp').val().trim() )
				+'&adresse='+encodeURIComponent( $('#adresse').val().trim() )
			, function(ajax){
				$('#corps').html(ajax);
				try{
					initListSpectacle();
				} catch(e){}
				try{
					initAddClient();
				} catch(e){}
			}
		);
		return false;
	});
}
function initListSpectacle(){
	$('.boardElem').click(function(){
		if($(this).hasClass('disabled')) return;
		// on récupère en ajax le contenu à afficher
		$.get(this.href, function(ajax){
				// on le place dans #popup
				popup = $('#popup');
				popup.html(ajax);
				//on affiche #popup
				popup.dialog('open');
				// on active le js qui s'appliquera sur les éléments du popup (ajax d'ajout ou de suppression de tickets.
				initTicketSelection();
		});
		return false;
	});
	$('#finishCommande').click(function(){
		if($(this).hasClass('disabled')) return;
		$.get('ajax.php?action=finish', function(ajax){
			$('#corps').html(ajax);
		});
	});
}
function initTicketSelection(){
	var typeList = new Array('NorDom','NorGui','RedDom','RedGui');
	
	if ($('#nbrPlaces').html()=='0') $('input[id^="plus"]').addClass('disabled');
	for(type in typeList){
		if ($('#nbrPlaces'+typeList[type]).html()=='0') $('#moins'+typeList[type]).addClass('disabled');
		
		$('#moins'+typeList[type]+', #plus'+typeList[type]).click(function(){
			if($(this).hasClass('disabled')) return;
			var myId = $(this).attr('id');
			
			action = parsePlusMoins(myId);
			tarif = parseNorRed(myId);
			livraison = parseDomGui(myId);
			idSpectacle = $('#idSpectacle').val();
			// gestion des désactivation de boutton pour ne pas vendre de place qu'on ne peut pas vendre.
			if(action == 'plus'){
				$('#nbrPlaces').html(parseInt($('#nbrPlaces').html())-1);
				$('#nbrPlaces'+tarif+livraison).html(parseInt($('#nbrPlaces'+tarif+livraison).html())+1);
				try{if($('#nbrPlaces').html()=='0') $('input[id^="plus"]').addClass('disabled');} catch(e){}
				try{$('#moins'+tarif+livraison).removeClass('disabled');} catch(e){}
			}else {
				$('#nbrPlaces').html(parseInt($('#nbrPlaces').html())+1);
				$('#nbrPlaces'+tarif+livraison).html(parseInt($('#nbrPlaces'+tarif+livraison).html())-1);
				try{$('input[id^="plus"]').removeClass('disabled');} catch(e){}
				try{
					if ($('#nbrPlaces'+tarif+livraison).html()=='0')
						$('#moins'+tarif+livraison).addClass('disabled');
				} catch(e){}
			}
			// syncro serveur
			$.get('ajax.php?action=changeTicket'
				+'&changeType='+action
				+'&refSpectacle='+idSpectacle
				+'&tarif='+tarif
				+'&livraisonADomicile='+livraison
			);
		});
	}
}
function parsePlusMoins(str){
	if(str.match(/^plus/) != null) return 'plus';
	return 'moins';
}
function parseNorRed(str){
	if(str.match(/Nor/) != null) return 'Nor';
	return 'Red';
}
function parseDomGui(str){
	if(str.match(/Dom$/) != null) return 'Dom';
	return 'Gui';
}
