jQuery("window").ready(InitPage);
google.load("maps", "2.x");


var gMap = new GMaps();
var detailBox = new Panel("#detail-box");
var btnClose = new Button();
var dlgAddToRoute = new Dialog();
var dlgErrorBox = new Dialog();
var dlgSuccess = new Dialog();
var gMiniMap = new GMaps();
var panelWerbung = new Panel();
var panelMiniMap = new Panel();
var selectedRouteId = -1;

function InitPage()
{
	jQuery(".detail-link").click(OnDetailImageOver);
	jQuery(".add-link").click(OnAddImageOver);
	gMap = new GMaps("map");
	gMiniMap = new GMaps("mini-map");
	btnClose = new Button("#btnClose");
	dlgAddToRoute = new Dialog("#dlgAddToRoute");
	dlgAddToRoute.OKClick = OnAddToRouteOkClick;
	dlgErrorBox = new Dialog("#dlgErrorBox");
	dlgSuccess = new Dialog("#dlgSuccess");
	dlgSuccess.OKClick = OnDlgSuccessOkClick;
	panelWerbung = new Panel("#werbung");
	panelMiniMap = new Panel("#mini-map");
	jQuery("tr.rowstyle1").mouseover(OnDetailImageOver);
	jQuery("tr.rowstyle1").mouseout(OnDetailImageLeave);
	jQuery("tr.rowstyle2").mouseover(OnDetailImageOver);
	jQuery("tr.rowstyle2").mouseout(OnDetailImageLeave);
	btnClose.ClickEventHandler(function() { detailBox.Hide(); });
	detailBox.Undock();
	detailBox.Hide();
	dlgAddToRoute.SetTitle("Frage:");
}

function OnDlgSuccessOkClick()
{
	location.reload();
}

function OnAddToRouteOkClick()
{
	//alert("Added you to Route: " + selectedRouteId);
	jQuery.post("dataprovider/default.dataprovider.php", { action: "addToRoute", routeId: selectedRouteId },
	function(data)
	{
		if( data.success == false )
		{
			dlgErrorBox.ShowErrorBox(data.error_text);
		}
		else
		{
			dlgSuccess.SetTitle("Zu Fahrt hinzuf&uuml;gen...");
			//dlgErrorBox.SetContent("Sie wurden erfolgreich der gew&auml;hlten Fahrt hinzugef&uuml;gt.");
			dlgSuccess.ShowMessageBox();
		}
	}, "json");
	dlgAddToRoute.Close();
}

function OnAddImageOver(event)
{
	if( isLoggedIn == 1 )
	{
		selectedRouteId = event.target.id;
		dlgAddToRoute.Show();
	}
	else
	{
		dlgErrorBox.SetTitle("Fehler:");
		dlgErrorBox.ShowErrorBox("Sie m&uuml;ssen angemeldet sein um diese Aktion ausf&uuml;hren zu k&ouml;nnen.");
	}
}

var oldClass = "";

function OnDetailImageLeave(event)
{
	panelWerbung.Show();
	panelWerbung.SetSize("100%", "100%");
	panelMiniMap.Hide();
	switch(jQuery("tr[id=" + event.target.id + "]").attr("class"))
	{
		case "rowstyle1hl":
				jQuery("tr[id=" + event.target.id + "]").attr("class", "rowstyle1");
				break;
		case "rowstyle2hl":
				jQuery("tr[id=" + event.target.id + "]").attr("class", "rowstyle2");
				break;
	}
}

function OnDetailImageOver(event)
{
	switch(jQuery("tr[id=" + event.target.id + "]").attr("class"))
	{
		case "rowstyle1":
				jQuery("tr[id=" + event.target.id + "]").attr("class", "rowstyle1hl");
				break;
		case "rowstyle2":
				jQuery("tr[id=" + event.target.id + "]").attr("class", "rowstyle2hl");
				break;
	}
	jQuery.getJSON("dataprovider/default.dataprovider.php", { action: 'getDetails', route_id: event.target.id }, function(data) {
		//detailBox.SetPostition(event.clientX, event.clientY);
		//alert(data.from_lat);
		gMiniMap.ClearMarkers();
		gMiniMap.AddMarker(GMaps.ToGLatLng(data.from_lat, data.from_lng), "Start", false);
		gMiniMap.AddMarker(GMaps.ToGLatLng(data.to_lat, data.to_lng), "Start", false);
		gMiniMap.DrawPolyline(GMaps.ToGLatLng(data.from_lat, data.from_lng), GMaps.ToGLatLng(data.to_lat, data.to_lng), '#ff0000', 5);
		panelWerbung.Hide();
		panelWerbung.SetSize("0px", "0px");
		panelMiniMap.Show();
	});
	//alert(event.target.id);
}
