Calling a function inside a function – converting AS2 to AS3-Collection of common programming errors

I currently have some code from here (https://github.com/jmhnilbog/Nilbog-Lib-AS2/blob/master/mx/mx/remoting/NetServiceProxy.as) which converts a function into a function. This code is shown below:

 private var _allowRes:Boolean= false;
 function __resolve( methodName:String ):Function {
     if( _allowRes ) {
         var f = function() :Object {
             // did the user give a default client when he created this NetServiceProxy? 
             if (this.client != null) {
                 // Yes. Let's create a responder object.
                 arguments.unshift(new NetServiceProxyResponder(this, methodName));
             }
             else {
                 if (typeof(arguments[0].onResult) != "function") {
                      mx.remoting.NetServices.trace("NetServices", "warning", 3, "There is no defaultResponder, and no responder was given in call to " + methodName);
                      arguments.unshift(new NetServiceProxyResponder(this, methodName));
                 }
             }

             if(typeof(this.serviceName) == "function")
                 this.serviceName = this.servicename;
             arguments.unshift(this.serviceName + "." + methodName);

             return( this.nc.call.apply(this.nc, arguments));
         };
         return f;
     }
     else {
       return null;
     }
 }

Basically what the code is designed to do is return a new function (returned as f) which performs the correct server operates. However, if I try and use this syntax in AS3, I get the following two errors:

Error: Syntax error: expecting semicolon before colon.
Error: Syntax error: else is unexpected.

How would I go about doing this? I know this is someone else’s code, but I am trying to get the old AS1/2 mx.remoting functionality working in AS3. Cheers.