Guys, thanks for the hints, great support, i think the problem is that a certain problem can be solved in many possible ways (if that is a problem thought )! I manage to solve it using the TweenMax onStart and onComplete callbacks and setting animationState variable to true or false inside them
...
if(animationState !== true){
newPosition = leftPosition + slideWidth;
tl = TweenMax.to(slide, 0.5, {backgroundPosition: newPosition + "px 0px", ease: Cubic.easeInOut,
onStart: function(){
animationState = true;
},
onComplete: function(){
animationState = false;
}
});
....
}
...
Thanks again! Marked as solved