// JavaScript Document
var filtres = Class.create
({
  initialize: function() 
  {
	this.types = $$('input.chk_type');
	this.submitBtn = $$('div.decouvrir');
	for(var i=0;i<this.submitBtn.length;i++)
	{
		this.submitBtn[i].setStyle({'cursor':'pointer'});
		this.submitBtn[i].observe('click',this.soumetForm.bindAsEventListener(this));
	}
	if(this.types != '')
	{
		this.controleCheck();  
	}
  },
  controleCheck: function()
  {
	  // checkage de la box demandée
	  var typeDemande = $('type_demande').value;
	  typesDemandes = typeDemande.split(',');
	  for(var i=0;i<typesDemandes.length;i++)
	  {
			$('type_'+typesDemandes[i]).checked='checked';  
	  }
	  var chambreDemandee = $('chambres_demandees').value;
	  chambresDemandees = chambreDemandee.split(',');
	  if(chambresDemandees != ''){
	  	for(var i=0;i<chambresDemandees.length;i++)
	  	{
			  /*if(i!=0)
			  {
				$('chambres_'+chambresDemandees[i]).checked='checked';  
			  }*/
			  for(var i=0;i<chambresDemandees.length;i++)
			  {
					$('chambres_'+chambresDemandees[i]).checked='checked';  
			  }
	  	}	
	  }
	  // on désactive les cases appropriées
	  this.controlBoxes();
	  
	  // Tous
	  $('type_-1').observe('click',this.tous.bindAsEventListener(this));
	  // Etage
	  $('type_4').observe('click',this.etage.bindAsEventListener(this));
	  // Plein pied
	  $('type_3').observe('click',this.pleinPied.bindAsEventListener(this));
	  // Garage
	  $('type_2').observe('click',this.garage.bindAsEventListener(this));
	  // Sous sol
	  $('type_1').observe('click',this.sousSol.bindAsEventListener(this));
  },
  controlBoxes: function()
  {
	  this.tousDisable();
	  this.etageDisable();
	  this.pleinPiedDisable();
	  this.garageDisable();
	  this.sousSolDisable();
  },
  tous: function(event)
  {
	this.tousDisable();
	this.tousEnable();
  },
  tousDisable: function()
  {
	if($('type_-1').checked)
	{
		$('type_1').disable();
		$('type_2').disable();
		$('type_3').disable();
		$('type_4').disable();
	}
  },
  tousEnable: function()
  {
	if(!$('type_-1').checked)
	{
		$('type_1').enable();
		$('type_2').enable();
		$('type_3').enable();
		$('type_4').enable();
		this.controlBoxes();
	}
  },
  etage: function(event)
  {
		this.etageDisable();
		this.etageEnable();
  },
  etageDisable: function()
  {
	if($('type_4').checked)
	{
		$('type_-1').disable();	
		$('type_3').disable();	
	}
  },
  etageEnable: function()
  {
	if(!$('type_4').checked)
	{
		$('type_-1').enable();	
		$('type_3').enable();
	 	this.controlBoxes();
	}
  },
  pleinPied: function(event)
  {
	this.pleinPiedDisable();
	this.pleinPiedEnable();
  },
  pleinPiedDisable: function()
  {
	if($('type_3').checked)
	{
		$('type_-1').disable();	
		$('type_4').disable();	
		$('type_1').disable();	
	}
  },
  pleinPiedEnable: function()
  {
	if(!$('type_3').checked)
	{
		$('type_-1').enable();	
		$('type_4').enable();	
		$('type_1').enable();
		this.controlBoxes();
	}
  },
  sousSol: function(event)
  {
	this.sousSolDisable();	
	this.sousSolEnable();
  },
  sousSolDisable: function()
  {
	if($('type_1').checked)
	{
		$('type_-1').disable();	
		$('type_3').disable();	
	}
  },
  sousSolEnable: function()
  {
	if(!$('type_1').checked)
	{
		$('type_-1').enable();	
		$('type_3').enable();	
		this.controlBoxes();
	}
  },
  garage: function(event)
  {
	this.garageDisable();
	this.garageEnable();
  },
  garageDisable: function()
  {
	if($('type_2').checked)
	{
		$('type_-1').disable();
	}
  },
  garageEnable: function()
  {
	if(!$('type_2').checked)
	{
		$('type_-1').enable();	
		 this.controlBoxes();
	}
  },
  soumetForm: function(event)
  {
	Event.stop(event);
	var elt = Event.element(event);
	$(elt).up('form').submit();
  }
});

Event.observe(window, 'load', function(){new filtres();}) ;