Scriptaculous JavaScript DHTML






 




Position.includeScrollOffsets = true;
Draggables.clear = function (event) {
  while (Draggables.drags.length) {
    var d = Draggables.drags.pop();
    var e = d.element;
    d.stopScrolling();
    d.destroy();
    d.element = null;
    if (e.parentNode) {e.parentNode.removeChild(e)}; 
  }
}
function cleanup() { //try to remove circular references
  lis = document.getElementsByTagName("li");
  for (i = 0; i < lis.length; i++) {
    if (lis[i].longListItem) {lis[i].longListItem.destroy();}
    else if (lis[i].container) {lis[i].container.destroy();}
  }
  Draggables.clear();
}
window.onload = function() {
  var li = $("masterList").getElementsByTagName('LI');
  for (var i = 0; i < li.length; i++) {
    //var d = new LongListItem(li[i]);
    //li[i].onmousedown = d.onMouseDown.bindAsEventListener(d);
    var d = new Draggable(li[i], 
      {revert: true,
       ghosting: false,
       scroll: "rightContainers"
      });
  }
  
  var divs = $("rightContainers").getElementsByTagName("div");
  for (i = 0; i < divs.length; i++) {
    if (divs[i].className && Element.hasClassName(divs[i], "container")) {
      Droppables.add(divs[i].id, {hoverclass: "hover", scrollingParent: "rightContainers"});
    }
  }
  Event.observe(window, 'unload', cleanup, false);
}


html, body {
  margin:0; padding: 0;
  height: 100% !important;
}
body {
  position:relative;
  color: black;
  background-color: white;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: small;
}
h1 {font-size:115%;}
h2 {font-size: 110%;}
h3 {font-size: 105%;}
div, p, li, td {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: small;
}
p {margin: 0 0 .7em 0; padding:0;}
ul {
  position:relative;
  list-style: none;
  margin:0; padding:0;
  overflow: visible;
}
li {position:relative;}
.instructions {font-style:italic;}
#leftDiv {
  position: absolute;
  top: 0;  left: 0;   bottom: 0;
  width: 30%;
  margin: 0; padding: 7px;
  border-right: 2px solid #bb9;
  background-color: #eed;
}
#leftDiv li, #rightContainers div.container li  {
  margin: 3px 0; padding: 3px 3em 3px 10px;
  border: 2px solid #456;
  background-color: #cde;
  cursor: move;
}
#rightContainers {
  padding: .5em;
  position: absolute;
  top: 0; bottom: 0; right: 0; left: 35%;
  overflow:auto;
}
#rightContainers div.container{
  background-color: #bb9;
  margin: 0 0 40px 0; padding: 0 0 1px 0;
  border: 2px solid #775;
}
#rightContainers div.container h2{
  margin:0; padding: 2px 1em 0 1em;
  text-align:center;
}
#rightContainers div.container ul {
  margin: 5px; padding: 0 3px;
  background-color: white;
  border: 1px solid black;
}
#rightContainers div.container ul.empty {
  padding: 3px 0;
}
#rightContainers div.hover {
  background-color: #eed;
}






Shrink your window until the right-hand pane is scrollable.


Drag from the list on left to groups on the right, force the right-hand pane to scroll.





One
Two
Three
Four
Five
Six
Seven
Eight





  

Group 1


  


  

Group 2


  


  

Group 3


  


  

Group 4


  


  

Group 5


  


  

Group 6


  


  

Group 7


  


  

Group 8


  


  

Group 9