﻿// JScript File
function make_Markers_From_XML(map,strSrc){
	//Dépôt sans édition : fin de la procédure
	if(strSrc.substring(strSrc.length-11,strSrc.length)=='depots_.xml'){
	    return false;
	}
	
	//Marqueurs clients selon fichier XML
	var req=GXmlHttp.create();
	req.open('GET',strSrc,true);
	req.onreadystatechange=function(){
			//alert('Reponse arrivee !');
			if(req.readyState==4){
			
				//alert('Ready State =4 !');
				//Réponse du serveur, trouver les noeuds 
				var xmlDoc=req.responseXML;
				var centres=xmlDoc.documentElement.getElementsByTagName('centre');
				var descs=xmlDoc.documentElement.getElementsByTagName('description');
				
				//PdV
				for(var i=0;i<centres.length;i++){
  				    var pointClient=new GPoint(parseFloat(centres[i].getAttribute('longitude')),parseFloat(centres[i].getAttribute('latitude')));
  				    var icon=centres[i].getAttribute('type');
  				    var marqueur=CreeMarqueur(pointClient,descs[i],icon);
  				    //alert(marqueur.importance);
				    map.addOverlay(marqueur);					
				}
			}
		};
	req.send(null);

}



function CreeMarqueur(point,vdescription,icon){
    
    //Définition icône
    if(icon==undefined){
        var baseIcon=G_DEFAULT_ICON;
    }else{
        var baseIcon= new GIcon();
        baseIcon.shadow = "images/ombre_" + icon + ".png";
        baseIcon.iconSize = new GSize(30, 30);
        baseIcon.shadowSize = new GSize(34,34);
        baseIcon.iconAnchor = new GPoint(15, 15);
        baseIcon.infoWindowAnchor = new GPoint(9, 2);
        baseIcon.infoShadowAnchor = new GPoint(18, 25);
        baseIcon.image = "images/" + icon + ".png";
        //alert("images/" + icon + ".png");
    }
    
    //Définition marqueur
    //var marker=new GMarker(point,baseIcon,{zIndexProcess:importanceOrder});
    var marker=new GMarker(point,{icon:baseIcon,zIndexProcess:importanceOrder});
    //alert(icon);
    
    //importance pour gérer l'icône à afficher au premier plan
    if(icon=='bureau'){
        marker.importance=2;
    }else{
        marker.importance=1;
    }
    
	var moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');

         if(moz)
         {
            GEvent.addListener(marker, "click", function() {
            var xsltProcessor = new XSLTProcessor();
            // load the xslt file
            var myXMLHTTPRequest = new XMLHttpRequest();
            myXMLHTTPRequest.open("GET", "maps_data/infos_depots.xsl", false);
            myXMLHTTPRequest.send(null);
            xslStylesheet = myXMLHTTPRequest.responseXML;
            xsltProcessor.importStylesheet(xslStylesheet);
            var resultDocument = xsltProcessor.transformToFragment(vdescription, document);
            var info_window = document.createElement('div'); 
            info_window.appendChild(resultDocument); 
            marker.openInfoWindow(info_window);
            });
         }
         else if(window.ActiveXObject)
         {
            GEvent.addListener(marker, "click", function() {

            // Load XSL for IE
            xsl = new ActiveXObject("Microsoft.XMLDOM");
            xsl.async = false;
            xsl.load("maps_data/infos_depots.xsl");

            marker.openInfoWindowHtml(vdescription.transformNode(xsl));
            });
         }
    
	return marker;
}

function importanceOrder (marker,b) {
        return GOverlay.getZIndex(marker.getPoint().lat()) + marker.importance*1000000;
      }




