function ajax_request_mini_ranking()
{
    url = website_url + 'backend_mini_ranking_ajax.php';
    new Ajax.Request(url, {
        method :'get',
        parameters : {
            'timestamp' :_mini_timestamp,
            'rand' :Math.random()
        },
        onSuccess : function(transport)
        {
            var response_txt = transport.responseText;
            var response = new Array();
            response = response_txt.evalJSON();
            _mini_timestamp = response['timestamp'];

            if (response['change'] == 1)
            {
                update_rank_mini_table(response);
            }
            else
            {
                base_div_id = parseInt(response['new_rank']);
                base_div_id2=base_div_id+'_mini';
                if (base_div_id > current_ranks_mini)
                {
                    update_rank_mini_table(response);
                }
                else
                {
                    //var rank_table = document.getElementById('table_mini_rank');
                    //var _total_tb_rows = rank_table.rows.length;
                    /*for (i = 1; i < _total_tb_rows; i++) {
        
        		rank_table.rows[i].style.background = "#FFFFFF";
        
        	}		*/
                    element = document.getElementById(base_div_id2);
                    element.style.backgroundColor = higlight_color;
                    basedivCols = element.getElementsByTagName('td');
                    basedivfirstCol = element.getElementsByTagName('th');
                    basedivfirstCol[0].style.background = higlight_color;
                    basedivfirstCol[1].style.background = higlight_color;
                    //                    alert('i mok upt this');
                    for (i = 0; i < basedivCols.length; i++){
                        basedivCols[i].style.background = higlight_color;
                    }
                }
            }
        }
    });
    setTimeout("ajax_request_mini_ranking()", 7000);
}

function update_rank_mini_table(response) 
{
    var rank_table = document.getElementById('table_mini_rank');
    var _total_tb_rows = rank_table.rows.length;
    document.getElementById('out1').style.display = 'none';
	
    //alert("Hi " + _total_tb_rows);
    for (i = 1; i < _total_tb_rows; i++) {

        rank_table.rows[i].style.background = "#FFFFFF";

    }
    
    $('table_mini_rank').select('tr').each(function(s, index){
        if(s.id!='logged_in_user_mini'){
            s.style.background = "#577D91";
            s.select('td', 'th').each(function(k, index){{
                if(!k.hasClassName('rankheading') && !k.hasClassName('fRow')){
                        k.style.background='';
                        if(index%2==0){
                            k.style.background='#5F889C';
                        }
                }}
            });
        }
    });
    
    var new_rank = parseInt(response['new_rank']);
    var old_rank = parseInt(response['old_rank']);
    var new_user_name = response['username'];
    var total_points = response['total_points'];
    var user_id = response['user_id'];
	
    type = '';
 
    if (logged_in_true == 1 && logged_in_user_id == user_id)
    {
  
        document.getElementById('logged_in_user_mini').style.backgroundColor = '#B97A57';
        update_mini_rank_div('logged_in_user_mini', new_rank,new_user_name, total_points, user_id);//logged_in_user_mini_total_points_mini
		
    }
    if (old_rank <= current_ranks_mini && new_rank < current_ranks_mini)
    {
        type = "within_top_list";
    }

    else if (old_rank > current_ranks_mini && new_rank > current_ranks_mini)
    {
        type = "out_of_list";
    }

    else if (old_rank < current_ranks_mini && new_rank > current_ranks_mini)
    {
        type = "out_of_list";
    }

    else if (old_rank > current_ranks_mini && new_rank <= current_ranks_mini + 1)
    {
        type = "new_in_list";
		
    }

    //alert(" type " + type + "\n Current ranks min: " + current_ranks_mini + " \nOld rank:" + old_rank + " \nNew rank:" + new_rank);

    if (type == "out_of_list")
    {
        document.getElementById('out1').style.display = '';
        document.getElementById('out1').style.backgroundColor = '#0EA83C';
        
        
        $('out1').select('td','th').each(function(s, index){
            s.style.background = "#0EA83C";
        });
        
        update_mini_rank_div('out1', new_rank, new_user_name, total_points,user_id);
        var funct = "remove_outside_row_mini_ranking()";
        return;
    }
    if (type == "within_top_list") {
        loop_count = old_rank - new_rank;
        start_div_id = old_rank;
        for (i = 0; i < loop_count; i++) {
            content_div_id = start_div_id - 1;
            tmp_new_rank = document.getElementById(start_div_id + '_mini_rank').innerHTML;
            tmp_user_id = document.getElementById(content_div_id + '_mini_userid').innerHTML;
            tmp_new_user_name = document.getElementById(content_div_id + '_mini_username').innerHTML;
            //alert('tmp new: '+tmp_new_user_name);
            tmp_total_points = document.getElementById(content_div_id + '_mini_total_points').innerHTML;
			
            tmp_base_div_id = start_div_id + '_mini';
            update_mini_rank_div(tmp_base_div_id, tmp_new_rank, tmp_new_user_name,tmp_total_points, tmp_user_id);
            start_div_id = start_div_id - 1;
        }

        base_div_id = new_rank + '_mini';
        //	base_div_id = new_rank;
        document.getElementById(base_div_id).style.backgroundColor = higlight_color;
        update_mini_rank_div(base_div_id, new_rank, new_user_name,total_points, user_id);
    }

    if (type == "new_in_list")
    {
        if (new_rank >= current_ranks_mini)
        {
            //alert("new_in_list:if ");
            document.getElementById(new_rank).style.display = '';
            current_ranks_mini = current_ranks_mini + 1;
            base_div = new_rank + '_mini';
            //base_div = new_rank;
            document.getElementById(base_div).style.backgroundColor = higlight_color;
            update_mini_rank_div(base_div, new_rank, new_user_name,total_points, user_id);
			
        }
        else
        {
            //alert("new_in_list:else ");
            if(current_ranks_mini > _total_tb_rows)
            {
                current_ranks_mini = current_ranks_mini + 1;
            }
			
            start_div_id = current_ranks_mini;
            loop_count = start_div_id - new_rank;
			
            //alert(" loop count: "+ loop_count + " \n start_div_id: "+ start_div_id);
			
            for (i = 0; i < loop_count; i++)
            {
			 
                content_div_id = start_div_id - 1;
                temp_start_div_id = start_div_id + "_mini";
                //alert(" Content Div id:"+ content_div_id + "... temp_start_div_id:" + temp_start_div_id);
                document.getElementById(temp_start_div_id).style.display = '';
                tmp_new_rank = document.getElementById(content_div_id + '_mini_rank').innerHTML;
                tmp_user_id = document.getElementById(content_div_id + '_mini_userid').innerHTML;
                tmp_new_user_name = document.getElementById(content_div_id + '_mini_username').innerHTML;
                tmp_total_points = document.getElementById(content_div_id + '_mini_total_points').innerHTML;
				
                tmp_base_div_id = start_div_id + '_mini';
                update_mini_rank_div(tmp_base_div_id, start_div_id,tmp_new_user_name, tmp_total_points, tmp_user_id);
                start_div_id = start_div_id - 1;
            }
            tmp1_new_rank=new_rank+'_mini';
            document.getElementById(tmp1_new_rank).style.backgroundColor = higlight_color;
            update_mini_rank_div(tmp1_new_rank, new_rank, new_user_name, total_points, user_id);
        }
    }
	
}

function update_mini_rank_div(base_div_id, rank, username, total_points,user_id) 
{

    document.getElementById(base_div_id + '_rank').innerHTML = rank;
    document.getElementById(base_div_id + '_userid').innerHTML = user_id;
    document.getElementById(base_div_id + '_username').innerHTML = username;
    document.getElementById(base_div_id + '_username_display').innerHTML = limit_format_string(username);
    document.getElementById(base_div_id + '_total_points').innerHTML = total_points;
    document.getElementById(base_div_id + '_username').style.display='none';
	
}

function remove_outside_row_mini_ranking()
{
    document.getElementById('out1').style.display = 'none';
}

function limit_format_string(username) {
     var bgcolor='#FFFFFF';
    var len = username.length;
    if (len >= username_char_count) {
        var text = '<a onMouseOut="hideTooltip()" onMouseOver="showTooltip(event,\''
        + username
        + '\',\''
        + bgcolor
        + '\',\''
        + '\');return false" style="color:#ffffff; text-decoration:none">'
        + username.substring(0, username_char_count - 1) + '..</a>';
    } else {
        text = username;
    }

    return text;
}
