/* console.log('hello'); */


var Fabtabs = Class.create();
Fabtabs.prototype = {
	initialize : function(element) {
	  if(!$(element))
		  return false;
	  
      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');
//        $(elm).hide();
    },
    show : function(elm) {
       $(elm).addClassName('active-tab');
       $(this.tabID(elm)).addClassName('active-tab-body');
	},
	tabID : function(elm) {
		body_id = elm.href.match(/#(.+)/)[1];
//		document.location.hash = body_id;
       return body_id;
	},
    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();
		}
	}
}