<!-- **************************************************************** -->
<!-- *************** script pour les recherches            ********** -->
<!-- **************************************************************** -->

<!-- -----------------------------------------------------------------  -->
<!-- lance une recherche sur le serveur : le resultat est une page XML. -->
<!-- charge dans la frame cachée BufferResultat la page HTML issue du parse -->
<!-- serveur du flux XML, transformé par la feuille de style recherche.XSL -->  
<!-- OnLoad cette frame appel loadResultat pour mettre à jour le divResultat -->       
<!-- ----------------------------------------------------------------- -->

var lastszNomRecherche="";
var lastszAlphaJ;
var lastszChamp1;
var lastszChamp2;
var lastszTarget = "";
var lastxc;
var lastyc;
var newwin;
var newwinprint;
var xslInfo = "info.xsl";
var openInfo = false;
var canGoBack = false;

var curnameerr = "";
var curcodeerr = "";

var tSelected = new Array(2000);
var curselect = "";
var curTailleExport = "300@300";
var curmodelword = "1";
var curTailleExportWord = "500@400";
var currentProcess="";
var curTailleWindow = "width=800,height=600";
var postloadresultat = "";
var prevFilterAdminEPN = "";

/* fonction déstiné à éffacer la liste de selection pour les exports */
function resetSelected()
{
var k;
 for(k=0;k<tSelected.length;k++)
 {
 tSelected[k]="";
 }
}

// fonction permettant de modifier les chaines accentué et de mettre en place la suppression de mots clé (rue,av...)
function noaccent(chaine) {
			var cle = new Array("rue ","bd ","boulevard ","av ","avenue ","allée ","chemin "," de "," la "," le "," des "," les "," r "), reg;
			temp = chaine;
			for(i=0;i<cle.length;i++) {
         		reg = new RegExp(cle[i],"ig");
				 temp = temp.replace(reg," ");
				 
				 }
 			temp = temp.replace(/^\s*|\s*$/g,"");
      temp = temp.replace(/[aàâä]/gi,"[aàâä]");
			temp = temp.replace(/[eéèêë]/gi,"[eéèêë]");
      temp = temp.replace(/[iîï]/gi,"[iîï]");
      temp = temp.replace(/[oôö]/gi,"[oôö]");
      temp = temp.replace(/[uùûü]/gi,"[uùûü]");

      return temp;
   }
	 
function verifFiltre( formu )
{

	var elem = formu.elements.namedItem( "nomRechercheEPN" );
	
	if  ( elem.value == "En tant que lieu déjà référencé" )
	{		
		elem = formu.elements.namedItem( "Nom du lieu" );
		if(elem !=null)
		if ( elem.value == "" ) 
		{
			alert ( "Vous devez saisir un lieu." );
			return;
		}

		elem = formu.elements.namedItem( "Mot de passe" );
		if(elem !=null)
		if ( elem.value == "" ) 
		{
			alert ( "Vous devez saisir un mot de passe." );
			return;
		}
	}
	elem = formu.elements.namedItem( "Nom du lieu" );
	var lstVal;
	if(elem !=null)
	{
	 lstVal = elem.value;
	 elem.value = noaccent(elem.value);
	}
	
	formu.submit();
	if(elem !=null)
	elem.value = lstVal;
}

function ExecuteProximite(x,y,distance)
{
 				 var loc = location.href;
				 var dist = distance/1000;
				 var chaine = szHttpServeur  +
                "&ACTION=Recherche!NAME=Equipement!LOCATION=" + loc + "!INTERACTIVE=0" + "&_DISTANCE_CENTER="+dist+"&XCOORD=" + x + "&YCOORD="+y;
						
				
				updateBufferResultat(chaine);
				return(false);
}
function Proximite(x,y,szName)
{
	 			  var obIfram = document.getElementById('fFiltre');
					obIfram.innerHTML = "<div><a href=\"javascript:showOnglet('iframRes','divOngletResultat','Résultat');\">[Revenir]</a></div><div><font color=\"#00437A\"> Equipement à proximité de : &nbsp;</font><b>"+ szName +"</b></div><form onsubmit='return ExecuteProximite("+x+","+y+",this.dist.value);'>saisissez la distance en mètres : <br/><input type='text' name='dist' id='dist'></input><input type='button' onclick='ExecuteProximite("+x+","+y+",this.form.dist.value);' value='ok'></input></form>";
					showOnglet('fFiltre','divOngletFiltre','Filtres');
				
}
/* Obtient la feuille de style pour imprimer */
function getCurrentXSLPrint()
{
var objSel = document.getElementById("selectFormat");
var curXSL = "imprimer.xsl";
curTailleExport = "300@300";
if(objSel!=null)
{
  if(objSel.value == "1")
  {
    curXSL = "imprimer.xsl";
    curTailleExport = "500@500";
		
  }
	if(objSel.value == "2")
  {
  
    curXSL = "imprimersanslegende.xsl";
    curTailleExport = "630@800";
		
  
  }
	if(objSel.value == "3")
  {
     curXSL = "imprimerpaysage.xsl";
    curTailleExport = "800@600";
  }
	if(objSel.value == "4")
  {
  curXSL = "imprimerpaysagesanslegende.xsl";
    curTailleExport = "950@520";
  }


}
return(curXSL);
}
/* Obtient la feuille de style pour la fiche d'information */

function getCurrentXSLInfo()
{
var objSel = document.getElementById("selectFormat");
var curXSL = "info.xsl";
curTailleExport = "300@300";
curmodelword = "1";
if(objSel!=null)
{
  if(objSel.value == "1")
  {
    if(curselect == "Propriété")
    {
    curXSL = "microfiche.xsl";
		curTailleExport = "500@300";
		curmodelword = "2";
		curTailleExportWord = "1000@530";
		curTailleWindow = "width=1000,height=700";
		
    }
    else
    {
    curXSL = "infoportrait.xsl";
		curTailleExport = "500@300";
		curmodelword = "1";
		curTailleExportWord = "600@400";
		curTailleWindow = "width=600,height=700";
    }
  }
	if(objSel.value == "2")
  {
    if(curselect == "Propriété")
    {
    curXSL = "microfiche.xsl";
		curTailleExport = "500@300";
		curmodelword = "2";
		curTailleExportWord = "1000@400";
		curTailleWindow = "width=1000,height=700";
    }
    else
    {
    curXSL = "infoportrait.xsl";
		curTailleExport = "500@300";
		curmodelword = "1";
		curTailleExportWord = "600@400";
		curTailleWindow = "width=600,height=700";
		
    }
  }
	if(objSel.value == "3")
  {
    if(curselect == "Propriété")
    {
    curXSL = "microfiche.xsl";
		curTailleExport = "500@300";
		curmodelword = "2";
		curTailleExportWord = "1000@500";
		curTailleWindow = "width=1000,height=700";
    }
    else
    {
    curXSL = "infopaysage.xsl";
		curTailleExport = "300@500";
		curmodelword = "2";
		curTailleExportWord = "1000@500";
		curTailleWindow = "width=1000,height=700";
    }
  }
	if(objSel.value == "4")
  {
    if(curselect == "Propriété")
    {
    curXSL = "microfiche.xsl";
		curTailleExport = "500@300";
		curmodelword = "2";
		curTailleExportWord = "1000@500";
		curTailleWindow = "width=1000,height=700";
    }
    else
    {
    curXSL = "infopaysage.xsl";
		curTailleExport = "300@500";
		curmodelword = "2";
		curTailleExportWord = "1000@500";
		curTailleWindow = "width=1000,height=700";
    }
  }


}
return(curXSL);
}
/* Ajoute un élément à la liste de selection pour les export (via un click sur la checkBox dans la recherche */
function selectObject(geo,recherche,ischecked,indice)
{
    curselect = recherche;
		
		if(ischecked)
		{
		tSelected[indice] = geo;
		}
		else
		{
		tSelected[indice] = "";
		}
   
    

}
/* Export dans word la liste des elements séléctionés */
function ExportElementRecherche()
{
var k=0;
var strExport = "";
var loc = location.href;
for(k=0;k<tSelected.length;k++)
{
  if( tSelected[k]!="")
  {
	 
  	newString = "{arobas}";
		tSelected[k] = tSelected[k].replace("@", newString);
		

		newString = "{plus}";
		tSelected[k] = tSelected[k].replace("+", newString);
		
   		strExport = strExport + tSelected[k]+"@";
  }
}
var currentXSL = getCurrentXSLInfo();

var chaine = szHttpServeur + "&XSL=" + currentXSL + "&ACTION=GetInfo!EMPRISE=ALL!OUTPUTSIZE=" + curTailleExportWord + "!SELECT="+ curselect + "!ALPHAJ=" + strExport + "!OFFICE=" + curmodelword + "!LOCATION=" + loc + "&PORT=" + szPort ;
newwinprint = window.open("./imprimer.html");

frames['bufferPrint'].location.href=chaine;

}

/* fonction destiner à ouvrir la carte dans une grande fenetre pour imprimer*/

function printMap() 
{

 				var loc = location.href;
        var width;
        var height;
        width=mapright - mapleft;
        height=maptop - mapbottom;
				
				var chaine = szHttpServeur + "&XSL=imprimer.xsl&ACTION=BuildMap!EMPRISE=" + mapleft + "@" + mapbottom + "@" + width + "@" +  height + "!OUTPUTSIZE=" + 635 + "@" + 635 + "!LOCATION=" + loc + "&PORT=" + szPort ;
        updateBufferPrint(chaine);
}

function updateBufferPrint(target)
{

newwinprint = window.open("./imprimer.html");
frames['bufferPrint'].location.href=target;



}

function updateBufferPrintIti(target)
{

newwinprint = window.open("./imprimeriti.html");
frames['bufferPrint'].location.href=target;



}

function loadPrint()
{


var inner = "";
inner = frames['bufferPrint'].document.body.innerHTML;

if ((newwinprint!=null)&&(inner!=""))
{
       
        var obj = newwinprint.document.getElementById("IMGPRINT");
        obj.innerHTML = inner;
				newwinprint.focus();
				
				 var objIti = newwinprint.document.getElementById("DIVITI");
				 if(objIti!=null)
				 {
        objIti.innerHTML = document.getElementById("resIti").innerHTML;
				newwinprint.focus();
				}
}
 


}

/* fonction destiner à lancer une recherche*/
function LanceRecherche(szNomRecherche,numChamp,valeurChamp,interactive)
{
canGoBack = false;


if((szNomRecherche=="Un bureau par son numero")||(szNomRecherche.indexOf("Un bureau par son")>=0))
{
szNomRecherche="Un bureau par son numéro";
}


if(((document.getElementById("Cantons")!=null)&&(document.getElementById("Cantons").checked)&&(szNomRecherche!="Un canton"))||((document.getElementById("Circonscriptions")!=null)&&(document.getElementById("Circonscriptions").checked)&&(szNomRecherche!="Une circonscription")))

	{
	ClearMap();
	}
	
	var loc = location.href;
	var chaine = szHttpServeur  +
	"&ACTION=Recherche!NAME="+szNomRecherche+"!NUMCHAMP=" + numChamp + "!VALEURCHAMP=" + valeurChamp + "!ALLFILTERS=1!LOCATION=" + loc + "!INTERACTIVE=1";
	

	
	if((interactive!=null)&&(interactive==0))
	{
		updateBufferResultatClick(chaine);
		}
	else
	updateBufferResultat(chaine);

}

function LanceRechercheAdministration(szNomRecherche,numChamp,valeurChamp)
{
	var loc = location.href;
	var chaine = szHttpServeur  +
	"&ACTION=Recherche!NAME="+szNomRecherche+"!NUMCHAMP=" + numChamp + "!VALEURCHAMP=" + valeurChamp + "!ALLFILTERS=1!LOCATION=" + loc + "!INTERACTIVE=1";



	updateBufferResultat(chaine);

}


function updateBufferResultat(target)
{
	if(useOnglet)
	{

		frames['bufferFiltre'].location.href=target+"&FORMAT="+ szFormat + "&PORT=" + szPort; 
	}
	else
	{
	 	frames['bufferResultat'].location.href=target+"&FORMAT="+ szFormat + "&PORT=" + szPort; 
	}
}

function updateBufferResultatClick(target)
{
//frames['bufferResultat'].location.href=target+"&FORMAT="+ szFormat + "&PORT=" + szPort; 
frames['bufferResultat'].location.href=target+"&FORMAT="+ szFormat + "&PORT=" + szPort; 
}


function loadInfo()
{

 var inner = "";
inner = frames['bufferInfo'].document.body.innerHTML;
 if(usePopupInfo==true)
 {
    if ((newwin!=null)&&(inner!=""))
    {
		
            newwin.szClientID = szClientID;
            newwin.szPort = szPort;
						
            newwin.szHttpServeur= szHttpServeur;
            newwin.cmd = lastszTarget;
    		newwin.parentwindow = this;
            newwin.focus();
            var obj = newwin.document.getElementById("divres");
            obj.innerHTML = inner;
    }
 
 }
 else
 {


    if(inner!="")
    {
	/*
            frames['resInfo'].divres.innerHTML =inner ;
           showObject("resInfo");
            frames['resInfo'].cmd = lastszTarget;
            frames['resInfo'].szHttpServeur = szHttpServeur;
            frames['resInfo'].szPort = szPort;
            frames['resInfo'].parentwindow = this;*/
			document.getElementById("divInfoPOI").innerHTML = inner;
    }
     else
     {
         /*  if(frames['resInfo'].divres!=null)
           {
                frames['resInfo'].divres.innerHTML = "";
                var sty = document.getElementById("resInfo").style 
                sty.visibility = "hidden";
          }*/
     }
	}
}


function updateBufferInfo(target)
{
lastszTarget = target;
if(usePopupInfo==true)
{
//scrollbars=yes,width=' & widthPopupInfo & ',height='& heightPopupInfo &',resizable=1



newwin = window.open("./blankinfo.html",'visu','scrollbars=no,width=' + widthPopupInfo + ',height=' + heightPopupInfo + ',resizable=0');

}

frames['bufferInfo'].location.href=target+"XSL="+ xslInfo + "&FORMAT=" + szFormat + "&PORT=" + szPort;


}


function loadFiltres(innerHttpRequest) 
{
	 var obfFiltre = document.getElementById('fFiltre');
	 var inner  = "";

   if(obfFiltre!=null)
	 {  
	if(arguments.length>0)
	{
	
		inner = innerHttpRequest;
		
		}
	else
	{
	 	if( frames['bufferFiltre']!=null)
			{													 
	        	inner =  frames['bufferFiltre'].document.body.innerHTML;
			}
	}
        
        if (inner!="")
        {
				var obIfram = document.getElementById('iframRes');
				obIfram.innerHTML = "";
                 obfFiltre.innerHTML = inner;
								  if(isMinNS4 != 1)
                 							setupAllPickList("","frmFilter");
              
      				showOnglet('fFiltre','divOngletFiltre','Filtres');
							if(document.getElementById("goBack")!=null)
							{
							if((canGoBack))
          			{
          			document.getElementById("goBack").style.display='block';
          			}
          			else
          			{
          			document.getElementById("goBack").style.display='none';
          			}
							}
      	}
      	else
      	{
      	//hideObject("iframRes");
      	}
	}
}


function loadResultat() 
{
	var inner  = "";
       
	
  var obIfram = document.getElementById('iframRes');
	if(obIfram!=null)
	{
	 					if( frames['bufferResultat']!=null)
						{													 
	        		inner =  frames['bufferResultat'].document.body.innerHTML;
					}
	}
        
        if (inner!="")
        {
                 obIfram.innerHTML = frames['bufferResultat'].document.body.innerHTML;
				 
				 if(postloadresultat!="")
				 {
				
				 eval(postloadresultat);
				 postloadresultat = "";
				 }
             //    setupAllPickList("");
                 if ((lastszNomRecherche!="")&&(openInfo==true))
		 {
		 	ClickItemRechercheInfo(lastszNomRecherche,lastszAlphaJ,lastszChamp1,lastszChamp2);
			MouseOnItemRechercheMap(lastxc,lastyc);
			 lastszNomRecherche="";
 			 lastszAlphaJ="";
 			 lastszChamp1="";
 			 lastszChamp2="";
 			 lastxc=0;
 			 lastyc=0;
			 openInfo=false;
		 }
		 if(!useOnglet)
		 {
		 							 		 			 showObject("iframRes");
    	}
    	else
    	{
    	 											 showOnglet('iframRes','divOngletResultat','Résultat');
    	}
			
			if(document.getElementById("goBack")!=null)
			{
			if(canGoBack)
			{
			document.getElementById("goBack").style.display='block';
			}
			else
			{
			document.getElementById("goBack").style.display='none';
			}
			}
	}
	else
	{
	hideObject("iframRes");
	}
	
	
	
}
<!-- -----------------------------------------------------------------  -->
<!-- lance une recherche sur le serveur : le resultat est une page contenant la carte -->
<!-- zoomée sur l'objet selectioné                                      -->
<!------------------------------------------------------------------------>
function ClickItemRechercheMap(szNomRecherche,szAlphaJ,szChamp1,szChamp2) {


if((szNomRecherche=="Un bureau par son numero")||(szNomRecherche.indexOf("Un bureau par son")>=0))
{
szNomRecherche="Un bureau par son numéro";
}


				 				var loc = location.href;
reg = new RegExp("3A9","ig");
				 szNomRecherche = szNomRecherche.replace(reg,"é");
	lastszNomRecherche = 	szNomRecherche;
	lastszAlphaJ = szAlphaJ;
	

	var chaine = szHttpServeur +
                "&ACTION=BuildMap!EMPRISE=ALL!OUTPUTSIZE=" + mapClientwidth + "@" + mapClientheight +
								"!SELECT=" + szNomRecherche + "@1" +
								"!ALPHAJ=" + szAlphaJ + 
								"!LOCATION=" + loc ;

		isloading = false;
		
		if((szNomRecherche!="Panoramiques")&&(szNomRecherche!="Visites virtuelles"))
		{

			shouldLoadBulle = true;
				if(infoBulle!=null)
					infoBulle.mustMove=true;
			}
			else
			{
			shouldLoadBulle = false;
			if(infoBulle!=null)
					infoBulle.mustMove=false;
			}
	updateBufferMap(chaine);
	
}

function MouseOnItemRechercheMap(xp,yc)
{
 if(szFormat=="2")
 {
 			addSquare(xp,yc)
 }
 else
 {
        var emprise = GetMapEmpriseView();
              
		ConvertSysToView(xp,yc);
		
		var w = 0;
		w = parseFloat(emprise.x) + parseFloat(emprise.width);
		var h = 0;
		h = parseFloat(emprise.y) + parseFloat(emprise.height);
		
		
		{
               if( (viewCurrentX > emprise.x) && (viewCurrentX < w) && ( viewCurrentY > emprise.y) && ( viewCurrentY < h ) )
		        {
                                var obj = document.getElementById("divBubble");
                                showObject("divBubble");
                                obj.style.left = viewCurrentX-14;
                                obj.style.top = viewCurrentY-14;	
                                obj.style.width = 30;
                                obj.style.height = 30;			
                                obj.style.color  = "#FF0000";
                        }
                        else
                        {
                                hideObject("divBubble");
                        }
		}
 }
}

<!-- -----------------------------------------------------------------  -->
<!-- lance une recherche sur le serveur : le resultat est une page contenant la carte -->
<!-- zoomée sur l'objet selectioné                                      -->
<!------------------------------------------------------------------------>
function ClickItemRechercheInfo(szNomRecherche,szAlphaJ,szChamp1,szChamp2) {
var loc = location.href;
	reg = new RegExp("3A9","ig");
				 szNomRecherche = szNomRecherche.replace(reg,"é");
				 
				 if((szNomRecherche=="Un bureau par son numero"))
{
szNomRecherche="Un bureau par son numéro";
}


 if(szNomRecherche!="Signaler une erreur")
 {
	var chaine = szHttpServeur +
                "&ACTION=GetInfo!EMPRISE=ALL!" +
								"!SELECT=" + szNomRecherche + "@1" +
								"!ALPHAJ=" + szAlphaJ + "!CHAMPS1=" + szChamp1 + "!CHAMPS2=" + szChamp2 +
								"!LOCATION=" + loc ;
	updateBufferInfo(chaine);
	}
	else
	{
curnameerr = szChamp1;
curcodeerr = szChamp2;
	var chaine = szHttpServeur + "&PORT="+szPort+
                "&ACTION=GetInfo!EMPRISE=ALL" +
					"!IDGEO=" + szAlphaJ +
					"!COUCHE="+ szNomRecherche +
					"!UPDATEINFO="+ "0" +
					"!LOCATION=" + location.href ;
					updateBufferInfoMAJ(chaine,"AjoutErreur.xsl");
	//updateBufferInfo(chaine);
	}

}


function ClickItemRechercheInfoMAJ(szNomRecherche,szAlphaJ,szChamp1,szChamp2)
{
	var chaine = szHttpServeur +
                "&ACTION=GetInfo!EMPRISE=ALL!" + heightwidthmapInfo +
								"!SELECT=" + szNomRecherche + "@1" +
								"!ALPHAJ=" + szAlphaJ + "!CHAMPS1=" + szChamp1 + "!CHAMPS2=" + szChamp2 +
								"!MAJ=yes" + 
								"!LOCATION=" + location.href ;
	updateBufferInfoMAJ(chaine, "lieuDejaReference.xsl");

}

function CallFormulaireValidation(szNomRecherche,szAlphaJ,szChamp1,szChamp2)
{
	//alert("");
	var chaine = szHttpServeur +
                "&ACTION=GetInfo!EMPRISE=ALL!" + heightwidthmapInfo +
								"!SELECT=" + szNomRecherche + "@1" +
								"!ALPHAJ=" + szAlphaJ + "!CHAMPS1=" + szChamp1 + "!CHAMPS2=" + szChamp2 +
								"!LOCATION=" + location.href ;
	updateBufferInfoFormulaireValidation(chaine, "validation.xsl");

}
function updateBufferInfoFormulaireValidation(target, xslFile)
{
	lastszTarget = target;
	if(usePopupInfo==true)
	{
		newwin = window.open("./blankinfo.html",'validation','scrollbars=no,width=' + widthPopupInfo + ',height=' + heightPopupInfo + ',resizable=0');

	}

	frames['bufferInfo'].location.href=target+"XSL="+ xslFile + "&FORMAT=" + szFormat + "&PORT=" + szPort;


}
function AfficheAllInfo(szNomRecherche)
{
	//alert("AfficheAllInfo");
	var chaine = szHttpServeur +
                "&ACTION=GetInfo!EMPRISE=ALL!" + heightwidthmapInfo +
								"!SELECT=" + szNomRecherche + "@1" +
								"!ALPHAJ=" + "ALL" + "!CHAMPS1=" + "szChamp1" + "!CHAMPS2=" + "szChamp2" +
								"!MAJ=yes" + 
								"!LOCATION=" + location.href ;
	updateBufferInfoMAJ(chaine, "administration.xsl");

}

function updateBufferInfoMAJ(target, xslFile)
{
	lastszTarget = target;
	if(usePopupInfo==true)
	{
		newwin = window.open("./blankinfo.html",'visu','scrollbars=no,width=' + widthPopupInfo + ',height=' + heightPopupInfo + ',resizable=0');

	}

	frames['bufferInfo'].location.href=target+"XSL="+ xslFile + "&FORMAT=" + szFormat + "&PORT=" + szPort;


}


