﻿

var scoreboard = 
{
    //PROPERTIES
    interval_id : "",
    male_score_id : "male_score",
    female_score_id : "female_score",
    path_prefix : "",
    
    //METHODS
    Start_Timer: function()
    {
        if(this.interval_id=="")
        {
            this.interval_id = window.setInterval("scoreboard.Timer_Interval();", 2000);
        }
    },   
    
    Timer_Interval: function()
    {
        this.Refresh_Scores()
    },
    
    Init : function(maleid, femaleid, pathprefix)
    {
        this.male_score_id = maleid;
        this.female_score_id = femaleid;
        this.path_prefix = pathprefix;
        this.Start_Timer();
    },
    
    Refresh_Scores: function()
    {
        var xx=this;
    
        $.get(
        this.path_prefix + "Scores.ashx",
        "action=scoreboard",
        function(data, textStatus)
        {
            if (textStatus == "success")
            {
                var score_data = xx.Json_To_Object(data);
                if(score_data == null)
                    return;
                xx.Display_Scores(score_data.score_package);
            }
            else
            {
                //TODO: HANDLE ERROR HERE
            }
        });
    },
    
    Display_Scores: function(score_package)
    {
        var maleObj = document.getElementById(this.male_score_id);
        if(maleObj != null)
            maleObj.replaceText('' + score_package.male + '');
  
        var femaleObj = document.getElementById(this.female_score_id);
        if(femaleObj != null)
            femaleObj.replaceText('' + score_package.female + '');
        
        this.Start_Timer();
    },   
    
    Json_To_Object: function(JsonString)
    {
        var JsonObj = unescape(JsonString);
        if (JsonObj.length < 1)
            return null;
        JsonObj = eval('(' + JsonObj + ')');
        return JsonObj;
    }
}



