var map;
var geocoder 		= new GClientGeocoder();
var dealerIds 		= Array();
var dealerMarkers 	= Array();
var dealerCoor	 	= Array();
var dealerHTML		= Array();
var dealerAdres 	= Array();
var homemarker		= false;
var icon 				= new GIcon();
icon.image 				= "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.shadow 			= "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
icon.iconSize 			= new GSize(12, 20);
icon.shadowSize 		= new GSize(22, 20);
icon.iconAnchor 		= new GPoint(6, 20);
icon.infoWindowAnchor 	= new GPoint(5, 1);


var icon2 				= new GIcon();
icon2.image 				= "http://labs.google.com/ridefinder/images/mm_20_blue.png";
icon2.shadow 			= "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
icon2.iconSize 			= new GSize(12, 20);
icon2.shadowSize 		= new GSize(22, 20);
icon2.iconAnchor 		= new GPoint(6, 20);
icon2.infoWindowAnchor 	= new GPoint(5, 1);

function GMLoad() {   
	if(GBrowserIsCompatible()){    
		map = new GMap2(document.getElementById("googleMap"));        
		map.setCenter(new GLatLng(51.146617353835516,5.9161376953125), 9);		
		map.addControl(new GSmallMapControl());
	}    
	initGmap();
} 

function HMCenterOnAdres(straat,postcode,plaats,land){
	var adres 	= '';
	var komma 		= '';
	if(straat){
		adres += komma + straat;
		var komma = ', ';
	}
	if(postcode){
		adres += komma + postcode;
		var komma = ', ';
	}
	if(plaats){
		adres += komma + plaats;
		var komma = ', ';
	}
	if(adres == ''){
		alert("Vul aub 1 of meer velden in!");    
	}else if(land){
		adres += komma + land;
		var komma = ', ';
		geocoder.getLatLng(adres,function(point){      
			if (!point) {       
				alert("Het adres is niet gevonden, probeert u het aub met andere waarden of met meer velden.");      
			}else{   
					if(homemarker != false){
						map.removeOverlay(homemarker);
					}
					homemarker 	= new GMarker(point, icon2); 
					map.addOverlay(homemarker);			
					map.panTo(point, 9); 
					searchDealers(point) 
				}    
			} 
		)		
	}	
}

function getInfo(){
	alert(map.getZoom())
	alert(map.getCenter())	
}

function addDealer(adres,html,id,lat,lng,active){
	dealerIds[dealerIds.length] 	= id;	
	dealerAdres[id] 				= adres;		
	dealerHTML[id]					= html;	
	dealerCoor[id]					= new GLatLng(lat, lng);
	GMToevoegenMarker(id)
	if(active){
		dealerInfoZoom(id);
	}
}
function GMToevoegenMarker(dealerID){  
	dealerMarkers[dealerID] 	= new GMarker(dealerCoor[dealerID], icon); 
	GEvent.addListener(dealerMarkers[dealerID], "click", function(){    
		dealerMarkers[dealerID].openInfoWindowHtml(dealerHTML[dealerID]);  
	});	
	map.addOverlay(dealerMarkers[dealerID]);
}

function dealerInfoZoom(id){
	if(map.getZoom() < 9){
		map.setZoom(9)
	}
	map.panTo(dealerMarkers[id].getPoint());
	dealerInfo(id);
}

function dealerInfo(id){
	dealerMarkers[id].openInfoWindowHtml(dealerHTML[id]);
}

function dealerInfoHide(id){
	dealerMarkers[id].closeInfoWindow(dealerHTML[id]);
}

function searchDealers(point){
	var vars = Array();
	for(i=0;i<dealerIds.length;i++){
		vars[vars.length] = Array('dealer['+dealerIds[i]+']',point.distanceFrom(dealerCoor[dealerIds[i]]))
	}
	startRequest('ajax.verkooppunten.php','divVerkooppunten',vars,false,true)
}
