Support custom URL mangling in openils.CGI JS lib

Adds a new optoinal parameter to the openils.CGI constructor called
'args', which currently supports 'url' and 'query' fields.  If the URL
is provided, CGI uses the value from args.url instead of location.href
and location.search.  Additionally, if 'query' is provided, it's used
instead of location.search and takes precedence over any query in
args.url;

It's also now possible to set parameter values.  By default, setting a
value overwrites the full array of values from multi-value params.  You
can use the 'push' argument to push the value onto the list instead of
clobbering it.

There are two new methods, queryString() and url().  The first returns
the query string, the second the full URL with uri-escaped query string
included.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
ACQ : Lineitem recovers focus after actions

After useing the Copies, Notes, or title-click actions on a lineitem,
using the "Return" button will now cause the lineitem in question to be
visible on the lineitem list page upon return.  After returning, there
is also a brief border coloration around the lineitem to help the user
re-orient.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
ACQ : worksheet Return action focuses lineitem

Adds a new Return button to the lineitem worksheet page which returns
the user to the previous interface with the lineitem in question
focused.  Uses a new CGI param "focus_li".

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
ACQ : Support for lineitem focus in invoice UI

Adds support for a "focus_li" URL parameter.  When set, the UI will
scroll to the lineitem and provide a brief color change on the table row
to help orient.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
ACQ : Support lineitem fucus in ACQ unified search

Adds support for a "focus_li" URL parameter to ACQ unified search
results pages.  When present, the page of results containing the
requested lineitem are loaded (instead of the default page 1) and the
lineitem is made visible in the viewable screen using the lineitem table
focusLi mechanism.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
ACQ : lineitem recovers focus from various interfaces

1. When viewing an invoice then clicking on the title link for a lineitem,
the user is taken away to the copy grid within the PO page for the
lineitem.This adds a "Return to Invoice" button in the copy grid which
takes the user back to the invoice, focused on the lineitem in question.

2. Adds a "Return to Search" button for PL/PO pages to return to the
lineitem in question when the PL or PO links are selected for a lineitem
in a set of search results.

3. Adds a "Return to Invoice" button to PO/Picklist pages with lineitem
focus when the page was accessed from the invoice UI.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Acq: PO view interface sometimes fails to load in development enviroments

Should not affect production environments, but requiring
dijit.form.Button quiets an error on my system when I don't have
a openils_dojo.js bundle installed.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>