Fix whitespace only.
Include x axis and implement direction detection.

4 axis direction detecion through findDirection.
Firstly verifies if this should be considered a movement then continues to indicate up, down, left or right.
Implement hierarchyDnD.

Configurable through the hierarchyLevel option, default set to 0 (off) which indicates the number of levels deep the hierarchy should be enabled.
By means of the direction detector it assesses whether you wish to move up or down the hierarchy.
The hierarchy placements left or right are facilitated through an invisible div classed "indent" and the nummber of div tags will indicate the current level of the rov in relation to the row before it.
Setting the first cell wide enough to let the indent divs, float left and specified width, move freely the first cel can comfortably indicate a hierarchy while the rest of the table data remains unmoved.
Naturally you can only move one level higher than the parent.
Refactored verticalDnD as well to keep things DRY.
Automatic clean-up to ensure relationship integrity.

In the event any relationships are out of sync caused by moving a row which now leaves a gap between parent and child the clean-up will scan through the table rectifying these problems.
Governed by the option cleanUpRelationships to enable or disable the functionality.
The first record can't have another parent so it gets reset to level 0.
Since the only problems that can occur is when there is a gap (1 or more levels) between the parent and child clean-up will only run if hierarchy level is more than one to start.
Running throug the list of rows if a row is at a level more than parent level + 1 keep removing levels until it is not.
Refactored data serialization.

Support paramater sperifier.
Supports jsonize.
Kept all legacy functions.
Does not include blank ids.
Utilizes jQuery.param to build data as string (ie field[]=value1&field[]=value2) which does propper escaping.
Collect data as on object - tableData.
Single source for informahion - tableData.
Fixed serializeTables to serialize all tables.
Collecting data for hierarchies too.
More extensions/shortcuts.

Fixed tableDnDSerialize.
Adde DnD data and serialize all.
Add mouse motion sensitivity adjustment.

The addition of a sensitivity value (default 10) which sets a threshold within which mouse motion will be ignored.
Any motion between + sensitivity and -sensitivity will not be considered as any movement.
This also has the side effect that it gives a much clearer indication of the actual direction the motion is taking.
remove redundant level counter
Prevent default behaviour on std events
Improve hierarchy serialization parent detection.
Improve has changed detection.

In order to only call the onDrop event if the order actually changed we need to detect the change.
Previously this change detection was done through serializing the table several times.
Attempt at finding a cheaper change detection.
Add some style for div.indent.
Improve scope limiting closure.

Originally emplayed by facebook also used by twitter, a less error prone way to indicate the presence of a self executing closure. Instead of the () brackets we add a ! infront of the closure to indicate that this is a self execiting closure. Specificall finding juery in the glabal context ensures that we are nat dealing with a copy.
jQuery object modifiers improved.

To ensuer that it is visible and that we are modifying the actual jQuery we specifically reference the window.jQuery object istance.
Use the $ reference consistently.

All oher references to jQuery can use the self defined alias $ for simplicity and consistency throughout the plugin.
Move var to declare block.

All variables should be declared right at the beginning.
Where practicle initialization also occurs at this point.
Also includes improved spacing.
Consistent use of if statements.

Be consistent with single line if statements and always ommit the braces.
Includes some logic improveents where practicle.
Use this within context.

When referring to the plugin we can use this when in context, not in closure callbacks or event callbacks.
Auto space and indent hierarchy table.

Using the indent artifact the implementiation will indent a cell assess the size and then set the cell width for further use.
Lazy eval through short-circuitry.