$(function() {

	// Ajoute et enleve le texte du moteur de recherche
	$('#ville').css("font-style", 'italic');
	$('#ville').css("color", '#BABABA');
	$('#ville').val('Tapez votre ville, ex: Marseille ou 13000...');
	
	$('#ville').focus(
		function(){
			
			if($('#ville').val() == 'Tapez votre ville, ex: Marseille ou 13000...'){
				
				$('#ville').css("font-style", 'normal');
				$('#ville').css("color", '#545454');
				$('#ville').val('');
			}
		}
			
	);
	$('#ville').blur(
			function(){
				
				if($('#ville').val() == ''){
					
					$('#ville').css("font-style", 'italic');
					$('#ville').css("color", '#BABABA');
					$('#ville').val('Tapez votre ville, ex: Marseille ou 13000...');
				}
			}
				
	);
	
	// Ajoute l'action d'envoyer le formulaire au bouton "Go"
	$('#btn_go').click(
			function(){
				
				// Controle le texte dans le champ de recherche
				if(!$('#ville').val() || $('#ville').val() == 'Tapez votre ville, ex: Marseille ou 13000...'){
					alert('Merci de taper une ville ou un code postal');
					$('#ville').focus();
					$('#ville').show('pulsate');
				} else $('#form_recherche').submit();
				
				return false;
			}
	);
	
	// Verifie le formulaire avant de l'envoyer
	$('#form_recherche').submit(
			function(){
				
				// Controle le texte dans le champ de recherche
				if(!$('#ville').val() || $('#ville').val() == 'Tapez votre ville, ex: Marseille ou 13000...'){
					alert('Merci de taper une ville ou un code postal');
					$('#ville').focus();
					$('#ville').show('pulsate');
				}
				
				return true;
				
			}
		
	
	);
	
	// autocomplete pour le champ de recherche
	$("#ville").autocomplete({
		source: "/index/autocomplete",
		minLength: 2,
		select: function(event, ui) {
			if(ui.item){
				//$('#commune_id').val(ui.item.id);
				$('#form_recherche').submit();
			}
		}
	});
	
	// ajoute la fonction d'afficher ou cacher la carte
	$('#mr_carte').click(
			function(){
				showhide_carte();
				return false;
			}
	);
	
	$('#recherche_avancee_btn').click(
			
			function(){
				showhide_options();
				return false;
			}
			
	);
	
	$("#budget_range").slider({
		range: true,
		step:50000,
		min: 100000,
		max: 350000,
		values: [parseInt($('#budget_min').val()), parseInt($('#budget_max').val())],
		change: function(event, ui) {
			$('#budget_min').val(ui.values[0]);
			$('#budget_max').val(ui.values[1]);
		}
	});
	
	
	
	
	
	
	
	
	
	
	
	slides = $('.slide');
	numberOfSlides = slides.length;

	// Supprime la scrollbar en JS
	$('#slideshow_continer').css('overflow', 'hidden');

	slides.wrapAll('<div id="slideInner"></div>')
		  // on met tous les slides en float:left pour qu'il s'affichent de manière horizontale
		  .css({
		    'float' : 'left',
		    'width' : slideWidth
		  });

	// La longueur de #slideInner équivaut à la somme de la longueur de tous les slides
	$('#slideInner').css('width', slideWidth * numberOfSlides);

	// Insert les flèches de gauche et de droite
	$('#slideshow_continer')
		    .prepend('<span class="control" id="leftControl">&lt;</span>')
		    .append('<span class="control" id="rightControl">&gt;</span>');

	// Cache la flèche de gauche au début
	manageControls(currentPosition);

	// crée un écouteur pour l'évènement de type clic sur les div qui ont la classe .control
	$('.control')
		    .bind('click', function(){
			    // Determine une nouvelle position
			      currentPosition = ($(this).attr('id')=='rightControl')
			    ? currentPosition+1 : currentPosition-1;
	
			      //Cache ou montre les flèches
			      manageControls(currentPosition);
			      // Move slideInner using margin-left
			      $('#slideInner').animate({
			        'marginLeft' : slideWidth*(-currentPosition)
			      });
		    });
	

	

	
	
});

var currentPosition = 0;
var slideWidth = 305;
var slides;
var numberOfSlides;
var retour = true;  
var tempsTransition = 3000;  
var affichePlayPause = true;  
var lectureAutomatique = true;  
var tempsAttente = 10000;  
var icones = new Array();  
        icones['play'] = 'img/play_slider.png';  
        icones['pause'] = 'img/pause_slider.png';     
var interval;  
var lectureEnCours = false;


function start() {
  	lectureEnCours = true;
    interval = setInterval(suivant, tempsAttente );
}

function suivant(){
	$('#rightControl').click();
}

function pause() {
  	lectureEnCours = false;
        clearInterval(interval);
}

if(lectureAutomatique == true){
  start();
}

if(affichePlayPause == true){
	$('#slideshow_continer').prepend('<img id="navDiapo" src="" alt="Navigation diaporama" />');
	if(lectureAutomatique == true){
		$('#navDiapo').attr('src',icones['pause']);
	}else{
		$('#navDiapo').attr('src',icones['play']);	
	}
	$('#navDiapo').bind('click', function(){
		if(lectureEnCours == true){
			$(this).attr('src',icones['play']);
			pause();
		}else{
			$(this).attr('src',icones['pause']);
			start();
		}
	});
}

// manageControls: Cache ou montre les flêches de controle en fonction de la position courante
function manageControls(position){
  // Cache la fleche "précédent" si on est sur le premier slide
	if(position==0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
	// Cache la fleche "suivant" si on est sur le dernier slide (et que le retour automatique n'est pas activé)
  if(position==numberOfSlides-1 && retour == false){
		$('#rightControl').hide();
	} else {
		$('#rightControl').show();
	}
	if(position == numberOfSlides && retour == true){
		currentPosition = 0;
		 $('#leftControl').hide();
	}
}



//Crée un écouteur d'évènement de type clic sur les classes .control
$('.control')
  .bind('click', function(){
		
  // Determine la nouvelle position
	currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
  
	if(currentPosition == numberOfSlides && retour == false ){
		currentPosition--;
		pause();
	}
	
	// Cache ou montre les controles
  manageControls(currentPosition);
  // Fais bouger le slide
  $('#slideInner').animate({
    'marginLeft' : slideWidth*(-currentPosition)
  },tempsTransition);
});


















function showhide_carte(){
	
	var display  = $('#carte_flash').css('display');
	
	if(display == 'none'){
		
		$('#carte_flash').show('blind');
		
	} else {
		
		$('#carte_flash').hide('blind');
	}
	
}

function showhide_options(){
	
	if($('#recherche_avancee_continer').css('display') == 'none')  $('#recherche_avancee_continer').show('blind');
	else $('#recherche_avancee_continer').hide('blind');
	
}