var map;
var gm;
var gp;

function map_init()
{
    if (GBrowserIsCompatible())
    {
        map = new GMap(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());

        gp = new GPoint(-97, 40);
        map.centerAndZoom(gp, 14);

        gm = new GMarker(gp)
        map.addOverlay(gm);

        GEvent.addListener(map, 'click', function(overlay, point) {
          if ((!overlay) && (point)) {
            if (gm) { map.removeOverlay(gm); }
            gp = point;
            gm = new GMarker(gp)
            map.addOverlay(gm);
            map.centerAtLatLng(gp);
          }
        });
    }
}

function map_use()
{
    var lat = 0;
    var lon = 0;

    if (document.saverr.arg3.options[0].selected)
    {
        lat += parseInt(document.saverr.arg0.value);
        lat += parseInt(document.saverr.arg1.value) / 60;
        lat += parseFloat(document.saverr.arg2.value) / 3600;
    }
    else
    {
        lat -= parseInt(document.saverr.arg0.value);
        lat -= parseInt(document.saverr.arg1.value) / 60;
        lat -= parseFloat(document.saverr.arg2.value) / 3600;
    }

    if (document.saverr.arg7.options[0].selected)
    {
        lon += parseInt(document.saverr.arg4.value);
        lon += parseInt(document.saverr.arg5.value) / 60;
        lon += parseFloat(document.saverr.arg6.value) / 3600;
    }
    else
    {
        lon -= parseInt(document.saverr.arg4.value);
        lon -= parseInt(document.saverr.arg5.value) / 60;
        lon -= parseFloat(document.saverr.arg6.value) / 3600;
    }

    if (gm) { map.removeOverlay(gm); }
    gp = new GPoint(lon, lat);
    gm = new GMarker(gp)
    map.addOverlay(gm);
    map.centerAndZoom(gp, 1);
}

function map_get()
{
    var lat = gp.y;
    var lon = gp.x;
    var d,m,s,h;

    if (lat > 0)
    {
        d = lat - (lat % 1);
        lat = (lat - d) * 60;
        m = lat - (lat % 1);
        lat = (lat - m) * 60;
        s = lat;
        h = 0;
    }
    else
    {
        lat *= -1;
        d = lat - (lat % 1);
        lat = (lat - d) * 60;
        m = lat - (lat % 1);
        lat = (lat - m) * 60;
        s = lat;
        h = 1;
    }
    document.saverr.arg0.value = d;
    document.saverr.arg1.value = m;
    document.saverr.arg2.value = s.toFixed(3);
    document.saverr.arg3.options[h].selected = true;

    if (lon > 0)
    {
        d = lon - (lon % 1);
        lon = (lon - d) * 60;
        m = lon - (lon % 1);
        lon = (lon - m) * 60;
        s = lon;
        h = 0;
    }
    else
    {
        lon *= -1;
        d = lon - (lon % 1);
        lon = (lon - d) * 60;
        m = lon - (lon % 1);
        lon = (lon - m) * 60;
        s = lon;
        h = 1;
    }
    document.saverr.arg4.value = d;
    document.saverr.arg5.value = m;
    document.saverr.arg6.value = s.toFixed(3);
    document.saverr.arg7.options[h].selected = true;
}
