﻿var addfav = false;
var doLandSearch = false;

var temp_sim_id;
var temp_sim_name;
var temp_pos_x;
var temp_pos_y;
var temp_pos_z;

var temp_title;
var temp_desc;
var temp_price1;
var temp_price2;
var temp_size1;
var temp_size2;
var temp_perMeter1;
var temp_perMeter2;
var temp_sortby;
var temp_order;
var temp_ownerId;

var temp_page;



function AddGVURLIcon(sim_name, x, y, z, title, image, iframe, msg, gv_x, gv_y, sim_id)
{
    theMap.removeAllMarkers(); 
    CenterMap(gv_x, gv_y, x, y, 1);
    var content = "<table style=\"table-layout:auto;\" cellpadding=\"0\" cellspacing=\"0\">";
    
    if (title != '')
    {
        content += "<tr><td class=\"title\" colspan=\"2\"><a href=\"secondlife://" + sim_name + "/" + x + "/" + y + "/" + z + "/\">" + title + "</a></td></tr>";
    }
    else
    {
        content += "<tr><td class=\"title\" colspan=\"2\"><a href=\"secondlife://" + sim_name + "/" + x + "/" + y + "/" + z + "/\">" + sim_name + "</a></td></tr>";
    }
    
    
    if ((image != '') && (msg == ""))
        content += "<tr><td rowspan=\"2\" valign=\"top\"><img style=\" float: left; \" src=\"" + image + "\" /></td>";
    else if (msg == "")
        content += "<tr><td rowspan=\"1\"><img src=\"/images/spacer.png\" width=\"200\" height=\"1\"/></td>";
    else
        content += "<tr><td rowspan=\"2\"><img src=\"/images/spacer.png\" width=\"50\" height=\"1\"/></td>";
        
        
    content += "<tr><td align=\"right\" valign=\"top\"><a href=\"javascript:openGVURL('" + sim_name + "', " + x + ", " + y + ", " + z + ", " + sim_id + ", " + gv_x + ", " + gv_y + ")\">Create a GVURL</a></td></tr>";
    
    if (msg != '')
    {
        if (image != '')
            content += "<tr><td width=\"256\" colspan=\"2\" valign=\"top\"><img style=\" float: left; padding-right: 5px; padding-bottom: 5px;\" src=\"" + image + "\"  />" +  msg + "</td></tr>";
        else
            content += "<tr><td width=\"256\" colspan=\"2\">" +  msg + "</td></tr>";
     }
    
    if (session_key != '')
    {
        content += "<tr><td><a href=\"javascript:addFavorite(" + sim_id + ", '" + sim_name + "', " + x + ", " + y + ", " + z + ")\">Add to favorites</a></td></tr>";
    }
     
    if (iframe != '')
        content += "<tr><td><iframe border=\"0\" src=\"" + iframe + "\" width=\"256\" height=\"125\"></iframe></td><td></td></tr>";
    
    
    
    content += "<tr><td align=\"right\" colspan=\"2\"><a href=\"secondlife://" + sim_name + "/" + x + "/" + y + "/" + z + "/\">Teleport To</a></td></tr><table>";

    AddSearchMarker(gv_x, gv_y, x, y, content);
}

function openTab(type)
{
    if (document.getElementById('SideBar').style.left != "0px")
    {
        slideShowOn = false;
        currenttab = type;
        openFavorites2(-195, 1);
        if (type == "Favorites")
            GetFavoritesHTML();
        else if (type == "Search")
            GetSearchHTML();
        else if (type == "GPS")
            GetGPSHTML();
    } 
    else
    {
        if (currenttab == type)
        {
            openFavorites3(0, 1);
            SaveOldContent("");
            document.getElementById('SideBarContent').innerHTML = "";
        }
        else
        {
            if (type == "Favorites")
                GetFavoritesHTML();
            else if (type == "Search")
                GetSearchHTML();
            else if (type == "GPS")
                GetGPSHTML();
        }
    }       
}

function openFavorites2(size, amount)
{
    if (size < 0)
    {
        document.getElementById('SideBar').style.left = new String(size) + 'px';
        size = size + amount;
        amount += 5;
        window.setTimeout("openFavorites2(new Number(" + new String(size) + "), new Number(" + new String(amount) + "))", 10);
    }
    else
    {
        document.getElementById('SideBar').style.left = '0px';
    }
    
}

function openGVURL(sim, x, y, z, sim_id, gv_x, gv_y)
{
    openGVURL2(-135, 5);
    var frm = document.forms["GVURLFORM"];
    frm.gvurl_sim.value = sim;
    frm.gvurl_x.value = x;
    frm.gvurl_y.value = y;
    frm.gvurl_z.value = z;
    frm.gv_x.value = gv_x;
    frm.gv_y.value = gv_y;
    frm.sim_id.value = sim_id;
}

function GVURLPreview()
{
    var frm = document.forms["GVURLFORM"];
    AddGVURLIcon(frm.gvurl_sim.value, new Number(frm.gvurl_x.value), new Number(frm.gvurl_y.value), frm.gvurl_z.value, frm.gvurl_title.value, frm.gvurl_img.value, frm.gvurl_iframe.value, frm.gvurl_msg.value, new Number(frm.gv_x.value), new Number(frm.gv_y.value), frm.sim_id.value)
}

function openGVURL2(size, amount)
{
    if (size < 0)
    {
        document.getElementById('makeGVURL').style.top = new String(size) + 'px';
        size = size + amount;
        amount += 5;
        window.setTimeout("openGVURL2(new Number(" + new String(size) + "), new Number(" + new String(amount) + "))", 10);
    }
    else
    {
        document.getElementById('makeGVURL').style.top = '0px';
    }
}

function openFavorites3(size, amount)
{
    if (size > -195)
    {
        document.getElementById('SideBar').style.left = new String(size) + 'px';
        size = size - amount;
        amount += 1;
        window.setTimeout("openFavorites3(new Number(" + new String(size) + "), new Number(" + new String(amount) + "))", 10);
    }
    else
    {
        document.getElementById('SideBar').style.left = '-195px';
    }
    
}

function OpenFavFolder(folder_id)
{
    if (document.getElementById(folder_id + '_div').className == 'cHide')
    {
        document.getElementById(folder_id + '_div').className = 'cShow';
        document.getElementById('icon_' + folder_id).src = '/Images/MapPage/fav_arrow_open.png';
    }
    else
    {
        document.getElementById(folder_id + '_div').className = 'cHide';
        document.getElementById('icon_' + folder_id).src = '/Images/MapPage/fav_arrow_closed.png';
    }
}

function addFavorite(sim_id, sim_name, pos_x, pos_y, pos_z)
{
    if ((document.getElementById('SideBar').style.left != "0px") && (!addfav))
    {
        temp_sim_id = sim_id;
        temp_sim_name = sim_name;
        temp_pos_x = pos_x;
        temp_pos_y = pos_y;
        temp_pos_z = pos_z;
        addfav = true;
        openTab('Favorites');
    }
    else if (currenttab != 'Favorites')
    {
        temp_sim_id = sim_id;
        temp_sim_name = sim_name;
        temp_pos_x = pos_x;
        temp_pos_y = pos_y;
        temp_pos_z = pos_z;
        addfav = true;
        openTab('Favorites');
    }
    else
    {
        addfav = false;
        
        document.forms['sidebarform'].fav_name.value = sim_name;
        document.forms['sidebarform'].sim_name.value = sim_name;
        document.forms['sidebarform'].sim_id.value = sim_id;
        document.forms['sidebarform'].pos_x.value = pos_x;
        document.forms['sidebarform'].pos_y.value = pos_y;
        document.forms['sidebarform'].pos_z.value = pos_z;
        
        document.getElementById("new_fav_info").className = "cShow";
        
    }
}

function AddFav()
{
    var frm = document.forms['sidebarform'];
    MapsData.AddFavorite(frm.favfolder.options[frm.favfolder.selectedIndex].value, frm.fav_name.value, frm.sim_id.value, frm.pos_x.value, frm.pos_y.value, frm.pos_z.value, session_key, OnGetFavoritesComplete, onMapDataTimeOut, onMapDataError);
}

function CancelAddFav()
{
    document.getElementById("new_fav_info").className = "cHide";
}

function DeleteFolder(folder_id)
{
    document.getElementById('del_' + folder_id).className = 'cShow';
}

function DontDelete(folder_id)
{
    document.getElementById('del_' + folder_id).className = 'cHide';
}

function DeleteFolderConfirmed(folder_id)
{
    MapsData.DeleteFolder(session_key, folder_id, OnGetFavoritesComplete, onMapDataTimeOut, onMapDataError);
}

function DeleteFav(favorite_id, favorite_folder_id)
{
    document.forms['sidebarform'].fav_2_delete.value = favorite_id;
    document.getElementById('delfav_' + favorite_folder_id).className = 'cShow';
}

function DontDeleteFav(folder_id)
{
    document.getElementById('delfav_' + folder_id).className = 'cHide';
}

function DeleteFavoriteConfirmed(folder_id)
{
    var favorite_id = document.forms['sidebarform'].fav_2_delete.value;
    MapsData.DeleteFavorites(session_key, favorite_id, folder_id, OnGetFavoritesComplete, onMapDataTimeOut, onMapDataError);
    
}

function AddFolderKeyPressed(evn)
{
    if (doWhenEnterPressed(evn)) 
        AddFavFolder(document.forms['sidebarform'].new_folder_name.value);
}

function SimSearchKeyPressed(evn)
{
    if (doWhenEnterPressed(evn)) 
        searchSim('1');
}

function Land4SaleSearchKeyPressed(evn)
{
    if (doWhenEnterPressed(evn)) 
        searchLand4Sale('1');
}

function AddFavoritePin(fav_name, sim_name, pos_x, pos_y, pos_z, gv_x, gv_y, fav_id)
{
    var content = document.getElementById("fav_" + fav_id).innerHTML;
    AddSearchMarker(gv_x, gv_y, pos_x, pos_y, content);
    CenterMap(gv_x, gv_y, pos_x, pos_y, 1);
}

function searchLand4Sale(page)
{
    var frm = document.forms['sidebarform'];
    searchLand4Sale2(frm.title.value, frm.desc.value, frm.price1.value, frm.price2.value, frm.size1.value, frm.size2.value, frm.perMeter1.value, frm.perMeter2.value, frm.sortby.options[frm.sortby.selectedIndex].value, frm.order.options[frm.order.selectedIndex].value, frm.sim_id.value, frm.owner_id.value, page);
}

//function searchLand4Sale3(title, desc, price1, price2, size1, size2, perMeter1, perMeter2, sortby, order, sim_id, owner_id, page)
//{
//    frm.title.value = title;
//    , frm.desc.value, frm.price1.value, frm.price2.value, frm.size1.value, frm.size2.value, frm.perMeter1.value, frm.perMeter2.value, frm.sortby.options[frm.sortby.selectedIndex].value, frm.order.options[frm.order.selectedIndex].value, frm.sim_id.value, frm.owner_id.value, page
//}

function searchLand4Sale2(title, desc, price1, price2, size1, size2, perMeter1, perMeter2, sortby, order, sim_id, owner_id, page)
{
    var spot1 = document.getElementById("searchResults");
    if (spot1 == null)
    {
        temp_sim_id = sim_id;
        temp_title = title;
        temp_desc = desc;
        temp_price1 = price1;
        temp_price2 = price2;
        temp_size1 = size1;
        temp_size2 = size2;
        temp_perMeter1 = perMeter1;
        temp_perMeter2 = perMeter2;
        temp_sortby = sortby;
        temp_order = order;
        temp_ownerId = owner_id;
        temp_page = page;
        doLandSearch = true;
        openTab('Search');
    }
    else
    {
        doLandSearch = false;
        document.getElementById("searchResults").innerHTML = '<img src="/images/MapPage/progressBar.gif" width="140" height="16" />';
        lastSelectedPos = 0;
        var frm = document.forms['sidebarform'];
        if ((frm != null) && (frm != 'undefined'))
        {
            frm.title.value = title;
            frm.desc.value = desc;
            frm.price1.value = price1;
            frm.price2.value = price2;
            frm.size1.value = size1;
            frm.size2.value = size2;
            frm.perMeter1.value = perMeter1;
            frm.perMeter2.value = perMeter2;
            frm.sim_id.value = sim_id;
            frm.owner_id.value = owner_id;
            
            if (order == 'Asc')
                frm.order.selectedIndex = 0;
            else if (order == 'Desc')
                frm.order.selectedIndex = 1;
                
            if (sortby == 'Price')
                frm.sortby.selectedIndex = 0;
            else if (sortby == 'Per Meter')
                frm.sortby.selectedIndex = 2;
            else if (sortby == 'Size')
                frm.sortby.selectedIndex = 1;
                
        }
        
        MapsData.LandSearch2(session_key, title, desc, price1, price2, size1, size2, perMeter1, perMeter2, sortby, order, sim_id, owner_id, page, onSearchResultscomplete, onMapDataTimeOut, onMapDataError);
    }
}



function searchSim(page)
{
    document.getElementById("searchResults").innerHTML = '<img src="/images/MapPage/progressBar.gif" width="140" height="16" />';
    lastSelectedPos = 0;
    var frm = document.forms['sidebarform'];
    MapsData.SimSearch(session_key, frm.sim_name.value, page, onSearchResultscomplete, onMapDataTimeOut, onMapDataError);
}

function onSearchResultscomplete(args)
{
    document.getElementById("searchResults").innerHTML = args;
    if (slideShowOn)
    {
        window.setTimeout("SlideShow2(" + new String(currentPage) + ", " + new String(1) + ")", 10);   
    }
}

var lastSelectedPos = 0;
function SearchResult(position, gv_x, gv_y, parcel_positionX, parcel_positionY)
{
    if (lastSelectedPos != 0)
    {
        document.getElementById('searchResultRow' + new String(lastSelectedPos)).style.backgroundColor = '#ddedf2';
    }
    lastSelectedPos = position;
    document.getElementById('searchResultRow' + new String(position)).style.backgroundColor = '#C9D9DE';
    
    theMap.removeAllMarkers(); 
    var content = new String(document.getElementById('result' + new String(position) + '2').innerHTML);
    content = content.replace('\r\n','').replace('\r', '').replace('\n', '');
    AddSearchMarker(gv_x, gv_y, parcel_positionX, parcel_positionY, content);
    CenterMap(gv_x, gv_y, parcel_positionX, parcel_positionY, 1);
}

function SearchResultSim(position, sim_name, gv_x, gv_y, parcel_positionX, parcel_positionY)
{
    if (lastSelectedPos != 0)
    {
        document.getElementById('searchResultRow' + new String(lastSelectedPos)).style.backgroundColor = '#ddedf2';
    }
    lastSelectedPos = position;
    document.getElementById('searchResultRow' + new String(position)).style.backgroundColor = '#C9D9DE';
    
    theMap.removeAllMarkers(); 
    var content = new String(document.getElementById('result' + new String(position) + '2').innerHTML);
    content = content.replace('\r\n','').replace('\r', '').replace('\n', '');
    AddSearchMarker(gv_x, gv_y, parcel_positionX, parcel_positionY, content);
    CenterMap(gv_x, gv_y, parcel_positionX, parcel_positionY, 1);
}



function ChangeSort(sortby, direction)
{
    var frm = document.forms['sidebarform'];
    frm.sortby.selectedIndex = sortby;
    frm.order.selectedIndex = direction;
    searchLand4Sale(1);
}

var slideShowOn = false;
var currentPage = 1;
function SlideShow(page, position)
{
    if (document.getElementById("slideshow").innerHTML != 'Disable slide show')
    {
        slideShowOn = true;
        window.setTimeout("SlideShow2(" + new String(page) + ", " + new String(position) + ")", 10);
    }
    else
    {
        currentPage = 1;
        slideShowOn = false;
    }
        
    
}
function SlideShow2(page, position)
{
    if (slideShowOn)
    {

        document.getElementById('slideshow').innerHTML = 'Disable slide show';
        
        if (position > 10)
        {
            currentPage = page + 1;
            searchLand4Sale(currentPage);
        }
        else
        {
            try
            {
                document.getElementById('searchResultRow' + new String(position)).click(); 
            }
            catch(ee)
            {
                simulateClick('searchResultRow' + new String(position));
            }
            window.setTimeout("SlideShow2(" + new String(page) + ", " + new String(position + 1) + ")", 10000);        
        }
    }
    else
    {
        document.getElementById("slideshow").innerHTML = 'Slide show through results';
    }
    
}

function simulateClick(idOf) {
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window,
    0, 0, 0, 0, 0, false, false, false, false, 0, null);
  var cb = document.getElementById(idOf); 
  var canceled = !cb.dispatchEvent(evt);
}

function gvurl_build()
{
    var frm = document.forms["GVURLFORM"];
    var gvurl = "http://gvurl.com/secondlife/" + escape(frm.gvurl_sim.value) + "/" + frm.gvurl_x.value + "/" + frm.gvurl_y.value + "/" + frm.gvurl_z.value + "/";
    var gvurlOptions = new Array;
    if (frm.gvurl_img.value) gvurlOptions.push("img=" + escape(frm.gvurl_img.value));
    if (frm.gvurl_title.value) gvurlOptions.push("title=" + escape(frm.gvurl_title.value));
    if (frm.gvurl_msg.value) gvurlOptions.push("msg=" + escape(frm.gvurl_msg.value));
    if (frm.gvurl_iframe.value) gvurlOptions.push("iframe=" + escape(frm.gvurl_iframe.value));

    if (gvurlOptions.length > 0) {
        gvurl += "?";
        for(f=0; f<gvurlOptions.length; f++) 
        {
                gvurl += gvurlOptions[f];
                if (f < gvurlOptions.length - 1) gvurl += "&";
        }
    }
    return gvurl;
}

function GVURL_Form_Key_Pressed(evn)
{
    if (doWhenEnterPressed(evn))
    {
        GVURLPreview();
        document.forms["GVURLFORM"].gv_url_gen.value = gvurl_build();
    }
}
