// Déclaration des variables
var map;
var geocoder;
var icon = new GIcon(G_DEFAULT_ICON);
var zoom_value=5;

/************************
* Fonction de creation d'un marqueur C=couleur B=blue, R=rouge, G=vert
************************/
function createMarker(point, html,C){
	if (C=="G"){icon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/green/blank.png";}
	else if (C=="R"){icon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/red/blank.png";}
	else{icon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/blue/blank.png";}
	markerOptions = { icon:icon };
	var marker = new GMarker(point,markerOptions);	
	GEvent.addListener(marker, "click", function()
		{marker.openInfoWindowHtml(html);}
	);	
	return marker;
}
 	
function geocode(address){
	geocoder = new GClientGeocoder();			
	geocoder.getLatLng(address,function(point){
		if (point){map.setCenter(point,zoom_value);}		
		return false;}
	);
}
	
/************************
* Fonction de chargement
************************/
function load_GMAP(obj,CP,VILLE){
	if (GBrowserIsCompatible())
	{
		var obj_G = document.getElementById("google_map");
		if (obj_G)
		{
			map = new GMap2(obj_G);
			
			// Parametrages
			map.enableInfoWindow();
			map.disableGoogleBar();		
			
			if (obj=='ADMIN_POS' || obj=='ADMIN_SEARCH'){ 
				map.enableDoubleClickZoom();
				map.enableContinuousZoom();
				map.enableScrollWheelZoom();
				map.addControl(new GSmallMapControl());	
			}
			else{											
				map.disableDoubleClickZoom();
				map.disableContinuousZoom();
				map.disableScrollWheelZoom();
			}			
									
			// Mise en place des controles
			//map.addControl(new GSmallMapControl());
			//map.addControl(new GMapTypeControl());
			//map.addControl(new GScaleControl());
			//map.addControl(new GHierarchicalMapTypeControl());
			//map.addControl(new GOverviewMapControl());
			 
			
			map.setCenter(new GLatLng(47,4), 5);			
			if (!CP==""){				
				if (obj=='ADMIN_POS'){
					zoom_value=10;
					geocode(CP + " " + VILLE + " FRANCE");
					ShowMarkersAdmin(map,'ADMIN_POS')}
				else {
					if (obj=='ADMIN_SEARCH'){
						zoom_value=10;
						geocode(CP + " " + VILLE + " FRANCE");
						ShowMarkersAdmin(map,'ADMIN_SEARCH');}
					else{
						// simu devis
						zoom_value=10;
						geocode(CP + " " + VILLE + " FRANCE");
						ShowMarkers(map);
					}
				}
			}					
		}
	}
}
// get departement
function GetDeptFromCP(CP){
	try{		
		var Dept = (CP/1000);
		return Dept			
	}
	catch (e){return CP}		 
}
// test
function GG_showDS(){
	 var obj=document.getElementById("GC_DEVIS_DS")
	 alert(obj.innerHTML);	
}

				
//affichage des markers (ballon) sur la map pour espace public client make devis
// on affiche pas les details
function ShowMarkers(map){	
	try{		
		var olat = document.forms[0].GC_DS_LAT;		
		var olng = document.forms[0].GC_DS_LON;
		for(i=0;i<olat.length;i++){	
			var point = new GLatLng(parseFloat(olat[i].value), parseFloat(olng[i].value));		
			var marker = createMarker(point, "<b>DogSitter<br/>GARDICANIN</b>","B");
			map.addOverlay(marker);
		}				
	}
	catch (e){}		
}

//affichage des markers (ballon) avec info DogSitter sur la map 
// on affiche les details des DS
// pour affichage admin traitement commandes
function ShowMarkersAdmin(map,src){
	ShowMarkerCLIENT(map);
	if (src=='ADMIN_POS'){ShowMarkersDSPostulants(map);}	
	else{ShowMarkersDS(map);}
}	
// create marker client
function ShowMarkerCLIENT(map){		
	try{					
		var olat = document.forms[0].GC_CLIENT_LAT.value;		
		var olng = document.forms[0].GC_CLIENT_LNG.value;				
		if (olat=="" || olat=="0"){			 
			//var Adr=document.getElementById("GC_CLIENT_ADR").value;	
			var Adr=document.getElementById("GC_CLIENT_ZIP").value;							
			geocoder.getLatLng(Adr,function(point)
				{if (point){					
					var html = "<font size='0.7em'><p><b>CLIENT</b></p>";	
					var marker = createMarker(point, html,"R");		
					map.addOverlay(marker); 					 				
				}
				}
			);
		} 
		else{
			var point = new GLatLng(parseFloat(olat), parseFloat(olng));	
			var html = "<font size='0.7em'><p><b>CLIENT</b></p>";	
			var marker = createMarker(point, html,"R");		
			map.addOverlay(marker); 	
		}		
	}catch (e){}
}

// create markers DogSitter postulants
function ShowMarkersDSPostulants(map){	 	
	try{		
		var obj = document.getElementById("DIV_POSTULANTS_DS");
		if(obj){
			for(i=0;i<obj.document.getElementsByName("GC_POS_LAT").length;i++)
			{												
				var point = new GLatLng(parseFloat(obj.document.getElementsByName("GC_POS_LAT")[i].value), parseFloat(obj.document.getElementsByName("GC_POS_LNG")[i].value));
				var html = "<font size='0.7em'><p><b>" + obj.document.getElementsByName("GC_POS_TITRE")[i].value + "</b>";
				html = html+"<br/><b>" + obj.document.getElementsByName("GC_POS_ADR")[i].value + "</b>";
				html = html+"<br/><b>" + obj.document.getElementsByName("GC_POS_TEL")[i].value + "</b></p></font>";
				var marker = createMarker(point, html,"B");			
				map.addOverlay(marker); 
			}
			 
		} 
	}catch (e){alert("err");}	
}

// create markers DogSitter suite recherche
function ShowMarkersDS(map){	
	try{
		var obj = document.getElementById("SDS_BKRESULTATS_RET");		
		for(i=0;i<obj.document.getElementsByName("GC_DS_LAT").length;i++)
		{
			var point = new GLatLng(parseFloat(obj.document.getElementsByName("GC_DS_LAT")[i].value), parseFloat(obj.document.getElementsByName("GC_DS_LNG")[i].value));
			var html = "<font size='0.7em'><p><b>" + obj.document.getElementsByName("GC_DS_TITRE")[i].value + "</b>";	
			html = html+"<br/><b>" + obj.document.getElementsByName("GC_DS_ADR")[i].value + "</b>";
			html = html+"<br/><b>" + obj.document.getElementsByName("GC_DS_TEL")[i].value + "</b></p></font>";
			var marker = createMarker(point, html,"B");			
			map.addOverlay(marker); 
		}
	}catch (e){}	
}

