function ajax_request() 
{
    url = website_url + 'backend_ajax.php';
    if(typeof _timestamp =='undefined')
    {
        _timestamp=0;
    }
    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 (logged_in_true == 1) {
                //                                                alert('i m here also');
                document.getElementById('logged_in_user').style.background = '#B97A57';
                loggedIndDiv = document.getElementById('logged_in_user').getElementsByTagName('td');
                //                        alert(loggedIndDiv.length);
                for(i = 0; i < loggedIndDiv.length; i++){
                    loggedIndDiv[i].style.background='#B97A57';
                }
            }
            if (response['change'] == 1) {
                update_rank_table(response);
            } else {
                base_div_id = parseInt(response['new_rank']);
                //                 alert(base_div_id + " | " +current_ranks);
                if (base_div_id > current_ranks) {
                    // alert('came');
                    update_rank_table(response);
                } else {
                    //                    alert('so i m here');
                    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 = "#577D91";

                    }
                   
                    element = document.getElementById(base_div_id);
                    element.style.backgroundColor = higlight_color;
                    basedivCols = element.getElementsByTagName('td');
                    basedivfirstCol = element.getElementsByTagName('th');
                    basedivfirstCol[0].style.background = higlight_color;
                    //                    alert('i mok upt this');
                    for (i = 0; i < basedivCols.length; i++){ 
                        basedivCols[i].style.background = higlight_color;
                    }
                //                    alert(logged_in_true);
                    
                }
            }
        }
    });
    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';
    
    $('table_rank').select('tr').each(function(s, index){
        if(s.id!='logged_in_user'){
            s.style.background = "#577D91";
            s.select('td', 'th').each(function(k, index){
                {
                    if(!k.hasClassName('rankheading')){
                        k.style.background='';
                        if(index%2==0 && !k.hasClassName('fRow')){
                            k.style.background='#5F889C';
                        }
                        //alert(index);
                    }
                    }
            });
        }
    });


    

    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'];
    var eligible_to_prize = response['eligible_to_prize'];
    type = '';

    //    alert(eligible_to_prize);
    //
    
    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";
    }

    //alert(type);
    if (type == "out_of_list") {
        document.getElementById('out').style.display = '';
        document.getElementById('out').style.backgroundColor = higlight_color;

        outDiv = document.getElementById('out').getElementsByTagName('td');
        //                        alert(loggedIndDiv.length);
        for(i = 0; i < outDiv.length; i++){
            outDiv[i].style.background=higlight_color;
        }

        update_rank_div('out', new_rank, new_user_name, total_points, user_id,eligible_to_prize);
        var funct = "remove_outside_row()";
    //        alert('I m here now');
    //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,eligible_to_prize);
            start_div_id = start_div_id - 1;
        }

        base_div_id = new_rank;
        baseElem = document.getElementById(base_div_id);
        baseElem.style.backgroundColor = higlight_color;
        
        var baseElemTds = baseElem.getElementsByTagName('td');
        var baseElemThs = baseElem.getElementsByTagName('th');
        //        alert(alltds.length);
        for(j = 0; j < baseElemTds.length; j++){
            baseElemTds[j].style.background=higlight_color;
        }
        for(j = 0; j < baseElemThs.length; j++){
            baseElemThs[j].style.background=higlight_color;
        }
        
        update_rank_div(base_div_id, new_rank, new_user_name, total_points,
            user_id,eligible_to_prize);
    }

    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,eligible_to_prize);
        } 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,eligible_to_prize);
                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,eligible_to_prize);
        }

    }
    //    alert('I m here also');
    if (logged_in_true == 1 && logged_in_user_id == user_id) {
        document.getElementById('logged_in_user').style.backgroundColor = '#B97A57';
        update_rank_div('logged_in_user', new_rank, new_user_name,total_points, user_id,eligible_to_prize);
    }

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

}

function update_rank_div(base_div_id, rank, username, total_points, user_id,eligible_to_prize) {
    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,eligible_to_prize);
    }
    return true;
}

function remove_outside_row() {
    document.getElementById('out').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()" style="color:#FFFFFF" onMouseOver="showTooltip(event,\''
        + username
        + '\',\''
        + bgcolor
        + '\',\''
        + '\',\'true\',\'#4C96B2\');return false">'
        + username.substring(0, username_char_count - 1) + '..</a>';
    } else {
        text = username;
    }

    return text;
}


function get_image_text(total_points,eligible_to_prize)
{

    var bgcolor='#FFFFFF';
  	
    if(total_points>=MIN_CORRECT_ANS_MONEYSYSTEM)
    {
        var flag=true;
  	    
        if(eligible_to_prize==1)
        {
            var textcolor='green';
            var correcr_ans_text = correcr_ans_qualified;
        }
        else
        {
            var textcolor='red';
            var correcr_ans_text=correct_ans_no_prize_info;
        }
    }
    else
    {
        var flag=false;
        var textcolor='red';
        var correcr_ans_text=correcr_ans_not_qualified;
   
        if(eligible_to_prize != 1)
        {
            correcr_ans_text +=" " + correct_ans_no_prize_info;
        }
    }
  
    var display_text = total_points + " " + correct_ans_text + ' '+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;
}
