function rateArticle(articleId, rating)
{
 	var ajax = new sack();
  ajax.setVar("rating", rating);
  ajax.setVar("articleId", articleId);
  ajax.requestFile = baseurl+"/blog/article-rating";
  ajax.method = "POST";
//  ajax.element = 'ratingMessage';
//  ajax.onLoading = function(){ajaxWhenLoading('ratingMessage') };
//  ajax.onLoaded = ajax.onLoading;
//  ajax.onInteractive = ajax.onLoading;
  ajax.onCompletion = function(){ afterRating(ajax.response) };
  ajax.runAJAX();
}

function ajaxWhenLoading(elementId)
{
	var e = document.getElementById(elementId);
	e.innerHTML = String.fromCharCode(60)+'img src="'+baseurl+'/images/ajax-loader.gif" alt="ajaxLoader" />';
}

function afterRating(resp)
{
	//response is evaluated JSON -> javascript object
	var response = eval("("+resp+")");
	//update contents of page elements
	//rating message
//	var e = document.getElementById("ratingMessage");
//	e.innerHTML = response.message;

	//upadate current rating
	if (response.average) {
// 		e = document.getElementById("averageRating");
//		e.innerHTML=response.average;
//		e = document.getElementById("votingCount");
//		e.innerHTML=response.votingCount;
 
		//remove all children from star rating list except the current-rating UL 
		var articleRatingNode=document.getElementById("articleRatigList"); 
		var listItems = articleRatingNode.getElementsByTagName("LI");

		//opera.postError("list items - "+listItems.length);

		//array for the elements, which will be removed.
		var needRemove = new Array();

		for(var i = 0; i < listItems.length; i++) {
			//opera.postError("i "+i);
			e = listItems[i];
			if (e.id !== undefined) {
				if (e.id == "current-rating") {
					//opera.postError("skip node with id "+e.id);
					continue;
				}
			}
			needRemove.push(e);
		}
 
		//opera.postError("for removing "+needRemove.length);
 
		//array for the elements, which will be removed.
		for(i = 0; i < needRemove.length; i++) {
			e = needRemove[i];
			e.parentNode.removeChild(e);
		}
 
		//change width for the current-rating
		e = document.getElementById("current-rating");
		e.style.width = Math.round(response.average*25)+"px";
	}
}
