diff --git a/planetstack/core/static/log4javascript-1.4.6/examples/demo.html b/planetstack/core/static/log4javascript-1.4.6/examples/demo.html
new file mode 100644
index 0000000..118b879
--- /dev/null
+++ b/planetstack/core/static/log4javascript-1.4.6/examples/demo.html
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+	<head>
+		<title>log4javascript demo redirect</title>
+		<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+		<meta name="author" content="Tim Down - tim@log4javascript.org" />
+		<meta name="description" content="log4javascript, a logging framework for JavaScript based on log4j" />
+		<meta name="robots" content="noindex" />
+		<meta http-equiv="refresh" content="0; url=../demos/basic.html" />
+	</head>
+	<body>
+		This page has been replaced by <a href="/demos/basic.html">the basic demo page</a>.
+		Please use this link if you are not redirected automatically.
+	</body>
+</html>
diff --git a/planetstack/core/static/log4javascript-1.4.6/examples/example_manual.html b/planetstack/core/static/log4javascript-1.4.6/examples/example_manual.html
new file mode 100644
index 0000000..68189e3
--- /dev/null
+++ b/planetstack/core/static/log4javascript-1.4.6/examples/example_manual.html
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+	<head>
+		<title>log4javascript example from  manual</title>
+		<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+		<meta name="author" content="Tim Down - tim@log4javascript.org" />
+		<meta name="description" content="log4javascript, a logging framework for JavaScript based on log4j" />
+		<meta name="robots" content="all" />
+		<script type="text/javascript" src="../js/log4javascript.js"></script>
+		<script type="text/javascript">
+			//<![CDATA[
+			var log = log4javascript.getLogger();
+			var popUpAppender = new log4javascript.PopUpAppender();
+			var popUpLayout = new log4javascript.PatternLayout("%d{HH:mm:ss} %-5p - %m%n");
+			popUpAppender.setLayout(popUpLayout);
+			log.addAppender(popUpAppender);
+			var ajaxAppender = new log4javascript.AjaxAppender("myloggingservlet.do");
+			ajaxAppender.setThreshold(log4javascript.Level.ERROR);
+			log.addAppender(ajaxAppender);
+			log.debug("Debugging message (appears in pop-up)");
+			log.error("Error message (appears in pop-up and in server log)");
+			//]]>
+		</script>
+	</head>
+	<body>
+		<h1>log4javascript example from  manual</h1>
+
+
+	</body>
+</html>
diff --git a/planetstack/core/static/log4javascript-1.4.6/examples/example_quickstart_1.html b/planetstack/core/static/log4javascript-1.4.6/examples/example_quickstart_1.html
new file mode 100644
index 0000000..3ae4a9f
--- /dev/null
+++ b/planetstack/core/static/log4javascript-1.4.6/examples/example_quickstart_1.html
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+	<head>
+		<title>log4javascript quick start example 1</title>
+		<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+		<meta name="author" content="Tim Down - tim@log4javascript.org" />
+		<meta name="description" content="log4javascript, a logging framework for JavaScript based on log4j" />
+		<meta name="robots" content="all" />
+		<script type="text/javascript" src="../js/log4javascript.js"></script>
+		<script type="text/javascript">
+			//<![CDATA[
+			// Create the logger
+			var log = log4javascript.getLogger(); 
+		
+			// Create a PopUpAppender with default options
+			var popUpAppender = new log4javascript.PopUpAppender();
+			
+			// Change the desired configuration options
+			popUpAppender.setFocusPopUp(true);
+			popUpAppender.setNewestMessageAtTop(true);
+			
+			// Add the appender to the logger
+			log.addAppender(popUpAppender);
+			
+			// Test the logger
+			log.debug("Hello world!");
+			//]]>
+		</script>
+	</head>
+	<body>
+		<h1>log4javascript quick start example 1</h1>
+	
+	
+	</body>
+</html>
diff --git a/planetstack/core/static/log4javascript-1.4.6/examples/myloggingservlet.do b/planetstack/core/static/log4javascript-1.4.6/examples/myloggingservlet.do
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/planetstack/core/static/log4javascript-1.4.6/examples/myloggingservlet.do
