\documentclass{article}
\usepackage[designv,pdftex]{web}
\usepackage{eforms}
\usepackage{popupmenu}

\title{The \texorpdfstring{\textsf{popupmenu}}{popupmenu} Package Test File}
\author{D. P. Story}
\subject{Test file for the popupmenu Package}
\keywords{LaTeX, popupmenu, Acrobat JavaScript, AcroTeX}

\university{NORTHWEST FLORIDA STATE COLLEGE\\
   Department of Mathematics}
\email{dpstory@acrotex.net}
\version{1.0}

%\nocopyright
\norevisionLabel

%
% This package can be used by users of pdftex, dvipdfm, dvips (with distiller)
%

\urlPath{\aebhome}{http://www.math.uakron.edu/~dpstory}

\begin{popupmenu}{AeBMenu}
    \item{title=AeB, return=\aebhome/webeq.html}
    \item{title=-}
    \begin{submenu}{title=AeB Pro Family}
        \item{title=Home page,return=\aebhome/aeb_pro.html}
        \item{title=Graphicxsp,return=\aebhome/graphicxsp.html}
    \end{submenu}
    \item{title=eqExam,return=\aebhome/eqexam.html}
\end{popupmenu}

\begin{popupmenu}{AeBMenuLocal}
    \item{title=AeB, return=\aebhome/webeq.html}
    \item{title=-}
    \begin{submenu}{title=AeB Pro Family,enabled=false}
        \item{title=Home page,return=\aebhome/aeb_pro.html}
        \item{title=Graphicxsp,return=\aebhome/graphicxsp.html}
    \end{submenu}
    \item{title=eqExam,return=\aebhome/eqexam.html}
\end{popupmenu}

%
% This menu was taken from the Acrobat JavaScript API Reference
% as a test of the new popupmenu and submenu environments.
%
\begin{popupmenu}{myMenu}
    \item{title=Item 1, marked, enabled=false}
    \item{title=-}
    \begin{submenu}{title=Item 2}
        \item{title={Item 2, Submenu 1}}
        \begin{submenu}{title={Item 2, Submenu 2}}
            \item{title={Item 2, Submenu 2, Subsubmenu 1}}
        \end{submenu}
    \end{submenu}
    \item{title=Item 3}
    \item{title=Item 4}
\end{popupmenu}

\begin{insDLJS}[AeBMenu]{md}{Menu Data}
\AeBMenu
\myMenu
\end{insDLJS}

\newcommand{\cs}[1]{\texttt{\char`\\#1}}


\parindent0pt\parskip6pt

\begin{document}

\maketitle

This file uses the \textsf{hyperref} package to create push buttons,
the push button of \textsf{eforms} can also be used.


Here is an example taken from the Acrobat JavaScript API Reference, it uses
the \cs{PushButton} command of \textsf{hyperref}. The script is implemented as
a mouse up event, rather than a rollover event as it appears \cs{PushButton} does not
support rollover. There is a \texttt{onmouseover} key that is supposed to work, but it doesn't.
\PushButton[name=mymenu,
onclick={var cChoice = \popUpMenu(myMenu);
if ( cChoice != null ) app.alert("You chose the \eqbs\eqbs""+cChoice+"\eqbs\eqbs" menu item");
}]{My Menu}


Here is the same example, but using \cs{pushButton}, the button command from the eforms package.
It is implemented as a rollover event.
\pushButton[\CA{My Menu}\AA{\AAMouseEnter{\JS{%
var cChoice = \popUpMenu(myMenu);\r
if ( cChoice != null ) app.alert("You chose the \\""+cChoice+"\\" menu item");
}}}]{mymenu}{}{11bp}

We can add a push button with a rollover effect
\pushButton[\CA{Packages}\AA{\AAMouseEnter{\JS{%
var cChoice = \popUpMenu(AeBMenu);\r
if ( cChoice != null ) app.launchURL(cChoice);
}}}]{menu}{}{11bp}

This is a version that has a local version of the \texttt{AeBMenuLocal}  array.
If we place the array as field-level JavaScript, we don't need the \textsf{eforms} package.
Again, this is an \texttt{onclick} event.
\PushButton[name=mymenu,onclick={\AeBMenuLocal;
var cChoice = \popUpMenu(AeBMenuLocal);
if ( cChoice != null ) app.launchURL(cChoice);}]{AeB Local Menu}

Fancier examples can be found at the \textcolor{blue}{AeB Blog} (\url{www.math.uakron.edu/~dpstory/aebblog.html}).
\end{document}
