--- a/includes/clientside/firebug/firebug.js Sun May 11 16:58:58 2008 -0400
+++ b/includes/clientside/firebug/firebug.js Sun May 11 16:59:21 2008 -0400
@@ -1,672 +1,1 @@
-
-if (!("console" in window) || !("firebug" in console)) {
-(function()
-{
- window.console =
- {
- log: function()
- {
- logFormatted(arguments, "");
- },
-
- debug: function()
- {
- logFormatted(arguments, "debug");
- },
-
- info: function()
- {
- logFormatted(arguments, "info");
- },
-
- warn: function()
- {
- logFormatted(arguments, "warning");
- },
-
- error: function()
- {
- logFormatted(arguments, "error");
- },
-
- assert: function(truth, message)
- {
- if (!truth)
- {
- var args = [];
- for (var i = 1; i < arguments.length; ++i)
- args.push(arguments[i]);
-
- logFormatted(args.length ? args : ["Assertion Failure"], "error");
- throw message ? message : "Assertion Failure";
- }
- },
-
- dir: function(object)
- {
- var html = [];
-
- var pairs = [];
- for (var name in object)
- {
- try
- {
- pairs.push([name, object[name]]);
- }
- catch (exc)
- {
- }
- }
-
- pairs.sort(function(a, b) { return a[0] < b[0] ? -1 : 1; });
-
- html.push('<table>');
- for (var i = 0; i < pairs.length; ++i)
- {
- var name = pairs[i][0], value = pairs[i][1];
-
- html.push('<tr>',
- '<td class="propertyNameCell"><span class="propertyName">',
- escapeHTML(name), '</span></td>', '<td><span class="propertyValue">');
- appendObject(value, html);
- html.push('</span></td></tr>');
- }
- html.push('</table>');
-
- logRow(html, "dir");
- },
-
- dirxml: function(node)
- {
- var html = [];
-
- appendNode(node, html);
- logRow(html, "dirxml");
- },
-
- group: function()
- {
- logRow(arguments, "group", pushGroup);
- },
-
- groupEnd: function()
- {
- logRow(arguments, "", popGroup);
- },
-
- time: function(name)
- {
- timeMap[name] = (new Date()).getTime();
- },
-
- timeEnd: function(name)
- {
- if (name in timeMap)
- {
- var delta = (new Date()).getTime() - timeMap[name];
- logFormatted([name+ ":", delta+"ms"]);
- delete timeMap[name];
- }
- },
-
- count: function()
- {
- this.warn(["count() not supported."]);
- },
-
- trace: function()
- {
- this.warn(["trace() not supported."]);
- },
-
- profile: function()
- {
- this.warn(["profile() not supported."]);
- },
-
- profileEnd: function()
- {
- },
-
- clear: function()
- {
- consoleBody.innerHTML = "";
- },
-
- open: function()
- {
- toggleConsole(true);
- },
-
- close: function()
- {
- if (frameVisible)
- toggleConsole();
- }
- };
-
- // ********************************************************************************************
-
- var consoleFrame = null;
- var consoleBody = null;
- var commandLine = null;
-
- var frameVisible = false;
- var messageQueue = [];
- var groupStack = [];
- var timeMap = {};
-
- var clPrefix = ">>> ";
-
- var isFirefox = navigator.userAgent.indexOf("Firefox") != -1;
- var isIE = navigator.userAgent.indexOf("MSIE") != -1;
- var isOpera = navigator.userAgent.indexOf("Opera") != -1;
- var isSafari = navigator.userAgent.indexOf("AppleWebKit") != -1;
-
- // ********************************************************************************************
-
- function toggleConsole(forceOpen)
- {
- frameVisible = forceOpen || !frameVisible;
- if (consoleFrame)
- consoleFrame.style.visibility = frameVisible ? "visible" : "hidden";
- else
- waitForBody();
- }
-
- function focusCommandLine()
- {
- toggleConsole(true);
- if (commandLine)
- commandLine.focus();
- }
-
- function waitForBody()
- {
- if (document.body)
- createFrame();
- else
- setTimeout(waitForBody, 200);
- }
-
- function createFrame()
- {
- if (consoleFrame)
- return;
-
- window.onFirebugReady = function(doc)
- {
- window.onFirebugReady = null;
-
- var toolbar = doc.getElementById("toolbar");
- toolbar.onmousedown = onSplitterMouseDown;
-
- commandLine = doc.getElementById("commandLine");
- addEvent(commandLine, "keydown", onCommandLineKeyDown);
-
- addEvent(doc, isIE || isSafari ? "keydown" : "keypress", onKeyDown);
-
- consoleBody = doc.getElementById("log");
- layout();
- flush();
- }
-
- var baseURL = getFirebugURL();
-
- consoleFrame = document.createElement("iframe");
- consoleFrame.setAttribute("src", baseURL+"/firebug.html");
- consoleFrame.setAttribute("frameBorder", "0");
- consoleFrame.style.visibility = (frameVisible ? "visible" : "hidden");
- consoleFrame.style.zIndex = "2147483647";
- consoleFrame.style.position = "fixed";
- consoleFrame.style.width = "100%";
- consoleFrame.style.left = "0";
- consoleFrame.style.bottom = "0";
- consoleFrame.style.height = "200px";
- document.body.appendChild(consoleFrame);
- }
-
- function getFirebugURL()
- {
- var scripts = document.getElementsByTagName("script");
- for (var i = 0; i < scripts.length; ++i)
- {
- if (scripts[i].src.indexOf("firebug.js") != -1)
- {
- var lastSlash = scripts[i].src.lastIndexOf("/");
- return scripts[i].src.substr(0, lastSlash);
- }
- }
- }
-
- function evalCommandLine()
- {
- var text = commandLine.value;
- commandLine.value = "";
-
- logRow([clPrefix, text], "command");
-
- var value;
- try
- {
- value = eval(text);
- }
- catch (exc)
- {
- }
-
- console.log(value);
- }
-
- function layout()
- {
- var toolbar = consoleBody.ownerDocument.getElementById("toolbar");
- var height = consoleFrame.offsetHeight - (toolbar.offsetHeight + commandLine.offsetHeight);
- consoleBody.style.top = toolbar.offsetHeight + "px";
- consoleBody.style.height = height + "px";
-
- commandLine.style.top = (consoleFrame.offsetHeight - commandLine.offsetHeight) + "px";
- }
-
- function logRow(message, className, handler)
- {
- if (consoleBody)
- writeMessage(message, className, handler);
- else
- {
- messageQueue.push([message, className, handler]);
- waitForBody();
- }
- }
-
- function flush()
- {
- var queue = messageQueue;
- messageQueue = [];
-
- for (var i = 0; i < queue.length; ++i)
- writeMessage(queue[i][0], queue[i][1], queue[i][2]);
- }
-
- function writeMessage(message, className, handler)
- {
- var isScrolledToBottom =
- consoleBody.scrollTop + consoleBody.offsetHeight >= consoleBody.scrollHeight;
-
- if (!handler)
- handler = writeRow;
-
- handler(message, className);
-
- if (isScrolledToBottom)
- consoleBody.scrollTop = consoleBody.scrollHeight - consoleBody.offsetHeight;
- }
-
- function appendRow(row)
- {
- var container = groupStack.length ? groupStack[groupStack.length-1] : consoleBody;
- container.appendChild(row);
- }
-
- function writeRow(message, className)
- {
- var row = consoleBody.ownerDocument.createElement("div");
- row.className = "logRow" + (className ? " logRow-"+className : "");
- row.innerHTML = message.join("");
- appendRow(row);
- }
-
- function pushGroup(message, className)
- {
- logFormatted(message, className);
-
- var groupRow = consoleBody.ownerDocument.createElement("div");
- groupRow.className = "logGroup";
- var groupRowBox = consoleBody.ownerDocument.createElement("div");
- groupRowBox.className = "logGroupBox";
- groupRow.appendChild(groupRowBox);
- appendRow(groupRowBox);
- groupStack.push(groupRowBox);
- }
-
- function popGroup()
- {
- groupStack.pop();
- }
-
- // ********************************************************************************************
-
- function logFormatted(objects, className)
- {
- var html = [];
-
- var format = objects[0];
- var objIndex = 0;
-
- if (typeof(format) != "string")
- {
- format = "";
- objIndex = -1;
- }
-
- var parts = parseFormat(format);
- for (var i = 0; i < parts.length; ++i)
- {
- var part = parts[i];
- if (part && typeof(part) == "object")
- {
- var object = objects[++objIndex];
- part.appender(object, html);
- }
- else
- appendText(part, html);
- }
-
- for (var i = objIndex+1; i < objects.length; ++i)
- {
- appendText(" ", html);
-
- var object = objects[i];
- if (typeof(object) == "string")
- appendText(object, html);
- else
- appendObject(object, html);
- }
-
- logRow(html, className);
- }
-
- function parseFormat(format)
- {
- var parts = [];
-
- var reg = /((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/;
- var appenderMap = {s: appendText, d: appendInteger, i: appendInteger, f: appendFloat};
-
- for (var m = reg.exec(format); m; m = reg.exec(format))
- {
- var type = m[8] ? m[8] : m[5];
- var appender = type in appenderMap ? appenderMap[type] : appendObject;
- var precision = m[3] ? parseInt(m[3]) : (m[4] == "." ? -1 : 0);
-
- parts.push(format.substr(0, m[0][0] == "%" ? m.index : m.index+1));
- parts.push({appender: appender, precision: precision});
-
- format = format.substr(m.index+m[0].length);
- }
-
- parts.push(format);
-
- return parts;
- }
-
- function escapeHTML(value)
- {
- function replaceChars(ch)
- {
- switch (ch)
- {
- case "<":
- return "<";
- case ">":
- return ">";
- case "&":
- return "&";
- case "'":
- return "'";
- case '"':
- return """;
- }
- return "?";
- };
- return String(value).replace(/[<>&"']/g, replaceChars);
- }
-
- function objectToString(object)
- {
- try
- {
- return object+"";
- }
- catch (exc)
- {
- return null;
- }
- }
-
- // ********************************************************************************************
-
- function appendText(object, html)
- {
- html.push(escapeHTML(objectToString(object)));
- }
-
- function appendNull(object, html)
- {
- html.push('<span class="objectBox-null">', escapeHTML(objectToString(object)), '</span>');
- }
-
- function appendString(object, html)
- {
- html.push('<span class="objectBox-string">"', escapeHTML(objectToString(object)),
- '"</span>');
- }
-
- function appendInteger(object, html)
- {
- html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>');
- }
-
- function appendFloat(object, html)
- {
- html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>');
- }
-
- function appendFunction(object, html)
- {
- var reName = /function ?(.*?)\(/;
- var m = reName.exec(objectToString(object));
- var name = m ? m[1] : "function";
- html.push('<span class="objectBox-function">', escapeHTML(name), '()</span>');
- }
-
- function appendObject(object, html)
- {
- try
- {
- if (object == undefined)
- appendNull("undefined", html);
- else if (object == null)
- appendNull("null", html);
- else if (typeof object == "string")
- appendString(object, html);
- else if (typeof object == "number")
- appendInteger(object, html);
- else if (typeof object == "function")
- appendFunction(object, html);
- else if (object.nodeType == 1)
- appendSelector(object, html);
- else if (typeof object == "object")
- appendObjectFormatted(object, html);
- else
- appendText(object, html);
- }
- catch (exc)
- {
- }
- }
-
- function appendObjectFormatted(object, html)
- {
- var text = objectToString(object);
- var reObject = /\[object (.*?)\]/;
-
- var m = reObject.exec(text);
- html.push('<span class="objectBox-object">', m ? m[1] : text, '</span>')
- }
-
- function appendSelector(object, html)
- {
- html.push('<span class="objectBox-selector">');
-
- html.push('<span class="selectorTag">', escapeHTML(object.nodeName.toLowerCase()), '</span>');
- if (object.id)
- html.push('<span class="selectorId">#', escapeHTML(object.id), '</span>');
- if (object.className)
- html.push('<span class="selectorClass">.', escapeHTML(object.className), '</span>');
-
- html.push('</span>');
- }
-
- function appendNode(node, html)
- {
- if (node.nodeType == 1)
- {
- html.push(
- '<div class="objectBox-element">',
- '<<span class="nodeTag">', node.nodeName.toLowerCase(), '</span>');
-
- for (var i = 0; i < node.attributes.length; ++i)
- {
- var attr = node.attributes[i];
- if (!attr.specified)
- continue;
-
- html.push(' <span class="nodeName">', attr.nodeName.toLowerCase(),
- '</span>="<span class="nodeValue">', escapeHTML(attr.nodeValue),
- '</span>"')
- }
-
- if (node.firstChild)
- {
- html.push('></div><div class="nodeChildren">');
-
- for (var child = node.firstChild; child; child = child.nextSibling)
- appendNode(child, html);
-
- html.push('</div><div class="objectBox-element"></<span class="nodeTag">',
- node.nodeName.toLowerCase(), '></span></div>');
- }
- else
- html.push('/></div>');
- }
- else if (node.nodeType == 3)
- {
- html.push('<div class="nodeText">', escapeHTML(node.nodeValue),
- '</div>');
- }
- }
-
- // ********************************************************************************************
-
- function addEvent(object, name, handler)
- {
- if (document.all)
- object.attachEvent("on"+name, handler);
- else
- object.addEventListener(name, handler, false);
- }
-
- function removeEvent(object, name, handler)
- {
- if (document.all)
- object.detachEvent("on"+name, handler);
- else
- object.removeEventListener(name, handler, false);
- }
-
- function cancelEvent(event)
- {
- if (document.all)
- event.cancelBubble = true;
- else
- event.stopPropagation();
- }
-
- function onError(msg, href, lineNo)
- {
- var html = [];
-
- var lastSlash = href.lastIndexOf("/");
- var fileName = lastSlash == -1 ? href : href.substr(lastSlash+1);
-
- html.push(
- '<span class="errorMessage">', msg, '</span>',
- '<div class="objectBox-sourceLink">', fileName, ' (line ', lineNo, ')</div>'
- );
-
- logRow(html, "error");
- };
-
- function onKeyDown(event)
- {
- if (event.keyCode == 123)
- toggleConsole();
- else if ((event.keyCode == 108 || event.keyCode == 76) && event.shiftKey
- && (event.metaKey || event.ctrlKey))
- focusCommandLine();
- else
- return;
-
- cancelEvent(event);
- }
-
- function onSplitterMouseDown(event)
- {
- if (isSafari || isOpera)
- return;
-
- addEvent(document, "mousemove", onSplitterMouseMove);
- addEvent(document, "mouseup", onSplitterMouseUp);
-
- for (var i = 0; i < frames.length; ++i)
- {
- addEvent(frames[i].document, "mousemove", onSplitterMouseMove);
- addEvent(frames[i].document, "mouseup", onSplitterMouseUp);
- }
- }
-
- function onSplitterMouseMove(event)
- {
- var win = document.all
- ? event.srcElement.ownerDocument.parentWindow
- : event.target.ownerDocument.defaultView;
-
- var clientY = event.clientY;
- if (win != win.parent)
- clientY += win.frameElement ? win.frameElement.offsetTop : 0;
-
- var height = consoleFrame.offsetTop + consoleFrame.clientHeight;
- var y = height - clientY;
-
- consoleFrame.style.height = y + "px";
- layout();
- }
-
- function onSplitterMouseUp(event)
- {
- removeEvent(document, "mousemove", onSplitterMouseMove);
- removeEvent(document, "mouseup", onSplitterMouseUp);
-
- for (var i = 0; i < frames.length; ++i)
- {
- removeEvent(frames[i].document, "mousemove", onSplitterMouseMove);
- removeEvent(frames[i].document, "mouseup", onSplitterMouseUp);
- }
- }
-
- function onCommandLineKeyDown(event)
- {
- if (event.keyCode == 13)
- evalCommandLine();
- else if (event.keyCode == 27)
- commandLine.value = "";
- }
-
- window.onerror = onError;
- addEvent(document, isIE || isSafari ? "keydown" : "keypress", onKeyDown);
-
- if (document.documentElement.getAttribute("debug") == "true")
- toggleConsole(true);
-})();
-}
+if(!("console" in window)||!("firebug" in console)){(function(){window.console={log:function(){logFormatted(arguments,"")},debug:function(){logFormatted(arguments,"debug")},info:function(){logFormatted(arguments,"info")},warn:function(){logFormatted(arguments,"warning")},error:function(){logFormatted(arguments,"error")},assert:function(truth,message){if(!truth){var args=[];for(var i=1;i<arguments.length;++i){args.push(arguments[i])}logFormatted(args.length?args:["Assertion Failure"],"error");throw message?message:"Assertion Failure"}},dir:function(object){var html=[];var pairs=[];for(var name in object){try{pairs.push([name,object[name]])}catch(exc){}}pairs.sort(function(a,b){return a[0]<b[0]?-1:1});html.push("<table>");for(var i=0;i<pairs.length;++i){var name=pairs[i][0],value=pairs[i][1];html.push("<tr>",'<td class="propertyNameCell"><span class="propertyName">',escapeHTML(name),"</span></td>",'<td><span class="propertyValue">');appendObject(value,html);html.push("</span></td></tr>")}html.push("</table>");logRow(html,"dir")},dirxml:function(node){var html=[];appendNode(node,html);logRow(html,"dirxml")},group:function(){logRow(arguments,"group",pushGroup)},groupEnd:function(){logRow(arguments,"",popGroup)},time:function(name){timeMap[name]=(new Date()).getTime()},timeEnd:function(name){if(name in timeMap){var delta=(new Date()).getTime()-timeMap[name];logFormatted([name+":",delta+"ms"]);delete timeMap[name]}},count:function(){this.warn(["count() not supported."])},trace:function(){this.warn(["trace() not supported."])},profile:function(){this.warn(["profile() not supported."])},profileEnd:function(){},clear:function(){consoleBody.innerHTML=""},open:function(){toggleConsole(true)},close:function(){if(frameVisible){toggleConsole()}}};var consoleFrame=null;var consoleBody=null;var commandLine=null;var frameVisible=false;var messageQueue=[];var groupStack=[];var timeMap={};var clPrefix=">>> ";var isFirefox=navigator.userAgent.indexOf("Firefox")!=-1;var isIE=navigator.userAgent.indexOf("MSIE")!=-1;var isOpera=navigator.userAgent.indexOf("Opera")!=-1;var isSafari=navigator.userAgent.indexOf("AppleWebKit")!=-1;function toggleConsole(forceOpen){frameVisible=forceOpen||!frameVisible;if(consoleFrame){consoleFrame.style.visibility=frameVisible?"visible":"hidden"}else{waitForBody()}}function focusCommandLine(){toggleConsole(true);if(commandLine){commandLine.focus()}}function waitForBody(){if(document.body){createFrame()}else{setTimeout(waitForBody,200)}}function createFrame(){if(consoleFrame){return }window.onFirebugReady=function(doc){window.onFirebugReady=null;var toolbar=doc.getElementById("toolbar");toolbar.onmousedown=onSplitterMouseDown;commandLine=doc.getElementById("commandLine");addEvent(commandLine,"keydown",onCommandLineKeyDown);addEvent(doc,isIE||isSafari?"keydown":"keypress",onKeyDown);consoleBody=doc.getElementById("log");layout();flush()};var baseURL=getFirebugURL();consoleFrame=document.createElement("iframe");consoleFrame.setAttribute("src",baseURL+"/firebug.html");consoleFrame.setAttribute("frameBorder","0");consoleFrame.style.visibility=(frameVisible?"visible":"hidden");consoleFrame.style.zIndex="2147483647";consoleFrame.style.position="fixed";consoleFrame.style.width="100%";consoleFrame.style.left="0";consoleFrame.style.bottom="0";consoleFrame.style.height="200px";document.body.appendChild(consoleFrame)}function getFirebugURL(){var scripts=document.getElementsByTagName("script");for(var i=0;i<scripts.length;++i){if(scripts[i].src.indexOf("firebug.js")!=-1){var lastSlash=scripts[i].src.lastIndexOf("/");return scripts[i].src.substr(0,lastSlash)}}}function evalCommandLine(){var text=commandLine.value;commandLine.value="";logRow([clPrefix,text],"command");var value;try{value=eval(text)}catch(exc){}console.log(value)}function layout(){var toolbar=consoleBody.ownerDocument.getElementById("toolbar");var height=consoleFrame.offsetHeight-(toolbar.offsetHeight+commandLine.offsetHeight);consoleBody.style.top=toolbar.offsetHeight+"px";consoleBody.style.height=height+"px";commandLine.style.top=(consoleFrame.offsetHeight-commandLine.offsetHeight)+"px"}function logRow(message,className,handler){if(consoleBody){writeMessage(message,className,handler)}else{messageQueue.push([message,className,handler]);waitForBody()}}function flush(){var queue=messageQueue;messageQueue=[];for(var i=0;i<queue.length;++i){writeMessage(queue[i][0],queue[i][1],queue[i][2])}}function writeMessage(message,className,handler){var isScrolledToBottom=consoleBody.scrollTop+consoleBody.offsetHeight>=consoleBody.scrollHeight;if(!handler){handler=writeRow}handler(message,className);if(isScrolledToBottom){consoleBody.scrollTop=consoleBody.scrollHeight-consoleBody.offsetHeight}}function appendRow(row){var container=groupStack.length?groupStack[groupStack.length-1]:consoleBody;container.appendChild(row)}function writeRow(message,className){var row=consoleBody.ownerDocument.createElement("div");row.className="logRow"+(className?" logRow-"+className:"");row.innerHTML=message.join("");appendRow(row)}function pushGroup(message,className){logFormatted(message,className);var groupRow=consoleBody.ownerDocument.createElement("div");groupRow.className="logGroup";var groupRowBox=consoleBody.ownerDocument.createElement("div");groupRowBox.className="logGroupBox";groupRow.appendChild(groupRowBox);appendRow(groupRowBox);groupStack.push(groupRowBox)}function popGroup(){groupStack.pop()}function logFormatted(objects,className){var html=[];var format=objects[0];var objIndex=0;if(typeof (format)!="string"){format="";objIndex=-1}var parts=parseFormat(format);for(var i=0;i<parts.length;++i){var part=parts[i];if(part&&typeof (part)=="object"){var object=objects[++objIndex];part.appender(object,html)}else{appendText(part,html)}}for(var i=objIndex+1;i<objects.length;++i){appendText(" ",html);var object=objects[i];if(typeof (object)=="string"){appendText(object,html)}else{appendObject(object,html)}}logRow(html,className)}function parseFormat(format){var parts=[];var reg=/((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/;var appenderMap={s:appendText,d:appendInteger,i:appendInteger,f:appendFloat};for(var m=reg.exec(format);m;m=reg.exec(format)){var type=m[8]?m[8]:m[5];var appender=type in appenderMap?appenderMap[type]:appendObject;var precision=m[3]?parseInt(m[3]):(m[4]=="."?-1:0);parts.push(format.substr(0,m[0][0]=="%"?m.index:m.index+1));parts.push({appender:appender,precision:precision});format=format.substr(m.index+m[0].length)}parts.push(format);return parts}function escapeHTML(value){function replaceChars(ch){switch(ch){case"<":return"<";case">":return">";case"&":return"&";case"'":return"'";case'"':return"""}return"?"}return String(value).replace(/[<>&"']/g,replaceChars)}function objectToString(object){try{return object+""}catch(exc){return null}}function appendText(object,html){html.push(escapeHTML(objectToString(object)))}function appendNull(object,html){html.push('<span class="objectBox-null">',escapeHTML(objectToString(object)),"</span>")}function appendString(object,html){html.push('<span class="objectBox-string">"',escapeHTML(objectToString(object)),""</span>")}function appendInteger(object,html){html.push('<span class="objectBox-number">',escapeHTML(objectToString(object)),"</span>")}function appendFloat(object,html){html.push('<span class="objectBox-number">',escapeHTML(objectToString(object)),"</span>")}function appendFunction(object,html){var reName=/function ?(.*?)\(/;var m=reName.exec(objectToString(object));var name=m?m[1]:"function";html.push('<span class="objectBox-function">',escapeHTML(name),"()</span>")}function appendObject(object,html){try{if(object==undefined){appendNull("undefined",html)}else{if(object==null){appendNull("null",html)}else{if(typeof object=="string"){appendString(object,html)}else{if(typeof object=="number"){appendInteger(object,html)}else{if(typeof object=="function"){appendFunction(object,html)}else{if(object.nodeType==1){appendSelector(object,html)}else{if(typeof object=="object"){appendObjectFormatted(object,html)}else{appendText(object,html)}}}}}}}}catch(exc){}}function appendObjectFormatted(object,html){var text=objectToString(object);var reObject=/\[object (.*?)\]/;var m=reObject.exec(text);html.push('<span class="objectBox-object">',m?m[1]:text,"</span>")}function appendSelector(object,html){html.push('<span class="objectBox-selector">');html.push('<span class="selectorTag">',escapeHTML(object.nodeName.toLowerCase()),"</span>");if(object.id){html.push('<span class="selectorId">#',escapeHTML(object.id),"</span>")}if(object.className){html.push('<span class="selectorClass">.',escapeHTML(object.className),"</span>")}html.push("</span>")}function appendNode(node,html){if(node.nodeType==1){html.push('<div class="objectBox-element">','<<span class="nodeTag">',node.nodeName.toLowerCase(),"</span>");for(var i=0;i<node.attributes.length;++i){var attr=node.attributes[i];if(!attr.specified){continue}html.push(' <span class="nodeName">',attr.nodeName.toLowerCase(),'</span>="<span class="nodeValue">',escapeHTML(attr.nodeValue),"</span>"")}if(node.firstChild){html.push('></div><div class="nodeChildren">');for(var child=node.firstChild;child;child=child.nextSibling){appendNode(child,html)}html.push('</div><div class="objectBox-element"></<span class="nodeTag">',node.nodeName.toLowerCase(),"></span></div>")}else{html.push("/></div>")}}else{if(node.nodeType==3){html.push('<div class="nodeText">',escapeHTML(node.nodeValue),"</div>")}}}function addEvent(object,name,handler){if(document.all){object.attachEvent("on"+name,handler)}else{object.addEventListener(name,handler,false)}}function removeEvent(object,name,handler){if(document.all){object.detachEvent("on"+name,handler)}else{object.removeEventListener(name,handler,false)}}function cancelEvent(event){if(document.all){event.cancelBubble=true}else{event.stopPropagation()}}function onError(msg,href,lineNo){var html=[];var lastSlash=href.lastIndexOf("/");var fileName=lastSlash==-1?href:href.substr(lastSlash+1);html.push('<span class="errorMessage">',msg,"</span>",'<div class="objectBox-sourceLink">',fileName," (line ",lineNo,")</div>");logRow(html,"error")}function onKeyDown(event){if(event.keyCode==123){toggleConsole()}else{if((event.keyCode==108||event.keyCode==76)&&event.shiftKey&&(event.metaKey||event.ctrlKey)){focusCommandLine()}else{return }}cancelEvent(event)}function onSplitterMouseDown(event){if(isSafari||isOpera){return }addEvent(document,"mousemove",onSplitterMouseMove);addEvent(document,"mouseup",onSplitterMouseUp);for(var i=0;i<frames.length;++i){addEvent(frames[i].document,"mousemove",onSplitterMouseMove);addEvent(frames[i].document,"mouseup",onSplitterMouseUp)}}function onSplitterMouseMove(event){var win=document.all?event.srcElement.ownerDocument.parentWindow:event.target.ownerDocument.defaultView;var clientY=event.clientY;if(win!=win.parent){clientY+=win.frameElement?win.frameElement.offsetTop:0}var height=consoleFrame.offsetTop+consoleFrame.clientHeight;var y=height-clientY;consoleFrame.style.height=y+"px";layout()}function onSplitterMouseUp(event){removeEvent(document,"mousemove",onSplitterMouseMove);removeEvent(document,"mouseup",onSplitterMouseUp);for(var i=0;i<frames.length;++i){removeEvent(frames[i].document,"mousemove",onSplitterMouseMove);removeEvent(frames[i].document,"mouseup",onSplitterMouseUp)}}function onCommandLineKeyDown(event){if(event.keyCode==13){evalCommandLine()}else{if(event.keyCode==27){commandLine.value=""}}}window.onerror=onError;addEvent(document,isIE||isSafari?"keydown":"keypress",onKeyDown);if(document.documentElement.getAttribute("debug")=="true"){toggleConsole(true)}})()};
\ No newline at end of file