var ForgotPasswordHelper = Class.create({

  initialize: function(forgot_link, username_field) {
    this.forgot_link = $(forgot_link)
    this.username_field = $(username_field)
    this.apply_event_observers()
  },
  
  apply_event_observers: function() {
    this.forgot_link.observe('click', this.url_munging_handler.bind(this))
  },
  
  url_munging_handler: function(event) {
    var username_field_value = $F(this.username_field)
    if (username_field_value.length == 0) { return true }
    event.stop()
    window.location.href = this.build_new_url(username_field_value)
  },
  
  build_new_url: function(username_field_value) {
    var parts = this.forgot_link.href.split('?', 2)
    var qp = $H((parts[1] || '').toQueryParams())
    qp.update({'username': username_field_value})
    return parts[0] + '?' + qp.toQueryString()
  }
  
})

Behaviours.add('#forgot_password_link', function(element){
  new ForgotPasswordHelper(element, $$('#login_user_user_name')[0])
})

Behaviours.add('#language_changer', function(element){
  element.observe('change', function(evt) {
    var new_language = $F(Event.element(evt))
    var url_parts = document.location.href.split('/')
    url_parts[3] = new_language
    window.location.href = url_parts.join('/')
  })
})
