<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Script.aculo.us</title>
<link rel="stylesheet" type="text/css" href="../xslides-summary.css"></link>
<meta name="AUTHOR" content="Jose M Vidal"></meta>
<meta name="GENERATOR" content="xslides.el, written by J.M. Vidal"></meta>
</head>
<!--HEADER LEFT "http://jmvidal.cse.sc.edu/talks/scriptaculous/" --> 
<body>  
<h1 class="slidelist">Script.aculo.us</h1><div class="slidebody">
      An introduction to the <span><a href="http://script.aculo.us/">script.aculo.us</a> [1]</span> library. 
  </div><h2 id="setup">1 Setup</h2><div class="slidebody">
      <script src="js/prototype.js" type="text/javascript"></script>
      <script src="js/scriptaculous.js" type="text/javascript"></script>
      <script src="js/effects.js" type="text/javascript"></script>

    <ul>
      <li>Load 'em up:
	<pre>
<span class="type">&lt;div&gt;</span>
<span class="type">&lt;script src=</span><span class="string">"js/prototype.js"</span><span class="type"> type=</span><span class="string">"text/javascript"</span><span class="type">&gt;&lt;/script&gt;</span>
<span class="type">&lt;script src=</span><span class="string">"js/scriptaculous.js"</span><span class="type"> type=</span><span class="string">"text/javascript"</span><span class="type">&gt;&lt;/script&gt;</span>
<span class="comment">&lt;!--Supposedly loading just this one will load all others,
    but that did not work for me. --&gt;</span>

<span class="comment">&lt;!--Also, if using xhtml then comment out the 'document.write'
    in scriptaculous.js to avoid error msg. --&gt;</span>

<span class="type">&lt;script src=</span><span class="string">"js/effects.js"</span><span class="type"> type=</span><span class="string">"text/javascript"</span><span class="type">&gt;&lt;/script&gt;</span>
<span class="type">&lt;script src=</span><span class="string">"js/builder.js"</span><span class="type"> type=</span><span class="string">"text/javascript"</span><span class="type">&gt;&lt;/script&gt;</span>
<span class="type">&lt;script src=</span><span class="string">"js/dragdrop.js"</span><span class="type"> type=</span><span class="string">"text/javascript"</span><span class="type">&gt;&lt;/script&gt;</span>
<span class="type">&lt;script src=</span><span class="string">"js/controls.js"</span><span class="type"> type=</span><span class="string">"text/javascript"</span><span class="type">&gt;&lt;/script&gt;</span>
<span class="type">&lt;script src=</span><span class="string">"js/slider.js"</span><span class="type"> type=</span><span class="string">"text/javascript"</span><span class="type">&gt;&lt;/script&gt;</span>
<span class="type">&lt;/div&gt;</span>
</pre>
      </li>

      <li onclick="new Effect.BlindUp(this, {duration: 8})"> Call the functions: <br/>
	onclick="new Effect.BlindUp(this, {duration: 8})"
      </li>

    </ul>
  </div><h2 id="visualeffects">2 Visual Effects</h2><div class="slidebody">
    <ul>
      <li>Time-based animations. </li>

      <li>Cross-browser compatible. </li>

      <li>Apply to any element by gicing its id. </li>
    </ul>
  </div><h3 id="coreeffects">2.1 Core Effects</h3><div class="slidebody">
      <div>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>




<script src="js/effects.js" type="text/javascript"></script>
<script src="js/builder.js" type="text/javascript"></script>
<script src="js/dragdrop.js" type="text/javascript"></script>
<script src="js/controls.js" type="text/javascript"></script>
<script src="js/slider.js" type="text/javascript"></script>
</div>
    <ul>
      <li id="opacity" onclick="new Effect.Opacity('opacity', {duration:5, from:1.0, to:0.1});"><em>Opacity</em>: change opacity. <br/>
new Effect.Opacity('opacity', {duration:5, from:1.0, to:0.1})</li>

      <li id="scale" onclick="new Effect.Scale('scale', 120)"><em>Scale</em>: changes width and height dimensions and base
      for em units.<br/>new Effect.Scale('scale', 120)</li>

      <li id="moveby" onclick="new Effect.MoveBy('moveby', -5, 20)"><em>MoveBy</em>: moves an element by a given x/y pair of
      pixels.<br/>new Effect.Opacity('opacity', {duration:5, from:1.0, to:0.1})</li>

      <li id="highlight" onclick="new Effect.Highlight('highlight', {startcolor:'#ffffff', endcolor:'#ff9999'})"><em>Highlight</em>: flashes a color as the background of the element.<br/>
new Effect.Highlight('highlight', {startcolor:'#ffffff', endcolor:'#ff9999'})
 </li>

      <li id="parallel" onclick="new Effect.Parallel(
    [ new Effect.MoveBy('parallel', -400, 0,
        { sync: true }), 
      new Effect.Opacity('parallel', 
        { sync: true, to: 0.0, from: 1.0 } ) ],
    { duration: 5, 
      afterFinish: function(effect)
        { Element.hide('parallel'); } 
    }
  );
	"><em>Parallel</em>: combines other effects together in parallel. <pre>
<span class="keyword">new</span> Effect.Parallel(
    [ <span class="keyword">new</span> Effect.MoveBy('<span class="string">parallel</span>', -400, 0,
        { sync: <span class="constant">true</span> }), 
      <span class="keyword">new</span> Effect.Opacity('<span class="string">parallel</span>', 
        { sync: <span class="constant">true</span>, to: 0.0, from: 1.0 } ) ],
    { duration: 5, 
      <span class="function-name">afterFinish</span>: <span class="keyword">function</span>(<span class="variable-name">effect</span>)
        { Element.hide('<span class="string">parallel</span>'); } 
    }
  );
</pre></li>

      <li>All take the following parameters:</li>
    </ul>

<table>
		<tbody><tr>
			<td><strong>Option</strong></td>
			<td><strong>since</strong></td>
			<td><strong>Description</strong></td>
		</tr>
		<tr>
			<td>duration</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [2]</span></td>
			<td>Duration of the effect in seconds, given as a float. Defaults to 1.0.</td>
		</tr>
		<tr>
			<td>fps</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [3]</span></td>
			<td>Target this many frames per second. Default to 25. Can’t be higher than 100.</td>
		</tr>
		<tr>
			<td>transition</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [4]</span></td>
			<td>Sets a function that modifies the current point of the animation, which is between 0 and 1. Following transitions are supplied: Effect.Transitions.sinoidal (default), Effect.Transitions.linear, Effect.Transitions.reverse, Effect.Transitions.wobble and Effect.Transitions.flicker.</td>
		</tr>
		<tr>
			<td>from</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [5]</span></td>
			<td>Sets the starting point of the transition, a float between 0.0 and 1.0. Defaults to 0.0.</td>
		</tr>
		<tr>
			<td>to</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [6]</span></td>
			<td>Sets the end point of the transition, a float between 0.0 and 1.0. Defaults to 1.0.</td>
		</tr>
		<tr>
			<td>sync</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [7]</span></td>
			<td>Sets whether the effect should render new frames automatically (which it does by default). If true, you can render frames manually by calling the render() instance method of an effect. This is used by Effect.Parallel().</td>
		</tr>
		<tr>
			<td>queue</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.5" class="existingWikiWord">V1.5</a> [8]</span></td>
			<td>Sets queuing options. When used with a string, can be ‘front’ or ‘end’ to queue the effect in the global effects queue at the beginning or end, or a queue parameter object that can have {position:’front/end’, scope:’scope’, limit:1}. For more info on this, see <span><a href="http://wiki.script.aculo.us/scriptaculous/show/EffectQueues" class="existingWikiWord">Effect Queues</a> [9]</span>.</td>
		</tr>
		<tr>
			<td>direction</td>
			<td>??</td>
			<td>Sets the direction of the transition. Values can be either ‘top-left’, ‘top-right’, ‘bottom-left’,   ‘bottom-right’ or ‘center’ (Default). Applicable only on Grow and Shrink effects.</td>
		</tr>
	</tbody></table>
  </div><h4 id="effectcallbacks">2.1.1 Effect Callbacks</h4><div class="slidebody">
      <div>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>




<script src="js/effects.js" type="text/javascript"></script>
<script src="js/builder.js" type="text/javascript"></script>
<script src="js/dragdrop.js" type="text/javascript"></script>
<script src="js/controls.js" type="text/javascript"></script>
<script src="js/slider.js" type="text/javascript"></script>
</div>
    <ul>
      <li>Other options let you set up callback functions to be called during effect. </li>
    </ul>
<script src="callback.js"></script>
<table id="callback" onclick="callbackeffect()">
		<tbody><tr>
			<td><strong>Callback</strong></td>
			<td><strong>since</strong></td>
			<td><strong>Description</strong></td>
		</tr>
		<tr>
			<td>beforeStart</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [10]</span></td>
			<td>Called before the main effects rendering loop is started.</td>
		</tr>
		<tr>
			<td>beforeUpdate</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [11]</span></td>
			<td>Called on each iteration of the effects rendering loop, before the redraw takes places.</td>
		</tr>
		<tr>
			<td>afterUpdate</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [12]</span></td>
			<td>Called on each iteration of the effects rendering loop, after the redraw takes places.</td>
		</tr>
		<tr>
			<td>afterFinish</td>
			<td><span><a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0" class="existingWikiWord">V1.0</a> [13]</span></td>
			<td>Called after the last redraw of the effect was made.</td>
		</tr>
	</tbody></table>

    <pre>
<span class="keyword">function</span> <span class="function-name">myCallBackOnFinish</span>(<span class="variable-name">obj</span>){
  alert("<span class="string">the Element's id the effect was applied to is :</span>" + obj.element.id);
}
<span class="keyword">function</span> <span class="function-name">myCallBackOnStart</span>(<span class="variable-name">obj</span>){
  alert("<span class="string">the Element object the effect will be applied to is :</span>" + obj.element);
}
</pre>

  </div><h3 id="combinationeffects">2.2 Combination Effects</h3><div class="slidebody">
      <div>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>




<script src="js/effects.js" type="text/javascript"></script>
<script src="js/builder.js" type="text/javascript"></script>
<script src="js/dragdrop.js" type="text/javascript"></script>
<script src="js/controls.js" type="text/javascript"></script>
<script src="js/slider.js" type="text/javascript"></script>
</div>
      <div class="demo">
 
 <div style="">
<div onclick="Element.hide('demo-effect-appear'); new Effect.Appear('demo-effect-appear');" id="demo-effect-appear" class="example" style="opacity: 0.999999;">
         <span>Click for Effect.Appear demo</span>
</div>  
</div>

<div style="">
<div onclick="new Effect.Fade(this); window.setTimeout('Effect.Appear(\'demo-effect-fade\', {duration:.3})',2500);" id="demo-effect-fade" class="example">
         <span>Click for Effect.Fade demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.Puff(this)" id="demo-effect-puff" class="example">
         <span>Click for Effect.Puff demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.BlindDown(this)" id="demo-effect-blinddown" class="example">
        <div style="">
           <span>Click for Effect.BlindDown demo</span>
        </div>
      </div>
 </div>
 <div style="">
      <div onclick="new Effect.BlindUp(this); window.setTimeout('Effect.Appear(\'demo-effect-blindup\', {duration:.3})',2500);" id="demo-effect-blindup" class="example">
         <span>Click for Effect.BlindUp demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.SwitchOff(this); window.setTimeout('Effect.Appear(\'demo-effect-switchoff\', {duration:.3})',2500);" id="demo-effect-switchoff" class="example">
         <span>Click for Effect.SwitchOff demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.SlideDown(this)" id="demo-effect-slidedown" class="example"><div style="">
         <span>Click for Effect.SlideDown demo</span>
      </div></div>
</div>
<div style="">
      <div onclick="new Effect.SlideUp(this); window.setTimeout('Effect.Appear(\'demo-effect-slideup\', {duration:.3})',2500);" id="demo-effect-slideup" class="example">
         <span>Click for Effect.SlideUp demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.DropOut(this);window.setTimeout('Effect.Appear(\'demo-effect-dropout\', {duration:.3})',2500);" id="demo-effect-dropout" class="example">
         <span>Click for Effect.DropOut demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.Shake(this)" id="demo-effect-shake" class="example">
         <span>Click for Effect.Shake demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.Pulsate(this)" id="demo-effect-pulsate" class="example">
         <span>Click for Effect.Pulsate demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.Squish(this); window.setTimeout('Effect.Appear(\'demo-effect-squish\', {duration:.3})',2500);" id="demo-effect-squish" class="example">
         <span>Click for Effect.Squish demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.Fold(this); window.setTimeout('Effect.Appear(\'demo-effect-fold\', {duration:.3})',2500);" id="demo-effect-fold" class="example">
         <span>Click for Effect.Fold demo</span>
      </div>
</div>
<div style="">
       <div onclick="new Effect.Grow(this)" id="demo-effect-grow" class="example">
         <span>Click for Effect.Grow demo</span>
      </div>
</div>
<div style="">
      <div onclick="new Effect.Shrink(this); window.setTimeout('Effect.Appear(\'demo-effect-shrink\', {duration:.3})',2500);" id="demo-effect-shrink" class="example">
         <span>Click for Effect.Shrink demo</span>
      </div>
 </div>
 <div style="">
      <div onclick="new Effect.Highlight(this)" id="demo-effect-highlight" class="example">
         <span>Click for Effect.Highlight demo</span>
      </div>
  </div>
</div>
      <ul>
	
      </ul>
    </div><h2 id="controls">3 Controls</h2><div class="slidebody">
      <ul>
	<li>Give the user more control over the page. </li>

	<li>Drag and drop, autocompletion, and in place editing. </li>
      </ul>
    </div><h3 id="draganddrop">3.1 Drag and Drop</h3><div class="slidebody">
      <div>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>




<script src="js/effects.js" type="text/javascript"></script>
<script src="js/builder.js" type="text/javascript"></script>
<script src="js/dragdrop.js" type="text/javascript"></script>
<script src="js/controls.js" type="text/javascript"></script>
<script src="js/slider.js" type="text/javascript"></script>
</div>
      <ul>
	<li id="drag" class="dragme">To make an element draggable just say:<br/>
	    <code>new Draggable('drag',{revert: true});</code><br/>
	Other options include: snap, zindex, constraint (horizontal or vertical), ghosting.</li>

	<li id="drop">A droppable container can be created with:<br/>
	    <code>Droppables.add('drop', {accept: 'dragme', <br/>
&nbsp;&nbsp;&nbsp;&nbsp;hoverclass: 'highlight'});</code>
	    </li>

	<li>Sortable lets you sort lists:
	  <pre>
Sortable.create("<span class="string">firstlist</span>",
  {dropOnEmpty:<span class="constant">true</span>,
   containment:["<span class="string">firstlist</span>","<span class="string">secondlist</span>"],
   constraint:<span class="constant">false</span>});
Sortable.create("<span class="string">secondlist</span>",
  {dropOnEmpty:<span class="constant">true</span>,
   handle:'<span class="string">handle</span>',
   containment:["<span class="string">firstlist</span>","<span class="string">secondlist</span>"],
   constraint:<span class="constant">false</span>});
</pre></li>
      </ul>


      <script>
	/*I had to add this next line because this slide is xhtml and the xml DOM does not support document.body, 
	  so I just set it by hand.*/
	document.body = document.childNodes[1].childNodes[3];
	new Draggable('drag',{revert: true});
	Droppables.add('drop', {accept: 'dragme', 
	                        hoverclass: 'highlight'});
      </script>

      <div>
	<div style="float:left;">
	  <h3>This is the first list</h3>
	  <ul id="firstlist" style="height:10em;width:10em;">
	    <li id="firstlist_firstlist1">Item 1 from first list.</li>
	    <li id="firstlist_firstlist2">Item 2 from first list.</li>
	    <li id="firstlist_firstlist3">Item 3 from first list.</li>
	  </ul>
	</div>

	<div style="float:left">
	  <h3>And now the second list</h3>
	  <ul class="sortabledemo" id="secondlist" style="height:10em;width:10em;">
	    <li id="secondlist_secondlist1">
	      <span class="handle">HANDLE</span> Item 1 from second list.</li>
	    <li id="secondlist_secondlist2"> <span class="handle">HANDLE</span> Item 2 from second list.</li>
	    <li id="secondlist_secondlist3">
	      <span class="handle">HANDLE</span> Item 3 from second list.
	    </li>
	  </ul>
	</div>

      </div>

      <script type="text/javascript" src="sortable.js"></script>

	<br style="clear:both"/>
      <ul>
	<li>A slider can be set up with: 
	  <pre>
<span class="type">&lt;div id=</span><span class="string">"track1"</span><span class="type"> style=</span><span class="string">"width: 400px; 
                        background-color: rgb(170, 170, 170); 
                        height: 5px;"</span><span class="type">&gt;</span>
<span class="type">&lt;div id=</span><span class="string">"handle1"</span><span class="type"> class=</span><span class="string">"selected"</span><span class="type"> 
  style=</span><span class="string">"width: 10px; height: 10px; background-color: rgb(255, 0, 0); 
                                   cursor: move; 
                                   left: 0px; 
                                   position: relative;"</span><span class="type">/&gt;</span>
<span class="type">&lt;/div&gt;</span>
<span class="type">&lt;div id=</span><span class="string">"debug1"</span><span class="type"> style=</span><span class="string">"padding-top: 5px;"</span><span class="type">&gt;&lt;/div&gt;</span>

</pre>
	  <pre>
    <span class="keyword">new</span> Control.Slider('<span class="string">handle1</span>','<span class="string">track1</span>',{
<span class="function-name">        onSlide</span>:<span class="keyword">function</span>(<span class="variable-name">v</span>){$('<span class="string">debug1</span>').innerHTML='<span class="string">slide: </span>'+v},
<span class="function-name">        onChange</span>:<span class="keyword">function</span>(<span class="variable-name">v</span>){$('<span class="string">debug1</span>').innerHTML='<span class="string">changed! </span>'+v}});
</pre>
	</li>
      </ul>
      <div id="track1" style="width: 400px; background-color: rgb(170, 170, 170); height: .5em;">
	<div id="handle1" class="selected" style="width: 10px; height: 1em; background-color: rgb(255, 0, 0); cursor: move; left: 0px; position: relative;"/>
      </div>
       <div id="debug1" style="padding-top: .2em;"></div>
	<script type="text/javascript" language="javascript" src="slider.js"></script>

    </div><h3 id="autocompletion">3.2 Autocompletion</h3><div class="slidebody">
      <div>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>




<script src="js/effects.js" type="text/javascript"></script>
<script src="js/builder.js" type="text/javascript"></script>
<script src="js/dragdrop.js" type="text/javascript"></script>
<script src="js/controls.js" type="text/javascript"></script>
<script src="js/slider.js" type="text/javascript"></script>
</div>
      <ul>
	<li>Autocomplete Locally with:<br/>
	    <pre>
<span class="type">&lt;label for=</span><span class="string">"bands_from_the_70s"</span><span class="type">&gt;</span>Your favorite rock  band from the 70's:<span class="type">&lt;/label&gt;</span>
<span class="type">&lt;br /&gt;</span>
<span class="html-helper-significant-tag">&lt;input id=</span><span class="string">"bands_from_the_70s"</span><span class="html-helper-significant-tag"> autocomplete=</span><span class="string">"off"</span><span class="html-helper-significant-tag"> size=</span><span class="string">"40"</span><span class="html-helper-significant-tag"> type=</span><span class="string">"text"</span><span class="html-helper-significant-tag"> value="" style="" /&gt;</span><span class="type">&lt;/p&gt;</span>
<span class="type">&lt;div class=</span><span class="string">"page_name_auto_complete"</span><span class="type"> id=</span><span class="string">"band_list"</span><span class="type"> style=</span><span class="string">"display:none"</span><span class="type">&gt;&lt;/div&gt;</span>
<span class="type">&lt;script type=</span><span class="string">"text/javascript"</span><span class="type">&gt;&lt;/script&gt;</span>
<span class="type">&lt;script type=</span><span class="string">"text/javascript"</span><span class="type"> src=</span><span class="string">"autocomplete.js"</span><span class="type">&gt;&lt;/script&gt;</span>
</pre>
<code>new Autocompleter.Local('bands_from_the_70s', 'band_list', [...])</code><br/>

<label for="bands_from_the_70s">Your favorite rock  band from the 70's:</label>
<br/>
<input id="bands_from_the_70s" autocomplete="off" size="40" type="text" value="" style=""></input><br/>
<div class="page_name_auto_complete" id="band_list" style="display:none"></div>
<script type="text/javascript" src="autocomplete.js"></script>
<br/><br/><br/><br/><br/>

<a href="autocompletion.html">see here</a>

	</li>

	<li>The Ajax autocompleter looks like:<br/>
	<code>new Ajax.Autocompleter("autocomplete", <br/>
&nbsp;&nbsp;&nbsp;&nbsp;"autocomplete_choices", "/url/on/server", {});</code>
	</li>
      </ul>
    </div><h3 id="inplaceediting">3.3 In Place Editing</h3><div class="slidebody">
      <div>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>




<script src="js/effects.js" type="text/javascript"></script>
<script src="js/builder.js" type="text/javascript"></script>
<script src="js/dragdrop.js" type="text/javascript"></script>
<script src="js/controls.js" type="text/javascript"></script>
<script src="js/slider.js" type="text/javascript"></script>
</div>

      <ul>
	<li>Use<br/>
<code> new Ajax.InPlaceEditor('editme', './index.html');</code>

<p id="editme">Click me, click me!</p>
<script type="text/javascript">
 new Ajax.InPlaceEditor('editme', './index.html');
</script><br/>

<a href="inplaceediting.html">see here</a>

</li>

	<li>For a longer text box use:<br/>
<code>new Ajax.InPlaceEditor('editme2', '/demoajaxreturn.html', {rows:15,cols:40});</code>

<p id="editme2">Click me to edit this nice long text.</p>
<script type="text/javascript">
 new Ajax.InPlaceEditor('editme2', '/demoajaxreturn.html', {rows:15,cols:40});
</script> </li>

	<li>In place collection editor:<br/>
<code>new Ajax.InPlaceCollectionEditor(<br/>
&nbsp;&nbsp;'tobeedited2', '_ajax_inplaceeditor_result.html', {<br/>
&nbsp;&nbsp;collection: [[0,'one'],[1,'two'],[2,'three']],<br/>
&nbsp;&nbsp;value: 0,<br/>
&nbsp;&nbsp;ajaxOptions: {method: 'get'} //override so we can use a static for the result<br/>
});<br/></code>
<p id="editme3">Click me NOW!.</p>
<script type="text/javascript">
 new Ajax.InPlaceEditor('editme3', '/demoajaxreturn.html', {rows:15,cols:40});
</script>
<script>
new Ajax.InPlaceCollectionEditor(
  'editme3', '/cgi-bin/numbers.py', {
  collection: [[0,'one'],[1,'two'],[2,'three']],
  value: 0,
  ajaxOptions: {method: 'get'} //override so we can use a static for the result
});
</script>


 </li>
      </ul>

    </div><h2>URLs</h2><ol><li>script.aculo.us, <a href="http://script.aculo.us/">http://script.aculo.us/</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li><li>V1.5, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.5">http://wiki.script.aculo.us/scriptaculous/show/V1.5</a></li><li>Effect Queues, <a href="http://wiki.script.aculo.us/scriptaculous/show/EffectQueues">http://wiki.script.aculo.us/scriptaculous/show/EffectQueues</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li><li>V1.0, <a href="http://wiki.script.aculo.us/scriptaculous/show/V1.0">http://wiki.script.aculo.us/scriptaculous/show/V1.0</a></li></ol><hr class="bottom"/>
<p class="author">This talk available at <a href="http://jmvidal.cse.sc.edu/talks/scriptaculous">http://jmvidal.cse.sc.edu/talks/scriptaculous/</a><br />
Copyright &copy; 2007 <a href="../../index.html">Jos&eacute; M. Vidal</a>
<a href=" http://validator.w3.org/check?uri=http://jmvidal.cse.sc.edu/talks/scriptaculous/allslides.xml">.</a>
 All rights reserved.</p>
<p class="pagenumber">09 March 2007, 04:16PM</p>
</body>
</html>