var commafy = function(s) {
    s = s.toString();
    return s.replace(/(^|[^\w.])(\d{4,})/g, function($0, $1, $2) {
        return ($1 + $2).replace(/\d(?=(?:\d\d\d)+(?!\d))/g, "$&,");
    });
};

var slugify = function(s) {
    return s.replace(/[^\w\s-]/, '').toLowerCase().replace(/[-\s]+/, '-');
}

var sslify = function(url) {
    return url.replace('http://thumbs.mochiads.com',
        'https://sandbox.mochiads.com').replace(
        'http://cdn.mochiads.com',
        'https://sandbox.mochiads.com').replace(
        'http://games.mochiads.com',
        'https://sandbox.mochiads.com')
}

$(document).ready(function() {
    var user_id = $('#user_id').val();
    $('#developer-follows').addClass('loading');
    $('.premium_games ul.games').addClass('loading');
    $('.network_games ul.games').addClass('loading');
    $.getJSON('/ajax/dashboard/' + user_id + '/', function(data) {
        $.each(['gold', 'silver', 'bronze'], function(idx, val) {
            $('.' + val).html(commafy(data[val])); 
        });
        $('.total-medals h3').html(commafy(data.total_medals));
        $('.played h3').html(commafy(data.play_count));
        render_str(window.DEVELOPER_LIST, data, function(rendered) {
            $('#developer-follows').removeClass('loading').html(rendered);
        });
        $('.premium_games ul.games').removeClass('loading');
        $.each(data.played_premium, function(idx, game) {
            if (game != null) {
                if (game.coins_approved) {
                    $('.premium_games ul.games').append('<li><span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span><a class="thumb" href="/games/'+ game.slug +'/"><img src="'+ sslify(game.thumbnail_url) +'" /></a>'); 
                } else {
                    $('.premium_games ul.games').append('<li><span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span><a class="thumb" href="/games/'+ game.slug +'/"><img src="'+ sslify(game.thumbnail_url) +'" /></a>'); 
                }
            } else {
                $('.premium_games ul.games').append('<li class="empty"><span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span><span></span></li>');
            }
        });
        $('.network_games ul.games').removeClass('loading');
        $.each(data.played_standard, function(idx, game) {
            if (game != null) {
                $('.network_games ul.games').append('<li><span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span><a class="thumb" href="/games/'+ game.slug +'/"><img src="'+ sslify(game.thumbnail_url) +'" /></a>'); 
            } else {
                $('.network_games ul.games').append('<li class="empty"><span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span><span></span></li>');
            }
        });
    });
});
