NAME
PApp::ECMAScript - make javascript horrors less horrible
SYNOPSIS
use PApp::ECMAScript;
DESCRIPTION
- $obj = new PApp::ECMAScript
 - 
Create a new object. Better use the
initfunction. - init PApp::ECMAScript
 - 
Create a new global PApp::ECMAScript object, storing it in the (exported) variable
$js, which should be shared between all modules for caching purposes. Consequently, this function should be called once in the request callback or in the global stylesheet. - unique
 - 
Return a unique identifier. This is useful when generating function names or other identifiers.
 - escape_string_sq $string [EXPORTED]
 - escape_string_dq $string [EXPORTED]
 - 
Escape the given string as required and return it (
escape_string_sqwill use single quotes to delimit the string,escape_string_dqwill use double quotes). Remember that many browsers do not like quoting, so use the right function to minimize impact. - $js->add_headercode($code)
 - 
Add the given code fragment to the HTML/HEAD/SCRIPT section.
 - $js->need_headercode($code)
 - 
Mark the given code fragment as to be added to the html head section. The same fragment will only be added once.
 - $js->headercode
 - 
Return the code to be put in the head section.
 - $js->add_onevent("event", "code")
 - $js->need_onevent("event", "code")
 - 
Add code that is run when the given event occurs. Event should be something like "window.onclick" or "document.onload".
 - $code = $js->is_ns
 - $code = $js->is_ns4
 - $code = $js->is_ie
 - $code = $js->is_ie4
 - $code = $js->is_ie5
 - $code = $js->is_konquerer
 - 
Return javascript code that checks wether the code is running under netscape, netscape 4 (or higher), ie, ie4 (or higher) or ie5 (or higher), respectively.
 - $js->can_css
 - 
Return wether the browser supports CSS.
 - $js->visibility_visible
 - 
Return the string that should be used to set the visibility attribute to "hidden" or "visible".
 - $js->event
 - 
Return the name of the event object (either window.event or event).
 - $js->get_style_object($name)
 - 
Return code that finds the style object with the given name and returns it.
 - $js->event_page_x
 - $js->event_page_y
 - 
Return the window x or y coordinate from the current event relative to the current page.
 - $js->window_height
 - $js->window_width
 - 
Return the (approximate) height and width of the scrollable area, i.e. the inner width and height of the window.
 
The PApp::ECMAScript::Layer Class
This class manages floating cxx objects (i.e. objects with style invisible that can be shown, hidden, moved etc... using javascript).
- $layer = new PApp::ECMAScript::Layer arg => val, ...
 - 
Create a new layer object (does not output anything).
js => the javascript object to use (default $PApp::ECMAScript::js) id => the name (html id), default autogenerated content => the content of the layer/div element element => the element used for the layer - $layer->id([newid])
 - 
Return the current object id (optionally setting it).
 - $layer->content([newcontent])
 - 
Return the current object content (optionally setting it).
 - $layer->code
 - 
Return the javascript code used to create the (initially hidden) layer. The best place for this is the top of the document, just below the BODY tag, but that's not a requirement for working browsers ;)
Please note that all javascript code returned is not quoted, which is not a problem when outputting it directly since browsers actually EXPECT misquoted input, but it is a problem when you output strict html (xml) or want to feed this into an XSLT stylesheet, in which case you need to
escape_html()the code first and usedisable-output-escapingin your stylesheet to deliberatly create broken HTML on output. - $layer->style_object
 - 
Return an expression that evaluates to the style object used by the code.
 - $layer->showxy($x,$y)
 - 
Return code to display the layer object at position ($x,$y) (which should be valid javascript expressions).
 - $layer->show_relmouse($x,$y)
 - 
Same as
howxy, but use the current mouse position as origin. - $layer->show
 - 
Return code to display the layer object.
 - $layer->hide
 - 
Return code to hide the layer object.
 
SEE ALSO
PApp.
AUTHOR
Marc Lehmann <schmorp@schmorp.de>
http://home.schmorp.de/