                     
                     promise
                     
-                render: (element, params, onSuccess, onExpire)->
+                render : (element, params, onSuccess, onExpire)->
                     _params = angular.extend {}, _parameters, params
                     
                     if not _params.sitekey

        this.$get = ($document, $q, $window, $rootScope)->
            'ngInject'
            {
                init: ->
                    getAndFree = ->
                        _grecaptcha = $window.grecaptcha
                        $window.grecaptcha = undefined
                        return
                    
                    getAndFree() if $window.grecaptcha
                    return $q.resolve _grecaptcha if _grecaptcha
                    
                    promise = $q (resolve, reject)->
                        $window[onloadMethod] = ->
                            getAndFree()
                            $rootScope.$apply ->
                                resolve _grecaptcha
                            return

        self = @
        
        # a method name called when recaptcha api script will be loaded
        _onloadMethod    = "onRecaptchaApiLoaded"
        
        # delete global grecapthca or not
        _deleteGrecaptha = off
        
        @setParameters = (params)->
            _parameters = params
