function ajax_request() 
{

	url = website_url + 'backend_ajax.php';
	new Ajax.Request(url, {
		method :'get',
		parameters : {
			'timestamp' :_timestamp,
			'rand' :Math.random()
		},
		onSuccess : function(transport) {
			var response_txt = transport.responseText;
			var response = new Array();
			response = response_txt.evalJSON();
			_timestamp = response['timestamp'];
			if (response['change'] == 1) {
				update_rank_table(response);

			} else {
				base_div_id = parseInt(response['new_rank']);
				// alert(base_div_id);
		if (base_div_id > current_ranks) {
			// alert('came');
		update_rank_table(response);
	} else {

		var rank_table = document.getElementById('table_rank');
		var _total_tb_rows = rank_table.rows.length;
		document.getElementById('out').style.display = 'none';
		for (i = 1; i < _total_tb_rows; i++)
		{
			rank_table.rows[i].style.background = "#FFFFFF";

		}

		element = document.getElementById(base_div_id);
		element.style.backgroundColor = higlight_color;
	}

}
}
	});
	setTimeout("ajax_request()", 5000);
}

function update_rank_table(response) {
	var rank_table = document.getElementById('table_rank');
	var _total_tb_rows = rank_table.rows.length;
	document.getElementById('out').style.display = 'none';
	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').style.backgroundColor = '#FF0000';
		update_rank_div('logged_in_user', new_rank, new_user_name,
				total_points, user_id);
	}

	if (old_rank <= current_ranks && new_rank < current_ranks) {

		type = "within_top_list";
	}

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

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

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

	if (type == "out_of_list") {
	
		document.getElementById('out').style.display = '';
		document.getElementById('out').style.backgroundColor = higlight_color;
		update_rank_div('out', new_rank, new_user_name, total_points, user_id);
		var funct = "remove_outside_row()";
		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 + '_rank').innerHTML;
			tmp_user_id = document.getElementById(content_div_id + '_userid').innerHTML;
			tmp_new_user_name = document
					.getElementById(content_div_id + '_username').innerHTML;
			tmp_total_points = document
					.getElementById(content_div_id + '_total_points').innerHTML;
			update_rank_div(start_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;
		document.getElementById(base_div_id).style.backgroundColor = higlight_color;
		update_rank_div(base_div_id, new_rank, new_user_name, total_points,
				user_id);
	}

	if (type == "new_in_list") {

		if (new_rank > current_ranks) {
			document.getElementById(new_rank).style.display = '';

			current_ranks = current_ranks + 1;
			document.getElementById(new_rank).style.backgroundColor = higlight_color;
			// update_rank_div(new_rank,new_rank,new_user_name,total_points,user_id,chat_room_status,chat_room_name,chat_room_id);
			update_rank_div(new_rank, new_rank, new_user_name, total_points,
					user_id);
		} else {
			current_ranks = current_ranks + 1;
			start_div_id = current_ranks;
			loop_count = start_div_id - new_rank;
			for (i = 0; i < loop_count; i++) {
				content_div_id = start_div_id - 1;
				document.getElementById(start_div_id).style.display = '';
				tmp_new_rank = document
						.getElementById(content_div_id + '_rank').innerHTML;
				tmp_user_id = document
						.getElementById(content_div_id + '_userid').innerHTML;
				tmp_new_user_name = document
						.getElementById(content_div_id + '_username').innerHTML;
				tmp_total_points = document
						.getElementById(content_div_id + '_total_points').innerHTML;
				update_rank_div(start_div_id, start_div_id, tmp_new_user_name,
						tmp_total_points, tmp_user_id);
				start_div_id = start_div_id - 1;
			}

			document.getElementById(new_rank).style.backgroundColor = higlight_color;
			update_rank_div(new_rank, new_rank, new_user_name, total_points,
					user_id);
		}

	}
	
	if(total_points>=MIN_CORRECT_ANS_MONEYSYSTEM)
    {
    	document.getElementById(new_rank+'_moneyprize').style.color = '#006633';
    }
    else
    {
    	document.getElementById(new_rank+'_moneyprize').style.color = '#999999';
    }

}

function update_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;
	if(base_div_id!="logged_in_user")
	{
   document.getElementById(base_div_id + '_total_points_image').innerHTML = get_image_text(total_points);
  }


}

function remove_outside_row() {
	document.getElementById('out').style.display = 'none';
}

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

	return text;
}


function get_image_text(total_points)
{

  var bgcolor='#FFFFFF';
  	
  if(total_points>=MIN_CORRECT_ANS_MONEYSYSTEM)
  {
  	var flag=true;
  	var textcolor='green';
  	var correcr_ans_text=correcr_ans_qualified;
  }
  else
  {
   var flag=false;
   var textcolor='red';
   var correcr_ans_text=correcr_ans_not_qualified;
  }
  
  var display_text = total_points + ' '+correcr_ans_text;
  var image_tag = '<img src='+ ' "'+image_path+'/info.gif"'+ ' />';
  
  var text = '<a onMouseOut="hideTooltip()" onMouseOver="showTooltip(event,\''
				+ display_text
				+ '\',\''
				+ flag
				+ '\',\''
				+ textcolor
				+ '\');return false">'
				+ image_tag + '</a>';
  return text;			
}

