cSlide = 1;
cswelcome = 1;
csbrowse = 1;
cswork = 1;
lastSlide = 1;


function ScrollSection(Loc, Req, Vertical) {
	// SET CURRENT FOR ARROWS
	if ( Loc == 'welcome' ) { cswelcome = Req; }
	if ( Loc == 'prj' ) { csbrowse = Req; }
	if ( Loc == 'work' ) {
		cswork = Req;
    $('ind'+cswork).addClass('doton');
    $('ind'+lastSlide).removeClass('doton');
  	lastSlide = cswork;
	}
	sReq = Loc+Req;
	oSet = Loc+'1'
	if (cSlide == sReq) {
		return;
	}
	lastSection = cSlide;
	cSlide = sReq;
	theScroll = $(Loc);
  var position = findElementPos($(sReq));
	if (oSet != "") {
		offsetPos = findElementPos($(oSet));
    var crit=Vertical?1:0;
		position[crit] = position[crit] - offsetPos[crit];
	}
	scrollStart(theScroll, Vertical?theScroll.scrollTop:theScroll.scrollLeft, position[crit], Vertical);
}

// SCROLLS
var scrollanim = {time:0, begin:0, change:0.0, duration:0.0, element:null, timer:null};

function scrollStart(elem, start, end, Vertical) {
	if (scrollanim.timer != null) {
		clearInterval(scrollanim.timer);
		scrollanim.timer = null;
	}
	scrollanim.time = 0;
	scrollanim.begin = start;
	scrollanim.change = end - start;
	scrollanim.duration = 25;
	scrollanim.element = elem;
	scrollanim.timer = setInterval("scrollAnim("+(Vertical?"true":"false")+");", 15);
}

function scrollAnim(Vertical) {
	if (scrollanim.time > scrollanim.duration) {
		clearInterval(scrollanim.timer);
		scrollanim.timer = null;
	}
	else {
		move = sineInOut(scrollanim.time, scrollanim.begin, scrollanim.change, scrollanim.duration);
		if (Vertical) scrollanim.element.scrollTop = move; 
    else          scrollanim.element.scrollLeft = move;
		scrollanim.time++;
	}
}

// EASING
function sineInOut(t, b, c, d) { return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; }


// FIND POSITION OF ELEMENT
function findElementPos(elemFind)
{
	var elemX = 0;
	var elemY = 0;
	do {
		elemX += elemFind.offsetLeft;
		elemY += elemFind.offsetTop;
	} while ( elemFind = elemFind.offsetParent )

	//console.log("Found element "+elemFind+" at "+elemY+"/"+elemX);

	return Array(elemX, elemY);
}

function sArrow(Dir, Loc, Max) {
	
	if ( Loc == 'welcome' ) { cs = cswelcome; }
	if ( Loc == 'prj' ) { cs = csbrowse; }
	if ( Loc == 'work' ) { cs = cswork; pwork = cswork; }
	if ( Dir == 'L' ) {
		if ( cs == 1 ) { cs = Max; } else { cs--;	}
	} else if ( Dir == 'R' ) {
		if ( cs == Max ) { cs = 1; } else { cs++; }
	} else if ( Dir == 'D' ) {
		if ( parseInt(cs+5) > parseInt(Max) ) { cs = 1; } else { cs+=5; }
	} else if ( Dir == 'U' ) {
		if ( cs-5 < 1 ) { cs = Max; while(((cs-1)%5)>0)cs--; } else { cs-=5; }
  }
	ScrollSection(Loc, cs, (Dir=='U'||Dir=='D'));
}

//Disable Text
function disableSelection(target){
if (typeof target.onselectstart!="undefined") //IE route
	target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
	target.style.MozUserSelect="none"
else //All other route (ie: Opera)
	target.onmousedown=function(){return false}
target.style.cursor = "default"
}
