YAHOO.util.Event.onContentReady('bd', function ()
{
  // Get the sf_admin_filter element with class 'sf_admin_filter' (should only be one)
  var sf_admin_filter = YAHOO.util.Dom.getElementsByClassName('sf_admin_filter')[0];

  if (sf_admin_filter)
  {
    sf_admin_filter.id = 'sf_admin_filter';

    // Get the sf_admin_filter form element (should only be one) with the native
    // DOM method getElementsByTagName
    var sf_admin_filter_form = sf_admin_filter.getElementsByTagName('form')[0];

    // Instantiate a Panel from script
    var sf_admin_filter_panel = new YAHOO.widget.Panel('sf_admin_filter', {
        constraintoviewport: true,
        close: true,
        visible: false,
        draggable: true
      });
    sf_admin_filter_panel.setHeader('Filter');
    sf_admin_filter_panel.appendToBody(sf_admin_filter_form);
    sf_admin_filter_panel.render('bd');

    // Instantiate a show filter Button from script
    var showFilterToggle = new YAHOO.widget.Button({
      id: 'sf_admin_show_filter_button',
      type: "checkbox",
      label: 'Show filter',
      container: 'sf_admin_header',
      checked: false
    });
    showFilterToggle.addClass('form-search-icon');

    // change event handler
    var onCheckedChange = function (event, panel) {
      if (this.get("checked")) {
        this.set('label', 'Hide filter');
        panel.cfg.setProperty('context', [this, 'tl', 'bl']);
        panel.show();
      } else {
        this.set('label', 'Show filter');
        panel.hide();
      }
    };

    // register event handler
    showFilterToggle.on("checkedChange", onCheckedChange, sf_admin_filter_panel);

  }
});