/** * jquery.qtip.debug. The jQuery tooltip plugin debugger * * Debug mode logs all tooltip events and error messages to the * global $.fn.qtip.log object, as well as creates an array of * references to all tooltips on the page. * * If a console is present, such as firebug (http://getfirebug.com), * Opera's inbuilt Drangonfly, or IE8's internal Web Developer tool, * errors will be reported to the console based on your set report * mask, which is explained in details below. * * * Copyright (c) 2009 Craig Thompson * http://craigsworks.com * * Licensed under MIT * http://www.opensource.org/licenses/mit-license.php * * Launch : February 2009 * Version : 1.0.0-rc3 * Released: Friday 27th April, 2009 - 23:30 */ /* DEBUG MODE - OFF BY DEFAULT - set to true to enable debugging */ $.fn.qtip.debug = true; if($.fn.qtip.debug) { // Create new debug constants $.fn.qtip.constants = { /* Error messages */ NO_TOOLTIP_PRESENT: 'No tooltip is present on the selected element. Cannot proceed with API call.', TOOLTIP_NOT_RENDERED: 'Tooltip has not yet been rendered! Cannot proceed with API call.', NO_VALID_CONTENT: 'No valid content was provided in the options. Using blank content.', TOOLTIP_IS_DISABLED: 'Tooltip is disabled, cannot proceed with API call.', TOOLTIP_ALREADY_DISABLED: 'Tooltip is already disabled.', TOOLTIP_ALREADY_ENABLED: 'Tooltip is already enabled.', CANVAS_VML_NOT_SUPPORTED: 'Niether canvas or VML are supported, corner and tips will not be drawn.', STYLE_NOT_DEFINED: 'No such style is defined in the global styles object.', INVALID_AREA_SHAPE: 'The AREA element used as your target has an invalid area shape. Possible values are: rect, circle, poly.', CANNOT_FOCUS_STATIC: 'Focusing static elements is not possible as they don\'t have z-index properties.', CANNOT_POSITION_STATIC: 'Positioning static elements is not possible as they don\'t have left or top properties.', NO_CONTENT_PROVIDED: 'You must specify some content with which to update.', /* Event messages */ EVENT_RENDERED: '(Event) Tooltip has been rendered.', EVENT_SHOWN: '(Event) Tooltip has been shown.', EVENT_HIDDEN: '(Event) Tooltip has been hidden.', EVENT_FOCUSED: '(Event) Tooltip has been focused.', EVENT_DISABLED: '(Event) Tooltip has been disabled.', EVENT_ENABLED: '(Event) Tooltip has been enabled.', EVENT_DESTROYED: '(Event) Tooltip has been destroyed.', EVENT_POSITION_UPDATED: '(Event) Tooltip position has been updated.', EVENT_CONTENT_UPDATED: '(Event) Tooltip contents have been updated.', EVENT_CONTENT_LOADED: '(Event) Tooltip contents have been loaded from specified URL.', EVENT_TITLE_UPDATED: '(Event) Tooltip title has been updated.', EVENT_STYLE_UPDATED: '(Event) Tooltip style has been updated.', EVENT_WIDTH_UPDATED: '(Event) Tooltip width has been updated.' }; // Define qTip log object $.fn.qtip.log = { /* CONSOLE REPORTING MASK To use this functionality you need a console installed, such as firebug: http://getfirebug.com This mask determines what errors are reported to the console. Possible values are: 7 = Errors, warnings and messages 6 = Errors and warnings 5 = Errors and messages 4 = Errors only 3 = Warnings and messages 2 = Warnings only 1 = Messages only */ report: 7, /* DO NOT ALTER ANYTHING BELOW HERE! */ qtips: [], messages: [], errors: [], /* Error handler function */ error: function(type, message, method) { var self = this; // Format type string switch(type) { case 1: var typeString = 'info'; var addTo = 'messages'; break; case 2: var typeString = 'warn'; var addTo = 'messages'; break; default: case 4: var typeString = 'error'; var addTo = 'errors'; break; } // Format time var DateObj = new Date(); var time = DateObj.getHours() + ':' + DateObj.getMinutes() + ':' + DateObj.getSeconds(); // Log the error into the log array $.fn.qtip.log[addTo].push({ time: time, message: message, api: self, callee: self[method] || method || null }); // If debug mode is enabled, display the error if($.fn.qtip.log.report & type > 0) { var logMessage = 'qTip ' + ((typeof self.id !== 'undefined') ? '['+self.id+']' : '') + ': ' + message; // Check console is present if(window.console) window.console[typeString](logMessage); // Check for Opera Dragonfly else if($.browser.opera && window.opera.postError) window.opera.postError(logMessage); } return self; } }; };