var markerIcon = new GIcon(); 
markerIcon.image = '/wp-content/plugins/wp-google-maps/images/marker_blue.png';
markerIcon.shadow = '/wp-content/plugins/wp-google-maps/images/marker_shadow.png';
markerIcon.iconSize = new GSize(12, 20);
markerIcon.shadowSize = new GSize(22, 20);
markerIcon.iconAnchor = new GPoint(6, 20);
markerIcon.infoWindowAnchor = new GPoint(5, 1);

var mapDiv1;
var map1;

var current_user_position_lat = 64.878459584698230;
var current_user_position_lng = 20.808416604995728;
var current_user_position_point = new GLatLng(current_user_position_lat, current_user_position_lng);
var current_user_marker;
var current_user_geocoder = new GClientGeocoder();
current_user_geocoder.setBaseCountryCode("a");

var addressOldHTML = "";
var dragMarkerHTML = "";
var searchHTML = "";
var savePositionHTML = "";
var coordsOldHTML = "";
var coordsNewHTML = "";
var infoWindowHTML = ""; 

function init1(){  
}

function load1() {
  if (GBrowserIsCompatible()) {	
  	mapDiv1 = document.getElementById( "wp-google-maps-1" );
    map1 = new GMap2(document.getElementById("wp-google-maps-1"), {size:new GSize(500, 400)});
    init1();
    map1.checkResize();
    	map1.addMapType(G_PHYSICAL_MAP);
                	map1.setCenter(new GLatLng(39.41631978979296, 3.250279426574707), 16, G_HYBRID_MAP);
	map1.addControl(new GMapTypeControl(true));
		map1.addControl(new GLargeMapControl());
		// Bind a search control to the map, suppress result list.
        var options = "";
    	    options = {
    	//http://www.google.com/uds/solutions/localsearch/reference.html#_additionalcallbacks
		onGenerateMarkerHtmlCallback : extendMarker
    };
			map1.addControl(new google.maps.LocalSearch(options), new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(10,20)));		
		
	
	map1.enableDoubleClickZoom();
	map1.enableScrollWheelZoom();
    map1.enableContinuousZoom();
    map1.getContainer().style.overflow="hidden";
	
	loadMarkersFromXML(map1);
	GEvent.addListener(map1, "dragend", function(){loadMarkersFromXML(map1);});
	GEvent.addListener(map1, "zoomend", function(){loadMarkersFromXML(map1);}); 
	
		var ovSize = new GSize(150, 100)
	var ovMap1 = new GOverviewMapControl(ovSize);
	map1.addControl(ovMap1);
				
	    
        map1.hideControls();
	GEvent.addListener(map1, "mouseover", function(){
		map1.showControls();
	});
	GEvent.addListener(map1, "mouseout", function(){
		map1.hideControls(); 
		map1.closeInfoWindow();
	});
		
    // Remove handling of default scrolling action
    if ( mapDiv1.addEventListener ){
        mapDiv1.addEventListener( 'DOMMouseScroll', doNotPropagate1,
false );
        disabledDefSWZoom = true;
    } else {
        mapDiv1.onmousewheel = doNotPropagate1;
        disabledDefSWZoom = true;
    }
    
      }
}

function extendMarker(marker, html, result) {
	// extend the passed in html for this result
	myStuff = document.createElement("div");
	div.innerHTML = "on";
	html.appendChild(div);
	return html;
}


// Stop page scrolling when inside the map.
function doNotPropagate1( e1 ){
    if ( !e1 ){
        e1 = window.event;
    }
    e1.returnValue = false;
    e1.cancelBubble = true;
    if ( e1.preventDefault && e1.stopPropagation ){
        e1.preventDefault();
        e1.stopPropagation();
    }
}

function loadMarkersFromXML(map1) {
	var center = map1.getCenter();
	var span = map1.getBounds().toSpan();
	var centerLat = center.y;
	var centerLng = center.x;
	var spanLat = span.y;
	var spanLng = span.x;
	var southwest = map1.getBounds().getSouthWest();
	var radius = center.distanceFrom(southwest) / 2000;
	
	var xml_feed_url = "http://torrentdescorso.com/wp-content/plugins/wp-google-maps/wp-google-maps-markers.xml.php?lat=" + centerLat + "&amp;lng=" + centerLng + "&amp;radius=" + radius;
	//alert('center:'+center+'\nsouthwest:'+southwest+'\nspan:'+span+'\nurl:'+url+'\nradius:'+radius);
	GDownloadUrl(xml_feed_url, function(data, responseCode) {
		if(responseCode == 200) {
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {			
				var lat = markers[i].getAttribute("lat");
				var lng = markers[i].getAttribute("lng");
				var html = "";
				var xml_feed_fields = new Array();
								xml_feed_fields[0] = ""; 				
				for (var k = 0; k < xml_feed_fields.length; k++) {
					html = html.replace(new RegExp("\\|\\|" + xml_feed_fields[k] + "\\|\\|", 'g'), markers[i].getAttribute(xml_feed_fields[k]));
				}
							
				var marker = createMarker1(lat, lng, html);
				map1.addOverlay(marker);
			}
		}
	});

}

function createMarker1(lat, lng, marker_html) {
	var point = new GLatLng(parseFloat(lat), parseFloat(lng));
	var marker = new GMarker(point, markerIcon);
	
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(marker_html);
	});

	return marker;
}

function createMarkerOld1(point, name, street, city, country, img, url) {
	var marker = new GMarker(point, markerIcon);
	if('' != street)
		street = street + "<br />";
	
	var html = "<div class='google-maps-marker'><a href='" + url + "'>" + img + "<b>" + name + "</b></a><br/>" + street + city + ", " + country + "</div>";
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(html);
	});

	return marker;
}
