function highlightStars(mId, n) {
    for (var i = n; i > 0; i--) {
        star = document.getElementById('star_' + mId + '_' + i);
        star.src = 'img/star_over.gif';
    }
}
function unHighlightStars(mId, n) {
    for (var i = n; i > 0; i--) {
        star = document.getElementById('star_' + mId + '_' + i);
        star.src = 'img/star.gif';
    }
}

// Send and response for message ratings

var http;

function createRequestObject() {
    var ro;
    if (typeof ActiveXObject != 'undefined') {
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else {
        ro = new XMLHttpRequest();
    }
    return ro;
}

function sendRating(mId, n) {
    http = createRequestObject();
    http.open('post', 'ratemessage.php');
    http.onreadystatechange = updateRating;
    http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    http.send('mId=' + mId + '&n=' + n);

    // Change rating status
    document.getElementById('rate_this_' + mId).innerHTML = 'Updating...';
}
function updateRating() {
    if (http.readyState != 4) {
        return;
    }
    var response = http.responseText;
    if (response.indexOf('|') == -1) {
        // Do nothing..
        return;
    }
    ratingInfo = new Array();
    ratingInfo = response.split('|');
    if (ratingInfo[0] != 'ok') {
        // Do nothing..
        return;
    }
    mId = ratingInfo[1];
    n = ratingInfo[2];
    document.getElementById('rating_' + mId).innerHTML = n;
    document.getElementById('rate_this_' + mId).style.visibility = 'hidden';
    ratedMsgs[mId] = 1;
    set_rmsgs_cookie(mId);
}

function set_rmsgs_cookie(mId) {
    var nextYear = new Date();
    nextYear.setFullYear(nextYear.getFullYear() + 1);
    rmsgs = mId;
    for (var i in ratedMsgs) {
        rmsgs += '&' + i;
    }
    document.cookie = 'rmsgs=' + escape(rmsgs) + '; expires=' + nextYear.toGMTString();
}

// Get messages already rated by this user from cookie.
function get_msgs_rated() {
    var p = document.cookie.indexOf('rmsgs=');
    if (p != -1) {
        var start = p + 6;
        var end = document.cookie.indexOf(';', start);
        end = end == -1 ? document.cookie.length : end;
        var msgs = unescape(document.cookie.substring(start, end));
        var msgs = msgs.split('&');
    }
    else {
        msgs = new Array();
    }
    msgs2 = new Array();
    for (var i = 0; i < msgs.length; i++) {
        msgs2[msgs[i]] = 1;
    }
    return msgs2;
}
var ratedMsgs = get_msgs_rated();
