The checks within the devices.php for canWrite referenced $cab, but that variable was not instantiated in all cases, so I moved that portion one level further out in the nested if loops.  Left a debug statement commented out, but in the code, for easier debug in the future.

Also added the Delete button if the same conditions existed that would allow a user to create a device.

Fixes #339
Adding a new javascript file to make caching at least a portion of the JS possible.  Attempting to move to a jquery module approach.  Major rewrite of the devices.php because of this and more to come.  This is going to need a great deal of testing. #324 Also added in a .gitignore as a measure of best practice that we probably should have done long long ago.
Typo
Added in the department name if a cabinet has been assigned to one, otherwise put "General Use" (supports translation).
Merge branch 'master' of https://github.com/samilliken/openDCIM
Merge remote-tracking branch 'upstream/master'
Update ajax_tooltip.php

Making the department addition to the tooltip match the existing format of the other items.
First draft at a report for reservations.

#341
Graphical cabnavigator #342
Creating pictures directory that is needed for #342
Removed extra JS and added general purpose css definition #342
Found where the menu was being munged and fixed that.

Fixes #343

Added a link to the CFD XML Export.  Also added in the FrontEdge variable to the cabinets to indicate where the intake side is.  Eventually will draw something on the cabinet overlay to indicate.  Will also allow for determining front/back sensor locations.

#318
an extra 'li' got replaced when I did the bulk replace of <li> to <span> close #344
Added in a spot for drawArrow() in the map maker, which needs to be finished out.

Basically Wilbur can find what he feels is a suitable JS function, or I will search the internet for the buggiest, worst written hack and implement it with gratuitous printf() statements.

Either way, we need an arrow drawn from the middle front edge to the middle back edge of a cabinet to indicate air flow.  Black, as the arrow shouldn't change based upon stats,

#318
Merge branch 'master' of https://github.com/samilliken/openDCIM
Changed JS function for finding the width of an object to get the coordinates off of the object that has been drawn on screen rather than the original which is getting measured without css transformations applied. I really dislike the placement on these tooltips and should probably look back at this to make all child tips show up outside the parent device instead.  Also need to look back at this code in general and apply the transformations to the underlying div instead of the img elements.  The current method is resulting in hidden divs with mystery hotspots in places where they shouldn't be.  Last the width needs to be addressed since the demo site is causing layout glitches. #342
Removed the jquery initiator since it isn't necessary and this should be faster/more efficient
Merge remote-tracking branch 'upstream/master'
Corrected spelling of TemplateID
Having to run out to a wedding but wanted to commit this changed code up that addresses the IE9 problem.  The root cause was the <a> that was around the div.  IE was terminating the link and treating the child elements as being outside the div instead of inside it for positioning.  Restructured the front part but will check back later to get the rear altered accordingly as well. IE is still having a slight issue with which object is on top for the tooltips but might just need to alter the css to make the z-index one higher than the background device image.  #342