var TabMarker = new Class ({

initialize: function(options){
	options = $merge({
		'tabDivName':'tab1',		
		'activeTab':0,
		'onChange':Class.empty,
		'maxOfTab': 3		
		
	}, options);
		
	this.tabDivName = options.tabDivName;
	this.tabpanel = Class.empty;
	this.activeTab = options.activeTab;
	this.selectedTab = 1;
	this.Change = options.onChange;
	this.maxOfTab = options.maxOfTab;	
	this.numberOfTab = this.maxOfTab;

	this.tabpanel = new Tabpanel({ 'divName': this.tabDivName,'maxOfTab':this.maxOfTab, numberOfTab: this.numberOfTab , visible:true, onChange:this.onChange.bind(this)});	
},

onChange: function(index){		
	this.activeTab = this.activeTab+index-this.selectedTab;
	this.selectedTab = index;
	this.Change(this.activeTab);
},

init: function(){				
	this.tabpanel.init();	
},

setTabList: function(tabList){
	this.tabList = tabList;
	this.numberOfTab = tabList.length>this.maxOfTab?this.maxOfTab:tabList.length;
	this.tabpanel.setNumberOfTab(this.numberOfTab);
	this.activeTab = 0;
	this.selectedTab = 1;
	this.changeTabName();	
	this.tabpanel.setSelectedTabIndex(this.selectedTab, false);
},

changeTabName: function(){
	var leftIndex = this.activeTab - (this.selectedTab-1);
	for(var i=0;i<this.numberOfTab;i++){
		this.tabpanel.setTabName(i+1,this.tabList[leftIndex+i].address.googleAddress);
	}
},

moveTabRight: function() {
	if(this.activeTab<this.tabList.length-1) {
		var selectedTab = this.tabpanel.getSelectedTabIndex();
		if( selectedTab==this.tabpanel.getNumberOfTab()) {		
			this.activeTab++;
			this.changeTabName();
			this.Change(this.activeTab);
		} else {
			this.tabpanel.setSelectedTabIndex(selectedTab+1);
		}
	}	
},

moveTabLeft: function() {
	if(this.activeTab>0) {
		var selectedTab = this.tabpanel.getSelectedTabIndex();
		if( selectedTab==1) {		
			this.activeTab--;		
			this.changeTabName();
			this.Change(this.activeTab);			
		} else {
			this.tabpanel.setSelectedTabIndex(selectedTab-1);
		}

	}	
}

});
