window.addEvent('load', function() {

	fInit();
	initRechercherSalle();
	initDevis();
	
});

Element.implement({
	appendHtml:  function(html, where){
		return ($type(html)=='string')?this.adopt( new Element('div').set('html',html).childNodes):false;
	}
}); 

function initDevis(){
	
	if( !$('salle_id') ) return false;
	
	$('salle_id').addEvent('change', function(){
		var options = {
			url: 'ajax.php',
			method : 'post',
			data : 'function=affDispositionsSalle&salle_id=' + $('salle_id').value,
			onRequest : function(){},
			onFailure:function(xhr){alert(xhr.responseText);},
			onSuccess : function(){
				
				if( !$('type_id') ) return false;
				
				$('type_id').addEvent('change', function(){
					
					var options = {
						url: 'ajax.php',
						method : 'post',
						data : 'function=getPlacesSalleDisposition&salle_id=' + $('salle_id').value + '&type_id=' + $('type_id').value,
						onRequest : function(){},
						onFailure:function(xhr){alert(xhr.responseText);},
						onSuccess : function(){},
						noCache: true,
						update: $('nb_places')
					};
					var monObjetAjax2 = new Request.HTML(options);
					monObjetAjax2.send();
					
				});
				
			},
			noCache: true,
			update: $('div_dispotition_salle')
		};
		var monObjetAjax= new Request.HTML(options);
		monObjetAjax.send();
	});
	
	if( $('href_add_date') ){
		
		$('href_add_date').addEvent('click', function(){
			
			if( $('start_date').value != '' && $('horraire').value != '' ){
				var prono = 0;
				var add = true;
				
				if( $$('.cls_horraire') ){
					
					$$('.cls_horraire').each(function(el){
						if( el.getFirst().value == $('start_date').value ){
							alert( 'Vous avez déjà sélectionné cette date' );
							add = false;
						}
					});
					
					prono = $$('.cls_horraire').length + 1;
				}
				
				if( !add ) return false;
				
				var dd = new Date();
				dd.setTime( $('start_date').value * 1000 );
				
				var month = (dd.getMonth() + 1);
				if( month.toString().length == 1 ) month = '0' + month;
				
				$('div_horraire').appendHtml(''+
					'<div class="cls_horraire" id="cls_horraire_' + prono + '">' +
					'<input type="hidden" id="start_date[' + prono + ']" name="start_date[]" value="' + $('start_date').value + '" />' +
					'<input type="hidden" id="horraire[' + prono + ']" name="horraire[]" value="' + $('horraire').value + '" />' +
					'<a href="#" onclick="if( confirm( \'Etes vous sur de vouloir supprimer cette date ?\' ) )$(\'cls_horraire_' + prono + '\').destroy();">X</a>' +
					'Le ' + dd.getDate() + '/' + month + '/' + dd.getFullYear() + ' de ' + $('horraire').options[ $('horraire').value ].get('html') +
					'</div>');
				
				$('horraire').selectedIndex = 0;
			}else{
				alert( 'Veuillez sélectionner une date et une tranche horraire' );
			}
			
			return false;
		});
		
	}
	
}

function fDelete(){
	$$('.fDelete').each(function(el){
		el.addEvent('click', function(e){
			e = new Event(e);
			if( !confirm(el.title ? el.title : 'Etes-vous sûr de vouloir supprimer cet élément ?')){
				e.stop();
			}
		});
	});
}

function fFlashMessage() {
	new mooFlashMessage($$('.flash'));
}

function fInit(){
	fDelete();
	fFlashMessage();
}

var date_pick = null;
function loadDatePicker(){
	
	if( $('start_date') ){
		
		date_pick = new DatePicker($('start_date'), {
			allowEmpty: true,
			format: 'd/m/Y',
			days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
			months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
			onSelect: function(){}			
		});
		
	}
	
}

function initRechercherSalle(){
	loadDatePicker();
	
	if( $('lieu_id') ){
		$('lieu_id').value = 1;
		if( $('p_lieu_id') ){
			$('p_lieu_id').setStyle( 'display', 'none' );
		}
	}
	
	if( $('valid_recherche') ){
		
		$('valid_recherche').addEvent('click', function(){
			if( $('lieu_id') && $('nb_personnes') && $('start_date') && $('horraire') ){
				
				if( $('lieu_id').value != '' && $('nb_personnes').value != '' && $('start_date').value != '' && $('horraire').value != '' ){
					
					if( !$$('.cls_horraire').length ){
						$('href_add_date').fireEvent('click');
					}
					
					var data = [];
					$$('.cls_horraire').each(function(el){
						data.include( {date : el.getFirst().value, time : el.getFirst().getNext().value} );
					});
					
					var options = {
						url: 'ajax.php',
						method : 'post',
						data : 'function=rechercherSalle&lieu_id=' + $('lieu_id').value + '&nb_personnes=' + $('nb_personnes').value + '&type_id=' + $('type_id').value + '&data=' + JSON.encode( data ),
						onRequest : function(){},
						onFailure:function(xhr){alert(xhr.responseText);},
						onSuccess : function(){},
						noCache: true,
						update: $('div_result_recherche')
					};
					
					var monObjetAjax= new Request.HTML(options);
					monObjetAjax.send();
					
					
				}else{
					alert( 'Veuillez remplir tout les champs' );
				}
				
			}
			
		});
		
		if( $('href_add_date') ){
			
			$('href_add_date').addEvent('click', function(){
			
//				if( $('start_date').value != '' && $('horraire').value != '' ){
				if( $('lieu_id').value != '' && $('nb_personnes').value != '' && $('start_date').value != '' && $('horraire').value != '' ){
					var prono = 0;
					var add = true;
					
					if( $$('.cls_horraire') ){
						
						$$('.cls_horraire').each(function(el){
							if( el.getFirst().value == $('start_date').value ){
								alert( 'Vous avez déjà sélectionné cette date' );
								add = false;
							}
						});
						
						prono = $$('.cls_horraire').length + 1;
					}
					
					if( !add ) return false;
					
					$('lieu_id').set('disabled', true);
					$('type_id').set('disabled', true);
					$('nb_personnes').set('disabled', true);
					
					var dd = new Date();
					dd.setTime( $('start_date').value * 1000 );
					
					var month = (dd.getMonth() + 1);
					if( month.toString().length == 1 ) month = '0' + month;
					
					$('div_horraire').appendHtml(''+
						'<div class="cls_horraire" id="cls_horraire_' + prono + '">' +
						'<input type="hidden" id="start_date[' + prono + ']" value="' + $('start_date').value + '" />' +
						'<input type="hidden" id="horraire[' + prono + ']" value="' + $('horraire').value + '" />' +
						'<a href="#" onclick="if( confirm( \'Etes vous sur de vouloir supprimer cette date ?\' ) )$(\'cls_horraire_' + prono + '\').destroy();">X</a>' +
						'Le ' + dd.getDate() + '/' + month + '/' + dd.getFullYear() + ' de ' + $('horraire').options[ $('horraire').value ].get('html') +
						'</div>');
					
				}else{
//					alert('Vous devez sélectionnez une date ainsi qu\'une tranche horraire');
					alert( 'Veuillez remplir tout les champs' );
				}
				
				return false;
			});
			
		}
		
	}
}

function checkFromDevis(){
	
	if( $('nb_places_possibles') && $('nb_personnes') ){
		if( $('nb_personnes').value > $('nb_places_possibles').value ){
			alert( 'Cette disposition n\'accèpte que ' + $('nb_places_possibles').value + ' personnes' );
			return false;
		}
	}
	
	if( !$$('.cls_horraire').length ){
		$('href_add_date').fireEvent('click');
	}
	
	return true;
	
}