var Ranking = function()
{
    var priv = 
    {
    };           
    return{
    
        ParticipantOverAllRanking : function(pageNr)
        {
            $.ajax({
                type: "POST",
                url: "../Handlers/ranking.ashx",
                data: "job=1&pageNr=" + pageNr,
                success: function(data){ 
                    $('#overall_ranking').html(data.HTML);
                },
                error: function(data){
                },
                dataType:"json"
            });        
        },
        
       ParticipantDayRanking : function(pageNr)
       {
            $.ajax({
                type: "POST",
                url: "../Handlers/ranking.ashx",
                data: "job=2&pageNr=" + pageNr,
                success: function(data){                 
                    $('#day_ranking').html(data.HTML);
                },
                error: function(data){              
                },
                dataType:"json"
            });
        },
        
        SubleagueRanking : function (pageNr)
        {
            $.ajax({
                type: "POST",
                url: "../Handlers/ranking.ashx",
                data: "job=3&pageNr=" + pageNr ,
                success: function(data){ 
                    $('#subleague_ranking').html(data.HTML);
                },
                error: function(data){
                },dataType:"json"
            });        
        },
        
        TurboRanking : function(pageNr) 
        {
            $.ajax({
                type: "POST",
                url: "../Handlers/ranking.ashx",
                data: "job=4&pageNr=" + pageNr ,
                success: function(data){ 
                    $('#turbo_ranking').html(data.HTML);
                },
                error: function(data){
                },dataType:"json"
            }); 
        },
        SearchParticipantRanking : function()
        {   
            var pattern = $('.search_text').val();
            var searchType = $('.search_type').val();
            $('#search_pattern_text').val( $('.search_text').val());
            $('#search_type_text').val( $('.search_type').val());
            
            if(pattern.length > 50)  
                return;
            if(pattern == null || pattern.length < 1 || searchType < 1 || searchType > 3)
            {
                Ranking.GetAllRanking();               
                return;
             } 
            $('#search_done').val("1");
            $.ajax({
                type: "POST",
                url: "../Handlers/ranking.ashx",
                data: "job=5&pattern=" + pattern + "&searchType=" + searchType,
                success: function(data){
                    if(data == undefined)
                        return;
                    if(data == "-1" || data == "-2")
                        return;
                        
                    if(data.OVERALL != null && data.OVERALL != undefined && data.OVERALL.length > 0)
                        $('#overall_ranking').html(data.OVERALL);
                    if(data.DAY != null && data.DAY != undefined && data.DAY.length > 0)
                        $('#day_ranking').html(data.DAY);                   
                    if(data.TURBO != null && data.TURBO != undefined && data.TURBO.length > 0)
                        $('#turbo_ranking').html(data.TURBO);                   
                },
                error:function (data){
                },
                dataType:"json"
            });
        },
        GetAllRanking : function()
        {
            var isFromSearch =  $('#search_done').val();
            if(isFromSearch == "0")
                return;
             $('#search_done').val("0");
            $.ajax({
                type: "POST",
                url: "../Handlers/ranking.ashx",
                data: "job=6",
                success: function(data){
                    if(data == undefined)
                        return;
                    if(data == "-1" || data == "-2")
                        return;
                        
                    if(data.OVERALL != null && data.OVERALL != undefined && data.OVERALL.length > 0)
                        $('#overall_ranking').html(data.OVERALL);
                    if(data.DAY != null && data.DAY != undefined && data.DAY.length > 0)
                        $('#day_ranking').html(data.DAY);                                 
                },
                error:function (data){
                },
                dataType:"json"
            }); 
        },        
        ChangeRanking : function()
        {
            var rankingNo =  $('.hdnRankingNo').val();
            
            $.ajax({
                type: "POST",
                url: "../Handlers/ranking.ashx",
                data: "job=7&rankingNo=" + rankingNo,
                success: function(data){
                    if(data == undefined)
                        return;                    
                        
                    if(data.RANKING != null && data.RANKING != undefined && data.RANKING.length > 0)
                    {
                        $('#divChangingRanking').html(data.RANKING);                    
                    }
                    if(data.RANKING_NO != null && data.RANKING_NO != undefined)
                    {
                        $('.hdnRankingNo').val(data.RANKING_NO);
                    }
                },
                error:function (data){
                },
                dataType:"json"
            }); 
        }
    };   
}();
