backed out 648b42a75739, which was a NON-trivial whitespace commit.  It broke the Typography class's string replacements, for instance
diff --git a/user_guide/nav/hacks.txt b/user_guide/nav/hacks.txt
index 183481b..8c17f00 100644
--- a/user_guide/nav/hacks.txt
+++ b/user_guide/nav/hacks.txt
@@ -1,6 +1,6 @@
 I did the following hack in moo.fx.js:
 
-At line 79 in the toggle: function() function, I added:
+At line 79 in the toggle: function()  function, I added:
 
 document.getElementById('nav').style.display = 'block';
 
diff --git a/user_guide/nav/moo.fx.js b/user_guide/nav/moo.fx.js
index b21ee20..256371d 100755
--- a/user_guide/nav/moo.fx.js
+++ b/user_guide/nav/moo.fx.js
@@ -25,8 +25,8 @@
 	},
 
 	step: function() {
-		var time = (new Date).getTime();
-		var Tpos  = (time - this.startTime) / (this.duration);
+		var time  = (new Date).getTime();
+		var Tpos   = (time - this.startTime) / (this.duration);
 		if (time >= this.duration+this.startTime) {
 			this.now = this.to;
 			clearInterval (this.timer);
diff --git a/user_guide/nav/prototype.lite.js b/user_guide/nav/prototype.lite.js
index 857faae..e6c3622 100755
--- a/user_guide/nav/prototype.lite.js
+++ b/user_guide/nav/prototype.lite.js
@@ -1,9 +1,9 @@
-/* Prototype JavaScript framework
- * (c) 2005 Sam Stephenson <sam@conio.net>
+/*  Prototype JavaScript framework
+ *  (c) 2005 Sam Stephenson <sam@conio.net>
  *
- * Prototype is freely distributable under the terms of an MIT-style license.
+ *  Prototype is freely distributable under the terms of an MIT-style license.
  *
- * For details, see the Prototype web site: http://prototype.conio.net/
+ *  For details, see the Prototype web site: http://prototype.conio.net/
  *
 /*--------------------------------------------------------------------------*/
 
@@ -11,117 +11,117 @@
 //note: this is a stripped down version of prototype, to be used with moo.fx by mad4milk (http://moofx.mad4milk.net).
 
 var Class = {
- create: function() {
+  create: function() {
 	return function() {
-	 this.initialize.apply(this, arguments);
+	  this.initialize.apply(this, arguments);
 	}
- }
+  }
 }
 
 Object.extend = function(destination, source) {
- for (property in source) {
+  for (property in source) {
 	destination[property] = source[property];
- }
- return destination;
+  }
+  return destination;
 }
 
 Function.prototype.bind = function(object) {
- var __method = this;
- return function() {
+  var __method = this;
+  return function() {
 	return __method.apply(object, arguments);
- }
+  }
 }
 
 function $() {
- var elements = new Array();
+  var elements = new Array();
 
- for (var i = 0; i < arguments.length; i++) {
+  for (var i = 0; i < arguments.length; i++) {
 	var element = arguments[i];
 	if (typeof element == 'string')
-	 element = document.getElementById(element);
+	  element = document.getElementById(element);
 
 	if (arguments.length == 1)
-	 return element;
+	  return element;
 
 	elements.push(element);
- }
+  }
 
- return elements;
+  return elements;
 }
 
 //-------------------------
 
 document.getElementsByClassName = function(className) {
- var children = document.getElementsByTagName('*') || document.all;
- var elements = new Array();
+  var children = document.getElementsByTagName('*') || document.all;
+  var elements = new Array();
 
- for (var i = 0; i < children.length; i++) {
+  for (var i = 0; i < children.length; i++) {
 	var child = children[i];
 	var classNames = child.className.split(' ');
 	for (var j = 0; j < classNames.length; j++) {
-	 if (classNames[j] == className) {
+	  if (classNames[j] == className) {
 		elements.push(child);
 		break;
-	 }
+	  }
 	}
- }
+  }
 
- return elements;
+  return elements;
 }
 
 //-------------------------
 
 if (!window.Element) {
- var Element = new Object();
+  var Element = new Object();
 }
 
 Object.extend(Element, {
- remove: function(element) {
+  remove: function(element) {
 	element = $(element);
 	element.parentNode.removeChild(element);
- },
+  },
 
- hasClassName: function(element, className) {
+  hasClassName: function(element, className) {
 	element = $(element);
 	if (!element)
-	 return;
+	  return;
 	var a = element.className.split(' ');
 	for (var i = 0; i < a.length; i++) {
-	 if (a[i] == className)
+	  if (a[i] == className)
 		return true;
 	}
 	return false;
- },
+  },
 
- addClassName: function(element, className) {
+  addClassName: function(element, className) {
 	element = $(element);
 	Element.removeClassName(element, className);
 	element.className += ' ' + className;
- },
+  },
 
- removeClassName: function(element, className) {
+  removeClassName: function(element, className) {
 	element = $(element);
 	if (!element)
-	 return;
+	  return;
 	var newClassName = '';
 	var a = element.className.split(' ');
 	for (var i = 0; i < a.length; i++) {
-	 if (a[i] != className) {
+	  if (a[i] != className) {
 		if (i > 0)
-		 newClassName += ' ';
+		  newClassName += ' ';
 		newClassName += a[i];
-	 }
+	  }
 	}
 	element.className = newClassName;
- },
+  },
 
- // removes whitespace-only text node children
- cleanWhitespace: function(element) {
+  // removes whitespace-only text node children
+  cleanWhitespace: function(element) {
 	element = $(element);
 	for (var i = 0; i < element.childNodes.length; i++) {
-	 var node = element.childNodes[i];
-	 if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
+	  var node = element.childNodes[i];
+	  if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
 		Element.remove(node);
 	}
- }
+  }
 });
\ No newline at end of file