var BB = {
	_globals : {},
	$ : function(id) {		
		return document.getElementById(id);
	},
	update : function(el, value) {
		if(/object/.test(typeof(value))) {
			el.innerHTML = value.innerHTML;
		} else {
			el.innerHTML = value;
		}
	},
	hide : function(el) {
		el.style.display = 'none';
	},
	show : function(el) {
		el.style.display = 'block';
	},
	toJSON : function(str) {
		eval("var jsonObject=" + str);
		return jsonObject;
	},	
	comment : function(f, p) {
		var strurl = f.action;
		var strcomment = f.comment.value;
		var params = {event:'doComment',CMD:'POST',url : BB._globals.urleval, comment:strcomment};
		var img_loading = 'writecomment_loading';
		if(/object/.test(typeof(p))) {
			params = Object.extend(p, params);
			img_loading = 'writecomment_' + p.pid + '_loading';
			// BB.show(BB.$());
		}
		
		BB.show(BB.$(img_loading));
							
		var params = Object.extend(params, BB._globals);		
		
		new Ajax.Request('/bb/teste.jsp', {
			parameters: params,
			method:'post',
			onSuccess: function(transport) {
				var ret = BB.toJSON(transport.responseText);
				if(ret.status == CONST.STATUS_OK) {
					BB.update(BB.$('video_message'), CONST.MSG_FEEDBACK_SUCCESS + '. Em breve seu comentário será exibido no site.');					
					BB.hide(BB.$('writecomment'));
					BB.show(BB.$('video_message'));
					alert(CONST.MSG_FEEDBACK_SUCCESS + '.\n Em breve seu comentário será exibido no site.');
					
					BB.hide(BB.$(img_loading));					
					BB.showComments();
				} else {
					BB.update(BB.$('video_message'),ret.message);
					BB.$('evallogin').focus();
					BB.show(BB.$('video_message'));
					BB.hide(BB.$('writecomment_loading'));
					alert(ret.message);
				}		
			},
			onException: function(transport) {
			}		
		});
		return false;
	},	
	showComment : function(el) {
		if(/string/.test(typeof(el))) el = BB.$(el);		
		if(el.style.display == 'none') BB.show(el);
		else BB.hide(el);
		// BB.hide(BB.$('labelcomment'));
	},
	hideComment : function() {
		BB.hide(BB.$('comment'));
	},
	cancelComment : function(el) {
		BB.showComment(el);
	},
	evaluate : function() {
		var f = BB.$('evaluate');
				
		var rating = 0;
		for(i=0;i<f.eval.length;i++) {
			option = f.eval[i];
			if(option.checked) {
				rating = option.value;
				break;
			}			
		}
										
		var params = Object.extend({url:f.action,event:'doRating',CMD:'EVALUATE',nota:rating},BB._globals);
		
		BB.hide(BB.$('video_message'));
	
		new Ajax.Request('/bb/teste.jsp', {
			parameters: params,
			method:'post',
			onSuccess: function(transport) {				
				var ret = BB.toJSON(transport.responseText);							
				if(ret.status == CONST.STATUS_OK) {
					BB.update(BB.$('video_message'), CONST.MSG_FEEDBACK_SUCCESS);
					BB.hide(BB.$('form_eval'));
					BB.show(BB.$('video_message'));
					alert(CONST.MSG_FEEDBACK_SUCCESS);
				} else {
					BB.update(BB.$('video_message'), ret.message);
					BB.show(BB.$('video_message'));
					alert(ret.message);
				}				
			},
			onException: function(transport) {
										
			}		
		}); 
		return false; 		
	},		
	doLogin : function() {
		var f = BB.$('evallogin');
			
		BB.hide(BB.$('video_message'));
			
		new Ajax.Request('/Login', {
			parameters: {email:f.email.value,pwd:f.pwd.value},
			method:'post',			
			onSuccess: function(transport) {
				var ret = BB.toJSON(transport.responseText);
				if(ret.status == CONST.STATUS_OK) {
					top.location.reload();	
				} else {
					BB.update(BB.$('video_message'), 'Email ou senha inválidos');
					BB.show(BB.$('video_message'));
				}
			},
			onException: function(transport) {				
			}
		});
		return false;
	}, 
	showComments : function() {
		BB.update(BB.$('textcommnets'),'<img src="http://i.quebarato.com.br/images/loading_3.gif" />');
		var params = Object.extend({}, BB._globals);
		new PeriodicalExecuter(function(pe) {
		 	new Ajax.Request('/bb/comments.jsp', {
		 		parameters: params,
				method:'post',
				onSuccess: function(transport) {
					BB.update(BB.$('textcommnets'), transport.responseText);
					pe.stop();
				},
				onException: function(transport) {		
					pe.stop();								
				}
		 	});	 	
		}, 4);
	}
}