(function() { // scope wrapper var log; if ( window.Ext && window.Ext.log ) { log = window.Ext.log; } else if ( window.console && window.console.log ) { log = function(m) { window.console.log(m); }; } else { log = function() {}; } if ( window.__ExtDebugger ) { log('ext-debug already loaded, skipping setup'); window.__ExtDebugger.onClick(); } else (function() { var path = 'http://xant.us/ext-ux/'; log('ext-debug by David Davis xantus@xantus.org - loaded'); var x = 40; var y = 60; // 'lib/ext-3.0-rc1/resources/css/xtheme-gray.css', var loadExtDebug = [ 'lib/ext-3.0-rc1/source/debug.css', 'lib/ext-3.0-rc1/source/debug.js' ]; var loadExt = [ 'lib/ext-3.0-rc1/adapter/ext/ext-base.js', 'lib/ext-3.0-rc1/resources/css/ext-all.css', 'lib/ext-3.0-rc1/ext-all-debug.js' ]; var loadFiles = [ 'lib/ext-debug/done.js' ]; var ExtDebugger = function() { this.loaded = false; this.loadFile = function(url) { url.match( /\.(\w+)$/ ); // log('loading '+RegExp.$1+' file:'+url); switch ( RegExp.$1 ) { case 'js': var el = document.createElement('SCR'+'IPT'); el.setAttribute( 'language', 'JavaScript' ); el.setAttribute( 'type', 'text/javascript' ); el.setAttribute( 'src', path + url + '?r=' + Math.random() ); var dh = document.getElementsByTagName("head").item(0) || document.body; dh.appendChild( el ); break; case 'css': var el = document.createElement( 'link' ); el.setAttribute( 'rel', 'stylesheet' ); el.setAttribute( 'type', 'text/css' ); el.setAttribute( 'href', path + url + '?r=' + Math.random() ); var dh = document.getElementsByTagName("head").item(0) || document.body; dh.appendChild(el); break; default: log('unhandled file: '+url ); break; } }; this.init = function() { log('init called'); if ( window.Ext ) { if ( !window.Ext.log ) { for ( var i = 0, len = loadExtDebug.length; i < len; i++ ) this.loadFile( loadExtDebug[ i ] ); } } else { for ( var i = 0, len = loadExt.length; i < len; i++ ) this.loadFile( loadExt[ i ] ); } for ( var i = 0, len = loadFiles.length; i < len; i++ ) this.loadFile( loadFiles[ i ] ); }; this.onReady = function() { if ( this.loaded ) return; this.loaded = true; if ( Ext.log ) log = Ext.log; Ext.QuickTips.init(); this.openWindow(); }; this.openWindow = function() { log('opening ext-debug console'); }; this.onClick = this.openWindow; this.init(); }; window.__ExtDebugger = new ExtDebugger(); })(); // bookmarklet click })(); // scope wrapper