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

            scriptTag.type = 'text/javascript';
            scriptTag.async = true;
            scriptTag.defer = true;
            scriptTag.src = "//www.google.com/recaptcha/api.js?onload=#{onloadMethod}&render=explicit" + if _languageCode then "&h1#{_languageCode}" else ""
            
            s = $document[0].querySelector('body')
            s.appendChild(scriptTag);

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