You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by an...@apache.org on 2018/11/06 17:50:32 UTC

[13/16] zookeeper git commit: ZOOKEEPER-3155: Remove Forrest XMLs and their build process from the …

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/breadcrumbs.js
----------------------------------------------------------------------
diff --git a/docs/skin/breadcrumbs.js b/docs/skin/breadcrumbs.js
deleted file mode 100644
index aea80ec..0000000
--- a/docs/skin/breadcrumbs.js
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (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.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-/**
- * This script, when included in a html file, builds a neat breadcrumb trail
- * based on its url. That is, if it doesn't contains bugs (I'm relatively
- * sure it does).
- *
- * Typical usage:
- * <script type="text/javascript" language="JavaScript" src="breadcrumbs.js"></script>
- */
-
-/**
- * IE 5 on Mac doesn't know Array.push.
- *
- * Implement it - courtesy to fritz.
- */
-var abc	= new Array();
-if (!abc.push) {
-  Array.prototype.push	= function(what){this[this.length]=what}
-}
-
-/* ========================================================================
-	CONSTANTS
-   ======================================================================== */
-
-/**
- * Two-dimensional array containing extra crumbs to place at the front of
- * the trail. Specify first the name of the crumb, then the URI that belongs
- * to it. You'll need to modify this for every domain or subdomain where
- * you use this script (you can leave it as an empty array if you wish)
- */
-var PREPREND_CRUMBS = new Array();
-
-var link1 = "@skinconfig.trail.link1.name@";
-var link2 = "@skinconfig.trail.link2.name@";
-var link3 = "@skinconfig.trail.link3.name@";
-
-var href1 = "@skinconfig.trail.link1.href@";
-var href2 = "@skinconfig.trail.link2.href@";
-var href3 = "@skinconfig.trail.link3.href@";
-
-   if(!(link1=="")&&!link1.indexOf( "@" ) == 0){
-     PREPREND_CRUMBS.push( new Array( link1, href1 ) );
-   }
-   if(!(link2=="")&&!link2.indexOf( "@" ) == 0){
-     PREPREND_CRUMBS.push( new Array( link2, href2 ) );
-   }
-   if(!(link3=="")&&!link3.indexOf( "@" ) == 0){
-     PREPREND_CRUMBS.push( new Array( link3, href3 ) );
-   }
-
-/**
- * String to include between crumbs:
- */
-var DISPLAY_SEPARATOR = " &gt; ";
-/**
- * String to include at the beginning of the trail
- */
-var DISPLAY_PREPREND = " &gt; ";
-/**
- * String to include at the end of the trail
- */
-var DISPLAY_POSTPREND = "";
-
-/**
- * CSS Class to use for a single crumb:
- */
-var CSS_CLASS_CRUMB = "breadcrumb";
-
-/**
- * CSS Class to use for the complete trail:
- */
-var CSS_CLASS_TRAIL = "breadcrumbTrail";
-
-/**
- * CSS Class to use for crumb separator:
- */
-var CSS_CLASS_SEPARATOR = "crumbSeparator";
-
-/**
- * Array of strings containing common file extensions. We use this to
- * determine what part of the url to ignore (if it contains one of the
- * string specified here, we ignore it).
- */
-var FILE_EXTENSIONS = new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
-
-/**
- * String that separates parts of the breadcrumb trail from each other.
- * When this is no longer a slash, I'm sure I'll be old and grey.
- */
-var PATH_SEPARATOR = "/";
-
-/* ========================================================================
-	UTILITY FUNCTIONS
-   ======================================================================== */
-/**
- * Capitalize first letter of the provided string and return the modified
- * string.
- */
-function sentenceCase( string )
-{        return string;
-	//var lower = string.toLowerCase();
-	//return lower.substr(0,1).toUpperCase() + lower.substr(1);
-}
-
-/**
- * Returns an array containing the names of all the directories in the
- * current document URL
- */
-function getDirectoriesInURL()
-{
-	var trail = document.location.pathname.split( PATH_SEPARATOR );
-
-	// check whether last section is a file or a directory
-	var lastcrumb = trail[trail.length-1];
-	for( var i = 0; i < FILE_EXTENSIONS.length; i++ )
-	{
-		if( lastcrumb.indexOf( FILE_EXTENSIONS[i] ) )
-		{
-			// it is, remove it and send results
-			return trail.slice( 1, trail.length-1 );
-		}
-	}
-
-	// it's not; send the trail unmodified
-	return trail.slice( 1, trail.length );
-}
-
-/* ========================================================================
-	BREADCRUMB FUNCTIONALITY
-   ======================================================================== */
-/**
- * Return a two-dimensional array describing the breadcrumbs based on the
- * array of directories passed in.
- */
-function getBreadcrumbs( dirs )
-{
-	var prefix = "/";
-	var postfix = "/";
-
-	// the array we will return
-	var crumbs = new Array();
-
-	if( dirs != null )
-	{
-		for( var i = 0; i < dirs.length; i++ )
-		{
-			prefix += dirs[i] + postfix;
-			crumbs.push( new Array( dirs[i], prefix ) );
-		}
-	}
-
-	// preprend the PREPREND_CRUMBS
-	if(PREPREND_CRUMBS.length > 0 )
-	{
-		return PREPREND_CRUMBS.concat( crumbs );
-	}
-
-	return crumbs;
-}
-
-/**
- * Return a string containing a simple text breadcrumb trail based on the
- * two-dimensional array passed in.
- */
-function getCrumbTrail( crumbs )
-{
-	var xhtml = DISPLAY_PREPREND;
-
-	for( var i = 0; i < crumbs.length; i++ )
-	{
-		xhtml += '<a href="' + crumbs[i][1] + '" >';
-		xhtml += unescape( crumbs[i][0] ) + '</a>';
-		if( i != (crumbs.length-1) )
-		{
-			xhtml += DISPLAY_SEPARATOR;
-		}
-	}
-
-	xhtml += DISPLAY_POSTPREND;
-
-	return xhtml;
-}
-
-/**
- * Return a string containing an XHTML breadcrumb trail based on the
- * two-dimensional array passed in.
- */
-function getCrumbTrailXHTML( crumbs )
-{
-	var xhtml = '<span class="' + CSS_CLASS_TRAIL  + '">';
-	xhtml += DISPLAY_PREPREND;
-
-	for( var i = 0; i < crumbs.length; i++ )
-	{
-		xhtml += '<a href="' + crumbs[i][1] + '" class="' + CSS_CLASS_CRUMB + '">';
-		xhtml += unescape( crumbs[i][0] ) + '</a>';
-		if( i != (crumbs.length-1) )
-		{
-			xhtml += '<span class="' + CSS_CLASS_SEPARATOR + '">' + DISPLAY_SEPARATOR + '</span>';
-		}
-	}
-
-	xhtml += DISPLAY_POSTPREND;
-	xhtml += '</span>';
-
-	return xhtml;
-}
-
-/* ========================================================================
-	PRINT BREADCRUMB TRAIL
-   ======================================================================== */
-
-// check if we're local; if so, only print the PREPREND_CRUMBS
-if( document.location.href.toLowerCase().indexOf( "http://" ) == -1 )
-{
-	document.write( getCrumbTrail( getBreadcrumbs() ) );
-}
-else
-{
-	document.write( getCrumbTrail( getBreadcrumbs( getDirectoriesInURL() ) ) );
-}
-

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/fontsize.js
----------------------------------------------------------------------
diff --git a/docs/skin/fontsize.js b/docs/skin/fontsize.js
deleted file mode 100644
index 11722bf..0000000
--- a/docs/skin/fontsize.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (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.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-function init() 
-{ //embedded in the doc
-  //ndeSetTextSize();
-}
-
-function checkBrowser(){
-  if (!document.getElementsByTagName){
-    return true;
-  }
-  else{
-    return false;
-  }
-}
-
-
-function ndeSetTextSize(chgsize,rs) 
-{
-  var startSize;
-  var newSize;
-
-  if (!checkBrowser)
-  {
-    return;
-  }
-
-  startSize = parseInt(ndeGetDocTextSize());
-
-  if (!startSize)
-  {
-    startSize = 16;
-  }
-
-  switch (chgsize)
-  {
-  case 'incr':
-    newSize = startSize + 2;
-    break;
-
-  case 'decr':
-    newSize = startSize - 2;
-    break;
-
-  case 'reset':
-    if (rs) {newSize = rs;} else {newSize = 16;}
-    break;
-
-  default:
-    try{
-      newSize = parseInt(ndeReadCookie("nde-textsize"));
-    }
-    catch(e){
-      alert(e);
-    }
-    
-    if (!newSize || newSize == 'NaN')
-    {
-      newSize = startSize;
-    }
-    break;
-
-  }
-
-  if (newSize < 10) 
-  {
-    newSize = 10;
-  }
-
-  newSize += 'px';
-
-  document.getElementsByTagName('html')[0].style.fontSize = newSize;
-  document.getElementsByTagName('body')[0].style.fontSize = newSize;
-
-  ndeCreateCookie("nde-textsize", newSize, 365);
-}
-
-function ndeGetDocTextSize() 
-{
-  if (!checkBrowser)
-  {
-    return 0;
-  }
-
-  var size = 0;
-  var body = document.getElementsByTagName('body')[0];
-
-  if (body.style && body.style.fontSize)
-  {
-    size = body.style.fontSize;
-  }
-  else if (typeof(getComputedStyle) != 'undefined')
-  {
-    size = getComputedStyle(body,'').getPropertyValue('font-size');
-  }
-  else if (body.currentStyle)
-  {
-   size = body.currentStyle.fontSize;
-  }
-
-  //fix IE bug
-  if( isNaN(size)){
-    if(size.substring(size.length-1)=="%"){
-      return
-    }
-
-  }
-
-  return size;
-
-}
-
-
-
-function ndeCreateCookie(name,value,days) 
-{
-  var cookie = name + "=" + value + ";";
-
-  if (days) 
-  {
-    var date = new Date();
-    date.setTime(date.getTime()+(days*24*60*60*1000));
-    cookie += " expires=" + date.toGMTString() + ";";
-  }
-  cookie += " path=/";
-
-  document.cookie = cookie;
-
-}
-
-function ndeReadCookie(name) 
-{
-  var nameEQ = name + "=";
-  var ca = document.cookie.split(';');
-
- 
-  for(var i = 0; i < ca.length; i++) 
-  {
-    var c = ca[i];
-    while (c.charAt(0) == ' ') 
-    {
-      c = c.substring(1, c.length);
-    }
-
-    ctest = c.substring(0,name.length);
- 
-    if(ctest == name){
-      return c.substring(nameEQ.length,c.length);
-    }
-  }
-  return null;
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/getBlank.js
----------------------------------------------------------------------
diff --git a/docs/skin/getBlank.js b/docs/skin/getBlank.js
deleted file mode 100644
index d9978c0..0000000
--- a/docs/skin/getBlank.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (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.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-/**
- * getBlank script - when included in a html file and called from a form text field, will set the value of this field to ""
- * if the text value is still the standard value.
- * getPrompt script - when included in a html file and called from a form text field, will set the value of this field to the prompt
- * if the text value is empty.
- *
- * Typical usage:
- * <script type="text/javascript" language="JavaScript" src="getBlank.js"></script>
- * <input type="text" id="query" value="Search the site:" onFocus="getBlank (this, 'Search the site:');" onBlur="getBlank (this, 'Search the site:');"/>
- */
-<!--
-function getBlank (form, stdValue){
-if (form.value == stdValue){
-	form.value = '';
-	}
-return true;
-}
-function getPrompt (form, stdValue){
-if (form.value == ''){
-	form.value = stdValue;
-	}
-return true;
-}
-//-->

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/getMenu.js
----------------------------------------------------------------------
diff --git a/docs/skin/getMenu.js b/docs/skin/getMenu.js
deleted file mode 100644
index b17aad6..0000000
--- a/docs/skin/getMenu.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (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.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-/**
- * This script, when included in a html file, can be used to make collapsible menus
- *
- * Typical usage:
- * <script type="text/javascript" language="JavaScript" src="menu.js"></script>
- */
-
-if (document.getElementById){ 
-  document.write('<style type="text/css">.menuitemgroup{display: none;}</style>')
-}
-
-
-function SwitchMenu(obj, thePath)
-{
-var open = 'url("'+thePath + 'images/chapter_open.gif")';
-var close = 'url("'+thePath + 'images/chapter.gif")';
-  if(document.getElementById)  {
-    var el = document.getElementById(obj);
-    var title = document.getElementById(obj+'Title');
-
-    if(el.style.display != "block"){ 
-      title.style.backgroundImage = open;
-      el.style.display = "block";
-    }else{
-      title.style.backgroundImage = close;
-      el.style.display = "none";
-    }
-  }// end -  if(document.getElementById) 
-}//end - function SwitchMenu(obj)

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/README.txt
----------------------------------------------------------------------
diff --git a/docs/skin/images/README.txt b/docs/skin/images/README.txt
deleted file mode 100644
index e0932f4..0000000
--- a/docs/skin/images/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-The images in this directory are used if the current skin lacks them.

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/add.jpg
----------------------------------------------------------------------
diff --git a/docs/skin/images/add.jpg b/docs/skin/images/add.jpg
deleted file mode 100644
index 06831ee..0000000
Binary files a/docs/skin/images/add.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/apache-thanks.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/apache-thanks.png b/docs/skin/images/apache-thanks.png
deleted file mode 100644
index c0bea09..0000000
Binary files a/docs/skin/images/apache-thanks.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/built-with-cocoon.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/built-with-cocoon.gif b/docs/skin/images/built-with-cocoon.gif
deleted file mode 100644
index 0b38f78..0000000
Binary files a/docs/skin/images/built-with-cocoon.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/built-with-forrest-button.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/built-with-forrest-button.png b/docs/skin/images/built-with-forrest-button.png
deleted file mode 100644
index 4a787ab..0000000
Binary files a/docs/skin/images/built-with-forrest-button.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/chapter.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/chapter.gif b/docs/skin/images/chapter.gif
deleted file mode 100644
index d3d8245..0000000
Binary files a/docs/skin/images/chapter.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/chapter_open.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/chapter_open.gif b/docs/skin/images/chapter_open.gif
deleted file mode 100644
index eecce18..0000000
Binary files a/docs/skin/images/chapter_open.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/current.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/current.gif b/docs/skin/images/current.gif
deleted file mode 100644
index fd82c08..0000000
Binary files a/docs/skin/images/current.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/error.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/error.png b/docs/skin/images/error.png
deleted file mode 100644
index b4fe06e..0000000
Binary files a/docs/skin/images/error.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/external-link.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/external-link.gif b/docs/skin/images/external-link.gif
deleted file mode 100644
index ff2f7b2..0000000
Binary files a/docs/skin/images/external-link.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/fix.jpg
----------------------------------------------------------------------
diff --git a/docs/skin/images/fix.jpg b/docs/skin/images/fix.jpg
deleted file mode 100644
index 1d6820b..0000000
Binary files a/docs/skin/images/fix.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/forrest-credit-logo.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/forrest-credit-logo.png b/docs/skin/images/forrest-credit-logo.png
deleted file mode 100644
index 8a63e42..0000000
Binary files a/docs/skin/images/forrest-credit-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/hack.jpg
----------------------------------------------------------------------
diff --git a/docs/skin/images/hack.jpg b/docs/skin/images/hack.jpg
deleted file mode 100644
index f38d50f..0000000
Binary files a/docs/skin/images/hack.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/header_white_line.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/header_white_line.gif b/docs/skin/images/header_white_line.gif
deleted file mode 100644
index 369cae8..0000000
Binary files a/docs/skin/images/header_white_line.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/info.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/info.png b/docs/skin/images/info.png
deleted file mode 100644
index 2e53447..0000000
Binary files a/docs/skin/images/info.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/instruction_arrow.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/instruction_arrow.png b/docs/skin/images/instruction_arrow.png
deleted file mode 100644
index 0fbc724..0000000
Binary files a/docs/skin/images/instruction_arrow.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/label.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/label.gif b/docs/skin/images/label.gif
deleted file mode 100644
index c83a389..0000000
Binary files a/docs/skin/images/label.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/page.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/page.gif b/docs/skin/images/page.gif
deleted file mode 100644
index a144d32..0000000
Binary files a/docs/skin/images/page.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/pdfdoc.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/pdfdoc.gif b/docs/skin/images/pdfdoc.gif
deleted file mode 100644
index ec13eb5..0000000
Binary files a/docs/skin/images/pdfdoc.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/poddoc.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/poddoc.png b/docs/skin/images/poddoc.png
deleted file mode 100644
index a393df7..0000000
Binary files a/docs/skin/images/poddoc.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/printer.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/printer.gif b/docs/skin/images/printer.gif
deleted file mode 100644
index a8d0d41..0000000
Binary files a/docs/skin/images/printer.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-b-l-15-1body-2menu-3menu.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-b-l-15-1body-2menu-3menu.png b/docs/skin/images/rc-b-l-15-1body-2menu-3menu.png
deleted file mode 100644
index cdb460a..0000000
Binary files a/docs/skin/images/rc-b-l-15-1body-2menu-3menu.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-b-r-15-1body-2menu-3menu.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-b-r-15-1body-2menu-3menu.png b/docs/skin/images/rc-b-r-15-1body-2menu-3menu.png
deleted file mode 100644
index 3eff254..0000000
Binary files a/docs/skin/images/rc-b-r-15-1body-2menu-3menu.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png b/docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png
deleted file mode 100644
index b175f27..0000000
Binary files a/docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png b/docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png
deleted file mode 100644
index e9f4440..0000000
Binary files a/docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png b/docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png
deleted file mode 100644
index f1e015b..0000000
Binary files a/docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png b/docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png
deleted file mode 100644
index e9f4440..0000000
Binary files a/docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-t-r-15-1body-2menu-3menu.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-t-r-15-1body-2menu-3menu.png b/docs/skin/images/rc-t-r-15-1body-2menu-3menu.png
deleted file mode 100644
index 29388b5..0000000
Binary files a/docs/skin/images/rc-t-r-15-1body-2menu-3menu.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png b/docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png
deleted file mode 100644
index 944ed73..0000000
Binary files a/docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png b/docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png
deleted file mode 100644
index c4d4a8c..0000000
Binary files a/docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png b/docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png
deleted file mode 100644
index 944ed73..0000000
Binary files a/docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/remove.jpg
----------------------------------------------------------------------
diff --git a/docs/skin/images/remove.jpg b/docs/skin/images/remove.jpg
deleted file mode 100644
index 8c9b9ef..0000000
Binary files a/docs/skin/images/remove.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/rss.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/rss.png b/docs/skin/images/rss.png
deleted file mode 100644
index f0796ac..0000000
Binary files a/docs/skin/images/rss.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/spacer.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/spacer.gif b/docs/skin/images/spacer.gif
deleted file mode 100644
index 35d42e8..0000000
Binary files a/docs/skin/images/spacer.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/success.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/success.png b/docs/skin/images/success.png
deleted file mode 100644
index 96fcfea..0000000
Binary files a/docs/skin/images/success.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/txtdoc.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/txtdoc.png b/docs/skin/images/txtdoc.png
deleted file mode 100644
index bf8b374..0000000
Binary files a/docs/skin/images/txtdoc.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/update.jpg
----------------------------------------------------------------------
diff --git a/docs/skin/images/update.jpg b/docs/skin/images/update.jpg
deleted file mode 100644
index beb9207..0000000
Binary files a/docs/skin/images/update.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/valid-html401.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/valid-html401.png b/docs/skin/images/valid-html401.png
deleted file mode 100644
index 3855210..0000000
Binary files a/docs/skin/images/valid-html401.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/vcss.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/vcss.png b/docs/skin/images/vcss.png
deleted file mode 100644
index 9b2f596..0000000
Binary files a/docs/skin/images/vcss.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/warning.png
----------------------------------------------------------------------
diff --git a/docs/skin/images/warning.png b/docs/skin/images/warning.png
deleted file mode 100644
index b81b2ce..0000000
Binary files a/docs/skin/images/warning.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/images/xmldoc.gif
----------------------------------------------------------------------
diff --git a/docs/skin/images/xmldoc.gif b/docs/skin/images/xmldoc.gif
deleted file mode 100644
index c92d9b9..0000000
Binary files a/docs/skin/images/xmldoc.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/menu.js
----------------------------------------------------------------------
diff --git a/docs/skin/menu.js b/docs/skin/menu.js
deleted file mode 100644
index 06ea471..0000000
--- a/docs/skin/menu.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (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.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-/**
- * This script, when included in a html file, can be used to make collapsible menus
- *
- * Typical usage:
- * <script type="text/javascript" language="JavaScript" src="menu.js"></script>
- */
-
-if (document.getElementById){ 
-  document.write('<style type="text/css">.menuitemgroup{display: none;}</style>')
-}
-
-function SwitchMenu(obj)
-{
-  if(document.getElementById)  {
-    var el = document.getElementById(obj);
-    var title = document.getElementById(obj+'Title');
-
-    if(obj.indexOf("_selected_")==0&&el.style.display == ""){
-      el.style.display = "block";
-      title.className = "pagegroupselected";
-    }
-
-    if(el.style.display != "block"){
-      el.style.display = "block";
-      title.className = "pagegroupopen";
-    }
-    else{
-      el.style.display = "none";
-      title.className = "pagegroup";
-    }
-  }// end -  if(document.getElementById) 
-}//end - function SwitchMenu(obj)

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/note.txt
----------------------------------------------------------------------
diff --git a/docs/skin/note.txt b/docs/skin/note.txt
deleted file mode 100644
index d34c8db..0000000
--- a/docs/skin/note.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-Notes for developer:
-
---Legend-------------------
-TODO -> blocker
-DONE -> blocker
-ToDo -> enhancement bug
-done -> enhancement bug
-
---Issues-------------------
-- the corner images should be rendered through svg with the header color.
--> DONE 
--> ToDo: get rid of the images and use only divs!
-
-- the menu points should be displayed "better". 
--> DONE
--- Use the krysalis-site menu approach for the overall menu display.
--> DONE
--- Use the old lenya innermenu approch to further enhance the menu .
--> DONE
-
-- the content area needs some attention.
--> DONE
--- introduce the heading scheme from krysalis (<headings type="clean|box|underlined"/>)
--> DONE 
--> ToDo: make box with round corners
--> done: make underlined with variable border height
--> ToDo: make underline with bottom round corner
--- introduce the toc for each html-page
--> DONE
--- introduce the external-link-images.
--> DONE
-
-- the publish note should be where now only a border is. 
-Like <div id="published"/>
--> DONE
-, but make it configurable.
--> DONE
-- footer needs some attention
--> DONE
--- the footer do not have the color profile! Enable it!
--> DONE
--- the footer should as well contain a feedback link. 
-See http://issues.apache.org/eyebrowse/ReadMsg?listName=forrest-user@xml.apache.org&msgNo=71
--> DONE
-
-- introduce credits alternativ location
--> DONE
-
-- border for published / breadtrail / menu /tab divs 
--> ToDo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/print.css
----------------------------------------------------------------------
diff --git a/docs/skin/print.css b/docs/skin/print.css
deleted file mode 100644
index aaa9931..0000000
--- a/docs/skin/print.css
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (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.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-body {
-  font-family: Georgia, Palatino, serif;
-  font-size: 12pt;
-  background: white;
-}
-
-#tabs,
-#menu,
-#content .toc {
-  display: none;
-}
-
-#content {
-  width: auto;
-  padding: 0;
-  float: none !important;
-  color: black;
-  background: inherit;
-}
-
-a:link, a:visited {
-  color: #336699;
-  background: inherit;
-  text-decoration: underline;
-}
-
-#top .logo {
-  padding: 0;
-  margin: 0 0 2em 0;
-}
-
-#footer {
-  margin-top: 4em;
-}
-
-acronym {
-  border: 0;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/profile.css
----------------------------------------------------------------------
diff --git a/docs/skin/profile.css b/docs/skin/profile.css
deleted file mode 100644
index eefaa88..0000000
--- a/docs/skin/profile.css
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-/* ==================== aural ============================ */
-
-@media aural {
-  h1, h2, h3, h4, h5, h6 { voice-family: paul, male; stress: 20; richness: 90 }
-  h1 { pitch: x-low; pitch-range: 90 }
-  h2 { pitch: x-low; pitch-range: 80 }
-  h3 { pitch: low; pitch-range: 70 }
-  h4 { pitch: medium; pitch-range: 60 }
-  h5 { pitch: medium; pitch-range: 50 }
-  h6 { pitch: medium; pitch-range: 40 }
-  li, dt, dd { pitch: medium; richness: 60 }
-  dt { stress: 80 }
-  pre, code, tt { pitch: medium; pitch-range: 0; stress: 0; richness: 80 }
-  em { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
-  strong { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
-  dfn { pitch: high; pitch-range: 60; stress: 60 }
-  s, strike { richness: 0 }
-  i { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
-  b { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
-  u { richness: 0 }
-  
-  :link { voice-family: harry, male }
-  :visited { voice-family: betty, female }
-  :active { voice-family: betty, female; pitch-range: 80; pitch: x-high }
-}
-  
-a.external  {
-  padding: 0 20px 0px 0px;
-	display:inline;
-  background-repeat: no-repeat;
-	background-position: center right;
-	background-image: url(images/external-link.gif);
-}
-  
-#top          { background-color: #FFFFFF;}  
- 
-#top .header .current { background-color: #4C6C8F;} 
-#top .header .current a:link {  color: #ffffff;  }
-#top .header .current a:visited { color: #ffffff; }
-#top .header .current a:hover { color: #ffffff; }
- 
-#tabs li      { background-color: #E5E4D9 ;} 
-#tabs li a:link {  color: #000000;  }
-#tabs li a:visited { color: #000000; }
-#tabs li a:hover { color: #000000; }
-
-#level2tabs a.selected      { background-color: #4C6C8F ;} 
-#level2tabs a:link {  color: #ffffff;  }
-#level2tabs a:visited { color: #ffffff; }
-#level2tabs a:hover { color: #ffffff; }
-
-#level2tabs { background-color: #E5E4D9;}
-#level2tabs a.unselected:link {  color: #000000;  }
-#level2tabs a.unselected:visited { color: #000000; }
-#level2tabs a.unselected:hover { color: #000000; }
-
-.heading { background-color: #E5E4D9;} 
-
-.boxed { background-color: #E5E4D9;} 
-.underlined_5 	{border-bottom: solid 5px #E5E4D9;}
-.underlined_10 	{border-bottom: solid 10px #E5E4D9;}
-table caption { 
-background-color: #E5E4D9; 
-color: #000000;
-}
-    
-#feedback {
-color: #FFFFFF;
-background: #4C6C8F;
-text-align: center;
-}
-#feedback #feedbackto {
-color: #FFFFFF;
-}   
-
-#publishedStrip { 
-color: #FFFFFF;
-background: #4C6C8F; 
-}
-
-#publishedStrip { 
-color: #000000;
-background: #E5E4D9; 
-}
-
-#menu .menupagetitle  { background-color: #CFDCED;
-  color: #000000;}
-
-#menu           { border-color: #999999;}
-#menu .menupagetitle  { border-color: #999999;}
-#menu .menupageitemgroup  { border-color: #999999;}
-
-#menu      { background-color: #4C6C8F;} 
-#menu  {  color: #ffffff;} 
-#menu a:link {  color: #ffffff;} 
-#menu a:visited {  color: #ffffff;} 
-#menu a:hover {  
-background-color: #4C6C8F;
-color: #ffffff;} 
-
-#menu h1 {
-color: #000000;
-background-color: #cfdced;
-}   
- 
-#top .searchbox { 
-background-color: #E5E4D9 ;
-color: #000000; 
-} 
- 
-#menu .menupageitemgroup     { 
-background-color: #E5E4D9;
-}
-#menu .menupageitem {
-color: #000000;
-} 
-#menu .menupageitem a:link {  color: #000000;} 
-#menu .menupageitem a:visited {  color: #000000;} 
-#menu .menupageitem a:hover {  
-background-color: #E5E4D9;
-color: #000000;
-}
-
-body{ 
-background-color: #ffffff;
-color: #000000;
-} 
-a:link { color:#0000ff} 
-a:visited { color:#009999} 
-a:hover { color:#6587ff} 
-
- 
-.ForrestTable      { background-color: #ccc;} 
- 
-.ForrestTable td   { background-color: #ffffff;} 
- 
-.highlight        { background-color: #ffff00;} 
- 
-.fixme        { border-color: #c60;} 
- 
-.note         { border-color: #069;} 
- 
-.warning         { border-color: #900;} 
- 
-.code         { border-color: #a5b6c6;} 
- 
-#footer       { background-color: #E5E4D9;} 
-/* extra-css */
-    
-    p.quote {
-      margin-left: 2em;
-      padding: .5em;
-      background-color: #f0f0f0;
-      font-family: monospace;
-    }
-
-    pre.code {
-      margin-left: 0em;
-      padding: 0.5em;
-      background-color: #f0f0f0;
-      font-family: monospace;
-    }
-
-
-
-  
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/prototype.js
----------------------------------------------------------------------
diff --git a/docs/skin/prototype.js b/docs/skin/prototype.js
deleted file mode 100644
index ed7d920..0000000
--- a/docs/skin/prototype.js
+++ /dev/null
@@ -1,1257 +0,0 @@
-/*  Prototype JavaScript framework, version 1.4.0_pre4
- *  (c) 2005 Sam Stephenson <sa...@conio.net>
- *
- *  THIS FILE IS AUTOMATICALLY GENERATED. When sending patches, please diff
- *  against the source tree, available from the Prototype darcs repository. 
- *
- *  Prototype is freely distributable under the terms of an MIT-style license.
- *
- *  For details, see the Prototype web site: http://prototype.conio.net/
- *
-/*--------------------------------------------------------------------------*/
-
-var Prototype = {
-  Version: '1.4.0_pre4',
-  
-  emptyFunction: function() {},
-  K: function(x) {return x}
-}
-
-var Class = {
-  create: function() {
-    return function() { 
-      this.initialize.apply(this, arguments);
-    }
-  }
-}
-
-var Abstract = new Object();
-
-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.prototype.bindAsEventListener = function(object) {
-  var __method = this;
-  return function(event) {
-    return __method.call(object, event || window.event);
-  }
-}
-
-Number.prototype.toColorPart = function() {
-  var digits = this.toString(16);
-  if (this < 16) return '0' + digits;
-  return digits;
-}
-
-var Try = {
-  these: function() {
-    var returnValue;
-
-    for (var i = 0; i < arguments.length; i++) {
-      var lambda = arguments[i];
-      try {
-        returnValue = lambda();
-        break;
-      } catch (e) {}
-    }
-
-    return returnValue;
-  }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var PeriodicalExecuter = Class.create();
-PeriodicalExecuter.prototype = {
-  initialize: function(callback, frequency) {
-    this.callback = callback;
-    this.frequency = frequency;
-    this.currentlyExecuting = false;
-
-    this.registerCallback();
-  },
-
-  registerCallback: function() {
-    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
-  },
-
-  onTimerEvent: function() {
-    if (!this.currentlyExecuting) {
-      try { 
-        this.currentlyExecuting = true;
-        this.callback(); 
-      } finally { 
-        this.currentlyExecuting = false;
-      }
-    }
-  }
-}
-
-/*--------------------------------------------------------------------------*/
-
-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;
-}
-
-if (!Array.prototype.push) {
-  Array.prototype.push = function() {
-		var startLength = this.length;
-		for (var i = 0; i < arguments.length; i++)
-      this[startLength + i] = arguments[i];
-	  return this.length;
-  }
-}
-
-if (!Function.prototype.apply) {
-  // Based on code from http://www.youngpup.net/
-  Function.prototype.apply = function(object, parameters) {
-    var parameterStrings = new Array();
-    if (!object)     object = window;
-    if (!parameters) parameters = new Array();
-    
-    for (var i = 0; i < parameters.length; i++)
-      parameterStrings[i] = 'parameters[' + i + ']';
-    
-    object.__apply__ = this;
-    var result = eval('object.__apply__(' + 
-      parameterStrings.join(', ') + ')');
-    object.__apply__ = null;
-    
-    return result;
-  }
-}
-
-Object.extend(String.prototype, {
-  stripTags: function() {
-    return this.replace(/<\/?[^>]+>/gi, '');
-  },
-
-  escapeHTML: function() {
-    var div = document.createElement('div');
-    var text = document.createTextNode(this);
-    div.appendChild(text);
-    return div.innerHTML;
-  },
-
-  unescapeHTML: function() {
-    var div = document.createElement('div');
-    div.innerHTML = this.stripTags();
-    return div.childNodes[0].nodeValue;
-  },
-  
-  parseQuery: function() {
-    var str = this;
-    if (str.substring(0,1) == '?') {
-      str = this.substring(1);
-    }
-    var result = {};
-    var pairs = str.split('&');
-    for (var i = 0; i < pairs.length; i++) {
-      var pair = pairs[i].split('=');
-      result[pair[0]] = pair[1];
-    }
-    return result;
-  }
-});
-
-
-var _break    = new Object();
-var _continue = new Object();
-
-var Enumerable = {
-  each: function(iterator) {
-    var index = 0;
-    try {
-      this._each(function(value) {
-        try {
-          iterator(value, index++);
-        } catch (e) {
-          if (e != _continue) throw e;
-        }
-      });
-    } catch (e) {
-      if (e != _break) throw e;
-    }
-  },
-  
-  all: function(iterator) {
-    var result = true;
-    this.each(function(value, index) {
-      if (!(result &= (iterator || Prototype.K)(value, index))) 
-        throw _break;
-    });
-    return result;
-  },
-  
-  any: function(iterator) {
-    var result = true;
-    this.each(function(value, index) {
-      if (result &= (iterator || Prototype.K)(value, index)) 
-        throw _break;
-    });
-    return result;
-  },
-  
-  collect: function(iterator) {
-    var results = [];
-    this.each(function(value, index) {
-      results.push(iterator(value, index));
-    });
-    return results;
-  },
-  
-  detect: function (iterator) {
-    var result;
-    this.each(function(value, index) {
-      if (iterator(value, index)) {
-        result = value;
-        throw _break;
-      }
-    });
-    return result;
-  },
-  
-  findAll: function(iterator) {
-    var results = [];
-    this.each(function(value, index) {
-      if (iterator(value, index))
-        results.push(value);
-    });
-    return results;
-  },
-  
-  grep: function(pattern, iterator) {
-    var results = [];
-    this.each(function(value, index) {
-      var stringValue = value.toString();
-      if (stringValue.match(pattern))
-        results.push((iterator || Prototype.K)(value, index));
-    })
-    return results;
-  },
-  
-  include: function(object) {
-    var found = false;
-    this.each(function(value) {
-      if (value == object) {
-        found = true;
-        throw _break;
-      }
-    });
-    return found;
-  },
-  
-  inject: function(memo, iterator) {
-    this.each(function(value, index) {
-      memo = iterator(memo, value, index);
-    });
-    return memo;
-  },
-  
-  invoke: function(method) {
-    var args = $A(arguments).slice(1);
-    return this.collect(function(value) {
-      return value[method].apply(value, args);
-    });
-  },
-  
-  max: function(iterator) {
-    var result;
-    this.each(function(value, index) {
-      value = (iterator || Prototype.K)(value, index);
-      if (value >= (result || value))
-        result = value;
-    });
-    return result;
-  },
-  
-  min: function(iterator) {
-    var result;
-    this.each(function(value, index) {
-      value = (iterator || Prototype.K)(value, index);
-      if (value <= (result || value))
-        result = value;
-    });
-    return result;
-  },
-  
-  partition: function(iterator) {
-    var trues = [], falses = [];
-    this.each(function(value, index) {
-      ((iterator || Prototype.K)(value, index) ? 
-        trues : falses).push(value);
-    });
-    return [trues, falses];
-  },
-  
-  pluck: function(property) {
-    var results = [];
-    this.each(function(value, index) {
-      results.push(value[property]);
-    });
-    return results;
-  },
-  
-  reject: function(iterator) {
-    var results = [];
-    this.each(function(value, index) {
-      if (!iterator(value, index))
-        results.push(value);
-    });
-    return results;
-  },
-  
-  sortBy: function(iterator) {
-    return this.collect(function(value, index) {
-      return {value: value, criteria: iterator(value, index)};
-    }).sort(function(left, right) {
-      var a = left.criteria, b = right.criteria;
-      return a < b ? -1 : a > b ? 1 : 0;
-    }).pluck('value');
-  },
-  
-  toArray: function() {
-    return this.collect(Prototype.K);
-  },
-  
-  zip: function() {
-    var iterator = Prototype.K, args = $A(arguments);
-    if (typeof args.last() == 'function')
-      iterator = args.pop();
-
-    var collections = [this].concat(args).map($A);
-    return this.map(function(value, index) {
-      iterator(value = collections.pluck(index));
-      return value;
-    });
-  }
-}
-
-Object.extend(Enumerable, {
-  map:     Enumerable.collect,
-  find:    Enumerable.detect,
-  select:  Enumerable.findAll,
-  member:  Enumerable.include,
-  entries: Enumerable.toArray
-});
-
-$A = Array.from = function(iterable) {
-  var results = [];
-  for (var i = 0; i < iterable.length; i++)
-    results.push(iterable[i]);
-  return results;
-}
-
-Object.extend(Array.prototype, {
-  _each: function(iterator) {
-    for (var i = 0; i < this.length; i++)
-      iterator(this[i]);
-  },
-  
-  first: function() {
-    return this[0];
-  },
-  
-  last: function() {
-    return this[this.length - 1];
-  }
-});
-
-Object.extend(Array.prototype, Enumerable);
-
-
-var Ajax = {
-  getTransport: function() {
-    return Try.these(
-      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
-      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
-      function() {return new XMLHttpRequest()}
-    ) || false;
-  }
-}
-
-Ajax.Base = function() {};
-Ajax.Base.prototype = {
-  setOptions: function(options) {
-    this.options = {
-      method:       'post',
-      asynchronous: true,
-      parameters:   ''
-    }
-    Object.extend(this.options, options || {});
-  },
-
-  responseIsSuccess: function() {
-    return this.transport.status == undefined
-        || this.transport.status == 0 
-        || (this.transport.status >= 200 && this.transport.status < 300);
-  },
-
-  responseIsFailure: function() {
-    return !this.responseIsSuccess();
-  }
-}
-
-Ajax.Request = Class.create();
-Ajax.Request.Events = 
-  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
-
-Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
-  initialize: function(url, options) {
-    this.transport = Ajax.getTransport();
-    this.setOptions(options);
-    this.request(url);
-  },
-
-  request: function(url) {
-    var parameters = this.options.parameters || '';
-    if (parameters.length > 0) parameters += '&_=';
-
-    try {
-      if (this.options.method == 'get')
-        url += '?' + parameters;
-
-      this.transport.open(this.options.method, url,
-        this.options.asynchronous);
-
-      if (this.options.asynchronous) {
-        this.transport.onreadystatechange = this.onStateChange.bind(this);
-        setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10);
-      }
-
-      this.setRequestHeaders();
-
-      var body = this.options.postBody ? this.options.postBody : parameters;
-      this.transport.send(this.options.method == 'post' ? body : null);
-
-    } catch (e) {
-    }
-  },
-
-  setRequestHeaders: function() {
-    var requestHeaders = 
-      ['X-Requested-With', 'XMLHttpRequest',
-       'X-Prototype-Version', Prototype.Version];
-
-    if (this.options.method == 'post') {
-      requestHeaders.push('Content-type', 
-        'application/x-www-form-urlencoded');
-
-      /* Force "Connection: close" for Mozilla browsers to work around
-       * a bug where XMLHttpReqeuest sends an incorrect Content-length
-       * header. See Mozilla Bugzilla #246651. 
-       */
-      if (this.transport.overrideMimeType)
-        requestHeaders.push('Connection', 'close');
-    }
-
-    if (this.options.requestHeaders)
-      requestHeaders.push.apply(requestHeaders, this.options.requestHeaders);
-
-    for (var i = 0; i < requestHeaders.length; i += 2)
-      this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
-  },
-
-  onStateChange: function() {
-    var readyState = this.transport.readyState;
-    if (readyState != 1)
-      this.respondToReadyState(this.transport.readyState);
-  },
-
-  respondToReadyState: function(readyState) {
-    var event = Ajax.Request.Events[readyState];
-
-    if (event == 'Complete')
-      (this.options['on' + this.transport.status]
-       || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')]
-       || Prototype.emptyFunction)(this.transport);
-
-    (this.options['on' + event] || Prototype.emptyFunction)(this.transport);
-
-    /* Avoid memory leak in MSIE: clean up the oncomplete event handler */
-    if (event == 'Complete')
-      this.transport.onreadystatechange = Prototype.emptyFunction;
-  }
-});
-
-Ajax.Updater = Class.create();
-Ajax.Updater.ScriptFragment = '(?:<script.*?>)((\n|.)*?)(?:<\/script>)';
-
-Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
-  initialize: function(container, url, options) {
-    this.containers = {
-      success: container.success ? $(container.success) : $(container),
-      failure: container.failure ? $(container.failure) :
-        (container.success ? null : $(container))
-    }
-
-    this.transport = Ajax.getTransport();
-    this.setOptions(options);
-
-    var onComplete = this.options.onComplete || Prototype.emptyFunction;
-    this.options.onComplete = (function() {
-      this.updateContent();
-      onComplete(this.transport);
-    }).bind(this);
-
-    this.request(url);
-  },
-
-  updateContent: function() {
-    var receiver = this.responseIsSuccess() ?
-      this.containers.success : this.containers.failure;
-
-    var match    = new RegExp(Ajax.Updater.ScriptFragment, 'img');
-    var response = this.transport.responseText.replace(match, '');
-    var scripts  = this.transport.responseText.match(match);
-
-    if (receiver) {
-      if (this.options.insertion) {
-        new this.options.insertion(receiver, response);
-      } else {
-        receiver.innerHTML = response;
-      }
-    }
-
-    if (this.responseIsSuccess()) {
-      if (this.onComplete)
-        setTimeout((function() {this.onComplete(
-          this.transport)}).bind(this), 10);
-    }
-
-    if (this.options.evalScripts && scripts) {
-      match = new RegExp(Ajax.Updater.ScriptFragment, 'im');
-      setTimeout((function() {
-        for (var i = 0; i < scripts.length; i++)
-          eval(scripts[i].match(match)[1]);
-      }).bind(this), 10);
-    }
-  }
-});
-
-Ajax.PeriodicalUpdater = Class.create();
-Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
-  initialize: function(container, url, options) {
-    this.setOptions(options);
-    this.onComplete = this.options.onComplete;
-
-    this.frequency = (this.options.frequency || 2);
-    this.decay = 1;
-
-    this.updater = {};
-    this.container = container;
-    this.url = url;
-
-    this.start();
-  },
-
-  start: function() {
-    this.options.onComplete = this.updateComplete.bind(this);
-    this.onTimerEvent();
-  },
-
-  stop: function() {
-    this.updater.onComplete = undefined;
-    clearTimeout(this.timer);
-    (this.onComplete || Ajax.emptyFunction).apply(this, arguments);
-  },
-
-  updateComplete: function(request) {
-    if (this.options.decay) {
-      this.decay = (request.responseText == this.lastText ? 
-        this.decay * this.options.decay : 1);
-
-      this.lastText = request.responseText;
-    }
-    this.timer = setTimeout(this.onTimerEvent.bind(this), 
-      this.decay * this.frequency * 1000);
-  },
-
-  onTimerEvent: function() {
-    this.updater = new Ajax.Updater(this.container, this.url, this.options);
-  }
-});
-
-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, {
-  toggle: function() {
-    for (var i = 0; i < arguments.length; i++) {
-      var element = $(arguments[i]);
-      element.style.display = 
-        (element.style.display == 'none' ? '' : 'none');
-    }
-  },
-
-  hide: function() {
-    for (var i = 0; i < arguments.length; i++) {
-      var element = $(arguments[i]);
-      element.style.display = 'none';
-    }
-  },
-
-  show: function() {
-    for (var i = 0; i < arguments.length; i++) {
-      var element = $(arguments[i]);
-      element.style.display = '';
-    }
-  },
-
-  remove: function(element) {
-    element = $(element);
-    element.parentNode.removeChild(element);
-  },
-   
-  getHeight: function(element) {
-    element = $(element);
-    return element.offsetHeight; 
-  },
-
-  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) {
-    var 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);
-    }
-  }
-});
-
-var Toggle = new Object();
-Toggle.display = Element.toggle;
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.Insertion = function(adjacency) {
-  this.adjacency = adjacency;
-}
-
-Abstract.Insertion.prototype = {
-  initialize: function(element, content) {
-    this.element = $(element);
-    this.content = content;
-    
-    if (this.adjacency && this.element.insertAdjacentHTML) {
-      this.element.insertAdjacentHTML(this.adjacency, this.content);
-    } else {
-      this.range = this.element.ownerDocument.createRange();
-      if (this.initializeRange) this.initializeRange();
-      this.fragment = this.range.createContextualFragment(this.content);
-      this.insertContent();
-    }
-  }
-}
-
-var Insertion = new Object();
-
-Insertion.Before = Class.create();
-Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
-  initializeRange: function() {
-    this.range.setStartBefore(this.element);
-  },
-  
-  insertContent: function() {
-    this.element.parentNode.insertBefore(this.fragment, this.element);
-  }
-});
-
-Insertion.Top = Class.create();
-Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
-  initializeRange: function() {
-    this.range.selectNodeContents(this.element);
-    this.range.collapse(true);
-  },
-  
-  insertContent: function() {  
-    this.element.insertBefore(this.fragment, this.element.firstChild);
-  }
-});
-
-Insertion.Bottom = Class.create();
-Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
-  initializeRange: function() {
-    this.range.selectNodeContents(this.element);
-    this.range.collapse(this.element);
-  },
-  
-  insertContent: function() {
-    this.element.appendChild(this.fragment);
-  }
-});
-
-Insertion.After = Class.create();
-Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
-  initializeRange: function() {
-    this.range.setStartAfter(this.element);
-  },
-  
-  insertContent: function() {
-    this.element.parentNode.insertBefore(this.fragment, 
-      this.element.nextSibling);
-  }
-});
-
-var Field = {
-  clear: function() {
-    for (var i = 0; i < arguments.length; i++)
-      $(arguments[i]).value = '';
-  },
-
-  focus: function(element) {
-    $(element).focus();
-  },
-  
-  present: function() {
-    for (var i = 0; i < arguments.length; i++)
-      if ($(arguments[i]).value == '') return false;
-    return true;
-  },
-  
-  select: function(element) {
-    $(element).select();
-  },
-   
-  activate: function(element) {
-    $(element).focus();
-    $(element).select();
-  }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var Form = {
-  serialize: function(form) {
-    var elements = Form.getElements($(form));
-    var queryComponents = new Array();
-    
-    for (var i = 0; i < elements.length; i++) {
-      var queryComponent = Form.Element.serialize(elements[i]);
-      if (queryComponent)
-        queryComponents.push(queryComponent);
-    }
-    
-    return queryComponents.join('&');
-  },
-  
-  getElements: function(form) {
-    var form = $(form);
-    var elements = new Array();
-
-    for (tagName in Form.Element.Serializers) {
-      var tagElements = form.getElementsByTagName(tagName);
-      for (var j = 0; j < tagElements.length; j++)
-        elements.push(tagElements[j]);
-    }
-    return elements;
-  },
-  
-  getInputs: function(form, typeName, name) {
-    var form = $(form);
-    var inputs = form.getElementsByTagName('input');
-    
-    if (!typeName && !name)
-      return inputs;
-      
-    var matchingInputs = new Array();
-    for (var i = 0; i < inputs.length; i++) {
-      var input = inputs[i];
-      if ((typeName && input.type != typeName) ||
-          (name && input.name != name)) 
-        continue;
-      matchingInputs.push(input);
-    }
-
-    return matchingInputs;
-  },
-
-  disable: function(form) {
-    var elements = Form.getElements(form);
-    for (var i = 0; i < elements.length; i++) {
-      var element = elements[i];
-      element.blur();
-      element.disabled = 'true';
-    }
-  },
-
-  enable: function(form) {
-    var elements = Form.getElements(form);
-    for (var i = 0; i < elements.length; i++) {
-      var element = elements[i];
-      element.disabled = '';
-    }
-  },
-
-  focusFirstElement: function(form) {
-    var form = $(form);
-    var elements = Form.getElements(form);
-    for (var i = 0; i < elements.length; i++) {
-      var element = elements[i];
-      if (element.type != 'hidden' && !element.disabled) {
-        Field.activate(element);
-        break;
-      }
-    }
-  },
-
-  reset: function(form) {
-    $(form).reset();
-  }
-}
-
-Form.Element = {
-  serialize: function(element) {
-    var element = $(element);
-    var method = element.tagName.toLowerCase();
-    var parameter = Form.Element.Serializers[method](element);
-    
-    if (parameter)
-      return encodeURIComponent(parameter[0]) + '=' + 
-        encodeURIComponent(parameter[1]);                   
-  },
-  
-  getValue: function(element) {
-    var element = $(element);
-    var method = element.tagName.toLowerCase();
-    var parameter = Form.Element.Serializers[method](element);
-    
-    if (parameter) 
-      return parameter[1];
-  }
-}
-
-Form.Element.Serializers = {
-  input: function(element) {
-    switch (element.type.toLowerCase()) {
-      case 'submit':
-      case 'hidden':
-      case 'password':
-      case 'text':
-        return Form.Element.Serializers.textarea(element);
-      case 'checkbox':  
-      case 'radio':
-        return Form.Element.Serializers.inputSelector(element);
-    }
-    return false;
-  },
-
-  inputSelector: function(element) {
-    if (element.checked)
-      return [element.name, element.value];
-  },
-
-  textarea: function(element) {
-    return [element.name, element.value];
-  },
-
-  select: function(element) {
-    var value = '';
-    if (element.type == 'select-one') {
-      var index = element.selectedIndex;
-      if (index >= 0)
-        value = element.options[index].value || element.options[index].text;
-    } else {
-      value = new Array();
-      for (var i = 0; i < element.length; i++) {
-        var opt = element.options[i];
-        if (opt.selected)
-          value.push(opt.value || opt.text);
-      }
-    }
-    return [element.name, value];
-  }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var $F = Form.Element.getValue;
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.TimedObserver = function() {}
-Abstract.TimedObserver.prototype = {
-  initialize: function(element, frequency, callback) {
-    this.frequency = frequency;
-    this.element   = $(element);
-    this.callback  = callback;
-    
-    this.lastValue = this.getValue();
-    this.registerCallback();
-  },
-  
-  registerCallback: function() {
-    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
-  },
-  
-  onTimerEvent: function() {
-    var value = this.getValue();
-    if (this.lastValue != value) {
-      this.callback(this.element, value);
-      this.lastValue = value;
-    }
-  }
-}
-
-Form.Element.Observer = Class.create();
-Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
-  getValue: function() {
-    return Form.Element.getValue(this.element);
-  }
-});
-
-Form.Observer = Class.create();
-Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
-  getValue: function() {
-    return Form.serialize(this.element);
-  }
-});
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.EventObserver = function() {}
-Abstract.EventObserver.prototype = {
-  initialize: function(element, callback) {
-    this.element  = $(element);
-    this.callback = callback;
-    
-    this.lastValue = this.getValue();
-    if (this.element.tagName.toLowerCase() == 'form')
-      this.registerFormCallbacks();
-    else
-      this.registerCallback(this.element);
-  },
-  
-  onElementEvent: function() {
-    var value = this.getValue();
-    if (this.lastValue != value) {
-      this.callback(this.element, value);
-      this.lastValue = value;
-    }
-  },
-  
-  registerFormCallbacks: function() {
-    var elements = Form.getElements(this.element);
-    for (var i = 0; i < elements.length; i++)
-      this.registerCallback(elements[i]);
-  },
-  
-  registerCallback: function(element) {
-    if (element.type) {
-      switch (element.type.toLowerCase()) {
-        case 'checkbox':  
-        case 'radio':
-          element.target = this;
-          element.prev_onclick = element.onclick || Prototype.emptyFunction;
-          element.onclick = function() {
-            this.prev_onclick(); 
-            this.target.onElementEvent();
-          }
-          break;
-        case 'password':
-        case 'text':
-        case 'textarea':
-        case 'select-one':
-        case 'select-multiple':
-          element.target = this;
-          element.prev_onchange = element.onchange || Prototype.emptyFunction;
-          element.onchange = function() {
-            this.prev_onchange(); 
-            this.target.onElementEvent();
-          }
-          break;
-      }
-    }    
-  }
-}
-
-Form.Element.EventObserver = Class.create();
-Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
-  getValue: function() {
-    return Form.Element.getValue(this.element);
-  }
-});
-
-Form.EventObserver = Class.create();
-Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
-  getValue: function() {
-    return Form.serialize(this.element);
-  }
-});
-
-
-if (!window.Event) {
-  var Event = new Object();
-}
-
-Object.extend(Event, {
-  KEY_BACKSPACE: 8,
-  KEY_TAB:       9,
-  KEY_RETURN:   13,
-  KEY_ESC:      27,
-  KEY_LEFT:     37,
-  KEY_UP:       38,
-  KEY_RIGHT:    39,
-  KEY_DOWN:     40,
-  KEY_DELETE:   46,
-
-  element: function(event) {
-    return event.target || event.srcElement;
-  },
-
-  isLeftClick: function(event) {
-    return (((event.which) && (event.which == 1)) ||
-            ((event.button) && (event.button == 1)));
-  },
-
-  pointerX: function(event) {
-    return event.pageX || (event.clientX + 
-      (document.documentElement.scrollLeft || document.body.scrollLeft));
-  },
-
-  pointerY: function(event) {
-    return event.pageY || (event.clientY + 
-      (document.documentElement.scrollTop || document.body.scrollTop));
-  },
-
-  stop: function(event) {
-    if (event.preventDefault) { 
-      event.preventDefault(); 
-      event.stopPropagation(); 
-    } else {
-      event.returnValue = false;
-    }
-  },
-
-  // find the first node with the given tagName, starting from the
-  // node the event was triggered on; traverses the DOM upwards
-  findElement: function(event, tagName) {
-    var element = Event.element(event);
-    while (element.parentNode && (!element.tagName ||
-        (element.tagName.toUpperCase() != tagName.toUpperCase())))
-      element = element.parentNode;
-    return element;
-  },
-
-  observers: false,
-  
-  _observeAndCache: function(element, name, observer, useCapture) {
-    if (!this.observers) this.observers = [];
-    if (element.addEventListener) {
-      this.observers.push([element, name, observer, useCapture]);
-      element.addEventListener(name, observer, useCapture);
-    } else if (element.attachEvent) {
-      this.observers.push([element, name, observer, useCapture]);
-      element.attachEvent('on' + name, observer);
-    }
-  },
-  
-  unloadCache: function() {
-    if (!Event.observers) return;
-    for (var i = 0; i < Event.observers.length; i++) {
-      Event.stopObserving.apply(this, Event.observers[i]);
-      Event.observers[i][0] = null;
-    }
-    Event.observers = false;
-  },
-
-  observe: function(element, name, observer, useCapture) {
-    var element = $(element);
-    useCapture = useCapture || false;
-    
-    if (name == 'keypress' &&
-        ((/Konqueror|Safari|KHTML/.test(navigator.userAgent)) 
-        || element.attachEvent))
-      name = 'keydown';
-    
-    this._observeAndCache(element, name, observer, useCapture);
-  },
-
-  stopObserving: function(element, name, observer, useCapture) {
-    var element = $(element);
-    useCapture = useCapture || false;
-    
-    if (name == 'keypress' &&
-        ((/Konqueror|Safari|KHTML/.test(navigator.userAgent)) 
-        || element.detachEvent))
-      name = 'keydown';
-    
-    if (element.removeEventListener) {
-      element.removeEventListener(name, observer, useCapture);
-    } else if (element.detachEvent) {
-      element.detachEvent('on' + name, observer);
-    }
-  }
-});
-
-/* prevent memory leaks in IE */
-Event.observe(window, 'unload', Event.unloadCache, false);
-
-var Position = {
-
-  // set to true if needed, warning: firefox performance problems
-  // NOT neeeded for page scrolling, only if draggable contained in
-  // scrollable elements
-  includeScrollOffsets: false, 
-
-  // must be called before calling withinIncludingScrolloffset, every time the
-  // page is scrolled
-  prepare: function() {
-    this.deltaX =  window.pageXOffset 
-                || document.documentElement.scrollLeft 
-                || document.body.scrollLeft 
-                || 0;
-    this.deltaY =  window.pageYOffset 
-                || document.documentElement.scrollTop 
-                || document.body.scrollTop 
-                || 0;
-  },
-
-  realOffset: function(element) {
-    var valueT = 0, valueL = 0;
-    do {
-      valueT += element.scrollTop  || 0;
-      valueL += element.scrollLeft || 0; 
-      element = element.parentNode;
-    } while (element);
-    return [valueL, valueT];
-  },
-
-  cumulativeOffset: function(element) {
-    var valueT = 0, valueL = 0;
-    do {
-      valueT += element.offsetTop  || 0;
-      valueL += element.offsetLeft || 0;
-      element = element.offsetParent;
-    } while (element);
-    return [valueL, valueT];
-  },
-
-  // caches x/y coordinate pair to use with overlap
-  within: function(element, x, y) {
-    if (this.includeScrollOffsets)
-      return this.withinIncludingScrolloffsets(element, x, y);
-    this.xcomp = x;
-    this.ycomp = y;
-    this.offset = this.cumulativeOffset(element);
-
-    return (y >= this.offset[1] &&
-            y <  this.offset[1] + element.offsetHeight &&
-            x >= this.offset[0] && 
-            x <  this.offset[0] + element.offsetWidth);
-  },
-
-  withinIncludingScrolloffsets: function(element, x, y) {
-    var offsetcache = this.realOffset(element);
-
-    this.xcomp = x + offsetcache[0] - this.deltaX;
-    this.ycomp = y + offsetcache[1] - this.deltaY;
-    this.offset = this.cumulativeOffset(element);
-
-    return (this.ycomp >= this.offset[1] &&
-            this.ycomp <  this.offset[1] + element.offsetHeight &&
-            this.xcomp >= this.offset[0] && 
-            this.xcomp <  this.offset[0] + element.offsetWidth);
-  },
-
-  // within must be called directly before
-  overlap: function(mode, element) {  
-    if (!mode) return 0;  
-    if (mode == 'vertical') 
-      return ((this.offset[1] + element.offsetHeight) - this.ycomp) / 
-        element.offsetHeight;
-    if (mode == 'horizontal')
-      return ((this.offset[0] + element.offsetWidth) - this.xcomp) / 
-        element.offsetWidth;
-  },
-
-  clone: function(source, target) {
-    source = $(source);
-    target = $(target);
-    target.style.position = 'absolute';
-    var offsets = this.cumulativeOffset(source);
-    target.style.top    = offsets[1] + 'px';
-    target.style.left   = offsets[0] + 'px';
-    target.style.width  = source.offsetWidth + 'px';
-    target.style.height = source.offsetHeight + 'px';
-  }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/e5fc1228/docs/skin/screen.css
----------------------------------------------------------------------
diff --git a/docs/skin/screen.css b/docs/skin/screen.css
deleted file mode 100644
index 221cbe5..0000000
--- a/docs/skin/screen.css
+++ /dev/null
@@ -1,587 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (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.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-body {  margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif; }
-
-h1     { font-size : 160%; margin: 0px 0px 0px 0px;  padding: 0px; }
-h2     { font-size : 140%; margin: 1em 0px 0.8em 0px; padding: 0px; font-weight : bold;}
-h3     { font-size : 130%; margin: 0.8em 0px 0px 0px; padding: 0px; font-weight : bold; }
-.h3 { margin: 22px 0px 3px 0px; }
-h4     { font-size : 120%; margin: 0.7em 0px 0px 0px; padding: 0px; font-weight : normal; text-align: left; }
-.h4 { margin: 18px 0px 0px 0px; }
-h4.faq { font-size : 120%; margin: 18px 0px 0px 0px; padding: 0px; font-weight : bold;   text-align: left; }
-h5     { font-size : 100%; margin: 14px 0px 0px 0px; padding: 0px; font-weight : normal; text-align: left; }
-
-/**
-* table
-*/
-table .title { background-color: #000000; }
-.ForrestTable         {
-    color: #ffffff;
-    background-color: #7099C5;
-    width: 100%;
-    font-size : 100%;
-    empty-cells: show;
-}
-table caption {
-    padding-left: 5px;
-    color: white;
-    text-align: left;
-    font-weight: bold;
-    background-color: #000000;
-}
-.ForrestTable td {
-    color: black;
-    background-color: #f0f0ff;
-}
-.ForrestTable th { text-align: center; }
-/**
- * Page Header
- */
-
-#top {
-    position: relative;
-    float: left;
-    width: 100%;
-    background: #294563; /* if you want a background in the header, put it here */
-}
-
-#top .breadtrail {
-    background: #CFDCED;
-    color: black;
-    border-bottom: solid 1px white;
-    padding: 3px 10px;
-    font-size: 75%;
-}
-#top .breadtrail a { color: black; }
-
-#top .header {
-    float: left;
-    width: 100%;
-    background: url("images/header_white_line.gif") repeat-x bottom;
-}
-
-#top .grouplogo {
-    padding: 7px 0 10px 10px;
-    float: left;
-    text-align: left;
-}
-#top .projectlogo {
-    padding: 7px 0 10px 10px;
-    float: left;
-    width: 33%;
-    text-align: right;
-}
-#top .projectlogoA1 {
-    padding: 7px 0 10px 10px;
-    float: right;
-}
-html>body #top .searchbox {
-    bottom: 0px;
-}
-#top .searchbox {
-    position: absolute;
-    right: 10px;
-    height: 42px;
-    font-size: 70%;
-    white-space: nowrap;
-    text-align: right;
-    color: white;
-    background-color: #000000;
-    z-index:0;
-    background-image: url(images/rc-t-l-5-1header-2searchbox-3searchbox.png);
-    background-repeat: no-repeat;
-    background-position: top left;
-    bottom: -1px; /* compensate for IE rendering issue */
-}
-
-#top .searchbox form {
-    padding: 5px 10px;
-    margin: 0;
-}
-#top .searchbox p {
-    padding: 0 0 2px 0;
-    margin: 0;
-}
-#top .searchbox input {
-    font-size: 100%;
-}
-
-#tabs {
-    clear: both;
-    padding-left: 10px;
-    margin: 0;
-    list-style: none;
-}
-/*    background: #CFDCED url("images/tab-right.gif") no-repeat right top;*/
-#tabs li {
-    float: left;
-    background-image: url(images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png);
-    background-repeat: no-repeat;
-    background-position: top right;
-    background-color: #000000;
-    margin: 0 3px 0 0;
-    padding: 0;
-}
-
-/*background: url("images/tab-left.gif") no-repeat left top;*/
-#tabs li a {
-    float: left;
-    display: block;
-    font-family: verdana, arial, sans-serif;
-    text-decoration: none;
-    color: black;
-    white-space: nowrap;
-    background-image: url(images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png);
-    background-repeat: no-repeat;
-    background-position: top left;
-    padding: 5px 15px 4px;
-    width: .1em; /* IE/Win fix */
-}
-
-#tabs li a:hover {
-   
-    cursor: pointer;
-    text-decoration:underline;
-}
-
-#tabs > li a { width: auto; } /* Rest of IE/Win fix */
-
-/* Commented Backslash Hack hides rule from IE5-Mac \*/
-#tabs a { float: none; }
-/* End IE5-Mac hack */
-
-#top .header .current {
-    background-color: #4C6C8F;
-    background-image: url(images/rc-t-r-5-1header-2tab-selected-3tab-selected.png);
-    background-repeat: no-repeat;
-    background-position: top right;
-}
-#top .header .current a {
-    font-weight: bold;
-    padding-bottom: 5px;
-    color: white;
-    background-image: url(images/rc-t-l-5-1header-2tab-selected-3tab-selected.png);
-    background-repeat: no-repeat;
-    background-position: top left;
-}
-#publishedStrip {
-    padding-right: 10px;
-    padding-left: 20px;
-    padding-top: 3px;
-    padding-bottom:3px;
-    color: #ffffff;
-    font-size : 60%;
-    font-weight: bold;
-    background-color: #4C6C8F;
-    text-align:right;
-}
-
-#level2tabs {
-margin: 0;
-float:left;
-position:relative;
-
-}
-
-
-
-#level2tabs  a:hover {
-   
-    cursor: pointer;
-    text-decoration:underline;
-    
-}
-
-#level2tabs  a{
-   
-    cursor: pointer;
-    text-decoration:none;
-    background-image: url('images/chapter.gif');
-    background-repeat: no-repeat;
-    background-position: center left;
-    padding-left: 6px;
-    margin-left: 6px;
-}
-
-/*
-*    border-top: solid #4C6C8F 15px;
-*/
-#main {
-    position: relative;
-    background: white;
-    clear:both;
-}
-#main .breadtrail {
-    clear:both;
-    position: relative;
-    background: #CFDCED;
-    color: black;
-    border-bottom: solid 1px black;
-    border-top: solid 1px black;
-    padding: 0px 180px;
-    font-size: 75%;
-    z-index:10;
-}
-/**
-* Round corner
-*/
-#roundtop {
-    background-image: url(images/rc-t-r-15-1body-2menu-3menu.png);
-    background-repeat: no-repeat;
-    background-position: top right;
-}
-
-#roundbottom {
-    background-image: url(images/rc-b-r-15-1body-2menu-3menu.png);
-    background-repeat: no-repeat;
-    background-position: top right;
-}
-
-img.corner {
-   width: 15px;
-   height: 15px;
-   border: none;
-   display: block !important;
-}
-
-.roundtopsmall {
-    background-image: url(images/rc-t-r-5-1header-2searchbox-3searchbox.png);
-    background-repeat: no-repeat;
-    background-position: top right;
-}
-
-#roundbottomsmall {
-    background-image: url(images/rc-b-r-5-1header-2tab-selected-3tab-selected.png);
-    background-repeat: no-repeat;
-    background-position: top right;
-}
-
-img.cornersmall {
-   width: 5px;
-   height: 5px;
-   border: none;
-   display: block !important;
-}
-/**
- * Side menu
- */
-#menu a {  font-weight: normal; text-decoration: none;}
-#menu a:visited {  font-weight: normal; }
-#menu a:active {  font-weight: normal; }
-#menu a:hover {  font-weight: normal;  text-decoration:underline;}
-
-#menuarea { width:10em;}
-#menu {
-    position: relative;
-    float: left;
-    width: 160px;
-    padding-top: 0px;
-    top:-18px;
-    left:10px;
-    z-index: 20;
-    background-color: #f90;
-    font-size : 70%;
-    
-}
-
-.menutitle {
-        cursor:pointer;
-        padding: 3px 12px;
-        margin-left: 10px;
-        background-image: url('images/chapter.gif');
-        background-repeat: no-repeat;
-        background-position: center left;
-        font-weight : bold;
-
-        
-}
-
-.menutitle:hover{text-decoration:underline;cursor: pointer;}
-
-#menu .menuitemgroup {
-        margin: 0px 0px 6px 8px;
-        padding: 0px;
-        font-weight : bold; }
-
-#menu .selectedmenuitemgroup{
-        margin: 0px 0px 0px 8px;
-        padding: 0px;
-        font-weight : normal; 
-       
-        }
-
-#menu .menuitem {
-        padding: 2px 0px 1px 13px;
-        background-image: url('images/page.gif');
-        background-repeat: no-repeat;
-        background-position: center left;
-        font-weight : normal;
-        margin-left: 10px;
-}
-
-#menu .menupage {
-        margin: 2px 0px 1px 10px;
-        padding: 0px 3px 0px 12px;
-        background-image: url('images/page.gif');
-        background-repeat: no-repeat;
-        background-position: center left;
-        font-style : normal;
-}
-#menu .menupagetitle {
-        padding: 0px 0px 0px 1px;
-        font-style : normal;
-        border-style: solid;
-        border-width: 1px;
-        margin-right: 10px;
-         
-}
-#menu .menupageitemgroup {
-        padding: 3px 0px 4px 6px;
-        font-style : normal;
-        border-bottom: 1px solid ;
-        border-left: 1px solid ;
-        border-right: 1px solid ;
-        margin-right: 10px;
-}
-#menu .menupageitem {
-        font-style : normal;
-        font-weight : normal;
-        border-width: 0px;
-        font-size : 90%;
-}
-#menu #credit {
-    text-align: center;
-}
-#menu #credit2 {
-    text-align: center;
-    padding: 3px 3px 3px 3px;
-    background-color: #ffffff;
-}
-#menu .searchbox {
-    text-align: center;
-}
-#menu .searchbox form {
-    padding: 3px 3px;
-    margin: 0;
-}
-#menu .searchbox input {
-    font-size: 100%;
-}
-
-#content {
-    padding: 20px 20px 20px 180px;
-    margin: 0;
-    font : small Verdana, Helvetica, sans-serif;
-    font-size : 80%;
-}
-
-#content ul {
-    margin: 0;
-    padding: 0 25px;
-}
-#content li {
-    padding: 0 5px;
-}
-#feedback {
-    color: black;
-    background: #CFDCED;
-    text-align:center;
-    margin-top: 5px;
-}
-#feedback #feedbackto {
-    font-size: 90%;
-    color: black;
-}
-#footer {
-    clear: both;
-    position: relative; /* IE bugfix (http://www.dracos.co.uk/web/css/ie6floatbug/) */
-    width: 100%;
-    background: #CFDCED;
-    border-top: solid 1px #4C6C8F;
-    color: black;
-}
-#footer .copyright {
-    position: relative; /* IE bugfix cont'd */
-    padding: 5px;
-    margin: 0;
-    width: 60%;
-}
-#footer .lastmodified {
-    position: relative; /* IE bugfix cont'd */
-    float: right;
-    width: 30%;
-    padding: 5px;
-    margin: 0;
-    text-align: right;
-}
-#footer a { color: white; }
-
-#footer #logos {
-    text-align: left;
-}
-
-
-/**
- * Misc Styles
- */
-
-acronym { cursor: help; }
-.boxed      { background-color: #a5b6c6;}
-.underlined_5     {border-bottom: solid 5px #4C6C8F;}
-.underlined_10     {border-bottom: solid 10px #4C6C8F;}
-/* ==================== snail trail ============================ */
-
-.trail {
-  position: relative; /* IE bugfix cont'd */
-  font-size: 70%;
-  text-align: right;
-  float: right;
-  margin: -10px 5px 0px 5px;
-  padding: 0;
-}
-
-#motd-area {
-    position:relative;
-    float:right;
-    width: 35%;
-    background-color: #f0f0ff;
-    border: solid 1px #4C6C8F;
-    margin: 0px 0px 10px 10px;
-    padding: 5px;
-}
-
-#minitoc-area {
-    border-top: solid 1px #4C6C8F;
-    border-bottom: solid 1px #4C6C8F;
-    margin: 15px 10% 5px 15px;
-   /* margin-bottom: 15px;
-    margin-left: 15px;
-    margin-right: 10%;*/
-    padding-bottom: 7px;
-    padding-top: 5px;
-}
-.minitoc {
-    list-style-image: url('images/current.gif');
-    font-weight: normal;
-}
-
-.abstract{
-    text-align:justify;
-    }
-
-li p {
-    margin: 0;
-    padding: 0;
-}
-
-.pdflink {
-    position: relative; /* IE bugfix cont'd */
-    float: right;
-    margin: 0px 5px;
-    padding: 0;
-}
-.pdflink br {
-    margin-top: -10px;
-    padding-left: 1px;
-}
-.pdflink a {
-    display: block;
-    font-size: 70%;
-    text-align: center;
-    margin: 0;
-    padding: 0;
-}
-
-.pdflink img {
-    display: block;
-    height: 16px;
-    width: 16px;
-}
-.xmllink {
-    position: relative; /* IE bugfix cont'd */
-    float: right;
-    margin: 0px 5px;
-    padding: 0;
-}
-.xmllink br {
-    margin-top: -10px;
-    padding-left: 1px;
-}
-.xmllink a {
-    display: block;
-    font-size: 70%;
-    text-align: center;
-    margin: 0;
-    padding: 0;
-}
-
-.xmllink img {
-    display: block;
-    height: 16px;
-    width: 16px;
-}
-.podlink {
-    position: relative; /* IE bugfix cont'd */
-    float: right;
-    margin: 0px 5px;
-    padding: 0;
-}
-.podlink br {
-    margin-top: -10px;
-    padding-left: 1px;
-}
-.podlink a {
-    display: block;
-    font-size: 70%;
-    text-align: center;
-    margin: 0;
-    padding: 0;
-}
-
-.podlink img {
-    display: block;
-    height: 16px;
-    width: 16px;
-}
-
-.printlink {
-    position: relative; /* IE bugfix cont'd */
-    float: right;
-}
-.printlink br {
-    margin-top: -10px;
-    padding-left: 1px;
-}
-.printlink a {
-    display: block;
-    font-size: 70%;
-    text-align: center;
-    margin: 0;
-    padding: 0;
-}
-.printlink img {
-    display: block;
-    height: 16px;
-    width: 16px;
-}
-
-p.instruction {
-  display: list-item;
-  list-style-image: url('../images/instruction_arrow.png');
-  list-style-position: outside;
-  margin-left: 2em;
-} 
\ No newline at end of file