/*
 * Fabtabulous! Simple tabs using Prototype
 * http://tetlaw.id.au/view/blog/fabtabulous-simple-tabs-using-prototype/
 * Andrew Tetlaw
 * version 1.1 2006-05-06
 * http://creativecommons.org/licenses/by-sa/2.5/
 */
 
if(typeof(Prototype) != "undefined"){

	var Fabtabs = Class.create();

	Fabtabs.prototype = {
		initialize : function(element) {
			this.element = $(element);
			var options = Object.extend({}, arguments[1] || {});
			this.menu = $A(this.element.getElementsByTagName('a'));
			this.show(this.getInitialTab());
			this.menu.each(this.setupTab.bind(this));
		},
		setupTab : function(elm) {
			Event.observe(elm,'click',this.activate.bindAsEventListener(this),false)
		},
		activate :  function(ev) {
			var elm = Event.findElement(ev, "a");
			Event.stop(ev);
			this.show(elm);
			this.menu.without(elm).each(this.hide.bind(this));
		},
		hide : function(elm) {
			$(elm).removeClassName('active-tab');
			$(this.tabID(elm)).removeClassName('active-tab-body');
		},
		show : function(elm) {
			$(elm).addClassName('active-tab');
			$(this.tabID(elm)).addClassName('active-tab-body');

		},
		tabID : function(elm) {
			return elm.href.match(/#(\w.+)/)[1];
		},
		getInitialTab : function() {
			if(document.location.href.match(/#(\w.+)/)) {
				var loc = RegExp.$1;
				var elm = this.menu.find(function(value) { return value.href.match(/#(\w.+)/)[1] == loc; });
				return elm || this.menu.first();
			} else {
				return this.menu.first();
			}
		}
	}

	Event.observe(window,'load',function() { 
	   if ($("tabs")) {
		  new Fabtabs('tabs'); 
	   }
	   // controllo esistenza html    
	   if ($("tabs1")) {
		  new Fabtabs('tabs1');
	   } 
	   if ($("tabs2")) {
		  new Fabtabs('tabs2');
	   }  
	},false);

}

