// sands tab
var sandsTabIndex = "sandsTab";
var sandsTabSize = new Array();
var sandsTabHeadSize = new Array();
var sandsTabCount = new Array();
var sandsTabId = new Array();
var sandsTabMoveUp = new Array();
var sandsTabMoveDown = new Array();
var sandsTabTimerUp = new Array();
var sandsTabTimerDown = new Array();
var sandsTabStopUp = new Array();
var sandsTabStopDown = new Array();
var sandsTabPause = 10;
var sandsTabStep = 5;

var sandsTabTimer = new Array();
var sandsTabTimerPause = 300;

function sandsInitTab(_id,_num){
	sandsTabSize[_id] = sandsTabSize[_id] - (sandsTabCount[_id] * sandsTabHeadSize[_id]);
	sandsTabId[_id] = _num;
	document.getElementById(sandsTabIndex + "_" + _id + "_" + _num + "_head").className = "sandsTabOn";

	if(sandsTabCount[_id]){
		var pos = 0;
		var obj = false;
		for(var i=1; i<=sandsTabCount[_id]; i++){
			obj = document.getElementById(sandsTabIndex + "_" + _id + "_" + i);
			obj.style.top = pos;
			pos += sandsTabHeadSize[_id];
			if(_num == i) pos += sandsTabSize[_id];
		}
	}
}

function sandsOpenTabPause(_id,_num,_type){
	if(_type){
		document.getElementById(sandsTabIndex + "_" + _id + "_" + _num + "_head").className = "sandsTabOn";
		sandsTabTimer[_id] = setInterval("sandsOpenTab(" + _id + "," + _num + ")", sandsTabTimerPause);
	}else{
		if(sandsTabId[_id] != _num) document.getElementById(sandsTabIndex + "_" + _id + "_" + _num + "_head").className = "sandsTabOff";
		clearInterval(sandsTabTimer[_id]);
	}
}

function sandsOpenTab(_id,_num){
	if(sandsTabId[_id] != _num){

		clearInterval(sandsTabTimerUp[_id]);
		clearInterval(sandsTabTimerDown[_id]);
		document.getElementById(sandsTabIndex + "_" + _id + "_" + sandsTabId[_id] + "_head").className = "sandsTabOff";
		document.getElementById(sandsTabIndex + "_" + _id + "_" + _num + "_head").className = "sandsTabOn";

		sandsTabMoveUp[_id] = new Array();
		sandsTabMoveDown[_id] = new Array();
		// up
		for(var i=1; i<=_num; i++){
			sandsTabMoveUp[_id][sandsTabMoveUp[_id].length]=i;
		}
		// down
		for(var i=(_num+1); i<=sandsTabCount[_id]; i++){
			sandsTabMoveDown[_id][sandsTabMoveDown[_id].length]=i;
		}
		sandsTabId[_id] = _num;
		sandsTabTimerUp[_id] = setInterval("sandsUpTab(" + _id + ")", sandsTabPause);
		sandsTabTimerDown[_id] = setInterval("sandsDownTab(" + _id + ")", sandsTabPause);
	}
}

function sandsUpTab(_id){
	sandsTabStopUp[_id] = true;
	for(var i=0; i<sandsTabMoveUp[_id].length; i++){
		obj = document.getElementById(sandsTabIndex + "_" + _id + "_" + sandsTabMoveUp[_id][i]);
		y = parseInt(obj.style.top);
		step = ((sandsTabMoveUp[_id][i] * sandsTabHeadSize[_id]) - sandsTabHeadSize[_id]);
		if(y > step){
			up = ((y - sandsTabStep) < step)? (sandsTabStep - (step - (y - sandsTabStep))) : sandsTabStep;
			sandsTabStopUp[_id] = false;
			obj.style.top = (y - up);
		}
	}

	if(sandsTabStopUp[_id]){
		clearInterval(sandsTabTimerUp[_id]);
	}
}

function sandsDownTab(_id){
	sandsTabStopDown[_id] = true;
	for(var i=0; i<sandsTabMoveDown[_id].length; i++){
		obj = document.getElementById(sandsTabIndex + "_" + _id + "_" + sandsTabMoveDown[_id][i]);
		y = parseInt(obj.style.top);
		step = (sandsTabSize[_id] - (sandsTabCount[_id] * sandsTabHeadSize[_id])) + (sandsTabMoveDown[_id][i] * sandsTabHeadSize[_id]) + ((sandsTabCount[_id] - 1) * sandsTabHeadSize[_id]);
		if(y < step){
			down = ((y + sandsTabStep) > step)? (sandsTabStep - ((y + sandsTabStep) - step)) : sandsTabStep;
			sandsTabStopDown[_id] = false;
			obj.style.top = (y + down);
		}
	}

	if(sandsTabStopDown[_id]){
		clearInterval(sandsTabTimerDown[_id]);
	}
}