var xmlHttp;
var resultHtmlID;
var global_var;
var ITEM_DELIM = '#';
var LINE_DELIM = '\^';
var _x, _y;
function getHTTPObject() 
{
    xmlHttp = 0;
    if (window.XMLHttpRequest)
    {
        xmlHttp=new XMLHttpRequest();
    }
    else // for older IE 5/6
    {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
}

function CategoryChange()
{
    if (document.getElementById('category').value == 0)
    {
        document.getElementById('deliverByTag').innerHTML = "Deliver by:";
    }
    else if (document.getElementById('category').value == 1)
    {
        document.getElementById('deliverByTag').innerHTML = "<font color='red'>Deliver to<br>Recipient by:</font>";
    } else {
        document.getElementById('deliverByTag').innerHTML = "<font color='red'>I can deliver until:</font>";
    }
}

function clearHtmlID()
{
    document.getElementById(resultHtmlID).innerHTML = "";
}

function handleHttpResponse() 
{
  if (xmlHttp.readyState == 4) {
    results = xmlHttp.responseText;
    document.getElementById(resultHtmlID).innerHTML = "<br><a href='#' onClick='clearHtmlID()';>Clear</a><BR>" + results;
    $("#status_mesg").text(results).fadeIn('slow');
  }
}

function getAds(tree_depth, x,y)
{
    var myurl = "controller/controller.php?USERACTION=1081&depth="+tree_depth;//GET_USER_CONTEXT_CITIES
    _x = x; _y = y;
    global_var = tree_depth;
    getHTTPObject();
    if(xmlHttp)
    {
        xmlHttp.open("GET", myurl, true);
        xmlHttp.onreadystatechange = showAds;
        xmlHttp.send(null);
    }
}

function showAds()
{
    if (xmlHttp.readyState == 4) {
        var html = xmlHttp.responseText;
        var array = JSON.parse(html);
        var results_found = 0;
        html = "<center>Click on a subject line to send an email</center><br><table class='footer'><tr><td><strong>To</strong></td><td><strong>From</strong></td><td><strong>Subject</strong></td><td><strong>Deliver By</strong></td></tr>";
        for(var i = 0; i < array.length; i++)
        {
            html = html + "<tr>";
            var fields = JSON.parse(array[i]);
            html = html + "<td>" + fields.tocity + "," + fields.tocountry + "</td><td>" + fields.fromcity + "," + fields.fromcountry 
                   + "</td><td><a href=mailto:" + fields.email + "?Subject=" + escape(fields.name) + "&body="+ escape('From: ' + fields.fromcity + ', ' + fields.fromcountry + '\n')
                       + escape('To: ' + fields.tocity + ', ' + fields.tocountry + '\n')
                       + escape(fields.details + '\nDeliver By: ' + fields.deliverbydate)+">" + fields.name + "</a></td><td>" 
                   + "</td><td>" + fields.deliverbydate+"</td><td><a href='http://lug-it.com/view/" + fields.id + "'>Direct Link</a></td>";
            html = html + "</tr>";
            results_found = 1;
        }
        html = html + "</table>";
        if(results_found == 0) html = '<center><br>Sorry!! No Results Found.</center>';
        if(global_var == 0){
            var profile = jQuery('#myads').dialog({bgiframe: true, position: [_x - 30, _y + 8],width: 550, minWidth: 500, height: 400, minHeight: 400,autoOpen: false, modal: true});
            jQuery('#myads').html(html);
        } else if (global_var == 1){
            var profile = jQuery('#circle_1_ads').dialog({bgiframe: true, position: [_x - 30, _y + 8], width: 550, minWidth: 500, height: 400, minHeight: 400, autoOpen: false, modal: true});
            jQuery('#circle_1_ads').html(html);
        } else {
            var profile = jQuery('#circle_2_ads').dialog({bgiframe: true, position: [_x - 30, _y + 8], width: 550, minWidth: 500, height: 400, minHeight: 400, autoOpen: false, modal: true});
            jQuery('#circle_2_ads').html(html);
        }
        profile.dialog('open');
    }
}

function getFriends(tree_depth,x,y)
{
    var myurl = "controller/controller.php?USERACTION=1051";
    _x = x; _y = y;
    getHTTPObject();
    resultHtmlID = "friends";
    if(xmlHttp)
    {
        xmlHttp.open("GET", myurl, true);
        xmlHttp.onreadystatechange = showFriends;
        xmlHttp.send(null);
    }
}

function showFriends()
{
    if (xmlHttp.readyState == 4) {
        var html = xmlHttp.responseText;
        html = 'Click on a name to see more details<br>' + html;
        var profile = jQuery('#friends').dialog({bgiframe: true, position: [_x - 30,_y + 8], autoOpen: false, modal: true});
        jQuery('#friends').html(html);
        profile.dialog('open');
    }
}

function setHtmlForID(htmlID, htmlText)
{
    document.getElementById(htmlID).innerHTML = htmlText;
}

function suggestCities()
{
    var input_string = document.getElementById('search_text').value;
    if(input_string.length > 1)
    {
        var myurl = "controller/controller.php?USERACTION=1071&req_city_type=0&q=" + input_string;
        getHTTPObject();
        resultHtmlID = 'MyAds';
        if(xmlHttp)
        {
            xmlHttp.open("GET", myurl, true);
            xmlHttp.onreadystatechange = handleHttpResponse;
            xmlHttp.send(null);
        }
    }
}

function getFriendProfile(id)
{
    var myurl = "controller/controller.php?USERACTION=1091&id="+id;
    getHTTPObject();
    resultHtmlID = "friends";
    if(xmlHttp)
    {
        xmlHttp.open("GET", myurl, true);
        xmlHttp.onreadystatechange = showFriendProfile;
        xmlHttp.send(null);
    }
}

function showFriendProfile()
{
    if (xmlHttp.readyState == 4) {
        var data1 = JSON.parse(xmlHttp.responseText);
        var data = JSON.parse(data1[0]);
        var html = '<TABLE><TR><TD class="td_label">User Name: </TD><TD>' + data.username + '</TR><TR><TD class="td_label">Twitter ID:</TD><TD>' + data.twid
              + '</TD></TR><TR><TD class="td_label">Points:</TD><TD>' + data.points
              + '</TD></TR><TR><TD class="td_label">Badges:</TD><TD>'+ data.name
              + '</TD></TR></TABLE>';
        var profile = jQuery('#friend_profile').dialog({bgiframe: true, autoOpen: false, modal: true});
        jQuery('#friend_profile').html(html);
        profile.dialog('open');
    }
}

function getTop10(type)
{
    var myurl = "controller/controller.php?USERACTION=1101&N=10&badge=1";
    getHTTPObject();
    resultHtmlID = "friends";
    if(xmlHttp)
    {
        xmlHttp.open("GET", myurl, true);
        xmlHttp.onreadystatechange = showTopNProfile;
        xmlHttp.send(null);
    }
}

function showTopNProfile()
{
    if (xmlHttp.readyState == 4) {
        var data = xmlHttp.responseText;
        var array = JSON.parse(data);
        var html = '<TABLE class=\"footer\">';
        for(var i = 0; i < array.length; i++)
        {
            var un = JSON.parse(array[i]);
            html = html + '<TR><TD class="td_label"> </TD><TD>'+ un.username + ' ' + un.name
                   + '</TD><TD class="td_label">Points:</TD><TD>' + un.points + '</TD></TR>';
        }
        html = html + '</TABLE>';
        var t10 = jQuery('#t10_list').dialog({bgiframe: true, autoOpen: false, modal: true});
        jQuery('#t10_list').html(html);
        t10.dialog('open');
    }
}

function getAdsOfCity(x, y)
{
    var text = document.getElementById('search_text').value.split(ITEM_DELIM);
    _x = x; _y = y;
    var myurl = "controller/controller.php?USERACTION=1121&city=" + text[0] + "&country=" + text[1];
    getHTTPObject();
    if(xmlHttp)
    {
        xmlHttp.open("GET", myurl, true);
        xmlHttp.onreadystatechange = showAdsOfCity;
        xmlHttp.send(null);
    }
}

function showAdsOfCity()
{
    if (xmlHttp.readyState == 4) {
        var html = xmlHttp.responseText;
        var array = JSON.parse(html);
        var results_found = 0;
        html = "<center>Click on a subject line to send an email</center><br><table class='footer'><tr><td><strong>To</strong></td> <td><strong>From</strong></td> <td><strong>Subject</strong> </td><td><strong>Deliver By</strong></td></tr>";
        for(var i = 0; i < array.length; i++)
        {
            html = html + "<tr>";
            var fields = JSON.parse(array[i]);
            html = html + "<td>" + fields.tocity + "," + fields.tocountry + "</td><td>" + fields.fromcity + "," + fields.fromcountry 
                   + "</td><td><a href=mailto:" + fields.email + "?Subject=" + escape(fields.name) + "&body="+ escape('From: ' + fields.fromcity + ', ' + fields.fromcountry + '\n')
                       + escape('To: ' + fields.tocity + ', ' + fields.tocountry + '\n')
                       + escape(fields.details + '\nDeliver By: ' + fields.deliverbydate)+">" + fields.name + "</a></td><td>" 
                   + "</td><td>" + fields.deliverbydate+"</td><td><a href='http://lug-it.com/view/" + fields.id + "'>Direct Link</a></td>";
            html = html + "</tr>";
            results_found = 1;
        }
        html = html + "</table>";
        if(results_found == 0) html = '<tr><th colspan=4>Sorry!! No Results Found.</th></tr>';
        var profile = jQuery('#t10_list').dialog({bgiframe: true, width: 550, minWidth: 500, height: 400, minHeight: 400, autoOpen: false, modal: true});
        jQuery('#t10_list').html(html);
        profile.dialog('open');
    }
}

function getBadges()
{
    var myurl = "controller/controller.php?USERACTION=1111";
    getHTTPObject();
    if(xmlHttp)
    {
        xmlHttp.open("GET", myurl, true);
        xmlHttp.onreadystatechange = showBadges;
        xmlHttp.send(null);
    }
}

function showBadges()
{
    if (xmlHttp.readyState == 4) {
        var badges = JSON.parse(xmlHttp.responseText);
        var html = '<TABLE><tr><td>Badge</td><td>Min Points Needed</td></tr>';
        for(var i = 0; i < badges.length; i++)
        {
            var badge = JSON.parse(badges[i]);
            html = html + '<tr><td>' + badge.name + '</td><td>' + badge.minpoints + '</td></tr>';
        }
        html = html + '</TABLE>';
        var t10 = jQuery('#badges_dialog').dialog({bgiframe: true, autoOpen: false, modal: true});
        jQuery('#badges_dialog').html(html);
        t10.dialog('open');
    }
}

function getHeatMap(type)
{
    var myurl = "controller/controller.php?USERACTION=1131&size=10&type="+type;
    getHTTPObject();
    if(xmlHttp)
    {
        xmlHttp.open("GET", myurl, true);
        xmlHttp.onreadystatechange = showHeatMap;
        xmlHttp.send(null);
    }
}

function showHeatMap()
{
    if (xmlHttp.readyState == 4) {
        var heat_map = JSON.parse(xmlHttp.responseText);
        var html = '';
        for(var i = 0; i < heat_map.length; i++)
        {
            var row = heat_map[i];
            html = html + '<font size="' + row[2] +'px">' + row[0] + '</font> :';
        }
        jQuery('#heatmap').html(html);
    }
}

function linkusers(id1, id2)
{
    var myurl = "controller/controller.php?USERACTION=1141&id1=" + id1 +"&id2="+id2;
    getHTTPObject();
    if(xmlHttp)
    {
        xmlHttp.open("GET", myurl, true);
        xmlHttp.onreadystatechange = showLinks;
        xmlHttp.send(null);
    }
}

function showLinks()
{
    if (xmlHttp.readyState == 4) {
        alert(xmlHttp.responseText);
    }
}