= Prototype
==== An object-oriented JavaScript framework

Prototype is a JavaScript framework that aims to ease development of dynamic 
web applications.  It offers a familiar class-style OO framework, extensive
Ajax support, higher-order programming constructs, and easy DOM manipulation.

=== Targeted platforms

Prototype currently targets the following platforms:

* Microsoft Internet Explorer for Windows, version 6.0 and higher
* Mozilla Firefox 1.0/Mozilla 1.7 and higher
* Apple Safari 1.2 and higher

== Using Prototype

To use Prototype in your application, download the latest release from the 
Prototype web site (http://prototype.conio.net/) and copy 
<tt>dist/prototype.js</tt> to a suitable location. Then include it in your HTML
like so:

  <script type="text/javascript" src="/path/to/prototype.js"></script>

=== Building Prototype from source

<tt>prototype.js</tt> is a composite file generated from many source files in 
the <tt>src/</tt> directory. To build Prototype, you'll need:

* a copy of the Prototype source tree, either from a distribution tarball or
  from the Subversion repository (see below)
* Ruby 1.8.2 or higher (http://www.ruby-lang.org/)
* Rake -- Ruby Make (http://rake.rubyforge.org/)
* RDoc, if your Ruby distribution does not include it

From the root Prototype directory,

* <tt>rake dist</tt> will preprocess the Prototype source using ERB and 
  generate the composite <tt>dist/prototype.js</tt>.
* <tt>rake package</tt> will create a distribution tarball in the 
  <tt>pkg/</tt> directory.

== Contributing to Prototype

Check out the Prototype source with 
  $ svn co http://dev.rubyonrails.org/svn/rails/spinoffs/prototype/

Modify the files in <tt>src/</tt>, add tests in <tt>test/</tt> if possible, 
and post a patch to http://dev.rubyonrails.org/newticket (please make sure 
to pick "Prototype" as the component).

== Documentation

Please see the Prototype documentation on the script.aculo.us wiki:
  http://wiki.script.aculo.us/scriptaculous/show/Prototype
