-1) {
            let s = strcode.indexOf("", e);
            scripts.push(strcode.substring(s_e+1, e));
            strcode = strcode.substring(0, s) + strcode.substring(e_e+1);
        }
        for(let i=0; i 0 ){
                donation = form.donation.value;
            }
            var telephone = form.telephone.value;
            var email = form.email.value;
            var commune = form.commune.value;
            var code_postal = form.code_postal.value;
            var message = form.message.value;
            if( form.infos !== undefined && form.infos.value !== "" ){
                message = form.infos.value + "\n\n"  + message;
            }
            var cnil = form.cnil.value;
            var emplacement = form.emplacement.value;
            var gsm = form.gsm.value;
            var comment = form.comment.value;
            let confirm = "page";
            if( form.confirmation !== undefined && form.confirmation.value === "popin" ){
                confirm = "popin"
            }
            if( nom != "" && prenom != "" && telephone != "" && email != "" && commune != "" && code_postal != "" ){
                chargement.style['display'] = "flex";
                setTimeout(function(){
                    chargement.style['opacity'] = 1;
                },10);
                var xhr_contact = new XMLHttpRequest();
                xhr_contact.overrideMimeType("application/json");
                xhr_contact.onreadystatechange = function () {
                    if (this.readyState === 4 && this.status === 200) {
                        var response = JSON.parse(xhr_contact.responseText);
                        if (response.results == "OK") {
                            confirmation_contact(true,confirm);
                            sending_data = false;
                            //el.innerHTML = response.html;
                        } else {
                            confirmation_contact(true,confirm);
                            chargement.style['display'] = "none";
                            console.log( response.results, response.html );
                        }
                    }
                };
                contact_form.append('d', d);
                contact_form.append('id_page', id_page);
                contact_form.append('projet', projet);
                contact_form.append('donation', donation);
                contact_form.append('nom', nom);
                contact_form.append('prenom', prenom);
                contact_form.append('telephone', telephone);
                contact_form.append('email', email);
                contact_form.append('commune', commune);
                contact_form.append('code_postal', code_postal);
                contact_form.append('message', message);
                contact_form.append('cnil', cnil);
                contact_form.append('emplacement', emplacement);
                if( guide_du_neuf ){
                    contact_form.append('guide_du_neuf', true);
                }
                contact_form.append('gsm', gsm);
                contact_form.append('comment', comment);
                xhr_contact.open("post", '/contact_xhr.php', true);
                xhr_contact.send(contact_form);
            } else {
                var fields = [
                    "nom",
                    "prenom",
                    "telephone",
                    "email",
                    "commune",
                    "code_postal"
                ];
                for( var f = 0 ; f < fields.length ; f ++ ){
                    if( form[fields[f]].value == '' ){
                        form[fields[f]].style['background'] = '#FFCCCC';
                    } else{
                        form[fields[f]].style['background'] = 'inherit';
                    }
                }
                sending_data = false;
            }
        }
        return false;
    }
    if (typeof check_projet_contact_form === 'undefined') {
        function check_projet_contact_form(form) {
            const actives = form.querySelectorAll(".active");
            for( let active of actives){
                active.classList.remove("active");
            }
            if (event.target.name === "select_investir") {
                form.select_investir.classList.add("active");
                form.projet.value = "investir";
                form.donation.value = 0;
            } else if (event.target.name === "select_habiter") {
                form.select_habiter.classList.add("active");
                form.projet.value = "habiter";
                form.donation.value = 0;
            } else if (event.target.name === "select_donation_habiter" || event.target.name === "select_donation_investir" ) {
                form.select_donation.classList.add("active");
                event.target.classList.add("active");
                form.projet.value = "";
                form.donation.value = event.target.value;
            }
        }
    }
    let dropdown_donation_open = false;
    function open_dropdown_donation(el, force){
        event.stopPropagation();
        if(dropdown_donation_open || force){
           el.style['display'] = 'none';
            dropdown_donation_open = false;
        } else {
           el.style['display'] = 'block';
            dropdown_donation_open = true;
        }
    }
    if (typeof fill_input === 'undefined') {
        function fill_input(form,projet_select) {
            let select_projet_title_text = "Sélectionnez votre projet";
            switch ( parseInt( projet_select ) ){
                default:
                case 1 :
                    form.projet.value = "habiter";
                    form.donation.value = 0;
                    select_projet_title_text = "Habiter";
                    break;
                case 2 :
                    form.projet.value = "investir";
                    form.donation.value = 0;
                    select_projet_title_text = "Investir";
                    break;
                case 3 :
                    form.projet.value = "gestion";
                    form.donation.value = 0;
                    select_projet_title_text = "Faire gérer mon bien";
                    form.message.value = "Je souhaite mettre mon bien en location"
                    break;
                case 4 :
                    form.projet.value = "gestion";
                    form.donation.value = 0;
                    select_projet_title_text = "Trouver une location";
                    form.message.value = "Je recherche une location"
                    break;
                case 5 :
                    form.projet.value = "";
                    form.donation.value = 1;
                    select_projet_title_text = "Donation pour habiter";
                    break;
                case 6 :
                    form.projet.value = "";
                    form.donation.value = 2;
                    select_projet_title_text = "Donation pour investir";
                    break;
            }
            form.select_projet_title.innerText = select_projet_title_text;
        }
    }
    let select_project_open = false;
    function open_select_project(el, force){
        event.stopPropagation();
        if(select_project_open || force){
            el.style['display'] = 'none';
            select_project_open = false;
            el.parentNode.classList.remove("select_opened");
        } else {
            el.style['display'] = 'flex';
            select_project_open = true;
            el.parentNode.classList.add("select_opened");
        }
    }
    let unwrap_elements = [];
    function unwrap(el){
        let wrapper = el.parentNode;
        let help_text = el.querySelector('span');
        let container = wrapper.querySelector(".wrap_content");
        if( unwrap_elements.includes(wrapper) ){
            unwrap_elements = unwrap_elements.filter(e => e !== wrapper);
            help_text.innerHTML = "Lire plus";
            container.style['max-height'] = "300px";
            wrapper.classList.remove("unwrap");
            el.parentNode.scrollIntoView({ behavior: "smooth", block: "start" });
        } else {
            unwrap_elements.push(wrapper);
            help_text.innerHTML = "Lire moins";
            container.style['max-height'] = "20000px";
            wrapper.classList.add("unwrap");
        }
    }
    let unwrap_elements_custom = [];
    function unwrap_custom(btn, options = { more: "Lire plus", less: "Lire moins" }) {
        const wrapper = btn.parentNode;
        const container = wrapper.querySelector(".wrap_custom_content");
        const help_text = btn.querySelector(".wrap_help_text");
        if (!container) return;
        capture_original_constraint(container);
        const is_open = unwrap_elements_custom.includes(wrapper);
        if (is_open) {
            // Collapse
            const collapse_height = read_collapse_height(wrapper);
            if (collapse_height != null) {
                apply_collapse_height(container, collapse_height);
            } else {
                restore_original_constraint(container);
            }
            unwrap_elements_custom = unwrap_elements_custom.filter(n => n !== wrapper);
            wrapper.classList.remove("unwrap_custom");
            btn.setAttribute("aria-expanded", "false");
            if (help_text) help_text.innerHTML = options.more;
        } else {
            // Expand
            remove_constraint(container);
            unwrap_elements_custom.push(wrapper);
            wrapper.classList.add("unwrap_custom");
            btn.setAttribute("aria-expanded", "true");
            if (help_text) help_text.innerHTML = options.less;
        }
    }
    function init_unwrap_auto(root_node = document, options = { more: "Lire plus", less: "Lire moins" }) {
        const wrappers = root_node.querySelectorAll(".wrap_custom");
        wrappers.forEach(wrapper => {
            const container = wrapper.querySelector(".wrap_custom_content");
            const btn = wrapper.querySelector(".wrap_custom_toggle");
            const help_text = btn ? btn.querySelector(".wrap_help_text") : null;
            if (!container || !btn) return;
            capture_original_constraint(container);
            const collapse_height = read_collapse_height(wrapper);
            if (collapse_height != null) {
                // Fixed-height mode
                apply_collapse_height(container, collapse_height);
            } else {
                // CSS-clamp mode (keep your CSS max-height/height/line-clamp)
                restore_original_constraint(container);
            }
            const overflowing = is_overflowing(container);
            if (overflowing) {
                btn.style.display = "";
                btn.setAttribute("aria-expanded", "false");
                if (help_text) help_text.innerHTML = options.more;
                wrapper.classList.remove("unwrap_custom");
            } else {
                remove_constraint(container);
                btn.style.display = "none";
                wrapper.classList.add("unwrap_custom");
            }
            one_time_resize_recheck(container, () => {
                if (collapse_height != null) apply_collapse_height(container, collapse_height);
                const now_overflowing = is_overflowing(container);
                if (now_overflowing) {
                    btn.style.display = "";
                    btn.setAttribute("aria-expanded", "false");
                    if (help_text) help_text.innerHTML = options.more;
                    restore_collapsed_state(container, wrapper, collapse_height);
                } else {
                    remove_constraint(container);
                    btn.style.display = "none";
                    wrapper.classList.add("unwrap_custom");
                }
            });
        });
    }
    /* === Helpers === */
    function read_collapse_height(wrapper) {
        const raw = wrapper.getAttribute("data-collapse_height");
        if (!raw) return null;
        const n = parse_int_safe(raw, null);
        return n != null ? n : null;
    }
    function parse_int_safe(value, fallback) {
        const n = parseInt(value, 10);
        return Number.isNaN(n) ? fallback : n;
    }
    function is_overflowing(el) {
        return Math.ceil(el.scrollHeight) > Math.ceil(el.clientHeight);
    }
    function capture_original_constraint(container) {
        if (container.dataset._cap_captured === "1") return;
        const cs = window.getComputedStyle(container);
        container.dataset._orig_max_height = cs.maxHeight; // e.g. "300px" or "none"
        container.dataset._orig_height = cs.height;        // computed px string
        container.dataset._orig_overflow = cs.overflow;    // "hidden", etc.
        container.dataset._cap_captured = "1";
    }
    function restore_original_constraint(container) {
        const orig_max = container.dataset._orig_max_height || "none";
        const orig_height = container.dataset._orig_height || "auto";
        const orig_overflow = container.dataset._orig_overflow || "visible";
        container.style.maxHeight = orig_max;
        // Only restore height if it was explicitly fixed in CSS; otherwise leave "auto"
        if (orig_height !== "auto") container.style.height = orig_height;
        container.style.overflow = orig_overflow;
    }
    function apply_collapse_height(container, height_px) {
        container.style.height = "";          // prefer max-height for transitions
        container.style.maxHeight = height_px + "px";
        container.style.overflow = "hidden";
    }
    function remove_constraint(container) {
        container.style.maxHeight = "none";
        container.style.height = "auto";
        container.style.overflow = "visible";
    }
    function restore_collapsed_state(container, wrapper, collapse_height) {
        if (collapse_height != null) {
            apply_collapse_height(container, collapse_height);
        } else {
            restore_original_constraint(container);
        }
        wrapper.classList.remove("unwrap_custom");
    }
    function one_time_resize_recheck(container, callback_once) {
        if (!("ResizeObserver" in window)) return;
        let done = false;
        const ro = new ResizeObserver(() => {
            if (done) return;
            done = true;
            callback_once();
            ro.disconnect();
        });
        ro.observe(container);
    }
    /* DOM ready */
    document.addEventListener("DOMContentLoaded", () => {
        init_unwrap_auto(document, { more: "Lire plus", less: "Lire moins" });
    });
            
        
             
        
    
    
    
        ✖
        Transformez votre loyer en Patrimoine 
            
                M. & Mme Dubois étaient locataires d'un T3 en zone A à 1 000 €/mois 
                Avec leur revenu fiscal de référence de 35 000 € ils sont éligibles au Prêt à Taux Zéro 
             
         
        
            
                🏡 
                T3 à 310 000 € frais de notaire inclus 
            
                ◎ 
                PTZ + Prêt Aidé de 165 000 € 
            
                💸 
                Apport de 31 000 € 
            
                🏦 
                Emprunt de 125 000 € 
         
        Leur nouvelle mensualité s'élève à 1 150 €/mois , ils sont devenus propriétaires de leur résidence principale pour 150 € de plus par mois* 
        Contactez-nous & obtenez votre simulation gratuite
        *Document non contractuel. Voir conditions en agence 
     
 
	▾
//=base64_encode('/contact')?>
    
         
    
        
	        	            
Salvy Giacobbo 
	                   
	     
	© IMMO9
 
		 
			Courtier en immobilier neuf indépendant à Toulouse Métropole et en Haute-Garonne 
		
 
		
Acheter un logement, ce n’est pas rien. C’est un engagement fort, un projet de vie, parfois un vrai saut dans l’inconnu. Si je peux vous éviter les doutes, les erreurs ou les mauvaises surprises, alors j’ai fait mon job.
Moi, c’est Salvy.
Je suis dans l’immobilier neuf depuis mes débuts en école de commerce, et je travaille chez IMMO9 depuis 2019. Ce que j’aime ? Être indépendant, et donc libre de vous proposer le meilleur. Croyez-moi, ça change tout. Je ne suis pas là pour vous vendre un programme à tout prix. Je suis là pour vous trouver le bon bien, au bon moment, selon vos priorités.
Pas de blabla, pas de promesses creuses — juste :
un accompagnement sérieux 
une vraie connaissance du marché 
des conseils francs et objectifs 
 
Mon objectif est simple : que vous achetiez en toute confiance.
Vous ne voulez pas passer à côté d’une bonne opportunité ? Vous voulez comprendre exactement ce que vous signez ? Vous cherchez un interlocuteur fiable, transparent et disponible ?
Alors nous sommes faits pour travailler ensemble. Parlons de votre projet, et construisons-le pas à pas.
 
Devenir propriétaire, c’est bien.
Devenir propriétaire en toute confiance, c’est encore mieux.
  
		 
	  
     
//=base64_encode("/contact")?>
    
	
	
	
		
			En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour la réalisation de statistiques de visites.
		
		
			J'accepte