function Messages()
{
	this.reqWidgetQueue= new Array();//queue with the widgets that made a request through this controller object
	var self=this;
	
	this.deletedMessage = null;
	
	this.oppenedMessage = null;
	
	/**
	 * @param The manager index of the request 
	 * @desc This method is a handler for the completition of one request
	 */
	this.handleResponse=function (managerIndex)
	{		
		var code = RequestManager.getInstance().getRequestObj (managerIndex).getResponseErrorCode();
		var content = RequestManager.getInstance().getRequestObj (managerIndex).getResponseContent();
		switch(code)
		{
			//nu are access la mesaj
			case 1:
				PopupsWidget.showBaloon(content);
				if(this.deletedMessage!=null)
				{
					_e("a_message_"+this.deletedMessage).parentNode.removeChild(_e("a_message_"+this.deletedMessage));
					this.deletedMessage = null;
				}
			break;
			//am primit mesaju
			case 2:
				
				if(this.oppenedMessage!=null)
				{
					_e("msg_content_"+this.oppenedMessage).className = "msg_content";
					_e("msg_content_"+this.oppenedMessage).setAttribute("class","msg_content");
				}
			
				_e("msg_actuall_content_"+content.id).innerHTML = content.body;
				
				_e("msg_content_"+content.id).className = "msg_content_opened";
				_e("msg_content_"+content.id).setAttribute("class","msg_content_opened");
				
				this.oppenedMessage = content.id;
			break;
		}
	}

	this.getMessage=function(mesaj_id)
	{
		if(mesaj_id == this.oppenedMessage)
		{
			_e("msg_content_"+this.oppenedMessage).className = "msg_content";
			_e("msg_content_"+this.oppenedMessage).setAttribute("class","msg_content");
			this.oppenedMessage = null;
			return false;
		}
	
		var rqid=RequestManager.getInstance().createRequest(self,Config.APP_URL+"dy.php?action=get_message&mesaj_id="+mesaj_id);
		RequestManager.getInstance().startRequest(rqid);
		return rqid;
	} 	
	
	this.deleteMessage=function(mesaj_id)
	{
		this.deletedMessage = mesaj_id;
		var rqid=RequestManager.getInstance().createRequest(self,Config.APP_URL+"dy.php?action=deleteMessage&mesaj_id="+mesaj_id);
		RequestManager.getInstance().startRequest(rqid);
		return rqid;
	} 	
	
	
	/**
	 * @param the index of the request 
	 * @desc Remove widget from the queue
	 */
	this.removeWidget=function (managerIndex)
	{
		RequestManager.getInstance().removeRequest(managerIndex);		
		self.reqWidgetQueue[managerIndex]=null;
	}
	
}


Messages.__instance__=null;

Messages.getInstance=function()
{
	if(Messages.__instance__==null)
	{
		Messages.__instance__=new Messages();
	}
	return Messages.__instance__;
}
