
var maintab = {

	init: function() {
		var tabs = this.setup.tabs;
		var pages = this.setup.pages;

		for(i=0; i < pages.length; i++) {
			if(i != 0) {
				pages[i].style.display = 'none';
				tabs[i].className = null;
			} else {
				pages[i].style.display = '';
				tabs[i].className = 'selected';
			}

			tabs[i].onclick = function(){ maintab.showpage(this); return false; };
		}
	},
   
	showpage: function(obj){
		var tabs = this.setup.tabs;
		var pages = this.setup.pages;
		var num;

		for(num=0; num<tabs.length; num++) {
			if(tabs[num] === obj) break;
		}

		//クリア
		for(var i=0; i<pages.length; i++) {
			pages[i].style.display = 'none';
			tabs[i].className = '';
		}

		//表示
		for(var i=0; i<pages.length; i++) {
			if(i == num) {
				pages[num].style.display = '';
				tabs[num].className = 'selected';

				var pageids = this.setup.pageids;
				var frame_id = pageids[num];

				if (this.setup.callbacks[frame_id]) {
					this.setup.callbacks[frame_id](frame_id);
				}
				break;
			}
		}

	},

	pageset: function(idx){
		var tabs = this.setup.tabs;
		this.showpage( tabs[idx] );
	},

	pageadd: function(tab_id, frame_id, label){

		// tab追加
		var li = document.createElement('li');
		li.setAttribute("id", tab_id); 
		li.className = '';
		var a = document.createElement('a');
		a.setAttribute('href', '#' + frame_id);
		a.innerHTML = label;
		li.appendChild(a);
		li.onclick = function() { maintab.showpage(this); return false; };

		$("topicheadline_tab").appendChild(li);

		// page追加
		var pages = this.setup.pages;
		var ul = document.createElement('ul');
		ul.setAttribute("id", frame_id); 
		ul.className = '';
		ul.style.display = 'none';

		$("topicheadline_frame").appendChild(ul);
		pages.push(ul);
		this.setup.pageids.push(frame_id);

		return ul;
	},

	getCurrentframe: function() {
		var pages = this.setup.pages;

		for(var i=0; i<pages.length; i++) {
			if (pages[i].style.display == '') {
				return pages[i];
			}
		}

		return null;
	},

	setCallback: function(frame_id, func) {
		this.setup.callbacks[frame_id] = func;
	}
}


function maintabsetup(){

	maintab.setup = {
		tabs: document.getElementById('topicheadline_tab').getElementsByTagName('li'),
		pages: [],
		pageids: [],
		callbacks:{}
	}

}

function maintabset(idx){
	maintab.pageset(idx);
}

function maintabsetbyobj(obj) {
	maintab.showpage(obj);
}

function maintabsetCallback(id, func){
	maintab.setCallback(id, func);
}

function maintabadd(id, label){
	return maintab.pageadd(id, id, label);
}

function getCurrentMaintab(){
	return maintab.getCurrentframe();
}




