
var VERSION = 'V1.2.5'; 
//1.2.4 Ajout par JCB : gestion de targetResult = 'div:...'
//1.2.5 Ajout de la prise en compte des champs hid_UrlCss et hid_UrlLogo -> C_Rest

var ModeDebug = true;
var AvecAlerteEXX = false;

var WinDebug = null;

var CONST_CatTrl = "CatTrl_";

var Dept = null;
var CP = null;
var Ville = null;
var INSEE = null;
var Secteur = null;
var INSEE_Origine = null;
var INSEE_Rayon = null;
var Latitude_Mini = null;
var Latitude_Maxi = null;
var Longitude_Mini = null;
var Longitude_Maxi = null;

var Type_Mandat = null;
var Type_Bien = null;
var Type_CategTrans = null;
var Budget_Min = null;
var Budget_Max = null;
var Surface_Min = null;
var Surface_Max = null;
var NbPieces_Min = null;
var NbPieces_Max = null;
var Sejour_Du = null;
var Sejour_Au = null;
var Nb_Personne_Min = null;
var Nb_Personne_Max = null;
var Avec_Photos = null;
var RefAffaire = null;

var C1 = null;
var C2 = null;
var UrlXsl = null;
var UrlXslDetail = null;
var UrlCss = null;
var UrlLogo = null;
var RepProxy = null;
var RepDebug = null;
var Nb_Annonces = null;
var targetResult = ""; // _blank ou pas_blank ou div:id_de_la_div ou id_de_la_frame
var typeVignettes = "Fichiers"; // Fichiers ou Vignettes
var Tri = null;
var LoadingImg = null;

var ParametresListeCommunes = null;
var RadioBouton_ParDefaut = null;
var ActionSurToucheEntrer = null;

var AvecDonneesComp = null;
var FormulaireEtendu = null;
var Avec_AlerteTypeBien = null;

var CTRL_generic_select_Type_Mandat = null;
var CTRL_generic_select_Type_Bien = null;
var CTRL_select_Avec_DonneeComp = null;
var CTRL_generic_input_Budget_Min = null;
var CTRL_generic_input_Budget_Max = null;
var CTRL_generic_input_Surface_Min = null;
var CTRL_generic_input_Surface_Max = null;
var CTRL_generic_input_Nb_Pieces_Min = null;
var CTRL_generic_input_Nb_Pieces_Max = null;
var CTRL_generic_input_Sejour_Du = null;
var CTRL_generic_input_Sejour_Au = null;
var CTRL_generic_input_Nb_Personne_Min = null;
var CTRL_generic_input_Nb_Personne_Max = null;
var CTRL_generic_geo_nomcommune = null;
var CTRL_generic_geo_select = null;
var CTRL_generic_rayon = null;
var CTRL_generic_rayon_0 = null;
var CTRL_generic_rayon_5 = null;
var CTRL_generic_rayon_10 = null;
var CTRL_generic_rayon_30 = null;
var CTRL_generic_geo_ville = null;
var CTRL_generic_geo_cp = null;
var CTRL_generic_geo_secteur = null;
var CTRL_generic_geo_select = null;
var CTRL_generic_count_annonces = null;
var CTRL_generic_span_secteur = null;
var CTRL_generic_input_Avec_photos = null;
var CTRL_chk_Trace = null;
var CTRL_inp_Trace = null;
var CTRL_Text1 = null;
var CTRL_lnk_Voir = null;
var CTRL_hid_RepProxy = null;
var CTRL_hid_RepDebug = null;
var CTRL_hid_C1 = null;
var CTRL_hid_C2 = null;
var CTRL_hid_UrlXsl = null;
var CTRL_hid_UrlXslDetail = null;
var CTRL_hid_UrlCss = null;
var CTRL_hid_UrlLogo = null;
var CTRL_hid_FormEx = null;
var CTRL_hid_AvecAlerteTypeBien = null;
var CTRL_hid_Dept = null;
var CTRL_hid_NbCommunes = null;
var CTRL_hid_ClassmtParPop = null;
var CTRL_hid_AnnoncesDansPI = null;
var CTRL_hid_RadioBP_ParDefaut = null;
var CTRL_hid_ActionSurToucheEntrer = null;
var CTRL_hid_Tri_Defaut = null;
var CTRL_hid_targetResult = null;
var CTRL_hid_vignettes = null;
var CTRL_hid_ModeDebug = null;
var CTRL_generic_geo_select = null;
var CTRL_select_Nb_Annonces_Page = null;
var CTRL_select_Secteur = null;
var CTRL_generic_input_RefAffaire = null;
var CTRL_hid_LoadingImg = null;

var requester = new Requester();

var szDivPreviousInnerHTML = null;

if (requester.isAvailable())
{
	// Ajoute la méthode init au délégué de document.onLoad
	schedule("window", init);
}
else window.alert('pb');

function tool_Check_NombreDecimal(szValue)
{
	try
    {
		RegExp =  /^[0-9]*([.,])?[0-9]+$/;
		return RegExp.test(szValue);   
	}
    catch(exx){Trace("EXX - tool_Check_NombreDecimal - " + exx.message, AvecAlerteEXX);return false;}
}

function tool_popup_append(objPopup,szText,szValue)
{
    try
    {
        //Trace("tool_popup_append( szText = " + szText + " , szValue = " + szValue + ")", false);
        
	    var opt = new Option(szText,szValue);
	    try
	    {
		    objPopup.add(opt , null);
	    } 
	    catch(ex)
	    {
		    objPopup.add(opt);
	    }    	
	}
    catch(exx){Trace("EXX - tool_popup_append - " + exx.message, AvecAlerteEXX);}
 }
 
function tool_popup_insertBefore(objPopup, szText, szValue, index)
{
    try
    {   
        Trace("tool_popup_insertBefore", false);
        
        if (objPopup.selectedIndex >= 0)
        {
            var elOptNew = document.createElement('option');
            elOptNew.text = szText;
            elOptNew.value = szValue;
            var elOptOld = objPopup.options[index];  
            try
            {
              objPopup.add(elOptNew, elOptOld);
            }
            catch(ex)
            {
              objPopup.add(elOptNew, index);
            }
        }    
    }
    catch(exx){Trace("EXX - tool_popup_insertBefore - " + exx.message, AvecAlerteEXX);}
}

function tool_popup_OptionExit(objPopup, szValue)
{
    try
    {
        Trace("tool_popup_OptionExit", false);
        
        for (i = objPopup.length - 1; i>=0; i--)
            if (objPopup.options[i].value == szValue) 
              return true;
        
        return false;
    }
    catch(exx){Trace("EXX - tool_popup_OptionExit - " + exx.message, AvecAlerteEXX);return false;}
}
 
function tool_check_digits(checkStr)
{
    try
    {
        Trace("tool_check_digits", false);

        var checkOK = "0123456789";
        var allValid = true;
        var validGroups = true;
        var decPoints = 0;
        var allNum = "";
        for (i = 0;  i<checkStr.length;  i++)
        {
	        ch = checkStr.charAt(i);
	        for (j = 0;  j<checkOK.length;  j++)
		        if (ch == checkOK.charAt(j))
			        break;
	        if (j == checkOK.length)
	        {
		        allValid = false;
		        break;
	        }
	        allNum += ch;
        }
        if (!allValid)
        {        
	        window.alert("Ne tapez que des chiffres.");	    	    
	        return (false);
        }
        return (true);
    }
    catch(exx){Trace("EXX - tool_check_digits - " + exx.message, AvecAlerteEXX);return false;}
}

function ajax_reccount()
{
    try
    {
        Trace("ajax_reccount - " + requester.getText(), false);
        Nb_Annonces = requester.getText();
        Stop_points(requester.getText());        
	    return true;	    	    
	}
    catch(exx){Trace("EXX - ajax_reccount - " + exx.message, AvecAlerteEXX);return false;}
}

function ajax_commune() // Résultat de la recherche d'un nom de commune
{
    try
    {
        Trace("ajax_commune", false);
	    CTRL_generic_geo_nomcommune.value = requester.getText();	
	    return true;
	}
    catch(exx){Trace("EXX - ajax_commune - " + exx.message, AvecAlerteEXX);return false;}
}

function ajax_annonces_vers_div()
{
var divId = targetResult.substring(4,targetResult.length);
var CTRL_DivResult = document.getElementById(divId);
var szResult = requester.getText();
if (CTRL_DivResult.innerHTML.substring(0,4).toUpperCase() != '<IMG') 
	szDivPreviousInnerHTML = CTRL_DivResult.innerHTML;
CTRL_DivResult.innerHTML = szResult;
}

function set_loading(divId,pathImage)
{
var CTRL_DivResult = document.getElementById(divId);
var szResult = '<img id="loading" src="' + pathImage + '">';
CTRL_DivResult.innerHTML = szResult
}

function stop_loading()
{
}

function restore_div_contents()
{
var divId = targetResult.substring(4,targetResult.length);
var CTRL_DivResult = document.getElementById(divId);
var szResult = requester.getText();

CTRL_DivResult.innerHTML = szDivPreviousInnerHTML;
}

function load_url_to_div(szurl,szparam)
{
var divId = targetResult.substring(4,targetResult.length);
var CTRL_DivResult = document.getElementById(divId);
if (CTRL_DivResult.innerHTML.substring(0,4).toUpperCase() != '<IMG')
	szDivPreviousInnerHTML = CTRL_DivResult.innerHTML;
if (LoadingImg != null) set_loading(targetResult.substring(4),LoadingImg);
requester.setAction(ajax_annonces_vers_div);	   
requester.loadURL(szurl,szparam);
}

function ajax_popup() // Remplir le popup avec les communes trouvées
{
    try
    {
        Trace("ajax_popup()", false);          
        
 	    var popup = CTRL_generic_geo_select;
	    var nodesok = (requester.getXML() != null);

	    if (nodesok)
	    {
	        Trace(requester.getXML().getElementsByTagName("COMMUNE").length, false);    		        	
	        var communesNodes = requester.getXML().getElementsByTagName("COMMUNE");
		    nodesok = (communesNodes.length>0);
	    }
    		
	    if (nodesok)
	    {			
		    while (popup.options.length>0)
			    popup.remove(0);
    		
    		tool_popup_append(popup,"Aucun critère géographique","-1");
		    tool_popup_append(popup,"Sélectionner une commune","");
		    popup.options[1].selected = true;
		    if(Dept != null) tool_popup_append(popup,"Tout le département (" + Dept + ")",Dept);
    		
		    for (i = 0 ; i < communesNodes.length ; i++)
		    {
			    var communeNode = communesNodes[i];
			    var childNodes = communeNode.childNodes;
			    var nom = "";
			    var insee = "";
			    if (childNodes.length > 0)
			    {
				    for (j = 0 ; j < childNodes.length ; j++)
				    {
					    var childNode = childNodes[j];
					    if (childNode.nodeName == "NOM") nom = childNode.childNodes[0].nodeValue;
					    else if (childNode.nodeName == "CODEINSEE") insee = childNode.childNodes[0].nodeValue;
				    }
			    }
			    if ((nom != "") && (insee != "")) tool_popup_append(popup,nom,insee);
		    }
		    popup.style.visibility = "visible";
    	
		    if(INSEE_Origine != null && INSEE_Origine.length >= 4 )
		    {
		       for (i = popup.length - 1; i>=0; i--)
		            if (popup.options[i].value == INSEE_Origine) popup.options[i].selected = true;
                              
               if(popup.value == "") CacheZoneRayon();
		    }
		    else
		    {   			    
		       if(Dept != null && CP == null)
		           for (i = popup.length - 1; i>=0; i--)
		                if (popup.options[i].value == Dept) popup.options[i].selected = true;               
               
               CacheZoneRayon();
		    }
    				
		    if(communesNodes.length == 1)
		    {			    
                for (i = popup.length - 1; i>=0; i--)
		            if (MayBeCodeInsee(popup.options[i].value)) popup.options[i].selected = true;                                                  
                                
               CTRL_generic_rayon.style.visibility = "visible";
               
               Set_Proprietes(); 
               
               if(RadioBouton_ParDefaut == null)
               { 
                    CTRL_generic_rayon_0.checked = true;
               }          
               else
               {
                    if(!CTRL_generic_rayon_0.checked && (CP != null || Ville != null))
                    {
                        Set_Proprietes();  
                        generic_geo_setpopup("insee");                    
                    }
               }     
               
               if(Dept != null && !tool_popup_OptionExit(popup, Dept)) tool_popup_insertBefore(popup, "Tout le département (" + Dept + ")", Dept, popup.selectedIndex);			  
		    }		
	    }
	    else
	    {
		    while (popup.options.length>0) popup.remove(0);
    		
		    tool_popup_append(popup,"Aucune commune trouvée","");
		    if(Dept != null) tool_popup_append(popup,"Tout le département (" + Dept + ")",Dept);
	    }	    	    	
    	
	    Lancer_Comptage();
	    
	    try {hook_departement(Dept);} catch(exx) {};
	    return true;
	}
    catch(exx){Trace("EXX - ajax_popup - " + exx.message, AvecAlerteEXX);return true;}
}

function Clear_Proprietes()
{
    try
    {
        Dept = null;
        CP = null;
        Ville = null;
        INSEE = null;
        Secteur = null;
        INSEE_Origine = null;
        INSEE_Rayon = null;
        Latitude_Mini = null;
        Latitude_Maxi = null;
        Longitude_Mini = null;
        Longitude_Maxi = null;
        Nb_Annonces = null;
        Avec_Photos = null;            
    }
    catch(exx){Trace("EXX - Clear_Proprietes - " + exx.message, AvecAlerteEXX);}
}

function Set_Proprietes()
{   
    try
    {
        Trace("Set_Proprietes()", false); 
      
        Dept = null;
        CP = null;
        Ville = null;
        INSEE = null;
        Secteur = null;
        INSEE_Origine = null;
        INSEE_Rayon = null;
        Latitude_Mini = null;
        Latitude_Maxi = null;
        Longitude_Mini = null;
        Longitude_Maxi = null;
        Nb_Annonces = null;
        Avec_Photos = null;                
                        
        if(CTRL_generic_input_Avec_photos != null)if(CTRL_generic_input_Avec_photos.value == 1){Avec_Photos = 1;}else{Avec_Photos = null;}
        
        if(CTRL_generic_input_RefAffaire != null)RefAffaire = CTRL_generic_input_RefAffaire.value;
        
        if(CTRL_generic_geo_cp != null)if(CTRL_generic_geo_cp.value != "")CP = CTRL_generic_geo_cp.value;
        
        if(CTRL_generic_geo_secteur != null)if(CTRL_generic_geo_secteur.value != "")Secteur = CTRL_generic_geo_secteur.value;
                
        if(CTRL_generic_geo_select != null)
        {        
            var CodeInsee_CBO = CTRL_generic_geo_select.value;            
            if(CodeInsee_CBO.length >= 4) // Le code contenu dans l'item selectionné à le format d'un code INSEE
            {
                if(CodeInsee_CBO != "" && CodeInsee_CBO != "-1")INSEE_Origine = CodeInsee_CBO;
            }
            else if(CodeInsee_CBO.length == 2) // Le code contenu dans l'item selectionné à le format d'un code Dépatement
            {
                if(CodeInsee_CBO != "" && CodeInsee_CBO != "-1")Dept = CodeInsee_CBO;
            }        
        }
                    
        if(CTRL_generic_rayon_0 != null)if(CTRL_generic_rayon_0.checked)INSEE_Rayon = CTRL_generic_rayon_0.value;        
        if(CTRL_generic_rayon_5 != null)if(CTRL_generic_rayon_5.checked)INSEE_Rayon = CTRL_generic_rayon_5.value;        
        if(CTRL_generic_rayon_10 != null)if(CTRL_generic_rayon_10.checked)INSEE_Rayon = CTRL_generic_rayon_10.value;       
        if(CTRL_generic_rayon_30 != null)if(CTRL_generic_rayon_30.checked)INSEE_Rayon = CTRL_generic_rayon_30.value;
            
        if(CTRL_generic_geo_ville != null)if(CTRL_generic_geo_ville.value != "")Ville = CTRL_generic_geo_ville.value;
        
        if(INSEE != null || INSEE_Origine != null || CP != null)
        {   
            if(CP != null) szCodeInsee = CP; 
            if(INSEE != null) szCodeInsee = INSEE; 
            if(INSEE_Origine != null) szCodeInsee = INSEE_Origine;       
            if(szCodeInsee != null)
            {
                if(szCodeInsee.length == 4 && (INSEE != null || INSEE_Origine != null))
                {
                    Dept = "0" + szCodeInsee.slice(0,1);  
                }
                else if(szCodeInsee.length >= 2)
                {
                    Dept = szCodeInsee.slice(0,2);            
                }
                else if(szCodeInsee.length == 1)
                {
                    Dept = "0" + szCodeInsee;
                    CP = Dept;
                }                                            
            }
        }
                
        Type_Mandat = null;
        Type_Bien = null;
		Type_CategTrans = null;
        Budget_Min = null;
        Budget_Max = null;
        Surface_Min = null;
        Surface_Max = null;
        NbPieces_Min = null;
        NbPieces_Max = null;
        Sejour_Du = null;
        Sejour_Au = null;
        Nb_Personne_Min = null;
        Nb_Personne_Max = null;
        AvecDonneesComp = null;        
                
        if(CTRL_generic_select_Type_Mandat != null)Type_Mandat = CTRL_generic_select_Type_Mandat.value;
        
        // --> Modif du 30/01/2008
		if(CTRL_generic_select_Type_Bien != null)
		{
		    Type_Bien = 0;
            if(CTRL_generic_select_Type_Bien.value.length >= CONST_CatTrl.length)
            {
                if(CTRL_generic_select_Type_Bien.value.substring(0,CONST_CatTrl.length) == CONST_CatTrl)
                    Type_CategTrans = CTRL_generic_select_Type_Bien.value.substring(CONST_CatTrl.length,CTRL_generic_select_Type_Bien.value.length)                
                else
                    if(CTRL_generic_select_Type_Bien != null)Type_Bien = CTRL_generic_select_Type_Bien.value;
            }
            else
            {
                if(CTRL_generic_select_Type_Bien != null)Type_Bien = CTRL_generic_select_Type_Bien.value;
            }
        }
        // <-- Modif du 30/01/2008
        
        if(CTRL_select_Avec_DonneeComp != null)AvecDonneesComp = CTRL_select_Avec_DonneeComp.value;                
        if(CTRL_generic_input_Budget_Min != null)if(CTRL_generic_input_Budget_Min.value != "" && tool_Check_NombreDecimal(CTRL_generic_input_Budget_Min.value))Budget_Min = CTRL_generic_input_Budget_Min.value;        
        if(CTRL_generic_input_Budget_Max != null)if(CTRL_generic_input_Budget_Max.value != "" && tool_Check_NombreDecimal(CTRL_generic_input_Budget_Max.value))Budget_Max = CTRL_generic_input_Budget_Max.value;    
        if(CTRL_generic_input_Surface_Min != null)if(CTRL_generic_input_Surface_Min.value != "" && tool_Check_NombreDecimal(CTRL_generic_input_Surface_Min.value))Surface_Min = CTRL_generic_input_Surface_Min.value;
        if(CTRL_generic_input_Surface_Max != null)if(CTRL_generic_input_Surface_Max.value != "" && tool_Check_NombreDecimal(CTRL_generic_input_Surface_Max.value))Surface_Max = CTRL_generic_input_Surface_Max.value;  
        if(CTRL_generic_input_Nb_Pieces_Min != null)if(CTRL_generic_input_Nb_Pieces_Min.value != "" && tool_Check_NombreDecimal(CTRL_generic_input_Nb_Pieces_Min.value))NbPieces_Min = CTRL_generic_input_Nb_Pieces_Min.value;
        if(CTRL_generic_input_Nb_Pieces_Max != null)if(CTRL_generic_input_Nb_Pieces_Max.value != "" && tool_Check_NombreDecimal(CTRL_generic_input_Nb_Pieces_Max.value))NbPieces_Max = CTRL_generic_input_Nb_Pieces_Max.value;        
        
        if(Type_Mandat != null)
        {
            if(Type_Mandat != 1 && Type_Mandat != 2)
            {
                if(CTRL_generic_input_Sejour_Du != null)if(CTRL_generic_input_Sejour_Du.value != "")Sejour_Du = CTRL_generic_input_Sejour_Du.value;
                if(CTRL_generic_input_Sejour_Au != null)if(CTRL_generic_input_Sejour_Au.value != "")Sejour_Au = CTRL_generic_input_Sejour_Au.value;                        
                if(CTRL_generic_input_Nb_Personne_Min != null)if(CTRL_generic_input_Nb_Personne_Min.value != "" && tool_Check_NombreDecimal(CTRL_generic_input_Nb_Personne_Min.value))Nb_Personne_Min = CTRL_generic_input_Nb_Personne_Min.value;
                if(CTRL_generic_input_Nb_Personne_Max != null)if(CTRL_generic_input_Nb_Personne_Max.value != "" && tool_Check_NombreDecimal(CTRL_generic_input_Nb_Personne_Max.value))Nb_Personne_Max = CTRL_generic_input_Nb_Personne_Max.value;
            }
        }
    }
    catch(exx){Trace("EXX - Set_Proprietes - " + exx.message, AvecAlerteEXX);} 
}

function isValidDate(d) {
var dateRegEx = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
return d.match(dateRegEx);
	} 


function CriteresBien_Changent(Obj)
{       
    try
    {     
        Trace("CriteresBien_Changent", false);
        // --> Modif du 30/01/2008
        //if(tool_Check_NombreDecimal(Obj.value) || Obj.value == "")
		var szValeur = '';
        if(Obj.value.substring(0,CONST_CatTrl.length) == CONST_CatTrl)
            szValeur = Obj.value.substring(CONST_CatTrl.length,Obj.value.length);
        else
            szValeur = Obj.value;
                
        var reg = /^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$/g;                       
        
        if(isValidDate(Obj.value)/*reg.test(Obj.value)*/ || tool_Check_NombreDecimal(Obj.value) || Obj.value == "" || Obj.value == "-1" || Obj.value.substring(0,CONST_CatTrl.length) == CONST_CatTrl)
        // <-- Modif du 30/01/2008
        {                        
            Set_Proprietes();   
            Lancer_Comptage();
        }
        else
        {
            alert(Obj.value + " n'est pas une valeur conforme" );
            Obj.value = "";        
        }    
    }
    catch(exx){Trace("EXX - CriteresBien_Changent - " + exx.message, AvecAlerteEXX);}
}

function Lancer_Comptage()
{
    try
    {
        Trace("Lancer_Comptage()", false);                                      
                
        if(Type_Bien == 0 && Avec_AlerteTypeBien == "true")        
        {
            alert('Merci de préciser un type de bien');
        }
        else
        {        
            Start_points();
            generic_pi_count();                
        }
    }
    catch(exx){Trace("EXX - Lancer_Comptage - " + exx.message, AvecAlerteEXX);}
}

function MayBeCodeInsee(szValue)
{
    try
    {
        Trace("MayBeCodeInsee( szValue = " + szValue + " )", false);
        if(szValue != "-1" && szValue.length >= 4 && szValue.length <= 5) return true; else return false;    
    }
    catch(exx){Trace("EXX - MayBeCodeInsee - " + exx.message, AvecAlerteEXX);return false;}
}

function MayBeCodeDept(szValue)
{
    try
    {
        Trace("MayBeCodeDept( szValue = " + szValue + " )", false);    
        if(IsCodeDept(szValue) && szValue != "-1" && szValue.length == 2) return true; else return false;    
    }
    catch(exx){Trace("EXX - MayBeCodeDept - " + exx.message, AvecAlerteEXX);return false;}
}

function IsCodeDept(szValue)
{
    try
    {
        RegExp =  /^[0-9]?[0-9]?$/;
        return RegExp.test(szValue);   
    }
    catch(exx){Trace("EXX - IsCodeDept - " + exx.message, AvecAlerteEXX);return false;}
}

function ClearPopup(popup)
{
    try
    {
        while (popup.options.length>0) popup.remove(0); 
    }
    catch(exx){Trace("EXX - ClearPopup - " + exx.message, AvecAlerteEXX);}
}

function CacheZoneRayon()
{     
    try
    {   
         CTRL_generic_rayon.style.visibility = "hidden";
         if(RadioBouton_ParDefaut != null)
         {
            if(CTRL_generic_rayon_0.checked) document.getElementById(RadioBouton_ParDefaut).checked = true;
         }
         else CTRL_generic_rayon_0.checked = true;
    }
    catch(exx){Trace("EXX - CacheZoneRayon - " + exx.message, AvecAlerteEXX);}
}

function Trace(szTxt, AvecAlerte)
{    
    try
    {                   
        if(ModeDebug)
        {
            
            //------------------------------------------> Zone Debug
            
            CTRL_Text1 = document.getElementById("Text1");
            CTRL_inp_Trace = document.getElementById("inp_Trace");
            CTRL_chk_Trace = document.getElementById("chk_Trace");          
            
            if(CTRL_chk_Trace != null)
            {
                if(CTRL_chk_Trace.checked)
                {     
                    var maintenant = new Date();
                    var Heures = maintenant.getHours();
                    var Minutes = maintenant.getMinutes();
                    var Secondes = maintenant.getSeconds();
                    var Millisecondes = maintenant.getMilliseconds();    
                    if(CTRL_inp_Trace != null) CTRL_inp_Trace.value = Heures + ":" + Minutes + ":" + Secondes + "." + Millisecondes + " - " + szTxt + "\r\n" + CTRL_inp_Trace.value;    
                    if(CTRL_Text1 != null)CTRL_Text1.value = "Dept = " + Dept + " , CP = " + CP + " , INSEE = " + INSEE + " , Ville = " + Ville + " , INSEE_Origine = " + INSEE_Origine + " , INSEE_Rayon = " + INSEE_Rayon +
                                                            "\r\n" + "Secteur = " + Secteur +
                                                            "\r\n\r\n" +  "Type_Mandat = " + Type_Mandat + " Type_Bien = " + Type_Bien + " Budget_Min = " + Budget_Min + " Budget_Max = " + Budget_Max + "\r\n" +  "Surface_Min = " + Surface_Min + " Surface_Max = " + Surface_Max + " NbPieces_Min = " + NbPieces_Min + " NbPieces_Max = " + NbPieces_Max +
                                                            "\r\n" +  "Nb_Annonces = " + Nb_Annonces + " Tri = " + Tri;
                }
            }
            //<------------------------------------------ Fin Zone Debug
            

            if(WinDebug != null)
            {
                    var CTRL_zone_traces = WinDebug.document.getElementById("zone_traces");
                    var CTRL_zone_variables = WinDebug.document.getElementById("zone_variables");
               
                    var maintenant = new Date();
                    var Heures = maintenant.getHours();
                    var Minutes = maintenant.getMinutes();
                    var Secondes = maintenant.getSeconds();
                    var Millisecondes = maintenant.getMilliseconds();    
                    if(CTRL_zone_traces != null) CTRL_zone_traces.value = Heures + ":" + Minutes + ":" + Secondes + "." + Millisecondes + " - " + szTxt + "\r\n" + CTRL_zone_traces.value;    
                    if(CTRL_zone_variables != null)CTRL_zone_variables.value = "Dept = " + Dept + " , CP = " + CP + " , INSEE = " + INSEE + " , Ville = " + Ville + " , INSEE_Origine = " + INSEE_Origine + " , INSEE_Rayon = " + INSEE_Rayon +
                                                            "\r\n" + "Secteur = " + Secteur +
                                                            "\r\n\r\n" +  "Type_Mandat = " + Type_Mandat + " Type_Bien = " + Type_Bien + " Budget_Min = " + Budget_Min + " Budget_Max = " + Budget_Max + "\r\n" +  "Surface_Min = " + Surface_Min + " Surface_Max = " + Surface_Max + " NbPieces_Min = " + NbPieces_Min + " NbPieces_Max = " + NbPieces_Max +
                                                            "\r\n" +  "Nb_Annonces = " + Nb_Annonces + " Tri = " + Tri;
                       
            }
            
            if(ModeDebug && AvecAlerte) { alert(szTxt); }        
        }                                                                                                                        
    }
    catch(exx){}
}

function BP_KeyPress(evenement, myObj)
{   
    try
    {            
        if(ActionSurToucheEntrer != null && ActionSurToucheEntrer == "true") 
            if((window.event ? evenement.keyCode : evenement.which) == 13)
            {                        
                CTRL_lnk_Voir.focus();                
                myObj.focus();
            }
    }
    catch(exx){Trace("EXX - BP_KeyPress - " + exx.message, AvecAlerteEXX);}
}

function init()
{
    try
    {     
        Trace("init", false);
        
        CTRL_hid_ModeDebug = document.getElementById("hid_ModeDebug");
        if(CTRL_hid_ModeDebug == null)Trace("init - hid_ModeDebug = null", false);
        if(CTRL_hid_ModeDebug != null)
        {
            if(CTRL_hid_ModeDebug.value == 0)
            {
                ModeDebug = false;
                AvecAlerteEXX = false;
            }
            else if(CTRL_hid_ModeDebug.value == 1)
            {
                ModeDebug = true;
                AvecAlerteEXX = false;
            }
            else if(CTRL_hid_ModeDebug.value == 2)
            {
                ModeDebug = true;
                AvecAlerteEXX = true;
            }
        }
        
        try
        {
            if(ModeDebug)
            {
                CTRL_hid_RepDebug = document.getElementById("hid_RepDebug");
                if(CTRL_hid_RepDebug == null)Trace("init - hid_RepDebug = null", false);                                    
                WinDebug = window.open(CTRL_hid_RepDebug.value + "page_debug.htm","fenetre1","width=400,height=400,left=0,top=0,resizable=yes");            
            }
        }
        catch(exx){Trace("EXX - init (ModeDebug) - " + exx.message, AvecAlerteEXX);}
    
        Trace(VERSION, AvecAlerteEXX);                                           
        
        CTRL_generic_input_Avec_photos = document.getElementById("generic_input_Avec_photos");
        if(CTRL_generic_input_Avec_photos == null)Trace("init - generic_input_Avec_photos = null", false);
        
        CTRL_generic_input_RefAffaire = document.getElementById("generic_input_RefAffaire");
        if(CTRL_generic_input_RefAffaire == null)Trace("init - generic_input_RefAffaire = null", false);
        
        CTRL_generic_select_Type_Mandat = document.getElementById("generic_select_Type_Mandat");
        if(CTRL_generic_select_Type_Mandat == null)Trace("init - generic_select_Type_Mandat = null", false);
        
        CTRL_generic_select_Type_Bien = document.getElementById("generic_select_Type_Bien");        
        if(CTRL_generic_select_Type_Bien == null)Trace("init - generic_select_Type_Bien = null", false);
        
        CTRL_generic_input_Budget_Min = document.getElementById("generic_input_Budget_Min");
        if(CTRL_generic_input_Budget_Min == null)Trace("init - generic_input_Budget_Min = null", false);
        
        CTRL_generic_input_Budget_Max = document.getElementById("generic_input_Budget_Max");
        if(CTRL_generic_input_Budget_Max == null)Trace("init - generic_input_Budget_Max = null", false);
        
        CTRL_generic_input_Surface_Min = document.getElementById("generic_input_Surface_Min");
        if(CTRL_generic_input_Surface_Min == null)Trace("init - generic_input_Surface_Min = null", false);
        
        CTRL_generic_input_Surface_Max = document.getElementById("generic_input_Surface_Max");
        if(CTRL_generic_input_Surface_Max == null)Trace("init - generic_input_Surface_Max = null", false);
        
        CTRL_generic_input_Nb_Pieces_Min = document.getElementById("generic_input_Nb_Pieces_Min");
        if(CTRL_generic_input_Nb_Pieces_Min == null)Trace("init - generic_input_Nb_Pieces_Min = null", false);
        
        CTRL_generic_input_Nb_Pieces_Max = document.getElementById("generic_input_Nb_Pieces_Max");
        if(CTRL_generic_input_Nb_Pieces_Max == null)Trace("init - generic_input_Nb_Pieces_Max = null", false);
        
        CTRL_generic_geo_nomcommune = document.getElementById("generic_geo_nomcommune");
        if(CTRL_generic_geo_nomcommune == null)Trace("init - generic_geo_nomcommune = null", false);
        
        CTRL_generic_geo_select = document.getElementById("generic_geo_select");
        if(CTRL_generic_geo_select == null)Trace("init - generic_geo_select = null", false);
        
        CTRL_generic_rayon = document.getElementById("generic_rayon");
        if(CTRL_generic_rayon == null)Trace("init - generic_rayon = null", false);
        
        CTRL_generic_rayon_0 = document.getElementById("generic_rayon_0");
        if(CTRL_generic_rayon_0 == null)Trace("init - generic_rayon_0 = null", false);
        
        CTRL_generic_rayon_5 = document.getElementById("generic_rayon_5");
        if(CTRL_generic_rayon_5 == null)Trace("init - generic_rayon_5 = null", false);
        
        CTRL_generic_rayon_10 = document.getElementById("generic_rayon_10");
        if(CTRL_generic_rayon_10 == null)Trace("init - generic_rayon_10 = null", false);
        
        CTRL_generic_rayon_30 = document.getElementById("generic_rayon_30");
        if(CTRL_generic_rayon_30 == null)Trace("init - generic_rayon_30 = null", false);
        
        CTRL_generic_geo_ville = document.getElementById("generic_geo_ville");
        if(CTRL_generic_geo_ville == null)Trace("init - generic_geo_ville = null", false);
        
        CTRL_generic_geo_cp = document.getElementById("generic_geo_cp");
        if(CTRL_generic_geo_cp == null)Trace("init - generic_geo_cp = null", false);
        
        CTRL_generic_geo_secteur = document.getElementById("generic_geo_secteur");
        if(CTRL_generic_geo_secteur == null)Trace("init - generic_geo_secteur = null", false);
        
        CTRL_generic_count_annonces = document.getElementById("generic_count_annonces");
        if(CTRL_generic_count_annonces == null)Trace("init - generic_count_annonces = null", false);
        
        CTRL_generic_span_secteur = document.getElementById("generic_span_secteur");
        if(CTRL_generic_span_secteur == null)Trace("init - generic_span_secteur = null", false);
        
        CTRL_select_Avec_DonneeComp = document.getElementById("select_Avec_DonneeComp");
        if(CTRL_select_Avec_DonneeComp == null)Trace("init - select_Avec_DonneeComp = null", false);
        
        CTRL_select_Nb_Annonces_Page = document.getElementById("select_Nb_Annonces_Page");
        if(CTRL_select_Nb_Annonces_Page == null)Trace("init - select_Nb_Annonces_Page = null", false);
        
        CTRL_select_Secteur = document.getElementById("select_Secteur");
        if(CTRL_select_Secteur == null)Trace("init - select_Secteur = null", false);
        
        CTRL_generic_input_Sejour_Du = document.getElementById("generic_input_Sejour_Du");
        if(CTRL_generic_input_Sejour_Du == null)Trace("init - generic_input_Sejour_Du = null", false);
        
        CTRL_generic_input_Sejour_Au = document.getElementById("generic_input_Sejour_Au");
        if(CTRL_generic_input_Sejour_Au == null)Trace("init - generic_input_Sejour_Au = null", false);
        
        CTRL_generic_input_Nb_Personne_Min = document.getElementById("generic_input_Nb_Personne_Min");
        if(CTRL_generic_input_Nb_Personne_Min == null)Trace("init - generic_input_Nb_Personne_Min = null", false);
        
        CTRL_generic_input_Nb_Personne_Max = document.getElementById("generic_input_Nb_Personne_Max");
        if(CTRL_generic_input_Nb_Personne_Max == null)Trace("init - generic_input_Nb_Personne_Max = null", false);
        
//        CTRL_chk_Trace = document.getElementById("chk_Trace");
//        if(CTRL_chk_Trace == null)Trace("init - chk_Trace = null", false);
        
//        CTRL_inp_Trace = document.getElementById("inp_Trace");
//        if(CTRL_inp_Trace == null)Trace("init - inp_Trace = null", false);
        
//        CTRL_Text1 = document.getElementById("Text1");
//        if(CTRL_Text1 == null)Trace("init - Text1 = null", false);
        
        CTRL_lnk_Voir = document.getElementById("lnk_Voir");
        if(CTRL_lnk_Voir == null)Trace("init - lnk_Voir = null", false);
        
        CTRL_hid_RepProxy = document.getElementById("hid_RepProxy");
        if(CTRL_hid_RepProxy == null)Trace("init - hid_RepProxy = null", false);
        
        CTRL_hid_C1 = document.getElementById("hid_C1");
        if(CTRL_hid_C1 == null)Trace("init - hid_C1 = null", false);
        
        CTRL_hid_C2 = document.getElementById("hid_C2");
        if(CTRL_hid_C2 == null)Trace("init - hid_C2 = null", false);
        
        CTRL_hid_UrlXsl = document.getElementById("hid_UrlXsl");
        if(CTRL_hid_UrlXsl == null)Trace("init - hid_UrlXsl = null", false);
        
        CTRL_hid_UrlXslDetail = document.getElementById("hid_UrlXslDetail");
        if(CTRL_hid_UrlXslDetail == null)Trace("init - CTRL_hid_UrlXslDetail = null", false);

        CTRL_hid_UrlCss = document.getElementById("hid_UrlCss");
        if(CTRL_hid_UrlCss == null)Trace("init - hid_UrlCss = null", false);

        CTRL_hid_UrlLogo = document.getElementById("hid_UrlLogo");
        if(CTRL_hid_UrlLogo == null)Trace("init - hid_UrlLogo = null", false);
        
        CTRL_hid_FormEx = document.getElementById("hid_FormEx");
        if(CTRL_hid_FormEx == null)Trace("init - hid_FormEx = null", false);
        
        CTRL_hid_AvecAlerteTypeBien = document.getElementById("hid_AvecAlerteTypeBien");
        if(CTRL_hid_AvecAlerteTypeBien == null)Trace("init - hid_AvecAlerteTypeBien = null", false);
        
        CTRL_hid_Dept = document.getElementById("hid_Dept");
        if(CTRL_hid_Dept == null)Trace("init - hid_Dept = null", false);
        
        CTRL_hid_NbCommunes = document.getElementById("hid_NbCommunes");
        if(CTRL_hid_NbCommunes == null)Trace("init - hid_NbCommunes = null", false);
        
        CTRL_hid_ClassmtParPop = document.getElementById("hid_ClassmtParPop");
        if(CTRL_hid_ClassmtParPop == null)Trace("init - hid_ClassmtParPop = null", false);
        
        CTRL_hid_AnnoncesDansPI = document.getElementById("hid_AnnoncesDansPI");
        if(CTRL_hid_AnnoncesDansPI == null)Trace("init - hid_AnnoncesDansPI = null", false);
        
        CTRL_hid_RadioBP_ParDefaut = document.getElementById("hid_RadioBP_ParDefaut");
        if(CTRL_hid_RadioBP_ParDefaut == null)Trace("init - hid_RadioBP_ParDefaut = null", false);
        
        CTRL_hid_ActionSurToucheEntrer = document.getElementById("hid_ActionSurToucheEntrer");
        if(CTRL_hid_ActionSurToucheEntrer == null)Trace("init - hid_ActionSurToucheEntrer = null", false);
        
        CTRL_hid_Tri_Defaut = document.getElementById("hid_Tri_Defaut");
        if(CTRL_hid_Tri_Defaut == null)Trace("init - hid_Tri_Defaut = null", false);
        
        CTRL_hid_targetResult = document.getElementById("hid_targetResult");
        if(CTRL_hid_targetResult == null)Trace("init - hid_targetResult = null", false);
       
        CTRL_hid_vignettes = document.getElementById("hid_vignettes");
        if(CTRL_hid_vignettes == null)Trace("init - hid_vignettes = null", false);

        CTRL_hid_LoadingImg = document.getElementById("hid_LoadingImg");
        if(CTRL_hid_LoadingImg == null)Trace("init - hid_LoadingImg = null", false);
                
        Set_Proprietes();
        CacheZoneRayon();
               
        if(CTRL_hid_RepProxy != null) if(CTRL_hid_RepProxy.value != "") RepProxy = CTRL_hid_RepProxy.value;               
        if(CTRL_hid_C1 != null) if(CTRL_hid_C1.value != "") C1 = CTRL_hid_C1.value;        
        if(CTRL_hid_C2 != null) if(CTRL_hid_C2.value != "") C2 = CTRL_hid_C2.value;
        if(CTRL_hid_UrlXsl != null) if(CTRL_hid_UrlXsl.value != "") UrlXsl = CTRL_hid_UrlXsl.value;   
        if(CTRL_hid_UrlXslDetail != null) if(CTRL_hid_UrlXslDetail.value != "") UrlXslDetail = CTRL_hid_UrlXslDetail.value;           
        if(CTRL_hid_UrlCss != null) if(CTRL_hid_UrlCss.value != "") UrlCss = CTRL_hid_UrlCss.value;   
        if(CTRL_hid_UrlLogo != null) if(CTRL_hid_UrlLogo.value != "") UrlLogo = CTRL_hid_UrlLogo.value;   
        if(CTRL_hid_FormEx != null) if(CTRL_hid_FormEx.value != "") FormulaireEtendu = CTRL_hid_FormEx.value;                       
        if(CTRL_hid_AvecAlerteTypeBien != null)Avec_AlerteTypeBien = CTRL_hid_AvecAlerteTypeBien.value;
        if(CTRL_hid_Dept != null && Dept == null) if(CTRL_hid_Dept.value != "" && MayBeCodeDept(CTRL_hid_Dept.value))Dept = CTRL_hid_Dept.value;                  
                                   
        ParametresListeCommunes = "";
        if(CTRL_hid_NbCommunes != null) if(CTRL_hid_NbCommunes.value != "") ParametresListeCommunes += "&NbRet=" +  CTRL_hid_NbCommunes.value;     
        if(CTRL_hid_ClassmtParPop != null) if(CTRL_hid_ClassmtParPop.value != "") ParametresListeCommunes += "&ClassmtParPop=" +  CTRL_hid_ClassmtParPop.value;     
        if(CTRL_hid_AnnoncesDansPI != null) if(CTRL_hid_AnnoncesDansPI.value != "") ParametresListeCommunes += "&AnnDsPI=" +  CTRL_hid_AnnoncesDansPI.value;            
        
	if(CTRL_hid_LoadingImg != null) if(CTRL_hid_LoadingImg.value != "") LoadingImg = CTRL_hid_LoadingImg.value;

        if(CTRL_hid_RadioBP_ParDefaut != null) 
            if(CTRL_hid_RadioBP_ParDefaut.value != "") 
            {
                RadioBouton_ParDefaut = CTRL_hid_RadioBP_ParDefaut.value;
                CTRL_hid_RadioBP_ParDefaut.checked = true;
            }

        if(CTRL_hid_ActionSurToucheEntrer != null) if(CTRL_hid_ActionSurToucheEntrer.value != "") ActionSurToucheEntrer = CTRL_hid_ActionSurToucheEntrer.value;
                
        if(CTRL_hid_Tri_Defaut != null) if(CTRL_hid_Tri_Defaut.value != "") Tri = CTRL_hid_Tri_Defaut.value;
                       
	    // --> Modif du 30/01/2008
	    if (CTRL_hid_targetResult != null) targetResult = CTRL_hid_targetResult.value;//targetResult = (ObjHidTargetResult.value == "_blank") ? "_blank" : "";	   	    	    
		// <-- Modif du 30/01/2008
       
	    if (CTRL_hid_vignettes != null) typeVignettes = CTRL_hid_vignettes.value;        

        if(Dept != null) generic_geo_setpopup("dept");
        else tool_popup_append(CTRL_generic_geo_select,"Saisir commune ou Département / CP","");        
		
		// --> Modifs du 30/01/2008
		Init_Plus();
		// <-- Modifs du 30/01/2008
    }
    catch(exx){Trace("EXX - init - " + exx.message, AvecAlerteEXX);}
}


function Make_Params_URL()
{
    try
    {    
        var param = "";
      	
        if(C1 != null) param += "&C1="+ C1;
        if(C2 != null) param += "&C2="+ C2;

        if(Avec_Photos != null)param += "&Photos="+ Avec_Photos;
        if(RefAffaire != null && RefAffaire != "")param += "&CleAffaire="+ RefAffaire;

	    if(Dept != null && (Dept == CP || CP == null) && INSEE_Origine == null) param += "&CP="+ Dept + "%";
	    else if(CP != null) 
	    {
	       if(CP.length == 5) param += "&CP="+ CP;
	       else if(CP.length < 5) param += "&CP=" + CP + "%";
	    }
    	
        if(Ville != null) param += "&Ville="+ Ville + "%";
        if(Secteur != null) param += "&Secteur="+ Secteur;
        if(INSEE_Origine != null)
        {
            if(INSEE_Rayon != null && INSEE_Rayon != 0)
            {
                param += "&INSEE_Origine="+ INSEE_Origine;
                param += "&INSEE_Rayon="+ INSEE_Rayon;
            }
            else if (INSEE_Rayon != null && INSEE_Rayon == 0) 
            {
                param += "&INSEE="+ INSEE_Origine;
            }
        }
        if(Latitude_Mini != null) param += "&Latitude_Mini="+ Latitude_Mini;
        if(Latitude_Maxi != null) param += "&Latitude_Maxi="+ Latitude_Maxi;
        if(Longitude_Mini != null) param += "&Longitude_Mini="+ Longitude_Mini;
        if(Longitude_Maxi != null) param += "&Longitude_Maxi="+ Longitude_Maxi;
    		    		    	
        if(Sejour_Du != null) param += "&S_Sej_Du="+ Sejour_Du.substring(6,10)+"-"+Sejour_Du.substring(3,5)+"-"+Sejour_Du.substring(0,2);;
        if(Sejour_Au != null) param += "&S_Sej_Au="+ Sejour_Au.substring(6,10)+"-"+Sejour_Au.substring(3,5)+"-"+Sejour_Au.substring(0,2);;
        
        if(Nb_Personne_Min != null) param += "&S_Nb_Pers_Min="+ Nb_Personne_Min;
        if(Nb_Personne_Max != null) param += "&S_Nb_Pers_Max="+ Nb_Personne_Max;
        
    		    	
	    if(Type_Mandat != null)
	    {
	        switch(Type_Mandat)
	        {
	            case "0": break;  // Tous types de mandats
    	        
	            case "1": // Vente
	                if(Budget_Min == null && Budget_Max == null)param += "&Vente=1";
	                else
	                {
	                    if(Budget_Min != null) param += "&V_PxMin=" + Budget_Min;
	                    if(Budget_Max != null) param += "&V_PxMax=" + Budget_Max;
	                }
	            break;
    	        
	            case "2": // Location
	                if(Budget_Min == null && Budget_Max == null)param += "&Location=1";
	                else
	                {
	                    if(Budget_Min != null) param += "&L_LoyMin=" + Budget_Min;
	                    if(Budget_Max != null) param += "&L_LoyMax=" + Budget_Max;
	                }    	           
	            break;
    	        
	            case "3": param += "&Saisonnier=1"; break; // Saisonnier
	        }
	    }	        	
    	
	    if(Type_Bien != null)
	    {    	    
	        switch(Type_Bien)
	        {
	            case "2": // Maison
	                if(Surface_Min == null && Surface_Max == null && NbPieces_Min == null && NbPieces_Max == null)param += "&Maison=1";
	                else
	                {    	                    	                
	                    if(Surface_Min != null) param += "&M_Surf_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&M_Surf_Max=" + Surface_Max;
	                    if(NbPieces_Min != null) param += "&M_Nb_Pi_Min=" + NbPieces_Min;
	                    if(NbPieces_Max != null) param += "&M_Nb_Pi_Max=" + NbPieces_Max;
	                }    	               	          	        
	            break;
    	        
                case "1": // Appartement
                    if(Surface_Min == null && Surface_Max == null && NbPieces_Min == null && NbPieces_Max == null)param += "&Appartement=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&App_Surf_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&App_Surf_Max=" + Surface_Max;
	                    if(NbPieces_Min != null) param += "&App_Nb_Pi_Min=" + NbPieces_Min;
	                    if(NbPieces_Max != null) param += "&App_Nb_Pi_Max=" + NbPieces_Max;
	                }
                break;
                
                case "3": // Terrain
                    if(Surface_Min == null && Surface_Max == null)param += "&Terrain=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&T_Surf_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&T_Surf_Max=" + Surface_Max;
	                }
                break;
                
                case "4": // Demeure ou chateau
                    if(Surface_Min == null && Surface_Max == null && NbPieces_Min == null && NbPieces_Max == null)param += "&DemeureChateau=1";
	                else
	                {    	                    	                
	                    if(Surface_Min != null) param += "&DC_Surf_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&DC_Surf_Max=" + Surface_Max;
	                    if(NbPieces_Min != null) param += "&DC_Nb_Pi_Min=" + NbPieces_Min;
	                    if(NbPieces_Max != null) param += "&DC_Nb_Pi_Max=" + NbPieces_Max;
	                }
                break;
                
                case "5": // Fonds de commerce
                    if(Surface_Min == null && Surface_Max == null)param += "&FondsCommerce=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&FC_Surf_Com_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&FC_Surf_Com_Max=" + Surface_Max;
	                }
                break;
                
                case "6": param += "&DroitAuBail=1"; break;  // Droit au bail
                
                case "7": // Parking ou garage
                    if(Surface_Min == null && Surface_Max == null)param += "&ParkingGarage=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&PG_Surf_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&PG_Surf_Max=" + Surface_Max;
	                }
                break;
                
                case "8": // Immeuble
                    if(Surface_Min == null && Surface_Max == null)param += "&Immeuble=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&I_Surf_Tot_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&I_Surf_Tot_Max=" + Surface_Max;
	                }
                break;
                
                case "10": // Local professionnel
                    if(Surface_Min == null && Surface_Max == null && NbPieces_Min == null && NbPieces_Max == null)param += "&LocalProfessionnel=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&LP_Surf_Ut_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&LP_Surf_Ut_Max=" + Surface_Max;
	                    if(NbPieces_Min != null) param += "&LP_Nb_Pi_Min=" + NbPieces_Min;
	                    if(NbPieces_Max != null) param += "&LP_Nb_Pi_Max=" + NbPieces_Max;
	                }
                break;
                
                case "22": // Local industriel
                    if(Surface_Min == null && Surface_Max == null)param += "&LocalIndustriel=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&LI_Surf_Ut_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&LI_Surf_Ut_Max=" + Surface_Max;    	                
	                }
                break;
                
                case "21": // Local commercial
                    if(Surface_Min == null && Surface_Max == null && NbPieces_Min == null && NbPieces_Max == null)param += "&LocalCommercial=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&LC_Surf_Ut_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&LC_Surf_Ut_Max=" + Surface_Max;
	                    if(NbPieces_Min != null) param += "&LC_Nb_Pi_Min=" + NbPieces_Min;
	                    if(NbPieces_Max != null) param += "&LC_Nb_Pi_Max=" + NbPieces_Max;
	                }
                break;
                
                case "96": // Forêt
                    if(Surface_Min == null && Surface_Max == null)param += "&Foret=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&F_Superf_Tot_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&F_Superf_Tot_Max=" + Surface_Max;
	                }
                break;
                
                case "97": // Exploitation agri/viticole
                    if(Surface_Min == null && Surface_Max == null)param += "&AgricoleViticole=1";
	                else
	                {
	                    if(Surface_Min != null) param += "&AV_Surf_Ut_Min=" + Surface_Min;
	                    if(Surface_Max != null) param += "&AV_Surf_Ut_Max=" + Surface_Max;
	                }
                break;
	        }              
	    }			
    	
		if(Type_CategTrans != null)
    	{    	    	                
            var tableau=Type_CategTrans.split(",");
            var szCateg = "";
            for(i = 0; i < tableau.length; i++)
            {                
                if(szCateg == "") szCateg += "&CatTrans=" + tableau[i];
                else szCateg += "," + tableau[i];                
            }              
            param += szCateg; 	    	    
    	}
    	
	    if (param.substring(0,1) == "&")
		    param = param.substring(1,param.length);
    	
	    return param;    	
	}
    catch(exx){Trace("EXX - Make_Params_URL - " + exx.message, AvecAlerteEXX);return "";}
}

function Set_Tri(szValue)
{
    try
    {
        Tri = szValue;
        Trace("Set_Tri - ( szValue = " + szValue + " )", false);
    }
    catch(exx){Trace("EXX - Set_Tri - " + exx.message, AvecAlerteEXX);}
}

function Internal_Voir()
{
    try
    {
        Trace("Internal_Voir", false);                
        	
        if (requester.isRunning()) 
        {
            Trace("generic_pi_count - requester.isRunning", false); 
            window.setTimeout( 'Lancer_Comptage();', 500 );
            
            return;
        }
        
        var param = Make_Params_URL();
        param += "&C_Rest=Avec_" + typeVignettes + "|!|true";
        
        if(CTRL_select_Nb_Annonces_Page != null) param += "&C_Rest=Bien_DU_AU|!|0," + (CTRL_select_Nb_Annonces_Page.value - 1);
        
        if(Tri != null)
        {
            param += "&C_Rest=Criteres_Tri|!|" + Tri;
        }
        
        if(AvecDonneesComp != null)if(AvecDonneesComp)param += "&C_Rest=Avec_Donnees_Complementaires|!|true";
        
        if(UrlXsl != null)
        {
            if(RepProxy != null)
            {                              
                var Suffixe = RepProxy.substring(0,4);                
                
                if(Suffixe == "url:")
                {
                    RepProxy = RepProxy.substring(4,RepProxy.length);                    
                    szlocation = RepProxy + "Voir_Annonces.ashx?Xsl=" + UrlXsl + ((param != "")? ("&" + param) : "");
                    if(UrlXslDetail != null && RefAffaire != null  && RefAffaire != "")szlocation = RepProxy + "Voir_Annonces.ashx?Xsl=" + UrlXslDetail + ((param != "")? ("&" + param) : "");
                }
                else
                {
                    szlocation = RepProxy + "PIv3.ashx?proxypage=Voir_Annonces.ashx&Xsl=" + UrlXsl + ((param != "")? ("&" + param) : "");
                    if(UrlXslDetail != null && RefAffaire != null  && RefAffaire != "")szlocation = RepProxy + "PIv3.ashx?proxypage=Voir_Annonces.ashx&Xsl=" + UrlXslDetail + ((param != "")? ("&" + param) : "");
                }
            }
            else
            {
                //szlocation = "Voir_Annonces.ashx?Xsl=" + UrlXsl + ((param != "")? ("&" + param) : "");
                //if(UrlXslDetail != null && RefAffaire != null && RefAffaire != "")szlocation = RepProxy + "Voir_Annonces.ashx?Xsl=" + UrlXslDetail + ((param != "")? ("&" + param) : "");
                
                szlocation = "PIv3.ashx?proxypage=Voir_Annonces.ashx&Xsl=" + UrlXsl + ((param != "")? ("&" + param) : "");
                if(UrlXslDetail != null && RefAffaire != null && RefAffaire != "")szlocation = RepProxy + "PIv3.ashx?proxypage=Voir_Annonces.ashx&Xsl=" + UrlXslDetail + ((param != "")? ("&" + param) : "");
            }

			if (UrlCss != null)
			{
				szlocation += '&C_Rest=Css|!|' + UrlCss;
			}
			if (UrlLogo != null)
			{
				szlocation += '&C_Rest=UrlLogo|!|' + UrlLogo;
			}
			
            Trace("Voir - window.location = " + szlocation, false);                                                                 
            
	        if (targetResult == "_blank")
			{
			    window.open(szlocation,'Resultat');
			    return true;
			}
	        // --> Modifs du 30/01/2008
	        else if(targetResult == "pas_blank")
			{
			    window.location = szlocation;			    			    			    
			    return true;
			}
			else if(targetResult.substring(0,4)=="div:") // JCB
				{
				var i = szlocation.indexOf("?");
				var szurl = szlocation.substring(0,i);
				var szparam = szlocation.substring(i+1);
				load_url_to_div(szurl,szparam);
                
                		return true;
				} //    /JCB
				else
				{			    			    
				    window.frames[targetResult].location.href=szlocation; 			    
				    return true;
				}
	        //else
			//{
			//   window.location = szlocation;
			//    return true;
			//}
			// <-- Modifs du 30/01/2008
        }            
    }
    catch(exx){Trace("EXX - Internal_Voir - " + exx.message, AvecAlerteEXX);}
}

function Voir2()
{
    try
    {
        if(Type_Bien == 0 && Avec_AlerteTypeBien == "true")        
        {
            alert('Merci de préciser un type de bien');
        }
        else
        {        
            Internal_Voir();                
        }           
    }
    catch(exx){Trace("EXX - Voir2 - " + exx.message, AvecAlerteEXX);}
}

function Voir()
{
    try
    {
        if(Nb_Annonces != null && Nb_Annonces > 0)
        {
              Internal_Voir();                  
        }
        else alert('Aucune annonce ne correspond à ces critères');
    }
    catch(exx){Trace("EXX - Voir - " + exx.message, AvecAlerteEXX);}
}

function generic_pi_count()
{
    try
    {
        Trace("generic_pi_count", false);                        
        
        if(FormulaireEtendu != null)
        {
            if(FormulaireEtendu == "true")
	        {                        	    	
                if (requester.isRunning()) 
                {
                    Trace("generic_pi_count - requester.isRunning", false); 
                    window.setTimeout( 'generic_pi_count();', 500 );
                    return;
                }
        	    
                var param = Make_Params_URL();	    	   	    	    
        	     
                requester.setAction(ajax_reccount);	   
                           
                var Suffixe = RepProxy.substring(0,4);                
                                
                if(Suffixe == "url:")
                {
                    RepProxy = RepProxy.substring(4,RepProxy.length);
                    requester.loadURL(RepProxy + "Compter_Annonces.ashx",param);
                }
                else
                {
                    requester.loadURL(RepProxy + "PIv3.ashx","proxypage=Compter_Annonces.ashx&"+param);                
                }                                                 
            }
        }
	}
    catch(exx){Trace("EXX - generic_pi_count - " + exx.message, AvecAlerteEXX);}
}


//function generic_geo_setpopup(szCodeAction)
//{
//    try
//    {
//        Trace("generic_geo_setpopup( szCodeAction = " + szCodeAction + " )", false);
//        
//        Start_points();        
//        	    
//	    if (requester.isRunning()) 
//	    {
//	        Trace("generic_geo_setpopup - requester.isRunning", false); 
//	        window.setTimeout( 'generic_geo_setpopup(\''+ szCodeAction +'\');', 500 );
//	        return;
//	    }
//	    
//	    if (szCodeAction=="dept")
//	    {
//		    requester.setAction(ajax_popup);
//		    requester.loadURL(RepProxy + "Chercher_Communes.ashx","Dept=" + Dept + ParametresListeCommunes);		
//	    }
//	    else if (szCodeAction=="insee")
//	    {
//		    requester.setAction(ajax_popup);
//		    requester.loadURL(RepProxy + "Chercher_Communes.ashx","CodeInsee=" + INSEE_Origine + "&InseeRayon=" + INSEE_Rayon + ParametresListeCommunes);		
//	    }
//	    else if (szCodeAction=="cp")
//	    {
//		    requester.setAction(ajax_popup);		    
//		    requester.loadURL(RepProxy + "Chercher_Communes.ashx","CP=" + CP + ParametresListeCommunes);		
//	    }
//	    else if (szCodeAction=="ville")
//	    {
//		    requester.setAction(ajax_popup);		    
//		    requester.loadURL(RepProxy + "Chercher_Communes.ashx","Ville=" + Ville + ParametresListeCommunes);		
//	    }	    
//	}
//    catch(exx){Trace("EXX - generic_geo_setpopup - " + exx.message, AvecAlerteEXX);}
//}

function generic_geo_setpopup(szCodeAction)
{
    try
    {
        Trace("generic_geo_setpopup( szCodeAction = " + szCodeAction + " )", false);
        
        Start_points();        
        	    
	    if (requester.isRunning()) 
	    {
	        Trace("generic_geo_setpopup - requester.isRunning", false); 
	        window.setTimeout( 'generic_geo_setpopup(\''+ szCodeAction +'\');', 500 );
	        return;
	    }
	    
	    var Suffixe = RepProxy.substring(0,4);        
                                
        if(Suffixe == "url:")
        {
            RepProxy = RepProxy.substring(4,RepProxy.length);
            if (szCodeAction=="dept")
            {
                requester.setAction(ajax_popup);
                requester.loadURL(RepProxy + "Chercher_Communes.ashx","Dept=" + Dept + ParametresListeCommunes);		
            }
            else if (szCodeAction=="insee")
            {
                requester.setAction(ajax_popup);
                requester.loadURL(RepProxy + "Chercher_Communes.ashx","CodeInsee=" + INSEE_Origine + "&InseeRayon=" + INSEE_Rayon + ParametresListeCommunes);		
            }
            else if (szCodeAction=="cp")
            {
                requester.setAction(ajax_popup);		    
                requester.loadURL(RepProxy + "Chercher_Communes.ashx","CP=" + CP + ParametresListeCommunes);		
            }
            else if (szCodeAction=="ville")
            {
                requester.setAction(ajax_popup);		    
                requester.loadURL(RepProxy + "Chercher_Communes.ashx","Ville=" + Ville + ParametresListeCommunes);		
            }	    
        }
        else
        {        	    
	        if (szCodeAction=="dept")
	        {
		        requester.setAction(ajax_popup);
		        requester.loadURL(RepProxy + "PIv3.ashx","proxypage=Chercher_Communes.ashx&Dept=" + Dept + ParametresListeCommunes);		
	        }
	        else if (szCodeAction=="insee")
	        {
		        requester.setAction(ajax_popup);
		        requester.loadURL(RepProxy + "PIv3.ashx","proxypage=Chercher_Communes.ashx&CodeInsee=" + INSEE_Origine + "&InseeRayon=" + INSEE_Rayon + ParametresListeCommunes);		
	        }
	        else if (szCodeAction=="cp")
	        {
		        requester.setAction(ajax_popup);		    
		        requester.loadURL(RepProxy + "PIv3.ashx","proxypage=Chercher_Communes.ashx&CP=" + CP + ParametresListeCommunes);		
	        }
	        else if (szCodeAction=="ville")
	        {
		        requester.setAction(ajax_popup);		    
		        requester.loadURL(RepProxy + "PIv3.ashx","proxypage=Chercher_Communes.ashx&Ville=" + Ville + ParametresListeCommunes);		
	        }	
	    }    
	}
    catch(exx){Trace("EXX - generic_geo_setpopup - " + exx.message, AvecAlerteEXX);}
}


function generic_geo_selectchanged(szValue)
{
    try
    {
        var popup = CTRL_generic_geo_select;
        if(szValue != "")
        {       
            CTRL_generic_geo_cp.value = "";
            CTRL_generic_geo_ville.value = "";
            if (CTRL_generic_count_annonces != null) CTRL_generic_count_annonces.innerHTML = "";
                        
            Set_Proprietes();
            
            Trace("generic_geo_selectchanged( szValue = " + szValue + " )", false);
            
            if(MayBeCodeInsee(szValue))
            {
                if(INSEE_Rayon == null) CacheZoneRayon();            
                            
                if(INSEE != null || INSEE_Rayon != null)
                {
                    CTRL_generic_rayon.style.visibility = "visible";
                                        
                    if(RadioBouton_ParDefaut != null)
                    {                                        
                        if(CTRL_generic_rayon_0.checked) document.getElementById(RadioBouton_ParDefaut).checked = true;
                    }
                    
                    generic_geo_setpopup("insee");
                }
            } 
            else if(MayBeCodeDept(szValue)) generic_geo_setpopup("dept");
            else if(szValue == "-1") // Aucun Critere geographique.
            {
                CacheZoneRayon();
                Lancer_Comptage();
            }   
            else CacheZoneRayon();
        }
    }
    catch(exx){Trace("EXX - generic_geo_selectchanged - " + exx.message, AvecAlerteEXX);}
}

function generic_geo_cp_selected(szCP)
{        
    try
    {
        if(!tool_check_digits(szCP))
        {
            CTRL_generic_geo_cp.value = "";
            if(CTRL_generic_count_annonces != null) CTRL_generic_count_annonces.innerHTML = "";
            return;
        }
        
	    ClearPopup(CTRL_generic_geo_select);
        CacheZoneRayon();
        CTRL_generic_geo_ville.value = "";
        if(CTRL_generic_count_annonces != null ) CTRL_generic_count_annonces.innerHTML = "";
        
        Set_Proprietes();
        
        Trace("generic_geo_cp_selected( szCP = " + szCP + " )", false);
            
        generic_geo_setpopup("cp");
    }
    catch(exx){Trace("EXX - generic_geo_cp_selected - " + exx.message, AvecAlerteEXX);}
}

function generic_geo_rayon_selected(szRayon)
{
    try
    {
        Set_Proprietes();
        Trace("generic_geo_rayon_selected( szRayon = " + szRayon + " )", false);
        if(CTRL_generic_count_annonces != null) CTRL_generic_count_annonces.innerHTML = "";
        
        generic_geo_setpopup("insee");
    }
    catch(exx){Trace("EXX - generic_geo_rayon_selected - " + exx.message, AvecAlerteEXX);}
}

function generic_geo_ville_selected(szVille)
{
    try
    {
        ClearPopup(CTRL_generic_geo_select);
        CTRL_generic_geo_cp.value = "";
        if(CTRL_generic_count_annonces != null) CTRL_generic_count_annonces.innerHTML = "";
        
        Set_Proprietes();
        Trace("generic_geo_ville_selected( szVille = " + szVille + " )", false);
        
        generic_geo_setpopup("ville");        
    }
    catch(exx){Trace("EXX - generic_geo_ville_selected - " + exx.message, AvecAlerteEXX);}
}

function generic_geo_insee_selected(szValue)
{
    try
    {
        Trace("generic_geo_insee_selected( szValue = " + szValue + " )", false);
        
        CTRL_generic_geo_cp.value = "";
        CTRL_generic_geo_ville.value = "";  
        if(CTRL_generic_count_annonces != null) CTRL_generic_count_annonces.innerHTML = "";   
        
        if(MayBeCodeInsee(szValue))
        {    
            Clear_Proprietes();            
            
            if(RadioBouton_ParDefaut == null)
            {                
                CTRL_generic_rayon_0.checked = true;
                Set_Proprietes();       
                INSEE_Origine = szValue;                
                CTRL_generic_rayon.style.visibility = "visible";
                generic_geo_setpopup("insee");
            }
            else
            {                                                   
                if(CTRL_generic_rayon_0.checked) document.getElementById(RadioBouton_ParDefaut).checked = true;
                Set_Proprietes();       
                INSEE_Origine = szValue;                                
                CTRL_generic_rayon.style.visibility = "visible";
                generic_geo_setpopup("insee");
            }  
            
            
            if(INSEE_Origine.length == 4)
            {
                Dept = "0" + INSEE_Origine.slice(0,1);  
            }
            else
            {
                Dept = INSEE_Origine.slice(0,2);            
            }                          
        }
        else if (MayBeCodeDept(szValue))
        {             
            Clear_Proprietes();
            Dept = szValue;
            generic_geo_setpopup("dept"); 
        }        
    }
    catch(exx){Trace("EXX - generic_geo_insee_selected - " + exx.message, AvecAlerteEXX);}
}

function generic_geo_secteur_selected(szValue)
{
    try
    {
        Trace("generic_geo_secteur_selected( szValue = " + szValue + " )", false);
        
        if(CTRL_generic_geo_secteur != null)
        {
            CTRL_generic_geo_secteur.value = szValue;
            
            if(CTRL_generic_span_secteur != null)CTRL_generic_span_secteur.innerHTML = szValue;
            
            if(CTRL_select_Secteur != null)
            {                                
                for(var i = 0; i < CTRL_select_Secteur.length; i++)
                {                    
                   if(CTRL_select_Secteur.options[i].value == szValue)
                   {
                        CTRL_select_Secteur.selectedIndex = i;
                        break;
                   }
                }
            }
                    
            Set_Proprietes();     
            Lancer_Comptage();        
        }
    }
    catch(exx){Trace("EXX - generic_geo_secteur_selected - " + exx.message, AvecAlerteEXX);}
}

var Timer;
function Start_points()
{   
    try
    {
        Trace("Start_points", false);
        
        if(FormulaireEtendu != null)
        {
            if(FormulaireEtendu == "true")
	        {           
                clearTimeout(Timer);                      
                if(CTRL_generic_count_annonces != null)
                {   
                    CTRL_generic_count_annonces.innerHTML = "";
                    CTRL_generic_count_annonces.innerHTML += ".";    
                }
                Timer = setTimeout( 'Add_points();', 50 );    
            }
        }
    }
    catch(exx){Trace("EXX - Start_points - " + exx.message, AvecAlerteEXX);}
}

function Stop_points(szValue)
{
    try
    {
        Trace("Stop_points(szValue = "+szValue+")", false); 
        clearTimeout(Timer);
        if(CTRL_generic_count_annonces != null) CTRL_generic_count_annonces.innerHTML = szValue;
    }
    catch(exx){Trace("EXX - Stop_points - " + exx.message, AvecAlerteEXX);}
}

function Add_points()
{   
    try
    {
        clearTimeout(Timer); 
        if(CTRL_generic_count_annonces != null)
        {
            if(CTRL_generic_count_annonces.innerHTML.length >= 15) CTRL_generic_count_annonces.innerHTML = "";
            CTRL_generic_count_annonces.innerHTML += ".";
            Timer = setTimeout( 'Add_points();', 50 );
        }
    }
    catch(exx){Trace("EXX - Add_points - " + exx.message, AvecAlerteEXX);}
}




//////////////////////////////////////

function schedule(objectID, functionCall, iteration)
{    
	if (iteration == null)
	{
		iteration = 0;
	}
	
	if (objectID == "window")
	{
		var oldonload = window.onload;
		
		if (typeof window.onload != "function")
		{
			window.onload = functionCall;
		}
		else
		{
			window.onload = function()
			{
				oldonload();
				functionCall();
			}
		}
	}
	else if (document.getElementById(objectID))
	{
		functionCall();
	}
	else if (iteration < 300)
	{
		setTimeout(function(){schedule(objectID, functionCall, iteration + 1)}, 10);
	}
	
	return true;
}

//////////////////////////////////////