<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FScriptaculous%2FSortable</id>
		<title>JavaScript DHTML/Scriptaculous/Sortable - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FScriptaculous%2FSortable"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Scriptaculous/Sortable&amp;action=history"/>
		<updated>2026-04-04T13:23:09Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Scriptaculous/Sortable&amp;diff=3634&amp;oldid=prev</id>
		<title> в 10:02, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Scriptaculous/Sortable&amp;diff=3634&amp;oldid=prev"/>
				<updated>2010-05-26T10:02:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:02, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Scriptaculous/Sortable&amp;diff=3635&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Scriptaculous/Sortable&amp;diff=3635&amp;oldid=prev"/>
				<updated>2010-05-26T07:26:55Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==drag and drop to sort==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;&lt;br /&gt;
  &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Draggable demo&amp;lt;/title&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;&lt;br /&gt;
      body {&lt;br /&gt;
        font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&lt;br /&gt;
      }&lt;br /&gt;
    &lt;br /&gt;
      #container {&lt;br /&gt;
        width: 200px;&lt;br /&gt;
        list-style-type: none;&lt;br /&gt;
        margin-left: 0;&lt;br /&gt;
        padding-left: 0;&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
        #container li, .foo {&lt;br /&gt;
          background-color: #f9f9f9;&lt;br /&gt;
          border: 1px solid #ccc;&lt;br /&gt;
          padding: 3px 5px;&lt;br /&gt;
          padding-left: 0;&lt;br /&gt;
          margin: 10px 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        #container li .handle {&lt;br /&gt;
          background-color: #090;&lt;br /&gt;
          color: #fff;&lt;br /&gt;
          font-weight: bold;&lt;br /&gt;
          padding: 3px;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
      #container, #drop_zone {&lt;br /&gt;
        width: 200px;&lt;br /&gt;
        height: 300px;&lt;br /&gt;
        list-style-type: none;&lt;br /&gt;
        margin-left: 0;&lt;br /&gt;
        margin-right: 20px;&lt;br /&gt;
        float: left;&lt;br /&gt;
        padding: 0;&lt;br /&gt;
        border: 2px dashed #999;&lt;br /&gt;
      }        &lt;br /&gt;
        &lt;br /&gt;
    &amp;lt;/style&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    document.observe(&amp;quot;dom:loaded&amp;quot;, function() {&lt;br /&gt;
      Sortable.create(&amp;quot;container&amp;quot;, { scroll: window });&lt;br /&gt;
    });&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;ul id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;foo&amp;quot; id=&amp;quot;item_1&amp;quot;&amp;gt;Lorem&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;foo&amp;quot; id=&amp;quot;item_2&amp;quot;&amp;gt;Ipsum&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;foo&amp;quot; id=&amp;quot;item_3&amp;quot;&amp;gt;Dolor&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;foo&amp;quot; id=&amp;quot;item_4&amp;quot;&amp;gt;Sit&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;foo&amp;quot; id=&amp;quot;item_5&amp;quot;&amp;gt;Amet&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Horizontally Sortable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/unittest.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
Event.observe(window, &amp;quot;load&amp;quot;, function() {&lt;br /&gt;
  Sortable.create(&amp;quot;myList&amp;quot;, { constraint: &amp;quot;horizontal&amp;quot;, overlap: &amp;quot;horizontal&amp;quot; });&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
#myList {&lt;br /&gt;
  list-style-type: none;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
}&lt;br /&gt;
#myList li {&lt;br /&gt;
  float: left; cursor: move;&lt;br /&gt;
  margin-left: 1em; padding: 0.2em; width: 10em;&lt;br /&gt;
  border: 0.05em solid gray; background: #ddd;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;ol id=&amp;quot;myList&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;A&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;B&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;C&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;D&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;E&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sortabled list with handlers==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)&lt;br /&gt;
Permission is hereby granted, free of charge, to any person obtaining&lt;br /&gt;
a copy of this software and associated documentation files (the&lt;br /&gt;
&amp;quot;Software&amp;quot;), to deal in the Software without restriction, including&lt;br /&gt;
without limitation the rights to use, copy, modify, merge, publish,&lt;br /&gt;
distribute, sublicense, and/or sell copies of the Software, and to&lt;br /&gt;
permit persons to whom the Software is furnished to do so, subject to&lt;br /&gt;
the following conditions:&lt;br /&gt;
The above copyright notice and this permission notice shall be&lt;br /&gt;
included in all copies or substantial portions of the Software.&lt;br /&gt;
THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;br /&gt;
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;br /&gt;
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND&lt;br /&gt;
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE&lt;br /&gt;
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION&lt;br /&gt;
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION&lt;br /&gt;
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- revised from scriptaculous-js-1.8.2 demo code  --&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;&lt;br /&gt;
        &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;script.aculo.us sortable functional test file&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/unittest.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;../test.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;&lt;br /&gt;
  ul.sortablelist {&lt;br /&gt;
    list-style-image:none;&lt;br /&gt;
    list-style-type:none;&lt;br /&gt;
    margin-top:5px;&lt;br /&gt;
    margin:0px;&lt;br /&gt;
    padding:0px;&lt;br /&gt;
  }&lt;br /&gt;
  ul.sortabledemo li {&lt;br /&gt;
    padding:0px;&lt;br /&gt;
    margin:0px;&lt;br /&gt;
  }&lt;br /&gt;
  span.handle {&lt;br /&gt;
    background-color: #E8A400;&lt;br /&gt;
    color:white;&lt;br /&gt;
    cursor: move;&lt;br /&gt;
  }&lt;br /&gt;
  li.green {&lt;br /&gt;
    background-color: #ECF3E1;&lt;br /&gt;
    border:1px solid #C5DEA1;&lt;br /&gt;
    cursor: move;&lt;br /&gt;
  }&lt;br /&gt;
  li.orange {&lt;br /&gt;
    border:1px solid #E8A400;&lt;br /&gt;
    background-color: #FFF4D8;&lt;br /&gt;
  }&lt;br /&gt;
  &amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;script.aculo.us: Two floating sortables with containment and dropOnEmpty&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:200px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;This is the first list&amp;lt;/h3&amp;gt;&lt;br /&gt;
 &amp;lt;ul class=&amp;quot;sortabledemo&amp;quot; id=&amp;quot;firstlist&amp;quot; style=&amp;quot;height:150px;width:200px;&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;li class=&amp;quot;green&amp;quot; id=&amp;quot;firstlist_firstlist1&amp;quot;&amp;gt;Item 1 from first list.&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li class=&amp;quot;green&amp;quot; id=&amp;quot;firstlist_firstlist2&amp;quot;&amp;gt;Item 2 from first list.&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li class=&amp;quot;green&amp;quot; id=&amp;quot;firstlist_firstlist3&amp;quot;&amp;gt;Item 3 from first list.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;h3&amp;gt;And now the second list&amp;lt;/h3&amp;gt;&lt;br /&gt;
 &amp;lt;ul class=&amp;quot;sortabledemo&amp;quot; id=&amp;quot;secondlist&amp;quot; style=&amp;quot;height:150px;width:200px;&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;li class=&amp;quot;orange&amp;quot; id=&amp;quot;secondlist_secondlist1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;span class=&amp;quot;handle&amp;quot;&amp;gt;DRAG HERE&amp;lt;/span&amp;gt; Item 1 from second list.&lt;br /&gt;
   &amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li class=&amp;quot;orange&amp;quot; id=&amp;quot;secondlist_secondlist2&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;span class=&amp;quot;handle&amp;quot;&amp;gt;DRAG HERE&amp;lt;/span&amp;gt; Item 2 from second list.&lt;br /&gt;
   &amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li class=&amp;quot;orange&amp;quot; id=&amp;quot;secondlist_secondlist3&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;span class=&amp;quot;handle&amp;quot;&amp;gt;DRAG HERE&amp;lt;/span&amp;gt; Item 3 from second list.&lt;br /&gt;
   &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr style=&amp;quot;clear:both&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;pre id=&amp;quot;firstlist_debug&amp;quot;&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre id=&amp;quot;secondlist_debug&amp;quot;&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   Sortable.create(&amp;quot;firstlist&amp;quot;,&lt;br /&gt;
     {dropOnEmpty:true,containment:[&amp;quot;firstlist&amp;quot;,&amp;quot;secondlist&amp;quot;],constraint:false,&lt;br /&gt;
      onChange:function(){$(&amp;quot;firstlist_debug&amp;quot;).innerHTML = Sortable.serialize(&amp;quot;firstlist&amp;quot;) }});&lt;br /&gt;
   Sortable.create(&amp;quot;secondlist&amp;quot;,&lt;br /&gt;
     {dropOnEmpty:true,handle:&amp;quot;handle&amp;quot;,containment:[&amp;quot;firstlist&amp;quot;,&amp;quot;secondlist&amp;quot;],constraint:false,&lt;br /&gt;
     onChange:function(){$(&amp;quot;secondlist_debug&amp;quot;).innerHTML = Sortable.serialize(&amp;quot;secondlist&amp;quot;) }});&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sortable is Not just for lists==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/unittest.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
Event.observe(window, &amp;quot;load&amp;quot;, function() {&lt;br /&gt;
  Sortable.create(&amp;quot;chapter&amp;quot;, { tag: &amp;quot;p&amp;quot;, only: [&amp;quot;orderable&amp;quot;, &amp;quot;moveIt&amp;quot;] });&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;chapter&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;This stays on top.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;orderable&amp;quot;&amp;gt;Sortable.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;orderable&amp;quot;&amp;gt;And this too!&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;moveIt&amp;quot;&amp;gt;sortable.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;This stays at bottom.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sortable list updated event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)&lt;br /&gt;
Permission is hereby granted, free of charge, to any person obtaining&lt;br /&gt;
a copy of this software and associated documentation files (the&lt;br /&gt;
&amp;quot;Software&amp;quot;), to deal in the Software without restriction, including&lt;br /&gt;
without limitation the rights to use, copy, modify, merge, publish,&lt;br /&gt;
distribute, sublicense, and/or sell copies of the Software, and to&lt;br /&gt;
permit persons to whom the Software is furnished to do so, subject to&lt;br /&gt;
the following conditions:&lt;br /&gt;
The above copyright notice and this permission notice shall be&lt;br /&gt;
included in all copies or substantial portions of the Software.&lt;br /&gt;
THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;br /&gt;
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;br /&gt;
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND&lt;br /&gt;
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE&lt;br /&gt;
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION&lt;br /&gt;
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION&lt;br /&gt;
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- revised from scriptaculous-js-1.8.2 demo code  --&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;&lt;br /&gt;
        &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;script.aculo.us sortable functional test file&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/unittest.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;../test.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;div id=&amp;quot;container_div&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
  var new_ul_id = &amp;quot;new_id_123&amp;quot;;&lt;br /&gt;
  var ul = document.createElement(&amp;quot;ul&amp;quot;);&lt;br /&gt;
  var ul_id = document.createAttribute(&amp;quot;id&amp;quot;);&lt;br /&gt;
  ul_id.nodeValue = new_ul_id;&lt;br /&gt;
  ul.setAttributeNode(ul_id);&lt;br /&gt;
  &lt;br /&gt;
  var li = document.createElement(&amp;quot;li&amp;quot;);&lt;br /&gt;
  li.setAttribute(&amp;quot;id&amp;quot;, &amp;quot;test_1&amp;quot;);&lt;br /&gt;
  li.appendChild(document.createTextNode(&amp;quot;blah1&amp;quot;));&lt;br /&gt;
  ul.appendChild(li);&lt;br /&gt;
  &lt;br /&gt;
  var li2 = document.createElement(&amp;quot;li&amp;quot;);&lt;br /&gt;
  li2.setAttribute(&amp;quot;id&amp;quot;, &amp;quot;test_2&amp;quot;);&lt;br /&gt;
  li2.appendChild(document.createTextNode(&amp;quot;blah2&amp;quot;));&lt;br /&gt;
  ul.appendChild(li2);&lt;br /&gt;
  &lt;br /&gt;
  $(&amp;quot;container_div&amp;quot;).appendChild(ul);&lt;br /&gt;
  &lt;br /&gt;
  Sortable.create(new_ul_id, { onUpdate: function() { alert(Sortable.serialize(&amp;quot;new_id_123&amp;quot;)); } });&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sortable onChange event and onUpdate event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/unittest.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
Event.observe(window, &amp;quot;load&amp;quot;, function() {&lt;br /&gt;
  var changeEffect;&lt;br /&gt;
  Sortable.create(&amp;quot;myList&amp;quot;, {&lt;br /&gt;
    onChange: function(item) {&lt;br /&gt;
      var list = Sortable.options(item).element; &lt;br /&gt;
      alert(Sortable.serialize(list).escapeHTML());&lt;br /&gt;
      if (changeEffect) changeEffect.cancel();&lt;br /&gt;
      changeEffect = new Effect.Highlight(&amp;quot;changeNotif&amp;quot;, { restorecolor: &amp;quot;transparent&amp;quot; });&lt;br /&gt;
    },&lt;br /&gt;
    onUpdate: function(list) {&lt;br /&gt;
      alert(Sortable.serialize(list).escapeHTML());&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;ol id=&amp;quot;myList&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;A&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;B&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;C&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;D&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;E&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sortable two-lists==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)&lt;br /&gt;
Permission is hereby granted, free of charge, to any person obtaining&lt;br /&gt;
a copy of this software and associated documentation files (the&lt;br /&gt;
&amp;quot;Software&amp;quot;), to deal in the Software without restriction, including&lt;br /&gt;
without limitation the rights to use, copy, modify, merge, publish,&lt;br /&gt;
distribute, sublicense, and/or sell copies of the Software, and to&lt;br /&gt;
permit persons to whom the Software is furnished to do so, subject to&lt;br /&gt;
the following conditions:&lt;br /&gt;
The above copyright notice and this permission notice shall be&lt;br /&gt;
included in all copies or substantial portions of the Software.&lt;br /&gt;
THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;br /&gt;
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;br /&gt;
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND&lt;br /&gt;
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE&lt;br /&gt;
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION&lt;br /&gt;
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION&lt;br /&gt;
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- revised from scriptaculous-js-1.8.2 demo code  --&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;&lt;br /&gt;
        &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;script.aculo.us sortable functional test file&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/unittest.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;../test.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;&lt;br /&gt;
    ul { height: 100px; border:1px dotted #888; }&lt;br /&gt;
  &amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;script.aculo.us Sortable two-lists w/ dropOnEmpty functional test file&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;ul id=&amp;quot;thelist1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;thelist1_1&amp;quot;&amp;gt;Hey there! I&amp;quot;m item#1/1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;thelist1_2&amp;quot;&amp;gt;Hey there! I&amp;quot;m item#1/2&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;thelist1_3&amp;quot;&amp;gt;Hey there! I&amp;quot;m item#1/3&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul id=&amp;quot;thelist2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
  Sortable.create(&amp;quot;thelist1&amp;quot;,{containment:[&amp;quot;thelist1&amp;quot;,&amp;quot;thelist2&amp;quot;], dropOnEmpty:true});&lt;br /&gt;
  Sortable.create(&amp;quot;thelist2&amp;quot;,{containment:[&amp;quot;thelist1&amp;quot;,&amp;quot;thelist2&amp;quot;], dropOnEmpty:true});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;alert(Sortable.serialize(&amp;quot;thelist1&amp;quot;));return false;&amp;quot;&amp;gt;Serialize sortable1&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;alert(Sortable.serialize(&amp;quot;thelist2&amp;quot;));return false;&amp;quot;&amp;gt;Serialize sortable2&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sortable with ghosting effects==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)&lt;br /&gt;
Permission is hereby granted, free of charge, to any person obtaining&lt;br /&gt;
a copy of this software and associated documentation files (the&lt;br /&gt;
&amp;quot;Software&amp;quot;), to deal in the Software without restriction, including&lt;br /&gt;
without limitation the rights to use, copy, modify, merge, publish,&lt;br /&gt;
distribute, sublicense, and/or sell copies of the Software, and to&lt;br /&gt;
permit persons to whom the Software is furnished to do so, subject to&lt;br /&gt;
the following conditions:&lt;br /&gt;
The above copyright notice and this permission notice shall be&lt;br /&gt;
included in all copies or substantial portions of the Software.&lt;br /&gt;
THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;br /&gt;
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;br /&gt;
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND&lt;br /&gt;
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE&lt;br /&gt;
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION&lt;br /&gt;
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION&lt;br /&gt;
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- revised from scriptaculous-js-1.8.2 demo code  --&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;&lt;br /&gt;
        &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;script.aculo.us Sortable ghosting functional test file&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/unittest.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;../test.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;style&amp;gt;&lt;br /&gt;
    ul.testlist { &lt;br /&gt;
      list-style-type:none;&lt;br /&gt;
      margin:0;&lt;br /&gt;
      padding:0;&lt;br /&gt;
    }&lt;br /&gt;
    ul.testlist li {&lt;br /&gt;
      width:200px;&lt;br /&gt;
      font:12px Verdana;&lt;br /&gt;
      padding:4px;&lt;br /&gt;
      cursor:move;&lt;br /&gt;
    }&lt;br /&gt;
    ul.testlist li.over {&lt;br /&gt;
      background-color:#fcb;&lt;br /&gt;
    }&lt;br /&gt;
    ul.testlist li img {&lt;br /&gt;
      float:left;&lt;br /&gt;
      margin-right:8px;&lt;br /&gt;
    }&lt;br /&gt;
    div.dropmarker {&lt;br /&gt;
      height:6px;&lt;br /&gt;
      width:200px;&lt;br /&gt;
      background: url(dropmarker.png) left top;&lt;br /&gt;
      margin-top:-3px;&lt;br /&gt;
      margin-left:-5px;&lt;br /&gt;
      z-index:1000;&lt;br /&gt;
      overflow: hidden;&lt;br /&gt;
    }&lt;br /&gt;
    #testlist4 li {&lt;br /&gt;
      float:left;&lt;br /&gt;
    }&lt;br /&gt;
  &amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;script.aculo.us Sortable ghosting functional test file&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Ghosting&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul id=&amp;quot;testlist&amp;quot; class=&amp;quot;testlist&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; Lorem ipsum dolor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_2&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; sit amet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_3&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; consectetur adipisicing&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_4&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; elit&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_5&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; sed do eiusmod&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_6&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; tempor incididunt&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_7&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; ut labore et dolore&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_8&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; magna aliqua&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;testlist_serialize&amp;quot;&amp;gt;(waiting for onChange)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
  Sortable.create(&amp;quot;testlist&amp;quot;,{ghosting:true,constraint:false,hoverclass:&amp;quot;over&amp;quot;,&lt;br /&gt;
    onUpdate:function(sortable){alert(Sortable.serialize(sortable))},&lt;br /&gt;
    onChange:function(element){$(&amp;quot;testlist_serialize&amp;quot;).innerHTML = Sortable.serialize(element.parentNode)}&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;No ghosting&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul id=&amp;quot;testlist2&amp;quot; class=&amp;quot;testlist&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_9&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; Lorem ipsum dolor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_10&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; sit amet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_11&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; consectetur adipisicing&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_12&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; elit&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_13&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; sed do eiusmod&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_14&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; tempor incididunt&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_15&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; ut labore et dolore&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_16&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; magna aliqua&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;testlist2_serialize&amp;quot;&amp;gt;(waiting for onChange)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
  Sortable.create(&amp;quot;testlist2&amp;quot;,{ghosting:false,constraint:false,hoverclass:&amp;quot;over&amp;quot;,&lt;br /&gt;
    onUpdate:function(sortable){alert(Sortable.serialize(sortable))},&lt;br /&gt;
    onChange:function(element){$(&amp;quot;testlist2_serialize&amp;quot;).innerHTML = Sortable.serialize(element.parentNode)}&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Ghosting (inside position:relative container)&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position:relative;left:100px;top:-5px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul id=&amp;quot;testlist3&amp;quot; class=&amp;quot;testlist&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_17&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; Lorem ipsum dolor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_18&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; sit amet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_19&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; consectetur adipisicing&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_20&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; elit&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_21&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; sed do eiusmod&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_22&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; tempor incididunt&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_23&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; ut labore et dolore&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_24&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; magna aliqua&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;testlist3_serialize&amp;quot;&amp;gt;(waiting for onChange)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
  Sortable.create(&amp;quot;testlist3&amp;quot;,{ghosting:true,constraint:false,&lt;br /&gt;
    onUpdate:function(sortable){alert(Sortable.serialize(sortable))},&lt;br /&gt;
    onChange:function(element){$(&amp;quot;testlist3_serialize&amp;quot;).innerHTML = Sortable.serialize(element.parentNode)}&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Ghosting (inside position:relative container)&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position:relative;left:100px;top:-5px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul id=&amp;quot;testlist4&amp;quot; class=&amp;quot;testlist&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_417&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; Lorem ipsum dolor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_418&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; sit amet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_419&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; consectetur adipisicing&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_420&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; elit&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_421&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; sed do eiusmod&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_422&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; tempor incididunt&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_423&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; ut labore et dolore&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li id=&amp;quot;item_424&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;icon.png&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; magna aliqua&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;testlist4_serialize&amp;quot;&amp;gt;(waiting for onChange)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
  Sortable.create(&amp;quot;testlist4&amp;quot;,{overlap:&amp;quot;horizontal&amp;quot;,ghosting:true,constraint:false,&lt;br /&gt;
    onUpdate:function(sortable){alert(Sortable.serialize(sortable))},&lt;br /&gt;
    onChange:function(element){$(&amp;quot;testlist4_serialize&amp;quot;).innerHTML = Sortable.serialize(element.parentNode)}&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sort and reorder the ordered list==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/unittest.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
Event.observe(window, &amp;quot;load&amp;quot;, function() {&lt;br /&gt;
  Sortable.create(&amp;quot;guys&amp;quot;);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;ol id=&amp;quot;guys&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;A&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;B&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;C&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;D&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;E&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Two sortable groups==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Untitled Document&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/lib/prototype.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/scriptaculous.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;scriptaculous-js-1.8.2/src/unittest.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
Event.observe(window, &amp;quot;load&amp;quot;, function() {&lt;br /&gt;
  var options = {&lt;br /&gt;
      constraint: false, containment: [&amp;quot;myList&amp;quot;, &amp;quot;myList2&amp;quot;],&lt;br /&gt;
      dropOnEmpty: true, onUpdate: function(list) {&lt;br /&gt;
        var methodStart = list.down(&amp;quot;li&amp;quot;) ? &amp;quot;remove&amp;quot; : &amp;quot;add&amp;quot;;&lt;br /&gt;
        list[methodStart + &amp;quot;ClassName&amp;quot;](&amp;quot;empty&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
  };&lt;br /&gt;
  Sortable.create(&amp;quot;myList&amp;quot;, options);&lt;br /&gt;
  Sortable.create(&amp;quot;myList2&amp;quot;, options);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;ul id=&amp;quot;myList&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;A&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;B&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;C&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul id=&amp;quot;myList2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;D&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;E&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;F&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>