For the most part the functionality of Prototype XUL works the same as normal prototype. The prototype documentation can be found here. The underlying changes are in the methods that extend Prototype.function. The functions that have been re-written are: argumentNames, bind, bindAsEventListener, curry, delay, defer, wrap and methodize. The core difference in use, is that these functions can not be extended from objects anymore and must be explicitly called.

argumentNames

argumentNames(someFunction) //-> Array

bind

bind(thisObj, someFunction) //-> Function

bindAsEventListener

bindAsEventListener(thisObj, someFunction) //-> Function

curry

curry(someFunction, [args...]) //-> Function

defer

curry(someFunction, [args...]) //-> Number

delay

delay(someFunction, seconds, [args...]) //-> Number

methodize

delay(someFunction, [args...]) //-> Function

wrap

delay(wrapperFunction, someFunction, [args...]) //-> Function