CodeIgniter installed
[living-lab-site.git] / user_guide / nav / prototype.lite.js
diff --git a/user_guide/nav/prototype.lite.js b/user_guide/nav/prototype.lite.js
new file mode 100755 (executable)
index 0000000..e6c3622
--- /dev/null
@@ -0,0 +1,127 @@
+/*  Prototype JavaScript framework
+ *  (c) 2005 Sam Stephenson <sam@conio.net>
+ *
+ *  Prototype is freely distributable under the terms of an MIT-style license.
+ *
+ *  For details, see the Prototype web site: http://prototype.conio.net/
+ *
+/*--------------------------------------------------------------------------*/
+
+
+//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() {
+       return function() {
+         this.initialize.apply(this, arguments);
+       }
+  }
+}
+
+Object.extend = function(destination, source) {
+  for (property in source) {
+       destination[property] = source[property];
+  }
+  return destination;
+}
+
+Function.prototype.bind = function(object) {
+  var __method = this;
+  return function() {
+       return __method.apply(object, arguments);
+  }
+}
+
+function $() {
+  var elements = new Array();
+
+  for (var i = 0; i < arguments.length; i++) {
+       var element = arguments[i];
+       if (typeof element == 'string')
+         element = document.getElementById(element);
+
+       if (arguments.length == 1)
+         return element;
+
+       elements.push(element);
+  }
+
+  return elements;
+}
+
+//-------------------------
+
+document.getElementsByClassName = function(className) {
+  var children = document.getElementsByTagName('*') || document.all;
+  var elements = new Array();
+
+  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) {
+               elements.push(child);
+               break;
+         }
+       }
+  }
+
+  return elements;
+}
+
+//-------------------------
+
+if (!window.Element) {
+  var Element = new Object();
+}
+
+Object.extend(Element, {
+  remove: function(element) {
+       element = $(element);
+       element.parentNode.removeChild(element);
+  },
+
+  hasClassName: function(element, className) {
+       element = $(element);
+       if (!element)
+         return;
+       var a = element.className.split(' ');
+       for (var i = 0; i < a.length; i++) {
+         if (a[i] == className)
+               return true;
+       }
+       return false;
+  },
+
+  addClassName: function(element, className) {
+       element = $(element);
+       Element.removeClassName(element, className);
+       element.className += ' ' + className;
+  },
+
+  removeClassName: function(element, className) {
+       element = $(element);
+       if (!element)
+         return;
+       var newClassName = '';
+       var a = element.className.split(' ');
+       for (var i = 0; i < a.length; i++) {
+         if (a[i] != className) {
+               if (i > 0)
+                 newClassName += ' ';
+               newClassName += a[i];
+         }
+       }
+       element.className = newClassName;
+  },
+
+  // 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))
+               Element.remove(node);
+       }
+  }
+});
\ No newline at end of file