function SuntCool()
{
	this.reqWidgetQueue= new Array();//queue with the widgets that made a request through this controller object
	var self=this;
	this.oldSecond = 0;
	
	/**
	 * @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)
		{
			case 1 :
				alert(content);
			break;
			case 2 :
				_e("votes_cool").innerHTML = content.votes_cool;
				_e("votes_not_cool").innerHTML = content.votes_not_cool;
				_e("top_position").innerHTML = "#"+content.position;
				alert("Votul a fost inregistrat!");
			break;
		}
	}

	this.vote = function(vote,user_id)
	{
		var rqid=RequestManager.getInstance().createRequest(self,Config.APP_URL+"dy.php?action=suntCool::vote&vote="+vote+"&_user_id="+user_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;
	}
	
	this.animate = function ()
	{
		var baseX = 320;
		var baseY = 20;
		
		
		var newX = baseX + Math.round(Math.random()*5);
		var newY = baseY + Math.round(Math.random()*5);
		
		try {
			_e("reclama_sus").style.left = newX + "px";
			_e("reclama_sus").style.top = newY + "px";
		}catch(ex){}
	}
	
	this.timeDown = function ()
	{
		var myDate = new Date(); 
		var seconds = myDate.getSeconds();
		if(this.oldSecond != seconds)
		{
			this.oldSecond = seconds;
			try {
			var mValue = parseInt(_e("remaining_seconds").innerHTML);
			if(mValue>0)
			{
				_e("remaining_seconds").innerHTML = mValue - 1;
			}
			else
			{
				_e("remaining_seconds").innerHTML = "59";
				var minValue = parseInt(_e("remaining_minutes").innerHTML);
				if(minValue>0)
				{
					_e("remaining_minutes").innerHTML = minValue - 1;
				}
				else
				{
					var hValue = parseInt(_e("remaining_hours").innerHTML);
					_e("remaining_minutes").innerHTML = "59";
					if(hValue>0)
					{
						_e("remaining_hours").innerHTML = hValue - 1;
					}
					else
					{
						var dValue = parseInt(_e("remaining_days").innerHTML);
						_e("remaining_hours").innerHTML = "23";
						_e("remaining_days").innerHTML = dValue - 1;
						
					}
				}
			
			}
			}catch (err)
			{
				//clearInterval(timerDownInterval);
			}
		}
	}

}

setInterval("SuntCool.getInstance().animate()",50);
var timerDownInterval = setInterval("SuntCool.getInstance().timeDown()",300);

SuntCool.__instance__=null;

SuntCool.getInstance=function()
{
	if(SuntCool.__instance__==null)
	{
		SuntCool.__instance__=new SuntCool();
	}
	return SuntCool.__instance__;
}
