function RatingController()
{
	this.reqWidgetQueue= new Array();//queue with the widgets that made a request through this controller object
	var self=this;
	this.localWidgetReff = null;
	this.ref=null;
	this.ref_err=null;
	this.applyRate=function(link_id, rate)
	{
		this.ref_err=document.getElementById('mesaj_err_vote');
		var rqid=RequestManager.getInstance().createRequest(RatingController.getInstance(),URL+"index.php?page=link&action=vote&link_id="+link_id+'&vote='+rate);
		RequestManager.getInstance().startRequest(rqid);
	}
	/**
	 * @param The manager index of the request 
	 * @desc This method is a handler for the completition of one request
	 */
	this.handleResponse=function (managerIndex)
	{	
		this.ref_err.innerHTML="";
		var respContent=RequestManager.getInstance().getRequestObj(managerIndex).getResponseContent();
		result=eval(respContent);
		if(result.length==3)
		{
			document.getElementById('cur_rating').style.width=(result[2]['value']*25)+'px';
			document.getElementById('rate_votes').innerHTML=result[1]['value'];
			document.getElementById('rate_avg_votes').innerHTML=result[2]['value'];
			this.ref_err.innerHTML=result[0]['value'];
			return true;
		}
		else
		{
			this.ref_err.innerHTML=result[0]['value'];
			return false;
		}
				
		return true;					
	}
}

RatingController.__instance__=null;

RatingController.getInstance=function()
{
	if(RatingController.__instance__==null)
	{
		RatingController.__instance__=new RatingController();
	}
	return RatingController.__instance__;
}
