var homeTab =Class.create();
	
homeTab.prototype = {
	initialize: function(id, mouseEvent, currentClass){
		this.id = id;
		this.currentClass = currentClass;
		this.mouseEvent = mouseEvent;
		this.init();
	},
	
	init:function(){
		if($(this.id)){
			$(this.id).childElements()[1].childElements().each(function(s, index){
				s.observe(this.mouseEvent, this.changeTab.bindAsEventListener(this, index));
			}.bind(this));
		}	
	},
	
	changeTab:function(e){
		this.posNum = $A(arguments).pop();
		var el = e.element();
		while(el.tagName.toLowerCase() != "li"){
			el = el.up();
		}
		
		if(!el.hasClassName(this.currentClass)){
			this.tabShowHide(el);
		}
	},
	
	
	tabShowHide: function(el){
		var cssN = this.currentClass;
		var el_Curr = el.up().previous(0).down(0).childElements()[this.posNum];
		if(!el.hasClassName(cssN)){
			el.addClassName(cssN).siblings().each(function(node){
				node.removeClassName(cssN);
			});
			el_Curr.siblings().each(function(node){
				Effect.Fade(node, {duration:0.3});
			});
			Effect.Appear(el_Curr, {duration:1});
		}
	}
	
}


var autoShowTab = Class.create(homeTab, {//¼Ì³ÐhomeTabÀà
	initialize:function($super, id, currentCss, mouseEvent, autoInterval){
		this.autoInterval = autoInterval;
		$super(id, currentCss, mouseEvent);
		this.intervalId; 
		this.posNum = 1;
		this.posAll = $(this.id).childElements()[1].childElements().length;
	},
	
	init:function($super){
		$super();
		if($(this.id)){
			this.intervalId = setInterval(this.autoShowTab.bind(this), this.autoInterval*1000);
			$(this.id).observe("mouseover", function(){clearInterval(this.intervalId)}.bind(this));
			$(this.id).observe("mouseout", function(){clearInterval(this.intervalId); this.intervalId = setInterval(this.autoShowTab.bind(this), this.autoInterval*1000);}.bind(this));
		}
	},
	
	
	autoShowTab:function(){
		el = $(this.id).childElements()[1].childElements()[this.posNum];
		this.tabShowHide(el);
		this.posNum++;
		if(this.posNum >= this.posAll){
			this.posNum = 0;
		}
	}

});


var autoShowTab1 = Class.create(homeTab, {//¼Ì³ÐhomeTabÀà
	initialize:function($super, id, currentCss, mouseEvent, autoInterval){
		this.autoInterval = autoInterval;
		$super(id, currentCss, mouseEvent);
		this.intervalId; 
		this.posNum = 1;
		this.posAll = $(this.id).childElements()[1].childElements().length;
	},
	
	init:function($super){
		$super();
		if($(this.id)){
			this.intervalId = setInterval(this.autoShowTab.bind(this), this.autoInterval*1000);
			$(this.id).observe("mouseover", function(){clearInterval(this.intervalId)}.bind(this));
			$(this.id).observe("mouseout", function(){clearInterval(this.intervalId); this.intervalId = setInterval(this.autoShowTab.bind(this), this.autoInterval*1000);}.bind(this));
		}
	},
	
	
	autoShowTab:function(){
		el = $(this.id).childElements()[1].childElements()[this.posNum];
		this.tabShowHide(el);
		this.posNum++;
		if(this.posNum >= this.posAll){
			this.posNum = 0;
		}
	},
	
	tabShowHide: function(el){
		
		var cssN = this.currentClass;
		var el_Curr = el.up().previousSiblings()[0].select("li")[this.posNum];
		if(!el.hasClassName(cssN)){
			el.addClassName(cssN).siblings().each(function(node){
				node.removeClassName(cssN);
			});
			el_Curr.show().siblings().each(function(node){
				node.hide();
			});
		}
	}

});

