var lastSlide = 1; 
var cswork=1;
var cSlide=1;

function envoie(pos) {
  ScrollSection('work',pos,false);
}


function ScrollSection(Loc, Req, Vertical) {
  // SET CURRENT FOR ARROWS
  var sReq = Loc+Req;
  var oSet = Loc+'1'
  if (cSlide == sReq) return;
  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);
}


