/**
 * Mementor TTS Debug Utilities
 * 
 * Provides debugging functionality for the Text to Speech TTS plugin
 */

(function($) {
    'use strict';
    
    // Create debug object if it doesn't exist
    window.mementorTTSDebug = window.mementorTTSDebug || {};
    
    // Default debug mode to false
    window.mementorTTSDebug.debugMode = false;
    
    /**
     * Set debug mode
     */
    window.mementorTTSDebug.setDebugMode = function(mode) {
        window.mementorTTSDebug.debugMode = mode;
    };
    
    /**
     * Log message if debug mode is enabled
     */
    window.mementorTTSDebug.log = function() {
        if (window.mementorTTSDebug.debugMode && console && console.log) {
            console.log.apply(console, arguments);
        }
    };
    
    /**
     * Log error if debug mode is enabled
     */
    window.mementorTTSDebug.error = function() {
        if (window.mementorTTSDebug.debugMode && console && console.error) {
            console.error.apply(console, arguments);
        }
    };
    
    /**
     * Log warning if debug mode is enabled
     */
    window.mementorTTSDebug.warn = function() {
        if (window.mementorTTSDebug.debugMode && console && console.warn) {
            console.warn.apply(console, arguments);
        }
    };
    
    /**
     * Log info if debug mode is enabled
     */
    window.mementorTTSDebug.info = function() {
        if (window.mementorTTSDebug.debugMode && console && console.info) {
            console.info.apply(console, arguments);
        }
    };
    
    /**
     * Log table if debug mode is enabled
     */
    window.mementorTTSDebug.table = function() {
        if (window.mementorTTSDebug.debugMode && console && console.table) {
            console.table.apply(console, arguments);
        }
    };
    
    /**
     * Start timer if debug mode is enabled
     */
    window.mementorTTSDebug.time = function(label) {
        if (window.mementorTTSDebug.debugMode && console && console.time) {
            console.time(label);
        }
    };
    
    /**
     * End timer if debug mode is enabled
     */
    window.mementorTTSDebug.timeEnd = function(label) {
        if (window.mementorTTSDebug.debugMode && console && console.timeEnd) {
            console.timeEnd(label);
        }
    };
    
})(jQuery);