//
//  wufoo_popup.js
//  The Assembly
//

var wufooDomain = "theassembly.wufoo.com";
var linkTable = new Object();

function prepareWufooLink (link) {
  link.originalHref = link.href;
  link.href = "javascript:void();";
  Event.observe(link, "click", openWufooForm);
}

function openWufooForm (click) {
  var link = Event.element(click);
  var formUrl = link.originalHref;
  
  var popup = new Popup(680, 580, { scrollbars: "yes" });
  popup.open(formUrl);
}

var Popup = Class.create();
Popup.prototype = {
  initialize: function (width, height, options) {
    this.options = new Object();
    this.setSize(width || 600, height || 400);
    Object.extend(this.options, options || {});
  },
  
  setSize: function (width, height) {
    this.options.width = Math.min(screen.availWidth, width);
    this.options.height = Math.min(screen.availHeight, height);
    this._updatePosition();
  },
  
  _updatePosition: function () {
    this.options.top = screen.availHeight / 2.0 - this.options.height / 2.0;
    this.options.left = screen.availWidth / 2.0 - this.options.width / 2.0;
  },

  _optionsString: function () {
    var values = new Array();
    new Hash(this.options).each(function (pair) {
      values.push(pair.key + "=" + pair.value);
    });
    return values.join(",");
  },
  
  open: function (url) {
    window.open(url, "", this._optionsString());
  }
}

Event.observe(window, "load", function () {
  $$("a").each(function (link) {
    if (link.getAttribute("href").indexOf(wufooDomain) > 0)
      prepareWufooLink(link);
  });
});
