var Necotter = Class.create();

Necotter.prototype = {
  initialize: function() {
    if ($("next_necos")) {
      Event.observe("next_necos", 'click', this.clickNextNecos);
      this.clickNextNecos();
    }

    return true;
  },
  clickNextNecos: function() {
    $('necos').innerHTML = '';
    new Ajax.Updater('necos',
                     'choice_randomly',
                     {onLoading:  function(){necotter.showLoading();},
                      onComplete: function(){necotter.hideLoading();}
                     });

    return true;
  },
  showLoading: function() {

    var width  = 50;
    var height = 50;

    var windowScroll = WindowUtilities.getWindowScroll();
    var pageSize     = WindowUtilities.getPageSize();

    var top  = windowScroll.top  + (pageSize.windowHeight - height) / 2;
    var left = windowScroll.left + (pageSize.windowWidth  - width ) / 2;

    var loading = document.createElement('div');
    loading.setAttribute("id", "loading");
    var loading_image = document.createElement('img');
    loading_image.setAttribute("src", "/images/common/loading.gif");
    loading.appendChild(loading_image);
    Element.makePositioned(loading);
    loading.style.position = 'absolute';
    loading.style.top = top + "px";
    loading.style.left = left + "px";
    document.body.appendChild(loading);

    return true;
  },
  hideLoading: function() {
    Element.remove('loading');

    return true;
  },
  redirectToCreationError: function() {
    window.location.href = 'create_thanks_but_some_errors_occurred';
  }
};

var necotter;
Event.observe(window, "load", function(){necotter = new Necotter()});
