Привет! Отличная работа!
Есть мнение, что parseInt далеко не всегда считает основание системы счисления 10, иногда это бывает 8.
Я предлагаю уточнить поддерживаемые версий браузеров в документации или использовать жесткое указание 10 в качестве системы счисления.
http://www.w3schools.com/jsref/jsref_parseint.asp
Older browsers will use the octal radix (8) as default when the string begins with "0". As of ECMAScript 5, the default is the decimal radix (10).
например
|| s.x.offset != (parseInt(c.css("left"), 10) || 0)
вместо
|| s.x.offset != (parseInt(c.css("left")) || 0)
а вообще я лично стараюсь использовать хелпер dec вместо parseInt, вида
function dec(num){ return parseInt(num,10) }
и тогда в коде
|| s.x.offset != (dec(c.css("left")) || 0)
Возможно окажется полезным. Удачи!