function changeImageOrdre(id){
    dims_showcenteredpopup('',900,200,'dims_popup');
    dims_xmlhttprequest_todiv('index.php','dims_op=immo_change_ordre_photo&id='+id,'','dims_popup');
}
function applyChangeImgOrdre(id,elem,oldPos){
    var pos = elem.options[elem.selectedIndex].value;
    dims_xmlhttprequest_todiv('/index.php','dims_op=immo_apply_change_ordre_photo&id='+id+'&pos='+pos+"&oldPos="+oldPos,'','dims_popup');
}

function verifTypeFile(){
    var res = true;
    $("input:file").each(function(){
        var lstDispo = ['png','jpg','jpeg','gif','bmp','wmf','tif','zip','tar','gz','tgz','bz2','bz2','tbz2','xz','rar'];
        if(jQuery.inArray($(this).val().split('.').reverse()[0].toLowerCase(),lstDispo) == -1)
            res = false;
    });
    if (res)
        upload();
    else
        alert("Ce format d'image n'est pas accepté, veuillez prendre contact avec votre administrateur.");
}

function showInfoCt(id){
    dims_showcenteredpopup('',410,200,'dims_popup');
    dims_xmlhttprequest_todiv('/index.php','dims_op=immo_show_info_contact&id='+id,'','dims_popup');
}
function sendFriendObject(id){
    dims_showcenteredpopup('',260,200,'dims_popup');
    dims_xmlhttprequest_todiv('/index.php','dims_op=immo_send_friend_object&id='+id,'','dims_popup');
}
function verifSendFriendObject(id){
    var captcha = document.getElementById('captcha2').value;
    var email = document.getElementById('mailFriend').value;
    var mail2 = false;
    if (document.getElementById('mailYour') != null){
        var email2 = document.getElementById('mailYour').value;
        if (email2 == 'Veuillez saisir votre adresse mail')
            var false_email = false;
        else{
            var expression = new RegExp(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/g);
            var false_email = expression.test(email2);
        }
        mail2 = true;
    }
    if (email == 'Adresse mail de votre ami ...')
        var false_email = false;
    else{
        var expression = new RegExp(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/g);
        var false_email = expression.test(email);
    }
    if (mail2)
        dims_xmlhttprequest_todiv('/index.php','dims_op=immo_send_friend_object_verif&id='+id+'&captcha='+captcha+'&email='+email+'&false_email='+false_email+"&email2="+email2,'','dims_popup');
    else
        dims_xmlhttprequest_todiv('/index.php','dims_op=immo_send_friend_object_verif&id='+id+'&captcha='+captcha+'&email='+email+'&false_email='+false_email,'','dims_popup');
}

function submitSimilar(id){
    var type_loca = document.getElementById('type_loca').options[document.getElementById('type_loca').selectedIndex].value;
    var statut = document.getElementById('statut').options[document.getElementById('statut').selectedIndex].value;
    var dist = '';
    if (type_loca == 'distance')
        dist = '&val_distance='+document.getElementById('val_dist').value;
    dims_xmlhttprequest_todiv('admin.php','dims_op=immo_view_similar_object&id='+id+'&type_loca='+type_loca+'&statut='+statut+dist,'','dims_popup');
}

var limitAjaxBilling = 0;
function rechBilling(tmp){
    var date = new Date;
    if (limitAjaxBilling == 0 || date.getTime()-limitAjaxBilling > tmp){
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_searchCtbilling&first='+document.getElementById('billing_firstname').value+'&last='+document.getElementById('billing_lastname').value+'&id_sel='+document.getElementById('id_billing').value,'','lst_possibleBilling');
        limitAjaxBilling = date.getTime();
    }
}
function rechBilling2(tmp){
    var date = new Date;
    if (limitAjaxBilling == 0 || date.getTime()-limitAjaxBilling > tmp){
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_searchCtbilling2&first='+document.getElementById('billing_firstname').value+'&last='+document.getElementById('billing_lastname').value+'&id_sel='+document.getElementById('id_billing').value,'','lst_possibleBilling');
        limitAjaxBilling = date.getTime();
    }
}

var limitAjaxCodePost = 0;
function rechCodePost(tmp){
    var date = new Date;
    if (limitAjaxCodePost == 0 || date.getTime()-limitAjaxCodePost > tmp){
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_searchCodePost&city='+document.getElementById('city').value,'','div_code_post');
        limitAjaxCodePost = date.getTime();
    }
}

function addMailNewsletter(elem,id_img){
    var expression = new RegExp(/^[a-zA-Z0-9\.\-\+_]+@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+/);
    if (expression.test(elem.value)){
        dims_xmlhttprequest_todiv('/index.php','dims_op=immo_front_newsletter&mail='+elem.value,'',id_img);
        document.getElementById(id_img).style.display='none';
        $("div#message_news_ok").html("Inscription &agrave; la newsletter r&eacute;ussie.");
        $("div#message_news_nok").html("");
    }else{
        $("div#message_news_ok").html("");
        $("div#message_news_nok").html("Email invalide !");
    }
}

function addDossierTest(){
    if((document.getElementById('id_prospect') != null && document.getElementById('id_prospect').value != '') || (document.getElementById('ct_firstname').value != '' && document.getElementById('ct_lastname').value != ''))
        if(document.getElementById('id_bien') == null || document.getElementById('id_bien').value == '')
            alert('Veuillez sélectionner un bien !');
        else
            document.add_prospect.submit();
    else
        alert('Veuillez sélectionner un client ou en créer un nouveau !');
}
// fonctions présentes sur le op.php
function submit_file(name){
    document.add_file.submit();
    makeRequest(http_path+"/index-quick.php?dims_op=upload_progress&filename="+name,progress);
    dims_hidepopup();
    dims_getelem('dims_popup').inner='';

    dims_xmlhttprequest_todiv('admin.php','dims_op=immo_save_file_bien&id_bien='+document.getElementById('id_bien').value,'','docs');
}

function testUser(){
    document.getElementById('name_user').style.color='#000000';
    document.getElementById('first_user').style.color='#000000';
    document.getElementById('mail_user').style.color='#000000';
    document.getElementById('login_user').style.color='#000000';
    document.getElementById('mdp_user').style.color='#000000';
    document.getElementById('mdpv_user').style.color='#000000';

    var test = true;

    if (document.getElementById('name_user2').value.replace(/^\s+/g,'').replace(/\s+$/g,'') == ''){
        document.getElementById('name_user').style.color='#B9220C';
        test = false;
    }
    if (document.getElementById('first_user2').value.replace(/^\s+/g,'').replace(/\s+$/g,'') == ''){
        document.getElementById('first_user').style.color='#B9220C';
        test = false;
    }
    if (document.getElementById('mail_user2').value.replace(/^\s+/g,'').replace(/\s+$/g,'') == ''){
        document.getElementById('mail_user').style.color='#B9220C';
        test = false;
    }
    if (document.getElementById('login_user2').value.replace(/^\s+/g,'').replace(/\s+$/g,'') == ''){
        document.getElementById('login_user').style.color='#B9220C';
        test = false;
    }
    var mdp1 = document.getElementById('mdp_user2').value;
    var mdp2 = document.getElementById('mdpv_user2').value;
    if ((document.getElementById('id_user').value == '' || (document.getElementById('id_user').value == 0)) && (mdp1 != mdp2 || mdp1.replace(/^\s+/g,'').replace(/\s+$/g,'') == '' || mdp2.replace(/^\s+/g,'').replace(/\s+$/g,'') == '')){
        document.getElementById('mdp_user').style.color='#B9220C';
        document.getElementById('mdpv_user').style.color='#B9220C';
        test = false;
    }
    if (test){
        var last = document.getElementById('name_user2').value ;
        var first = document.getElementById('first_user2').value ;
        var login = document.getElementById('login_user2').value ;
        var group = document.getElementById('group_user').value;
        var id_user = '';
        if (document.getElementById('id_user').value != '')
            id_user = '&id_user='+document.getElementById('id_user').value ;
        if (document.getElementById('active_user').checked)
            dims_xmlhttprequest_todiv('admin.php','dims_op=immo_options_user&last='+last+'&first='+first+'&login='+login+'&gr='+group+'&active=on'+id_user,'','option_save_immo');
        else
            dims_xmlhttprequest_todiv('admin.php','dims_op=immo_options_user&last='+last+'&first='+first+'&login='+login+'&gr='+group+id_user,'','option_save_immo');
    }else{
        document.getElementById('warning_infos').style.display="block";
    }
}

function testUser2(){
    document.getElementById('name_user').style.color='#000000';
    document.getElementById('first_user').style.color='#000000';
    document.getElementById('mail_user').style.color='#000000';
    document.getElementById('login_user').style.color='#000000';
    document.getElementById('mdp_user').style.color='#000000';
    document.getElementById('mdpv_user').style.color='#000000';

    var test = true;

    if (document.getElementById('name_user2').value.replace(/^\s+/g,'').replace(/\s+$/g,'') == ''){
        document.getElementById('name_user').style.color='#B9220C';
        test = false;
    }
    if (document.getElementById('first_user2').value.replace(/^\s+/g,'').replace(/\s+$/g,'') == ''){
        document.getElementById('first_user').style.color='#B9220C';
        test = false;
    }
    if (document.getElementById('mail_user2').value.replace(/^\s+/g,'').replace(/\s+$/g,'') == ''){
        document.getElementById('mail_user').style.color='#B9220C';
        test = false;
    }
    if (document.getElementById('login_user2').value.replace(/^\s+/g,'').replace(/\s+$/g,'') == ''){
        document.getElementById('login_user').style.color='#B9220C';
        test = false;
    }
    var mdp1 = document.getElementById('mdp_user2').value;
    var mdp2 = document.getElementById('mdpv_user2').value;
    if ((document.getElementById('id_user').value == '' || (document.getElementById('id_user').value == 0)) && (mdp1 != mdp2 || mdp1.replace(/^\s+/g,'').replace(/\s+$/g,'') == '' || mdp2.replace(/^\s+/g,'').replace(/\s+$/g,'') == '')){
        document.getElementById('mdp_user').style.color='#B9220C';
        document.getElementById('mdpv_user').style.color='#B9220C';
        test = false;
    }
    if (test){
        var last = document.getElementById('name_user2').value ;
        var first = document.getElementById('first_user2').value ;
        var login = document.getElementById('login_user2').value ;

        var id_user = '';
        if (document.getElementById('id_user').value != '')
            id_user = '&id_user='+document.getElementById('id_user').value ;
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_options_user_agence&last='+last+'&first='+first+'&login='+login+id_user,'','option_save_immo');
    }
}

function prospectLeven(){

    var last = document.getElementById('prospect_lastname').value;
    var first = document.getElementById('prospect_firstname').value;
    if (last != '' && first != ''){
        var bien = '';
        if (document.getElementById('id_bien') != null)
            var bien = document.getElementById('id_bien').value;
        var id_pros = '';
        if (document.getElementById('id_pros') != null)
            var id_pros = document.getElementById('id_pros').value;
        var type = document.getElementById('type').value;
        var note = '';
        if (document.getElementById('note') != null)
            var note = document.getElementById('note').options[document.getElementById('note').selectedIndex].value;
        var conclure = '';
        if (document.getElementById('conclure') != null)
            var conclure = document.getElementById('conclure').value;
        var concl = '';
        if (conclure == 'oui')
            concl='&conclure=oui'
        var param = '&note='+note;
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_add_prospect_leven&last='+last+'&first='+first+'&id_bien='+bien+'&type='+type+'&id_pros='+id_pros+param+concl,'','rapprochement');
    }else{
        if(last == ''){
            document.getElementById('prospect_lastname').style.backgroundColor='red';
        }
        if(first == ''){
            document.getElementById('prospect_firstname').style.backgroundColor='red';
        }
    }
}

function viewSourceMail(id_mail) {
    dims_showcenteredpopup("",970,600,'dims_popup');
    dims_xmlhttprequest_todiv('admin.php','dims_op=viewMail&id_mail='+id_mail,'','dims_popup');
}

function viewPopupDocumentByGO(id_globalobject){
    dims_showcenteredpopup("",970,600,'dims_popup');
    dims_xmlhttprequest_todiv('admin.php','dims_op=viewPopupDocument&id_globalobject='+id_globalobject,'','dims_popup');
}

function viewReachWeb(id_prospectweb){
    dims_showcenteredpopup("",500,600,'dims_popup');
    dims_xmlhttprequest_todiv('admin.php','dims_op=viewReachWeb&id_prospectweb='+id_prospectweb,'','dims_popup');
}

var prec_pros = '';
function selectedProspect(id){
    if (document.getElementById(prec_pros) != null){
        document.getElementById(prec_pros).style.color='#4E4E4E';
        document.getElementById(prec_pros).style.fontWeight='normal';
    }
    prec_pros = id;
    document.getElementById(id).style.color='#94B04B';
    document.getElementById(id).style.fontWeight='bold';
}


function validAjoutDossier(id_hidden_field_bien, id_hidden_field_prospect, url_redirect_without_param){
    id_bien = document.getElementById(id_hidden_field_bien).value ;
    id_prospect = document.getElementById(id_hidden_field_prospect).value ;
    if((id_bien == '') || (id_prospect == '')){
        if(id_bien == ''){
            alert('Vous devez sélectionner un bien');
        }else{
            alert('Vous devez sélectionner un contact');
        }
    }else{
        dims_hidepopup('dims_popup') ;
       // document.location.href(""+url_redirect_without_param+"&id_bien="+id_bien+"&id_prospect="+id_prospect);
        document.location.replace(url_redirect_without_param+"&id_bien="+id_bien+"&id_prospect="+id_prospect);
    }
}

function rechercheBienDossier(){
    if (document.getElementById('bien_ref').value != ''){
        dims_hidepopup('dims_popup');
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_dossier_search_bien&ref='+document.getElementById('bien_ref').value,'','bien_sel');
    }
    else{
        if (document.getElementById('bien_city').value != ''){
            var address = '';
            if (document.getElementById('bien_address').value != '')
                address = '&address='+document.getElementById('bien_address').value;
            dims_hidepopup('dims_popup');
            dims_xmlhttprequest_todiv('admin.php','dims_op=immo_dossier_search_bien&city='+document.getElementById('bien_city').value+address,'','bien_sel');
        }else{
            document.getElementById('bien_ref').style.backgroundColor='red';
            if (document.getElementById('bien_city').value == '')
                document.getElementById('bien_city').style.backgroundColor='red';
        }
    }
}

function rechercheBienVisite(){
    var selected = '';
    if (document.getElementById('selectedBien') != null)
        selected = '&selected='+document.getElementById('selectedBien').value;
    if (document.getElementById('bien_ref').value != ''){
        dims_hidepopup('dims_popup');
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_visite_search_bien&ref='+document.getElementById('bien_ref').value+selected,'','bien_sel');
    }
    else{
        if (document.getElementById('bien_city').value != ''){
            var address = '';
            if (document.getElementById('bien_address').value != '')
                address = '&address='+document.getElementById('bien_address').value;
            dims_hidepopup('dims_popup');
            dims_xmlhttprequest_todiv('admin.php','dims_op=immo_visite_search_bien&city='+document.getElementById('bien_city').value+address+selected,'','bien_sel');
        }else{
            document.getElementById('bien_ref').style.backgroundColor='red';
            if (document.getElementById('bien_city').value == '')
                document.getElementById('bien_city').style.backgroundColor='red';
        }
    }
}

function addBienVisite(id,refBien){
    for (var i = 1 ; i <= 5; i++){
        if (document.getElementById('bien'+i).innerHTML.replace(/^\s+/g,'').replace(/\s+$/g,'') == ''){
            document.getElementById('bien_sel_'+id).style.display='none';
            document.getElementById('bien'+i).innerHTML = '<input type="hidden" name="valBien'+i+'" value="'+id+'" /><div style="float:left;">'+refBien+'</div><img onclick="javascript:suppBienVisite('+i+','+id+');" src="./modules/immo/gfx/supprimer_fiche.png" alt="Supprimer" title="Supprimer" style="float:right;cursor:pointer;width:14px;" />';
            document.getElementById('bien'+i).value = id;
            if(document.getElementById('selectedBien').value == '')
                document.getElementById('selectedBien').value += id;
            else
                document.getElementById('selectedBien').value += ','+id;
            i = 7;
        }
    }
    if (i == 6)
        alert('Vous ne pouvez ajouter plus de bien !');
}
function suppBienVisite(td, id){
    document.getElementById('bien'+td).innerHTML = '';
    if (document.getElementById('bien_sel_'+id) != null)
        document.getElementById('bien_sel_'+id).style.display='';
    var lstSel = document.getElementById('selectedBien').value.split(',');
    var newLst = '';
    for (var x = 0; x < lstSel.length;x++){
        if (lstSel[x] != id+''){
            if (newLst == '')
                newLst += lstSel[x];
            else
                newLst += ','+lstSel[x];
        }
    }
    document.getElementById('selectedBien').value = newLst;
}

function rechercheBienDossierPopup(div_result){
    if (document.getElementById('bien_ref').value != ''){
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_dossier_search_bien_popup&ref='+document.getElementById('bien_ref').value,'',div_result);
    }
    else{
        if (document.getElementById('bien_ville').value != ''){
            var address = '';
            if (document.getElementById('bien_addr').value != '')
                address = '&address='+document.getElementById('bien_addr').value;
            dims_xmlhttprequest_todiv('admin.php','dims_op=immo_dossier_search_bien_popup&city='+document.getElementById('bien_ville').value+address,'',div_result);
        }else{
            document.getElementById('bien_ref').style.backgroundColor='red';
            if (document.getElementById('bien_ville').value == '')
                document.getElementById('bien_ville').style.backgroundColor='red';
        }
    }
}
function verifValidityField(message_error){
    if(document.getElementById('is_valid').value == 'true'){
        return true;
    }else{
        alert(message_error);
        return false;
    }
}
function validChangementRef(div_result){
    dims_xmlhttprequest_todiv('admin.php','dims_op=immo_object_verif_change_ref&new_ref='+document.getElementById('new_ref').value+'&id_bien='+document.getElementById('id_bien').value,'',div_result);

}

function rechercheBienProspect(){
    if (document.getElementById('bien_ref').value != ''){
        dims_hidepopup('dims_popup');
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_prospect_search_bien&ref='+document.getElementById('bien_ref').value,'','bien_sel');
    }
    else{
        if (document.getElementById('bien_city').value != ''){
            var address = '';
            if (document.getElementById('bien_address').value != '')
                address = '&address='+document.getElementById('bien_address').value;
            dims_hidepopup('dims_popup');
            dims_xmlhttprequest_todiv('admin.php','dims_op=immo_prospect_search_bien&city='+document.getElementById('bien_city').value+address,'','bien_sel');
        }else{
            document.getElementById('bien_ref').style.backgroundColor='red';
            if (document.getElementById('bien_city').value == '')
                document.getElementById('bien_city').style.backgroundColor='red';
        }
    }
}

// fonctions d'ajout de biens/suppression de biens à un prospect
function addSuppProspectBien(elem,inputHidden,masque){
    if (isProspectBien(elem,inputHidden,masque)){
        // on le supprime
        elem.style.backgroundColor='#FFFFFF';
        inputHidden.value=inputHidden.value.replace(elem.id.replace(masque,'')+';','');
    }else{
        // on l'ajoute
        elem.style.backgroundColor='#EDF1E0';
        inputHidden.value=inputHidden.value+elem.id.replace(masque,'')+';';
    }
}
function isProspectBien(elem,inputHidden,masque){
    var regexp = new RegExp(elem.id.replace(masque,'')+';','g');
    return inputHidden.value.match(regexp);
}
// fonctions des cartes
function activeMap() {
    md = new OpenLayers.Control.MouseDefaults();
    map.addControl(md);
}

function desactiveMap() {
    if (map != null && md != null)
        md.destroy();
}

// autocompletion
var value_suggested = '';
function suggest(element){
	//Détection du navigateur
	var is_ie = ((navigator.userAgent.toLowerCase().indexOf("msie") != -1) && (navigator.userAgent.toLowerCase().indexOf("opera") == -1));

	/*Fonction utile : détermine la position absolue exacte d'un objet sur la page*/
	findPos = function(obj){
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft;
			curtop = obj.offsetTop;
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			}
		}
		return [curleft,curtop];
	}

	//Création de la liste des propositions si elle n'existe pas encore
	if(!document.getElementById('suggestsList')){
		var suggestsList = document.createElement('ul');
		suggestsList.id = 'suggestsList';

		/*On donne à la liste la même largeur que le champ de texte => on doit récupérer sa largeur et son padding*/
		var style = (!is_ie ? window.getComputedStyle(element, null) : element.currentStyle); //Récupération du style
		if(style.width){
			var width = parseInt(style.width.replace(/px/, '')); //On transforme la largeur dans le style en int

			//On récupère le padding éventuel du champ pour le rajouter à la largeur à attribuer à la liste
			var paddingRight = (style.paddingRight ? style.paddingRight : false);
			if(paddingRight){
				paddingRight = parseInt(paddingRight.replace(/px/, ''));
				width += paddingRight;
			}

			var paddingLeft = (style.paddingLeft ? style.paddingLeft : false);
			if(paddingLeft){
				paddingLeft = parseInt(paddingLeft.replace(/px/, ''));
				width += paddingLeft;
			}

			width = (isNaN(width) ? 150 : width);
			suggestsList.style.width = width+'px'; //On donne à la liste la même largeur que celle du champ de texte
		}

		//On positionne la liste sous le champ
		suggestsList.style.position = 'absolute';
		var coord = findPos(element); //Récupération des coordonnées du champ
		suggestsList.style.left = coord[0]+'px';
		suggestsList.style.top = coord[1]+(19)+'px'; //On ajoute 19px de haut pour que la liste soit sur le champ et non par-dessus
		document.body.appendChild(suggestsList); //On insère la liste dans le document
	}
	else{
		//Si la liste existe déjà, on se contente de la repérer par rapport à son id
		suggestsList = document.getElementById('suggestsList');
	}
    //Si la valeur a changée, on masque la liste, le temps d'actualiser son contenu
	if(element.value != value_suggested){
		suggestsList.style.display = 'none';
	}

	//Fonction servant à cacher les suggestions
	closeSuggest = function(nofocus){
		var todelete = document.createElement('div');
		todelete.appendChild(suggestsList);
		if(!nofocus){element.focus();}
	};

	//Fonction gérant le parcour des éléments à l'aide des touches directionnelles
	selectSuggest = function(direction){
		//On regarde si un élément est selectionné
		var selected = -1;
		var lis = suggestsList.getElementsByTagName('li');
		for(i=0; i<lis.length; i++){
			if(lis[i].id == 'selectedSuggest'){
				selected = i;
			}
			lis[i].id = '';
		}

		selected += direction;
		selected = (selected < -1 ? (lis.length-1) : selected);
		if(selected >= 0 && selected < lis.length){
			lis[selected].id = 'selectedSuggest';
		}
	};

	//Remplit le champ avec la suggestion sélectionnée
	useSelected = function(){
		//On regarde si un élément est selectionné
		var lis = suggestsList.getElementsByTagName('li');
		for(i=0; i<lis.length; i++){
			if(lis[i].id == 'selectedSuggest'){
				element.value = lis[i].firstChild.textContent;
                dims_xmlhttprequest_todiv('admin.php','dims_op=immo_dossier_autocompletion3&search='+element.value,'','refresh_form');
			}
		}
		closeSuggest();
	};

	document.body.onkeyup = function(e){
		var key = (!is_ie ? e.keyCode : window.event.keyCode);
		switch(key){
			case 27: //Esc
				closeSuggest();
				break;
			case 9: //Tab
				closeSuggest(true); //On referme la liste sans redonner le focus au champ
				break;
			case 38: //Up
				selectSuggest(-1);
				break
			case 40: //Down
				selectSuggest(1);
				break;
			case 13: //Enter
				useSelected();
				break;
		}
	};
	document.body.onclick = function(){closeSuggest(true);};


	if(element.value != '' && element.value != value_suggested){
        dims_xmlhttprequest_todiv('admin.php','dims_op=immo_dossier_autocompletion&search='+element.value,'','suggestsList');
	}
	else if(element.value == ''){
		//Si le champ est vide, on cache la liste
		closeSuggest();
	}
    value_suggested = element.value;
}

// fonctions de gestion des critères de recherche //
	var carteBoucle = null;
	var lst = new Array();
	function defineLst(ll){
		lst = ll;
	}
	function reloadCantons(){
		if (lst.length > 0)
			for(var id in lst)
				selCanton(lst[id]);
		else
			clearInterval(carteBoucle);
	}
	function unSelCanton(lb){
		window.document.getElementById('check_'+lb).checked = false;
		window.document.getElementById('span_'+lb).style.display='none';
		if (navigator.appName == 'Microsoft Internet Explorer'){
			var obj = document.getElementById('carte');
			if (obj.contentDocument != null)
				obj.contentDocument.getElementById(lb).setAttribute('style','fill:#CBCBCB;fill-opacity:1;fill-rule:evenodd;stroke:#22241c;stroke-width:0.18356635;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;');
		}else{
			if (document.carte != null)
				document.carte.getSVGDocument().getElementById(lb).setAttribute('style','fill:#CBCBCB;fill-opacity:1;fill-rule:evenodd;stroke:#22241c;stroke-width:0.18356635;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;');
		}
	}
	function selCanton(lb){
		if (window.document.getElementById('check_'+lb) != null){
			if (navigator.appName == 'Microsoft Internet Explorer'){
				var obj = document.getElementById('carte');
				if (obj.contentDocument != null){
					obj.contentDocument.getElementById(lb).setAttribute('style','fill:#C5DB45;fill-opacity:1;fill-rule:evenodd;stroke:#22241c;stroke-width:0.18356635;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;');
					clearInterval(carteBoucle);
					window.document.getElementById('check_'+lb).checked = true;
					window.document.getElementById('span_'+lb).style.display='block';
				}
			}else{
				document.carte.getSVGDocument().getElementById(lb).setAttribute('style','fill:#C5DB45;fill-opacity:1;fill-rule:evenodd;stroke:#22241c;stroke-width:0.18356635;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;');
				clearInterval(carteBoucle);
				window.document.getElementById('check_'+lb).checked = true;
				window.document.getElementById('span_'+lb).style.display='block';
			}
		}
	}

	function searchUserTodo(){
		dims_xmlhttprequest_todiv('admin.php','dims_op=immo_searchTodoUser&user='+document.getElementById('search_user_todo').value+'&id_sel='+document.getElementById('todo_user_to').value,'','lst_userSearch');
	}
	function changeSelectedUserTodo(idUser){
		if (document.getElementById('todo_user_to').value != '')
			document.getElementById('imgUser_'+document.getElementById('todo_user_to').value).style.display='table-row';
		document.getElementById('todo_user_to').value = idUser;
		if (document.getElementById('imgUser_'+idUser) != null)
			document.getElementById('imgUser_'+idUser).style.display='none';
		dims_xmlhttprequest_todiv('admin.php','dims_op=immo_seachTodoSealUser&user='+idUser,'','selUserSearch');
	}
	function changeSelectedCTBien(idCt){
		dims_xmlhttprequest_todiv('admin.php','dims_op=immo_ChangeCtBilling&id='+idCt,'','info_proprio');
	}
	function changeProprioCT(idCt){
		var idBien = document.getElementById('id_bien').value;
		var idProp = document.getElementById('id_prop').value;
		if (idProp == idCt)
			alert('Vous avez sélectionné le même contact !');
		else{
			if (confirm('Êtes-vous sûr de vouloir changer de propriétaire ?')){
				dims_xmlhttprequest_todiv('admin.php','dims_op=immo_ChangeCtBilling2&id='+idCt+'&bien='+idBien,'','info_proprio');
                        }
		}
		dims_hidepopup();
	}

	// fermeture + ouverture des différents bloc de visu / edition / création d'un bien
	function displayBlock(id){
		if(document.getElementById(id).style.display=='block')
			$('div#'+id).slideUp('slow');
			//document.getElementById(id).style.display='none';
		else
			$('div#'+id).slideDown('slow');
			//document.getElementById(id).style.display='block';
	}

	function uncheckRadio(id){
		document.getElementById(id).checked=false;
	}

	// slide pour l'edition d'un bien
	var img = 1 ;
	function slideImg(sp, max){

	   if (img+sp == 0){
		   img = max ;
	   }else if(img+sp > max){
		   img = 1 ;
	   }else{
		   img += sp;
	   }

	   if (img == 1)
		   document.getElementById('slide_prec').style.display='none';
	   else
		   document.getElementById('slide_prec').style.display='block';
	   if((img+1) == max)
		   document.getElementById('slide_suiv').style.display='none';
	   else
		   document.getElementById('slide_suiv').style.display='block';

	   for (var i = 1; i <= max ; i ++){
		   document.getElementById('img_slide'+i).style.display='none';
	   }

	   document.getElementById('img_slide'+img).style.display='block';
	   if (img == max)
		   document.getElementById('img_slide1').style.display='block';
	   else{
		   var suiv = img + 1;
		   document.getElementById('img_slide'+suiv).style.display='block';
	   }
	}

        function dims_geocoder(geocoder, address, marker,map,image, zz){
            geocoder.geocode({'address': address}, function (results, status) {
                 if (status == google.maps.GeocoderStatus.OK) {
                    var strg_location = "";
                    strg_location += results[0].geometry.location;
                    strg_location += "";
                    var tab_string = strg_location.split(",");
                    var lat = tab_string[0].replace("(", "");
                    var lon = tab_string[1].replace(")", "");
                    document.getElementById('object_latitude').value = lat;
                    document.getElementById('obj_latitude').value = lat;
                    document.getElementById('object_longitude').value = lon;
                    document.getElementById('obj_longitude').value = lon;

                    var laln = results[0].geometry.location;
                    
                    if (marker == null){
                        marker = new google.maps.Marker({
                            position: laln,
                            map: map,
                            icon: image
                        });
                    }else{
                        marker.setPosition(laln);
                    }
                    map.setCenter(laln);
                    map.setZoom(zz);
                 }
                 else {
                     if(status != google.maps.GeocoderStatus.OVER_QUERY_LIMIT 
                         && address != ""){
                         tab_term =address.split(" ");
                         new_address = "";
                         for(var i=0; i<(tab_term.length-1); i++){
                             new_address += tab_term[i];
                         }
                         dims_geocoder(geocoder, new_address, marker,map,image, zz);
                     }else{
                        //alert("Dépassement du quota de géolocalisation google: " + status);
                     }
                 }
            });
        }

	function searchGeoloc(marker,map,image,type){
        
        if (type == null) type = 'osm'; //type = 'google';

        if (type == 'google'){
            if (document.getElementById('city').value != ''){
                document.getElementById('plan_bien').style.display='none';
                document.getElementById('load_map').style.display='block';
                var city = document.getElementById('city').value;
                var country = document.getElementById('obj_country').value;
                city = city.replace(/ /g,'+');
                country = country.replace(/ /g,'+');
                
                if($('input#limit_geolocal:checked').val() == '1'){
                    street = "";
                }else{
                    var street = document.getElementById('street').value;
                    street = street.replace(/ /g,'+');                        
                }
                

                var zip = document.getElementById('zip').value
                zip = zip.replace(/ /g,'+');
                

                var geocoder = new google.maps.Geocoder();
                var address = city+' '+country+' '+zip+' '+street;

                 if (geocoder) {
                    dims_geocoder(geocoder, address, marker,map,image,15);
                }    
                
                document.getElementById('plan_bien').style.display='block';
                document.getElementById('load_map').style.display='none';
            }
        }else if(type == 'osm'){
            if (document.getElementById('city').value != ''){
                document.getElementById('plan_bien').style.display='none';
                document.getElementById('load_map').style.display='block';
                var city = document.getElementById('city').value;
                var country = document.getElementById('obj_country').value;
                city = city.replace(/ /g,'+');
                country = country.replace(/ /g,'+');
                
                if($('input#limit_geolocal:checked').val() == '1'){
                    //alert('ici'+$('input#limit_geolocal'));
                    street = "";
                }else{
                    //alert('la'+$('input#limit_geolocal'));
                    var street = document.getElementById('street').value;
                    street = street.replace(/ /g,'+');                        
                }
                
                var zip = document.getElementById('zip').value
                zip = zip.replace(/ /g,'+');
                //var res = dims_xmlhttprequest('https://maps.googleapis.com/maps/api/geocode/xml','address='+street+',+'+zip+'+'+city+',+Suisse&sensor=false&signature=vNIXE0xscrmjlyV-12Nj_BvUPaw=',true,false);
                var res = dims_xmlhttprequest('http://nominatim.openstreetmap.org/search','q='+street+'+'+city+'+'+zip+'+'+country+'&format=xml&polygon=1&addressdetails=1',false,true);
                var zz = 15 ;
                if (res.getElementsByTagName('place').item(0) == null){
                    var res = dims_xmlhttprequest('http://nominatim.openstreetmap.org/search','q='+city+'+'+zip+'+'+country+'&format=xml&polygon=1&addressdetails=1',false,true);
                    zz = 15;
                }
                            if (res.getElementsByTagName('place').item(0) == null){
                    var res = dims_xmlhttprequest('http://nominatim.openstreetmap.org/search','q='+city+'+'+country+'&format=xml&polygon=1&addressdetails=1',false,true);
                    zz = 15;
                }
                            if (res.getElementsByTagName('place').item(0) == null){
                    var res = dims_xmlhttprequest('http://nominatim.openstreetmap.org/search','q='+city+'&format=xml&polygon=1&addressdetails=1',false,true);
                    zz = 15;
                }
                            
                if (res.getElementsByTagName('place').item(0) != null){
                    var lon = res.getElementsByTagName('place').item(0).getAttribute('lon');
                    var lat = res.getElementsByTagName('place').item(0).getAttribute('lat');
                    document.getElementById('object_latitude').value = lat;
                    document.getElementById('obj_latitude').value = lat;
                    document.getElementById('object_longitude').value = lon;
                    document.getElementById('obj_longitude').value = lon;
    
                    /*
                    var ll = new OpenLayers.LonLat(lon,lat) ;
                    ll.transform(
                                        new OpenLayers.Projection("EPSG:4326"),
                                        map.getProjectionObject()
                                     );
                    map.setCenter(ll, zz);
                    var marker = new OpenLayers.Marker(ll,icon);
                    markers.addMarker(marker);*/
                    var laln = new google.maps.LatLng(lat, lon);
                    if (marker == null)
                        marker = new google.maps.Marker({
                            position: laln,
                            map: map,
                            icon: image
                        });
                    else
                        marker.setPosition(laln);
                    map.setCenter(laln);
                    map.setZoom(zz);
                }
                document.getElementById('plan_bien').style.display='block';
                document.getElementById('load_map').style.display='none';
            }
        }else{
            searchGeoloc(marker,map,image);
        }
	}

function verifChampsRequis(idForm){
    var res = true;
    if ($('form#'+idForm+' input#billing_firstname').val() == '' || $('form# input#billing_firstname').val() == 'Prénom'){
        $('form# input#billing_firstname').addClass("errorChampsBien");
        res = false;
    }
    if ($('form#'+idForm+' input#billing_lastname').val() == '' || $('form# input#billing_lastname').val() == 'Nom'){
        $('form# input#billing_lastname').addClass("errorChampsBien");
        res = false;
    }
    $("form#"+idForm+" input[rel='requis']").each(function(){
        if ($(this).val() == ''){
            $(this).addClass("errorChampsBien");
            res = false;
        }
    });
    $("form#"+idForm+" select[rel='requis']").each(function(){
        if ($(this).val() == '' || $(this).val() == 0){
            $(this).addClass("errorChampsBien");
            res = false;
        }
    });
    return res;
}

function addImageSlider(id){
    dims_showcenteredpopup('',670,500,'dims_popup');
    dims_xmlhttprequest_todiv('admin.php','dims_op=immo_bien_add_slider&id='+id,'','dims_popup');
}

