(function ( $ ) {
    var tm_checkin_online_users;
    var cookie_name_f_online_user_activity = 'WW_f_online_user_activity';
    var cookie_name_last_online_user_checkin_tmstmp = 'WW_last_online_user_checkin_tmstmp';
    $.online_users = {
        jsonpCallback: function(){
            $.cookie(cookie_name_f_online_user_activity, 0);
            var d = new Date();
            $.cookie(cookie_name_last_online_user_checkin_tmstmp, d.getTime());
        },
        do_checkin_online_users: function()
        {
            $.ajax({
                url: "/9cc2e6e4630086834e743ad159520200/r/online-users/checkin.php",
                data:
                {
                    'session_id': $.cookie('WW_SESSION_NAME'),
                    'app_name': 'WW'
                }
                ,success: function( data ) {
                    $.cookie(cookie_name_f_online_user_activity, 0);
                }
                ,dataType : 'jsonp'
                ,type : 'get'
                ,jsonpCallback: '$.online_users.jsonpCallback()'
                ,global : false //prevents global events firing!
            });
        },
        start_checkin_online_users: function()
        {
            $.cookie(cookie_name_f_online_user_activity, 1);
            checkin_online_users();
        },
        stop_checkin_online_users: function()
        {
            clearTimeout(tm_checkin_online_users);
        }
    };
    function checkin_online_users()
    {
        if(tm_checkin_online_users) {
            clearTimeout(tm_checkin_online_users);
        }
        var d_cur = new Date().getTime();
        if (
                ($.cookie(cookie_name_f_online_user_activity) == 1)
            &&  (
                ($.cookie(cookie_name_last_online_user_checkin_tmstmp) === null)
                ||  (d_cur - $.cookie(cookie_name_last_online_user_checkin_tmstmp) > 30000)
                )
            ) {
            $.online_users.do_checkin_online_users();
        }
        tm_checkin_online_users = setTimeout(function(){checkin_online_users()},"30000");
    }
    $( document ).ajaxSend(function( event, request, settings ) {
        $.cookie(cookie_name_f_online_user_activity, 1);
    });
    $(document).ready(function(){
        $.online_users.start_checkin_online_users();
    });
})(jQuery);