﻿var currenttab = "";
var oldFav = "";
var oldSearch = "";
var oldGPS = "";

function onMapDataError(args)
{
    window.alert("error - " + args);
}

function onMapDataTimeOut(args)
{
    window.alert("error - " + args);
}

function OnGetGPSDataComplete(args)
{
    var values = new String(args);
    var varry = values.split(",");
    var i = 0;
    for (i = 0; i < varry.length; i = i + 5)
    {
        if ((i > 0) && (varry[i] != ""))
        {
            DrawLine(varry[i - 5], varry[i - 4], varry[i - 3], varry[i - 2], varry[i], varry[i + 1], varry[i + 2], varry[i + 3]);
        }
    }
    
}

function DrawLine(gv_x, pos_x, gv_y, pos_y, sim2_x, pos2_x, sim2_y, pos2_y)
{
    var px = parseFloat(gv_x) + (parseFloat(pos_x) / 256.0);
    var py = parseFloat(gv_y) + (parseFloat(pos_y) / 256.0);
    
    var p2x = parseFloat(sim2_x) + (parseFloat(pos2_x) / 256.0);
    var p2y = parseFloat(sim2_y) + (parseFloat(pos2_y) / 256.0);
    
    py = 1279.0 - py;
	py += 1;
	p2y = 1279.0 - p2y;
	p2y += 1;
	
    var polyline = new GPolyline([
        new GLatLng(-py * gvMapFactor,px * gvMapFactor),
        new GLatLng(-p2y * gvMapFactor,p2x * gvMapFactor)],
        "#ff0000",
        10);
    theMap.GMap.addOverlay(polyline);
}

function OnDoubleClickComplete(args)
{
    var values = new String(args);
    var varry = values.split("|");
    var content = new String(varry[5]).replace('\r\n', '').replace('\r','').replace('\n','');
    AddSearchMarker(new Number(varry[0]), new Number(varry[1]), new Number(varry[2]), varry[3], content);
}

function GetFavoritesHTML()
{
    if ((currenttab != "Favorites") && (oldFav != ""))
    {
        OnGetFavoritesComplete(oldFav);
    }
    else
        MapsData.GetFavorite(session_key, OnGetFavoritesComplete, onMapDataTimeOut, onMapDataError);
}

function GetSearchHTML()
{
    if ((currenttab != "Search") && (oldSearch != ""))
    {
        OnGetSearchComplete(oldSearch);
    }
    else
        MapsData.GetSearch(session_key, OnGetSearchComplete, onMapDataTimeOut, onMapDataError);
}

function AddFavFolder(folder_name)
{
    if (folder_name != '')
        MapsData.AddFavorite2(session_key, folder_name, OnGetFavoritesComplete, onMapDataTimeOut, onMapDataError);
}

function OnGetFavoritesComplete(args)
{
    SaveOldContent("Favorites");
    document.getElementById('SideBarContent').innerHTML = args;
    if (addfav)
        addFavorite(temp_sim_id, temp_sim_name, temp_pos_x, temp_pos_y, temp_pos_z);
}

function OnGetSearchComplete(args)
{
    SaveOldContent("Search");
    document.getElementById('SideBarContent').innerHTML = args;
    if (addfav)
        addFavorite(temp_sim_id, temp_sim_name, temp_pos_x, temp_pos_y, temp_pos_z);
    if (doLandSearch)
         searchLand4Sale2(temp_title, temp_desc, temp_price1, temp_price2, temp_size1, temp_size2, temp_perMeter1, temp_perMeter2, temp_sortby, temp_order, temp_sim_id, temp_ownerId, temp_page);
}

function SaveOldContent(newContentTab)
{
    if (currenttab != newContentTab)
    {
        if (document.getElementById('SideBarContent').innerHTML != "")
        {
            if (currenttab == "Favorites")
            {
                oldFav = document.getElementById('SideBarContent').innerHTML;
            }
            else if (currenttab == "Search")
            {
                oldSearch = document.getElementById('SideBarContent').innerHTML;
            }
            else if (currenttab == "GPS")
            {
                oldGPS = document.getElementById('SideBarContent').innerHTML;
            }
            currenttab = newContentTab;
        }
    }
}

function IndexSim(sim_id)
{
    MapsData.IndexThisSim(session_key, sim_id, doNothing, onMapDataTimeOut, onMapDataError);
}

function doNothing(args)
{

}