```coffeescript
###
# Copyright 2015 ppy Pty. Ltd.
#
# This file is part of osu!web. osu!web is distributed with the hope of
# attracting more community contributions to the core ecosystem of osu!.
#
# osu!web is free software: you can redistribute it and/or modify
# it under the terms of the Affero GNU General Public License version 3
# as published by the Free Software Foundation.
#
# osu!web is distributed WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with osu!web.  If not, see <http://www.gnu.org/licenses/>.
###
overlay = document.getElementsByClassName 'js-loading-overlay'


show = ->
  return if overlay.length == 0

  overlay[0].classList.add 'loading-overlay--visible'


show = _.debounce show, 300, maxWait: 300


hide = ->
  return if overlay.length == 0

  show.cancel()
  overlay[0].classList.remove 'loading-overlay--visible'


@LoadingOverlay =
  show: show
  hide: hide
```

Increase delay for showing loading overlay
user
```coffeescript
###
# Copyright 2015 ppy Pty. Ltd.
#
# This file is part of osu!web. osu!web is distributed with the hope of
# attracting more community contributions to the core ecosystem of osu!.
#
# osu!web is free software: you can redistribute it and/or modify
# it under the terms of the Affero GNU General Public License version 3
# as published by the Free Software Foundation.
#
# osu!web is distributed WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with osu!web.  If not, see <http://www.gnu.org/licenses/>.
###
overlay = document.getElementsByClassName 'js-loading-overlay'


show = ->
  return if overlay.length == 0

  overlay[0].classList.add 'loading-overlay--visible'


show = _.debounce show, 5000, maxWait: 5000


hide = ->
  return if overlay.length == 0

  show.cancel()
  overlay[0].classList.remove 'loading-overlay--visible'


@LoadingOverlay =
  show: show
  hide: hide
```
assistant