<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>web2py.gluon.html.FORM</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th> <a
href="web2py.gluon-module.html">Home</a> </th>
<!-- Tree link -->
<th> <a
href="module-tree.html">Trees</a> </th>
<!-- Index link -->
<th> <a
href="identifier-index.html">Indices</a> </th>
<!-- Help link -->
<th> <a
href="help.html">Help</a> </th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
><a class="navbar" target="_top" href="http://www.web2py.com">web2py Web Framework</a></th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
Package web2py ::
<a href="web2py.gluon-module.html">Package gluon</a> ::
<a href="web2py.gluon.html-module.html">Module html</a> ::
Class FORM
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>] | <a href="web2py.gluon.html.FORM-class.html"
target="_top">no frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class FORM</h1><span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM">source code</a></span><br /><br />
<pre class="base-tree">
object --+
|
<a href="web2py.gluon.html.XmlComponent-class.html">XmlComponent</a> --+
|
<a href="web2py.gluon.html.DIV-class.html">DIV</a> --+
|
<strong class="uidshort">FORM</strong>
</pre>
<dl><dt>Known Subclasses:</dt>
<dd>
<a href="web2py.gluon.sqlhtml.SQLFORM-class.html">sqlhtml.SQLFORM</a>
</dd></dl>
<hr />
example:
<pre class="literalblock">
>>> from validators import IS_NOT_EMPTY
>>> form=FORM(INPUT(_name="test", requires=IS_NOT_EMPTY()))
>>> form.xml()
'<form action="" enctype="multipart/form-data" method="post"><input name="test" type="text" /></form>'
</pre>
<p>a FORM is container for INPUT, TEXTAREA, SELECT and other helpers</p>
form has one important method:
<pre class="literalblock">
form.accepts(request.vars, session)
</pre>
if form is accepted (and all validators pass) form.vars contains the
accepted vars, otherwise form.errors contains the errors. in case of
errors the form is modified to present the errors to the user.<br /><br />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="web2py.gluon.html.FORM-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">*components</span>,
<span class="summary-sig-arg">**attributes</span>)</span><br />
:param *components: any components that should be nested in this
element :param **attributes: any attributes you want to give to this
element</td>
<td align="right" valign="top">
<span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.__init__">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="web2py.gluon.html.FORM-class.html#_postprocessing" class="summary-sig-name">_postprocessing</a>(<span class="summary-sig-arg">self</span>)</span><br />
Handling of attributes (normally the ones not prefixed with
'_').</td>
<td align="right" valign="top">
<span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM._postprocessing">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="accepts"></a><span class="summary-sig-name">accepts</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">vars</span>,
<span class="summary-sig-arg">session</span>=<span class="summary-sig-default">1</span>,
<span class="summary-sig-arg">formname</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">keepvalues</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">onvalidation</span>=<span class="summary-sig-default">1</span>,
<span class="summary-sig-arg">hideerror</span>=<span class="summary-sig-default">True</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.accepts">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="hidden_fields"></a><span class="summary-sig-name">hidden_fields</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.hidden_fields">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="web2py.gluon.html.FORM-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">values</span>=<span class="summary-sig-default">1</span>,
<span class="summary-sig-arg">session</span>=<span class="summary-sig-default">1</span>,
<span class="summary-sig-arg">**args</span>)</span><br />
Perform the .validate() method but returns the form
Usage in controllers:
# directly on return
def action():
#some code here
return dict(form=FORM(...).process(...))
You can use it with FORM, SQLFORM or FORM based plugins
Examples:
#response.flash messages
def action():
form = SQLFORM(db.table).process(message_onsuccess='Sucess!')
retutn dict(form=form)
# callback function
# callback receives True or False as first arg, and a list of args.</td>
<td align="right" valign="top">
<span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.process">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="web2py.gluon.html.FORM-class.html#validate" class="summary-sig-name">validate</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">values</span>=<span class="summary-sig-default">1</span>,
<span class="summary-sig-arg">session</span>=<span class="summary-sig-default">1</span>,
<span class="summary-sig-arg">formname</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">keepvalues</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">onvalidation</span>=<span class="summary-sig-default">1</span>,
<span class="summary-sig-arg">hideerror</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">onsuccess</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">flash</code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">onfailure</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">flash</code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">message_onsuccess</span>=<span class="summary-sig-default">1</span>,
<span class="summary-sig-arg">message_onfailure</span>=<span class="summary-sig-default">1</span>)</span><br />
This function validates the form,
you can use it instead of directly form.accepts.</td>
<td align="right" valign="top">
<span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.validate">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="web2py.gluon.html.FORM-class.html#xml" class="summary-sig-name">xml</a>(<span class="summary-sig-arg">self</span>)</span><br />
generates the xml for this component.</td>
<td align="right" valign="top">
<span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.xml">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.html.DIV-class.html">DIV</a></code></b>:
<code><a href="web2py.gluon.html.DIV-class.html#__delitem__">__delitem__</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#__getitem__">__getitem__</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#__len__">__len__</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#__nonzero__">__nonzero__</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#__setitem__">__setitem__</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#__str__">__str__</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#append">append</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#element">element</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#elements">elements</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#flatten">flatten</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#insert">insert</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#sibling">sibling</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#siblings">siblings</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#update">update</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.html.DIV-class.html">DIV</a></code></b> (private):
<code><a href="web2py.gluon.html.DIV-class.html#_fixup">_fixup</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#_setnode">_setnode</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#_traverse">_traverse</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#_validate">_validate</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#_wrap_components">_wrap_components</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#_xml">_xml</a></code>
</p></div>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<a name="tag"></a><span class="summary-name">tag</span> = <code title="'form'"><code class="variable-quote">'</code><code class="variable-string">form</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.html.DIV-class.html">DIV</a></code></b>:
<code><a href="web2py.gluon.html.DIV-class.html#regex_attr">regex_attr</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#regex_class">regex_class</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#regex_id">regex_id</a></code>,
<code><a href="web2py.gluon.html.DIV-class.html#regex_tag">regex_tag</a></code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">*components</span>,
<span class="sig-arg">**attributes</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.__init__">source code</a></span>
</td>
</table>
<p>:param *components: any components that should be nested in this
element :param **attributes: any attributes you want to give to this
element</p>
:raises SyntaxError: when a stand alone tag receives components
<dl class="fields">
<dt>Overrides:
<a href="web2py.gluon.html.DIV-class.html#__init__">DIV.__init__</a>
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="_postprocessing"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">_postprocessing</span>(<span class="sig-arg">self</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM._postprocessing">source code</a></span>
</td>
</table>
<p>Handling of attributes (normally the ones not prefixed with '_').</p>
Nothing to postprocess yet. May be overridden by subclasses
<dl class="fields">
<dt>Overrides:
<a href="web2py.gluon.html.DIV-class.html#_postprocessing">DIV._postprocessing</a>
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="process"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">values</span>=<span class="sig-default">1</span>,
<span class="sig-arg">session</span>=<span class="sig-default">1</span>,
<span class="sig-arg">**args</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.process">source code</a></span>
</td>
</table>
<pre class="literalblock">
Perform the .validate() method but returns the form
Usage in controllers:
# directly on return
def action():
#some code here
return dict(form=FORM(...).process(...))
You can use it with FORM, SQLFORM or FORM based plugins
Examples:
#response.flash messages
def action():
form = SQLFORM(db.table).process(message_onsuccess='Sucess!')
retutn dict(form=form)
# callback function
# callback receives True or False as first arg, and a list of args.
def my_callback(status, msg):
response.flash = "Success! "+msg if status else "Errors occured"
# after argument can be 'flash' to response.flash messages
# or a function name to use as callback or None to do nothing.
def action():
return dict(form=SQLFORM(db.table).process(onsuccess=my_callback)
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="validate"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">validate</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">values</span>=<span class="sig-default">1</span>,
<span class="sig-arg">session</span>=<span class="sig-default">1</span>,
<span class="sig-arg">formname</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code></span>,
<span class="sig-arg">keepvalues</span>=<span class="sig-default">True</span>,
<span class="sig-arg">onvalidation</span>=<span class="sig-default">1</span>,
<span class="sig-arg">hideerror</span>=<span class="sig-default">True</span>,
<span class="sig-arg">onsuccess</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">flash</code><code class="variable-quote">'</code></span>,
<span class="sig-arg">onfailure</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">flash</code><code class="variable-quote">'</code></span>,
<span class="sig-arg">message_onsuccess</span>=<span class="sig-default">1</span>,
<span class="sig-arg">message_onfailure</span>=<span class="sig-default">1</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.validate">source code</a></span>
</td>
</table>
<pre class="literalblock">
This function validates the form,
you can use it instead of directly form.accepts.
Usage:
In controller
def action():
form=FORM(INPUT(_name="test", requires=IS_NOT_EMPTY()))
form.validate() #you can pass some args here - see below
return dict(form=form)
This can receive a bunch of arguments
onsuccess = 'flash' - will show message_onsuccess in response.flash
None - will do nothing
can be a function (lambda form: pass)
onfailure = 'flash' - will show message_onfailure in response.flash
None - will do nothing
can be a function (lambda form: pass)
values = values to test the validation - dictionary, response.vars, session or other - Default to (request.vars, session)
message_onsuccess
message_onfailure
</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="xml"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">xml</span>(<span class="sig-arg">self</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="web2py.gluon.html-pysrc.html#FORM.xml">source code</a></span>
</td>
</table>
generates the xml for this component.
<dl class="fields">
<dt>Overrides:
<a href="web2py.gluon.html.DIV-class.html#xml">DIV.xml</a>
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th> <a
href="web2py.gluon-module.html">Home</a> </th>
<!-- Tree link -->
<th> <a
href="module-tree.html">Trees</a> </th>
<!-- Index link -->
<th> <a
href="identifier-index.html">Indices</a> </th>
<!-- Help link -->
<th> <a
href="help.html">Help</a> </th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
><a class="navbar" target="_top" href="http://www.web2py.com">web2py Web Framework</a></th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0beta1 on Thu Aug 4 00:47:01 2011
</td>
<td align="right" class="footer">
<a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie()
// -->
</script>
</body>
</html>