// scroller.js
// Copyright (c) 2008-2009 Uploaded.TV (http://www.uploaded.tv)
// Author: Dhiman Biswas

var isAnimating = false;

var scroller1= {
	stepX:[0,0,0,0],
	stepY:0,
	curPos:0,
	currentTab: "tab-01",
	showPane: function(tab,obj,amount,pos){
		if(isAnimating==false){
			var lastPos = this.curPos;
			this.curPos = pos;
			var change = this.curPos - lastPos;
			var move = amount * change;
			isAnimating=true;
			new Effect.Move(obj,{x:move,afterFinish: function(){ isAnimating = false; }});
			if (this.currentTab == tab) return;
			var lastTab = this.currentTab;
			this.currentTab = tab;
			$(this.currentTab).className = "active";
			if(lastTab) $(lastTab).className = "";
		}
	},
	showNextThumb: function(obj, x, totSteps){
		switch(obj){
			case "thumbScroller00":
		if(this.stepX[0]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[0]++;
		}
		break;
			case "thumbScroller01":
			if(this.stepX[1]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[1]++;
		}
		break;
			case "thumbScroller02":
			if(this.stepX[2]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[2]++;
		}
		break;
			case "thumbScroller03":
			if(this.stepX[3]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[3]++;
		}
		break;
		}
	},
	showPrevThumb: function(obj, x){
		switch(obj){
			case "thumbScroller00":
		if(this.stepX[0]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[0]--;
		}
		break;
			case "thumbScroller01":
			if(this.stepX[1]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[1]--;
		}
		break;
			case "thumbScroller02":
			if(this.stepX[2]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[2]--;
		}
		break;
			case "thumbScroller03":
			if(this.stepX[3]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[3]--;
		}
		break;
		}
	},
	showDn: function(obj, y, totSteps){
		if(this.stepY<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{y:y,duration:1,afterFinish: function(){ isAnimating = false; }});
			this.stepY++;
		}
	},
	showUp: function(obj, y){
		if(this.stepY>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{y:y,duration:1,afterFinish: function(){ isAnimating = false; }});
			this.stepY--;
		}
	}
}
//Scroller 2 //
var scroller2= {
	stepX:[0,0,0,0],
	stepY:0,
	curPos:0,
	currentTab: "tab-11",
	showPane: function(tab,obj,amount,pos){
		if(isAnimating==false){
			var lastPos = this.curPos;
			this.curPos = pos;
			var change = this.curPos - lastPos;
			var move = amount * change;
			isAnimating=true;
			new Effect.Move(obj,{x:move,afterFinish: function(){ isAnimating = false; }});
			if (this.currentTab == tab) return;
			var lastTab = this.currentTab;
			this.currentTab = tab;
			$(this.currentTab).className = "active";
			if(lastTab) $(lastTab).className = "";
		}
	},
	showNextThumb: function(obj, x, totSteps){
		switch(obj){
			case "thumbScroller10":
		if(this.stepX[0]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[0]++;
		}
		break;
			case "thumbScroller11":
			if(this.stepX[1]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[1]++;
		}
		break;
			case "thumbScroller12":
			if(this.stepX[2]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[2]++;
		}
		break;
		case "thumbScroller13":
			if(this.stepX[3]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[3]++;
		}
		break;
		}
	},
	showPrevThumb: function(obj, x){
		switch(obj){
			case "thumbScroller10":
		if(this.stepX[0]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[0]--;
		}
		break;
			case "thumbScroller11":
			if(this.stepX[1]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[1]--;
		}
		break;
			case "thumbScroller12":
			if(this.stepX[2]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[2]--;
		}
		break;
			case "thumbScroller13":
			if(this.stepX[3]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[3]--;
		}
		break;
		}
	},
	showDn: function(obj, y, totSteps){
		if(this.stepY<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{y:y,afterFinish: function(){ isAnimating = false; }});
			this.stepY++;
		}
	},
	showUp: function(obj, y){
		if(this.stepY>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{y:y,afterFinish: function(){ isAnimating = false; }});
			this.stepY--;
		}
	}
}
//Scroller 3 //
var scroller3= {
	stepX:[0,0,0,0,0,0,0],
	stepY:0,
	curPos:0,
	currentTab: "tab-21",
	showPane: function(tab,obj,amount,pos){
		//alert('hsdhfj');
		if(isAnimating==false){
			var lastPos = this.curPos;
			this.curPos = pos;
			var change = this.curPos - lastPos;
			var move = amount * change;
			isAnimating=true;
			new Effect.Move(obj,{x:move,afterFinish: function(){ isAnimating = false; }});
			if (this.currentTab == tab) return;
			var lastTab = this.currentTab;
			this.currentTab = tab;
			$(this.currentTab).className = "active";
			if(lastTab) $(lastTab).className = "";
		}
	},
	showNextThumb: function(obj, x, totSteps){
		switch(obj){
			case "thumbScroller20":
		if(this.stepX[0]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[0]++;
		}
		break;
			case "thumbScroller21":
			if(this.stepX[1]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[1]++;
		}
		break;
			case "thumbScroller22":
			if(this.stepX[2]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[2]++;
		}
		break;
			case "thumbScroller23":
			if(this.stepX[3]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[3]++;
		}
		break;
			case "thumbScroller24":
			if(this.stepX[4]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[4]++;
		}
		break;
			case "thumbScroller25":
			if(this.stepX[5]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[5]++;
		}
		break;
			case "thumbScroller26":
			if(this.stepX[6]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[6]++;
		}
		break;
		}
	},
	showPrevThumb: function(obj, x){
		switch(obj){
			case "thumbScroller20":
		if(this.stepX[0]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[0]--;
		}
		break;
			case "thumbScroller21":
			if(this.stepX[1]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[1]--;
		}
		break;
			case "thumbScroller22":
		if(this.stepX[2]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[2]--;
		}
		break;
			case "thumbScroller23":
			if(this.stepX[3]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[3]--;
		}
		break;
			case "thumbScroller24":
			if(this.stepX[4]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[4]--;
		}
		break;
			case "thumbScroller25":
			if(this.stepX[5]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[5]--;
		}
		break;
		case "thumbScroller26":
			if(this.stepX[6]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[6]--;
		}
		break;
		}
	},
	showDn: function(obj, y, totSteps){
		if(this.stepY<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{y:y,afterFinish: function(){ isAnimating = false; }});
			this.stepY++;
		}
	},
	showUp: function(obj, y){
		if(this.stepY>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{y:y,afterFinish: function(){ isAnimating = false; }});
			this.stepY--;
		}
	}
}
//Scroller 4 //
var scroller4= {
	stepX:[0,0],
	stepY:0,
	curPos:0,
	currentTab: "tab-31",
	showPane: function(tab,obj,amount,pos){
		if(isAnimating==false){
			var lastPos = this.curPos;
			this.curPos = pos;
			var change = this.curPos - lastPos;
			var move = amount * change;
			isAnimating=true;
			new Effect.Move(obj,{x:move,afterFinish: function(){ isAnimating = false; }});
			if (this.currentTab == tab) return;
			var lastTab = this.currentTab;
			this.currentTab = tab;
			$(this.currentTab).className = "active";
			if(lastTab) $(lastTab).className = "";
		}
	},
	showNextThumb: function(obj, x, totSteps){
		switch(obj){
			case "thumbScroller30":
		if(this.stepX[0]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[0]++;
		}
		break;
			case "thumbScroller31":
			if(this.stepX[1]<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[1]++;
		}
		break;
		}
	},
	showPrevThumb: function(obj, x){
		switch(obj){
			case "thumbScroller30":
		if(this.stepX[0]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[0]--;
		}
		break;
			case "thumbScroller31":
			if(this.stepX[1]>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.stepX[1]--;
		}
		break;
		}
	},
	showDn: function(obj, y, totSteps){
		if(this.stepY<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{y:y,afterFinish: function(){ isAnimating = false; }});
			this.stepY++;
		}
	},
	showUp: function(obj, y){
		if(this.stepY>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{y:y,afterFinish: function(){ isAnimating = false; }});
			this.stepY--;
		}
	}
}
var svScroller={
	step:0,
	showNext: function(obj, x, totSteps){
		if(this.step<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.step++;
		}
	},
	showPrev: function(obj, x){
		if(this.step>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.step--;
		}
	}
}
var icoScroller={
	step:0,
	showNext: function(obj, x, totSteps){
		if(this.step<totSteps && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.step++;
		}
	},
	showPrev: function(obj, x){
		if(this.step>0 && isAnimating==false){
			isAnimating=true;
			new Effect.Move(obj,{x:x,afterFinish: function(){ isAnimating = false; }});
			this.step--;
		}
	}
}