﻿var map;
var geoXml;

function initialize_map(marker_url) {

//    debugger;

    var appkey = document.getElementById("hdnAppKey").value;

    if (GBrowserIsCompatible()) {

        geoXml = new GGeoXml("http://www.androidhof.com/Service/GameController.asmx/getMap?AppKey=" + appkey, finishMap);
        map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(0, 0), 1);
        map.setUIToDefault();
        GEvent.addListener(map, "addoverlay", function(overlay) {
            if (overlay instanceof GMarker) {
                overlay.setImage(marker_url);
            }
        });

        map.addOverlay(geoXml);

    }

}

function finishMap() {

    document.getElementById("loading").style.display = "none";

}

function initialize_top10() {


    var ul = document.getElementById("top_10");

    if (ul) {

        var loadingLI = document.createElement("li");

        loadingLI.innerText = "please wait, loading top 10";

        ul.appendChild(loadingLI);

        try {

            var top10 = new biz.object("top10");

            var url = "http://www.androidhof.com/Service/GameController.asmx";

            var params = "AppKey=" + document.getElementById("hdnAppKey").value;
            params += "&Top=10";

            top10.fill(url,
                        finishTop10,
                        "GET",
                        params,
                        true,
                        "getTopN",
                        "text/xml; charset=utf-8");

        }
        catch (ex) {

            loadingLI.innerText = ex.message;
    
        }

    }

}

function finishTop10() {
    
    var ul = document.getElementById("top_10");

    ul.removeChild(ul.childNodes[1]);

    if (this.Scores&&this.Scores.Items!="") {

        if (this.Scores.Items.ScoreItem instanceof Array) {

            var scores = this.Scores.Items.ScoreItem;
            
            for (var i = 0; i < scores.length; i++) {


                var li = document.createElement("li");

                li.innerHTML = makeScoreLine(scores[i]);

                ul.appendChild(li);

            }

        }
        else //just 1
        {

            var li = document.createElement("li");

            li.innerHTML = makeScoreLine(this.Scores.Items.ScoreItem);

            ul.appendChild(li);

        }

    }
    else {

        var li = document.createElement("li");

        li.innerText = "unable to load top 10";

        ul.appendChild(li);
        

    }


}

function makeScoreLine(score) {


    var s = "";

    var scoreNum = score.Score.toString();

    if (parseInt(scoreNum.split('.')[1]) == 0)
        scoreNum = scoreNum.split('.')[0];

    s = score.Rank.toString().padRight("&nbsp;", 2);

    s += "&nbsp;" + score.HOFer.Nickname.toString().substr(0, 11).padRight("&nbsp;", 11);

    s += "&nbsp;" + scoreNum.padLeft("&nbsp;", 10);

    return s;

}

