Я скопировал ваш код в jsfiddle, здесь: http://jsfiddle.net/dMcyg/
Я сразу же получаю сообщение об ошибке при изменении значения списка выбора "setScale не определено". Я могу видеть, что это так, но в скрипте есть много синтаксических проблем, поэтому я предполагаю, что есть проблема синтаксического анализа, достаточно серьезная, что она никогда не заходит так далеко.
У вас есть функции, определенные во внутренних скобках, что недопустимо. Есть много пропущенных точек с запятой (хотя большинство браузеров, кроме IE, пропускают их).
Пройдите через него с помощью jsLint и сначала исправьте все проблемы с синтаксисом, а затем посмотрите, где вы находитесь.
Оу - jsLint жалуется, что "интерфейс - зарезервированное слово" для вашей переменной interface
. Раньше я никогда не слышал о ключевом слове «interface» в Javascript, поэтому я не уверен, что это такое, но я изменил его, чтобы jsLint продолжал синтаксический анализ.