// script.aculo.us EffectResize.js

// Copyright(c) 2007 - Frost Innovation AS, http://ajaxwidgets.com
//
// EffectResize.js is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/

// Modified by Elijah Lofgren to work with Prototype 1.4.0_rc3
/* Helper Effect for resizing elements...
 */
Effect.ReSize = Class.create();
Object.extend(Object.extend(Effect.ReSize.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = element;
    if(!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({ amount: 100, direction: 'vert', toSize:null }, arguments[1] || {});
    if( options.direction == 'vert' )
      this.originalSize = options.originalSize || parseInt(this.element.style.height);
    else
      this.originalSize = options.originalSize || parseInt(this.element.style.width);

    if( options.toSize != null ) {
        options.amount = options.toSize - this.originalSize;
        console.log('amount: ' + options.amount);
    }

    this.start(options);
  },
  setup: function() {
    // Prevent executing on elements not in the layout flow
    if(this.element.style.display == 'none') { this.cancel(); return; }
  },
  update: function(position) {
    if( this.options.direction == 'vert' ){
      this.element.style.height = this.originalSize+(this.options.amountposition)+'px';
    } else {
      this.element.style.width = this.originalSize+(this.options.amountposition)+'px';
    }
  },
  finish: function(){
    if( this.options.direction ==  'vert' ){
      this.element.style.height = this.originalSize+this.options.amount+'px';
    } else {
      this.element.style.width = this.originalSize+this.options.amount+'px';
    }
  }
});