function obtenirAsync(url, datas, callback, method, typeReturn) {

  try {
    $.ajax( {
             type        : method,
             url         : url,
             data        : datas,
             dataType    : typeReturn,
             success     : function( returnData ) {
                             callback ( returnData ); 
                           },
             error       : function( o, s, e ) {
                             alert( "ERREUR XMLHttpRequest !\n" + url + "\n" + s );
                           }
            } );
  } catch (e) {
    alert(e.message);
  }
  
}

/* lecture des actualités défilantes */
function getActus() {
	if ( $('#actus').length ) {
		obtenirAsync( baseURL + '/actualites/index', null, _doGetActus, 'GET', 'html');
	}
}
function _doGetActus( html ) {
	$('#scroller-actus').append( html );
	
	scroller = new newsScroller( 'actus-liste', '.actu', 0.100 );
	start();
}
// FIN lecture des actualités défilantes

/* ouvertures des popups */
function openCarte( target ) {
	openPopup( baseURL + '/biens/index/carte/secteur/' + $('#'+target).val() + '/target/' + target + '/z/' + Math.random(), { 
	                                modal       : true,
	                                draggable   : true,
							        stack       : true,
							        width       : 960,
							        height      : 480,
							        title       : '',
							        dialogClass : 'ui-dialog-carte'
						           } );
}
function openDetailContact( bien ) {
	openPopup(baseURL + '/biens/index/detailcontact/bien/' + bien + '/z/' + Math.random(), {
	                                modal       : true,
	                                draggable   : true,
									stack       : true,
									width       : 550,
									dialogClass : 'ui-dialog-detail-' + espace
								   } );
}
function openDetailVisite( bien ) {
	openPopup(baseURL + '/biens/index/detailvisite/bien/' + bien + '/z/' + Math.random(), {
	                                modal       : true,
	                                draggable   : true,
									stack       : true,
									width       : 550,
									dialogClass : 'ui-dialog-detail-' + espace
								   } );
}
function openDetailEnvoi( bien ) {
	openPopup(baseURL + '/biens/index/detailenvoi/bien/' + bien + '/z/' + Math.random(), {
	                                modal       : true,
	                                draggable   : true,
									stack       : true,
									width       : 550,
									dialogClass : 'ui-dialog-detail-' +espace
								   } );
}
function openDetailZoom( bien ) {
	openPopup(baseURL + '/biens/index/detailzoom/bien/' + bien + '/z/' + Math.random(), {
	                                modal       : true,
	                                draggable   : true,
									stack       : true,
									width       : 660,
									dialogClass : 'ui-dialog-zoom'
								   } );
}
// FIN ouverture des popups

// gestion générale fenêtres popup
var nbPopup = 0;
function openPopup( url, options ) {
	nbPopup++;
	$('body').append('<div class="t07" id="popup-'+nbPopup+'"></div>');
	$("#popup-"+nbPopup).load( url, function() {
			                          $('#popup-'+nbPopup).dialog( options );
									  $('#popup-'+nbPopup).bind( 'dialogclose', function() { 
									                                               $('#popup-'+nbPopup).remove();
																				   nbPopup--;
																				} );
									  $('#popup-'+nbPopup+' .close-popup').bind( 'click', function() {
									                                                        $('#popup-'+nbPopup).dialog('close');
																						  } );
									  doOnPopup();
	                                } );
}
function doOnPopup() {
	// validation mot de passe oublié
	if($("#frm-mpoublie form").length > 0) {
		validator = $("#frm-mpoublie form").validate( {
		                                               rules          : {
														                 "mpoublie-email" : { required : true, email : true }
																	    },
												       messages       : {
																	     "mpoublie-email" : { required : $("#msg_err_mpoublie_requiredemail").val(), email : $("#msg_err_mpoublie_rvalidemail").val() }
																	    },
													   errorPlacement : function(error, element) {
																	      tipValidMessage( element, error, "ui-tooltip-red", "top left", "bottom right", 50, 15 );
                                                                        }
													  } );
	}
	// envoi d'une annonce par email
	if($(".envoi form").length > 0) {
	    var theForm = $('.envoi form');
		validator = theForm.validate( {
                                       onkeyup        : false,
                                       errorClass     : 'error',
                                       validClass     : 'valid',
		                               rules          : {
										                 "dest"    : { required : true },
														 "email"   : { required : true, email : true },
													     "nom"     : { required : true },
													     "prenom"  : { required : true },
														 "message" : { required : true }
														},
									   messages       : {
														 "dest"    : { required : $("#msg_err_requireddest").val() },
														 "nom"     : { required : $("#msg_err_requirednom").val() },
														 "prenom"  : { required : $("#msg_err_requiredprenom").val() },
														 "email"   : { required : $("#msg_err_requiredemail").val(), email : $("#msg_err_validemail").val() },
														 "message" : { required : $("#msg_err_requiredmessage").val() }
														},
                                       success        : function(error) {
                                                          setTimeout( function() {
                                                                        theForm.find('.valid').qtip('destroy');
                                                                      }, 1);
                                                        },
									   errorPlacement : function(error, element) {
										                  if( element.hasClass('error') ) {
													        var eltid = element.attr("id");
															switch( eltid ) {
															  case "dest":
															    tipValidMessage( element, error, "ui-tooltip-red", "top left", "bottom right", 50, 15 );
																break;
															  case "email":
																tipValidMessage( element, error, "ui-tooltip-red", "left center", "right center", 50, 15 );
																break;
															  case "nom":
															    tipValidMessage( element, error, "ui-tooltip-red", "left center", "right center", 50, 15 );
																break;
															  case "prenom":
															    tipValidMessage( element, error, "ui-tooltip-red", "top right", "bottom left", 50, 15 );
																break;
															  case "message":
																tipValidMessage( element, error, "ui-tooltip-red", "left center", "right center", 50, 15 );
																break;
															  default:
																tipValidMessage( element, error, "ui-tooltip-red", "left center", "right center", 50, 15 );
																break;
															}
														  }
                                                        }
													} );
	}
	// visite d'un bien
	if($(".visite form").length > 0) {
	    var theForm = $('.visite form');
		validator = theForm.validate( {
                                       onkeyup        : false,
                                       errorClass     : 'error',
                                       validClass     : 'valid',
		                               rules          : {
														 "email"   : { required : true, email : true },
														 "tel"     : { required : '#rappeler:blank' },
													     "nom"     : { required : true },
													     "prenom"  : { required : true },
														 "message" : { required : true }
														},
									   messages       : {
														 "email"   : { required : $("#msg_err_requiredemail").val(), email : $("#msg_err_validemail").val() },
														 "tel"     : { required : $("#msg_err_requiredtel").val() },
														 "nom"     : { required : $("#msg_err_requirednom").val() },
														 "prenom"  : { required : $("#msg_err_requiredprenom").val() },
														 "message" : { required : $("#msg_err_requiredpassword").val() }
														},
                                       success        : function(error) {
                                                          setTimeout( function() {
                                                                        theForm.find('.valid').qtip('destroy');
                                                                      }, 1);
                                                        },
									   errorPlacement : function(error, element) {
										                  if( element.hasClass('error') ) {
													        var eltid = element.attr("id");
															switch( eltid ) {
															  case "nom":
															    tipValidMessage( element, error, "ui-tooltip-red", "top left", "bottom right", 50, 15 );
																break;
															  case "prenom":
															    tipValidMessage( element, error, "ui-tooltip-red", "top center", "bottom left", 50, 15 );
																break;
															  case "email":
																tipValidMessage( element, error, "ui-tooltip-red", "left center", "right center", 50, 15 );
																break;
															  case "tel":
															    tipValidMessage( element, error, "ui-tooltip-red", "right center", "left center", 50, 15 );
																break;
															  case "message":
																tipValidMessage( element, error, "ui-tooltip-red", "bottom left", "top center", 50, 15 );
																break;
															  default:
																tipValidMessage( element, error, "ui-tooltip-red", "left center", "right center", 50, 15 );
																break;
															}
														  }
                                                        }
													} );
	}
	// demande d'infos sur un bien
	if($(".contact form").length > 0) {
	    var theForm = $('.contact form');
		validator = theForm.validate( {
                                       onkeyup        : false,
                                       errorClass     : 'error',
                                       validClass     : 'valid',
		                               rules          : {
														 "email"   : { required : true, email : true },
														 "tel"     : { required : '#rappeler:blank' },
													     "nom"     : { required : true },
													     "prenom"  : { required : true },
														 "message" : { required : true }
														},
									   messages       : {
														 "email"   : { required : $("#msg_err_requiredemail").val(), email : $("#msg_err_validemail").val() },
														 "tel"     : { required : $("#msg_err_requiredtel").val() },
														 "nom"     : { required : $("#msg_err_requirednom").val() },
														 "prenom"  : { required : $("#msg_err_requiredprenom").val() },
														 "message" : { required : $("#msg_err_requiredpassword").val() }
														},
                                       success        : function(error) {
                                                          setTimeout( function() {
                                                                        theForm.find('.valid').qtip('destroy');
                                                                      }, 1);
                                                        },
									   errorPlacement : function(error, element) {
										                  if( element.hasClass('error') ) {
													        var eltid = element.attr("id");
															switch( eltid ) {
															  case "nom":
															    tipValidMessage( element, error, "ui-tooltip-red", "top left", "bottom right", 50, 15 );
																break;
															  case "prenom":
															    tipValidMessage( element, error, "ui-tooltip-red", "top center", "bottom left", 50, 15 );
																break;
															  case "email":
																tipValidMessage( element, error, "ui-tooltip-red", "left center", "right center", 50, 15 );
																break;
															  case "tel":
															    tipValidMessage( element, error, "ui-tooltip-red", "right center", "left center", 50, 15 );
																break;
															  case "message":
																tipValidMessage( element, error, "ui-tooltip-red", "bottom left", "top center", 50, 15 );
																break;
															  default:
																tipValidMessage( element, error, "ui-tooltip-red", "left center", "right center", 50, 15 );
																break;
															}
														  }
                                                        }
													} );
	}
	// zoom photos
	if($("#zoom-photos").length > 0) {
		$('#zoom-photos .slideshow').serialScroll( {
												  	items    : 'li',
                                                    prev     : '#zoom-photos a.prev',
                                                    next     : '#zoom-photos a.next',
                                                    offset   : -530,
                                                    start    : 1,
                                                    duration : 600,
                                                    force    : true,
                                                    stop     : true,
                                                    lock     : false,
                                                    cycle    : false,
                                                    jump     : false,
                                                    axis     : 'x'
                                                   } );
		$('.zoom-vignette').bind( 'click', function() {
												var $this = $(this);
												var photo = $this.attr('src').replace( appURL + mediaURL + '/vignettes/', '' );
												$('#zoom-cur-photo').attr( 'src', appURL + mediaURL + '/images/' + photo );
											 } );
	}
}
function closePopup() {
	$('#popup-'+nbPopup).dialog( 'close' );
}
function swapPopup( url ) {
	$("#popup-"+nbPopup).load( url, function() {
									  $('#popup-'+nbPopup+' .close-popup').bind( 'click', function() {
									                                                        $('#popup-'+nbPopup).dialog('close');
																						  } );
                                    } );
}

function showBulle( nom ) {
	$('#bulle-'+nom).fadeIn( 100, function() {
	                                $('#btn-'+nom).unbind( 'mouseover' )
							                      .bind( 'mouseout', function() { hideBulle( nom ); } );
                                  } ); 	
}
function hideBulle( nom ) {
	$('#bulle-'+nom).fadeOut( 100, function() {
	                                 $('#btn-'+nom).unbind( 'mouseout' )
							                       .bind( 'mouseover', function() { showBulle( nom ); } );
                                   } ); 	
}
// FIN gestion générale fenêtres popup

// gestion de la carte interactive
function swapSecteur( sect ) {
	var $sect     = $('#chk-secteur-'+sect);
	var isChecked = $sect.get(0).checked;
	
	if (isChecked) {
		$sect.parent().removeClass( 'on' );
		$sect.removeAttr('checked');
		$('#img-secteur-'+sect).removeClass( 'on' );
	} else {
		$sect.parent().addClass( 'on' );
		$sect.attr('checked','true');
		$('#img-secteur-'+sect).addClass( 'on' );
	}
}

function setFrmSecteurs() {
	var target = $('#carte-target').val();
	var vals = 0;
	var txts = [];
	$('.chk-secteur:checked').each( function() {
                                      var $this = $(this);
								      vals += parseInt($this.val());
								      txts.push( $this.next().html() );
                                    } );
	
	$('#' + target).val( vals );
	$('#btn-secteur').qtip( 'destroy' )
                     .qtip( {
	                         content: { text: (txts.length ? txts.join(', '):'Cliquez sur &laquo;carte interactive&raquo; pour choisir vos secteurs.') },
	                         position: {
		                                at: "top center",
		                                my: "bottom center"
	                                   },
							 style: { classes: 'ui-tooltip-shadow ui-tooltip-rounded' }
					        } );
	
	closePopup();
}
// FIN gestion de la carte interactive

// tri de la liste des biens
function sortList() {
	$('#input-sortby').val( $('#select-sortby').val() );
	doSearch();
}
// FIN tri de la liste des biens

// chargement de la liste des biens
function getListeBiens( page ) {
	obtenirAsync( baseURL + '/biens/index/affliste', 'page='+page, _doGetListeBiens, 'GET', 'html');
}
function _doGetListeBiens( html ) {
	$('#liste-resultats').html( html );
}
// FIN chargement de la liste des biens

// pagination
function goPage( page ) {
	$('#input-page').val( page );
	getListeBiens( page );
}
// FIN pagination

// initialisation page détail d'un bien
function initDetail() {
  $('#detail-photos .slideshow').serialScroll( {
                                                items    : 'li',
                                                prev     : '#detail-photos a.prev',
                                                next     : '#detail-photos a.next',
                                                offset   : -170,
                                                start    : 3,
                                                duration : 600,
                                                force    : true,
                                                stop     : true,
                                                lock     : false,
                                                cycle    : false,
                                                jump     : false,
                                                axis     : 'x'
	                                           } );

  var diagnostic = $('#diagnostic-value').val();
  if (diagnostic > 0) {
	var top        = 0;
	if (diagnostic <= 50) { top = 24 + parseInt(diagnostic / 2) - 16; }
	else if (diagnostic <=90) { top = 24 + 29 + parseInt((diagnostic - 50) / 1.6) - 16; }
	else if (diagnostic <=150) { top = 24 + 57 + parseInt((diagnostic - 90) / 2.4) - 16; }
	else if (diagnostic <=230) { top = 24 + 85 + parseInt((diagnostic - 150) / 3.2) - 16; }
	else if (diagnostic <=330) { top = 24 + 113 + parseInt((diagnostic - 230) / 4.0) - 16; }
	else if (diagnostic <=450) { top = 24 + 142 + parseInt((diagnostic - 330) / 4.8) - 16; }
	else { top = 24 + 170 + parseInt((diagnostic - 450) / 2) - 16; if (top > 196) { top = 196; } }
	var content = '<p class="diagnostic-cursor" style="top:'+top+'px;">'+diagnostic+'</p><img class="diagnostic-grad" src="' + appURL + imgURL + '/diagnostic-grad.gif" />';
  } else {
    var content = '<img class="diagnostic-grad" src="' + appURL + imgURL + '/diagnostic-grad.gif" /><p class="diagnostic-encours">DPE en cours</p>';
  }
  $('.btn-diagnostics').qtip( {
                                content: { text: '<div class="diagnostic-tip" id="diagnostic-tip-' + lang + '">' + content + '</div>' },
                                position: {
                                           at : 'top center',
                                           my : 'bottom left'
                                          },
								style: { classes: 'ui-tooltip-shadow ui-tooltip-rounded' }
					           } );

  $('.detail-vignette').bind( 'click', function() {
                                         var $this = $(this);
										 var photo = $this.attr('src').replace( appURL + mediaURL + '/vignettes/', '' );
										 $('#detail-cur-photo').attr( 'src', appURL + mediaURL + '/images/' + photo );
                                       } );
}
// FIN initialisation page détail d'un bien

// ajout à la sélection
function addDetailSelection( bien ) {
	doAddSelection( bien, 'btn-ajouter-detail' );
}
function doAddSelection( bien, target ) {
	obtenirAsync( baseURL + '/biens/index/addselection', 'bien='+bien+'&target='+target, _doAddSelection, 'GET', 'json');
}
function _doAddSelection( json ) {
	$('#' + json.target).qtip( {
	                            content: json.msg, 
							    position: {
                                           at : 'top center',
                                           my : 'bottom left'
                                          },
							    style: { classes: 'ui-tooltip-shadow ui-tooltip-rounded' },
								show: { ready: true },
								hide: { when: 'unfocus' },
								events: {
                                         hide : function() {
                                                  $('#' + json.target).qtip('destroy');
												}
                                        }
						       } );
	$('#btn-voirsel').css( 'display', 'block' );
}
// FIN ajout à la sélection

// supression de la sélection
function supSelection( bien ) {
	obtenirAsync( baseURL + '/espace/index/supselection', 'bien='+bien, _doSupSelection, 'GET', 'json');
}
function _doSupSelection( json ) {
	if(json.supp == -1) {
	} else {
		/*
		$('#selection .liste-selection #sel-'+json.supp).remove();
		$('#nb-sel').html( parseInt($('#nb-sel').html()) - 1 );
		if( $('#selection .liste-selection li').length == 0) {
			$('#entete-selection li').remove();
			$('.nav-pages li').remove();
			$('#btn-voirsel').css( 'display', 'none' );
		}
		*/
		if( $('#selection .liste-selection li').length == 1) {
			$('#btn-voirsel').css( 'display', 'none' );
		}
		voirSelection( $('#cur-page').val() );
	}
}
// FIN suppression à la sélection

// voir la séléction
function voirSelection( page ) {
	var datas = '';
	datas    += 'page=' + page;
	datas    += '&z=' + Math.random();

	obtenirAsync( baseURL + '/espace/index/voirselection', datas, _doVoirSelection, 'POST', 'html');
}
function _doVoirSelection( html ) {
	$('#contenu-compte').html( html );
	
	$('#btn-compte-sel').attr('class','on');
	$('#btn-compte-alr').attr('class','off');
}
// FIN voir la sélection

// voir la sélection temporaire
function voirTmpSelection( page ) {
	var datas = '';
	datas    += 'page=' + page;
	datas    += '&z=' + Math.random();

	obtenirAsync( baseURL + '/biens/index/affselection', datas, _doVoirTmpSelection, 'POST', 'html');
}
function _doVoirTmpSelection( html ) {
	$('#contenu-selection').html( html );
}
// FIN voir la sélection

// enregistrer sélection
function enregistrerSelection() {
	var datas = '';
	datas    += 'user=' + parseInt($('#user').val());
	datas    += '&z=' + Math.random();

	obtenirAsync( baseURL + '/espace/index/enregselection', datas, _doEnregistrerSelection, 'POST', 'json');
}
function _doEnregistrerSelection( json ) {
	tipMessage( '#btn-enregistrer a', json.msg, '', 'bottom center', 'top right', 50, 25 );
}
// FIN enregistrer sélection

// charger sélection
function chargerSelection() {
	var datas = '';
	datas    += 'user=' + parseInt($('#user').val());
	datas    += '&z=' + Math.random();

	obtenirAsync( baseURL + '/espace/index/loadselection', datas, _doChargerSelection, 'POST', 'json');
}
function _doChargerSelection( json ) {
	if( json.msg ) {
		tipMessage( '#btn-charger a', json.msg, '', 'bottom center', 'top right', 50, 25 );
	} else {
		voirSelection( 1 );
	}
}
// FIN enregistrer sélection

// voir alertes
function voirAlertes( page ) {
	var datas = '';
	datas    += 'user=' + parseInt($('#user').val());
	datas    += '&page=' + page;
	datas    += '&z=' + Math.random();

	obtenirAsync( baseURL + '/espace/index/voiralertes', datas, _doVoirAlerte, 'POST', 'html');
}
function _doVoirAlerte( html ) {
	$('#contenu-compte').html( html );
	
	$('#btn-compte-sel').attr('class','off');
	$('#btn-compte-alr').attr('class','on');
}
// FIN voir alertes

// créer une alerte email
function creerAlerte() {
	var datas = '';
	datas    += 'page=' + $('#cur-page').val();
	datas    += '&z=' + Math.random();
	
	obtenirAsync( baseURL + '/espace/index/creeralerte', datas, _doCreerAlerte, 'POST', 'html');
}
function _doCreerAlerte( html ) {
	$('#contenu-compte').html( html );
}
function creerFrmAlerte( t ) {
	var datas = '';
	datas    += '&z=' + Math.random();
	
	switch( parseInt(t) ) {
		case 1:
			obtenirAsync( baseURL + '/espace/index/creeralerteacheter', datas, _doCreerFrmAlerte, 'POST', 'html');
			break;
		case 4:
			obtenirAsync( baseURL + '/espace/index/creeralertelouer', datas, _doCreerFrmAlerte, 'POST', 'html');
			break;
		default:
			break;
	}
}
function _doCreerFrmAlerte( html ) {
	$('#inner-frm-alerte').html( html );
}
function editerAlerte( id ) {
	var datas = '';
	datas    += 'data_id=' + id;
	datas    += '&page=' + $('#cur-page').val();
	datas    += '&z=' + Math.random();
	
	obtenirAsync( baseURL + '/espace/index/editalerte', datas, _doEditerAlerte, 'POST', 'html' );
}
function _doEditerAlerte( html ) {
	$('#contenu-compte').html( html );
}
function enregAlerte() {
	var user_id    = parseInt($('#user').val());
	
	var user_email = $('#user-email').val();
	var id         = $('#alert-id').val();
	var espace     = $('.alert-transact:checked').val();
	var type       = 0;
	if ( !$('#frm-alerte #field-type #type0').get(0).checked ) {
		$('#frm-alerte #field-type input[type="checkbox"]:checked').each( function() {
	                                                                        type += parseInt( this.value );
	                                                                      } );
	}
	var secteur = $('#input-secteur').val();
	if( espace == 1 ) {
		switch($('#budget').val()) {
			case 'b0':
				var min     = 0;
				var max     = 0;
				break;
			case 'b1':
				var min     = 0;
				var max     = 100000;
				break;
			case 'b2':
				var min     = 100000;
				var max     = 150000;
				break;
			case 'b3':
				var min     = 150000;
				var max     = 200000;
				break;
			case 'b4':
				var min     = 200000;
				var max     = 300000;
				break;
			case 'b5':
				var min     = 300000;
				var max     = 600000;
				break;
			case 'b6':
				var min     = 600000;
				var max     = 0;
				break;
		}
	} else if( espace == 4 ) {
		switch($('#budget').val()) {
			case 'b0':
				var min     = 0;
				var max     = 0;
				break;
			case 'b1':
				var min     = 0;
				var max     = 250;
				break;
			case 'b2':
				var min     = 250;
				var max     = 400;
				break;
			case 'b3':
				var min     = 400;
				var max     = 650;
				break;
			case 'b4':
				var min     = 650;
				var max     = 900;
				break;
			case 'b5':
				var min     = 900;
				var max     = 0;
				break;
		}
	}
	
	var datas = '';
	datas    += 'user=' + user_id;
	datas    += '&user_email=' + user_email;
	datas    += '&id=' + id;
	datas    += '&espace=' + espace;
	datas    += '&type=' + type;
	datas    += '&secteur=' + secteur;
	datas    += '&min=' + min;
	datas    += '&max=' + max;
	datas    += '&z=' + Math.random();

	obtenirAsync( baseURL + '/espace/index/enregalerte', datas, _doEnregAlerte, 'POST', 'json');
}
function _doEnregAlerte( json ) {
	if( json.err ) {
		tipMessage( '#frm-email #btn-valider', '', 'top left', 'bottom right', 50, 25 );
	} else {
		voirAlertes( $('#cur-page').val() );
	}
}
function supAlerte( id ) {
	var datas = '';
	datas    += 'data_id=' + id;
	datas    += '&z=' + Math.random();
	
	obtenirAsync( baseURL + '/espace/index/supalerte', datas, _doSupAlerte, 'POST', 'json' );
}
function _doSupAlerte( json ) {
	if( json.err ) {
		tipMessage( 'btn-supprimer-' + json.id, '', 'top left', 'bottom right', 50, 25 );
	} else {
		voirAlertes( $('#cur-page').val() );
	}
}
// FIN recevoir des annonces

// visiter des biens
function doVisite() {
	if( validator.form() ) {
		var objet   = $('#objet').val();
		var agence  = $('#agence').val();
		var nom     = $('#nom').val();
		var prenom  = $('#prenom').val();
		var email   = $('#email').val();
		var tel     = $('#tel').val();
		var message = $('#message').val();
		var rappel  = $('#rappeler').val();
	
		var datas = '';
		datas    += 'objet=' + objet;
		datas    += '&agence=' + agence;
		datas    += '&nom=' + nom;
		datas    += '&prenom=' + prenom;
		datas    += '&email=' + email;
		datas    += '&tel=' + tel;
		datas    += '&message=' + message;
		datas    += '&rappel=' + rappel;
		datas    += '&z=' + Math.random();
	
		obtenirAsync( baseURL + '/biens/index/dovisiter', datas, _doVisiter, 'POST', 'json');
	}
}
function _doVisiter( json ) {
	tipMessage( '#btn-valider-visite', json.msg, '', 'left center', 'right center', 50, 25 );
}
// FIN visiter des biens

// demande d'infos pour un bien
function doInfosDetail() {
	if( validator.form() ) {
		var objet   = $('#objet').val();
		var agence  = $('#agence').val();
		var nom     = $('#nom').val();
		var prenom  = $('#prenom').val();
		var email   = $('#email').val();
		var tel     = $('#tel').val();
		var message = $('#message').val();
		var rappel  = $('#rappeler').val();
	
		var datas = '';
		datas    += 'objet=' + objet;
		datas    += '&agence=' + agence;
		datas    += '&nom=' + nom;
		datas    += '&prenom=' + prenom;
		datas    += '&email=' + email;
		datas    += '&tel=' + tel;
		datas    += '&message=' + message;
		datas    += '&rappel=' + rappel;
		datas    += '&z=' + Math.random();
	
		obtenirAsync( baseURL + '/biens/index/doinfosbien', datas, _doInfosDetail, 'POST', 'json');
	}
}
function _doInfosDetail( json ) {
	tipMessage( '.contact #btn-valider', json.msg, '', 'left center', 'right center', 50, 25 );
}
// FIN demande d'infos pour un bien

// envoyer à un ami
function doEnvoiDetail() {
	if( validator.form() ) {
		var bien_id  = $('#envoi-bien-id').val();
		var bien_ref = $('#envoi-bien-ref').val();
		var dests    = $('#dest').val();
		var email    = $('#email').val();
		var nom      = $('#nom').val();
		var prenom   = $('#prenom').val();
		var message  = $('#message').val();
	
		var datas = '';
		datas    += 'bien_id=' + bien_id;
		datas    += '&bien_ref=' + bien_ref;
		datas    += '&dests=' + dests;
		datas    += '&email=' + email;
		datas    += '&nom=' + nom;
		datas    += '&prenom=' + prenom;
		datas    += '&message=' + message;
		datas    += '&z=' + Math.random();

		obtenirAsync( baseURL + '/biens/index/doenvoidetail', datas, _doEnvoiDetail, 'POST', 'json');
	}
}
function _doEnvoiDetail( json ) {
	var bgcolor = '';
	var content = '';
	var user    = parseInt($('#user').val());
	
	tipMessage( '.envoi #btn-valider', json.msg, '', 'top left', 'bottom right', 50, 25 );
}
// FIN envoyer à un ami

// envoi projet (pas de résultat de recherche)
function envoiProjet() {
	if (validator.form()) {
		var datas = '';
		datas    += 'projet=' + $('#projet').val();
		datas    += '&nom=' + $('#projet-nom').val();
		datas    += '&prenom=' + $('#projet-prenom').val();
		datas    += '&email=' + $('#projet-email').val();
		datas    += '&tel=' + $('#projet-tel').val();
		datas    += '&rappel=' + ($('#projet-rappeler').get(0).checked ? '1':'0');
		datas    += '&secteur=' + $('#input-secteur').val();
		datas    += '&z=' + Math.random();

		obtenirAsync( baseURL + '/biens/index/doenvoiprojet', datas, _doEnvoiProjet, 'POST', 'json');
	}
}
function _doEnvoiProjet( json ) {
	tipMessage( '#tbl-projet .btn-valider', json.msg, 'ui-tooltip-red', 'top middle', 'bottom middle', 50, 25 );
}
// FIN envoi projet

// validation du formulaire de recherche
function doSearch() {
	if( espace == 1 ) {
		switch($('#budget').val()) {
			case 'b0':
				$('#budget-min').val(0);
				$('#budget-max').val(0);
				break;
			case 'b1':
				$('#budget-min').val(0);
				$('#budget-max').val(100000);
				break;
			case 'b2':
				$('#budget-min').val(100000);
				$('#budget-max').val(150000);
				break;
			case 'b3':
				$('#budget-min').val(150000);
				$('#budget-max').val(200000);
				break;
			case 'b4':
				$('#budget-min').val(200000);
				$('#budget-max').val(300000);
				break;
			case 'b5':
				$('#budget-min').val(300000);
				$('#budget-max').val(600000);
				break;
			case 'b6':
				$('#budget-min').val(600000);
				$('#budget-max').val(0);
				break;
		}
	} else if( espace == 4 ) {
		switch($('#budget').val()) {
			case 'b0':
				$('#budget-min').val(0);
				$('#budget-max').val(0);
				break;
			case 'b1':
				$('#budget-min').val(0);
				$('#budget-max').val(250);
				break;
			case 'b2':
				$('#budget-min').val(250);
				$('#budget-max').val(400);
				break;
			case 'b3':
				$('#budget-min').val(400);
				$('#budget-max').val(650);
				break;
			case 'b4':
				$('#budget-min').val(650);
				$('#budget-max').val(900);
				break;
			case 'b5':
				$('#budget-min').val(900);
				$('#budget-max').val(0);
				break;
		}
	}
	$('#input-page').val(1);
	$('#frmSearch').get(0).submit();
}

function setTypeChechbox( chkb ) {
	if( chkb.checked ) {
		if( parseInt(chkb.value) != 0 ) {
			$('#field-type input[value="0"]').removeAttr('checked');
		} else {
			$('#field-type input[value!="0"]').removeAttr('checked');
		}
	}
}
// FIN validation du formulaire de recherche

// identification
function doIdent() {
	var datas = '';
	datas    += 'ident=' + $('.ident[value!=""]').val();
	datas    += '&password=' + $('.password[value!=""]').val();
	
	obtenirAsync( baseURL + '/espace/index/doident', datas, _doIdent, 'POST', 'json');
}
function _doIdent( json ) {
	if (json.id) {
		document.location.href = baseURL + '/espace/index';
	} else {
		tipMessage( '#frm-openCompte #btn-valider', json.msg, '', 'top center', 'bottom right', 50, 25 );
	}
}

function mpoublie() {
	openPopup( baseURL + '/espace/index/mpoublie/z/' + Math.random(), {
	                                modal     : true,
	                                draggable : true,
									stack     : true,
									width     : 350
								   } );
}
function doMpOublie() {
	if (validator.form()) {
		var datas = '';
		datas    += 'email=' + $('#mpoublie-email').val();
	
		obtenirAsync( baseURL + '/espace/index/dompoublie', datas, _doMpOublie, 'POST', 'json');
	}
}
function _doMpOublie( json ) {
	tipMessage( '#frm-mpoublie #btn-valider', json.msg, '', 'bottom middle', 'top right', 50, 25 );
}
// FIN identification

// validation du formulaire de création d'un compte
function doCreerCompte() {
	if (validator.form()) {
		var datas = '';
		datas    += 'nom=' + $('#creerCompte-nom').val();
		datas    += '&prenom=' + $('#creerCompte-prenom').val();
		datas    += '&tel=' + $('#creerCompte-tel').val();
		datas    += '&email=' + $('#creerCompte-email').val();
		datas    += '&password=' + $('#creerCompte-password').val();
	
		obtenirAsync( baseURL + '/espace/index/docreercompte', datas, _doCreerCompte, 'POST', 'json');
	}
}
function _doCreerCompte( json ) {
	switch( json.err ) {
		case 0:
			document.location.href = baseURL + '/espace/index';
			break;
		case 1:
			tipMessage( '#frm-compte #creerCompte-email', json.msg, '', 'top left', 'bottom right', 50, 25 );
			break;
		case 2:
			tipMessage( '#frm-compte #creerCompte-password', json.msg, '', 'top left', 'bottom right', 50, 25 );
			break;
		case 3:
			tipMessage( '#frm-compte .btn-valider', json.msg, '', 'top left', 'bottom right', 50, 25 );
			break;
		default:
			break;
	}
}
// FIN validation du formulaire de création d'un compte

// déconnexion
function deconnexion() {
	obtenirAsync( baseURL + '/espace/index/dodeconnexion', null, _doDeconnexion, 'POST', 'json');
}
function _doDeconnexion( json ) {
	if (!json.err) {
		document.location.href = baseURL + '/espace/index/ident/espace/99';
	} else {
	    tipMessage( '#btn-deconnexion a', json.msg, '', 'bottom left', 'top right', 50, 25 );
	}
}

// FIN déconnexion

// affichage d'un tooltip avec message (résultat d'une action)
function tipMessage( target, content, classes, targetPos, tipPos, width, height ) {
	$( target ).qtip( {
	                   content: content, 
					   position: {
                                  at : targetPos,
                                  my : tipPos
                                 },
					   style: { classes: 'ui-tooltip-shadow ui-tooltip-rounded ' + classes },
					   show: { ready: true },
					   hide: { when: 'unfocus' },
					   events: {
                                hide : function() {
                                         $(target).qtip('destroy');
                                       }
                               }
					   } );
}
// FIN affichage d'un tooltip avec message
// FIN affichage d'un tooltip avec message
// affichage d'un tooltip avec message (validation d'un formulaire)
function tipValidMessage( target, content, classes, targetPos, tipPos, width, height ) {
	$( target ).qtip( {
	                   content  : content, 
					   position : {
                                   at : targetPos,
                                   my : tipPos
                                  },
					   style: { classes: 'ui-tooltip-shadow ui-tooltip-rounded ' + classes },
					   show     : {
                                   event: false,
                                   ready: true
                                  },
					   hide     : false,
					   events   : {
                                   hide : function() {
                                            $(target).qtip('destroy');
                                          }
                                  }
					  } );
}
// FIN affichage d'un tooltip avec message

// formulaire de contact
function doContact() {
	if (validator.form()) {
		var nom     = $('#nom').val();
		var prenom  = $('#prenom').val();
		var email   = $('#email').val();
		var tel     = $('#tel').val();
		var message = $('#message').val();
	
		var datas = '';
		datas    += 'nom=' + nom;
		datas    += '&prenom=' + prenom;
		datas    += '&email=' + email;
		datas    += '&tel=' + tel;
		datas    += '&message=' + message;
	
		obtenirAsync( baseURL + '/utils/index/docontact', datas, _doContact, 'POST', 'json');
	}
}
function _doContact( json ) {
	tipMessage( '#frm-contact #btn-valider', json.msg, '', 'top left', 'bottom right' );
}
// FIN formulaire de contact

tswap = null;
function swapBien() {
    if (nbSwap > 1) {
		iswap = ((iswap == (nbSwap - 1)) ? 0 : iswap + 1);
		obtenirAsync( baseURL + '/biens/index/getswap', 'id='+toSwap[iswap], _doSwapBien, 'POST', 'html');
	}
}
function _doSwapBien( html ) {
	$('#swap-contenu').fadeOut( 'slow', function() {
							              $('#swap-contenu').html( html );
							              $('#swap-contenu').fadeIn( 'slow' );
							            } );
	tswap = setTimeout("swapBien()",4000);
}

// impressions
function imprimerListe() {
	window.open( baseURL + '/biens/index/imprimerliste',"impression","menubar=no, status=no, scrollbars=yes, width=700, height=400")
}
function imprimerSel() {
	window.open( baseURL + '/espace/index/imprimersel',"impression","menubar=no, status=no, scrollbars=yes, width=700, height=400")
}
function imprimerBien(id) {
	window.open( baseURL + '/biens/index/imprimerbien/bien/' + id,"impression","menubar=no, status=no, scrollbars=yes, width=700, height=400")
}
// FIN impressions

$(document).ready( function() {
					 getActus();
					 
				     $('#entete-logo').bind( 'click', function() { document.location.href = baseURL + '/index/index/espace/1'; } );
					 
					 $('#btn-courtier').bind( 'mouseover', function() { $('#bulle-courtier').css( 'display', 'block' ); } )
					                   .bind( 'mouseout', function() { $('#bulle-courtier').css( 'display', 'none' ); } );
					 $('#btn-conseil').bind( 'mouseover', function() { $('#bulle-conseil').css( 'display', 'block' ); } )
					                  .bind( 'mouseout', function() { $('#bulle-conseil').css( 'display', 'none' ); } );
					 
					 $('#liste .chk-secteur').livequery( 'click', function() {
					                                                swapSecteur( this );
					                                              } );
                   } );

$(window).unload( function() {
				    if(tswap) { window.clearTimeout( tswap ); }
					if(scrollers && scrollers.length) {
						$.each( scrollers, function(index, value) { stop( index ); } );
					}
                  } );

