var newX = 0; var speed = 18; przesun = 0; var currNode = 1; opened = false; _scr = 980; noMove = false; currN = 0; openNextCarPromo = 1; suma = 36; function tick() { _x = document.getElementById('cars').style.marginLeft; _x = parseInt(_x.replace("px", "")); _wdt = document.getElementById('cars').style.width; _wdt = parseInt(_wdt.replace("px", "")); if (newX > 0) newX = 0; if (newX < -_wdt + _scr ) newX = -_wdt + _scr; if (!_x) _x = 0; if (newX < _x) { factor = _x - newX; if (factor < 1) przesun = newX; else przesun = _x - factor / speed; } if (newX > _x) { factor = newX - _x; if (factor < 1) przesun = newX; else przesun = _x + factor / speed; } if (newX < _x) myMove = Math.floor(przesun) +'px'; if (newX > _x) myMove = Math.ceil(przesun) +'px'; if (newX == _x) { myMove = _x +'px'; } document.getElementById('cars').style.marginLeft = myMove; setTimeout("tick()", 10); } function switchCarPromo(myNode, human) { if (human == true) unTickCarPromos(); if (myNode == 'p' || myNode == 'l') { if (myNode == 'p') currNode = Math.abs(newX / _scr) + 2; if (myNode == 'l') currNode = Math.abs(newX / _scr); if (!isInteger(currNode)) { currNode = Math.round(currNode) + 1; } switchCarPromo(currNode); lastNode = currNode; } if (myNode == parseInt(myNode)) { if (human != true || myNode != lastNode) { lastNode = myNode; } newX = - ( (myNode - 1) * _scr); } } function nextCarPromo(n) { switchCarPromo(n, false); n++; currN= n; if ((n * 4) > suma) n = 1; openNextCarPromo = setTimeout("nextCarPromo("+n+")", 5000); } function unTickCarPromos() { clearTimeout(openNextCarPromo); } function moveFlow(flag, n) { if (flag == false) unTickCarPromos() else openNextCarPromo = setTimeout("nextCarPromo("+n+")", 5000); }