Сам по себе mainPageScript только создаёт некоторые переменные и функции. В window.onload только вызываются все функции mainPageScript. (window.onload располагается в самом конце mainPageScript.js).
Я склоняюсь к тому, что window.onload может выполняться только в том же файле, в котором находится html, хотя предположение глупое. Я просто вынес window.onload в файл с html. Хотелось бы конечно, оставить html файл в красоте и порядке, без скриптов, только html, ну ладно :)