if (typeof Prototype == "object") {

  var FCMC = Class.create(

  {
    
    initialize : function () {
      // Initialize job board class if form is present
      if ($('jobBoard')) {
        this.jobBoard = new FCMC.JobBoard();
      }

      // Update greeting card preview on load
      this.updateGreetingCardPreview();

      this.addObservers();
    },

    addObservers : function () {
      // Make print links print
      $$('a.print').each(function (a) {
        a.observe("click", function(evt) { 
          evt.stop();
          window.print();
        });
      });

      // Show greeting card content updates
      if ($('vcMessage') && $('vcSignature')) {
        $('vcMessage').observe("keyup", 
          this.updateGreetingCardPreview);
        $('vcSignature').observe("keyup", 
          this.updateGreetingCardPreview);
      }
    },

    updateGreetingCardPreview : function (evt) {
      if ($('vcMessage') && $('vcSignature') && $('cardPreview') &&
          $('sigPreview')) {
        $('cardPreview').update($F('vcMessage').gsub(/\n/, "<br />").truncate(
          255, ""));
        $('sigPreview').update($F('vcSignature').gsub(/\n/, "<br />").truncate(
          75, ""));
      }
    }
  });

  FCMC.JobBoard = Class.create(

  {
    initialize : function () {
      this.addDateControls();
    },

    /** 
     * Add a calendar date select to any input with class 'date'
     */
    addDateControls : function () {
      if (Control && Control.DatePicker) {
        var path = "/scripts/fcmhosp/includes/components/datepicker/";
        // Insert css
        $$('head')[0].insert(new Element('link', {
          rel : "stylesheet",
          href : path + "datepicker.css"
        }));
        // Add pickers to date elements
        $$('#jobBoard input.date').each(function (input) {
          new Control.DatePicker(input, { icon : path + 'calendar.png' });  
        });
      }
    }
  });
  document.observe("dom:loaded", function () { new FCMC(); });
}

