


/*GASTRONOMY_PT*/



/* * *
	GASTRONOMY HOVER
* * */
var GastronomyHover = {
	init:function(){
		if(!$('votes_vote'))
			return;
			
		var last = [];
		$A($('votes_vote').getElementsByTagName('a')).each(function(element){
			last.unshift(element);
			Event.observe(element, 'click', function(event){
				Event.stop(event);
				gastronomyVotes.get(element);
			}.bindAsEventListener(element));
			GastronomyHover.on.apply(GastronomyHover, last);
		});
	},
	
	on:function(){
		var elements = $A(arguments), element = elements.shift();
		Event.observe(element, 'mouseover', function(){
			GastronomyHover.atvOver.apply(element, elements)
		});
		Event.observe(element, 'mouseout',  function(){
			GastronomyHover.atvOut.apply(element, elements)
		});
	},
	
	atvOver:function(){
		$A(arguments).each(function(current){
			IEHover.over.call(current)										
		});
	},
	
	atvOut:function(){
		$A(arguments).each(function(current){
			IEHover.out.call(current)										
		});
	}
}

/* * *
	GASTRONOMY VOTES
* * */
var gastronomyVotes = new Object();
Object.extend(gastronomyVotes, {	
	/* GET */
	get: function(element){
		Element.hide('votes_vote');
		Element.show('votes_loading');
		
		new Ajax.Request( 
			element.rel, {
				method: 'get',
				onComplete: this.getReturn.bind(this),
				onFailure: this.onFailure.bind(this)
			}
		);
	},
	getReturn: function(ret){
		Element.hide('votes_loading');
		Element.show('votes_tanks');
	},

	/* ON FAILURE */
	onFailure: function(transport){
		alert('Problemas com a aplicação.\n\nFalha na requisiçao AJAX.\n\nOcorrência: '+transport.status);
	}
});

/*-----------------------------------------------------------------------------------------------*/

ContentLoaded(window, function(){
	GastronomyHover.init();
	var link = document.getElementsByClassName('iComment', 'util')[0];
	if(link)
		Event.observe(link, 'click', function(event){
			Event.stop(event);
			Element.hide(this);
			Element.show('comment_box');
		}.bindAsEventListener(link), false);
});
