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;
				}
			}
		}
	});
	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";

	}
	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 = '#889900';
		
		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 = higlight_color;
		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 = username;
	document.getElementById(base_div_id + '_total_points').innerHTML = total_points;
	
}

function remove_outside_row_mini_ranking()
{
	document.getElementById('out1').style.display = 'none';
}
