+
+TCallbackClientScript
+
+
+
+The TCallbackClientScript class provides corresponding methods that can be
+executed on the client-side (i.e. the browser client that is viewing
+the page) during a callback response.
+For a complete list of available client side methods, consult the
+
+
+
+
+The available methods includes setting/clicking input elements, changing Css
+styles, hiding/showing elements, and adding visual effects to elements on the
+page. The client-side methods can be access through the CallbackClient
+property available in TPage.
+
+
+
+For example, to hide "$myTextBox" element during callback response, do:
+
+
+$this->getPage()->getCallbackClient()->hide($myTextBox);
+
+
+
+
+$Id: CallbackClientSide.page -1 $
\ No newline at end of file
diff --git a/demos/quickstart/protected/pages/ActiveControls/CallbackClientSide.page b/demos/quickstart/protected/pages/ActiveControls/CallbackClientSide.page
new file mode 100644
index 00000000..c8e52585
--- /dev/null
+++ b/demos/quickstart/protected/pages/ActiveControls/CallbackClientSide.page
@@ -0,0 +1,79 @@
+
+
+TCallbackClientSide
+
+
+
+TCallbackClientSide is used to specify client-side callback request options and client-side event handlers.
+Each active control that inherits from TActiveBaseCallbackControl has a ClientSide property.
+The ClientSide property is an instance TCallbackClientSide containing the actual options and event handlers
+that are used by the client-side when that control is making a callback request.
+The following example demonstrates the toggling of a "loading" indicator when the client-side is making a callback request.
+
+
+
+<com:TClientScript PradoScripts="effects" />
+Loading...
+
+<com:TActiveButton
+ Text="Click Me"
+ OnCallback="button_callback"
+ ActiveControl.CallbackParameter="value" >
+ <prop:ClientSide
+ OnLoading="Element.show('callback_status')"
+ OnComplete="Element.hide('callback_status')" />
+</com:TActiveButton>
+
+
+Events
+
+
+The following client side events are executing in order if the callback
+request and response are send and received successfuly.
+
+
+
+ - onPreDispatch: executed before a request is dispatched;
+ - onUninitialized: executed when callback request is uninitialized;
+ - onLoading* : executed when callback request is initiated;
+ - onLoaded* : executed when callback request begins;
+ - onInteractive: executed when callback request is in progress;
+ - onComplete: executed when callback response returns;
+ - onSuccess executed when callback request returns and is successful;
+ - onFailure executed when callback request fails (only for communication errors);
+ - onException raised when callback request fails due to request/response errors.
+
+
+
+* Note that theses 2 events are not fired correctly by Opera. To make
+ them work in this browser, Prado will fire them just after onPreDispatch.
+
+
+
+In a general way, onUninitialized, onLoading, onLoaded and onInteractive events
+are not implemented consistently in all browsers. When cross browser compatibility is
+needed, it is best to avoid use them.
+
The OnSuccess and OnFailure events are raised when the
+response is returned. A successful request/response will raise
+OnSuccess event otherwise OnFailure will be raised.
+
+
+Properties
+
+
+The following properties can be used to change the way the callback request is performed.
+
+
+
+ - PostState: true to collect the form inputs and post them during callback (default: true);
+ - RequestTimeOut The request timeout in milliseconds (default: 30000, i.e. 30 seconds);
+ - HasPriority true to ensure that the callback request will be sent
+ immediately and will abort existing prioritized requests. It does not affect
+ callbacks that are not prioritized (default: true);
+ - EnablePageStateUpdate enable the callback response to enable the
+ viewstate update. This will automatically set HasPriority to true when enabled. (default: true).
+
+
+
+
+$Id$
\ No newline at end of file
diff --git a/demos/quickstart/protected/pages/ActiveControls/CallbackOptions.page b/demos/quickstart/protected/pages/ActiveControls/CallbackOptions.page
new file mode 100644
index 00000000..184c116c
--- /dev/null
+++ b/demos/quickstart/protected/pages/ActiveControls/CallbackOptions.page
@@ -0,0 +1,52 @@
+
+
+TCallbackOptions
+
+
+
+TCallbackOptions allows a common set of callback client-side options
+to be attached to one or more active controls.
+This can be useful if a lot of active controls on the same page are sharing the same callback client-side options.
+Instead of specifying the same set of options again and again inside each control, these can be written once
+inside a TCallbackOptions; this TCallbackOptions can be then attached to each control using the
+ActiveControl.CallbackOptions property. For a full list of assignable properties, please check the
+TCallbackClientSide documentation.
+
+
+
+The typical scenario of use for a TCallbackOptions is a page where a lot of active controls needs to
+pause the user interaction with a "Please wait" style message until callback completion.
+First create a single TCallbackOptions control, assign it an ID and the the needed properties:
+
+
+
+<com:TCallbackOptions
+ ID="MyOptions"
+ ClientSide.OnLoading="... kindly inform the user that he should wait ..."
+ ClientSide.OnComplete="... callback completed, ready to serve the user again ..."
+/>
+
+
+
+Then, share this set of options to one or more active controls; each control will follow them:
+
+
+
+<com:TActiveButton
+ Text="simple button"
+ OnCallback="..."
+ ActiveControl.CallbackOptions="MyOptions"
+ ...
+/>
+
+<com:TActiveCheckBox
+ Text="simple checkbox"
+ OnCallback="..."
+ ActiveControl.CallbackOptions="MyOptions"
+ ...
+/>
+
+
+
+
+$Id$
\ No newline at end of file
diff --git a/demos/quickstart/protected/pages/ActiveControls/Home.page b/demos/quickstart/protected/pages/ActiveControls/Home.page
index a658aa16..7834cc1d 100644
--- a/demos/quickstart/protected/pages/ActiveControls/Home.page
+++ b/demos/quickstart/protected/pages/ActiveControls/Home.page
@@ -97,11 +97,6 @@ TActiveButton control. See also the later part of the