In the checkSettings() method settings[key] evaluates as false when offsetTop is 0.
the whole block of code
for (var key in settings) {
console.log(settings[key]);
if (!settings[key]) {
errors.push(settings[key]);
}
}
seems unnecessary since the only reason a setting would be false is on purpose since the all have defaults.