var controlGallery = new Object();
var boxOver = null;

controlGallery = {
	delCard : function(element, title) {
		if(this.confirmDel(title)) {
			new Ajax.Request(this.getBaseURL() + '/cartao/deletefavorito/', {
				method:		'post',
				parameters: 'card=' + element,
				onLoading : function() {
					controlGallery.setMessage('Aguarde excluindo card!');
					controlGallery.modal(true);
				},
				onComplete : function(req){
					var json = req.responseText.evalJSON();
					if(json.result) {
						new Effect.Fade($(element.toString()));
						controlGallery.modal(false);
					} else {
						controlGallery.setMessage('Houve um erro ao excluir o card, tente novamente!');
						controlGallery.modal(false, 2500);
					}
				},
				onFailure : function(){
					alert('Ops! um erro bizarro ocorreu na transação AJAX!');
				}
			});
		}
	},

	confirmDel : function(title) {
		var text   = 'Você tem certeza que deseja excluir o card\n\n"' + title + '"\n\nde seus favoritos?';
		var result = confirm(text);
	    return result;
	},

	getBaseURL : function() {
		var sub = 'i-card';
		var uri = document.location.href;
		var url = new Array;

		if(uri.indexOf(sub) != -1) {
			uri = uri.split("/");
			uri.each(function(node){
				url.push(node)
				if(node == sub) {
					throw $break;
				}
			});
		}
		return url.join('/');
	},

	modal: function(action, time) {
		var duration = 0;
		if(action) {
			Overlay.show();
			boxOver.show();
		} else {
			if(time != undefined) {
				duration = time;
			}
			window.setTimeout('controlGallery.hideModal();', duration);
		}
	},

	hideModal : function() {
		Overlay.hide();
		boxOver.hide();
	},

	getBox : function() {
		boxOver = $('ajax_overlay');
	},

	setMessage : function(text) {
		this.getBox();
		boxOver.update(text);
	}
}
