p.
	The <b>data-type</b> attribute on input elements is used by formBuilder to construct each 
	type of field. FormBuilder comes with many types that do not require any extra coding. Custom 
	types may also be created (see <a href='#customization'>Customization</a>).
p.
	FormBuilder types are recommended to be used on input elements of type "text" or "password". 
	They cannot be used with "checkbox", "radio", or "submit" types, which each have their own
	setups. Other HTML5 types may still work but are not suggested.

p.
	To use a type, initialize the input's parent form as a formBuilder widget. The widget will 
	automatically create the necessary inputField() widget on the input and manage its status. 
	Alternatively, the inputField widget may be manually applied to an input outside of a 
	formBuilder form (see <a href='./api.html#widgets-inputField'>inputField API Reference</a>).

.example
	input(type='text' data-label='no data-type')
	span No specified data type, will not throw errors for any input. 
.example
	input(type='text' data-label='utext' data-type='utext')
	span For uppercase text. If a user types in lowercase text, it is automatically converted to uppercase.
.example
	input(type='text' data-label='integer' data-type='integer')
	span For integers and negative numbers. Will return a number on get().
.example
	input(type='text' data-label='number' data-type='number')
	span For integers, negatives, and decimal numbers. Will return a number on get().
.example
	input(type='text' data-label='state' data-type='state')
	span For state abbreviations [A-Z]. With a data-max of two. 
.example
	input(type='text' data-label='zip' data-type='zip')
	span For entering 5 digit or 9 digit (with or without '-') zip codes.
.example
	input(type='text' data-label='email' data-type='email')
	span For email inputs. The correct format is a username, then a single '@', then an alphanumeric domain name, then a single '.', then a alphabetic domain extension 2-4 characters in length. 
.example
	input(type='text' data-label='money' data-type='money')
	span For currency inputs. Similar to the number field, but will automatically round to 2 decimal places on blur. Will return a number on get().
.example
	input(type='text' data-label='money' data-type='money' data-allow-negative)
	span For currency inputs, allows negatives. Include <b>data-allow-negative</b> to enable this. 
.example
	input(type='text' data-label='money (custom currency symbol)' data-type='money' data-currency-symbol ='&pound;')
	input(type='text' data-label='money (no symbol)' data-type='money' data-hide-symbol)
	span In addition, an addon with a '$' (by default) is prepended to the left of the field with a weight of -100. To change the currency symbol, set it with the <b>data-currency-symbol</b> attribute. To not show any currency symbol, add the <b>data-hide-symbol</b> attribute.
.example
	input(type='text' data-label='money ($10.00 max)' data-type='money' data-max-amount="10.00")
	input(type='text' data-label='money ($10.00 min)' data-type='money' data-min-amount="10.00")
	input(type='text' data-label='money ($10.00 min, $100.00 max)' data-type='money' data-min-amount="10.00" data-max-amount='100.00')
	span Max and min amounts for money can be set using the <b>data-max-amount</b> and/or the <b>data-min-amount</b>. An error message will be displayed if too large or too small an amount is entered.
.example
	input(type='text' data-label='phone' data-type='phone')
	span For entering US phone numbers.
.example
	input(type='text' data-label='tmsPhone' data-type='tmsPhone')
	span Extension of <b>phone</b>. Allows user to choose phone type. Will save the phone type and the number in an object. For more insight into how this data is stored look ahead to the <a href='#demo'>Live Demo</a>
.example
	input(type='text' data-label='date' data-type='date' data-min-date="1999-02-12")
	span For entering dates in the 'MM/DD/YYYY' format. A user may manually type the date or click the input field to open a datepicker and select a date. 
.example
	input(type='text' data-label='time' data-type='time')
	input(type='text' data-label='time (military)' data-type='time' data-military)
	span For entering times. The <b>data-military</b> attribute may be set to display times in military time.
.example
	input(type='text' data-label='dateTime' data-type='dateTime')
	span For entering dates and times in the 'MM/DD/YYYY h:MM AM/PM format. Combines the date and time data types.
.example
	input(type='text' data-label='dateTime' data-type='dateTime' data-military)
	span For entering military times, performs in the same way as dateTime except time is 24 hours and does not include AM/PM
.example
	input(type='text' data-label='display' data-type='display' value='Some value')
	p 
		span For displaying uneditable values. Displays value attribute where the input field would be. Displayed as html. 
