var Programme = new Class.create();

Programme.prototype = {


	initialize: function(mapID, address) {
		
		this.mapID = mapID;
		this.address = address;
	      
	}, 
	
	showAddress: function() {
	
		var address_to_show = this.address.addresse1 + ' ' + this.address.codepostal + ' ' + this.address.ville;
		var address_to_show_simplified =  this.address.codepostal + ' ' + this.address.ville;
		var obj_simplified =  { addresse1 : '', addresse2 : '', codepostal : this.address.codepostal , ville: this.address.ville};
		
		var st = '';	
		
		if (GBrowserIsCompatible()) {
	          
			var map = new GMap2(document.getElementById(this.mapID));
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			
			var geocoder = new GClientGeocoder();
			
					
			geocoder.getLatLng(
				address_to_show,
				function(point) {
					if (!point) {
				      	
						if (gg_map_cpt == 1) {
							var m = new Programme("Carte", obj_simplified );
							m.showAddress();
							gg_map_cpt++;
						}
				        
					} else {
						if ( gg_map_cpt == 2) {
							st = " Approximatif";
						}
						map.setCenter(point, 13);
						var marker = new GMarker(point);
						map.addOverlay(marker);
						marker.openInfoWindowHtml( infoHTML + "<br/><strong>" + st + "</strong>");
					}
				}
			);
		  
		}  
	}
}








	var map = null;
	var geocoder = null;
	var testPt=0;
	

	function creerMarker(point, onglet1, onglet2, onglet3) {
		var marker = new GMarker(point);
		if ((onglet3!='')&&(onglet3!=undefined)){
			var infoTabs = [
			  new GInfoWindowTab("Contact", '<div style="width:280px;">'+onglet2+'</div>'),
			  new GInfoWindowTab("Onglet2", '<div style="width:280px;">'+onglet1+'</div>') ,
			  new GInfoWindowTab("Onglet3", '<div style="width:280px;">'+onglet3+'</div>') 
			  ];
		}else{
			if ((onglet1!='')&&(onglet1!=undefined)){
				var infoTabs = [
				  new GInfoWindowTab("Contact", '<div style="width:280px;">'+onglet2+'</div>'),
				  new GInfoWindowTab("Onglet2", '<div style="width:280px;">'+onglet1+'</div>')  
				  ];
			}else{
				var infoTabs = [
				  new GInfoWindowTab("Contact", '<div>'+onglet2+'</div>') 
				  ];
			}
		}
		GEvent.addListener(marker, "click", function() {
		  marker.openInfoWindowTabsHtml(infoTabs);
		  // marker . openInfoWindowHtml ( html, { maxWidth : '100px' } ) 
		  });
		marker.info=infoTabs;
		return marker;
	}
       
       
    function markerDepuisAdresse(address,adresse,infos,avantages) {  
       if (geocoder) {
         geocoder.getLatLng(
           address,
           function(point) {
             if (!point) {
               //alert(address + " introuvable");
               $('map').innerHTML= address + ' : Adresse introuvable';
             } else {
             	 var marker = creerMarker(point,infos,adresse,avantages );
             	 map.addOverlay(marker);
             	 marker.openInfoWindowTabsHtml(marker.info);
               	 //console.log(point);
             }
           }
         );
       }
     }
     

