Merge pull request #147 from aharris88/master

header issue #146
Merge pull request #149 from aharris88/master

Add .gitignore file to ignore backups and error-log
Merge pull request #152 from aharris88/master

.gitkeep files for empty directories
Updating to work with new tab dragging

onMouseUp on HTML tag now triggers tabDragEnd
Tabs no longer have 'draggable' attribute, onMouseDown replaces onClick,
which also fires tabDragStart event and onMouseUp also fires tabDragEnd
newTab has an ID so we can control it
tab & newTab absolute positioning & zindex of 1

So we can control their position easily
New tab dragging system & del removeSnippet

Previously we were using HTML5 dragging, but this is too freerange, we
want to restrict to a region and x-axis only. Replaced with new system,
doesn't actually do anything yet when you release mouse but UI works.
Deleted the removeSnippet function, no longer used.
Classes to transition tabs left 0.15s

By default this is 0s, tabs other than the one being dragged is given
the extra tabSlide class so they slide around in the background. The tab
being dragged will also slide into place when the mouse button is
released.
Tab sliding and opacity

On start of the drag, all tabs apart from the one we are dragging are
given the additional tabSlide class so they slide in the background.
Better use of swapWith variable and now setting background tabs position
more effectively plus also setting opacity and returning to full opacity
on release of mouse button.
On that event we also add the tabSlide class on our released tab so it
slides into place, set the tab widths/positions again and after 150ms
(after our released tab has finished it's slide transition), reset the
zIndex, classname for everything back to the initial state.
Tab dragging working with variable widths

Not working to the 150px default, now working to the possibly smaller
tab widths
New refresh FM icon
Determining which tabs to swap on release

When you release the mouse after dragging now, we're able to decide
which tabs were swapped.
Alpha tabs button added
Syntax formatting change only
tabDrag and alphaTabs classes

New tabDrag class to determin transition of 0s
New alphaTabs class to show next to closeAllTabs button
Move closeAllTabs across to make room for this
loadedFile to replace all & chars for textarea

This is so &amp; becomes &amp;amp; ...what you draw out of the textarea
is then &amp;
In turn this allows all HTML entities of this style to work and as we
aren't using PHP's htmlentities(), we don't end with junk chars on
slanted apostrophes, degree symbols etc.
alphaTabs button & this.id on 2 x hardcoded items

New alphaTabs button added next to closeAllTabs
Titles added to both so user knows what these are
The argument on the mousedown and mouseup events now look to the ID of
the item, rather than being hardcoded values. This is so we only have to
change the ID on the tab and the rest falls into line.
No longer doing onmouseup here, this is now handled at the top level
(index.php)
Trigger tabDragEnd onmouseup on html tag

This is so you can drag and release in either the editor or files areas
and it will release the tab.
Tab dragging, sortTabs, alphaTabs & dynamic close

closeButtons now take the parent nodes' ID to know what to close, also
image inside has no ID anymore, targetted via
childNodes[0].childNodes[0] from parent tab
var diffX at top of function
Setting both tabSlide and tabDrag classes on start of tab dragging now
Massively improved and finished tabDragStart, tabDragMove & tabDragEnd
functions
New functions - sortTabs and alphaTabs
No need to get cM on redoTabHightlight, and it also sets the close tab
BG color by targeting the child elems, no need to consider or update an
ID on this anymore.
Now asking to close on all tabs
Perform alphanum sort on files not paths

Run new currentArrayFull array inline with currentArray
This provides a full path and the currentArray then becomes a file array
only
nextValueFull provides the value which we find the index of to insert
into alphaArray
Set tabWidth to begin with

To avoid having a gap after closing all tabs
Also removed thisWidth, moved this value into tabWidth value