\documentclass{article}
\usepackage{ulem}
\pagestyle{headings}
\begin{document}
\part{PageOutput Object}
\texttt{\$page\_output} is a global variable defined by the Horde\_Framework.  It is used to format the output of dynamically generated pages.

API Documentation\footnote{http://dev.horde.org/api/master/lib/Core/classes/Horde\_PageOutput.html}

\subsection{Page Header}
\begin{verbatim}

$page_output->header(array(
    'title' => _("List")
));
\end{verbatim}

\subsection{Page Footer}
\begin{verbatim}

$page_output->footer();
\end{verbatim}

\subsection{Adding Javascript}
\subsubsection{Javscript file that lives in an application's \texttt{js/} directory}
\begin{verbatim}

// $page_output->addScriptFile($name_of_file_relative_to_base_of_js_directory, $app_name);
// Example, for Horde:
$page_output->addScriptFile('login.js', 'horde');
\end{verbatim}

\subsubsection{External Javascript file}
\begin{verbatim}

// The file MUST be web accessible.
$page_output->addScriptFile(
    new Horde_Script_File_External($relative_URI_to_JS_file) 
);
\end{verbatim}

\subsubsection{Adding inline Javascript code}
\begin{verbatim}

$page_output->addInlineScript(
    $javascript_code,
    true
);
\end{verbatim}

\paragraph{PageOutput\footnote{http://example.com/index.php?page=PageOutput} defaults}
Depending on the presentation type (smartmobile, dynamic, basic), PageOutput\footnote{http://example.com/index.php?page=PageOutput} automatically includes some appropriate javascript environment.\newline
In Horde 5, dynamic mode is based on PrototypeJs\footnote{http://example.com/index.php?page=PrototypeJs} and smartmobile is based on jquery-mobile. \newline
See Ajax Application Docs\footnote{http://example.com/index.php?page=Doc/Dev/HordeAjaxApplications} for more details on available environment.

\end{document}
