
var TabView = function() {}

TabView.prototype = {
    tabList: [],
    currentTab: null,

    addEvent: function(oElement,event,func) {
	
        if (oElement.addEventListener) {
            oElement.addEventListener(event,func,false);
        } else if (oElement.attachEvent) {
            oElement.attachEvent('on'+event,func);
        }
    },

    switchTab: function(tabId) {
        var currentTabId = 
            document.getElementById(this.tabList[this.currentTab]);
        var newTabId = 
            document.getElementById(this.tabList[tabId]);

        currentTabId.style.display = 'none';
		document.getElementById(this.currentTab).className = '';
        newTabId.style.display = '';
		document.getElementById(tabId).className = 'on';
        
        this.currentTab = tabId;
    },

    addTab: function(tabId,tabContentId,current) {
        this.tabList[tabId] = tabContentId;
        
        var id = document.getElementById(tabId);
        
        this.addEvent(id,'click', 
        							(function(obj) {
        								return function(e) {
											if (e.stopPropagation) {
												e.stopPropagation();
											}
											obj.switchTab(tabId);
											return false;
										};
        							})(this)
        	);
        
        if (current) {
            this.currentTab = tabId;
			document.getElementById(tabId).className = 'on';
            document.getElementById(tabContentId).style.display = '';
        } else if (!current) {
            document.getElementById(tabContentId).style.display = 'none';
		}
    },
	
	outputLinkToTab: function(tabId,newId,text) {
		document.write('<p><a id="'+newId+'" class="more" href="#">'+text+'</a></p>');
		var id = document.getElementById(newId);
		this.addEvent(id,'click',
								(function(obj) {
									return function(e) {
										if (e.stopPropagation) {
											e.stopPropagation();
											e.preventDefault();
										} else {
											e.cancelBubble = true;
										}
										obj.switchTab(tabId);
										return false;
									};
								})(this)
		);
	}

};

function createTabs() {
  document.write('<ul class="tabs">');
  for (i=0; i<arguments.length; i++) {
    document.write('<li id="tab'+(i+1)+'"><span>' + createTabs.arguments[i] + '</span></li>');
  }
  document.write('</ul>');
}