

﻿//$(
$().ready(

	function()
	{
		//Fait fonctionner le :hover dans IE6
		$.fixIEHover();
		
		//empêche la saisie de caractères non numériques
		$("input.numeric").numeric();

		//met à jour la liste commune à partir de la liste departement
		$("select#departement").change(function()
		{
			$.getJSON(baseUrl+"ajax/select_commune.php",{id: $(this).val()}, function(j)
			{
				var sel = $("select#commune");
				var options = '';
				for (var i = 0; i < j.length; i++)
				{
					options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
				};
				sel.html(options);
			})
		})

		//affiche les tooltip
		$(".tooltip").tooltip({
				showURL:false
		});
		
		//affiche les tooltip bulle
		$(".tooltipBubble").tooltip({
			track: true, 
			delay: 0, 
			showURL: false, 
			showBody: " - ", 
			extraClass: "bubble", 
			fixPNG: true, 
			opacity: 0.95,
			fade:250
		});
		
		//valide le formulaire proposer un bien
		$("form.proposer").validate({
			errorContainer: "#formError1, #formError2",
			errorLabelContainer: "#formError1 ul",
			wrapper: "li",
			//debug:true,
			errorClass: "ferror",
			rules: {
				prix: "required",
				departement: "required",
				commune: "required",
				adresse: "required",
				surface: "required",
				surface_terrain: "required",
				description: "required",
				nb_photo: {
					required: true,
					min: 1
				}
			},
			messages: {
				prix: "Veuillez saisir le prix de votre bien",
				departement: "Veuillez sélectionner un département",
				commune: "Veuillez sélectionner une commune",
				adresse: "Veuillez saisir l'adresse de votre bien",
				surface: "Veuillez saisir la surface",
				surface_terrain: "Veuillez saisir la surface du terrain",
				description: "Veuillez saisir une description",
				nb_photo: {
					required: "Veuillez associer au moins une photo à votre bien",
					min: "Veuillez associer au moins une photo à votre bien"
				}
			}
		});
		$("select#perf_energie").change(function() {
			var l = $(this).val();
			$(".img-perf-nrg").attr("src", "images/performance-energetique-" + l + ".png");
		});
		$("select#emission_ges").change(function() {
			var l = $(this).val();
			$(".img-emi-ges").attr("src", "images/emission-ges-" + l + ".png");
		});

		//valide le formulaire déposer une recherche
		$("form.ma_recherche").validate({
			errorContainer: "#formError1, #formError2",
			errorLabelContainer: "#formError1 ul",
			wrapper: "li",
			//debug:true,
			errorClass: "ferror",
			rules: {
				surface: "required",				
				budget: "required",
				departement: "required",
				commune: "required",
				rayon: "required"
			},
			messages: {
				surface: "Veuillez saisir la surface minimum",					
				budget: "Veuillez saisir votre budget maximum",
				departement: "Veuillez sélectionner un departement",
				commune: "Veuillez sélectionner une commune",	
				rayon: "Veuillez choisir un rayon de recherche"
			}
		});	

		//Valide le formulaire inscription
		$("form.inscription").validate({
		   	errorContainer: "#formError1, #formError2",
			errorLabelContainer: "#formError1 ul",
			wrapper: "li",
			//debug:true,
			errorClass: "ferror",
			rules: {
				nom: "required",
				prenom: "required",
				email: {
					required: true,
					email: true,
					remote: baseUrl+"ajax/check_email.php"
				},
				password: {
					required: true,
					minlength: 5
				},
				confirm_password: {
					required: true,
					minlength: 5,
					equalTo: "#password"
				},
				agence: {
					required: "#type_professionnel:checked"
				},
				presentation: {
					required: "#type_professionnel:checked"	
				},
				adresse: "required",
				codepostal: {
					required: true,
					digits: true
				},
				ville: "required",
				tel_portable: {
					required: "#tel_fixe:blank"
				}
			},
			messages: {
				nom: "Veuillez indiquer votre nom",
				prenom: "Veuillez indiquer votre prénom",
				email: {
					required: "Veuillez indiquer une adresse email valide",
					email: "Veuillez indiquer une adresse email valide",
					remote: "Cette adresse email existe déjà dans la base..."
				},
				password: {
					required: "Veuillez indiquer un mot de passe",
					minlength: "Votre mot de passe doit avoir au moins 5 caractères"
				},
				confirm_password: {
					required: "Veuillez confirmer votre mot passe",
					minlength: "Votre mot de passe doit avoir au moins 5 caractères",
					equalTo: "Veuillez indiquer le même mot de passe que ci-dessus"
				},
				agence: "Veuillez saisir le nom de votre agence",
				presentation: "Veuillez présenter votre agence",
				adresse: "Veuillez indiquer votre adresse",
				codepostal: {
					required: "Veuillez indiquer votre code postal",
					digits: "Code postal uniquement en chiffres"
				},
				ville: "Veuillez indiquer votre ville",
				tel_portable: "Veuillez indiquer un numero de téléphone"
			}
		});
		
		$("form #type_particulier").click(function() {
			//$("#professionnel").hide("slow");
			$("#professionnel").slideUp("slow");
		});

		$("form #type_professionnel").click(function() {
			//$("#professionnel").show("slow");
			$("#professionnel").slideDown("slow");
		});

		// verifie si le "confirm password" est tjrs valide après changement du mot de passe
		$("form.inscription #password").change(function() {
			$("#confirm_password").valid();
		});
		
		$("form.inscription #tel_fixe").blur(function() {
			$("#tel_portable").valid();
		});

		//valide le formulaire de contact / faire une suggestion
		$("form.contact").validate({
			errorContainer: "#formError1, #formError2",
			errorLabelContainer: "#formError1 ul",
			wrapper: "li",
			//debug:true,
			errorClass: "ferror",
			rules: {
				nom: "required",
				prenom: "required",
				email: {
					required: true,
					email: true
				},
				texte: "required"
			},
			messages: {
				nom: "Veuillez indiquer votre nom",
				prenom: "Veuillez indiquer votre prénom",
				email: {
					required: "Veuillez indiquer une adresse email valide",
					email: "Veuillez indiquer une adresse email valide"
				},
				texte: "Veuillez saisir votre texte"
			}
		});

		//Charge l'upload
		$("#photo_upload").uploadify({
			'uploader'       : baseUrl + 'uploads/uploadify.swf',
			'script'         : baseUrl + 'uploads/uploadify.php',
			'cancelImg'      : baseUrl + 'images/cancel.png',
			'folder'		 : 'uploads',
			'auto'           : true,
			'multi'          : true,
			'scriptAccess'	 : 'always',
			'fileDesc'		 : 'Photos jpeg (*.jpg)',
			'fileExt'		 : '*.jpg',
			//'buttonText'	 : 'Parcourir...',
			'buttonImg'      : baseUrl + 'images/buttons/parcourir.png',
			'width'			 : 141,
/*			'onError'     : function (event,ID,fileObj,errorObj) {
      							alert(errorObj.type + ' Error: ' + errorObj.info);
    						},
*/
			'onComplete'	 :	function(event, queueID, fileObj, response, data) {
									$('#filesUploaded').append('<span><img src="uploads/thumbnail/' + response + '" name="' + response + '" alt="" width="100" height="75" /><img src="'+baseUrl +'images/cancel.png" alt="" title="Supprimer la photo" class="remove_photo" /><input name="photo[]" type="hidden" value="' + response + '" /></span>');
									var n = $('#nb_photo').val();
									n++;
									$('#nb_photo').val(n);
								}
		});
		
		//PrettyPhoto
		$("a[rel^='prettyPhoto']").prettyPhoto({
				padding: 40,
				opacity: 0.5,
				showTitle: false,
				theme: 'light_square'
		});
		
		//Supprime photo téléchargée sur le serveur
		$(".remove_photo").live("click", function() {
			var photo2remove = $(this).prev().attr("name");
			$.get(baseUrl + 'uploads/remove.php', { name: photo2remove } );
			$(this).parent().remove();
			var n = $('#nb_photo').val();
			n--;
			$('#nb_photo').val(n);
		});
		
		//Mon profil
		
		//Valide le formulaire mon_profil
		$("form.mon_profil").validate({
		   	errorContainer: "#formError1, #formError2",
			errorLabelContainer: "#formError1 ul",
			wrapper: "li",
			//debug:true,
			errorClass: "ferror",
			rules: {
				nom: "required",
				prenom: "required",
				email: {
					required: true,
					email: true,
					remote: baseUrl+"ajax/check_email.php"
				},
				password: {
					required: true,
					minlength: 5
				},
				confirm_password: {
					required: true,
					minlength: 5,
					equalTo: "#password"
				},
				agence: {
					required: "#type_professionnel:checked"
				},
				presentation: {
					required: "#type_professionnel:checked"	
				},
				adresse: "required",
				codepostal: {
					required: true,
					digits: true
				},
				ville: "required",
				tel_portable: {
					required: "#tel_fixe:blank"
				}
			},
			messages: {
				nom: "Veuillez indiquer votre nom",
				prenom: "Veuillez indiquer votre prénom",
				email: {
					required: "Veuillez indiquer une adresse email valide",
					email: "Veuillez indiquer une adresse email valide",
					remote: "Cette adresse email existe déjà dans la base..."
				},
				password: {
					required: "Veuillez indiquer un mot de passe",
					minlength: "Votre mot de passe doit avoir au moins 5 caractères"
				},
				confirm_password: {
					required: "Veuillez confirmer votre mot passe",
					minlength: "Votre mot de passe doit avoir au moins 5 caractères",
					equalTo: "Veuillez indiquer le même mot de passe que ci-dessus"
				},
				agence: "Veuillez saisir le nom de votre agence",
				presentation: "Veuillez présenter votre agence",
				adresse: "Veuillez indiquer votre adresse",
				codepostal: {
					required: "Veuillez indiquer votre code postal",
					digits: "Code postal uniquement en chiffres"
				},
				ville: "Veuillez indiquer votre ville",
				tel_portable: "Veuillez indiquer un numero de téléphone"
			}
		});
		
		//Supprimer un bien
		$(".supprBien").click(function(){
			if(confirm("Êtes-vous sûr(e) de vouloir supprimer ce bien ?"))
			{
				var tr = $(this).parent().parent();
				var id = tr.attr("id");
				$.get(
					  	baseUrl + 'inc/mes_biens/mes_biens_del.php',
						{ bien_id: id },
						function(success) {
							//alert("Data Loaded: "+  success);
							if(success)
								tr.remove();
						}
				);
			}
		});
		
		//Supprimer les photos d'un bien (modification)
		$(".remove_photo2").click(function() {
			var photo2remove = $(this).prev().attr("name");
			$.get(baseUrl + 'images/biens/remove.php', { name: photo2remove } );
			$(this).parent().remove();
			var n = $('#nb_photo').val();
			n--;
			$('#nb_photo').val(n);
		});
		
		//Supprimer une recherche
		$(".supprRech").click(function(){
			if(confirm("Êtes-vous sûr(e) de vouloir supprimer cette recherche ?"))
			{
				var tr = $(this).parent().parent();
				var id = tr.attr("id");
				$.get(
					  	baseUrl + 'inc/mes_recherches/mes_recherches_del.php',
						{ rech_id: id },
						function(success) {
							//alert("Data Loaded: "+  success);
							if(success)
								tr.remove();
						}
				);
			}
		});

		//Supprimer une alerte
		$(".supprAlerte").click(function(){
			if(confirm("Êtes-vous sûr(e) de vouloir supprimer cette alerte ?"))
			{
				var tr = $(this).parent().parent();
				var id = tr.attr("id");
				$.get(
					  	baseUrl + 'inc/alerte/mes_alertes_del.php',
						{ aler_id: id },
						function(success) {
							//alert("Data Loaded: "+  success);
							if(success)
								tr.remove();
						}
				);
			}
		});

		//valide le formulaire demande de devis
		$("form.devis").validate({
			errorContainer: "#formError1, #formError2",
			errorLabelContainer: "#formError1 ul",
			wrapper: "li",
			//debug:true,
			errorClass: "ferror",
			rules: {
				nom: "required",				
				prenom: "required",
				email: {
					required: true,
					email: true
				},
				commentaire: "required"
			},
			messages: {
				nom: "Veuillez saisir votre nom",					
				prenom: "Veuillez saisir votre prénom",
				email: {
					required: "Veuillez indiquer une adresse email valide",
					email: "Veuillez indiquer une adresse email valide"
				},
				commentaire: "veuillez saisir votre demande"
			}
		});
		
		//tns formulaire financement
		$("form.financement select#type_contrat1").change(function(){
			if($(this).val() == "TNS")
			{
				$("p#tns1").show();	
			}
			else
			{
				$("p#tns1").hide();	
			}
		});
		
		$("form.financement select#type_contrat2").change(function(){
			if($(this).val() == "TNS")
			{
				$("p#tns2").show();
			}
			else
			{
				$("p#tns2").hide();
			}
		});
		
		//coemprunteur
		$("#coemprunteur").click(function() {
			if( $(this).is(":checked") )
			{
				$(".coemprunteur").show();
				$(".emprunteur").addClass("emprunteur2");
			}
			else
			{
				$(".coemprunteur").hide();
				$(".emprunteur").removeClass("emprunteur2");
			}
		});
		
		//valide le formulaire demande financement
		$("form.financement").validate({
			errorContainer: "#formError1, #formError2",
			errorLabelContainer: "#formError1 ul",
			wrapper: "li",
			//debug:true,
			errorClass: "ferror",
			rules: {
				apport: "required",
				montant_emprunt: "required",
				duree: "required",
				departement_acquisition: "required",
				nom1: "required",
				prenom1: "required",
				date_naissance1: {
						required: true,
						date: true
				},
				lieu_naissance1: "required",
				nationalite1: "required",
				codepostal1: "required",
				ville1: "required",
				telephone1: "required",
				email1: {
						required: true,
						email:true
				},
				bilan_societe1: {
					required: { depends: function(element) { if($("#type_contrat1").val()=="TNS") return true; else return false; } }
				},
				personnes_charges: "required",
				revenus1: "required",
				impot1: "required",
				pret1: "required",

				nom2: { required: {	depends: function(element) { return $("#coemprunteur").is(":checked"); } } },
				prenom2: { required: { depends: function(element) { return $("#coemprunteur").is(":checked"); } } },
				date_naissance2: {
					required: {	depends: function(element) { return $("#coemprunteur").is(":checked"); } },
					date: true
				},
				lieu_naissance2: { required: { depends: function(element) { return $("#coemprunteur").is(":checked"); } } },
				nationalite2: { required: { depends: function(element) { return $("#coemprunteur").is(":checked"); } } },
				codepostal2: { required: { depends: function(element) { return $("#coemprunteur").is(":checked"); } } },
				ville2: { required: { depends: function(element) { return $("#coemprunteur").is(":checked"); } } },
				telephone2: { required: { depends: function(element) { return $("#coemprunteur").is(":checked");	} } },
				email2: {
						required: { depends: function(element) { return $("#coemprunteur").is(":checked"); } },
						email:true
				},
				bilan_societe2: {
					required: { depends: function(element) { if($("#type_contrat2").val()=="TNS") return true; else return false; } }
				},
				revenus2: { required: { depends: function(element) { return $("#coemprunteur").is(":checked");	} } },
				impot2: { required: { depends: function(element) { return $("#coemprunteur").is(":checked");	} } },
				pret2: { required: { depends: function(element) { return $("#coemprunteur").is(":checked");	} } }
				
			},
			messages: {
				apport: "Veuillez saisir le montant de votre apport",
				montant_emprunt: "Veuillez saisir le montant de votre emprunt",
				duree: "Veuillez saisir la durée de remboursement du prêt",
				departement_acquisitation: "Veuillez saisir le departement de votre acquisition",
				nom1: "Veuillez saisir le nom de l'emprunteur",
				prenom1: "Veuillez saisir le prenom de l'emprunteur",
				date_naissance1: {
					required: "Veuillez saisir la date de naissance de l'emprunteur",
					date: "Le format de la date de naissance de l'emprunteur est incorrect"
				},
				lieu_naissance1: "Veuillez saisir le lieu de naissance de l'emprunteur",
				nationalite1: "Veuillez saisir la nationalité de l'emprunteur",
				codepostal1: "Veuillez saisir le code postal de l'emprunteur",
				ville1: "Veuillez saisir la ville de l'emprunteur",
				telephone1: "Veuillez saisir un numéro de téléphone",
				email1: {
					required: "Veuillez indiquer une adresse email pour l'emprunteur",
					email: "Veuillez indiquer une adresse email valide pour l'emprunteur"
				},
				bilan_societe1: "Veuillez saisir le nombre de bilan(s)",
				revenus1: "Veuillez saisir les revenus mensuels de l'emprunteur",
				impot1: "Veuillez saisir le montant de l'impot sur le revenu de l'emprunteur",
				pret1: "Veuillez saisir le montant des prets de l'emprunteur",
				personnes_charge: "Veuillez saisir le nombre de personnes devant vivre dans le foyer",
				nom2: "Veuillez saisir le nom du co-emprunteur",
				prenom2: "Veuillez saisir le prenom du co-emprunteur",
				date_naissance2: {
					required: "Veuillez saisir la date de naissance du co-emprunteur",
					date: "Le format de la date de naissance du co-emprunteur est incorrect"
				},
				lieu_naissance2: "Veuillez saisir le lieu de naissance du co-emprunteur",
				nationalite2: "Veuillez saisir la nationalité du co-emprunteur",
				codepostal2: "Veuillez saisir le code postal du co-emprunteur",
				ville2: "Veuillez saisir la ville du co-emprunteur",
				telephone2: "Veuillez saisir un numéro de téléphone pour le co-emprunteur",
				email2: {
					required: "Veuillez indiquer une adresse email pour le co-emprunteur",
					email: "Veuillez indiquer une adresse email valide pour le co-emprunteur"
				},
				bilan_societe2: "Veuillez saisir le nombre de bilan(s) du co-emprunteur",
				revenus2: "Veuillez saisir les revenus mensuels du co-emprunteur",
				impot2: "Veuillez saisir le montant de l'impot sur le revenu du co-emprunteur",
				pret2: "Veuillez saisir le montant des prets du co-emprunteur"
			}
		});
		
		//valide le formulaire aceptation des cgv financement
		$("form#fina_cgv").validate({
			errorContainer: "#formError1, #formError2",
			errorLabelContainer: "#formError1 ul",
			wrapper: "li",
			//debug:true,
			errorClass: "ferror",
			rules: {
				num_dossier: "required",				
				email: {
					required: true,
					email: true
				},
				cgv: "required"
			},
			messages: {
				num_dossier: "Veuillez saisir votre numero de dossier",					
				email: {
					required: "Veuillez indiquer une adresse email valide",
					email: "Veuillez indiquer une adresse email valide"
				},
				cgv: "Vous devez avoir lu et accepté les conditions générales de vente"
			}
		});
		
		//Défilement des derniers biens sur la homepage
		function defilH(j) {
			var first = $('li:first', j).html();
			//$('li:first', j).hide('slow', function() {$(this).remove();});
			$('li:first', j).hide('slow', function() {$(this).remove();});
			last = '<li style="display:none">' + first + '</li>';
			j.append(last);
			$('li:eq(5)', j).show('slow');
		}
	
		$("ul#tickerH1").everyTime(5000,function() {
			defilH($(this));
		});
	
		$("ul#tickerH2").everyTime(5500,function() {
			defilH($(this));
		});

		//Défilement des dernieres recherches sur la homepage
		function defilV(j) {
			var first = $('li:first', j).html();
			//$('li:first', j).animate({opacity: 0}, 1000).slideUp('slow', function() {$(this).remove();});
			$('li:first', j).fadeOut('slow', function() {
				$(this).remove();$('li:eq(4)', j).fadeIn('slow');
			});
			last = '<li style="display:none">' + first + '</li>';
			j.append(last);
			//$('li:eq(2)', j).fadeIn('slow');
			
		}
	
		$("ul#tickerV1").everyTime(6500,function() {
			defilV($(this));
		});
		
		// ancinne partie news en hp
		//$("ul#tickerV2").everyTime(3000,function() {
		//	defilV($(this));
		//});
		
		//Affiche la popup de création alerte e-mail
		$('#alerteBtn').click(function() { 
			$.blockUI({
				message: $('#alerte'),
				css: {
					width: '500px',
					backgroundColor: '#fff',
					border: 0,
					textAlign: 'left',
					padding: '1em',
					cursor: 'default',
					left:'50%',
					marginLeft: '-250px',
					top: '15%'
				},
				overlayCSS: { cursor: 'pointer' }

			});
			$('.blockOverlay').attr('title','Cliquez pour fermer').click($.unblockUI);
			
			var alertType = $('#aler_type').val();

			var critStr = new Array();
			var crit = criteres(alertType, 'text');
			for(var i=0; i<crit.length; i++)
			{
				if(crit[i] != '')
				{
					critStr.push(crit[i]);
				}
			}
			
			//affichage recap criteres
			$('#criteres').html( '<strong>' + critStr.join(', ') + '</strong>' );
			//criteres à enregsitrer
			$('#aler_criteres').val( criteres(alertType, 'val').join(',') );

		});
		
		function criteres(type, format) {
			var crit = new Array();
			$('input.transaction').each(function() {
				if($(this).is(":checked"))
				{
					crit.push( $(this).val() );
				} 
				else
				{
					crit.push("");
				}
			});			
			crit.push( $('#type :selected').val() );
			switch(format)
			{
				case "text":
					crit.push( $('#departement :selected').text() );
					crit.push( $('#commune :selected').text() );
					break;
				case "val":
					crit.push( $('#departement :selected').val() );
					crit.push( $('#commune :selected').val() );
					break;
			}
			switch(type)
			{
				case 'rechercher_un_bien':
					crit.push( $('#prixmin').val() );
					crit.push( $('#prixmax').val() );
					crit.push( $('#surfacemin').val() );
					crit.push( $('#surfacemax').val() );
					break;
				case 'trouver_un_acquereur':
					crit.push( $('#budget').val() );
					crit.push( $('#surface').val() );
					break;
			}
			return crit;
		}
		
		$('#alerte #fermer').click(function() { 
			$.unblockUI(); 
			return false; 
		});

		//valide le formulaire alerte email
		$("form#alerteForm").validate({
			errorContainer: "#formError1",
			errorLabelContainer: "#formError1 ul",
			wrapper: "li",
			//debug:true,
			errorClass: "ferror",
			rules: {
				aler_nom: "required",				
				aler_user_email: {
					required: true,
					email: true
				}
			},
			messages: {
				aler_nom: "Veuillez saisir le nom de l'alerte",					
				aler_user_email: {
					required: "Veuillez indiquer une adresse email",
					email: "Veuillez indiquer une adresse email valide"
				}
			},
			submitHandler:function() {
				$.get("ajax/alerte_save.php",
					{	aler_nom: $("#aler_nom").val(),
						aler_user_email: $("#aler_user_email").val(),
						aler_type: $("#aler_type").val(),
						aler_criteres: $("#aler_criteres").val(),
						spamTrap: $("#spamTrap").val()
					},
					function(data)
					{
						if(data)
						{
							//alert("Data Loaded: " + data);
							$('#alerteForm').remove();
							$('#formError1').after('<p class="ok">Merci</p>');
						}
						else
						{
							//alert("Data Loaded: " + data);
							$('#formError1').after('<p class="erreur">Erreur</p>');
						}
					}
				);
			}

		});

		//Bannières flash
		var flashvars = {};
		var params = {wmode : "transparent"};
		var attributes = {};
		var bannerName;
		var skyscraperName;
		
		switch(banner)
		{
			case 1:
				bannerName = "LeLodge_468x60";
				break;
			case 2:
				bannerName = "origine_468x60";
				break;
		}
		
		switch(skyscraper)
		{
			case 1:
				skyscraperName = "LeLodge_120x600";
				break;
			case 2:
				skyscraperName = "origine_120x600";
				break;
		}
		
		swfobject.embedSWF("images/bannieres/" + bannerName + ".swf", "topbanner", "468", "60", "8.0.0", "uploads/expressInstall.swf", flashvars, params, attributes);
		swfobject.embedSWF("images/bannieres/" + skyscraperName + ".swf", "skyscraper", "120", "600", "8.0.0", "uploads/expressInstall.swf", flashvars, params, attributes);

	}
);
