
var recommendtab = {

	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(){ recommendtab.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() { recommendtab.showpage(this); return false; };

		$("recommend_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';

		$("recommend_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 recommendtabsetup(){

	recommendtab.setup = {
		tabs: document.getElementById('recommend_tab').getElementsByTagName('li'),
		pages: [],
		pageids: [],
		callbacks:{}
	}

}

function recommendtabset(idx){
	recommendtab.pageset(idx);
}

function recommendtabsetbyobj(obj){
	recommendtab.showpage(obj);
}

function recommendtabsetCallback(id, func){
	recommendtab.setCallback(id, func);
}

function recommendtabadd(id, label){
	return recommendtab.pageadd(id, id, label);
}

function getCurrentRecommendtab(){
	return recommendtab.getCurrentframe();
}



