var WebtvRate;

WebtvRate = function ()
{
	this.init = function ()
	{
		this.get();
		Wlog('webtv.rate:: init');
	};
	
	this.rate = function (rating)
	{
		new Ajax.Request(settings.base+'wdata/'+settings.curr_clip.uri_prefix+'rate/'+settings.curr_clip.uri, {
			method: 'post',
			parameters: Object.toQueryString({'rating':rating}),
			onSuccess: function (tr){
				try{ 
					//document['fplayer'].setRating(parseInt(tr.responseText,10)); 
					document['fplayer'].SetRating(parseInt(tr.responseText,10)); 
					alert("Danke für Ihre Bewertung!");
				}
				catch(e){}
			}
		});
	};
	this.get = function ()
	{
		if(settings.curr_clip && settings.curr_clip.id){
			new Ajax.Request(settings.base+'wdata/'+settings.curr_clip.uri_prefix+'rating/'+settings.curr_clip.uri, {
				method: 'get',
				onSuccess: function (tr){
					try{ 
						//document['fplayer'].setRating(parseInt(tr.responseText,10));
						document['fplayer'].SetRating(parseInt(tr.responseText,10));
					}
					catch(e){ setTimeout(this.get, 1000); }
				}.bind(this),
				onFailure: function (){
					Wlog('wetv.rate::get:: could not retrieve rating');
				}.bind(this)
			});
		}
	};
};

try{
	Webtv.prototype.rate = new WebtvRate();
	Webtv_reg.push('rate');
	Wlog('webtv.rate:: bound');
}
catch(e){
	Wlog('webtv.rate:: could not bind myself');
}


/* player bindings */
fpRate = function (mode, rating) {
	try {
		switch (mode) {
			case 'stars':
			default:
				webtv.rate.rate(rating);
				break;
		}
	} catch (e) {}
};

