ScrollTab_Class = function(){}

ScrollTab_Class.prototype.init = function(parentNode, tabs, srcImg, tabStop){
	
	this._tabIdx = 0;
	this._tabStop = tabStop;
	this._parentNode = parentNode;
	this._tabs = tabs;
	this._animLock = false;
	
	var ul = Element.create("ul")
		ul.className = "tabrow";
		
	for (var x=0; x < tabs.length; x++){
		
		var li = Element.create("li");
			li.className = (x == 0)?"tabrow-tab tabrow-tab-on":"tabrow-tab";
		
		var a = Element.create("a");
			a.setAttribute("href", "javascript:void(0)");
			a.innerHTML = tabs[x].title;
		
		Events.add({
			type: "mouseup",
			element:a,
			handler: this._flipTab,
			context: this,
			data: x
		});
		
		li.appendChild(a);
		ul.appendChild(li);
		
			
	}
	
	this._parentNode.appendChild(ul);
	
	var oControls = Element.create("div");
		oControls.className = "strip-controls";
	
	var oContainer = Element.create("div");
		oContainer.className = "strip-container";
		
	this._oStripImg = Element.create("img");
	this._oStripImg.setAttribute("src", srcImg);
		
	var navLeft = Element.create("img");
		navLeft.className = "navarrow navarrowleft";
		navLeft.setAttribute("src", "resources/img/icon_navarrow_left.png");
	
	Events.add({
		type: "mouseup",
		element:navLeft,
		handler: this._flipTab,
		context: this,
		data: "left"
	});
		
	var navRight = Element.create("img");
		navRight.className = "navarrow navarrowright";
		navRight.setAttribute("src", "resources/img/icon_navarrow_right.png");
	
	Events.add({
		type: "mouseup",
		element:navRight,
		handler: this._flipTab,
		context: this,
		data: "right"
	});
	
	oContainer.appendChild(this._oStripImg);
	oControls.appendChild(oContainer);
	oControls.appendChild(navLeft);	
	oControls.appendChild(navRight);
	
	
	this._parentNode.appendChild(oControls);
	
	
}

ScrollTab_Class.prototype._scrollTo = function(tabIdx, newTabIdx){
	
	this._animLock = true;
	var toPos = -1 * (newTabIdx * this._tabStop);
	var fromPos = -1 * (tabIdx * this._tabStop);
	
	var effect = Effects.create(this._oStripImg,'x',{onComplete: this._unlockAnimation,context: this, easing:"strongEaseOut", from:fromPos, to:toPos, duration:'.5'});	
		effect.animate();
	
}

ScrollTab_Class.prototype._unlockAnimation = function(){
	
	this._animLock = false;
}

ScrollTab_Class.prototype._flipTab = function(e, elem, data){
	
	if (this._animLock){return}
	
	if (typeof data == "number"){
		
		var newTabIdx = data;
			
	} else if (data == "left"){
	
		var newTabIdx = Math.max(0, this._tabIdx - 1);
			
	} else if (data == "right"){
	
		var newTabIdx = Math.min(this._tabs.length - 1, this._tabIdx + 1);
			
	}
	
	var tabs = this._parentNode.getElementsByTagName("li");
	
	for (var x=0; x < tabs.length; x++){
		
		tabs[x].className = (x == newTabIdx)?"tabrow-tab tabrow-tab-on":"tabrow-tab";
			
	}
	
	this._scrollTo(this._tabIdx, newTabIdx);
	this._tabIdx = newTabIdx;
	
}
