Removed Firebug Lite - unused, outdated, and potential licensing issue. All licensing issues should be resolved now.
Binary file includes/clientside/firebug/errorIcon.png has changed
--- a/includes/clientside/firebug/firebug.css Fri May 29 20:22:30 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-html,body{margin:0;background:#FFF;font-family:Lucida Grande,Tahoma,sans-serif;font-size:11px;overflow:hidden;}a{text-decoration:none;}a:hover{text-decoration:underline;}.toolbar{height:14px;border-top:1px solid ThreeDHighlight;border-bottom:1px solid ThreeDShadow;padding:2px 6px;background:ThreeDFace;}.toolbarRight{position:absolute;top:4px;right:6px;}#log{overflow:auto;position:absolute;left:0;width:100%;}#commandLine{position:absolute;bottom:0;left:0;width:100%;height:18px;border:none;border-top:1px solid ThreeDShadow;}.logRow{position:relative;border-bottom:1px solid #D7D7D7;padding:2px 4px 1px 6px;background-color:#FFF;}.logRow-command{font-family:Monaco,monospace;color:blue;}.objectBox-null{padding:0 2px;border:1px solid #666;background-color:#888;color:#FFF;}.objectBox-string{font-family:Monaco,monospace;color:red;white-space:pre;}.objectBox-number{color:#008;}.objectBox-function{font-family:Monaco,monospace;color:DarkGreen;}.objectBox-object{color:DarkGreen;font-weight:bold;}.logRow-info,.logRow-error,.logRow-warning{background:#FFF no-repeat 2px 2px;padding-left:20px;padding-bottom:3px;}.logRow-info{background-image:url(infoIcon.png);}.logRow-warning{background-color:cyan;background-image:url(warningIcon.png);}.logRow-error{background-color:LightYellow;background-image:url(errorIcon.png);}.errorMessage{vertical-align:top;color:#F00;}.objectBox-sourceLink{position:absolute;right:4px;top:2px;padding-left:8px;font-family:Lucida Grande,sans-serif;font-weight:bold;color:#00F;}.logRow-group{background:#EEE;border-bottom:none;}.logGroup{background:#EEE;}.logGroupBox{margin-left:24px;border-top:1px solid #D7D7D7;border-left:1px solid #D7D7D7;}.selectorTag,.selectorId,.selectorClass{font-family:Monaco,monospace;font-weight:normal;}.selectorTag{color:#00F;}.selectorId{color:DarkBlue;}.selectorClass{color:red;}.objectBox-element{font-family:Monaco,monospace;color:#008;}.nodeChildren{margin-left:16px;}.nodeTag{color:blue;}.nodeValue{color:#F00;font-weight:normal;}.nodeText,.nodeComment{margin:0 2px;vertical-align:top;}.nodeText{color:#333;}.nodeComment{color:DarkGreen;}.propertyNameCell{vertical-align:top;}.propertyName{font-weight:bold;}
\ No newline at end of file
--- a/includes/clientside/firebug/firebug.html Fri May 29 20:22:30 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
- <title>Firebug</title>
- <link rel="stylesheet" type="text/css" href="firebug.css">
-</head>
-
-<body>
- <div id="toolbar" class="toolbar">
- <a href="#" onclick="parent.console.clear()">Clear</a>
- <span class="toolbarRight">
- <a href="#" onclick="parent.console.close()">Close</a>
- </span>
- </div>
- <div id="log"></div>
- <input type="text" id="commandLine">
-
- <script>parent.onFirebugReady(document);</script>
-</body>
-</html>
--- a/includes/clientside/firebug/firebug.js Fri May 29 20:22:30 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-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
--- a/includes/clientside/firebug/firebugx.js Fri May 29 20:22:30 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-if(!("console" in window)||!("firebug" in console)){var names=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var i=0;i<names.length;++i){window.console[names[i]]=function(){}}};
\ No newline at end of file
Binary file includes/clientside/firebug/infoIcon.png has changed
--- a/includes/clientside/firebug/src/firebug.css Fri May 29 20:22:30 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-
-html, body {
- margin: 0;
- background: #FFFFFF;
- font-family: Lucida Grande, Tahoma, sans-serif;
- font-size: 11px;
- overflow: hidden;
-}
-
-a {
- text-decoration: none;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-.toolbar {
- height: 14px;
- border-top: 1px solid ThreeDHighlight;
- border-bottom: 1px solid ThreeDShadow;
- padding: 2px 6px;
- background: ThreeDFace;
-}
-
-.toolbarRight {
- position: absolute;
- top: 4px;
- right: 6px;
-}
-
-#log {
- overflow: auto;
- position: absolute;
- left: 0;
- width: 100%;
-}
-
-#commandLine {
- position: absolute;
- bottom: 0;
- left: 0;
- width: 100%;
- height: 18px;
- border: none;
- border-top: 1px solid ThreeDShadow;
-}
-
-/************************************************************************************************/
-
-.logRow {
- position: relative;
- border-bottom: 1px solid #D7D7D7;
- padding: 2px 4px 1px 6px;
- background-color: #FFFFFF;
-}
-
-.logRow-command {
- font-family: Monaco, monospace;
- color: blue;
-}
-
-.objectBox-null {
- padding: 0 2px;
- border: 1px solid #666666;
- background-color: #888888;
- color: #FFFFFF;
-}
-
-.objectBox-string {
- font-family: Monaco, monospace;
- color: red;
- white-space: pre;
-}
-
-.objectBox-number {
- color: #000088;
-}
-
-.objectBox-function {
- font-family: Monaco, monospace;
- color: DarkGreen;
-}
-
-.objectBox-object {
- color: DarkGreen;
- font-weight: bold;
-}
-
-/************************************************************************************************/
-
-.logRow-info,
-.logRow-error,
-.logRow-warning {
- background: #FFFFFF no-repeat 2px 2px;
- padding-left: 20px;
- padding-bottom: 3px;
-}
-
-.logRow-info {
- background-image: url(infoIcon.png);
-}
-
-.logRow-warning {
- background-color: cyan;
- background-image: url(warningIcon.png);
-}
-
-.logRow-error {
- background-color: LightYellow;
- background-image: url(errorIcon.png);
-}
-
-.errorMessage {
- vertical-align: top;
- color: #FF0000;
-}
-
-.objectBox-sourceLink {
- position: absolute;
- right: 4px;
- top: 2px;
- padding-left: 8px;
- font-family: Lucida Grande, sans-serif;
- font-weight: bold;
- color: #0000FF;
-}
-
-/************************************************************************************************/
-
-.logRow-group {
- background: #EEEEEE;
- border-bottom: none;
-}
-
-.logGroup {
- background: #EEEEEE;
-}
-
-.logGroupBox {
- margin-left: 24px;
- border-top: 1px solid #D7D7D7;
- border-left: 1px solid #D7D7D7;
-}
-
-/************************************************************************************************/
-
-.selectorTag,
-.selectorId,
-.selectorClass {
- font-family: Monaco, monospace;
- font-weight: normal;
-}
-
-.selectorTag {
- color: #0000FF;
-}
-
-.selectorId {
- color: DarkBlue;
-}
-
-.selectorClass {
- color: red;
-}
-
-/************************************************************************************************/
-
-.objectBox-element {
- font-family: Monaco, monospace;
- color: #000088;
-}
-
-.nodeChildren {
- margin-left: 16px;
-}
-
-.nodeTag {
- color: blue;
-}
-
-.nodeValue {
- color: #FF0000;
- font-weight: normal;
-}
-
-.nodeText,
-.nodeComment {
- margin: 0 2px;
- vertical-align: top;
-}
-
-.nodeText {
- color: #333333;
-}
-
-.nodeComment {
- color: DarkGreen;
-}
-
-/************************************************************************************************/
-
-.propertyNameCell {
- vertical-align: top;
-}
-
-.propertyName {
- font-weight: bold;
-}
--- a/includes/clientside/firebug/src/firebug.js Fri May 29 20:22:30 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,672 +0,0 @@
-
-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);
-})();
-}
--- a/includes/clientside/firebug/src/firebugx.js Fri May 29 20:22:30 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-
-if (!("console" in window) || !("firebug" in console))
-{
- var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
- "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
-
- window.console = {};
- for (var i = 0; i < names.length; ++i)
- window.console[names[i]] = function() {}
-}
\ No newline at end of file
Binary file includes/clientside/firebug/warningIcon.png has changed
--- a/licenses/index.html Fri May 29 20:22:30 2009 -0400
+++ b/licenses/index.html Sat May 30 14:46:57 2009 -0400
@@ -103,6 +103,7 @@
<ul>
<li><a href="http://pajhome.org.uk/">Paul Johnston</a>'s implementations of the MD5 and SHA1 algorithms in Javascript</li>
<li><a href="http://framework.zend.com/">Zend Framework</a>, for the majority of JSON operations</li>
+ <li><a href="http://getfirebug.com/lite/">Firebug Lite</a>, only the minimal version that stubs window.console.</li>
</ul>
<h2>The MIT/X License</h2>
@@ -117,12 +118,6 @@
<li><a href="http://www.famfamfam.com/lab/icons/silk/">fam fam fam silk icon set</a> - the icons used in the administration panel and several other places</li>
</ul>
-<h2>Mozilla Public License</h2>
-<p><a href="mpl.html">View the text of this license</a></p>
-<ul>
- <li><a href="http://getfirebug.com/">Firebug</a> Lite, a remix of Firebug that works in non-Firefox browsers and can be loaded on demand</li>
-</ul>
-
<!-- <div class="copyright">valid <a href="http://validator.w3.org/check/referer">xhtml</a> and <a href="http://jigsaw.w3.org/css-validator/validator?uri=referer">css</a></div> -->
</div>
--- a/licenses/mpl.html Fri May 29 20:22:30 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,469 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml111.dtd">
-<html>
-<head>
-<title>Mozilla Public License</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style type="text/css">
-body {
- margin: 0;
- padding: 0;
- background-color: #FFFFFF;
- color: #000000;
-}
-body div.main {
- border: 1px solid #cccccc;
- background-color: #F1F3F5;
- margin: 10px;
- padding: 10px;
-}
-* {
- font-family: verdana, tahoma, arial, helvetica, sans-serif;
- font-size: 8pt;
-}
-p {
- margin-left: 1.5em;
-}
-h1, h2, h3 {
- color: #50A0D0;
- font-weight: normal;
- font-family: 'trebuchet ms', verdana, tahoma, arial, helvetica, sans-serif;
-}
-h1 {
- font-size: 16pt;
-}
-h2 {
- font-size: 12pt;
- margin-left: 0.5em;
-}
-h3 {
- font-size: 10pt;
- margin-left: 1em;
-}
-a:link, a:visited, a:active {
- color: #3080B0;
- text-decoration: none;
- border-bottom: 1px dotted #50A0D0;
-}
-a:hover {
- color: #50A0D0;
- border-bottom: 1px solid #50A0D0;
-}
-pre {
- font-family: 'courier new', monospace;
- background-color: #F8F8F8;
- margin: 10px 10px 10px 30px;
- max-height: 150px;
- clip: rect(0px,auto,auto,0px);
- overflow: auto;
- padding: 10px;
- border: 1px solid #3060B0;
-}
-li {
- list-style-type: square;
-}
-div.copyright {
- text-align: right;
- font-size: smaller;
-}
-div.copyright * {
- font-size: smaller;
-}
-</style>
-</head>
-<body>
-
-<div class="main">
-
- <h1>Mozilla Public License Version 1.1</h1>
-
- <h2 id="section-1">1. Definitions.</h2>
- <dl>
- <dt id="section-1.0.1">1.0.1. "Commercial Use"</dt>
- <dd>means distribution or otherwise making the Covered Code available to a third party.</dd>
- <dt id="section-1.1">1.1. "Contributor"</dt>
- <dd>means each entity that creates or contributes to the creation of Modifications.</dd>
- <dt id="section-1.2">1.2. "Contributor Version"</dt>
- <dd>means the combination of the Original Code, prior Modifications used by a Contributor,
- and the Modifications made by that particular Contributor.</dd>
- <dt id="section-1.3">1.3. "Covered Code"</dt>
- <dd>means the Original Code or Modifications or the combination of the Original Code and
- Modifications, in each case including portions thereof.</dd>
- <dt id="section-1.4">1.4. "Electronic Distribution Mechanism"</dt>
- <dd>means a mechanism generally accepted in the software development community for the
- electronic transfer of data.</dd>
- <dt id="section-1.5">1.5. "Executable"</dt>
- <dd>means Covered Code in any form other than Source Code.</dd>
- <dt id="section-1.6">1.6. "Initial Developer"</dt>
- <dd>means the individual or entity identified as the Initial Developer in the Source Code
- notice required by <a href="#exhibit-a">Exhibit A</a>.</dd>
- <dt id="section-1.7">1.7. "Larger Work"</dt>
- <dd>means a work which combines Covered Code or portions thereof with code not governed
- by the terms of this License.</dd>
- <dt id="section-1.8">1.8. "License"</dt>
- <dd>means this document.</dd>
- <dt id="section-1.8.1">1.8.1. "Licensable"</dt>
- <dd>means having the right to grant, to the maximum extent possible, whether at the
- time of the initial grant or subsequently acquired, any and all of the rights
- conveyed herein.</dd>
- <dt id="section-1.9">1.9. "Modifications"</dt>
- <dd>
-
- <p>means any addition to or deletion from the substance or structure of either the
- Original Code or any previous Modifications. When Covered Code is released as a
- series of files, a Modification is:</p>
- <ol type="a">
- <li id="section-1.9-a">Any addition to or deletion from the contents of a file
- containing Original Code or previous Modifications.</li>
- <li id="section-1.9-b">Any new file that contains any part of the Original Code or
- previous Modifications.</li>
- </ol>
- </dd>
- <dt id="section-1.10">1.10. "Original Code"</dt>
- <dd>means Source Code of computer software code which is described in the Source Code
- notice required by <a href="#exhibit-a">Exhibit A</a> as Original Code, and which,
- at the time of its release under this License is not already Covered Code governed
- by this License.</dd>
- <dt id="section-1.10.1">1.10.1. "Patent Claims"</dt>
- <dd>means any patent claim(s), now owned or hereafter acquired, including without
- limitation, method, process, and apparatus claims, in any patent Licensable by
- grantor.</dd>
- <dt id="section-1.11">1.11. "Source Code"</dt>
- <dd>means the preferred form of the Covered Code for making modifications to it,
- including all modules it contains, plus any associated interface definition files,
- scripts used to control compilation and installation of an Executable, or source
- code differential comparisons against either the Original Code or another well known,
- available Covered Code of the Contributor's choice. The Source Code can be in a
- compressed or archival form, provided the appropriate decompression or de-archiving
- software is widely available for no charge.</dd>
- <dt id="section-1.12">1.12. "You" (or "Your")</dt>
- <dd>means an individual or a legal entity exercising rights under, and complying with
- all of the terms of, this License or a future version of this License issued under
- <a href="#section-6.1">Section 6.1.</a> For legal entities, "You" includes any entity
- which controls, is controlled by, or is under common control with You. For purposes of
- this definition, "control" means (a) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or otherwise, or (b)
- ownership of more than fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.</dd>
- </dl>
-
- <h2 id="section-2">2. Source Code License.</h2>
- <h3 id="section-2.1">2.1. The Initial Developer Grant.</h3>
- <p>The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive
- license, subject to third party intellectual property claims:</p>
- <ol type="a">
- <li id="section-2.1-a">under intellectual property rights (other than patent or
- trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform,
- sublicense and distribute the Original Code (or portions thereof) with or without
- Modifications, and/or as part of a Larger Work; and</li>
- <li id="section-2.1-b">under Patents Claims infringed by the making, using or selling
- of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or
- otherwise dispose of the Original Code (or portions thereof).</li>
- <li id="section-2.1-c">the licenses granted in this Section 2.1
- (<a href="#section-2.1-a">a</a>) and (<a href="#section-2.1-b">b</a>) are effective on
- the date Initial Developer first distributes Original Code under the terms of this
- License.</li>
- <li id="section-2.1-d">Notwithstanding Section 2.1 (<a href="#section-2.1-b">b</a>)
- above, no patent license is granted: 1) for code that You delete from the Original Code;
- 2) separate from the Original Code; or 3) for infringements caused by: i) the
- modification of the Original Code or ii) the combination of the Original Code with other
- software or devices.</li>
- </ol>
-
- <h3 id="section-2.2">2.2. Contributor Grant.</h3>
- <p>Subject to third party intellectual property claims, each Contributor hereby grants You
- a world-wide, royalty-free, non-exclusive license</p>
- <ol type="a">
- <li id="section-2.2-a">under intellectual property rights (other than patent or trademark)
- Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and
- distribute the Modifications created by such Contributor (or portions thereof) either on
- an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger
- Work; and</li>
- <li id="section-2.2-b">under Patent Claims infringed by the making, using, or selling of
- Modifications made by that Contributor either alone and/or in combination with its
- Contributor Version (or portions of such combination), to make, use, sell, offer for
- sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor
- (or portions thereof); and 2) the combination of Modifications made by that Contributor
- with its Contributor Version (or portions of such combination).</li>
- <li id="section-2.2-c">the licenses granted in Sections 2.2
- (<a href="#section-2.2-a">a</a>) and 2.2 (<a href="#section-2.2-b">b</a>) are effective
- on the date Contributor first makes Commercial Use of the Covered Code.
- <li id="section-2.2-d">Notwithstanding Section 2.2 (<a href="#section-2.2-b">b</a>)
- above, no patent license is granted: 1) for any code that Contributor has deleted from
- the Contributor Version; 2) separate from the Contributor Version; 3) for infringements
- caused by: i) third party modifications of Contributor Version or ii) the combination of
- Modifications made by that Contributor with other software (except as part of the
- Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code
- in the absence of Modifications made by that Contributor.</li>
- </ol>
-
- <h2 id="section-3">3. Distribution Obligations.</h2>
- <h3 id="section-3.1">3.1. Application of License.</h3>
- <p>The Modifications which You create or to which You contribute are governed by the terms
- of this License, including without limitation Section <a href="#section-2.2">2.2</a>. The
- Source Code version of Covered Code may be distributed only under the terms of this License
- or a future version of this License released under Section <a href="#section-6.1">6.1</a>,
- and You must include a copy of this License with every copy of the Source Code You
- distribute. You may not offer or impose any terms on any Source Code version that alters or
- restricts the applicable version of this License or the recipients' rights hereunder.
- However, You may include an additional document offering the additional rights described in
- Section <a href="#section-3.5">3.5</a>.</p>
- <h3 id="section-3.2">3.2. Availability of Source Code.</h3>
- <p>Any Modification which You create or to which You contribute must be made available in
- Source Code form under the terms of this License either on the same media as an Executable
- version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an
- Executable version available; and if made available via Electronic Distribution Mechanism,
- must remain available for at least twelve (12) months after the date it initially became
- available, or at least six (6) months after a subsequent version of that particular
- Modification has been made available to such recipients. You are responsible for ensuring
- that the Source Code version remains available even if the Electronic Distribution
- Mechanism is maintained by a third party.</p>
- <h3 id="section-3.3">3.3. Description of Modifications.</h3>
-
- <p>You must cause all Covered Code to which You contribute to contain a file documenting the
- changes You made to create that Covered Code and the date of any change. You must include a
- prominent statement that the Modification is derived, directly or indirectly, from Original
- Code provided by the Initial Developer and including the name of the Initial Developer in
- (a) the Source Code, and (b) in any notice in an Executable version or related documentation
- in which You describe the origin or ownership of the Covered Code.</p>
- <h3 id="section-3.4">3.4. Intellectual Property Matters</h3>
- <h4 id="section-3.4-a">(a) Third Party Claims</h4>
- <p>If Contributor has knowledge that a license under a third party's intellectual property
- rights is required to exercise the rights granted by such Contributor under Sections
- <a href="#section-2.1">2.1</a> or <a href="#section-2.2">2.2</a>, Contributor must include a
- text file with the Source Code distribution titled "LEGAL" which describes the claim and the
- party making the claim in sufficient detail that a recipient will know whom to contact. If
- Contributor obtains such knowledge after the Modification is made available as described in
- Section <a href="#section-3.2">3.2</a>, Contributor shall promptly modify the LEGAL file in
- all copies Contributor makes available thereafter and shall take other steps (such as
- notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who
- received the Covered Code that new knowledge has been obtained.</p>
- <h4 id="section-3.4-b">(b) Contributor APIs</h4>
-
- <p>If Contributor's Modifications include an application programming interface and Contributor
- has knowledge of patent licenses which are reasonably necessary to implement that
- <abbr>API</abbr>, Contributor must also include this information in the
- <strong class="very-strong">legal</strong> file.</p>
- <h4 id="section-3.4-c">(c) Representations.</h4>
- <p>Contributor represents that, except as disclosed pursuant to Section 3.4
- (<a href="#section-3.4-a">a</a>) above, Contributor believes that Contributor's Modifications
- are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the
- rights conveyed by this License.</p>
- <h3 id="section-3.5">3.5. Required Notices.</h3>
- <p>You must duplicate the notice in <a href="#exhibit-a">Exhibit A</a> in each file of the
- Source Code. If it is not possible to put such notice in a particular Source Code file due to
- its structure, then You must include such notice in a location (such as a relevant directory)
- where a user would be likely to look for such a notice. If You created one or more
- Modification(s) You may add your name as a Contributor to the notice described in
- <a href="#exhibit-a">Exhibit A</a>. You must also duplicate this License in any documentation
- for the Source Code where You describe recipients' rights or ownership rights relating to
- Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity
- or liability obligations to one or more recipients of Covered Code. However, You may do so
- only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You
- must make it absolutely clear than any such warranty, support, indemnity or liability
- obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer
- and every Contributor for any liability incurred by the Initial Developer or such Contributor
- as a result of warranty, support, indemnity or liability terms You offer.</p>
- <h3 id="section-3.6">3.6. Distribution of Executable Versions.</h3>
-
- <p>You may distribute Covered Code in Executable form only if the requirements of Sections
- <a href="#section-3.1">3.1</a>, <a href="#section-3.2">3.2</a>,
- <a href="#section-3.3">3.3</a>, <a href="#section-3.4">3.4</a> and
- <a href="#section-3.5">3.5</a> have been met for that Covered Code, and if You include a
- notice stating that the Source Code version of the Covered Code is available under the terms
- of this License, including a description of how and where You have fulfilled the obligations
- of Section <a href="#section-3.2">3.2</a>. The notice must be conspicuously included in any
- notice in an Executable version, related documentation or collateral in which You describe
- recipients' rights relating to the Covered Code. You may distribute the Executable version of
- Covered Code or ownership rights under a license of Your choice, which may contain terms
- different from this License, provided that You are in compliance with the terms of this
- License and that the license for the Executable version does not attempt to limit or alter the
- recipient's rights in the Source Code version from the rights set forth in this License. If
- You distribute the Executable version under a different license You must make it absolutely
- clear that any terms which differ from this License are offered by You alone, not by the
- Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and
- every Contributor for any liability incurred by the Initial Developer or such Contributor as
- a result of any such terms You offer.</p>
- <h3 id="section-3.7">3.7. Larger Works.</h3>
-
- <p>You may create a Larger Work by combining Covered Code with other code not governed by the
- terms of this License and distribute the Larger Work as a single product. In such a case,
- You must make sure the requirements of this License are fulfilled for the Covered Code.</p>
- <h2 id="section-4">4. Inability to Comply Due to Statute or Regulation.</h2>
- <p>If it is impossible for You to comply with any of the terms of this License with respect to
- some or all of the Covered Code due to statute, judicial order, or regulation then You must:
- (a) comply with the terms of this License to the maximum extent possible; and (b) describe
- the limitations and the code they affect. Such description must be included in the
- <strong class="very-strong">legal</strong> file described in Section
- <a href="#section-3.4">3.4</a> and must be included with all distributions of the Source Code.
- Except to the extent prohibited by statute or regulation, such description must be
- sufficiently detailed for a recipient of ordinary skill to be able to understand it.</p>
- <h2 id="section-5">5. Application of this License.</h2>
- <p>This License applies to code to which the Initial Developer has attached the notice in
- <a href="#exhibit-a">Exhibit A</a> and to related Covered Code.</p>
- <h2 id="section-6">6. Versions of the License.</h2>
-
- <h3 id="section-6.1">6.1. New Versions</h3>
- <p>Netscape Communications Corporation ("Netscape") may publish revised and/or new versions
- of the License from time to time. Each version will be given a distinguishing version number.</p>
- <h3 id="section-6.2">6.2. Effect of New Versions</h3>
- <p>Once Covered Code has been published under a particular version of the License, You may
- always continue to use it under the terms of that version. You may also choose to use such
- Covered Code under the terms of any subsequent version of the License published by Netscape.
- No one other than Netscape has the right to modify the terms applicable to Covered Code
- created under this License.</p>
- <h3 id="section-6.3">6.3. Derivative Works</h3>
- <p>If You create or use a modified version of this License (which you may only do in order to
- apply it to code which is not already Covered Code governed by this License), You must (a)
- rename Your license so that the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL",
- "NPL" or any confusingly similar phrase do not appear in your license (except to note that
- your license differs from this License) and (b) otherwise make it clear that Your version of
- the license contains terms which differ from the Mozilla Public License and Netscape Public
- License. (Filling in the name of the Initial Developer, Original Code or Contributor in the
- notice described in <a href="#exhibit-a">Exhibit A</a> shall not of themselves be deemed to
- be modifications of this License.)</p>
- <h2 id="section-7">7. <strong class="very-strong">Disclaimer of warranty</strong></h2>
-
- <p><strong class="very-strong">Covered code is provided under this license on an "as is"
- basis, without warranty of any kind, either expressed or implied, including, without
- limitation, warranties that the covered code is free of defects, merchantable, fit for a
- particular purpose or non-infringing. The entire risk as to the quality and performance of
- the covered code is with you. Should any covered code prove defective in any respect, you
- (not the initial developer or any other contributor) assume the cost of any necessary
- servicing, repair or correction. This disclaimer of warranty constitutes an essential part
- of this license. No use of any covered code is authorized hereunder except under this
- disclaimer.</strong></p>
- <h2 id="section-8">8. Termination</h2>
- <p id="section-8.1">8.1. This License and the rights granted hereunder will terminate
- automatically if You fail to comply with terms herein and fail to cure such breach
- within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which
- are properly granted shall survive any termination of this License. Provisions which, by
- their nature, must remain in effect beyond the termination of this License shall survive.
- <p id="section-8.2">8.2. If You initiate litigation by asserting a patent infringement
- claim (excluding declatory judgment actions) against Initial Developer or a Contributor
- (the Initial Developer or Contributor against whom You file such action is referred to
- as "Participant") alleging that:</p>
- <ol type="a">
- <li id="section-8.2-a">such Participant's Contributor Version directly or indirectly
- infringes any patent, then any and all rights granted by such Participant to You under
- Sections <a href="#section-2.1">2.1</a> and/or <a href="#section-2.2">2.2</a> of this
- License shall, upon 60 days notice from Participant terminate prospectively, unless if
- within 60 days after receipt of notice You either: (i) agree in writing to pay
- Participant a mutually agreeable reasonable royalty for Your past and future use of
- Modifications made by such Participant, or (ii) withdraw Your litigation claim with
- respect to the Contributor Version against such Participant. If within 60 days of
- notice, a reasonable royalty and payment arrangement are not mutually agreed upon in
- writing by the parties or the litigation claim is not withdrawn, the rights granted by
- Participant to You under Sections <a href="#section-2.1">2.1</a> and/or
- <a href="#section-2.2">2.2</a> automatically terminate at the expiration of the 60 day
- notice period specified above.</li>
- <li id="section-8.2-b">any software, hardware, or device, other than such Participant's
- Contributor Version, directly or indirectly infringes any patent, then any rights
- granted to You by such Participant under Sections 2.1(<a href="#section-2.1-b">b</a>)
- and 2.2(<a href="#section-2.2-b">b</a>) are revoked effective as of the date You first
- made, used, sold, distributed, or had made, Modifications made by that Participant.</li>
- </ol>
-
- <p id="section-8.3">8.3. If You assert a patent infringement claim against Participant
- alleging that such Participant's Contributor Version directly or indirectly infringes
- any patent where such claim is resolved (such as by license or settlement) prior to the
- initiation of patent infringement litigation, then the reasonable value of the licenses
- granted by such Participant under Sections <a href="#section-2.1">2.1</a> or
- <a href="#section-2.2">2.2</a> shall be taken into account in determining the amount or
- value of any payment or license.
- <p id="section-8.4">8.4. In the event of termination under Sections
- <a href="#section-8.1">8.1</a> or <a href="#section-8.2">8.2</a> above, all end user
- license agreements (excluding distributors and resellers) which have been validly
- granted by You or any distributor hereunder prior to termination shall survive
- termination.</p>
- <h2 id="section-9">9. <strong class="very-strong">Limitation of liability</strong></h2>
-
- <p><strong class="very-strong">Under no circumstances and under no legal theory, whether
- tort (including negligence), contract, or otherwise, shall you, the initial developer,
- any other contributor, or any distributor of covered code, or any supplier of any of
- such parties, be liable to any person for any indirect, special, incidental, or
- consequential damages of any character including, without limitation, damages for loss
- of goodwill, work stoppage, computer failure or malfunction, or any and all other
- commercial damages or losses, even if such party shall have been informed of the
- possibility of such damages. This limitation of liability shall not apply to liability
- for death or personal injury resulting from such party's negligence to the extent
- applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion
- or limitation of incidental or consequential damages, so this exclusion and limitation
- may not apply to you.</strong>
- <h2 id="section-10">10. <abbr title="United States">U.S.</abbr> government end users</h2>
- <p>The Covered Code is a "commercial item," as that term is defined in 48
- <abbr>C.F.R.</abbr> 2.101 (<abbr title="October">Oct.</abbr> 1995), consisting of
- "commercial computer software" and "commercial computer software documentation," as such
- terms are used in 48 <abbr>C.F.R.</abbr> 12.212 (<abbr title="September">Sept.</abbr>
-
- 1995). Consistent with 48 <abbr>C.F.R.</abbr> 12.212 and 48 <abbr>C.F.R.</abbr>
- 227.7202-1 through 227.7202-4 (June 1995), all <abbr>U.S.</abbr> Government End Users
- acquire Covered Code with only those rights set forth herein.</p>
- <h2 id="section-11">11. Miscellaneous</h2>
- <p>This License represents the complete agreement concerning subject matter hereof. If
- any provision of this License is held to be unenforceable, such provision shall be
- reformed only to the extent necessary to make it enforceable. This License shall be
- governed by California law provisions (except to the extent applicable law, if any,
- provides otherwise), excluding its conflict-of-law provisions. With respect to
- disputes in which at least one party is a citizen of, or an entity chartered or
- registered to do business in the United States of America, any litigation relating to
- this License shall be subject to the jurisdiction of the Federal Courts of the
- Northern District of California, with venue lying in Santa Clara County, California,
- with the losing party responsible for costs, including without limitation, court
- costs and reasonable attorneys' fees and expenses. The application of the United
- Nations Convention on Contracts for the International Sale of Goods is expressly
- excluded. Any law or regulation which provides that the language of a contract
- shall be construed against the drafter shall not apply to this License.</p>
- <h2 id="section-12">12. Responsibility for claims</h2>
-
- <p>As between Initial Developer and the Contributors, each party is responsible for
- claims and damages arising, directly or indirectly, out of its utilization of rights
- under this License and You agree to work with Initial Developer and Contributors to
- distribute such responsibility on an equitable basis. Nothing herein is intended or
- shall be deemed to constitute any admission of liability.</p>
- <h2 id="section-13">13. Multiple-licensed code</h2>
- <p>Initial Developer may designate portions of the Covered Code as
- "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits
- you to utilize portions of the Covered Code under Your choice of the <abbr>MPL</abbr>
- or the alternative licenses, if any, specified by the Initial Developer in the file
- described in <a href="#exhibit-a">Exhibit A</a>.</p>
- <h2 id="exhibit-a">Exhibit A - Mozilla Public License.</h2>
- <pre>"The contents of this file are subject to the Mozilla Public License
-Version 1.1 (the "License"); you may not use this file except in
-compliance with the License. You may obtain a copy of the License at
-http://www.mozilla.org/MPL/
-
-Software distributed under the License is distributed on an "AS IS"
-basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-License for the specific language governing rights and limitations
-under the License.
-
-The Original Code is ______________________________________.
-
-The Initial Developer of the Original Code is ________________________.
-Portions created by ______________________ are Copyright (C) ______
-_______________________. All Rights Reserved.
-
-Contributor(s): ______________________________________.
-
-Alternatively, the contents of this file may be used under the terms
-of the _____ license (the "[___] License"), in which case the
-provisions of [______] License are applicable instead of those
-above. If you wish to allow use of your version of this file only
-under the terms of the [____] License and not to allow others to use
-your version of this file under the MPL, indicate your decision by
-deleting the provisions above and replace them with the notice and
-other provisions required by the [___] License. If you do not delete
-the provisions above, a recipient may use your version of this file
-under either the MPL or the [___] License."</pre>
-
- <p>NOTE: The text of this Exhibit A may differ slightly from the text of
- the notices in the Source Code files of the Original Code. You should
- use the text of this Exhibit A rather than the text found in the
- Original Code Source Code for Your Modifications.</p>
-
-<div class="copyright">(no longer) valid <a href="http://validator.w3.org/check/referer">xhtml</a> and <a href="http://jigsaw.w3.org/css-validator/validator?uri=referer">css</a> | design by <a href="http://enanocms.org/User:dandaman32">dan fuhry</a> and <a href="http://www.fusionnerd.com/">manoj maddali</a></div>
-
-</div>
-
-</body>
-</html>