JavaScript's modulo operator (%) doesn't handle negative numbers nicely -
here's something general to work around the issue.
Benchmarks on jsperf can be found here. Thanks to shama and mikolalysenko for finding a faster method.
npm install mod-loopReturns x % y, for both positive and negative and negative numbers.
var mod = require('mod-loop')
mod(+100, 10) // 0
mod(-100, 10) // 0
mod(-105, 10) // 5
mod(-102, 10) // 8