_ = require('lodash')
scroll_handler = require('./scroll_handler.coffee')

infinit_scroll_handler = (scrolling_content, callback = (->), pages = 2) ->
  prev_Y = 0
  innerHeight = window.innerHeight
  pages_to_scroll = (e)->
    scroll_top = e.pageY || document.documentElement.scrollTop || window.pageYOffset
    diff = scroll_top - prev_Y
    if (prev_Y == 0 and diff > innerHeight * 0.2) or (diff > innerHeight * 1.4)
      prev_Y = scroll_top
      return 2
    else
      return 10

  check_fn = (e)->
    pts = pages_to_scroll(e)
    callback() if pts <= pages

  scroll_handler(check_fn, check_fn, 10)

  => prev_Y = 0
module.exports = infinit_scroll_handler
