var map;

$(document).ready(function(){
    $(".pastyears").hide();
    $("#caldiv").fullCalendar({
	editable: false,
	theme: true,
	eventClick: function(calEvent, jsEvent, view) {
	    if (calEvent.url.indexOf('google') > 0) { return false; }
	},
	eventSources: [
	    'cgi-bin/calendar.php',
	    $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/3011a623a2i561vjha6bjun0h0@group.calendar.google.com/public/basic",
				    {
					className: 'gcal-event',
					editable: false
				    }
				   )
	],
	eventRender: function(event, element) {
	    if (event.url.indexOf('google') > 0) { return; }
	    element.qtip({
		content: event.description,
		position: {
		    corner: {
			target: 'topLeft',
			tooltip: 'bottomLeft'
		    }
		},
		style: { 
		    padding: 5,
		    background: '#A2D959',
		    color: 'black',
		    textAlign: 'left',
		    border: {
			width: 7,
			radius: 5,
			color: '#A2D959'
		    }
		}
	    })
	},
	contentHeight: 500
    });
    $("#tabs").tabs({
	show: function(event, ui) {
	    if (ui.index >= 1 && ui.index <= 3) {
		// this resizes the graph divisions to be the width the tab
		$("#"+ui.panel.id+"-miles").width(($("#"+ui.panel.id).width()));
		if (ui.index == 1) { var timeformat = "%m/%d/%y"; }
		else if (ui.index == 2) { var timeformat = "%m/%y"; }
		else if (ui.index == 3) { var timeformat = "%y"; }
		$.ajax({
		    url: "cgi-bin/tad2flot.php",
		    data: "p="+ui.panel.id,
		    method: "get",
		    success: function(js) { 
			eval(js);
			var options =  {
			    xaxis: { mode: "time", timeformat: timeformat },
			    legend: { position: "nw" }
			};
			$.plot($("#"+ui.panel.id+"-miles"), data, options);
		    }
		});
	    }
            if (ui.index == 4) { ShowHeartRateAndMap(); }
	    if (ui.index == 5) { $("#caldiv").fullCalendar('today'); }
	    if (ui.index == 6) { // Big Map
		// alert('show');
		$("#"+ui.panel.id+"div").width(($("#"+ui.panel.id).width()));
	    }
	},
	load: function(event, ui) {
	    if (ui.index == 6) { // Big Map
		// alert('load');
		$("#"+ui.panel.id+"div").width(($("#"+ui.panel.id).width()));
		ShowBigMap($("#"+ui.panel.id+"div"));
	    }
	}
    });
    $("#tabs").tabs('url', 4, 'cgi-bin/details.php');
    $("#tabs").tabs('url', 6, 'cgi-bin/bigmap.php');

    $("#tabs").tabs('option', 'fx', { opacity: 'toggle' });
    
    $("#hrdialog").dialog({
	autoOpen: false,
	modal: true,
	width: 650, height: 360,
	title: 'Heart Rate',
	hide: 'slide', show: 'slide'
    });
    $("#mapdialog").dialog({
	autoOpen: false,
	modal: true,
	width: 650, height: 660,
	title: 'Map',
	hide: 'slide',
	close: function(event,ui) { GUnload(); }
    });
    if ($.jCookie('logfileline')) { ShowDetails($.jCookie('logfileline')); $.jCookie('logfileline',null); }

});

$(function(){
    $('#toggle tbody tr.year').click(function() {
	$(this).siblings().toggle();
   	return false;
    })
});

function ShowHeartRateAndMap()
{
    if (gmdiv = document.getElementById("dmapdiv"))
    {
	file = gmdiv.innerHTML;
	function indexOrder(marker,b) { return 1; }
    
	dmap = new GMap2(document.getElementById("dmapdiv"));
	dmap.addMapType(G_PHYSICAL_MAP);
	dmap.setMapType(G_HYBRID_MAP);
	dmap.addControl(new GSmallMapControl());
	dmap.addControl(new GMenuMapTypeControl());
	dmap.setCenter(new GLatLng(36.847011, -76.0529), 17);
	dmap.checkResize();

	if (file.indexOf('gpx') > 0)
	{
	    url = "cgi-bin/gpx2gmap.php";
	    data = "gpx=../data/" + file;
	}
	if (file.indexOf('tcx') > 0)
	{
	    url = "cgi-bin/tcx2gmap.php";
	    data = "tcx=../data/" + file;
	}
	$.ajax({
	    url: url,
	    data: data,
	    method: "get",
	    success: function(js) { 
		eval(js);
		dmap.clearOverlays();
		dmap.addOverlay(new GMarker(end, {icon:endIcon, zIndexProcess:indexOrder} ));
		dmap.addOverlay(new GMarker(start, {icon:startIcon, zIndexProcess:indexOrder} ));
		for (var i=0; i<trk[1].length; i++)
		{
		    dmap.addOverlay(trk[1][i]);
		}
		dmap.setCenter(latlngbounds.getCenter(), dmap.getBoundsZoomLevel(latlngbounds));
		dmap.checkResize();
	    }
	});
    }

    if (hrdiv = document.getElementById("dheartrate"))
    {
	tcx = hrdiv.innerHTML;
	$.ajax({
	    url: "cgi-bin/tcx2flot.php",
	    method: "get",
	    data: "tcx=../data/" + tcx,
	    success: function(js) { 
		eval(js);
		var options =  {
		    grid: { markings: markings },
		    xaxis: { mode: "time", timeformat: "%h:%M:%S" },
		    lines: {show: true },
		    legend: { position: 'nw' }
		};
		$.plot($("#dheartrate"), data, options);
	    }
	});
    }
}

function ShowHeartRate(tcx)
{
    $("#hrdialog").dialog('option','title','Heart Rate: '+tcx);
    $("#hrdialog").dialog('open');

    $.ajax({
	url: "cgi-bin/tcx2flot.php",
	method: "get",
	data: "tcx=../data/" + tcx,
	success: function(js) { 
	    eval(js);
	    var options =  {
		grid: { markings: markings },
		xaxis: { mode: "time", timeformat: "%h:%M:%S" },
		lines: {show: true },
		legend: { position: 'sw' }
	    };
	    $.plot($("#heartrate"), data, options);
	}
    });
}

function ShowDetails(d)
{
    $("#tabs").tabs('option', 'ajaxOptions', { cache: false });
    $("#tabs").tabs('url', 4, 'cgi-bin/details.php?entry='+d);
    $("#tabs").tabs('select', 4);
}

var startIcon = new GIcon(G_DEFAULT_ICON);
startIcon.image = "http://www.epate.com/tlog/graphics/start.png";
var endIcon = new GIcon(G_DEFAULT_ICON);
endIcon.image = "http://www.epate.com/tlog/graphics/end.png";
function ShowMap(file)
{
    $("#mapdialog").dialog('option','title','Map: '+file);
    $("#mapdialog").dialog('open');

    function indexOrder(marker,b) { return 1; }
    
    if (GBrowserIsCompatible() && (typeof(map) == 'undefined')) {
	map = new GMap2(document.getElementById("mapdiv"));
	map.addMapType(G_PHYSICAL_MAP);
	map.setMapType(G_HYBRID_MAP);
	map.addControl(new GSmallMapControl());
	map.addControl(new GMenuMapTypeControl());
    }
    map.setCenter(new GLatLng(36.847011, -76.0529), 17);
    map.checkResize();

    if (file.indexOf('gpx') > 0)
    {
	url = "cgi-bin/gpx2gmap.php";
	data = "gpx=../data/" + file;
    }
    if (file.indexOf('tcx') > 0)
    {
	url = "cgi-bin/tcx2gmap.php";
	data = "tcx=../data/" + file;
    }
    $.ajax({
	url: url,
	data: data,
	method: "get",
	success: function(js) { 
	    eval(js);
	    map.clearOverlays();
	    map.addOverlay(new GMarker(end, {icon:endIcon, zIndexProcess:indexOrder} ));
	    map.addOverlay(new GMarker(start, {icon:startIcon, zIndexProcess:indexOrder} ));
	    for (var i=0; i<trk[1].length; i++)
	    {
		map.addOverlay(trk[1][i]);
	    }
	    map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));
	    map.checkResize();
	}
    });
}

// var bgmap;
function ShowBigMap(d)
{
    // once the map is drawn, don't do it again
    if (typeof(bgmap) != 'undefined') { return; }

    // get the list of files
    eval(d.html());
    if (typeof(files) == 'undefined') { return; }
    d.html('');
    d.show();

    $("#tabs").tabs('url', 6, '');

    if (GBrowserIsCompatible() && (typeof(bgmap) == 'undefined')) {
	bgmap = new GMap2(document.getElementById("bigmapdiv"));
	bgmap.addMapType(G_PHYSICAL_MAP);
	bgmap.setMapType(G_HYBRID_MAP);
	bgmap.addControl(new GLargeMapControl3D());
	bgmap.addControl(new GMenuMapTypeControl());
	bgmap.setCenter(new GLatLng(36.847011, -76.0529), 17);
	bgmap.checkResize();
    }

    for (var i=0, len=files.length-1; i<len; i++)
    {
	if (files[i].indexOf('gpx') > 0)
	{
	    url = "cgi-bin/gpx2gmap.php";
	    data = "gpx=" + files[i] + "&start=1";
	}
	if (files[i].indexOf('tcx') > 0)
	{
	    url = "cgi-bin/tcx2gmap.php";
	    data = "tcx=" + files[i] + "&start=1";
	}
	var bgmapbounds = new GLatLngBounds();
	var Y = data.substr(14,2);
	var M = data.substr(16,2);
	var D = data.substr(18,2);
	var DateStr = Y + "/" + M + "/" + D;
	$.ajax({
	    url: url,
	    data: data,
	    method: "get",
	    success: function(js) { 
		eval(js);
		var marker = new GMarker(start, {icon:startIcon});
//		GEvent.addListener(marker, "click", function() {
//		    ShowDetails(ds);
//		});
		bgmap.addOverlay(marker);

		bgmapbounds.extend(start);
		bgmap.setCenter(bgmapbounds.getCenter(), bgmap.getBoundsZoomLevel(bgmapbounds));
	    }
	});
    }
}

