<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -125,7 +125,8 @@
 &lt;% end %&gt;
 
 &lt;%= header 'Control.ContextMenu' %&gt;
-&lt;%= introduction 'Contextual menus for Prototype.' %&gt;
+&lt;%= introduction 'Pure JavaScript/CSS contextual menus for Prototype.' %&gt;
+&lt;% @title = 'Control.ContextMenu : Pure JavaScript/CSS contextual menus for Prototype' %&gt;
 
 &lt;% tabs 'main_tabs' do |tabs| %&gt;
 	&lt;% tabs.tab 'tutorial', 'Tutorial' %&gt;</diff>
      <filename>app/views/page/control/_contextmenu.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -46,6 +46,7 @@
 &lt;% end %&gt;
 &lt;%= header 'Control.ProgressBar' %&gt;
 &lt;%= introduction 'CSS based progress bar widget for Prototype.' %&gt;
+&lt;% @title = 'Control.ProgressBar : CSS based progress bar widget for Prototype' %&gt;
 
 &lt;% tabs 'main_tabs' do |tabs| %&gt;
 	&lt;% tabs.tab 'tutorial', 'Tutorial' %&gt;</diff>
      <filename>app/views/page/control/_progressbar.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -64,6 +64,7 @@
 
 &lt;%= header 'Control.Rating' %&gt;
 &lt;%= introduction 'Unobtrusive CSS based rating widget for Prototype.' %&gt;
+&lt;% @title = 'Control.Rating : Unobtrusive CSS based rating widget for Prototype' %&gt;
 
 &lt;% tabs 'main_tabs' do |tabs| %&gt;
 	&lt;% tabs.tab 'tutorial', 'Tutorial' %&gt;</diff>
      <filename>app/views/page/control/_rating.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -94,6 +94,7 @@
 
 &lt;%= header 'Control.ScrollBar' %&gt;
 &lt;%= introduction 'Pure JavaScript/CSS scroll bars for Prototype.' %&gt;
+&lt;% @title = 'Control.ScrollBar : Pure JavaScript/CSS scroll bars for Prototype' %&gt;
 
 &lt;% tabs 'main_tabs' do |tabs| %&gt;
 	&lt;% tabs.tab 'tutorial', 'Tutorial' %&gt;</diff>
      <filename>app/views/page/control/_scrollbar.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
 &lt;%= header 'Control.Selection' %&gt;
 &lt;%= introduction 'Programmable object selection API for Prototype.' %&gt;
+&lt;% @title = 'Control.Selection : Programmable object selection API for Prototype' %&gt;
 
 &lt;% tabs 'main_tabs' do |tabs| %&gt;
 	&lt;% tabs.tab 'tutorial', 'Tutorial' %&gt;</diff>
      <filename>app/views/page/control/_selection.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -208,6 +208,7 @@
 
 &lt;%= header 'Control.SelectMultiple' %&gt;
 &lt;%= introduction 'Unobtrusive select multiple input alternative for Prototype.' %&gt;
+&lt;% @title = 'Control.SelectMultiple : Unobtrusive select multiple input alternative for Prototype' %&gt;
 
 &lt;% tabs 'main_tabs' do |tabs| %&gt;
 	&lt;% tabs.tab 'tutorial', 'Tutorial' %&gt;</diff>
      <filename>app/views/page/control/_selectmultiple.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -141,6 +141,7 @@
 
 &lt;%= header 'Control.Tabs' %&gt;
 &lt;%= introduction 'Unobtrusive CSS tabs for Prototype.' %&gt;
+&lt;% @title = 'Control.Tabs : Unobtrusive CSS tabs for Prototype' %&gt;
 
 &lt;% tabs 'main_tabs' do |tabs| %&gt;
 	&lt;% tabs.tab 'tutorial', 'Tutorial' %&gt;</diff>
      <filename>app/views/page/control/_tabs.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -178,6 +178,7 @@
 
 &lt;%= header 'Control.TextArea' %&gt;
 &lt;%= introduction 'Cross browser textarea manipulation for Prototype.' %&gt;
+&lt;% @title = 'Control.TextArea : Cross browser textarea manipulation for Prototype' %&gt;
 
 &lt;% tabs 'main_tabs' do |tabs| %&gt;
 	&lt;% tabs.tab 'tutorial', 'Tutorial' %&gt;</diff>
      <filename>app/views/page/control/_textarea.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -171,6 +171,7 @@
 
 &lt;%= header 'Control.Window' %&gt;
 &lt;%= introduction 'Windows, Modals, LightBoxes and Tooltips for Prototype.' %&gt;
+&lt;% @title = 'Control.Window : Windows, Modals, LightBoxes and Tooltips for Prototype' %&gt;
 
 &lt;% tabs 'main_tabs' do |tabs| %&gt;
 	&lt;% tabs.tab 'tutorial', 'Tutorial' %&gt;</diff>
      <filename>app/views/page/control/_window.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,935 @@
-index
\ No newline at end of file
+&lt;%= header 'LivePipe UI' %&gt;
+&lt;%= introduction 'High Quality Controls &amp;amp; Widgets for Prototype' %&gt;
+&lt;% paragraph 'Introduction' do %&gt;LivePipe UI is a suite of high quality widgets and controls for web 2.0 applications built using the Prototype JavaScript Framework. Each control is well tested, highly extensible, fully documented and degrades gracefully for non JavaScript enabled browsers where possible. &lt;a href=&quot;http://www.opensource.org/licenses/mit-license.php&quot;&gt;MIT licensed&lt;/a&gt; and actively maintained.&lt;% end %&gt;
+&lt;% paragraph 'Event Oriented Programming' do %&gt;&lt;% link_to 'Object.Event', core_url %&gt; introduces a mechanism to create and observe events on any object, not just DOM Elements. This is used by all &lt;%= link_to 'controls', controls_url %&gt;, and allows for fine grained control of your user interface. Making use of this is as easy as:&lt;% end %&gt;
+&lt;% javascript do %&gt;
+	var w = new Control.Window();
+	w.observe('afterOpen',function(){
+		//insert your custom logic here
+	});
+&lt;% end %&gt;
+
+&lt;% paragraph 'Controls' do %&gt;&lt;% end %&gt;
+
+&lt;% tabs 'main_tabs' do |tabs| %&gt;
+	&lt;% tabs.tab 'tabs', 'Tabs' %&gt;
+	&lt;% tabs.tab 'window', 'Window' %&gt;
+	&lt;% tabs.tab 'textarea', 'TextArea' %&gt;
+	&lt;% tabs.tab 'select_multiple', 'SelectMultiple' %&gt;
+	&lt;% tabs.tab 'rating', 'Rating' %&gt;
+	&lt;% tabs.tab 'progressbar', 'ProgressBar' %&gt;
+	&lt;% tabs.tab 'scrollbar', 'ScrollBar' %&gt;
+&lt;% end %&gt;
+
+&lt;% section 'tabs' do %&gt;
+	&lt;p&gt;You're already using the simplest example of &lt;%= link_to 'Control.Tabs', control_tabs_url %&gt;. This control can also be customized to a variety of different navigation types. The image switcher below is one of many possibilities.&lt;/p&gt;
+	&lt;% content_for :head do %&gt;
+		&lt;style&gt;
+			.tabbed_images {
+				list-style:none;
+				margin:0;
+				padding:0;
+				clear:both;
+			}
+
+			.tabbed_images li {
+				list-style:none;
+				float:left;
+				margin:0;
+				padding:0;
+			}
+
+			.tabbed_images li a {
+				border:1px solid #ccc;
+				display:block;
+				float:left;
+				margin:0 10px 0 0;
+			}
+
+			.tabbed_images li a.active,
+			.tabbed_images li a:hover {
+				border:1px solid #333;
+			}
+
+			.tabbed_images li a img {
+				border:none;
+				padding:2px;
+				margin:0;
+			}
+
+			#image_1,
+			#image_2,
+			#image_3,
+			#image_4,
+			#image_5 {
+				margin-top:10px;
+				padding:2px;
+				border:1px solid #ccc;
+			}
+		&lt;/style&gt;
+	&lt;% end %&gt;
+	
+	&lt;ul class=&quot;tabbed_images&quot; id=&quot;tabs_example&quot;&gt;
+		&lt;li&gt;&lt;a href=&quot;#image_1&quot;&gt;&lt;img src=&quot;/stylesheets/sample_images/tabs_example_1_small.jpg&quot;/&gt;&lt;/a&gt;&lt;/li&gt;
+		&lt;li&gt;&lt;a href=&quot;#image_2&quot;&gt;&lt;img src=&quot;/stylesheets/sample_images/tabs_example_2_small.jpg&quot;/&gt;&lt;/a&gt;&lt;/li&gt;
+		&lt;li&gt;&lt;a href=&quot;#image_3&quot;&gt;&lt;img src=&quot;/stylesheets/sample_images/tabs_example_3_small.jpg&quot;/&gt;&lt;/a&gt;&lt;/li&gt;
+		&lt;li&gt;&lt;a href=&quot;#image_4&quot;&gt;&lt;img src=&quot;/stylesheets/sample_images/tabs_example_4_small.jpg&quot;/&gt;&lt;/a&gt;&lt;/li&gt;
+	&lt;/ul&gt;
+	&lt;img src=&quot;/stylesheets/sample_images/tabs_example_1_big.jpg&quot; id=&quot;image_1&quot;/&gt;
+	&lt;img src=&quot;/stylesheets/sample_images/tabs_example_2_big.jpg&quot; id=&quot;image_2&quot;/&gt;
+	&lt;img src=&quot;/stylesheets/sample_images/tabs_example_3_big.jpg&quot; id=&quot;image_3&quot;/&gt;
+	&lt;img src=&quot;/stylesheets/sample_images/tabs_example_4_big.jpg&quot; id=&quot;image_4&quot;/&gt;
+	&lt;script&gt;
+		new Control.Tabs('tabs_example',{
+			hover: true
+		})
+	&lt;/script&gt;
+&lt;% end %&gt;
+&lt;% section 'window' do %&gt;
+	&lt;p&gt;The table below shows a few of the possible customizations of &lt;%= link_to 'Control.Window', control_window_url %&gt;.&lt;/p&gt;
+	&lt;% examples_table false,'Name','Options' do |examples| %&gt;
+		&lt;% examples.item :name =&gt; '&lt;a href=&quot;#centered&quot;&gt;Centered Window / Content on Page&lt;/a&gt;', :options =&gt; &quot;className: 'simple_window', closeOnClick: true&quot; %&gt;
+		&lt;% examples.item :name =&gt; '&lt;a href=&quot;#relative&quot;&gt;Relative Window / Dynamic Content&lt;/a&gt;', :options =&gt; &quot;position: 'relative', className: 'simple_window', closeOnClick: true&quot; %&gt;
+		&lt;% examples.item :name =&gt; '&lt;a href=&quot;#hoverbox&quot;&gt;HoverBox&lt;/a&gt;', :options =&gt; &quot;position: 'relative', offsetLeft: 75, width: 175, hover: true, className: 'tooltip'&quot; %&gt;
+		&lt;% examples.item :name =&gt; '&lt;a href=&quot;?ajax&quot;&gt;Relative Window / Content from Ajax&lt;/a&gt;', :options =&gt; &quot;offsetLeft: 150, position: 'relative', className: 'simple_window', closeOnClick: 'container'&quot; %&gt;
+		&lt;% examples.item :name =&gt; '&lt;a href=&quot;/stylesheets/sample_images/tabs_example_1_big.jpg&quot; id=&quot;styled_window_one&quot; title=&quot;Piha Beach, New Zealand&quot;&gt;Draggable / Styled Window One&lt;/a&gt;', :options =&gt; &quot;window_factory() options&quot; %&gt;
+		&lt;% examples.item :name =&gt; '&lt;a href=&quot;/stylesheets/sample_images/tabs_example_2_big.jpg&quot; id=&quot;styled_window_two&quot; title=&quot;Pioneer Mountains, Idaho&quot;&gt;Draggable / Styled Window Two&lt;/a&gt;', :options =&gt; &quot;window_factory() options&quot; %&gt;
+		&lt;% examples.item :name =&gt; '&lt;a href=&quot;/stylesheets/sample_images/tabs_example_3_big.jpg&quot; id=&quot;modal&quot;&gt;Modal Window&lt;/a&gt;', :options =&gt; &quot;fade: true, overlayOpacity: 0.75, className: 'modal'&quot; %&gt;
+		&lt;% examples.item :name =&gt; '&lt;a href=&quot;#&quot; id=&quot;tooltip&quot;&gt;Tooltip&lt;/a&gt;', :options =&gt; &quot;className: 'tooltip'&quot; %&gt;
+	&lt;% end %&gt;
+	&lt;% window_css = capture do %&gt;
+		#control_overlay {
+			background-color:#000;
+		}
+
+		.modal {
+			background-color:#fff;
+			padding:10px;
+			border:1px solid #333;
+		}
+
+		.tooltip {
+			border:1px solid #000;
+			background-color:#fff;
+			height:25px;
+			width:200px;
+			font-family:&quot;Lucida Grande&quot;,Verdana;
+			font-size:10px;
+			color:#333;
+		}
+
+		.simple_window {
+			width:250px;
+			height:50px;
+			border:1px solid #000;
+			background-color:#fff;
+			padding:10px;
+			text-align:left;
+			font-family:&quot;Lucida Grande&quot;,Verdana;
+			font-size:12px;
+			color:#333;
+		}
+
+		.window {
+			background-image:url(&quot;/stylesheets/window_background.png&quot;);
+			background-position:top left;
+			-moz-border-radius: 10px;
+			-webkit-border-radius: 10px;
+			padding:10px;
+			font-family:&quot;Lucida Grande&quot;,Verdana;
+			font-size:13px;
+			font-weight:bold;
+			color:#fff;
+			text-align:center;
+			min-width:150px;
+			min-height:100px;
+		}
+
+		.window .window_contents {
+			margin-top:10px;
+			width:100%;
+			height:100%;	
+		}
+
+		.window .window_header {
+			text-align:center;
+		}
+
+		.window .window_title {
+			margin-top:-7px;
+			margin-bottom:7px;
+			font-size:11px;
+			cursor:move;
+		}
+
+		.window .window_close {
+			display:block;
+			position:absolute;
+			top:4px;
+			left:5px;
+			height:13px;
+			width:13px;
+			background-image:url(&quot;/stylesheets/window_close.gif&quot;);
+			cursor:pointer;
+		    cursor:hand;
+		}
+	&lt;% end %&gt;
+	&lt;% window_js = capture do %&gt;
+		//Centered Window / Content on Page
+		var centered = new Control.Window($(document.body).down('[href=#centered]'),{
+			className: 'simple_window',
+			closeOnClick: true
+		});
+
+		//Relative Window / Dynamic Content
+		var relative = new Control.Window($(document.body).down('[href=#relative]'),{
+			position: 'relative',
+			className: 'simple_window',
+			closeOnClick: true
+		});
+		relative.container.insert('This content was inserted with JavaScript.');
+
+		//HoverBox
+		var relative = new Control.Window($(document.body).down('[href=#hoverbox]'),{
+			position: 'relative',
+			hover: true,
+			offsetLeft: 75,
+			width: 175,
+			className: 'tooltip'
+		});
+
+		//Relative Window / Content from Ajax
+		var ajax = new Control.Window($(document.body).down('[href=?ajax]'),{
+			className: 'simple_window',
+			closeOnClick: 'container',
+			offsetLeft: 150
+		});
+
+		//styled examples use the window factory for a shared set of behavior
+		var window_factory = function(container,options){
+			var window_header = new Element('div',{
+				className: 'window_header'
+			});
+			var window_title = new Element('div',{
+				className: 'window_title'
+			});
+			var window_close = new Element('div',{
+				className: 'window_close'
+			});
+			var window_contents = new Element('div',{
+				className: 'window_contents'
+			});
+			var w = new Control.Window(container,Object.extend({
+				className: 'window',
+				closeOnClick: window_close,
+				draggable: window_header,
+				insertRemoteContentAt: window_contents,
+				afterOpen: function(){
+					window_title.update(container.readAttribute('title'))
+				}
+			},options || {}));
+			w.container.insert(window_header);
+			window_header.insert(window_title);
+			window_header.insert(window_close);
+			w.container.insert(window_contents);
+			return w;
+		};
+
+		var styled_window_one = window_factory($('styled_window_one'));
+
+		var styled_window_two = window_factory($('styled_window_two'));
+
+		//Modal Window
+		var modal = new Control.Modal($('modal'),{
+			overlayOpacity: 0.75,
+			className: 'modal',
+			fade: true
+		});
+
+		//ToolTip
+		var tooltip = new Control.ToolTip($('tooltip'),'Windows can also act as tool tips.',{
+			className: 'tooltip'
+		});
+	&lt;% end %&gt;
+	&lt;% content_for :head do %&gt;
+		&lt;script&gt;
+			document.observe('dom:loaded',function(){
+				&lt;%= window_js %&gt;
+			});
+		&lt;/script&gt;
+		&lt;style&gt;
+			&lt;%= window_css %&gt;
+		&lt;/style&gt;
+	&lt;% end %&gt;
+	&lt;% content_for :body do %&gt;
+		&lt;div id=&quot;centered&quot;&gt;This content was already on the page.&lt;/div&gt;
+		&lt;div id=&quot;hoverbox&quot;&gt;Windows can act as hover boxes.&lt;/div&gt;
+	&lt;% end %&gt;
+&lt;% end %&gt;
+
+&lt;% section 'textarea' do %&gt;
+	&lt;p&gt;The example below demonstrates both components of &lt;%= link_to 'Control.TextArea', control_textarea_url %&gt; as it is used in other areas of the site. This implementation is specific to the &lt;a href=&quot;http://daringfireball.net/projects/markdown/&quot;&gt;Markdown&lt;/a&gt; formatting language.&lt;/p&gt;
+	&lt;% textarea_css = capture do %&gt;
+		#markdown_example {
+			width:100%;
+			height:200px;
+		}
+
+		#markdown_toolbar {
+			position:relative;
+			list-style:none;
+			border:1px solid #d7d7d7;
+			background-color:#F6F6F6;
+			margin:0;
+			padding:0;
+			height:18px;
+			margin-bottom:2px;
+		}
+
+		#markdown_toolbar li {
+			list-style:none;
+			margin:0;
+			padding:0;
+			float:left;
+		}
+
+		#markdown_toolbar li a {
+			width:24px;
+			height:16px;
+			float:left;
+			display:block;
+			background-image:url(&quot;/stylesheets/markdown_icons.gif&quot;);
+			border:1px solid #fff;
+			border-right-color:#d7d7d7;
+		}
+
+		#markdown_toolbar li a:hover {
+			border-color:#900;
+		}
+
+		#markdown_toolbar li span {
+			display:none;
+		}
+
+		#markdown_toolbar li a#markdown_help_button {
+			position:absolute;
+			top:0;
+			right:0;
+			border-left-color:#d7d7d7;
+			border-right-color:#fff;
+		}
+
+		#markdown_toolbar li a#markdown_help_button:hover {
+			border-left-color:#900;
+			border-right-color:#900;
+		}
+
+		#markdown_italics_button { background-position: 0 -119px; }
+		#markdown_bold_button { background-position: 0 -102px; }
+		#markdown_link_button { background-position: 0 0; }
+		#markdown_image_button { background-position: 0 -170px; }
+		#markdown_unordered_list_button { background-position: 0 -34px; }
+		#markdown_ordered_list_button { background-position: 0 -51px; }
+		#markdown_quote_button { background-position: 0 -68px; }
+		#markdown_code_button { background-position: 0 -136px; }
+		#markdown_help_button { background-position: 0 -153px; }
+		#markdown_heading_button { background-position: 0 -85px; }
+	&lt;% end %&gt;
+
+	&lt;% textarea_js = capture do %&gt;
+		//setup
+		var textarea = new Control.TextArea('markdown_example');
+		var toolbar = new Control.TextArea.ToolBar(textarea);
+		toolbar.container.id = 'markdown_toolbar'; //for css styles
+
+		//preview of markdown text
+		var converter = new Showdown.converter;
+		var converter_callback = function(value){
+			$('markdown_formatted').update(converter.makeHtml(value));
+		}
+		converter_callback(textarea.getValue());
+		textarea.observe('change',converter_callback);
+
+		//buttons
+		toolbar.addButton('Italics',function(){
+			this.wrapSelection('*','*');
+		},{
+			id: 'markdown_italics_button'
+		});
+
+		toolbar.addButton('Bold',function(){
+			this.wrapSelection('**','**');
+		},{
+			id: 'markdown_bold_button'
+		});
+
+		toolbar.addButton('Link',function(){
+			var selection = this.getSelection();
+			var response = prompt('Enter Link URL','');
+			if(response == null)
+				return;
+			this.replaceSelection('[' + (selection == '' ? 'Link Text' : selection) + '](' + (response == '' ? 'http://link_url/' : response).replace(/^(?!(f|ht)tps?:\/\/)/,'http://') + ')');
+		},{
+			id: 'markdown_link_button'
+		});
+
+		toolbar.addButton('Image',function(){
+			var selection = this.getSelection();
+			var response = prompt('Enter Image URL','');
+			if(response == null)
+				return;
+			this.replaceSelection('![' + (selection == '' ? 'Image Alt Text' : selection) + '](' + (response == '' ? 'http://image_url/' : response).replace(/^(?!(f|ht)tps?:\/\/)/,'http://') + ')');
+		},{
+			id: 'markdown_image_button'
+		});
+
+		toolbar.addButton('Heading',function(){
+			var selection = this.getSelection();
+			if(selection == '')
+				selection = 'Heading';
+			this.replaceSelection(&quot;\n&quot; + selection + &quot;\n&quot; + $R(0,Math.max(5,selection.length)).collect(function(){'-'}).join('') + &quot;\n&quot;);
+		},{
+			id: 'markdown_heading_button'
+		});
+
+		toolbar.addButton('Unordered List',function(event){
+			this.collectFromEachSelectedLine(function(line){
+				return event.shiftKey ? (line.match(/^\*{2,}/) ? line.replace(/^\*/,'') : line.replace(/^\*\s/,'')) : (line.match(/\*+\s/) ? '*' : '* ') + line;
+			});
+		},{
+			id: 'markdown_unordered_list_button'
+		});
+
+		toolbar.addButton('Ordered List',function(event){
+			var i = 0;
+			this.collectFromEachSelectedLine(function(line){
+				if(!line.match(/^\s+$/)){
+					++i;
+					return event.shiftKey ? line.replace(/^\d+\.\s/,'') : (line.match(/\d+\.\s/) ? '' : i + '. ') + line;
+				}
+			});
+		},{
+			id: 'markdown_ordered_list_button'
+		});
+
+		toolbar.addButton('Block Quote',function(event){
+			this.collectFromEachSelectedLine(function(line){
+				return event.shiftKey ? line.replace(/^\&gt; /,'') : '&gt; ' + line;
+			});
+		},{
+			id: 'markdown_quote_button'
+		});
+
+		toolbar.addButton('Code Block',function(event){
+			this.collectFromEachSelectedLine(function(line){
+				return event.shiftKey ? line.replace(/    /,'') : '    ' + line;
+			});
+		},{
+			id: 'markdown_code_button'
+		});
+
+		toolbar.addButton('Help',function(){
+			window.open('http://daringfireball.net/projects/markdown/dingus');
+		},{
+			id: 'markdown_help_button'
+		});
+	&lt;% end %&gt;
+
+	&lt;% content_for :head do %&gt;
+		&lt;style&gt;
+			&lt;%= textarea_css %&gt;
+		&lt;/style&gt;
+		&lt;script src=&quot;/javascripts/showdown.js&quot;&gt;&lt;/script&gt;
+		&lt;script&gt;
+			document.observe('dom:loaded',function(){
+				&lt;%= textarea_js %&gt;
+			});
+		&lt;/script&gt;
+	&lt;% end %&gt;
+	&lt;textarea id=&quot;markdown_example&quot;&gt;Select some text or enter your own, and play with the buttons above.&lt;/textarea&gt;
+	&lt;%= subhead 'Preview' %&gt;
+	&lt;div id=&quot;markdown_formatted&quot;&gt;&lt;/div&gt;
+&lt;% end %&gt;
+
+&lt;% section 'select_multiple' do %&gt;
+	&lt;p&gt;&lt;%= link_to 'Control.SelectMultiple', control_selectmultiple_url %&gt; provides a sensible alternative to the traditional select multiple input that attaches to an existing select input on any page.&lt;/p&gt;
+
+	&lt;% selectmultiple_js = capture do %&gt;
+
+		//complex example, note how we need to pass in different CSS selectors because of the complex HTML structure
+		var select_multiple_two = new Control.SelectMultiple('select_multiple_two','select_multiple_two_options',{
+			checkboxSelector: 'table.select_multiple_table tr td input[type=checkbox]',
+			nameSelector: 'table.select_multiple_table tr td.select_multiple_name',
+			afterChange: function(){
+				if(select_multiple_two &amp;&amp; select_multiple_two.setSelectedRows)
+					select_multiple_two.setSelectedRows();
+			}
+		});
+
+		//adds and removes highlighting from table rows
+		select_multiple_two.setSelectedRows = function(){
+			this.checkboxes.each(function(checkbox){
+				var tr = $(checkbox.parentNode.parentNode);
+				tr.removeClassName('selected');
+				if(checkbox.checked)
+					tr.addClassName('selected');
+			});
+		}.bind(select_multiple_two);
+		select_multiple_two.checkboxes.each(function(checkbox){
+			$(checkbox).observe('click',select_multiple_two.setSelectedRows);
+		});
+		select_multiple_two.setSelectedRows();
+
+		//link open and closing
+		$('select_multiple_two_open').observe('click',function(event){
+			$(this.select).style.visibility = 'hidden';
+			new Effect.BlindDown(this.container,{
+				duration: 0.3
+			});
+			Event.stop(event);
+			return false;
+		}.bindAsEventListener(select_multiple_two));
+		$('select_multiple_two_close').observe('click',function(event){
+			$(this.select).style.visibility = 'visible';
+			new Effect.BlindUp(this.container,{
+				duration: 0.3
+			});
+			Event.stop(event);
+			return false;
+		}.bindAsEventListener(select_multiple_two));		
+	&lt;% end %&gt;
+
+	&lt;% complex_example = capture do %&gt;
+		&lt;!-- Complex example HTML --&gt;
+		&lt;div id=&quot;select_two_container&quot;&gt;
+			&lt;select id=&quot;select_multiple_two&quot;&gt;
+				&lt;option value=&quot;tigers&quot;&gt;Tigers&lt;/option&gt;
+				&lt;option value=&quot;lions&quot;&gt;Lions&lt;/option&gt;
+				&lt;option value=&quot;kitties&quot;&gt;Kitties&lt;/option&gt;
+				&lt;option value=&quot;lygers&quot;&gt;Lygers&lt;/option&gt;
+				&lt;option value=&quot;pumas&quot;&gt;Pumas&lt;/option&gt;
+				&lt;option value=&quot;cheetahs&quot;&gt;Cheetahs&lt;/option&gt;
+			&lt;/select&gt;
+			&lt;a href=&quot;&quot; id=&quot;select_multiple_two_open&quot;&gt;Select Multiple&lt;/a&gt;
+			&lt;div style=&quot;display:none;&quot; id=&quot;select_multiple_two_options&quot; class=&quot;select_multiple_container&quot;&gt;
+				&lt;div class=&quot;select_multiple_header&quot;&gt;Select Multiple Felines&lt;/div&gt;
+				&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;select_multiple_table&quot; width=&quot;100%&quot;&gt;
+					&lt;tr class=&quot;odd&quot;&gt;
+						&lt;td class=&quot;select_multiple_name&quot;&gt;Tigers&lt;/td&gt;
+						&lt;td class=&quot;select_multiple_checkbox&quot;&gt;&lt;input type=&quot;checkbox&quot; value=&quot;tigers&quot;/&gt;&lt;/td&gt;
+					&lt;/tr&gt;
+					&lt;tr class=&quot;even&quot;&gt;
+						&lt;td class=&quot;select_multiple_name&quot;&gt;Lions&lt;/td&gt;
+						&lt;td class=&quot;select_multiple_checkbox&quot;&gt;&lt;input type=&quot;checkbox&quot; value=&quot;lions&quot;/&gt;&lt;/td&gt;
+					&lt;/tr&gt;
+					&lt;tr class=&quot;odd&quot;&gt;
+						&lt;td class=&quot;select_multiple_name&quot;&gt;Kitties&lt;/td&gt;
+						&lt;td class=&quot;select_multiple_checkbox&quot;&gt;&lt;input type=&quot;checkbox&quot; value=&quot;kitties&quot;/&gt;&lt;/td&gt;
+					&lt;/tr&gt;
+					&lt;tr class=&quot;even&quot;&gt;
+						&lt;td class=&quot;select_multiple_name&quot;&gt;Lygers&lt;/td&gt;
+						&lt;td class=&quot;select_multiple_checkbox&quot;&gt;&lt;input type=&quot;checkbox&quot; value=&quot;lygers&quot;/&gt;&lt;/td&gt;
+					&lt;/tr&gt;
+					&lt;tr class=&quot;odd&quot;&gt;
+						&lt;td class=&quot;select_multiple_name&quot;&gt;Pumas&lt;/td&gt;
+						&lt;td class=&quot;select_multiple_checkbox&quot;&gt;&lt;input type=&quot;checkbox&quot; value=&quot;pumas&quot;/&gt;&lt;/td&gt;
+					&lt;/tr&gt;
+					&lt;tr class=&quot;even&quot;&gt;
+						&lt;td class=&quot;select_multiple_name&quot;&gt;Cheetahs&lt;/td&gt;
+						&lt;td class=&quot;select_multiple_checkbox&quot;&gt;&lt;input type=&quot;checkbox&quot; value=&quot;cheetahs&quot;/&gt;&lt;/td&gt;
+					&lt;/tr&gt;
+				&lt;/table&gt;
+				&lt;div class=&quot;select_multiple_submit&quot;&gt;&lt;input type=&quot;button&quot; value=&quot;Done&quot; id=&quot;select_multiple_two_close&quot;/&gt;&lt;/div&gt;
+			&lt;/div&gt;
+		&lt;/div&gt;
+	&lt;% end %&gt;
+
+	&lt;% selectmultiple_css = capture do %&gt;
+		/* CSS is mostly for the complex example */
+
+		#select_multiple_one,
+		#select_multiple_two {
+			width:200px;
+		}
+
+		#select_two_container {
+			position:relative;
+		}
+
+		.select_multiple_submit {
+			background-image:url(&quot;/stylesheets/popup_footer.gif&quot;);
+			background-image:top center;
+			background-repeat:repeat-x;
+			padding:10px;
+			height:22px;
+			text-align:right;
+		}
+
+		.select_multiple_label {
+			margin-left:5px;
+			font-family:&quot;Lucida Grande&quot;,Verdana;
+			font-size:11px;
+		}
+
+		.select_multiple_container {
+			width:300px;
+			position:absolute;
+			top:0;
+			left:0;
+			z-index:500;
+			border:1px solid #222;
+			border-top:none;
+		}
+
+		.select_multiple_container .select_multiple_header {
+			background-image:url(&quot;/stylesheets/black_background.gif&quot;);
+			background-repeat:repeat-x;
+			background-position:top center;
+			color:#eee;
+			font-family:&quot;Lucida Grande&quot;,Verdana;
+			font-weight:bold;
+			font-size:12px;
+			margin:0;
+			padding:7px 0 8px 10px;
+			background-color:#000;
+		}
+
+		table.select_multiple_table td {
+			height:27px;
+			border-bottom:1px solid #ddd;
+			font-family:&quot;Lucida Grande&quot;,Verdana;
+			color:#333;
+			font-size:11px;
+		}
+
+		table.select_multiple_table tr.even {
+			background-color:#FCFCFC;
+		}
+
+		table.select_multiple_table tr.odd {
+			background-color:#F7F7F7;
+		}
+
+		table.select_multiple_table tr.selected {
+			background-image:none;
+			background-color:#D9E9FE;
+		}
+
+		.select_multiple_name {
+			padding-left:15px;
+			font-weight:bold;
+		}
+
+		.select_multiple_checkbox {
+			text-align:right;
+		}
+
+		.select_multiple_checkbox input {
+			margin-right:15px;
+		}
+	&lt;% end %&gt;
+
+	&lt;% content_for :head do %&gt;
+		&lt;style&gt;
+			&lt;%= selectmultiple_css %&gt;
+		&lt;/style&gt;
+		&lt;script&gt;
+			document.observe('dom:loaded',function(){
+				&lt;%= selectmultiple_js %&gt;
+			});
+		&lt;/script&gt;
+	&lt;% end %&gt;
+
+	&lt;%= complex_example %&gt;
+	&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
+&lt;% end %&gt;
+
+&lt;% section 'rating' do %&gt;
+	&lt;% rating_js = capture do %&gt;
+		var rating_one = new Control.Rating('rating_one');
+		var rating_two = new Control.Rating('rating_two',{value: 2.4});
+		var rating_four = new Control.Rating('rating_four',{value: 4,rated: true});
+		var rating_five = new Control.Rating('rating_five',{value: 6,rated: false,max:9});
+		var rating_six = new Control.Rating('rating_six',{
+			value: 6,
+			rated: false,
+			min: 3,
+			max: 12,
+			multiple: true,
+			reverse: true
+		});
+		var rating_seven = new Control.Rating('rating_seven',{
+			input: 'rating_seven_input',
+			multiple: true
+		});
+		var rating_eight = new Control.Rating('rating_eight',{
+			input: 'rating_eight_select',
+			multiple: true
+		});
+	&lt;% end %&gt;
+	&lt;% rating_css = capture do %&gt;
+		.rating_container {
+			clear:both;
+		}
+
+		.rating_container a {
+			float:left;
+			display:block;
+			width:25px;
+			height:25px;
+			border:0;
+			background-image:url(&quot;/stylesheets/rating.gif&quot;);
+		}
+
+		.rating_container a.rating_off {
+			background-position:0 0px;
+		}
+
+		.rating_container a.rating_half {
+			background-position:0 -25px;
+		}
+
+		.rating_container a.rating_on {
+			background-position:0 -50px;
+		}
+
+		.rating_container a.rating_selected {
+			background-position:0 -75px;
+		}
+	&lt;% end %&gt;
+
+	&lt;% content_for :head do %&gt;
+		&lt;style&gt;
+			&lt;%= rating_css %&gt;
+		&lt;/style&gt;
+		&lt;script&gt;
+			document.observe('dom:loaded',function(){
+				&lt;%= rating_js %&gt;
+			});
+		&lt;/script&gt;
+	&lt;% end %&gt;
+	&lt;p&gt;&lt;%= link_to 'Control.Rating', control_rating_url %&gt; attaches to any div, and is easy to integrate with your existing Ajax applications. It can also interact with other form elements that are already on the page.&lt;/p&gt;
+	&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;api_table&quot;&gt;
+		&lt;thead&gt;
+			&lt;tr&gt;&lt;td&gt;Example&lt;/td&gt;&lt;td class=&quot;right&quot;&gt;Options&lt;/td&gt;&lt;/tr&gt;
+		&lt;/thead&gt;
+		&lt;tbody&gt;
+			&lt;tr&gt;
+				&lt;td&gt;&lt;div id=&quot;rating_one&quot; class=&quot;rating_container&quot;&gt;
+					&lt;a href=&quot;#&quot; class=&quot;rating_on&quot;&gt;&lt;/a&gt;
+					&lt;a href=&quot;#&quot; class=&quot;rating_on&quot;&gt;&lt;/a&gt;
+					&lt;a href=&quot;#&quot; class=&quot;rating_half&quot;&gt;&lt;/a&gt;
+					&lt;a href=&quot;#&quot; class=&quot;rating_off&quot;&gt;&lt;/a&gt;
+					&lt;a href=&quot;#&quot; class=&quot;rating_off&quot;&gt;&lt;/a&gt;
+				&lt;/div&gt;&lt;/td&gt;
+				&lt;td class=&quot;right&quot;&gt;{}&lt;/td&gt;
+			&lt;/tr&gt;
+			&lt;tr&gt;
+				&lt;td&gt;&lt;div id=&quot;rating_two&quot; class=&quot;rating_container&quot;&gt;&lt;/div&gt;&lt;/td&gt;
+				&lt;td class=&quot;right&quot;&gt;{value: 2.4}&lt;/td&gt;
+			&lt;/tr&gt;
+			&lt;tr&gt;
+				&lt;td&gt;&lt;div id=&quot;rating_four&quot; class=&quot;rating_container&quot;&gt;&lt;/div&gt;&lt;/td&gt;
+				&lt;td class=&quot;right&quot;&gt;{value: 4, rated: true}&lt;/td&gt;
+			&lt;/tr&gt;
+			&lt;tr&gt;
+				&lt;td&gt;&lt;div id=&quot;rating_five&quot; class=&quot;rating_container&quot;&gt;&lt;/div&gt;&lt;/td&gt;
+				&lt;td class=&quot;right&quot;&gt;{value: 6, rated: false, max:9}&lt;/td&gt;
+			&lt;/tr&gt;
+			&lt;tr&gt;
+				&lt;td&gt;&lt;div id=&quot;rating_six&quot; class=&quot;rating_container&quot;&gt;&lt;/div&gt;&lt;/td&gt;
+				&lt;td class=&quot;right&quot;&gt;{value: 6, rated: false, min: 3, max: 12, multiple: true, reverse: true}&lt;/td&gt;
+			&lt;/tr&gt;
+			&lt;tr&gt;
+				&lt;td&gt;&lt;div id=&quot;rating_seven&quot; class=&quot;rating_container&quot;&gt;&lt;/div&gt;&lt;input id=&quot;rating_seven_input&quot; value=&quot;2&quot; style=&quot;width:50px;&quot;/&gt;&lt;/td&gt;
+				&lt;td class=&quot;right&quot;&gt;{input: 'rating_seven_input', multiple: true}&lt;/td&gt;
+			&lt;/tr&gt;
+			&lt;tr&gt;
+				&lt;td&gt;&lt;div id=&quot;rating_eight&quot; class=&quot;rating_container&quot;&gt;&lt;/div&gt;
+				&lt;select id=&quot;rating_eight_select&quot;&gt;
+					&lt;option value=&quot;1&quot;&gt;Bad&lt;/option&gt;
+					&lt;option value=&quot;2&quot;&gt;Good&lt;/option&gt;
+					&lt;option value=&quot;3&quot;&gt;Great&lt;/option&gt;
+					&lt;option value=&quot;4&quot;&gt;Excellent&lt;/option&gt;
+					&lt;option value=&quot;5&quot;&gt;Really Excellent&lt;/option&gt;
+				&lt;/select&gt;&lt;/td&gt;
+				&lt;td class=&quot;right&quot;&gt;{input: 'rating_eight_select', multiple: true}&lt;/td&gt;
+			&lt;/tr&gt;
+		&lt;/tbody&gt;
+	&lt;/table&gt;	
+&lt;% end %&gt;
+
+&lt;% section 'progressbar' do %&gt;
+	&lt;p&gt;&lt;%= link_to 'Control.ProgressBar', control_progressbar_url %&gt; is a percentage based progress bar that can be set to grow in one of three ways: on a timed interval, when events in your application tell it to, or it can be set to poll a given URL.&lt;/p&gt;
+	&lt;% progress_bar_css = capture do %&gt;
+		#progress_bar {
+			width:102px;
+			height:7px;
+			border:1px solid #ccc;
+			padding:0;
+			margin:0;
+			position:relative;
+			background-image:url(&quot;/stylesheets/progress_bar.gif&quot;);
+			background-repeat:repeat-x;
+		}
+
+		#progress_bar div {
+			background-color:#fff;
+		}
+	&lt;% end %&gt;
+	&lt;% progress_bar_html = capture do %&gt;
+		&lt;div id=&quot;progress_bar&quot;&gt;&lt;/div&gt;
+		&lt;div style=&quot;margin-top:10px;&quot;&gt;
+			&lt;input type=&quot;button&quot; value=&quot;Start&quot; id=&quot;progress_bar_start&quot;/&gt;
+			&lt;input type=&quot;button&quot; value=&quot;Stop&quot; id=&quot;progress_bar_stop&quot;/&gt;
+			&lt;input type=&quot;button&quot; value=&quot;Reset&quot; id=&quot;progress_bar_reset&quot;/&gt;
+			&lt;input type=&quot;button&quot; value=&quot;+ 5%&quot; id=&quot;progress_bar_step_5&quot;/&gt;
+			&lt;input type=&quot;button&quot; value=&quot;+ 25%&quot; id=&quot;progress_bar_step_25&quot;/&gt;
+		&lt;/div&gt;
+	&lt;% end %&gt;
+	&lt;% progress_bar_js = capture do %&gt;
+		var progress_bar = new Control.ProgressBar('progress_bar',{
+		    interval: 0.15
+		});
+		$('progress_bar_stop').observe('click',progress_bar.stop.bind(progress_bar));
+		$('progress_bar_start').observe('click',progress_bar.start.bind(progress_bar));
+		$('progress_bar_reset').observe('click',progress_bar.reset.bind(progress_bar));
+		$('progress_bar_step_5').observe('click',progress_bar.step.bind(progress_bar,5));
+		$('progress_bar_step_25').observe('click',progress_bar.step.bind(progress_bar,25));
+	&lt;% end %&gt;
+	&lt;% content_for :head do %&gt;
+		&lt;style&gt;
+			&lt;%= progress_bar_css %&gt;
+		&lt;/style&gt;
+		&lt;script&gt;
+			document.observe('dom:loaded',function(){
+				&lt;%= progress_bar_js %&gt;
+			});
+		&lt;/script&gt;
+	&lt;% end %&gt;
+	&lt;%= progress_bar_html %&gt;
+	&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
+&lt;% end %&gt;
+
+&lt;% section 'scrollbar' do %&gt;
+	&lt;% paragraph do %&gt;&lt;%= link_to 'Control.ProgressBar', control_progressbar_url %&gt; provides a pure JavaScript/CSS scroll bar implementation and includes mouse wheel support, a proportionally drawn handle, and can accommodate dynamic content and layout changes with the &lt;b&gt;recalculateLayout()&lt;/b&gt; method.&lt;% end %&gt;
+
+	&lt;% scrollbar_css = capture do %&gt;
+	#scrollbar_container {
+		position:relative;
+		width:500px;
+	}
+
+	#scrollbar_track {
+		position:absolute;
+		top:0;
+		right:0;
+		height:100%;
+		width:10px;
+		background-color:transparent;
+		cursor:move;
+	}
+
+	#scrollbar_handle {
+		width:10px;
+		background-color:#5c92e7;
+		cursor:move;
+		-moz-border-radius: 5px;
+		-webkit-border-radius: 5px;
+		opacity:0.9;
+	    -moz-opacity:0.9;
+	}
+
+	#scrollbar_content {
+		overflow:hidden;
+		width:485px;
+		height:250px;
+	}
+	&lt;% end %&gt;
+	&lt;% scrollbar_js = capture do %&gt;
+		var scrollbar = new Control.ScrollBar('scrollbar_content','scrollbar_track');
+
+		$('scroll_down_50').observe('click',function(event){
+			scrollbar.scrollBy(-50);
+			event.stop();
+		});
+
+		$('scroll_up_50').observe('click',function(event){
+			scrollbar.scrollBy(50);
+			event.stop();
+		});
+
+		$('scroll_top').observe('click',function(event){
+			scrollbar.scrollTo('top');
+			event.stop();
+		});
+
+		$('scroll_bottom').observe('click',function(event){
+			//to animate a scroll operation you can pass true
+			//or a callback that will be called when scrolling is complete
+			scrollbar.scrollTo('bottom',function(){
+				if(typeof(console) != &quot;undefined&quot;)
+					console.log('Finished scrolling to bottom.');
+			});
+			event.stop();
+		});
+
+		$('scroll_second').observe('click',function(event){
+			//you can pass a number or element to scroll to
+			//if you pass an element, it will be centered, unless it is
+			//near the bottom of the container
+			scrollbar.scrollTo($('second_subhead'));
+			event.stop();
+		});
+
+		$('scroll_third').observe('click',function(event){
+			//passing true will animate the scroll
+			scrollbar.scrollTo($('third_subhead'),true);
+			event.stop();
+		});
+
+		$('scroll_insert').observe('click',function(event){
+			$('scrollbar_content').insert('&lt;p&gt;&lt;b&gt;Inserted: ' + $('repeat').innerHTML + '&lt;/b&gt;&lt;/p&gt;');
+			//you only need to call this if ajax or dom operations modify the layout
+			//this is automatically called when the window resizes
+			scrollbar.recalculateLayout();
+			event.stop();
+		});
+	&lt;% end %&gt;
+
+	&lt;% content_for :head do %&gt;
+		&lt;script&gt;
+			document.observe('dom:loaded',function(){
+				&lt;%= scrollbar_js %&gt;
+			});
+		&lt;/script&gt;
+		&lt;style&gt;
+			&lt;%= scrollbar_css %&gt;
+		&lt;/style&gt;
+	&lt;% end %&gt;
+	
+	&lt;div style=&quot;float:right;&quot;&gt;
+		&lt;h3&gt;Scroll To...&lt;/h3&gt;
+		&lt;ul&gt;
+			&lt;li&gt;&lt;a href=&quot;#&quot; id=&quot;scroll_down_50&quot;&gt;Up 50 Pixels&lt;/a&gt;&lt;/li&gt;
+			&lt;li&gt;&lt;a href=&quot;#&quot; id=&quot;scroll_up_50&quot;&gt;Down 50 Pixels&lt;/a&gt;&lt;/li&gt;
+			&lt;li&gt;&lt;a href=&quot;#&quot; id=&quot;scroll_top&quot;&gt;Top&lt;/a&gt;&lt;/li&gt;
+			&lt;li&gt;&lt;a href=&quot;#&quot; id=&quot;scroll_bottom&quot;&gt;Bottom (Animated)&lt;/a&gt;&lt;/li&gt;
+			&lt;li&gt;&lt;a href=&quot;#&quot; id=&quot;scroll_second&quot;&gt;Second Subhead&lt;/a&gt;&lt;/li&gt;
+			&lt;li&gt;&lt;a href=&quot;#&quot; id=&quot;scroll_third&quot;&gt;Third Subhead (Animated)&lt;/a&gt;&lt;/li&gt;
+		&lt;/ul&gt;
+	&lt;/div&gt;
+	&lt;div id=&quot;scrollbar_container&quot;&gt;
+		&lt;div id=&quot;scrollbar_track&quot;&gt;&lt;div id=&quot;scrollbar_handle&quot;&gt;&lt;/div&gt;&lt;/div&gt;
+		&lt;div id=&quot;scrollbar_content&quot;&gt;
+			&lt;h3&gt;Use the Mouse Wheel or Handle to Scroll&lt;/h3&gt;
+			&lt;p&gt;Nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce consectetuer. Phasellus molestie, sem vel laoreet pretium, arcu arcu rutrum eros, ac mattis felis ante at orci. Vivamus vel mauris. Ut porttitor, nunc eu tincidunt gravida, orci odio luctus mi, id venenatis dui nunc sit amet turpis. Mauris urna nisl, feugiat a, ultrices id, ultrices et, est. Nam eu felis non tortor luctus congue. Mauris consequat malesuada augue. Donec eu nibh in libero tempor aliquet. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque sapien erat, imperdiet tincidunt, vestibulum eget, fringilla vel, odio. Ut risus. Ut pretium neque ac velit. Vivamus diam. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In hac habitasse platea dictumst. Nunc luctus fringilla mi. Nunc ultrices nisi ac urna.&lt;/p&gt;
+			&lt;h3 id=&quot;second_subhead&quot;&gt;Convallis Felis ac Massa Accumsan&lt;/h3&gt;
+			&lt;p id=&quot;repeat&quot;&gt;Phasellus faucibus adipiscing quam. Maecenas gravida, diam sit amet mollis accumsan, risus diam ornare leo, non sollicitudin lorem mi vitae ante. In at mi. In vestibulum nunc eleifend justo. Nullam semper. Nulla venenatis ornare ipsum. Phasellus pharetra. Suspendisse molestie. Fusce porta vulputate quam. Etiam vitae tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Maecenas vulputate magna nec diam. Aliquam sagittis lectus a pede. Sed fermentum, risus non sollicitudin posuere, erat arcu iaculis nibh, eu faucibus sapien velit dapibus ipsum. Proin fringilla sapien sed dui.&lt;/p&gt;
+			&lt;h3 id=&quot;third_subhead&quot;&gt;Eleifend Justo Nullam Semper&lt;/h3&gt;
+			&lt;p&gt;Cras eros tellus, posuere at, condimentum eget, fringilla nec, lectus. Mauris ut enim. Quisque imperdiet rutrum elit. Curabitur in nunc. Sed pretium. Aliquam convallis. Proin venenatis. Proin sed magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nunc tincidunt. Nam vitae leo at urna dictum venenatis.&lt;/p&gt;
+			&lt;p&gt;Cras iaculis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut nisl. Duis quis enim at justo euismod accumsan. Duis mollis. Curabitur sed ante. Morbi bibendum iaculis ligula. Suspendisse aliquet est. Sed velit orci, sagittis non, posuere vitae, aliquet in, massa. Vestibulum egestas.&lt;/p&gt;
+		&lt;/div&gt;
+	&lt;/div&gt;
+	&lt;p&gt;&lt;a href=&quot;#&quot; id=&quot;scroll_insert&quot;&gt;Insert Paragraph and recalculateLayout()&lt;/a&gt;&lt;/p&gt;
+&lt;% end %&gt;
\ No newline at end of file</diff>
      <filename>app/views/page/index.rhtml</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>b6616d3c33d03232a75a5453f375611e483ab3b7</id>
    </parent>
  </parents>
  <author>
    <name>Ryan Johnson</name>
    <email>arjini@gmail.com</email>
  </author>
  <url>http://github.com/saucytiger/livepipe.net-documentation/commit/ad0961676fe8707c099e3a48a77c60027574d658</url>
  <id>ad0961676fe8707c099e3a48a77c60027574d658</id>
  <committed-date>2008-06-11T18:24:32-07:00</committed-date>
  <authored-date>2008-06-11T18:24:32-07:00</authored-date>
  <message>title changes + better index page</message>
  <tree>8daeeb209474f88b19e20b7d4851bb84be03bbd5</tree>
  <committer>
    <name>Ryan Johnson</name>
    <email>arjini@gmail.com</email>
  </committer>
</commit>
