Откуда вы знаете, что javascript изменяет это значение? Поскольку, похоже, вы уже знаете, когда он вызывается (поскольку вы знаете, что он меняется), я бы предложил точку останова в Firebug в первом событии, которое инициирует изменение (вероятно, атрибут onclick в другом элементе).
Трудно сказать вам "общий" способ узнать, где в javascript он меняет значение Foo, поскольку существует множество разных подходов, разных библиотек, каждая со своим синтаксисом.
Например, если вы попытались найти «Foo» и не нашли его, сценарий может обходить DOM и изменять значение ввода как «первый потомок чего-либо». Я бы попытался найти имена или идентификаторы родительских элементов ввода и понять оттуда код.
Обычно я просто пытаюсь понять логику javascript из каждого сценария, который я использую с методами отладки Firebug, - но только из сценария, который использует библиотеки.