$(function() {
	
	// Affiche la carte
	if(typeof(initialize_mapGeo) == 'function'){

		initialize_mapGeo();
		mapLoaded = true;
	}
	
	// fonctionnement des onglet
	$('#onglet_recherche').click(
			function (){
				
				$('#selection_cont').show();
				$('#recherche_cont').hide();
				$('#selection_cont h1').show('pulsate');
			}
	
	);
	
	$('#onglet_selection').click(
			function (){
				
				$('#recherche_cont').show();
				$('#selection_cont').hide();
				$('#recherche_cont h1').show('pulsate');
			}
	
	);
		
	
	$("#dialogEnvoyerAmi").dialog({
		bgiframe: true,
		autoOpen: false,
		width: 480,
		minWidth: 480,
		position: 'center',
		modal: true,
		hide : 'fold',
		buttons: {
			Ok: function() {

				envoyeraunami();
		
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			
		}
	});


	$("#dialogEnvoyerAmiSelection").dialog({
		bgiframe: true,
		autoOpen: false,
		width: 480,
		minWidth: 480,
		position: 'center',
		modal: true,
		hide : 'fold',
		buttons: {
			Ok: function() {

				envoyeraunamiselection();
		
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			
		}
	});
	
	$('#ville').change(
		
			function (){
				
				$('#commune_id').val('');
				$('#form_recherche').submit();
			}
	
	);
	/*
	$('#form_recherche .submit_onchange').change(
			function (){
				
				$('#form_recherche').submit();
			}
	
	);
	
	$('#form_recherche select').change(
			function (){
				
				$('#form_recherche').submit();
			}
	
	);*/
	
	$("#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]);
			//$('#form_recherche').submit();
		}
	});
	
	// 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();
			}
			
			
		}
	});
	
	
	var target_offset = $("#recherche_cont").offset();
	var target_top = target_offset.top;
	
	// scrolle jusqu'à la sélection
	if($_GET['tab'] == 'selection'){
		
 
		//goto that anchor by setting the body scroll top to anchor top
		$('html, body').animate({scrollTop:target_top}, 1000);
		 
		$('#selection_cont').show();
		$('#recherche_cont').hide();
		$('#selection_cont h1').show('pulsate');
		
	}
	
	// scrolle jusqu'au résultats
	if($_GET['tab'] == 'resultats'){
		
		
		 	 
		//goto that anchor by setting the body scroll top to anchor top
		$('html, body').animate({scrollTop:target_top}, 1000);
		 
		$('#recherche_cont').show();
		$('#selection_cont').hide();
		$('#recherche_cont h1').show('pulsate');
		
	}
	
	$('#residence').click(
			function(){
				if(this.checked){
					
					$('#chk_resi_tourisme').attr('checked', true);
					$('#chk_resi_tourisme').attr('disabled', true);
					
					$('#chk_resi_senior').attr('checked', true);
					$('#chk_resi_senior').attr('disabled', true);
					
					$('#chk_resi_prestige').attr('checked', true);
					$('#chk_resi_prestige').attr('disabled', true);
					
					$('#chk_resi_etudiante').attr('checked', true);
					$('#chk_resi_etudiante').attr('disabled', true);

				} else {
					
					$('#chk_resi_tourisme').attr('disabled', false);
					
					$('#chk_resi_senior').attr('disabled', false);
					
					$('#chk_resi_prestige').attr('disabled', false);
					
					$('#chk_resi_etudiante').attr('disabled', false);
				}
				
			}
	);

	
	$('#chk_livraison_immediate').click(
			function(){
				if(this.checked){
					
					$('#livraison_periode').attr('disabled', true);
					
					$('#livraison_annee').attr('disabled', true);

				} else {
					
					$('#livraison_periode').attr('disabled', false);
					
					$('#livraison_annee').attr('disabled', false);
					
				}
				
			}
	);
});

// Ajoute le programme aux sélectionnées et montre le formulaire de contact
function showContact(programme_id){

	if(parseInt(programme_id)){ 

		// ajoute le cookie
		$.cookie('selection_programme_' + programme_id, 1, { expires: 7 });
		window.location.replace("/contact");

	}

	
}

// Ajoute ou enleve un programme de la sélection

function ajouterEnleverSelection(programme_id){

	if(!programme_id) return;

	// le programme est déjà dans la sélection donc il faut l'enlever
	if($.cookie('selection_programme_' + programme_id)){
		
		// TODO: changer les icones quand il faut enlever de la selection

		if(!confirm('Vous êtes sûr(e) de vouloir enlever ce programme de votre sélection ?')) return;

		// enleve le programme des cookies
		$.cookie('selection_programme_' + programme_id, null);

		// enleve le div qui contient toute l'info du programme
		$('#prog_' + programme_id + '_selectionne').remove();

		
		$('.a_prod_selection_' + programme_id).attr('title', "Ajouter à votre sélection");
		$('.a_prod_selection_' + programme_id + ' img').attr('alt', 'Ajouter à votre sélection');
		$('.a_prod_selection_' + programme_id + ' img').attr( 'src', '/images/prog_picto_plus.png');
		
		var count_selection = parseInt($('#count_selection_hidden').val());

		//count_selection = count_selection ? count_selection - 1 : 0;
		count_selection--;

		// Actualise la compteur des programmes dans la sélection
		$('#count_selection_hidden').val(count_selection);

		// Enleve le lien d'envoi de sélection s'il n'y a plus de programmes dans la sélection
		//if(!count_selection) $('#btn_envoyer_selection').remove();

		// Affiche le nouveau nombre des programes
		$('#count_selection').text(''+ count_selection); 
		$('#count_selection_onglet').text(''+ count_selection); 

	// le programme n'existe pas encore dans les cookies. Ajout	
	} else {

		// ajoute le cookie
		$.cookie('selection_programme_' + programme_id, 1, {expires: 7});

		// change le texte du nouton ajouter pour enlever
		//$('#prog_' + programme_id + ' .bouton_orangeclair_315x30').text('Enlever de votre sélection');
		//if(fromDetails) $('#details_ajouter_enlever_selection').text('Enlever de votre sélection');

		// crée un nouveau div
		var tempDiv = document.createElement('div');

		tempDiv.setAttribute('id','prog_' + programme_id + '_selectionne');
		tempDiv.setAttribute('class','prog_continer');
		
		///tempDiv.class = 'programme_continer';
		
		tempDiv.innerHTML =  $('#prog_' + programme_id).html();

		
		$('#results_middle_selection').append(tempDiv);

		$('.a_prod_selection_' + programme_id).attr('title', "Enlever de votre sélection");
		$('.a_prod_selection_' + programme_id + ' img').attr('alt', 'Enlever de votre sélection');
		$('.a_prod_selection_' + programme_id + ' img').attr( 'src', '/images/prog_picto_moins.png');

		var count_selection = parseInt($('#count_selection_hidden').val());

		count_selection++;

		//if(count_selection == 1) $('#selection_description_continer').append('<a id="btn_envoyer_selection" href="#" onclick="$(\'#dialogEnvoyerAmiSelection\').dialog(\'open\'); return false;">Vous pourrez également envoyer votre sélection de programmes à un(e) ami(e)</a>');

		$('#count_selection_hidden').val( count_selection ) ;

		$('#count_selection').text(''+ count_selection); 
		$('#count_selection_onglet').text(''+ count_selection); 

		//$.scrollTo( '#programme_' + programme_id + '_selectionne', 800, {onAfter: function(){ $('#programme_' + programme_id ).show('highlight', {speed: 'slow'}); }} );

	}
}

// Affiche le dialogue "Envoyer a un ami"
function showEnvoyerAmi(programme_id){

	envoyerAmiProgrammeId = programme_id;
	$('#dialogEnvoyerAmi').dialog('open');
	
}

function envoyeraunami(){

	var programme_id = envoyerAmiProgrammeId;
	if(!programme_id)return;
	var expediteur = $('#expediteur').val();
	var mail_ami = $('#mail_ami').val();
	var message_ami = $('#message_ami').val(); 
	
	if(message_ami.length == 0) message_ami = ' ';

	$.ajax({
		   type: 'POST',
		   url: '/programme/envoyeraunami',
		   data: 'programme_id=' + programme_id + '&expediteur=' + expediteur + '&mail_ami=' + mail_ami + '&message_ami=' + message_ami,
		   success: function(msg){

				if(msg){

					switch(msg){

					case 'ok':

						alert('Le message a été envoyé à votre ami(e).');
						$('#dialogEnvoyerAmi').dialog('close');
						break;
					default:

						alert('Un problème est survenu lors de l\'envoi de l\'e-mail. Veillez réessayer');
					
					}


					
				} else {

					alert('Un problème est survenu lors de l\'envoi de l\'e-mail. Veillez réessayer');
					
				}
		   },
		   error: function (){

				alert('Erreur lors de l\'envoi de la requête AJAX. Merci de réessayer.');
				$('#dialogEnvoyerAmi').dialog('close');
			   
		   }
		 });



	
}


function envoyeraunamiselection(){

	var expediteur = $('#expediteur_selection').val();
	var mail_ami = $('#mail_ami_selection').val();
	var message_ami = $('#message_ami_selection').val(); 
	
	$.ajax({
		   type: 'POST',
		   url: '/programme/envoyeraunamiselection',
		   data: 'expediteur=' + expediteur + '&mail_ami=' + mail_ami + '&message_ami=' + message_ami,
		   success: function(msg){

				if(msg){

					switch(msg){

					case 'ok':

						alert('Le message a été envoyé à votre ami(e).');
						$('#dialogEnvoyerAmiSelection').dialog('close');
						break;
					default:

						alert('Un problème est survenu lors de l\'envoi de l\'e-mail. Veillez réessayer');
					
					}


					
				} else {

					alert('Un problème est survenu lors de l\'envoi de l\'e-mail. Veillez réessayer');
					
				}
		   },
		   error: function (){

				alert('Erreur lors de l\'envoi de la requête AJAX. Merci de réessayer.');
				$('#dialogEnvoyerAmi').dialog('close');
			   
		   }
		 });



	
}
// Affiche le programme pour imprimer
function showForPrint(programme_id){

	if(!programme_id) return false;
	
	window.open("/programme/showforprint?programme_id=" + programme_id,"Imprimer","menubar=yes,location=no,directories=no,toolbar=no,width=685,scrollbars=yes");	
}

// Affiche les détails d'un programme precis
function showDetailsProgramme(programme_id){
	
	if(!parseInt(programme_id))return;
	
	window.location.href = '/programme/afficherdetails?programme_id=' + programme_id;
	
}

// Affiche l'onglet selection
function showSelectionTab(){ 
	
	
	
}


var $_GET = {};

document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
    function decode(s) {
        return decodeURIComponent(s.split("+").join(" "));
    }

    $_GET[decode(arguments[1])] = decode(arguments[2]);
});

