<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>With Great Power comes Great Response.write("Ability") : AJAX</title><link>http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx</link><description>Tags: AJAX</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Ajax preview 2 : Declarative Instantiation of AjaxControlToolkit Controls</title><link>http://blogs.msdn.com/phaniraj/archive/2008/09/12/ajax-preview-2-declarative-instantiation-of-ajaxcontroltoolkit-controls.aspx</link><pubDate>Fri, 12 Sep 2008 09:56:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8945964</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/8945964.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=8945964</wfw:commentRss><description>&lt;p&gt;Today ,we will talk about using the Declarative Syntax to instantiate certain AjaxControlToolkit Behaviors .    &lt;br /&gt;    &lt;br /&gt;Step 0: Figure out which are the script files needed for the Behavior to work and include the appropriate Script&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; references&amp;#160; in your page .     &lt;br /&gt;For the PopupControlBehavior , the script files would be :&lt;/p&gt;  &lt;pre class="darkcsharpcode"&gt;AjaxControlToolkit.ExtenderBase.BaseScripts.js
AjaxControlToolkit.Common.Common.js
AjaxControlToolkit.Compat.Timer.Timer.js
AjaxControlToolkit.Animation.Animations.js
AjaxControlToolkit.Animation.AnimationBehavior.js
AjaxControlToolkit.PopupExtender.PopupBehavior.js
AjaxControlToolkit.PopupControl.PopupControlBehavior.js&lt;/pre&gt;

&lt;p&gt;Step 1: Declare the behaviors you wish to attach to the templated elements.&lt;/p&gt;

&lt;pre class="darkcsharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt; &lt;span class="attr"&gt;xmlns:sys&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;javascript:Sys&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;xmlns:popup&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;javascript:AjaxControlToolkit.PopupControlBehavior&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Step 2 : In the template , attach this behavior to the target element using the sys:attach syntax.&lt;/p&gt;

&lt;pre class="darkcsharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;#&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;sys:attach&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;popup&amp;quot;&lt;/span&gt; .....&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Some Text Here&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Step 3 : Depending on the behavior you are using , set the appropriate properties . 
  &lt;br /&gt;Since I am using the PopupControlBehavior , we will need to set the PopupControlID and the Position properties of the behavior.&lt;/p&gt;

&lt;pre class="darkcsharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;popup:popupcontrolid&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;&amp;quot;&lt;/span&gt;  &lt;span class="attr"&gt;popup:position&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;4&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;...&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Declarative template&amp;#160; for Master-Details view with popupbehavior : &lt;/strong&gt;&lt;/p&gt;

&lt;pre class="darkcsharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;listTemplate&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;width: 150px&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;yellow&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt; &lt;span class="attr"&gt;sys:attach&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;dataview&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;sys-template&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;dataview:data&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{{ localData }}&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;           &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt; &lt;span class="attr"&gt;sys:attach&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;popup&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;popup:popupcontrolid&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{{'subDiv'+ListID}}&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;popup:position&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;4&amp;quot;&lt;/span&gt;
      &lt;span class="attr"&gt;sys:id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{{'master'+ ListID}}&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;{{ ListTitle }}&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;
       &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{{ 'subDiv' + ListID}}&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;grey&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;display: none; width: 300px&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;
           &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;sys-template&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;sys:attach&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;dataview&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;dataview:data&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;{{ ListElements }}&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;{{ListElementText}} &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;
           &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;
          &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Complete Sample Code : &lt;a href="http://cid-925c2d2bb2d03c6b.skydrive.live.com/self.aspx/Public/DeclarativeMasterDetails.txt"&gt;Click Me&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8945964" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Demo/default.aspx">Demo</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/asp.net+ajax+4_2E002E00_0/default.aspx">asp.net ajax 4..0</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AjaxControlToolkit/default.aspx">AjaxControlToolkit</category></item><item><title>Documentation for the AjaxControlToolkit</title><link>http://blogs.msdn.com/phaniraj/archive/2008/08/27/documentation-for-the-ajaxcontroltoolkit.aspx</link><pubDate>Wed, 27 Aug 2008 07:07:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8898885</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/8898885.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=8898885</wfw:commentRss><description>&lt;strike&gt;&lt;/strike&gt;  &lt;p&gt;Ready for some documentation for the ATK controls ?    &lt;br /&gt;To skip my journey to create this , download the Documentation ( in CHM form) here : &lt;a href="http://cid-925c2d2bb2d03c6b.skydrive.live.com/self.aspx/AjaxControlToolkit%20Documentation/AjaxControlToolkit.chm"&gt;AjaxControlToolkit Docs&lt;/a&gt;&lt;/p&gt;  &lt;h5&gt;Step 1 : Using AjaxDoc to generate the Reflection.org file required by Sandcastle&lt;/h5&gt;  &lt;p&gt;&amp;#160;&amp;#160; 1.0) Download AjaxDoc &lt;a href="http://www.codeplex.com/ajaxdoc"&gt;here &lt;/a&gt;.     &lt;br /&gt;&amp;#160;&amp;#160; 1.1) Download the Latest Source for the AjaxControlToolkit , &lt;a href="http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488"&gt;here&lt;/a&gt; .&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; 1.2) Get the Script Files from the AjaxControlToolkit project .     &lt;br /&gt;&amp;#160;&amp;#160; 1.3) Create the AjaxControlToolkit.project.xml for AjaxDoc which has script references to the ATK Scripts.     &lt;br /&gt;&amp;#160;&amp;#160; 1.4) Run the Default.aspx page&lt;/p&gt;  &lt;p&gt;Hurdle 1 : DynamicPopulateBehavior.js just refused to load.&amp;#160; &lt;br /&gt;Added this line to ln 150 of ScriptDoc.js file to skip types which throw errors.     &lt;br /&gt;&lt;/p&gt;  &lt;pre class="darkcsharpcode"&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt;(member ===&lt;span class="kwrd"&gt;null&lt;/span&gt; || &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(member)===&lt;span class="str"&gt;&amp;quot;undefined&amp;quot;&lt;/span&gt;) &lt;span class="kwrd"&gt;continue&lt;/span&gt;; &lt;/pre&gt;

&lt;p&gt;&amp;#160; 1.5) Run the Default.aspx page again 
  &lt;br /&gt;

  &lt;br /&gt;Hurdle 2:&amp;#160; “PopupBehavior is undefined”. 

  &lt;br /&gt;1.6) Re-arranged the script references in the Project.xml file to order the script files according to their dependencies. 

  &lt;br /&gt;1.7) Run the Default.aspx page again . 

  &lt;br /&gt;&lt;/p&gt;

&lt;h5&gt;Step 2 : Use SandCastle to produce the CHM File&lt;/h5&gt;

&lt;p&gt;Follow the Steps 5-12 defined here : &lt;a href="http://blogs.msdn.com/sandcastle/archive/2006/07/29/Creating-a-Chm-build-using-Sandcastle.aspx"&gt;Creating a Chm build using Sandcastle&lt;/a&gt; 

  &lt;br /&gt;Whichever Transform you use (Vs2005/Prototype) , in step 8, remove these lines in the sandcastle.config file.&amp;#160; &lt;/p&gt;

&lt;pre class="darkcsharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;language&lt;/span&gt; &lt;span class="attr"&gt;label&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;VisualBasic&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;VisualBasic&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;vb&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;language&lt;/span&gt; &lt;span class="attr"&gt;label&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CSharp&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CSharp&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;cs&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;language&lt;/span&gt; &lt;span class="attr"&gt;label&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ManagedCPlusPlus&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ManagedCPlusPlus&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;cpp&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="rem"&gt;&amp;lt;!--&amp;lt;language label=&amp;quot;JSharp&amp;quot; name=&amp;quot;JSharp&amp;quot; style=&amp;quot;cs&amp;quot; /&amp;gt;&lt;/span&gt;
&lt;span class="rem"&gt;&amp;lt;language label=&amp;quot;JScript&amp;quot; name=&amp;quot;JScript&amp;quot; style=&amp;quot;cs&amp;quot; /&amp;gt;--&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;There you go ! &lt;/p&gt;
The CHM is not perfect ,&amp;#160; &lt;ol&gt;
  &lt;li&gt;The documentation is missing for the following components 
    &lt;ol&gt;
      &lt;li&gt;AnimationExtender &lt;/li&gt;

      &lt;li&gt;RichTextEditor &lt;/li&gt;

      &lt;li&gt;MultiHandleSlider &lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;

  &lt;li&gt;The Code Comments are missing from the CHM file &lt;/li&gt;

  &lt;li&gt;Insert gripe here &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'll probably take a look at this again to see if I can generate a CHM which has the missing parts. 
  &lt;br /&gt;And finally , while Its not everything , its not nothing either :) &lt;/p&gt;
Resources: 

&lt;br /&gt;&lt;a href="http://weblogs.asp.net/bleroy/archive/2007/06/27/scriptdoc-1-0-available.aspx"&gt;Bertrand's blog &lt;/a&gt;

&lt;br /&gt;&lt;a href="http://blogs.msdn.com/sandcastle/archive/2006/07/29/Creating-a-Chm-build-using-Sandcastle.aspx"&gt;SandCastle Blog&lt;/a&gt; 

&lt;br /&gt;&lt;a href="http://www.codeplex.com/ajaxdoc"&gt;AjaxDoc on CodePlex&lt;/a&gt; 

&lt;br /&gt;&lt;a href="http://www.codeplex.com/Sandcastle/"&gt;SandCastle on CodePlex&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8898885" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Demo/default.aspx">Demo</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AjaxControlToolkit/default.aspx">AjaxControlToolkit</category></item><item><title>Happy Birthday to Me !!!</title><link>http://blogs.msdn.com/phaniraj/archive/2007/09/17/happy-birthday-to-me.aspx</link><pubDate>Mon, 17 Sep 2007 18:47:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4958118</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/4958118.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=4958118</wfw:commentRss><description>&lt;p&gt;Hello all ,&lt;/p&gt; &lt;p&gt;Today I grow a year older ,&amp;nbsp; I am now all of 26 !!! &lt;/p&gt; &lt;p&gt;As return gifts&amp;nbsp; to everyone, I am giving out a demo application that encompasses most of my knowledge about the AjaxControlToolkit Animation Extender. &lt;/p&gt; &lt;p&gt;Here is a list of the Animations that are demo'd .&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Basic Animations &lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt; Fade &lt;/li&gt; &lt;li&gt; ReSize &lt;/li&gt; &lt;li&gt; Length &lt;/li&gt; &lt;li&gt; Color &lt;/li&gt; &lt;li&gt; Pulse &lt;/li&gt; &lt;li&gt; Discrete &lt;/li&gt; &lt;li&gt; Scale &lt;/li&gt; &lt;li&gt; Move &lt;/li&gt; &lt;li&gt; Case &lt;/li&gt; &lt;li&gt; Condition &lt;/li&gt; &lt;li&gt; Sequence &lt;/li&gt; &lt;li&gt; Parallel &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Actions &lt;/strong&gt; &lt;ul&gt; &lt;li&gt; Enable Action &lt;/li&gt; &lt;li&gt; Script Action &lt;/li&gt; &lt;li&gt; Hide Action &lt;/li&gt; &lt;li&gt; Opacity Action &lt;/li&gt; &lt;li&gt; Style Action &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Advanced &lt;/strong&gt; &lt;ul&gt; &lt;li&gt; Scripting Animations&lt;/li&gt; &lt;li&gt; Client-Side DataBinding &lt;/li&gt; &lt;li&gt; Experiment #1 &lt;/li&gt; &lt;li&gt; Experiment #2 ( Plot a Path and Follow it )&lt;/li&gt; &lt;li&gt; Reuse AnimationExtender &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Triggers&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt; OnLoad &lt;/li&gt; &lt;li&gt; OnHoverOver/Out &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Some Screenshots&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;u&gt;The Main Menu &lt;/u&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/MainMenu_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="MainMenu" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/MainMenu_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;In each demo of each animation type , you get :&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&amp;nbsp; a Demo of the animation&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Demo_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="Demo" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Demo_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; 2.&amp;nbsp; The Source Code for implementing the animation&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Code_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="Code" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Code_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;3.&amp;nbsp; Reference towards further explanation of the animation type&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Reference_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="Reference" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/HappyBirthdaytoMe_1251E/Reference_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;How do I download this ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt; Click here : &lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 26px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-925c2d2bb2d03c6b.skydrive.live.com/embedrow.aspx/Public/All%20animations%20Demos.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What do I need&amp;nbsp; to be pre-installed ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt; The ASP.NET Ajax Extensions&lt;/p&gt; &lt;p&gt; IIS Web Server&lt;/p&gt; &lt;p&gt;&lt;strong&gt;How do I set this up ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Follow the steps mentioned here : &lt;a href="http://support.microsoft.com/kb/172138/en-us" target="_blank"&gt;Instructions to Setup a Virtual Directory in IIS&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Which browser does this work in ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;The animations themselves work in all browsers that are officially supported.&lt;/p&gt; &lt;p&gt; For the Tabs look that&amp;nbsp; is present on each page is my own implementation using JavaScript that works only in IE ( I use DIVS&amp;nbsp; :-) ).&lt;/p&gt; &lt;p&gt;In case you see that you cant navigate in between the tabs on the demo pages , fire up visual Studio 2005 and you should be able to see &lt;/p&gt; &lt;p&gt;the source code right there.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;So , Download it and go crazy !!! &lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4958118" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Expand Accordion Panes On Mouse Over Header</title><link>http://blogs.msdn.com/phaniraj/archive/2007/09/10/expand-accordion-panes-on-mouse-over-header.aspx</link><pubDate>Mon, 10 Sep 2007 22:56:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4855913</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/4855913.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=4855913</wfw:commentRss><description>&lt;p&gt;This is a common requirement I see&amp;nbsp; among users of the accordion , &lt;/p&gt; &lt;p&gt;How do I Open Accordion Panes OnMouseOver of&amp;nbsp; the header and Not on header Click ?&lt;/p&gt; &lt;p&gt;The answer is pretty simple .&lt;/p&gt; &lt;p&gt;Lets walk through this :&lt;/p&gt; &lt;p&gt;a) Setup your Accordion &lt;/p&gt;&lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:Accordion&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="Accordion1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ContentCssClass&lt;/span&gt;&lt;span class="kwrd"&gt;="grey"&lt;/span&gt; 
            &lt;span class="attr"&gt;FadeTransitions&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;  &lt;span class="attr"&gt;FramesPerSecond&lt;/span&gt;&lt;span class="kwrd"&gt;="25"&lt;/span&gt; &lt;span class="attr"&gt;TransitionDuration&lt;/span&gt;&lt;span class="kwrd"&gt;="250"&lt;/span&gt;  &lt;/pre&gt;&lt;pre class="csharpcode"&gt;            &lt;span class="attr"&gt;HeaderCssClass&lt;/span&gt;&lt;span class="kwrd"&gt;="dimgreen"&lt;/span&gt; &lt;span class="attr"&gt;EnableViewState&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Panes&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
               ::::
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Panes&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:Accordion&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;b) Each of the accordion header Pane will have a &amp;lt;SPAN&amp;gt; tag setup for the header.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;    On MouseOver of the Span Tag , we will open the Accordion Pane .&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AccordionPane&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="PaneOne"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Header&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;font size="4"&gt;               &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt; &lt;span class="attr"&gt;onmouseover&lt;/span&gt;&lt;span class="kwrd"&gt;="Openpane('0',event)"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Accordion&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/font&gt;           &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Header&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
           &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
               &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
               &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
               Expand Accordion Panes on Mouse Over :: Pane 1
               &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
               &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
           &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AccordionPane&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;The Span's onmouseover event is handled by the Openpane Function.&lt;/p&gt;
&lt;p&gt;c) The javaScript Function Openpane .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; 

&lt;span class="kwrd"&gt;function&lt;/span&gt; Openpane(paneIndex,eventElement) { 
    &lt;span class="kwrd"&gt;var&lt;/span&gt; behavior = $get(&lt;span class="str"&gt;"Accordion1"&lt;/span&gt;).AccordionBehavior; 
    behavior.set_SelectedIndex(paneIndex); 
}

&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Download Complete Example : &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 26px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-925c2d2bb2d03c6b.skydrive.live.com/embedrow.aspx/Public/Accordion_OnHover.aspx.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4855913" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Accordion/default.aspx">Accordion</category></item><item><title>How to : Re-use Animation Extenders in a page</title><link>http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx</link><pubDate>Wed, 15 Aug 2007 19:11:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4402035</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/4402035.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=4402035</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://cid-925c2d2bb2d03c6b.skydrive.live.com/self.aspx/Public/ReuseAnimations.zip" target="_blank"&gt;Download Sample Code :&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;while working with the AnimationExtender on an ASPX Page ,One would run into a scenario wherein you would need to associate the same animation with multiple&amp;nbsp; Elements on the page.&lt;/p&gt; &lt;p&gt;Some Examples are :&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Associate an Animation&amp;nbsp; with the rows of a GridView.  &lt;li&gt;Associate an Animation with probably multiple panels on the same page.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Today , we will discuss how to re-use a&amp;nbsp; single AnimationExtender in&amp;nbsp; a few possible Scenarios.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx#SameAnimationDifferentControls"&gt;Trigger the same Animation From Different Controls&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx#modifyAnimationTarget"&gt;Modify the AnimationTarget on which you want the animation to run &lt;/a&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx#CombinationAB"&gt;Multiple TargetControlIDs and Multiple AnimationTargets&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;strong&gt;&lt;a name="SameAnimationDifferentControls"&gt;a) Trigger the same Animation From Different Controls&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This section will address the scenario wherein you would have an animation which is defined to animate a specific element.&lt;/p&gt; &lt;p&gt;And you would want different Elements on the Page to trigger the same animation on the element.&lt;/p&gt; &lt;p&gt;Here , we would be simulating a scenario wherein one would probably want to assign &lt;u&gt;&lt;strong&gt;Multiple TargetControlIDs &lt;/strong&gt;&lt;/u&gt;to an animation.&lt;/p&gt; &lt;p&gt;The TargetControlID Specifies the control that Kicks-off the animation.&lt;/p&gt; &lt;p&gt;If an AnimationTarget is not Specified , then it is the control which will be animated.&lt;/p&gt; &lt;p&gt;We will have the Following Elements :&lt;/p&gt; &lt;p&gt;a) A button to trigger the animation : &lt;/p&gt;&lt;pre class="csharpcode"&gt; &lt;span class="rem"&gt;&amp;lt;!-- The Trigger Button One--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Trigger One"&lt;/span&gt; &lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="return false;"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;b) A Div/ASP:Panel which will be animated onClick of the Button &lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt; &lt;span class="rem"&gt;&amp;lt;!-- The Panel which will be animated--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Panel&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="pnlAnimated"&lt;/span&gt; &lt;span class="attr"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;="position: absolute; top: 100px;
            left: 50px; height: 200px; width: 150px; background-color: #99ccff;"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:Panel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;The Animation Markup will be as shown below :&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Markup for the animation Extender--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt; &lt;span class="kwrd"&gt;="animateMe"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="pnlAnimated"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="pnlAnimated"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="pnlAnimated"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;The Div pnlAnimated will resize to height and width 400 and 
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
back to 380 and then 400 again to provide an Easing effect .&lt;/p&gt;
&lt;p&gt;Let's Say that&amp;nbsp; you need to trigger the same animation by clicking on another button&amp;nbsp; and you would want to do this without having to create a New AnimationExtender on the same page.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Trigger Button two--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerTwo"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Trigger Two"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;a.1) Client Side :&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt; : Assign a BehaviorID to the AnimationExtender if not already present.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="attr"&gt;BehaviorID&lt;/span&gt; &lt;span class="kwrd"&gt;="animateMe"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;strong&gt;Step 2&lt;/strong&gt;: Assign an OnClientClick function to the btnAnimateTriggerTwo button .&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="ChangeAnimationTarget();return false;"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; The Function ChangeAnimationTarget() which will trigger the animation to be played.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language =&lt;span class="str"&gt;"javascript"&lt;/span&gt; type =&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;
   &lt;span class="kwrd"&gt;function&lt;/span&gt; ChangeAnimationTarget() {
       $find(&lt;span class="str"&gt;"animateMe"&lt;/span&gt;).get_OnClickBehavior().play();
    }
 &amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;This will cause the animation already defined on the TargetControl of btnAnimateTriggerOne to be played onclick of the &lt;/pre&gt;&lt;pre class="csharpcode"&gt;button btnAnimateTriggerTwo.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;In a similar way you can add any number of triggers to the same AnimationExtender.&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;a.2) Server Side :&lt;/strong&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Step 1: &lt;/strong&gt;Put the Above Controls inside the ContentTemplate of an UpdatePanel .&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Step 2: &lt;/strong&gt;On the Server-Side you can switch the TargetControl by running the following code.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ChangeAnimationTarget()
    {
        AnimationExtender1.TargetControlID = btnAnimateTriggerTwo.ID;
        btnAnimateTriggerTwo.OnClientClick = &lt;span class="str"&gt;"return false;"&lt;/span&gt;;
    }&lt;/pre&gt;&lt;pre class="csharpcode"&gt;  &lt;strong&gt;Step 3: &lt;/strong&gt;Now , the TargetControlId has changed and upon clicking on the button btnAnimateTriggerTwo, the animation will run.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;  In this case , you would have to switch the AnimationTarget BEFORE you want the animation to run.&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;b)
&lt;a name="modifyAnimationTarget"&gt;Modify the AnimationTarget on which you want the animation to run&lt;/a&gt; &lt;/strong&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;let's consider a scenario in which you would want the same Animation to run on 2 or more different Elements.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;For the sake of simplicity , lets consider that you would want to run the above ResizeAnimation on &lt;/pre&gt;&lt;pre class="csharpcode"&gt;another asp:Panel by the name of &lt;strong&gt;pnlAnimatedToo &lt;/strong&gt; and you want to do this without having to create another AnimationExtender on the same page.&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;b.1) Client Side :&lt;/strong&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 1 : &lt;/strong&gt;You will have to change the markup of the AnimationExtender to look like this :&lt;/pre&gt;&lt;pre class="csharpcode"&gt; Change the AnimationTarget Attribute to be AnimationTargetScript ="getAnimationTarget();".&lt;/pre&gt;&lt;pre class="csharpcode"&gt;This will cause the function getAnimationTarget() to be called whenever the AnimationExtender runs.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;and getAnimationTarget() will return the ID of the Control that should be animated.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt; &lt;span class="kwrd"&gt;="animateMe"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 2 : &lt;/strong&gt;Assign the Following function as OnClientClick handler of the Button btnAnimateTriggerOne.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="setAnimationTarget();return false;"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The Function setAnimationTarget sets the ID of the AnimationTarget for the AnimationExtender.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 3: &lt;/strong&gt;The Definition of the functions getAnimationTarget() and setAnimationTarget().&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language =&lt;span class="str"&gt;"javascript"&lt;/span&gt; type =&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;
 &lt;span class="kwrd"&gt;var&lt;/span&gt; currentAnimationTarget =&lt;span class="str"&gt;"pnlAnimated"&lt;/span&gt;;
            
&lt;span class="kwrd"&gt;function&lt;/span&gt; getAnimationTarget() {
    &lt;span class="kwrd"&gt;return&lt;/span&gt; currentAnimationTarget;
}
&lt;span class="kwrd"&gt;function&lt;/span&gt; setAnimationTarget() {
  currentAnimationTarget = currentAnimationTarget === &lt;span class="str"&gt;"pnlAnimated"&lt;/span&gt; ? &lt;span class="str"&gt;"pnlAnimatedToo"&lt;/span&gt;:&lt;span class="str"&gt;"pnlAnimated"&lt;/span&gt;;
}
&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;In this example, the animationTarget will alternate between pnlAnimated and pnlAnimatedToo.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;You can implement your own logic into the above functions for your implementation.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;&lt;strong&gt;c) Combination of a) and b) &lt;/strong&gt;, i.e you would want to use the same animationExtender to trigger the same animations on different elements onClick of two different Buttons.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;&lt;strong&gt;&lt;a name="CombinationAB"&gt;Multiple TargetControlIDs and Multiple AnimationTargets.&lt;/a&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;For instance , in the above example , if you would want to &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;Animate pnlAnimated onClick of btnAnimateTriggerOne&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;and &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;Animate pnlAnimatedToo onClick of btnAnimateTriggerTwo.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;And you would want to do all of this Without creating a new AnimationExtender on the same page.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#000000" size="2"&gt;&lt;strong&gt;Step 1: &lt;/strong&gt;Assign the OnClientClick of the Two buttons to be as below :&lt;/font&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Trigger Button One--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Trigger One"&lt;/span&gt; 
&lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="&lt;font size="3"&gt;setAnimationTargetValue('pnlAnimated');&lt;/font&gt;return false;"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        
&lt;span class="rem"&gt;&amp;lt;!-- The Trigger Button two--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerTwo"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Trigger Two"&lt;/span&gt; 
&lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="&lt;font size="3"&gt;setAnimationTargetValue('pnlAnimatedToo');SwitchTargetControl();&lt;/font&gt;return false;"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 2: &lt;/strong&gt;Change the Markup of the AnimationExtender to replace AnimationTarget to be AnimationTargetScript.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt; &lt;span class="kwrd"&gt;="animateMe"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimateTriggerOne"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="380"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ReSize&lt;/span&gt; &lt;span class="attr"&gt;AnimationTargetScript&lt;/span&gt;&lt;span class="kwrd"&gt;="getAnimationTarget();"&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.1"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;Step 3: &lt;/strong&gt;The Definition for the JavaScript Functions.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language =&lt;span class="str"&gt;"javascript"&lt;/span&gt; type =&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;
            &lt;span class="kwrd"&gt;function&lt;/span&gt; SwitchTargetControl() {
                $find(&lt;span class="str"&gt;"animateMe"&lt;/span&gt;).get_OnClickBehavior().play();
            }
            
            &lt;span class="kwrd"&gt;var&lt;/span&gt; currentAnimationTarget =&lt;span class="str"&gt;"pnlAnimated"&lt;/span&gt;;
            
            &lt;span class="kwrd"&gt;function&lt;/span&gt; getAnimationTarget() {
                &lt;span class="kwrd"&gt;return&lt;/span&gt; currentAnimationTarget;
            }
            
            &lt;span class="kwrd"&gt;function&lt;/span&gt; setAnimationTargetValue( value ) {
                currentAnimationTarget  = value;
            }
&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4402035" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category></item><item><title>How to : Perform Operations on all instances of a Ajax Control Extender on a page</title><link>http://blogs.msdn.com/phaniraj/archive/2007/06/20/how-to-perform-operations-on-all-instances-of-a-ajax-control-extender-on-a-page.aspx</link><pubDate>Wed, 20 Jun 2007 17:12:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3424908</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/3424908.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=3424908</wfw:commentRss><description>&lt;p&gt;Consider a scenario wherein you have a lot of control Extenders on a page and you want to conduct operations on all instances&lt;/p&gt; &lt;p&gt;Specific Extender or specific instances of an extender.&lt;/p&gt; &lt;p&gt;We all know that we can reference certain instances of an Extender by&amp;nbsp;using &amp;nbsp;its BehaviorID and the &lt;a href="http://ajax.asp.net/docs/ClientReference/Global/FindShortcutMethod.aspx" target="_blank"&gt;$find&lt;/a&gt; function.&lt;/p&gt; &lt;p&gt;Now , consider an implementation where you want to Collapse/Expand all Collapsible Panels present on a Page.&lt;/p&gt; &lt;p&gt;You don't know how many CollapsiblePanels will be present on the page and what their IDs will be .&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Solution&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The ASP.NET Ajax Framework has a couple of really useful functions which will help us here.&lt;/p&gt; &lt;p&gt;You can get all instances of all behaviors present on the page using the &lt;strong&gt;&lt;a href="http://ajax.asp.net/docs/ClientReference/Sys/ApplicationClass/SysApplicationGetComponentsMethod.aspx" target="_blank"&gt;Sys.Application.getComponents()&lt;/a&gt; &lt;/strong&gt;method.&lt;/p&gt; &lt;p&gt;There&amp;nbsp; , it's &amp;nbsp;that simple !!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;How do you use this to find all instances of a &lt;u&gt;Specific Control Extender &lt;/u&gt;on a page ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Ans : You can find out the "Type" of any given Behavior by&amp;nbsp;using any of the following code Snippets.&lt;/p&gt; &lt;h5&gt;&lt;strong&gt;1) Using the Object.getType() Method.&lt;/strong&gt;&lt;/h5&gt; &lt;p&gt;&amp;nbsp;EX: &lt;/p&gt; &lt;p&gt;&amp;nbsp;Given that your behavior Instance is : controlYourSelf of type : HoverMenu&lt;/p&gt;&lt;pre class="csharpcode"&gt;Object.getType( controlYourSelf ).getName()&lt;/pre&gt;&lt;pre class="csharpcode"&gt;will give you the name of the AjaxControlToolkit behavior .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;Ex output is :  AjaxControlToolkit.HoverMenuBehavior and so on and so forth.&lt;/pre&gt;
&lt;h5&gt;&lt;strong&gt;2) Using the get_name() method on the Behavior Instance.&lt;/strong&gt;&lt;/h5&gt;&lt;pre class="csharpcode"&gt;Your Behavior Name will not be qualified with AjaxControlToolkit.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;so , if you call get_name() on controlYourSelf Behavior .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;controlYourSelf.get_name() will give you : HoverMenuBehavior&lt;/pre&gt;&lt;pre class="csharpcode"&gt;usage : &lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;BehaviorInstance&amp;gt;.get_name()&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;Consider the Following Example which shows you how to &lt;strong&gt;&lt;u&gt;Collapse all the Collapsible Panels present on a page&lt;/u&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;The Algorithm would be:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Find all instances of the CollapsiblePanel Behavior on the page. 
&lt;li&gt;&amp;nbsp;On each of them , 
&lt;li&gt;&amp;nbsp;Check if the Panel is Collapsed by calling the get_Collapsed() function. 
&lt;li&gt;&amp;nbsp;If not collapsed&amp;nbsp;, call the collapsePanel Function to collapse the Panel.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;The Code would be&amp;nbsp; :&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Function To Collapse all CollapsiblePanels on a page , if not already collapsed.&lt;/span&gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt; collapseAllCollapsiblePanels() {
    &lt;span class="kwrd"&gt;var&lt;/span&gt; currentBehavior = &lt;span class="kwrd"&gt;null&lt;/span&gt;;
   &lt;span class="rem"&gt;//1) Find all instances of the CollapsiblePanel Behavior on the page.&lt;/span&gt;
    &lt;span class="rem"&gt;//Get all the Behaviors Present in the Page&lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; allBehaviors = Sys.Application.getComponents() ;
    &lt;span class="rem"&gt;//Loop Through them&lt;/span&gt;
    &lt;span class="kwrd"&gt;for&lt;/span&gt;( &lt;span class="kwrd"&gt;var&lt;/span&gt; loopIndex = 0 ; loopIndex &amp;lt; allBehaviors.length; loopIndex++ ) {
        currentBehavior = allBehaviors[loopIndex];
    &lt;span class="rem"&gt;//For each behavior , check the Behavior Name &lt;/span&gt;
        &lt;span class="kwrd"&gt;if&lt;/span&gt;( currentBehavior.get_name() === &lt;span class="str"&gt;"CollapsiblePanelBehavior"&lt;/span&gt; ) {
      &lt;span class="rem"&gt;//If its of type CollapsiblePanelBehavior&lt;/span&gt;
        &lt;span class="rem"&gt;//3) Check if the Panel is Collapsed by calling the get_Collapsed() function.&lt;/span&gt;
            &lt;span class="kwrd"&gt;if&lt;/span&gt;( !currentBehavior.get_Collapsed() ) {
            &lt;span class="rem"&gt;//4) If not collapsed , call the collapsePanel Function to collapse the Panel.&lt;/span&gt;
                currentBehavior.collapsePanel();
            }
        }
    }
}&lt;/pre&gt;&lt;pre class="csharpcode"&gt;You can use this approach in your applications  for any myriad number of reasons .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;Hope this helps Someone out there.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3424908" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Components/default.aspx">Components</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Scripting Animations from the Ms Ajax AnimationExtender</title><link>http://blogs.msdn.com/phaniraj/archive/2007/05/31/scripting-animations-from-the-ms-ajax-animationextender.aspx</link><pubDate>Fri, 01 Jun 2007 00:54:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3013645</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/3013645.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=3013645</wfw:commentRss><description>&lt;h1&gt;&lt;/h1&gt; &lt;p&gt;An ignored / unknown / very useful&amp;nbsp; feature of the animation Framework is that it allows you to control the animation as its playing.&lt;/p&gt; &lt;p&gt;You can &lt;strong&gt;&lt;u&gt;Play, Pause , Resume , Stop and Quit&amp;nbsp;&lt;/u&gt;&lt;/strong&gt; an Animation Instance by using appropriate methods in JavaScript.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Setting up the Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The Animation we will be playing is a Length Animation on a DIV element with ID "&lt;font color="#ff0000"&gt;divMovable&lt;/font&gt;".&lt;/p&gt; &lt;p&gt;The DIV will Increase in length from 200 px to 550px over a duration of 1.5 Seconds OnClick of the DIV.&lt;/p&gt; &lt;h3&gt;Markup For Div&lt;/h3&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="demoDivYellow"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    I Move Away
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3&gt;&lt;span class="kwrd"&gt;Markup for the Animation Extender&lt;/span&gt;&lt;/h3&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="controlledAnimation"&lt;/span&gt;
                        &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
             &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="1.5"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="40"&lt;/span&gt; 
                            &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="style"&lt;/span&gt;  &lt;span class="attr"&gt;PropertyKey&lt;/span&gt;&lt;span class="kwrd"&gt;="height"&lt;/span&gt; 
                            &lt;span class="attr"&gt;StartValue&lt;/span&gt;&lt;span class="kwrd"&gt;="200"&lt;/span&gt;  &lt;span class="attr"&gt;EndValue&lt;/span&gt;&lt;span class="kwrd"&gt;="550"&lt;/span&gt; 
                            &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
              &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
         &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;Notice that the AnimationExtender has the BehaviorID assigned to be "&lt;font color="#0000ff"&gt;&lt;strong&gt;controlledAnimation&lt;/strong&gt;&lt;/font&gt;".&lt;/p&gt;
&lt;p&gt;We will be accessing the Control Methods using this BehaviorID.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Playing An Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You&amp;nbsp; can trigger an animation to start playing by calling the &lt;font color="#ff0000"&gt;&lt;strong&gt;play&lt;/strong&gt;&lt;/font&gt; method on&amp;nbsp;the Animation Extender Behavior .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; playAnimation() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
            &lt;font color="#008040"&gt;&lt;font size="4"&gt;&lt;strong&gt;onclkBehavior.play();&lt;/strong&gt;&lt;/font&gt;
&lt;/font&gt;        }&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Pausing An Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You&amp;nbsp; can Pause an animation by calling the&amp;nbsp;&lt;font color="#ff0000"&gt;&lt;strong&gt;pause&lt;/strong&gt;&lt;/font&gt; method on&amp;nbsp;the Animation Extender Behavior .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; pauseAnimation() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
            &lt;strong&gt;&lt;font color="#008000" size="4"&gt;onclkBehavior.pause();&lt;/font&gt;&lt;/strong&gt;
        }&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Resuming a Paused Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can Resume a Paused Animation by calling its &lt;font color="#ff0000"&gt;&lt;strong&gt;play&lt;/strong&gt;&lt;/font&gt; Method again :) .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Stopping A Playing&amp;nbsp;Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You&amp;nbsp; can Stop&amp;nbsp;a playing animation by calling the&amp;nbsp;&lt;font color="#ff0000"&gt;&lt;strong&gt;stop &lt;/strong&gt;&lt;/font&gt;method on&amp;nbsp;the Animation Extender Behavior .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; stopAnimation() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
            &lt;font color="#008040" size="4"&gt;&lt;strong&gt;onclkBehavior.stop();&lt;/strong&gt;&lt;/font&gt;
        }&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Quitting A Playing Animation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You&amp;nbsp; can quit&amp;nbsp; playing an animation by calling the&amp;nbsp;&lt;font color="#ff0000"&gt;&lt;strong&gt;quit &lt;/strong&gt;&lt;/font&gt;method on&amp;nbsp;the Animation Extender Behavior .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; quitAnimation() {
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
            &lt;font color="#008040" size="4"&gt;&lt;strong&gt;onclkBehavior.quit();&lt;/strong&gt;&lt;/font&gt;
        }&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;What's the Difference between Stop and Quit ?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Copied Text from the Remarks section of the &lt;strong&gt;&lt;u&gt;Quit&lt;/u&gt;&lt;/strong&gt; Function from AnimationBehavior.JS&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="str"&gt;"Quit differs from the stop function which will update the final state.  The
quit function is most useful for scenarios where you're toggling back and forth
between two animations , like those used in OnHoverOver or OnHoverOut, and
 you don't want to completely finish one animation if its counterpart is triggered"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;strong&gt;&lt;u&gt;Complete Sample&lt;/u&gt;&lt;/strong&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Page Language="C#" AutoEventWireup="true"%&amp;gt;&lt;/span&gt;
&lt;span class="asp"&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit, Version=1.0.10123.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"
    Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="Head1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Controlling Animation With JavaScript&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;var&lt;/span&gt; onclkBehavior ;
        &lt;span class="kwrd"&gt;function&lt;/span&gt; pageLoad()
        {
            onclkBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; playAnimation() {
            
            onclkBehavior.play();
            $get(&lt;span class="str"&gt;"lblCurrentStatus"&lt;/span&gt;).innerText=&lt;span class="str"&gt;"Playing.."&lt;/span&gt;;
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; pauseAnimation()
        {
        
           onclkBehavior.pause();
           $get(&lt;span class="str"&gt;"lblCurrentStatus"&lt;/span&gt;).innerText=&lt;span class="str"&gt;"Paused.."&lt;/span&gt;;
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; stopAnimation() {
            onclkBehavior.stop();
            $get(&lt;span class="str"&gt;"lblCurrentStatus"&lt;/span&gt;).innerText=&lt;span class="str"&gt;"Stopped.."&lt;/span&gt;;
        }
        &lt;span class="kwrd"&gt;function&lt;/span&gt; quitAnimation()
        {
            $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().quit();
            $get(&lt;span class="str"&gt;"lblCurrentStatus"&lt;/span&gt;).innerText=&lt;span class="str"&gt;"Quit.."&lt;/span&gt;;
        }
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="frmScripting"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="purpleButtonClass"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="playAnimation()"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnPlayAnimation"&lt;/span&gt;
                           &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Play"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="purpleButtonClass"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="pauseAnimation()"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnPauseAnimation"&lt;/span&gt;
                           &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Pause"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="purpleButtonClass"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="stopAnimation()"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnStopAnimation"&lt;/span&gt;
                           &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Stop"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="purpleButtonClass"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="quitAnimation()"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnQuitAnimation"&lt;/span&gt;
                           &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Quit"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="lblCurrentStatus"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="demoDivYellow"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    I Move Away
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="controlledAnimation"&lt;/span&gt;
    &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="1.5"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="40"&lt;/span&gt; 
                    &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="style"&lt;/span&gt;  &lt;span class="attr"&gt;PropertyKey&lt;/span&gt;&lt;span class="kwrd"&gt;="height"&lt;/span&gt; 
                    &lt;span class="attr"&gt;StartValue&lt;/span&gt;&lt;span class="kwrd"&gt;="200"&lt;/span&gt;  &lt;span class="attr"&gt;EndValue&lt;/span&gt;&lt;span class="kwrd"&gt;="550"&lt;/span&gt; 
                    &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;font color="#000000" size="4"&gt;Hope this helps someone out there!&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3013645" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Some Useful Links from the  ASP.NET Ajax Forums</title><link>http://blogs.msdn.com/phaniraj/archive/2007/05/10/some-useful-links-from-the-asp-net-ajax-forums.aspx</link><pubDate>Thu, 10 May 2007 23:50:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2529912</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/2529912.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=2529912</wfw:commentRss><description>&lt;p&gt;Hi ,&lt;/p&gt; &lt;p&gt;Over the past couple of months, I have been actively contributing to the Asp.net Ajax forums and have come across some very &lt;/p&gt; &lt;p&gt;&amp;nbsp;weird and challenging problems to solve.Anyone who's been at the forums can tell, the community is VERY Active and helpful when it comes to helping&lt;/p&gt; &lt;p&gt;out your fellow developer . Below is a list of some FAQs that I often encountered and was able to address on the&amp;nbsp; Forums .&lt;/p&gt; &lt;p&gt;Helping someone out with a brain-bender they are stuck on and seeing the issue resolved after some brainstorming is VERY satisfying.&lt;/p&gt; &lt;p&gt;Why am I doing this ? &lt;/p&gt; &lt;p&gt;There is a lot of content on the Forums and I wanna share what I learnt and was able to share with my fellow devs.&lt;/p&gt; &lt;p&gt;Also, I could have blogged about this but felt that its better to point you guys to the place where we learnt about this .&lt;/p&gt; &lt;p&gt;You might find some content duplicated from my Blog , as far as possible I have tried to avoid that and give you guys the unique ones that I have seen.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;a title="Tough ModalPopup Extender Question ( My Favorite )" href="http://forums.asp.net/thread/1578347.aspx" target="_blank"&gt;Tough ModalPopup Extender Question ( My Favorite )&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Assigning Multiple Triggers to an AnimationExtender" href="http://forums.asp.net/thread/1679613.aspx" target="_blank"&gt;Assigning Multiple Triggers to an AnimationExtender&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Execute JavaScript on the client Side Before Showing a ModalPopup" href="http://forums.asp.net/thread/1667827.aspx"&gt;Execute JavaScript on the client Side Before Showing a ModalPopup&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://forums.asp.net/thread/1457306.aspx" target="_blank"&gt;Expand Accordion Pane WITHOUT clicking the header&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Animate an Element's Property in JavaScript" href="http://forums.asp.net/thread/1623283.aspx" target="_blank"&gt;Animate an Element's Property in JavaScript&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Using client side calculated sizes for the Resize animation" href="http://forums.asp.net/thread/1612703.aspx" target="_blank"&gt;Using client side calculated sizes for the Resize animation&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Prevent repeat animation (animationextender) / ConditionalAnimation" href="http://forums.asp.net/thread/1621738.aspx" target="_blank"&gt;Prevent repeat animation (animationextender) / ConditionalAnimation&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="How do I use Animation without server-side controls? (mission impossible??)" href="http://forums.asp.net/thread/1578357.aspx" target="_blank"&gt;How do I use Animation without server-side controls? (mission impossible??)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Hyperlink to a page with Accordion and opening a specific pane" href="http://forums.asp.net/thread/1601837.aspx" target="_blank"&gt;Hyperlink to a page with Accordion and opening a specific pane&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Change visible Accordion Pane using  JavaScript" href="http://forums.asp.net/thread/1597085.aspx" target="_blank"&gt;Change visible Accordion Pane using JavaScript&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Combine Animate and Modal dialog functionality" href="http://forums.asp.net/thread/1597036.aspx" target="_blank"&gt;Combine Animate and Modal dialog functionality&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Create ModalPopupExtender control dynamically client side" href="http://forums.asp.net/thread/1581774.aspx" target="_blank"&gt;Create ModalPopupExtender control dynamically client side&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;As time goes by , I will be putting up another list of issues that I helped on , &lt;/p&gt; &lt;p&gt;these are the unique ( sort-of ) ones that I could find out of all the ones that I answered .&lt;/p&gt; &lt;p&gt;If you are not a part of the Forums , get yourself an account and start helping out !&lt;/p&gt; &lt;p&gt;Hope this helps someone out there !&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2529912" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AutoCompleteExtender/default.aspx">AutoCompleteExtender</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/ModalPopupExtender/default.aspx">ModalPopupExtender</category></item><item><title>HowTo : Change Visible Tab Using JavaScript in the MS AJAX TabControl</title><link>http://blogs.msdn.com/phaniraj/archive/2007/04/16/howto-change-visible-tab-using-javascript-in-the-ms-ajax-tabcontrol.aspx</link><pubDate>Tue, 17 Apr 2007 01:20:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2157741</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>14</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/2157741.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=2157741</wfw:commentRss><description>&lt;p&gt;I have seen this in the forums a lot ..&lt;/p&gt; &lt;p&gt;"How do I change the Visible Tab in the MS AJAX TabControl on the Client-Side using Javascript ?"&lt;/p&gt; &lt;p&gt;Well, I have posted it several times and I think Its time I'd rather point people to a link than write the same piece again and again :-).&lt;/p&gt; &lt;p&gt;So, here you go .....&lt;/p&gt; &lt;p&gt;1) Consider that you have a TabControl on your page by the name of "MyTabs" . &lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabContainer&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="MyTabs"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
//blah blah blah
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabContainer&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;2) &lt;font face="tre"&gt;You can access the Methods exposed by the TabControl by accessing its  behavior.&lt;/font&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;font face="tre"&gt;   The Behavior is not accessible easily . &lt;/font&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;font face="tre"&gt;   The  TabControl has a property called as "control" that provides a way to access the Client-Side Methods of the &lt;/font&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;font face="tre"&gt;   TabControl.&lt;/font&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;   EX: var&lt;/span&gt; tabBehavior = $get(&lt;span class="str"&gt;'&amp;lt;%=MyTabs.ClientID%&amp;gt;'&lt;/span&gt;).control; &lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;font face="tre"&gt;3) once you have a handle to the Tabbehavior , you can use the "set_activeTab" method to set the Active Tab of the TabControl.&lt;/font&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;   EX:tabBehavior.set_activeTabIndex(1); &lt;/pre&gt;&lt;pre class="csharpcode"&gt;4)  You are Done !!&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;Complete  Code for the ChangeTab Function :&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language=&lt;span class="str"&gt;"javascript"&lt;/span&gt;&amp;gt; 

&lt;span class="kwrd"&gt;function&lt;/span&gt; changeTab( tabIndex ){ 
&lt;span class="kwrd"&gt;var&lt;/span&gt; tabBehavior = $get(&lt;span class="str"&gt;'&amp;lt;%=MyTabs.ClientID%&amp;gt;'&lt;/span&gt;).control; 
tabBehavior.set_activeTabIndex(tabIndex); 
}&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;/script&amp;gt; 
&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The Complete Example is posted below :&lt;/pre&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolKit" %&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Select Tabs By Script&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="frmAccessAccordion"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;function&lt;/span&gt; changeTab(){ 
        &lt;span class="rem"&gt;//Get The Index of the Current Selected Index in the DropDownList&lt;/span&gt;
        &lt;span class="kwrd"&gt;var&lt;/span&gt; tabIndex = parseInt( $get(&lt;span class="str"&gt;'&amp;lt;%=dlTabindex.ClientID%&amp;gt;'&lt;/span&gt;).value );
        &lt;span class="rem"&gt;//Get a Handle to the Tab Behavior &lt;/span&gt;
        &lt;span class="kwrd"&gt;var&lt;/span&gt; tabBehavior = $get(&lt;span class="str"&gt;'&amp;lt;%=MyTabs.ClientID%&amp;gt;'&lt;/span&gt;).control; 
        &lt;span class="rem"&gt;//Set the Currently Visible Tab &lt;/span&gt;
        tabBehavior.set_activeTabIndex(tabIndex); 
        }
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        Select Tab To Show :
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:DropDownList&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="dlTabindex"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ListItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="One"&lt;/span&gt; &lt;span class="attr"&gt;Value&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:ListItem&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ListItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Two"&lt;/span&gt; &lt;span class="attr"&gt;Value&lt;/span&gt;&lt;span class="kwrd"&gt;="1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:ListItem&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ListItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Three"&lt;/span&gt; &lt;span class="attr"&gt;Value&lt;/span&gt;&lt;span class="kwrd"&gt;="2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:ListItem&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:DropDownList&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnDynamicAnimate"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Button"&lt;/span&gt; &lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="changeTab();return false;"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="scrpManager"&lt;/span&gt; &lt;span class="attr"&gt;EnablePartialRendering&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabContainer&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="MyTabs"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabPanel&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="tabOne"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    One
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ContentTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    Tab One
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ContentTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabPanel&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="tabTwo"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    Two
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ContentTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    Tab Two
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnServer"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Submit"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ContentTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabPanel&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="tabThree"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    Three
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ContentTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    Tab Three
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="Button1"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Submit"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ContentTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:TabContainer&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2157741" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Components/default.aspx">Components</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/TABContainer/default.aspx">TABContainer</category></item><item><title>MS AJAX AnimationExtender : How Many Ways Do I Play thee ? ( Updated )</title><link>http://blogs.msdn.com/phaniraj/archive/2007/04/13/animations-how-many-ways-do-i-call-thee.aspx</link><pubDate>Fri, 13 Apr 2007 17:23:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2115203</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>16</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/2115203.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=2115203</wfw:commentRss><description>&lt;p&gt;We will discuss the various ways&amp;nbsp; in which one can animate a visual element using the MS AJAX Animation.&lt;/p&gt; &lt;p&gt;The Example would be to resize a div named "queryReply" to have a height of 100px and width of 200px On&amp;nbsp;Click of the&amp;nbsp; Div&amp;nbsp;.&lt;/p&gt; &lt;p&gt;1) &lt;strong&gt;The Simplest Way&amp;nbsp; , Markup &lt;/strong&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateReplyPanes"&lt;/span&gt; 
        &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="queryReply"&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateReplyPanesBehavior"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                       &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;FPS&lt;/span&gt;&lt;span class="kwrd"&gt;="25"&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;="200"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.3"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;This would be the easiest way to&amp;nbsp;attach &amp;nbsp;an animation (&amp;nbsp;ReSize ) to a control&amp;nbsp; ( QueryReply )&amp;nbsp;on an Event ( &lt;span class="html"&gt;OnClick &lt;/span&gt;) .&lt;/p&gt;
&lt;p&gt;When the Div &amp;nbsp;is clicked , the Control "queryReply" is resized to have a height of 100 px and a width of 200px.&lt;/p&gt;
&lt;p&gt;2) The "Not So Simple" Ways via javascript&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a) Call the Static PLAY Method &amp;nbsp;of the Animation Framework to Animate the Control .&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!--AjaxControlToolkit.Animation.ResizeAnimation.play(target, duration, fps, width, height, unit);--&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Play the Animation by calling its static methods&lt;/span&gt;
AjaxControlToolkit.Animation.ResizeAnimation.play( $get(&lt;span class="str"&gt;"queryReply"&lt;/span&gt;) , 0.3 , 25 , 100 , 300 , &lt;span class="str"&gt;"px"&lt;/span&gt; );
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;The Animation will play immediately after this line.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;b) Create an Instance of the Client-Side Animation Extenders to Animate the Control .&lt;/strong&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!--Constructor: new AjaxControlToolkit.Animation.ResizeAnimation(target, duration, fps, width, height, unit); --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Create an instance of the ReSize Animation&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; resizeAnimation = &lt;span class="kwrd"&gt;new&lt;/span&gt; AjaxControlToolkit.Animation.ResizeAnimation( $get(&lt;span class="str"&gt;"queryReply"&lt;/span&gt;) , 0.3 , 25 , 100 , 300 , &lt;span class="str"&gt;"px"&lt;/span&gt;);
&lt;span class="rem"&gt;//Play the Animation just created&lt;/span&gt;
resizeAnimation.play(); &lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;c) Selectively playing the Animation Already defined in Markup for an AnimationExtender on the Page.&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Lets say that you already have animation defined on your page in markup and you want to trigger the animation using Script .&lt;/div&gt;
&lt;div&gt;You achieve this by :&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp; 1) Get a handle to the AnimationExtender's Behavior by using the "$find" method.&lt;/div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Get a handle to the Animation Behavior&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; behaveYourself       = $find(&lt;span class="str"&gt;"animateReplyPanesBehavior"&lt;/span&gt;);
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;div&gt;&amp;nbsp;&amp;nbsp; 2) Based on where the animation is defined ( Onload , OnClick , OnHover&amp;nbsp;, whatever&amp;nbsp;), get a handle to the child Animation Definition.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Get the Animation to be played onClick of the TargetControl &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; onClickAnimation     = behaveYourself.get_OnClickBehavior();
&lt;span class="rem"&gt;//Get the Animation to be played onLoad of the TargetControl &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; onLoadAnimation     = behaveYourself.get_OnLoadBehavior();
&lt;span class="rem"&gt;//Get the Animation to be played onHover of the TargetControl &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; onHoverAnimation     = behaveYourself.get_OnHoverBehavior();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;div&gt;&amp;nbsp;&amp;nbsp; 3) Call the "Play" method on the&amp;nbsp; required Animations Definition.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Play the Animation defined  onClick of the TargetControl &lt;/span&gt;
onClickAnimation.play();
&lt;span class="rem"&gt;//Play the Animation defined  onLoad of the TargetControl &lt;/span&gt;
onLoadAnimation.play();
&lt;span class="rem"&gt;//Play the Animation defined  onHover of the TargetControl &lt;/span&gt;
onHoverAnimation.play();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;d) Set the JSON String for an existing Animation Extender &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Once you declare the Markup as above, you can access the animations that are assigned to the Extender by using the "get_&amp;lt;Event&amp;gt;" Methods on the Behavior .&lt;/p&gt;
&lt;p&gt;EX:&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Get a handle to the Animation Behavior&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; behaveYourself       = $find(&lt;span class="str"&gt;"animateReplyPanesBehavior"&lt;/span&gt;);
&lt;span class="rem"&gt;//Get the Animation to be played onClick of the TargetControl &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; onClickAnimation     = behaveYourself.get_OnClickBehavior();&lt;/pre&gt;&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;Once you have the respective Animation Behavior , you can use the "set_&amp;lt;EVENT&amp;gt;" method to set the Animation JSON String .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The Json String is constucted like this :&lt;/pre&gt;&lt;pre class="csharpcode"&gt;"{
     "AnimationName":"ReSize",
     "Height":"100px",&lt;/pre&gt;&lt;pre class="csharpcode"&gt;     "width":"200px",   
     "unit":"px",
     "duration":"0.3",
     "AnimationTarget":"queryReply",
     "AnimationChildren":[]
 }"&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The AnimationName is the Name of the Animation that you want run .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The AnimationChildren is supposed to be an array of child animations .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The ReSize animation cannot have Child Animations, so the array is empty.&lt;/pre&gt;&lt;pre class="csharpcode"&gt;So, once you have the JSON String, we use the "Set_&amp;lt;Event&amp;gt;" function to set the JSON property of the animation.&lt;/pre&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Construct the JSON String&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; jsonAnimationString =&lt;span class="str"&gt;"{\"AnimationName\":\"ReSize\",\"Height\":\"100px\", "&lt;/span&gt;+
&lt;span class="str"&gt;"\"Width\":\"200\",\"unit\":\"px\",\"duration\":\"0.1"&lt;/span&gt; +
&lt;span class="str"&gt;"\",\"AnimationTarget\":\"queryReply\",\"AnimationChildren\":[]}"&lt;/span&gt;;
&lt;span class="rem"&gt;//Set the JSON of the AnimationExtender to be the JSON String&lt;/span&gt;
behaveYourself.set_OnClick( jsonAnimationString );
&lt;span class="rem"&gt;//Play the Animation&lt;/span&gt;
onClickAnimation.play();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Complete Example :&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ways to Call Animations&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="frmAnimations"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        
            &lt;span class="kwrd"&gt;function&lt;/span&gt; callStaticMethods(){
            &lt;span class="rem"&gt;//Play the Animation by calling its static methods&lt;/span&gt;
            AjaxControlToolkit.Animation.ResizeAnimation.play( $get(&lt;span class="str"&gt;"queryReply"&lt;/span&gt;) , 0.2 , 45 , 200 , 100 , &lt;span class="str"&gt;"px"&lt;/span&gt; );
            }
            
            &lt;span class="kwrd"&gt;function&lt;/span&gt; createInstanceAndPlay(){
            &lt;span class="rem"&gt;//Create an instance of the ReSize Animation&lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; resizeAnimation = &lt;span class="kwrd"&gt;new&lt;/span&gt; AjaxControlToolkit.Animation.ResizeAnimation( $get(&lt;span class="str"&gt;"queryReply"&lt;/span&gt;) , 0.2 , 45 , 200 , 100 , &lt;span class="str"&gt;"px"&lt;/span&gt;);
            &lt;span class="rem"&gt;//Play the Animation just created&lt;/span&gt;
            resizeAnimation.play(); 
            }
            
            &lt;span class="kwrd"&gt;function&lt;/span&gt; SetJSONStringThenPlay(){
            &lt;span class="rem"&gt;//Get a handle to the Animation Behavior&lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; behaveYourself       = $find(&lt;span class="str"&gt;"animateReplyPanesBehavior"&lt;/span&gt;);
            &lt;span class="rem"&gt;//Get the Animation to be played onClick of the TargetControl &lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; onClickAnimation     = behaveYourself.get_OnClickBehavior();
            &lt;span class="rem"&gt;//Construct the JSON String&lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; jsonAnimationString =&lt;span class="str"&gt;"{\"AnimationName\":\"ReSize\",\"Height\":\"100px\", "&lt;/span&gt;+
            &lt;span class="str"&gt;"\"Width\":\"200\",\"unit\":\"px\",\"duration\":\"0.1"&lt;/span&gt; +
            &lt;span class="str"&gt;"\",\"AnimationTarget\":\"queryReply\",\"AnimationChildren\":[]}"&lt;/span&gt;;
            &lt;span class="rem"&gt;//Set the JSON of the AnimationExtender to be the JSON String&lt;/span&gt;
            behaveYourself.set_OnClick( jsonAnimationString );
            &lt;span class="rem"&gt;//Play the Animation&lt;/span&gt;
            onClickAnimation.play();
            }
            
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Call Static Play Method"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="callStaticMethods();"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Create Instance And Play"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="createInstanceAndPlay();"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Set JSON String then Play"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="SetJSONStringThenPlay();"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="queryReply"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color: #ffcc00; position: absolute;
            top: 100px; left: 100px; height: 300px; width: 300px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            Click me to resize me ( Uses Markup )
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="ScriptManager1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateReplyPanes"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="queryReply"&lt;/span&gt;
            &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateReplyPanesBehavior"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="200"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt; &lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="45"&lt;/span&gt; &lt;span class="attr"&gt;unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Resize&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;Hope I helped someone out there looking For this information .&lt;/p&gt;
&lt;p&gt;Well, Happy Coding !!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2115203" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Expirements with Ms AJAX 1 : Plot a Path and follow it</title><link>http://blogs.msdn.com/phaniraj/archive/2007/03/26/expirements-with-ms-ajax-1-plot-a-path-and-follow-it.aspx</link><pubDate>Mon, 26 Mar 2007 11:50:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1950974</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1950974.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1950974</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterEditableSmartContent" id="d49da610-fc34-4988-88d9-3c0a788fd878:e1993fb9-3c44-454f-802d-f718bef150d4" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;embed name="msn_soapbox" pluginspage="http://macromedia.com/go/getflashplayer" src="http://images.soapbox.msn.com/flash/soapbox1_1.swf" width="412" height="362" type="application/x-shockwave-flash" quality="high" wmode="transparent" flashvars="c=v&amp;amp;v=62373c16-4fc1-49f1-9847-edb2c429952a"&gt;&lt;/embed&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;While working on some documentation and presentations for MS AJAX Animation ( wait for it , its gonna rock !!&amp;nbsp;) , I made what you see in the demo video.&lt;/p&gt; &lt;p&gt;Its basic premise is this :&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Allow the User to plot points on a plane  &lt;li&gt;Then trigger an animation that goes over all the points&amp;nbsp; and stops&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Why do this ?&lt;/p&gt; &lt;p&gt;No&amp;nbsp;Perceptible use , pure fun factor&amp;nbsp;.&lt;/p&gt; &lt;p&gt;I just though that it'd be cool to control an animation by clicking on points and asking an element to go to those points .&lt;/p&gt; &lt;p&gt;Well, here you have it .&lt;/p&gt; &lt;p&gt;Once the demo is hosted, you can see the same as an online app.&lt;/p&gt; &lt;p&gt;Take a look at a screenshot .&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/1528719273ab_C948/PlotaPath%5B4%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="400" src="http://blogs.msdn.com/blogfiles/phaniraj/WindowsLiveWriter/1528719273ab_C948/PlotaPath_thumb%5B2%5D.jpg" width="516" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Lets see how we can achieve this ..&lt;/p&gt; &lt;p&gt;We need the following functionality &lt;/p&gt; &lt;ol&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp; Allow the User to plot an arbitrary number of points on a plane  &lt;li&gt;&amp;nbsp; Create an animation that moves to all the points.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;1.Allow the User to plot an arbitrary number of points on a plane &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;The "Plane"&amp;nbsp; would be a DIV element on the page. &lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="pathPallette"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&amp;nbsp;The user plots a point on the plane by clicking on the plane.&lt;/p&gt;
&lt;p&gt;We will have a global collection of points called pointsInpath which will be a javaScript array .&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; pointsInPath = &lt;span class="kwrd"&gt;new&lt;/span&gt; Array();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;We can attach an eventhandler to the Click event of the Div by using the $addHandler function of the Ms AJAX framework&amp;nbsp; explained &lt;a href="http://ajax.asp.net/docs/ClientReference/Global/AddHandlerShortcutMethod.aspx"&gt;Here&lt;/a&gt;&amp;nbsp;.&lt;/p&gt;&lt;pre class="csharpcode"&gt;Syntax: $addHandler(element, eventName, handler);&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;$addHandler($get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;),&lt;span class="str"&gt;"click"&lt;/span&gt;,markPoint);&lt;/pre&gt;&lt;pre class="csharpcode"&gt;We will now define the function "markPoint".&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; markPoint(eventArg)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; evt = window.&lt;span class="kwrd"&gt;event&lt;/span&gt; || eventArg;   &lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; xCoOrd = evt.clientX ;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; yCoOrd = evt.clientY ;&lt;/pre&gt;&lt;pre&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;    Addpoint( xCoOrd , yCoOrd );&lt;/pre&gt;&lt;pre&gt;    createMarker( xCoOrd - $get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;).offsetLeft , yCoOrd - $get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;).offsetTop );&lt;/pre&gt;&lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;MarkPoint&amp;nbsp; calls 2 functions .&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;AddPoint&amp;nbsp; , to add the point to a collection of points 
&lt;li&gt;Createmarker ,to&amp;nbsp; mark the spot as a point on the plane which will be visited by the Animated element&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;AddPoint&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; Addpoint( xCoOrd,yCoOrd)&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    anyMorePoints= &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;    pointsInPath[index++] = &lt;span class="str"&gt;"{\"X\" : \""&lt;/span&gt;+xCoOrd +&lt;span class="str"&gt;"\",\"Y\":\""&lt;/span&gt;+yCoOrd +&lt;span class="str"&gt;"\"}"&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;The AddPoint function recieves the X and Y co-ordinates of the Point in the Element's Path.&lt;/p&gt;
&lt;p&gt;Add the Point to the existing points collection.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Createmarker &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; createMarker( xCoOrd,yCoOrd )&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; newmarker = document.createElement(&lt;span class="str"&gt;"SPAN"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;    newmarker.id = &lt;span class="str"&gt;"marker"&lt;/span&gt;+markeridCounter;    &lt;/pre&gt;&lt;pre class="alt"&gt;    newmarker.className =&lt;span class="str"&gt;"white"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;    newmarker.innerText = markeridCounter;&lt;/pre&gt;&lt;pre class="alt"&gt;    $get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;).appendChild( newmarker );&lt;/pre&gt;&lt;pre&gt;    Sys.UI.DomElement.setLocation( newmarker , xCoOrd , yCoOrd );&lt;/pre&gt;&lt;pre class="alt"&gt;    markeridCounter++;&lt;/pre&gt;&lt;pre&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;This Function creates a &amp;lt;SPAN&amp;gt; element , writes the point # in the span , and positions it in the plane.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;2.Create an animation that moves to all the points&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;strong&gt;&lt;u&gt;Basic algorithm for this step&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp; Get the Point to navigate to 
&lt;li&gt;&amp;nbsp;&amp;nbsp; Set the animation to move to the next point 
&lt;li&gt;&amp;nbsp; Play the animation until there are no more points left &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;The Element that will move to all the points will be another div ( "divMovable" )&amp;nbsp;with a background color&amp;nbsp; assigned to it &lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="height: 15px; width: 15px; position: absolute;
          top: 300px; left: 300px; background-color: #ffcc00;"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="attr"&gt;&amp;amp;nbsp;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The Animation Markup would be to use the Move Animation to move the Element along the points.&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="AnimationExtender1"&lt;/span&gt; &lt;span class="attr"&gt;BehaviorID&lt;/span&gt;&lt;span class="kwrd"&gt;="controlledAnimation"&lt;/span&gt;
            &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;relative&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;  &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;fps&lt;/span&gt;&lt;span class="kwrd"&gt;="40"&lt;/span&gt;   
                        &lt;span class="attr"&gt;horizontalScript&lt;/span&gt; &lt;span class="kwrd"&gt;="getX()"&lt;/span&gt; &lt;span class="attr"&gt;verticalScript&lt;/span&gt; &lt;span class="kwrd"&gt;="getY()"&lt;/span&gt;
                      &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="divMovable"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolkit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;The MoveAnimation would run only once and would also move to only one point , we need to keep changing the destination Points.&lt;/p&gt;
&lt;p&gt;If you notice the horizontalScript ="getX()" verticalScript ="getY()"&amp;nbsp; snippet , the "Script" attribute added to any attribute in the Animation Markup&lt;/p&gt;
&lt;p&gt;would cause the expression to be "eval"ed at runtime allowing us to use Expressions to set properties.&lt;/p&gt;
&lt;p&gt;So, right , the&amp;nbsp; horizontal (X) co-ordinates&amp;nbsp; would be retrieved from the function getX().&lt;/p&gt;
&lt;p&gt;The Vertical (Y) co-ordinates would be retrieved from the function getY().&lt;/p&gt;
&lt;p&gt;The&amp;nbsp; next point the element should move to would be represented by&amp;nbsp; "nextPoint".&lt;/p&gt;
&lt;p&gt;The Function "setNextPoint()" would set the next point in the path.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; getX()
{
    &lt;span class="kwrd"&gt;if&lt;/span&gt;( nextPoint == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
    {
        setNextPoint();
    }
    &lt;span class="kwrd"&gt;return&lt;/span&gt; nextPoint.X;
}&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;p&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; getY()
{
    &lt;span class="kwrd"&gt;return&lt;/span&gt; nextPoint.Y;
}
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/pre&gt;
&lt;p&gt;Once we get the next point to move to , the animation should repeat with the new values for X and Y Co-Ordinates.&lt;/p&gt;
&lt;p&gt;We do this , by hooking a handler to the Ending event of the Animation.&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language=&lt;span class="str"&gt;"javascript"&lt;/span&gt;&amp;gt;
       &lt;span class="kwrd"&gt;var&lt;/span&gt; OnClickBehavior ;
       &lt;span class="kwrd"&gt;function&lt;/span&gt; pageLoad()
       {
           OnClickBehavior = $find(&lt;span class="str"&gt;"controlledAnimation"&lt;/span&gt;).get_OnClickBehavior().get_animation();
           OnClickBehavior.add_ended(continueAnimating);
           $addHandler($get(&lt;span class="str"&gt;"pathPallette"&lt;/span&gt;),&lt;span class="str"&gt;"click"&lt;/span&gt;,markPoint);
      }
  
   &amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;We can hook eventhandlers to the ending event of the Animation by&amp;nbsp; using the "add_ended" method.&lt;/div&gt;
&lt;div&gt;Here , we add the "continueAnimating" function as an eventhandler to the Animation Ending&amp;nbsp; event.&lt;/div&gt;
&lt;div&gt;Then , we call the "play" method on the animation just as it ends, to give a seamless&amp;nbsp;feel to the flow as the element moves along different points.&lt;/div&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; continueAnimating(){
     setNextPoint(); 
     &lt;span class="kwrd"&gt;if&lt;/span&gt;( nextPoint!= &lt;span class="kwrd"&gt;null&lt;/span&gt;){
        OnClickBehavior.play();
     }
}&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Trigger the complete animation sequence by calling the "play" method on the OnclickBehavior &lt;/div&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; playAnimation()
{
    ResetPoints();
    hideAllmarkers();
    setNextPoint();
    OnClickBehavior.play();  
}&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;There you have it , fun and a pretty&amp;nbsp; neat exercise in geometry and also shows you how easy it is to do complex stuff with the MS Ajax Framework.&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1950974" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>How To : Using MS AJAX CaseAnimation in your applications</title><link>http://blogs.msdn.com/phaniraj/archive/2007/03/21/how-to-using-ms-ajax-caseanimation-in-your-applications.aspx</link><pubDate>Wed, 21 Mar 2007 07:08:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1923080</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1923080.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1923080</wfw:commentRss><description>&lt;p&gt;I hang out at the forums a lot .( &lt;a title="http://forums.asp.net/1022/ShowForum.aspx" href="http://forums.asp.net/1022/ShowForum.aspx"&gt;http://forums.asp.net/1022/ShowForum.aspx&lt;/a&gt;&amp;nbsp;), I&amp;nbsp;go by &amp;nbsp;phanatic.&lt;/p&gt; &lt;p&gt;Looking at a couple of threads let me know that there are no examples of the caseAnimation anywhere :-(&lt;/p&gt; &lt;p&gt;Ok, so I built a simple sample which illustrates the use of a CaseAnimation .&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;See demo here &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="d49da610-fc34-4988-88d9-3c0a788fd878:7ea9a5f6-314f-455f-9795-a3ab22217d1a" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;embed src="http://images.soapbox.msn.com/flash/soapbox1_1.swf" quality="high" width="412" height="362" wmode="transparent" name="msn_soapbox" type="application/x-shockwave-flash" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&amp;v=e68c5d0a-bd7d-4dbf-87e8-10f427e7303c"&gt;&lt;/embed&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;So , here we go ....&lt;/p&gt; &lt;p&gt;1) Add a reference to the AjaxControlToolkit to your page.&lt;/p&gt; &lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolKit" %&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;2) Add the AnimationExtender's Markup.&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateDiv"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimate"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;3) We will trigger the animation on the Click of a button &lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;4) The Markup for the Case Animation.&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Case&lt;/span&gt; &lt;span class="attr"&gt;SelectScript&lt;/span&gt;&lt;span class="kwrd"&gt;="ReturnAnimationIndexToPlay()"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;The SelectScript is used to return an index of the child animation to play.&lt;/p&gt;
&lt;p&gt;The indices are Zero-based.&lt;/p&gt;
&lt;p&gt;5) Under the&amp;nbsp; Case Animation , we will put in a couple of child animations .&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt;  &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="style"&lt;/span&gt; &lt;span class="attr"&gt;PropertyKey&lt;/span&gt;&lt;span class="kwrd"&gt;="height"&lt;/span&gt; &lt;span class="attr"&gt;Fps&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;StartValue&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;EndValue&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;Horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="500"&lt;/span&gt;  &lt;span class="attr"&gt;Vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="300"&lt;/span&gt; &lt;span class="attr"&gt;Relative&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="attr"&gt;Unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FadeOut&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt;  &lt;span class="attr"&gt;MinimumOpacity&lt;/span&gt; &lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;MaximumOpacity&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FadeOut&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   &lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;6) End Tags&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Case&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;7) The SelectScript Function ,&amp;nbsp; &lt;strong&gt;ReturnAnimationIndexToPlay.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:&lt;/span&gt; &amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:&lt;/span&gt;             &lt;span class="kwrd"&gt;var&lt;/span&gt; animIndex = -1;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:&lt;/span&gt;             &lt;span class="kwrd"&gt;function&lt;/span&gt; ReturnAnimationIndexToPlay()&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:&lt;/span&gt;             {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:&lt;/span&gt;                 animIndex++;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:&lt;/span&gt;                 animIndex = ( animIndex ) % 3;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:&lt;/span&gt;                 &lt;span class="kwrd"&gt;return&lt;/span&gt; animIndex;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:&lt;/span&gt;             }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:&lt;/span&gt;         &lt;/pre&gt;&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Complete Markup .&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolKit" %&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Case Animation Demo&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;link&lt;/span&gt; &lt;span class="attr"&gt;rel&lt;/span&gt;&lt;span class="kwrd"&gt;="stylesheet"&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="../css/defaultStyles.css"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/css"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        div { position:absolute;}
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="frmCaseAnimation"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; animIndex = -1;
            &lt;span class="kwrd"&gt;function&lt;/span&gt; ReturnAnimationIndexToPlay()
            {
                animIndex++;
                animIndex = ( animIndex ) % 3;
                &lt;span class="kwrd"&gt;return&lt;/span&gt; animIndex;
            }
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="ScrpManager"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimate"&lt;/span&gt; &lt;span class="attr"&gt;OnClientClick&lt;/span&gt;&lt;span class="kwrd"&gt;="return false;"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Animate Using Case Animation"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="animateDiv"&lt;/span&gt; &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnAnimate"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Case&lt;/span&gt; &lt;span class="attr"&gt;SelectScript&lt;/span&gt;&lt;span class="kwrd"&gt;="ReturnAnimationIndexToPlay()"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt;  &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="style"&lt;/span&gt; &lt;span class="attr"&gt;PropertyKey&lt;/span&gt;&lt;span class="kwrd"&gt;="height"&lt;/span&gt; &lt;span class="attr"&gt;Fps&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;StartValue&lt;/span&gt;&lt;span class="kwrd"&gt;="400"&lt;/span&gt; &lt;span class="attr"&gt;EndValue&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Length&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt; &lt;span class="attr"&gt;Horizontal&lt;/span&gt;&lt;span class="kwrd"&gt;="500"&lt;/span&gt;  &lt;span class="attr"&gt;Vertical&lt;/span&gt;&lt;span class="kwrd"&gt;="300"&lt;/span&gt; &lt;span class="attr"&gt;Relative&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="attr"&gt;Unit&lt;/span&gt;&lt;span class="kwrd"&gt;="px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Move&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FadeOut&lt;/span&gt; &lt;span class="attr"&gt;duration&lt;/span&gt;&lt;span class="kwrd"&gt;="0.2"&lt;/span&gt;  &lt;span class="attr"&gt;MinimumOpacity&lt;/span&gt; &lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;MaximumOpacity&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt; &lt;span class="attr"&gt;AnimationTarget&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FadeOut&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Case&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Animations&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ajaxToolKit:AnimationExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="display: block; width: 100px; height: 400px;
            position: absolute; background-color: #000000; color: #FFCC00"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            Paragraph One
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;Hope this helps.&lt;/p&gt;
&lt;p&gt;Feel free to chime in with questions / comments.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1923080" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>HowTo : Sys.Preview.UI.Effects.FadeAnimation</title><link>http://blogs.msdn.com/phaniraj/archive/2007/03/15/howto-sys-preview-ui-effects-fadeanimation.aspx</link><pubDate>Thu, 15 Mar 2007 13:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1886344</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1886344.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1886344</wfw:commentRss><description>&lt;p&gt;The Sys.Preview.UI.Effects &amp;nbsp;Namespace contains a couple of animations that one can use in their applications.&lt;/p&gt; &lt;p&gt;Here , we will talk about how to use the &lt;strong&gt;&lt;u&gt;FadeAnimation &lt;/u&gt;&lt;/strong&gt;thats present in the Sys.Preview.UI.Effects NameSpace.&lt;/p&gt; &lt;p&gt;The Scripts that are to be included are : &lt;/p&gt; &lt;ol&gt; &lt;li&gt;MicrosoftAjax.js&lt;/li&gt; &lt;li&gt;PreviewScript.js&lt;/li&gt; &lt;li&gt;PreviewGlitz.js&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Call the Initialize function to do the same to the Ajax Scripts :-)&lt;/p&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language=&lt;span class="str"&gt;"javascript"&lt;/span&gt;&amp;gt;
    Sys.Application.initialize();
&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Get a handle to the animation Target as a Sys.UI.Control object &lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; domElementVar = &lt;span class="kwrd"&gt;new&lt;/span&gt; Sys.UI.Control( $get(&lt;span class="str"&gt;"animationTarget"&lt;/span&gt;)  );&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Create an instance of the FadeAnimation .&lt;/span&gt;
      &lt;span class="kwrd"&gt;var&lt;/span&gt; fadeAnimation = &lt;span class="kwrd"&gt;new&lt;/span&gt; Sys.Preview.UI.Effects.FadeAnimation();&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Set the Duration &lt;/span&gt;
       fadeAnimation.set_duration( 0.3 );
&lt;span class="rem"&gt;//Set the Animation Target as a Sys.UI.Control object &lt;/span&gt;
        fadeAnimation.set_target( domElementVar );
&lt;span class="rem"&gt;//Set the Animation Effect ( FadeIn / FadeOut )&lt;/span&gt;
        fadeAnimation.set_effect( fadeEffect );
&lt;span class="rem"&gt;//Set the Maximum Opacity Value&lt;/span&gt;
        fadeAnimation.setValue( 70 );
&lt;span class="rem"&gt;//Play the Animation&lt;/span&gt;
        fadeAnimation.play(); &lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;The Complete Example is given below , its also available as a download .&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Fade Animation Using Futures&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="Scripts/MicrosoftAjax.js"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="Scripts/PreviewScript.js"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="Scripts/PreviewGlitz.debug.js"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Fade Out Animate Button --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnFadeOutAnimate"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Fade Out"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="FadeUsingFutures(true )"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- The Fade In Animate Button --&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="btnFadeInAnimate"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt; &lt;span class="kwrd"&gt;="display:none"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Fade In"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="FadeUsingFutures( false )"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    
&lt;span class="rem"&gt;&amp;lt;!-- The Div thats gonna be animated--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="animationTarget"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="width: 400px; height: 400px; background-color: #FFCC00"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;lt;script language=&lt;span class="str"&gt;"javascript"&lt;/span&gt;&amp;gt;
    Sys.Application.initialize();
    
    &lt;span class="rem"&gt;//Get a handle to the animation Target as a Sys.UI.Control object &lt;/span&gt;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; domElementVar = &lt;span class="kwrd"&gt;new&lt;/span&gt; Sys.UI.Control( $get(&lt;span class="str"&gt;"animationTarget"&lt;/span&gt;)  );
    &lt;span class="kwrd"&gt;function&lt;/span&gt; FadeUsingFutures( fadeOut )
    {
        &lt;span class="rem"&gt;//Create an instance of the FadeAnimation .&lt;/span&gt;
        &lt;span class="kwrd"&gt;var&lt;/span&gt; fadeAnimation = &lt;span class="kwrd"&gt;new&lt;/span&gt; Sys.Preview.UI.Effects.FadeAnimation();
        
        &lt;span class="rem"&gt;//Decide whether to Fadein Our FadeOut&lt;/span&gt;
        &lt;span class="kwrd"&gt;var&lt;/span&gt; fadeEffect = fadeOut ?  Sys.Preview.UI.Effects.FadeEffect.FadeOut : Sys.Preview.UI.Effects.FadeEffect.FadeIn ;
           
       &lt;span class="rem"&gt;//Hide / Show the appropriate button(s)&lt;/span&gt;
        $get(&lt;span class="str"&gt;"btnFadeOutAnimate"&lt;/span&gt;).style.display =  fadeOut  ? &lt;span class="str"&gt;"none"&lt;/span&gt;:&lt;span class="str"&gt;"block"&lt;/span&gt;;
        $get(&lt;span class="str"&gt;"btnFadeInAnimate"&lt;/span&gt;).style.display  =  fadeOut  ? &lt;span class="str"&gt;"block"&lt;/span&gt;:&lt;span class="str"&gt;"none"&lt;/span&gt;;
            
       &lt;span class="rem"&gt;//Set the Duration &lt;/span&gt;
       fadeAnimation.set_duration( 0.3 );
       &lt;span class="rem"&gt;//Set the Animation Target as a Sys.UI.Control object &lt;/span&gt;
        fadeAnimation.set_target( domElementVar );
        &lt;span class="rem"&gt;//Set the Animation Effect ( FadeIn / FadeOut )&lt;/span&gt;
        fadeAnimation.set_effect( fadeEffect );
        &lt;span class="rem"&gt;//Set the Maximum Opacity Value&lt;/span&gt;
        fadeAnimation.setValue( 70 );
        &lt;span class="rem"&gt;//Play the Animation&lt;/span&gt;
        fadeAnimation.play(); 
    }
    
    &amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1886344" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/phaniraj/attachment/1886344.ashx" length="55551" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Using MS Ajax Animations From the Client-Side</title><link>http://blogs.msdn.com/phaniraj/archive/2007/03/12/using-ms-ajax-animations-from-the-client-side.aspx</link><pubDate>Mon, 12 Mar 2007 18:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1865612</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1865612.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1865612</wfw:commentRss><description>&lt;P&gt;We&amp;nbsp; will talk about how to use the MS-Ajax Animation Framework &lt;U&gt;without any server-side code.&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;The sample completely illustrates how to instantiate and use the Animation Controls by including the proper script references.&lt;/P&gt;
&lt;P&gt;1) Include the following scripts in your HTML Page&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;MicrosoftAjax.js&amp;nbsp; ( download from &lt;A title="Download Location" href="http://ajax.asp.net/downloads/library/default.aspx?tabid=47&amp;amp;subtabid=471" mce_href="http://ajax.asp.net/downloads/library/default.aspx?tabid=47&amp;amp;subtabid=471"&gt;Here&lt;/A&gt;&amp;nbsp;)&lt;/P&gt;
&lt;P&gt;Timer.js ( downlod from &lt;A title="Download Location" href="http://www.codeplex.com/AtlasControlToolkit/Project/FileDownload.aspx?DownloadId=7711" mce_href="http://www.codeplex.com/AtlasControlToolkit/Project/FileDownload.aspx?DownloadId=7711"&gt;Here&lt;/A&gt;&amp;nbsp;)&lt;/P&gt;
&lt;P&gt;BaseScripts.js&lt;/P&gt;
&lt;P&gt;Common.js &lt;/P&gt;
&lt;P&gt;Animations.js&lt;/P&gt;
&lt;P&gt;AnimationBehavior.js&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Actual HTML &lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;&lt;/PRE&gt;
&lt;DIV class=csharpcode-wrapper&gt;&lt;PRE class=csharpcode&gt;&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/MicrosoftAjax.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Timer.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/BaseScripts.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Animations.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Common.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/AnimationBehavior.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/STYLE&gt;
&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;

&lt;P&gt;2) Call the "Initialize()" function to initialize the Scripts in the HTML Page.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;DIV class=csharpcode-wrapper&gt;&lt;PRE class=csharpcode&gt;&amp;lt;script type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt; 
&amp;lt;!--
Sys.Application.initialize();
--&amp;gt;
&amp;lt;/script&amp;gt;&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode-wrapper, .csharpcode-wrapper pre {
  background-color: #f4f4f4;
  border: solid 1px gray;
  cursor: text;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  margin: 20px 0px 10px 0px;
  max-height: 200px;
  overflow: auto;
  padding: 4px 4px 4px 4px;
  width: 97.5%;
}
.csharpcode-wrapper pre {
  border-style: none;
  margin: 0px 0px 0px 0px;
  overflow: visible;
  padding: 0px 0px 0px 0px;
}
.csharpcode, .csharpcode pre, .csharpcode .alt {
  background-color: #f4f4f4;
  border-style: none;
  color: black;
  font-family: consolas, 'Courier New', courier, monospace;
  font-size: 8pt;
  line-height: 12pt;
  overflow: visible;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.csharpcode pre {
  margin: 0em;
}
.csharpcode .alt {
  background-color: white;
}
.csharpcode .asp {
  background-color: #ffff00;
}
.csharpcode .attr {
  color: #ff0000;
}
.csharpcode .html {
  color: #800000;
}
.csharpcode .kwrd {
  color: #0000ff;
}
.csharpcode .lnum {
  color: #606060;
}
.csharpcode .op {
  color: #0000c0;
}
.csharpcode .preproc {
  color: #cc6633;
}
.csharpcode .rem {
  color: #008000;
}
.csharpcode .str {
  color: #006080;
}
&lt;/STYLE&gt;
&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;3) Create  your animation using the $create Method or use the Static methods of the Animation Library to create animations.&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;&lt;STRONG&gt;&lt;U&gt;Sample HTML&lt;/U&gt;&lt;/STRONG&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;&amp;lt;!&lt;/SPAN&gt;&lt;SPAN class=html&gt;DOCTYPE&lt;/SPAN&gt; &lt;SPAN class=attr&gt;html&lt;/SPAN&gt; &lt;SPAN class=attr&gt;PUBLIC&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;html&lt;/SPAN&gt; &lt;SPAN class=attr&gt;xmlns&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="http://www.w3.org/1999/xhtml"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;head&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;title&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;Animation Repro&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;title&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;head&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;body&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;

    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt; &lt;SPAN class=attr&gt;src&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="ClientScripts/MicrosoftAjax.debug.js"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;type&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="text/javascript"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Timer.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/MicrosoftAjaxWebForms.debug.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/BaseScripts.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Animations.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/Common.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script src=&lt;SPAN class=str&gt;"ClientScripts/AnimationBehavior.js"&lt;/SPAN&gt; type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;input type=&lt;SPAN class=str&gt;"button"&lt;/SPAN&gt; onclick=&lt;SPAN class=str&gt;"Expand(event)"&lt;/SPAN&gt; value=&lt;SPAN class=str&gt;"Expand"&lt;/SPAN&gt; style=&lt;SPAN class=str&gt;"display: block"&lt;/SPAN&gt;
        id=&lt;SPAN class=str&gt;"btnExpand"&lt;/SPAN&gt; /&amp;gt;
    &amp;lt;input type=&lt;SPAN class=str&gt;"button"&lt;/SPAN&gt; onclick=&lt;SPAN class=str&gt;"Contract(event)"&lt;/SPAN&gt; value=&lt;SPAN class=str&gt;"Contract"&lt;/SPAN&gt; style=&lt;SPAN class=str&gt;"display: none"&lt;/SPAN&gt;
        id=&lt;SPAN class=str&gt;"btnContract"&lt;/SPAN&gt; /&amp;gt;
    &amp;lt;div id=&lt;SPAN class=str&gt;"popup"&lt;/SPAN&gt; style=&lt;SPAN class=str&gt;"display: block; cursor: hand; background-color: #ffcc00; height: 100px;
        width: 200px;"&lt;/SPAN&gt; title=&lt;SPAN class=str&gt;"click to hide"&lt;/SPAN&gt;&amp;gt;
        &amp;lt;table style=&lt;SPAN class=str&gt;"width: 100%; height: 100%;"&lt;/SPAN&gt;&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td style=&lt;SPAN class=str&gt;"text-align: center; vertical-align: middle;"&lt;/SPAN&gt;&amp;gt;
                    TEST
                &amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
        &amp;lt;/table&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;script type=&lt;SPAN class=str&gt;"text/javascript"&lt;/SPAN&gt;&amp;gt;


&amp;lt;!--

Sys.Application.initialize();

&lt;SPAN class=kwrd&gt;function&lt;/SPAN&gt; Contract(eventArgument) {

   &lt;SPAN class=rem&gt;//Hack for FireFox&lt;/SPAN&gt;
    &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt;( eventArgument == &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt; )
    {
        eventArgument = &lt;SPAN class=kwrd&gt;event&lt;/SPAN&gt;;
    }
    $get(&lt;SPAN class=str&gt;"btnExpand"&lt;/SPAN&gt;).style.display = &lt;SPAN class=str&gt;"block"&lt;/SPAN&gt;;
    $get(&lt;SPAN class=str&gt;"btnContract"&lt;/SPAN&gt;).style.display = &lt;SPAN class=str&gt;"none"&lt;/SPAN&gt;;
    
    &lt;SPAN class=rem&gt;//ResizeAnimation.play(target, duration, fps, width, height, unit);&lt;/SPAN&gt;
    AjaxControlToolkit.Animation.ResizeAnimation.play($get(&lt;SPAN class=str&gt;"popup"&lt;/SPAN&gt;), 0.3 , 25 , 200 , 100 , &lt;SPAN class=str&gt;"px"&lt;/SPAN&gt; );

}

&lt;SPAN class=kwrd&gt;function&lt;/SPAN&gt; Expand(eventArgument) {

&lt;SPAN class=rem&gt;//Hack for FireFox &lt;/SPAN&gt;
    &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt;( eventArgument == &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt; )
    {
        eventArgument = &lt;SPAN class=kwrd&gt;event&lt;/SPAN&gt;;
    }
    
    $get(&lt;SPAN class=str&gt;"btnExpand"&lt;/SPAN&gt;).style.display = &lt;SPAN class=str&gt;"none"&lt;/SPAN&gt;;
    $get(&lt;SPAN class=str&gt;"btnContract"&lt;/SPAN&gt;).style.display = &lt;SPAN class=str&gt;"block"&lt;/SPAN&gt;;
    
    &lt;SPAN class=rem&gt;//ResizeAnimation.play(target, duration, fps, width, height, unit);&lt;/SPAN&gt;
    AjaxControlToolkit.Animation.ResizeAnimation.play($get(&lt;SPAN class=str&gt;"popup"&lt;/SPAN&gt;), 0.3 , 25 , 400 , 400 , &lt;SPAN class=str&gt;"px"&lt;/SPAN&gt; );
    
    
}
--&amp;gt;
    &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;

&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;body&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;html&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;
&lt;PRE class=csharpcode&gt;&lt;/PRE&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;Check out the Sample Attached to get a feel of how this works.&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;Any questions/comments are welcome &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1865612" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/phaniraj/attachment/1865612.ashx" length="119020" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/Animation/default.aspx">Animation</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Show and Hide ModalPopupExtender from JavaScript</title><link>http://blogs.msdn.com/phaniraj/archive/2007/02/20/show-and-hide-modalpopupextender-from-javascript.aspx</link><pubDate>Tue, 20 Feb 2007 13:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1724614</guid><dc:creator>PhaniRajuYN</dc:creator><slash:comments>30</slash:comments><comments>http://blogs.msdn.com/phaniraj/comments/1724614.aspx</comments><wfw:commentRss>http://blogs.msdn.com/phaniraj/commentrss.aspx?PostID=1724614</wfw:commentRss><description>&lt;P&gt;1) Assign a BehaviourID to the ModalPopupExtender using the BehaviourID attribute. 
&lt;BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;BehaviorID =&lt;SPAN class=str&gt;"ModalBehaviour"&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;

&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2) Use the $find method to get a handle to the Modal Popup Behaviour . 
&lt;BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;$find (&lt;SPAN class=str&gt;"ModalBehaviour"&lt;/SPAN&gt;).&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;

&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;3) Call your hide and show methods on the acquired handle. 
&lt;P&gt;4) The Javascript would look like this. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;&amp;lt;script language=&lt;SPAN class=str&gt;"javascript"&lt;/SPAN&gt;&amp;gt; 

&lt;SPAN class=kwrd&gt;function&lt;/SPAN&gt; ShowModalPopup() 
{
  $find(&lt;SPAN class=str&gt;"ModalBehaviour"&lt;/SPAN&gt;).show(); 
}

&lt;SPAN class=kwrd&gt;function&lt;/SPAN&gt; HideModalPopup() 
{
 $find(&lt;SPAN class=str&gt;"ModalBehaviour"&lt;/SPAN&gt;).hide(); 
}

&amp;lt;/script&amp;gt; 
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;

&lt;SCRIPT type=text/javascript&gt;
    if (typeof window.Delicious == "undefined") window.Delicious = {};
    Delicious.BLOGBADGE_DEFAULT_CLASS = 'delicious-blogbadge-line';
&lt;/SCRIPT&gt;

&lt;SCRIPT src="http://images.del.icio.us/static/js/blogbadge.js" mce_src="http://images.del.icio.us/static/js/blogbadge.js"&gt;&lt;/SCRIPT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1724614" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/phaniraj/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.msdn.com/phaniraj/archive/tags/ModalPopupExtender/default.aspx">ModalPopupExtender</category></item></channel></rss>