var Tab = {
	activate: function(link, btns)
	{
		link = $(link);
		if (link) {
			var lns = link.up().select('a');
			lns.each(Observer.deactivate);
			Observer.activate(link);
		}

		Tab.showButtons(btns);
	},
 	hideButtons: function()
	{
		var allBtns = ['btn_list', 'btn_dtl_sub', 'btn_dtl', 'btn_rights', 'btn_forum', 'btn_grp', 'btn_match_dtl', 'btn_match_pls', 'btn_inbox', 'btn_outbox', 'btn_ban'];
		allBtns.each(function(b) {
			Try.these(function() {$(b).style.display = 'none';});
		});
	},
 	showButtons: function(btns)
	{
		Tab.hideButtons();
		Try.these(function() {$(btns).style.display = 'inline';});
	}
};

// ----------------------------------------------------
// effetti e observer

var Observer = {
	over: function(e) {
		e.element().addClassName('hover');
	},
	out: function(e) {
		e.element().removeClassName('hover');
	},
	activate: function(e) {
		e.addClassName('active');
	},
	forceActive: function(e, className) {
		e.className = className || 'active';
	},
	deactivate: function(e) {
		e.removeClassName('active');
	}
};

var Cookie = {
	set: function(name, value, days)
	{
// 		var defaults = { expires: 1, path: '/' };
// 		for(var i in ['expires','path'])
// 			if (!options[i]) options[i] = defaults[i];

		var str = name + "=" + escape ( value );

		if (days != undefined) {
			var date = new Date();//y, m, d
			date.setTime(date.getTime()+(days * 24 * 60 * 60 * 1000));	// lo faccio durare 1 giorno
			str += "; expires=" + date.toGMTString();
		}
// 		if (options.path)
			str += "; path=" + escape ( '/'/*options.path*/ );
// 		if (options.domain)
// 			str += "; domain=" + escape ( options.domain );
// 		if ( options.secure)
// 			str += "; secure";

		document.cookie = str;
	},

	unset: function(name)
	{
		Cookie.set(name, "", -1);
		var date = new Date ( );  // current date & time
		date.setTime ( date.getTime() - 1 );
		document.cookie = ( name + "=; expires=" + date.toGMTString() + "; path=" + escape('/') );
	},
 
	get: function(name)
	{
		var results = document.cookie.match ( '(^|;) ?' + name + '=([^;]*)(;|$)' );
		return ( results ? ( unescape ( results[2] ) ) : null );
	}
};