// JavaScript Document

	var map = null;
    var geocoder = null;
	var all_markers = new Array();
	var adresseERR = "";
	var adresseOK = "";
	var pointOK = "";
	var NBpointOK = 0;
	var NOM_PARKING = "";

function load(pAction, pDA, pShow) {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
	map.addControl(new CustomControls());
	map.setCenter(new GLatLng(48.863021, 2.328243), 12);
	GEvent.addListener(map, "click", function() {
          CloseDiv('bulle');
		  CloseDiv('adresse');
		  CloseDiv('services');
		  CloseDiv('aproximite');
         });
	GEvent.addListener(map, "dragstart", function() {
          CloseDiv('bulle');
		  CloseDiv('adresse');
		  CloseDiv('services');
		  CloseDiv('aproximite');
         });
   
   var DimensionPlan = map.getSize();
   var LargeurPlan = DimensionPlan.width;
   var HauteurPlan = DimensionPlan.height;
  }
  
// Create marker icons
		var icon_okigo = new GIcon(); 
		var icon_okigo_futur = new GIcon(); 

		icon_okigo.image = "interface/googlemap/drapeau_on.png";
		//icon_okigo.shadow = "";
		//icon_okigo.shadowSize = new GSize(22, 20);
		icon_okigo.iconSize = new GSize(54, 43);
		icon_okigo.iconAnchor = new GPoint(6, 20);
		icon_okigo.infoWindowAnchor = new GPoint(5, 1);

		icon_okigo_futur.image = "interface/googlemap/drapeau_off.png";
		//icon_okigo_futur.shadow = "";
		//icon_okigo_futur.shadowSize = new GSize(22, 20);
		icon_okigo_futur.iconSize = new GSize(54, 43);
        icon_okigo_futur.iconAnchor = new GPoint(6, 20);
        icon_okigo_futur.infoWindowAnchor = new GPoint(5, 1);

// Create infoTabs
	    var infoTabs = [
          new GInfoWindowTab("Onglet 1", "Contenu de l'onglet 1"),
          new GInfoWindowTab("Onglet 2", "Contenu de l'onglet 2")
        ];

// Parse data
	   var searchUrl = "phpsqlsearch_genxml.php?pAutopartage=1";
	   GDownloadUrl(searchUrl, function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
			var DA =  markers[i].getAttribute("DA");
			var PRC_Nom =  markers[i].getAttribute("PRC_Nom");
		    var AP_Adresse1 =  markers[i].getAttribute("AP_Adresse1"); 
		    var AP_CodePostal =  markers[i].getAttribute("AP_CodePostal"); 
		    var AP_Ville =  markers[i].getAttribute("AP_Ville");
			var ESX_1 = markers[i].getAttribute("ESX_1");
			var ESY_1 = parseFloat(markers[i].getAttribute("ESY_1"));
			var OuvertureJours = markers[i].getAttribute("OuvertureJours");
			var b24_24 = markers[i].getAttribute("b24_24");
			var Ouvertureheure = markers[i].getAttribute("Ouvertureheure");
			var ESAdresse_1 = markers[i].getAttribute("ESAdresse_1");
			var ESCodePostal_1 = markers[i].getAttribute("ESCodePostal_1");
			var Pieton_Adresse = markers[i].getAttribute("Pieton_Adresse");
			var Pieton_CodePostal = markers[i].getAttribute("Pieton_CodePostal");
			var bParapluie = markers[i].getAttribute("bParapluie");
			var bPanier = markers[i].getAttribute("bPanier");
			var bChariot = markers[i].getAttribute("bChariot");
			var bVeloPret = markers[i].getAttribute("bVeloPret");
			var RATP = markers[i].getAttribute("RATP");
			var RER = markers[i].getAttribute("RER");
			var BUS = markers[i].getAttribute("BUS");
			var TRAMWAY = markers[i].getAttribute("TRAMWAY");
			var ServicesPublics = markers[i].getAttribute("ServicesPublics");
			var SitesCulturels = markers[i].getAttribute("SitesCulturels");
			var Loisirs = markers[i].getAttribute("Loisirs");
			
		    createMarker("1", pAction, pDA, pShow, DA, ESY_1, ESX_1, AP_Ville, PRC_Nom, AP_Adresse1, AP_CodePostal, OuvertureJours, b24_24, Ouvertureheure, ESAdresse_1, ESCodePostal_1, Pieton_Adresse, Pieton_CodePostal, bParapluie, bPanier, bChariot, bVeloPret, RATP, RER, BUS, TRAMWAY, ServicesPublics, SitesCulturels, Loisirs, icon_okigo);
		 }
	   });		

	   var searchUrl = "phpsqlsearch_genxml.php?pAutopartage=2";
	   GDownloadUrl(searchUrl, function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
			var DA =  markers[i].getAttribute("DA");
			var PRC_Nom =  markers[i].getAttribute("PRC_Nom");
		    var AP_Adresse1 =  markers[i].getAttribute("AP_Adresse1"); 
		    var AP_CodePostal =  markers[i].getAttribute("AP_CodePostal"); 
		    var AP_Ville =  markers[i].getAttribute("AP_Ville");
			var ESX_1 = markers[i].getAttribute("ESX_1");
			var ESY_1 = parseFloat(markers[i].getAttribute("ESY_1"));
			var OuvertureJours = markers[i].getAttribute("OuvertureJours");
			var b24_24 = markers[i].getAttribute("b24_24");
			var Ouvertureheure = markers[i].getAttribute("Ouvertureheure");
			var ESAdresse_1 = markers[i].getAttribute("ESAdresse_1");
			var ESCodePostal_1 = markers[i].getAttribute("ESCodePostal_1");
			var Pieton_Adresse = markers[i].getAttribute("Pieton_Adresse");
			var Pieton_CodePostal = markers[i].getAttribute("Pieton_CodePostal");
			var bParapluie = markers[i].getAttribute("bParapluie");
			var bPanier = markers[i].getAttribute("bPanier");
			var bChariot = markers[i].getAttribute("bChariot");
			var bVeloPret = markers[i].getAttribute("bVeloPret");
			var RATP = markers[i].getAttribute("RATP");
			var RER = markers[i].getAttribute("RER");
			var BUS = markers[i].getAttribute("BUS");
			var TRAMWAY = markers[i].getAttribute("TRAMWAY");
			var ServicesPublics = markers[i].getAttribute("ServicesPublics");
			var SitesCulturels = markers[i].getAttribute("SitesCulturels");
			var Loisirs = markers[i].getAttribute("Loisirs");
			
		    createMarker("2", pAction, pDA, pShow, DA, ESY_1, ESX_1, AP_Ville, PRC_Nom, AP_Adresse1, AP_CodePostal, OuvertureJours, b24_24, Ouvertureheure, ESAdresse_1, ESCodePostal_1, Pieton_Adresse, Pieton_CodePostal, bParapluie, bPanier, bChariot, bVeloPret, RATP, RER, BUS, TRAMWAY, ServicesPublics, SitesCulturels, Loisirs, icon_okigo_futur);
		 }
	   });		

				
    function createMarker(pAutopartage, pAction, pDA, pShow, DA, lat, lgn, AP_Ville, PRC_Nom, AP_Adresse1, AP_CodePostal, OuvertureJours, b24_24, Ouvertureheure, ESAdresse_1, ESCodePostal_1, Pieton_Adresse, Pieton_CodePostal, bParapluie, bPanier, bChariot, bVeloPret, RATP, RER, BUS, TRAMWAY, ServicesPublics, SitesCulturels, Loisirs, icon) {
      var point = new GLatLng(parseFloat(lat), parseFloat(lgn));
	  var marker = new GMarker(point, { icon:icon, title: PRC_Nom } );
	  var HTML_adresse = ""
	  var HTML_aproximite = ""
	  var HTML_services = ""
	  marker.DA = DA;
	  marker.lat = lat;
	  marker.lgn = lgn;
	  all_markers.push(marker);
	  map.addOverlay(marker);
	  NBpointOK = NBpointOK + 1;
	  pointOK = pointOK + "<BR>" + NBpointOK + "  " + PRC_Nom;
	  
	  GEvent.addListener(marker, "click", function() {
		
	    document.getElementById('titre_info_bulle').innerHTML =
				 "<p><strong>" + AP_Ville + "</strong><br />" + PRC_Nom + "</p>";
		
		if(pAutopartage == "2" ) {
		HTML_adresse = "<div class=\"row\"><ul>";
		HTML_adresse += "<li><strong>OUVERTURE PROCHAINE</strong></li>"
		HTML_adresse += "</ul><div class=\"footer\">&nbsp;</div></div>";			
		}
		
		HTML_adresse += "<div class=\"row\"><ul>";
		HTML_adresse += "<li><strong>Adresse</strong></li>"
		HTML_adresse += "<li>" + AP_Adresse1 + "</li>";
		HTML_adresse += "<li>" + AP_CodePostal + " " + AP_Ville + "</li>";
		HTML_adresse += "</ul><div class=\"footer\">&nbsp;</div></div>";	

		HTML_adresse += "<div class=\"row\"><ul>";
		HTML_adresse += "<li><strong>Acc&eacute;s voitures</strong></li>"
		HTML_adresse += "<li>" + ESAdresse_1 + "</li>"
		HTML_adresse += "<li>" + ESCodePostal_1 + " " + AP_Ville + "</li>"
		HTML_adresse += "</ul><div class=\"footer\">&nbsp;</div></div>";	
		
		HTML_adresse += "<div class=\"row\"><ul>";
		HTML_adresse += "<li><strong>Acc&egrave;s pi&eacute;tons</strong></li>"
		HTML_adresse += "<li>" + Pieton_Adresse + "</li>"
		HTML_adresse += "<li>" + Pieton_CodePostal + " " + AP_Ville + "</li>"
		HTML_adresse += "</ul><div class=\"footer\">&nbsp;</div></div>";	
		
		HTML_adresse += "<div class=\"row\"><ul>";
		HTML_adresse += "<li><strong>Informations</strong></li>"
		HTML_adresse += "<li>Au <font color=\"#DE002C\">0&nbsp;826&nbsp;101&nbsp;102</font> du lundi au vendredi de 9h00 &agrave; 19h00 (0,15&euro;/min) ou par email &agrave; <a href=\"mailto:info@okigo.com\">info@okigo.com</a>.</li>"
		HTML_adresse += "</ul><div class=\"footer\">&nbsp;</div></div>";	
		
		HTML_adresse += "<div class=\"row\"><ul>";
		HTML_adresse += "<li><strong>R&eacute;servations</strong></li>"
		HTML_adresse += "<li>En ligne sur www.okigo.com ou au <font color=\"#DE002C\">0&nbsp;821&nbsp;231&nbsp;231</font> 24h/24 et 7j/7 (0,12&euro;/min et 3&euro;/r&eacute;servation).</li>"
		HTML_adresse += "</ul><div class=\"footer\">&nbsp;</div></div>";	
		
		document.getElementById('adresse').innerHTML = HTML_adresse;
		
		HTML_services = "<div class=\"row\"><ul>";
		HTML_services += "<li><strong>Ouverture du bureau d'accueil VINCI Park</strong></li>"
        if(b24_24 == "1" ) {HTML_services += "<li>" + OuvertureJours + " 24h/24</li>"}
		if(b24_24 == "0" ) {HTML_services += "<li>" + OuvertureJours + " " + Ouvertureheure + "</li>"}
		HTML_services += "</ul><div class=\"footer\">&nbsp;</div></div>";	
		
		HTML_services += "<div class=\"row\"><ul>";
		HTML_services += "<li><strong>Services client</strong></li>"
        if(bParapluie != "" ) {HTML_services += "<li>Pr&ecirc;t de parapluie</li>"}
        if(bPanier != "" ) {HTML_services += "<li>Pr&ecirc;t de cabas</li>"}
        if(bChariot != "" ) {HTML_services += "<li>Pr&ecirc;t de caddie</li>"}
        if(bVeloPret != "" ) {HTML_services += "<li>Pr&ecirc;t de v&eacute;los</li>"}
		HTML_services += "</ul><div class=\"footer\">&nbsp;</div></div>";
		
	    document.getElementById('services').innerHTML = HTML_services;
		
        if(RATP != "" ) {HTML_aproximite += "<div class=\"row\"><ul><li><strong>RATP</strong></li><li>" + RATP + "</li></ul><div class=\"footer\">&nbsp;</div></div>"}
        if(RER != "" ) {HTML_aproximite += "<div class=\"row\"><ul><li><strong>RER</strong></li><li>" + RER + "</li></ul><div class=\"footer\">&nbsp;</div></div>"}
        if(BUS != "" ) {HTML_aproximite += "<div class=\"row\"><ul><li><strong>BUS</strong></li><li>" + BUS + "</li></ul><div class=\"footer\">&nbsp;</div></div>"}
        if(TRAMWAY != "" ) {HTML_aproximite += "<div class=\"row\"><ul><li><strong>TRAMWAY</strong></li><li>" + TRAMWAY + "</li></ul><div class=\"footer\">&nbsp;</div></div>"}
        if(SitesCulturels != "" ) {HTML_aproximite += "<div class=\"row\"><ul><li><strong>Sites culturels</strong></li><li>" + SitesCulturels + "</li></ul><div class=\"footer\">&nbsp;</div></div>"}
	    if(Loisirs != "" ) {HTML_aproximite += "<div class=\"row\"><ul><li><strong>Loisirs</strong></li><li>" + Loisirs + "</li></ul><div class=\"footer\">&nbsp;</div></div>"}
        if(ServicesPublics != "" ) {HTML_aproximite += "<div class=\"row\"><ul><li><strong>Services publics</strong></li><li>" + ServicesPublics + "</li></ul><div class=\"footer\">&nbsp;</div></div>"}		


	    document.getElementById('aproximite').innerHTML = HTML_aproximite;
	
		CloseDiv('bulle');
		CloseDiv('adresse');
		CloseDiv('services');
		CloseDiv('aproximite');
		
		var mapNormalProj = G_NORMAL_MAP.getProjection();
     	var mapZoom = map.getZoom();
		var point_px = mapNormalProj.fromLatLngToPixel(marker.getLatLng(), mapZoom);
		var point_center_before = mapNormalProj.fromLatLngToPixel(map.getCenter(), mapZoom);
		
		var x_before = parseInt(parseFloat(LargeurPlan / 2) - (point_center_before.x - point_px.x) - 64);
		var y_before = parseInt(parseFloat(HauteurPlan / 2) - (point_center_before.y - point_px.y) - 352);

		var point_center_after = mapNormalProj.fromLatLngToPixel(map.getCenter(), mapZoom);
		var dy_ie6 = 0;
		var ms = navigator.appVersion.indexOf("MSIE")
        ie6 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) < 7)
 	    if (navigator.appName=="Microsoft Internet Explorer"  && ie6==1 )
		  { dy_ie6 = -1 }

		if ((x_before >= 260) && (y_before > -50)) {
			//alert('1 x ' + x_before + ' y ' + y_before);
			var panMove = new GSize( - parseInt(x_before-260), 0);
			map.panBy(panMove);
			document.getElementById('bulle').style.left = parseInt(parseFloat(LargeurPlan / 2) - (point_center_after.x - point_px.x) - 64) - parseInt(x_before - 260) + 'px';
			document.getElementById('bulle').style.top = parseInt(parseFloat(HauteurPlan / 2) - (point_center_after.y - point_px.y) - 352 + dy_ie6) + 'px';
        } 
		
		if ((x_before < 260) && (y_before <= -50)){
			//alert('2 x ' + x_before + ' y ' + y_before);
			var panMove = new GSize(0, - parseInt(y_before+50));
			map.panBy(panMove);
			document.getElementById('bulle').style.top = parseInt(parseFloat(HauteurPlan / 2) - (point_center_after.y - point_px.y) - 352 + dy_ie6) - parseInt(y_before + 50) + 'px';
		    document.getElementById('bulle').style.left = parseInt(parseFloat(LargeurPlan / 2) - (point_center_after.x - point_px.x) - 64) + 'px';
		} 
		
		if ((x_before >= 260) && (y_before <= -50)){
			//alert('3 x ' + x_before + ' y ' + y_before);
			var panMove = new GSize(- parseInt(x_before-260), - parseInt(y_before+50));
			map.panBy(panMove);
			document.getElementById('bulle').style.left = parseInt(parseFloat(LargeurPlan / 2) - (point_center_after.x - point_px.x) - 64) - parseInt(x_before - 260) + 'px';
			document.getElementById('bulle').style.top = parseInt(parseFloat(HauteurPlan / 2) - (point_center_after.y - point_px.y) - 352 + dy_ie6) - parseInt(y_before + 50) + 'px';
		} 
		
		if ((x_before < 260) && (y_before > -50)){
			//alert('4 x ' + x_before + ' y ' + y_before);
		    document.getElementById('bulle').style.left = parseInt(parseFloat(LargeurPlan / 2) - (point_center_after.x - point_px.x) - 64) + 'px';
			document.getElementById('bulle').style.top = parseInt(parseFloat(HauteurPlan / 2) - (point_center_after.y - point_px.y) - 352 + dy_ie6) + 'px';
		} 
		
	  	OpenDiv('bulle');
		OpenDiv('adresse');
		document.getElementById('menu_adresse').className='active';
		OpenDiv('services');
		document.getElementById('menu_services').className='';
		OpenDiv('aproximite');
		document.getElementById('menu_proximite').className='';
		MM_showHideLayers('adresse','','show','services','','hide','aproximite','','hide','tarifs','','hide');
		
		//onglet services est masque sur certains parkings
		  if ( DA == '999006' || DA == '999007' || DA == '999008' || DA == '999004' ) {
			  document.getElementById('menu_services').style.display='none';			  
		  } else {
			  document.getElementById('menu_services').style.display='';
		  }
				
      });
	  
	  
	  		
		if (DA == pDA) {
		  if (pAction == 1) {
		    map.setCenter(new GLatLng(lat,lgn), 12);
            if (pShow == 1) {
			  GEvent.trigger(marker,"click");
		    }
	      }
		}
      return marker;
    }
    
	function showAddress(address) {
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
              map.setCenter(point, 13);
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml(address);
            }
          }
        );
      }
    }

	function createMarkerAdresse(adresse, nom, commentaire, icon) {
	  geocoder.getLatLng(
	    adresse,
		function(point) {
		  if (!point) { 
			adresseERR = adresseERR + "<BR>" + adresse;
//			alert(adresse + " not found : ");
		  } else {
			var marker = new GMarker(point, icon);
			map.addOverlay(marker);			 
			adresseOK = adresseOK + "<BR>" + "\" lat=\"\;" + point.lat() + "\;\" lng =\"\;" + point.lng() + "\;\"\; \/\>\;\;" + adresse;
            GEvent.addListener(marker, "click", function() {
              //document.getElementById('formblocorange').innerHTML  = nom;
			  NOM_PARKING = nom;
			  marker.openInfoWindowHtml(commentaire);
            });
		  }
		}  
	  );
    }




}

   function ShowRouen(map) {
     map.setCenter(new GLatLng(49.437659,1.095028), 14);  
   }
   
   function ShowParis(map) {
     map.setCenter(new GLatLng(48.863021, 2.328243), 12);  
   }
   
   function trouver_station(DA, Show) {
	 for (i=0;i<all_markers.length;i++) {
		 //alert(all_markers[i].DA);
	   if (all_markers[i].DA == DA) {
		   map.setCenter(new GLatLng(all_markers[i].lat,all_markers[i].lgn), 12);
           if (Show == 1) {
			   GEvent.trigger(all_markers[i],"click");
		   }
	   }
	 }
   }