Test TextBox Validation Widgets

# Dijit Validation Widgets

First Name: TextBox class, tabIndex=2, Attributes: {trim: true, propercase: true, intermediateChanges: true, style: 'width:700px'}, First letter of each word is upper case.
onChange:
Last Name: TextBox class, Attributes: {trim: true, uppercase: true, class: 'verylong'}, all letters converted to upper case.
Age: NumberTextBox class, tabIndex=1, Attributes: {trim: true}, no initial value specified, tooltipPosition=[above, below]
onChange:
Favorite Number (1-100): NumberTextBox class, Attributes: required=true, must be integer, no messages provided, no initial value specified, maxlength=3
Occupation: ValidationTextBox class, Attributes: {lowercase: true, required: true, class: verylong, style: font-size: 15pt;}. Displays a prompt message if field is missing.
Elevation: IntegerTextBox class, Attributes: {required: true, min:-20000, max:+20000 }, Enter feet above sea level with a sign.
onChange:
Annual Income: CurrencyTextBox class, Attributes: {fractional: true}. Enter whole and cents. Currency symbol is optional.
USD onChange:
euro currency (local format) fractional part is optional: EUR
euro currency (fixed lang: de-de) programmatically created, fractional part is optional: EUR
Regular Expression RegexpTextBox class, Attributes: {required: true}
Password (just a test that type attribute is obeyed)
Trac ticket 1651: value: null should show up as empty
readOnly test a test that readOnly is understood

## Tooltip positioning

These buttons switch the positions searched to try to place the validation error tooltips. Note that setting tooltip positioning to "above" or "below" is dangerous if you have a node with a dropdown, but the drop down might overlap the tooltip.