/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsIDOMElement.idl"
#include "nsIDOMXULElement.idl"

[scriptable, uuid(cb7eaa79-45d5-4ea3-ae17-b65fdcfe5e30)]
interface nsIDOMXULPopupElement : nsISupports {
  const unsigned short      BEFORE_START                   = 1;
  const unsigned short      BEFORE_END                     = 2;
  const unsigned short      AFTER_START                    = 3;
  const unsigned short      AFTER_END                      = 4;
  const unsigned short      START_BEFORE                   = 5;
  const unsigned short      START_AFTER                    = 6;
  const unsigned short      END_BEFORE                     = 7;
  const unsigned short      END_AFTER                      = 8;
  const unsigned short      OVERLAP                        = 9;
  const unsigned short      AT_POINTER                     = 10;
  const unsigned short      AFTER_POINTER                  = 11;

  attribute DOMString position;
  
  void showPopup(in unsigned short alignment, 
                 in nsIDOMElement target,
                 in nsIDOMElement anchor);
  void hidePopup();
};