var homeTab =Class.create();
	
homeTab.prototype = {
	initialize: function(id, mouseEvent, currentClass, flag){
		this.id = id;
		this.currentClass = currentClass;
		this.mouseEvent = mouseEvent;
		this.flag = flag;
		this.init();
	},
	
	init:function(){
		
		if($(this.id) != null){	
			$(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 = Event.findElement(e, 'li');
		if(!el.hasClassName(this.currentClass)){
			this.tabShowHide(el);
		}
		
	},
	
	
	tabShowHide: function(el){
		var cssN = this.currentClass;
		var el_Curr = el.up().previousSiblings()[0].childElements()[this.posNum];
		if(!el.hasClassName(cssN)){
			el.addClassName(cssN).siblings().each(function(node){
				node.removeClassName(cssN);
			});
			el_Curr.siblings().each(function(node){
				if(this.flag){
					Effect.Fade(node, {duration:0.3});
				}else{
					node.hide();
				}
			});
			if(this.flag){
				Effect.Appear(el_Curr, {duration:1});
			}else{
				el_Curr.show();
			}
		}
	}
	
}


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.autoShow.bind(this), this.autoInterval*1000);
			$(this.id).observe("mouseover", function(){clearInterval(this.intervalId)}.bind(this));
			$(this.id).observe("mouseout", function(){this.intervalId = setInterval(this.autoShow.bind(this), this.autoInterval*1000);}.bind(this));
		}
	},
	
	
	autoShow: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(){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].childElements()[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();
			});
		}
	}

});*/

