var renderMap;
var directionsPanel;
var directions;

$(document).ready(function(){
	if (GBrowserIsCompatible()) {
		renderMap = new GMap2(get('mapBox'));
		renderMap.setCenter(new GLatLng(47.329283,17.947884), 13);
		//renderMap.setMapType(G_HYBRID_MAP);
		var mapControl = new GMapTypeControl();
		var mapDir = new GLargeMapControl3D();
		renderMap.addControl(mapControl);
		renderMap.addControl(mapDir);
		renderMap.enableScrollWheelZoom();


		var a = new ajax(
		"/bakonyinfo/process/getHelysegek.php",
		"",
		function(responseText)
		{
			var c = eval(responseText);		
			var i;


			var bounds = new GLatLngBounds();
			var stat = ['_off',''];
			var cursor = ['default','pointer'];
			var markers = [];
			for(i=0;i<coords.length;i++)
			{
				var icon = new GIcon();
				icon.image = '/bakonyinfo/images/arrow'+stat[coords[i][3]]+'.png';
				icon.shadow = "/bakonyinfo/images/arrowshadow.png";
				icon.iconSize = new GSize(32, 32);
				icon.shadowSize = new GSize(32,32);
				icon.iconAnchor = new GPoint(5, 32);
				icon.infoWindowAnchor = new GPoint(10, 0);
				
				var point = new GLatLng(parseFloat(coords[i][1]),parseFloat(coords[i][2]));
	
				var placeMarkers = new GMarker(point, {icon: icon, title: coords[i][0]});
				placeMarkers.link = coords[i][4];
				GEvent.addListener(placeMarkers, 'click', function() {					
					var h = '<b>'+this.getTitle()+'</b><br /><br /><a href="'+this.link+'" target="_blank">'+this.link+'</a>';
					this.openInfoWindowHtml(h);
				});
				renderMap.addOverlay(placeMarkers);
				bounds.extend(point);
			}


			var zListener = GEvent.addListener(renderMap, 'zoomend', function() {
					GEvent.removeListener(zListener);
					var zoom = renderMap.getZoom();
					renderMap.setZoom(zoom-1)
			});
			renderMap.setZoom( renderMap.getBoundsZoomLevel(bounds) );
		});
	}
	
	$("a.roadplan").click(function (){
		$('#tartalom').css({display:'none'});
		$('#roadPlanerBox').css({marginLeft:0});
		$('#roadPlanerBox').css({visibility:'visible'});
	})
	
	$('#roadPlanerBox .valto').toggle(
		function(){
			$('#fromToPanel div').first().clone().appendTo('#fromToPanel');
			$('#fromToPanel div').first().remove();
		},
		function(){
			$('#fromToPanel div').first().clone().appendTo('#fromToPanel');
			$('#fromToPanel div').first().remove();
		}
	)
});

function rpcloser()
{
	$('#tartalom').css({display:'block'});
	$('#roadPlanerBox').css({marginLeft:330});
	$('#roadPlanerBox').css({visibility:'hidden'});
}

function roadPlanStart()
{
	renderMap.closeInfoWindow();
	if(directions) directions.clear();
	var s = $("#fromToPanel div").children().get()[0];
    var e = $("#fromToPanel div").children().get()[1];
	if($(s).is('select'))
	{
		start = $(s).val().split("x");
		start = new GLatLng(parseFloat(start[0]),parseFloat(start[1]));
		end = $(e).val();
	}
	else
	{
		start = $(s).val();
		end = $(e).val().split("x");
		end = new GLatLng(parseFloat(end[0]),parseFloat(end[1]));
	}
	router(start, end);
}

function router(start, end)
{
	directionsPanel = get('dirpanel');
	directions = new GDirections(renderMap, directionsPanel);
	GEvent.addListener(directions, 'addoverlay', function (){
		var trs = $("#dirpanel .googledir tr");
		if(directions.getNumRoutes())
		{
			var rut = directions.getRoute(0);
		}
		for(var i=0; i<trs.length-1;i++)		
		{
			if(!isNaN(Number(trs[i].stepId)))
			{
				setNewClick(trs[i], rut);
			}
			else
			{
				trs[i].stepId	 = (i>0) ? -1 : i;
				$(trs[i]).click(function(){
					var pos = (this.stepId>-1 ) ? rut.getStep(this.stepId).getLatLng() : rut.getEndLatLng();
					var html = $(this).children().first().next().html();
					renderMap.openInfoWindowHtml(pos, html);
					renderMap.setCenter(pos);
					renderMap.setZoom(14);
				})
			}
			$(trs[i]).attr('jsaction',null);
		}
	});
	directions.load('from: '+start+' to: '+end);
}

function setNewClick(tr, rut)
{
	$(tr).click(function(){
		var pos = rut.getStep(this.stepId).getLatLng();
		var html = rut.getStep(this.stepId).getDescriptionHtml();
		renderMap.openInfoWindowHtml(pos, html);
		renderMap.setCenter(pos);
		renderMap.setZoom(14);
	});	
}
