var map;
var geocoder = null;
var addressMarker;
var directionsPanel;
var directions;
var html = '';


function GM_route() {
    var from = $('#GM_input').val();
    var to = $('#GM_homeadress').val();
    
    map.clearOverlays(); //remove other routes

    directionsPanel = document.getElementById("route");
    directions = new GDirections(map, directionsPanel);
    directions.load("from:  "+from+" to: " + to, { "locale": "nl_nl" });
    GEvent.addListener(directions,"error", function() {
        alert("Plaatsnaam is onbekend: "+directions.getStatus().code);
    });
}
function GM_showAddress(address, img, msg) {
    
   // alert(msg);
    
    if (geocoder) {
        geocoder.getLatLng(address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {

              if (addressMarker) {
                map.removeOverlay(addressMarker);
              }
              var icon = new GIcon(G_DEFAULT_ICON, img);

              addressMarker = new GMarker(point, icon);
              addressMarker.value = 'home';
              if(msg != ''){
                  GEvent.addListener(addressMarker, "click", function() {
                    addressMarker.openInfoWindowHtml(msg);
                  });
              }
              map.setCenter(point, 15);
              map.addOverlay(addressMarker);
              
            }
          }
        );
    }
    
}


function GM_directions() {
    var from = $('#GM_input').val();
    var to = $('#GM_homeadress').val();
    
    directionsPanel = document.getElementById("route");
    directions = new GDirections(map, directionsPanel);
    directions.load("from: "+from+" to: "+to);
}





function createMarker(latlng, number, text) {
    var marker = new GMarker(latlng);
    marker.value = number;
    GEvent.addListener(marker,"click", function() {
       map.openInfoWindowHtml(latlng,text);
       //alert('a')
    });
    return marker;
}

var val ='';
function GM_showItems(id) {

    GDownloadUrl("modules/Googlemaps/ajax/getItems.php?id="+id, function(data, responseCode) {
		var xml = GXml.parse(data);
		var markers = xml.documentElement.getElementsByTagName("marker");
		for (var i = 0; i < markers.length; i++) {
            
            
            //start	
            var itemid = markers[i].getAttribute('id');
            var title = markers[i].getAttribute('name');
            var address = markers[i].getAttribute('address');
            var city = markers[i].getAttribute('city');
            var zipcode = markers[i].getAttribute('zipcode');
            bounds = new GLatLngBounds();
            
            var x = 0;
            if (geocoder) {
                
                geocoder.getLatLng(address + ' ' + city,
                    function(point) {
                        if (!point) {
                            alert(address + ' ' + city + " not found");
                        } else {
                        
                        
                            var message = ('<p><b>'+markers[x].getAttribute('name') + '</b><br />' + markers[x].getAttribute('address') + '<br />' + markers[x].getAttribute('zipcode')+' ' +markers[x].getAttribute('city')+'<p>');
                        
                            x = x+1;
                             
                            Marker = createMarker(point, x, message);
                            map.addOverlay(Marker);
                            bounds.extend(point); 
                            map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)-1);  
                        }
                    }
                );
            }

		}
		
    });
}



function zoomfit(bounds) {
    newzoom = getBoundsZoomLevel(bounds);
    newcenter = bounds.getCenter();
    map.setCenter (newcenter,newzoom);
}



function deleteN_GM(counter) {
	elem = document.getElementById("n_gm_" + counter);
	elem.parentNode.removeChild(elem);
}
function delete_GM(id) {
	elem = document.getElementById("gm_" + id);
	elem.parentNode.removeChild(elem);
}

var newMICounter = 0;

function newGooglemapsitem() {
	showLoading();
	$.ajax({
		url: "modules/Googlemaps/ajax/newGMitem.php?counter=" + newMICounter,
		success: function(data) {
			$("#sortable").append(data);
			$("#sortable").sortable({ 
				axis: 'y', 
				cursor: 'n-resize' 
			});
			//$("#sortable").disableSelection();
			$("#sortable li").hover(
			  function () {
			    $(this).find('span').html('<img src=\"img/icons/arrow_inoutgrey.png\" alt=\"sort\">');
			  }, 
			  function () {
			    $(this).find('span').html('&nbsp;');
			  }
			);
			hideLoading();
		}
	});
	newMICounter++;
}
