тут сразу два фактора
1) область видимости
2) вы ее вызываете до события document.ready
Если вы хотите сделать сделать ее доступной глобально, то лучше сделать так:
(function(window){
function foo(){
}
window.foo = foo;
)(window)
таким образом вы ее поместить в глобальную область видимости,
Если говорить о jQuery
если вы объявляете функции внутри jq, то и вызывать их лучше оттудаже