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(40.63935,22.944607), 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 = "Νεάπολις";
		break;
	case "Κορδελιό":
		area = "Ελευθέριο-Κορδελιό";
		break;
	case "Συκιές":
		area = "Συκέαι";
		break;
	case "Εύοσμος":
		area = "Εύοσμον";
		break;
	case "Άνω Τούμπα":
		area = "Λαμπράκη 213";
		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 = "Fintiou";
		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);



