$(document).on 'ready page:load turbolinks:load', -> initContactUsMessage() refreshLandingHeader() initContactUsMessage = () -> $('.contact_us_form #contact_message').each -> $this = $(this) $this.keypress (event) -> characters_left = $this.data('characters') - $this.val().length if characters_left <= 0 event.preventDefault() $this.keyup () -> updateCharactersLeft() updateCharactersLeft = () -> characters_left = $this.data('characters') - $this.val().length $this.closest('form').find('.characters_left').html(Math.max(characters_left, 0)) updateCharactersLeft() $(window).scroll -> refreshLandingHeader() refreshLandingHeader = -> $header = $('#landing_header') containerHeight = $header.find('.container').height() $header.css top: if window.pageYOffset > containerHeight then -containerHeight else -window.pageYOffset