Hate to open a new question for an extension to the previous one:
function ctest() { this.iteration = 0; this.func1 = function() { var result
You have to return all the way up the stack:
func2.call(this, sWord);
should be:
return func2.call(this, sWord);