var map; 
var marker;
var myMarkers = new Array();
var geocoder;
var pinIcon = new google.maps.Icon;
pinIcon.image = "http://athensbook.gr/images/hosppin.png";
pinIcon.shadow = "http://athensbook.gr/images/pinshadow.png";
pinIcon.iconSize = new google.maps.Size(17, 39);
pinIcon.shadowSize = new google.maps.Size(29, 37);
pinIcon.iconAnchor = new google.maps.Point(10, 34);
pinIcon.infoWindowAnchor = new google.maps.Point(15, 1);


function init() { 

	map = new google.maps.Map2(document.getElementById("map_canvas"));
	map.setCenter(new google.maps.LatLng(37.98344543709474, 23.719825744628906), 15);
	map.addControl(new google.maps.SmallMapControl());
	map.addControl(new google.maps.MenuMapTypeControl());
	map.checkResize();
	map.disableDoubleClickZoom();
	map.enableContinuousZoom();
	map.enableScrollWheelZoom();
	geocoder = new google.maps.ClientGeocoder();
	

	// doubleclick
	google.maps.Event.addListener(map, "dblclick", function(overlay, latlng) {
			createMarker(latlng);

	});


}


function createMarker(point) {
	for ( var x in myMarkers) {
		map.removeOverlay(myMarkers[x]);
		myMarkers = [];
	}
	marker = new GMarker(point,{draggable: true, icon: pinIcon});
	map.addOverlay(marker);
	myMarkers.push(marker);
	
	
	// dragstart
	google.maps.Event.addListener(marker, "dragstart", function() {
		marker.closeInfoWindow();
	});
	
	// dragend 
	google.maps.Event.addListener(marker, "dragend", function() {
		
		var lat = marker.getPoint().lat();
		var lng = marker.getPoint().lng();
		geocoder.getLocations(lat + "," + lng, function(response){
			//alert("Reverse geocoding...");
			if (!response || response.Status.code != 200){
				document.getElementById('street').value="Άγνωστη";
			} else {
				place = response.Placemark[0];
				address = place.address;
				//alert(address);
				streetstr = address.split(",");
				street = streetstr[0];
				var objRegExp = /(\d\d\d\d\d)/;
				zipcode = objRegExp.exec(address)[0];
				if (street){
					document.getElementById('street').value=street;
				} else {
					document.getElementById('street').value="Άγνωστη";
				}
				if (zipcode){
					document.getElementById('zipcode').value=zipcode;
				} else {
					document.getElementById('zipcode').value="Άγνωστη";
				}
				//updating lat/long hidden fields
				//alert(lat);
				document.getElementById('lat').value=lat;
				document.getElementById('long').value=lng;
				document.getElementById('street').focus();
				$('status').update('<p>Αν ξέρετε τον ακριβή αριθμό, κάντε τη διορθώση</p>');
				//alert(document.getElementById('lat').value);
			}
		});
	});
	return marker;
}

function showArea(area) {
	switch(area){
	case "Γηροκομείο":
		area = "Λασκαρίδου 2";
		break;
	case "Ακαδημία Πλάτωνος":
		area = "Πλάτωνος";
		break;
	case "Γκάζι":
		area = "Κεραμεικός";
		break;
	case "Γουδή":
		area = "Ευδήλου";
		break;
	case "Γούβα":
		area = "Βαθυκλέους";
		break;
	case "Ελληνορώσων":
		area = "Τσεντνερ";
		break;
	case "Ζωγράφου":
		area = "Ζωγράφος";
		break;
	//case "Χαλάνδρι":
	//	area = "Χαλάνδριον";
	//	break;
	//case "Νέα Χαλκηδόνα":
	//	area = "Νέα Χαλκηδών";
	//	break;
	//case "Νέο Ψυχικό":
	//	area = "Νέον Ψυχικόν";
	//	break;
	//case "Ψυχικό":
	//	area = "Ψυχικόν";
	//	break;
	//case "Γαλάτσι":
	//	area = "Γαλάτσιον";
	//	break;
	//case "Χαϊδάρι":
	//	area = "Χαϊδάριον";
	//	break;
	case "Περιστέρι":
		area = "Περιστέριον";
		break;
	case "Ιλίσσια":
		area = "16 Δηλου, Ζωγράφου";
		break;
	case "Κέντρο":
		area = "Σύνταγμα";
		break;
	case "Κολωνός":
		area = "Βουθρώτου, Αθήνα";
		break;
	case "Κουκάκι":
		area = "Δράκου, Αθήνα";
		break;
	case "Μακρυγιάννη":
		area = "Δράκου, Αθήνα";
		break;
	case "Κυψέλη":
		area = "Καλογερά, Αθήνα";
		break;
	case "Κυπριάδου":
		area = "Περδικάρη, Αθήνα";
		break;
	case "Κουντουριώτικα":
		area = "Γέλωνος, Αθήνα";
		break;
	case "Παγκράτι":
		area = "Ζηνοδοτου, Αθήνα";
		break;
	case "Πεδίον του Άρεως":
		area = "Θερειανού, Αθήνα";
		break;
	case "Ριζούπολη":
		area = "Βολβης, Αθήνα";
		break;
	case "Ψυχικό":
		area = "Παλαιό Ψυχικό";
		break;
	case "Σαρωνίδα":
		area = "Σαρωνίς";
		break;
	}
	area = area + ", Αττική";
	geocoder.getLatLng(area, function(point) {
		if (point) {
			map.setCenter(point, 15);
			createMarker(point);
			//marker.openInfoWindowHtml("<p style='font-family:Helvetica,sans-serif;font-size:11px;'>Μετακινήστε τον δείκτη<br> εκεί που βρίσκεται <br>το σημείο ενδιαφέροντος που<br> θέλετε να προσθέσετε.</p>");
			map.panTo(point);
			new Effect.Highlight('status',{ startcolor: '#fbaa7d', endcolor: '#f9ffcc', duration:4 });

			//Effect.Appear('status', {queue: 'end'});
			//$('status').style.background = "#fbfb6d";
			$('status').update('<p>Μετακινήστε την πινέζα εκεί που βρίσκεται το σημείο ενδιαφέροντος που θέλετε να προσθέσετε.</p>');

		}	
	});

}



google.setOnLoadCallback(init);


