<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ajaxian &#187; MooTools</title>
	<atom:link href="http://ajaxian.com/by/topic/mootools/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 02 Feb 2012 22:23:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
    	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>MooTools 1.3 Hits the Street</title>
		<link>http://ajaxian.com/archives/mootools-1-3-hits-the-street</link>
		<comments>http://ajaxian.com/archives/mootools-1-3-hits-the-street#comments</comments>
		<pubDate>Wed, 20 Oct 2010 01:02:07 +0000</pubDate>
		<dc:creator>Rey Bango</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=10441</guid>
		<description><![CDATA[After almost a year in development, the MooTools team announced the release of version 1.3 with major notable enhancements. Slick Selector Engine The biggest update is the inclusion of the new Slick standalone selector engine. The engine was developed by Thomas Aylott, Fabio Costa and Valerio Proietti with accuracy and portability in mind, allowing the <a href="http://ajaxian.com/archives/mootools-1-3-hits-the-street">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>After almost a year in development, the MooTools team <a href="http://mootools.net/blog/2010/10/11/mootools-core-1-3-stable-and-mootools-more-1-3rc/">announced the release of version 1.3</a> with major notable enhancements.</p>
<h3>Slick Selector Engine</h3>
<p>The biggest update is the inclusion of the new <a href="http://github.com/subtleGradient/slick">Slick standalone selector engine</a>. The engine was developed by Thomas Aylott, Fabio Costa and Valerio Proietti with accuracy and portability in mind, allowing the engine to not only provide MooTools developers with excellent selector support but also the ability for it to be included in other projects as well. The MooTools team created over 3,000 tests to ensure that even the most obscure scenarios were considered. The inclusion of Slick also allowed the team to extend the Element method to allow creation of DOM elements using complex CSS selector expressions. Very cool!</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-2');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-2">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> newElement = <span style="color: #003366; font-weight: bold;">new</span> Element<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'div#cow.moo.big[data-size=5]'</span><span style="color:#006600; font-weight:bold;">&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<h3>Core Updates</h3>
<p>The MooTools team also focused on enhancing the core API in preparation for MooTools 2.0 by deprecated every $- prefixed function and nd moving those to the relevant natives namespaces:</p>
<blockquote><p>We have revised the whole base of our library to speed up MooTools, to provide an even more beautiful API and to make our library future-proof. In order to reduce the amount of global variables we have moved all $-prefixed functions into their according namespace ($splat » Array.from, …). In short we think that with 1.3 you are getting the best MooTools experience ever.</p></blockquote>
<h3>New Build Manager</h3>
<p>Building a new version of MooTools has always been easy using the builder and now it's been improved via the <a href="http://github.com/kamicane/packager">new Packager preprocessor</a> which allows you to create custom MooTools builds from Github repositories. It handles code dependencies and already provides support for several MooTools plugins. The new Packager is a PHP 5.2+ library but can also be found as a <a href="http://github.com/anutron/mootools-depender">Python app thanks to Aaron Newton's work</a>.</p>
<h3>MooTools Runner</h3>
<p>To make sure that MooTools continues to adhere to the projects's specifications, <a href="http://cpojer.net">Christoph Pojer</a> &#038; <a href="http://aryweb.nl/">Arian Stolwijk</a> spent some time over the summer building a new spec testing engine called MooTools Runner which has been adopted by all major MooTools projects - Core, More and Slick. The engine is based on <a href="http://pivotal.github.com/jasmine/">Jasmine</a> and runs all specs within just 2 seconds. In addition, code coverage was increased to about 95%, ensuring excellent test coverage for Core.</p>
<h3>Download it!</h3>
<p>Once you're ready, you can grab the latest version of MooTools or roll your own via the following links:</p>
<ul>
<li><a href="http://mootools.net/download">Download MooTools Core 1.3</a></li>
<li>
</li>
<li><a href="http://mootools.net/core/">Build MooTools Core 1.3</a></li>
<li><a href="http://mootools.net/more-rc/">Build MooTools More 1.3RC</a></li>
<li><a href="http://github.com/mootools/mootools-core/wiki/Update-from-1.2-to-1.3">Update from 1.2 to 1.3</a> with 1.2 compatibility.</li>
<li><a href="http://github.com/mootools/mootools-core/wiki/Upgrade-from-1.2-to-1.3">Upgrade from 1.2 to 1.3</a> and drop 1.2 compatibility.</li>
<li>Fork / clone <a href="http://github.com/mootools/mootools-core/tree/1.3">MooTools 1.3 from GitHub</a>, and build it yourself with <a href="http://github.com/kamicane/packager">Packager</a>.</li>
<li><a href="http://github.com/mootools/mootools-core/commits/1.3">Read the commit logs</a> to see precisely what has changed.</li>
<li><a href="http://mootools.net/docs">Browse the Documentation for Core &amp; More.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mootools-1-3-hits-the-street/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>towel.js: momentum drag, simple code</title>
		<link>http://ajaxian.com/archives/towel-js-momentum-drag-simple-code</link>
		<comments>http://ajaxian.com/archives/towel-js-momentum-drag-simple-code#comments</comments>
		<pubDate>Thu, 27 May 2010 11:37:08 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9405</guid>
		<description><![CDATA[Scato Eggen, in honor of Towel Day in the Netherlands, has released an open source framework called towel.js. towel.js is an extension for Mootools, designed to make event-based code easier to write and even more important: easier to read. At the hart of towel.js is a modular helper system called towel, including two helpers called <a href="http://ajaxian.com/archives/towel-js-momentum-drag-simple-code">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Towel_Day"><img src="http://upload.wikimedia.org/wikipedia/commons/1/17/Towelday-Innsbruck.jpg" width="480"/></a></p>
<p>Scato Eggen, in honor of <a href="http://en.wikipedia.org/wiki/Towel_Day">Towel Day</a> in the Netherlands, has released an open source framework called <a href="http://www.toweljs.org/">towel.js</a>.</p>
<p>towel.js is an extension for Mootools, designed to make event-based code easier to write and even more important: easier to read.</p>
<p>At the hart of towel.js is a modular helper system called towel, including two helpers called UI and FX. These helpers produce objects that can be linked together: one object detects whether the mouse button is pressed, the other one changes style attributes. By linking these objects together a whole range of effects can be created and added to a page.</p>
<p>To create a simple momentum effect you only have to wire up code such as this:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-4');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-4">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$ready<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">add</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> dragable = $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'example-skid-dragable'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> down = $towel<span style="color:#006600; font-weight:bold;">&#40;</span>dragable<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">ui</span>.<span style="color: #006600;">down</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> follow = $towel<span style="color:#006600; font-weight:bold;">&#40;</span>dragable<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">fx</span>.<span style="color: #006600;">follow</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> skid = $towel<span style="color:#006600; font-weight:bold;">&#40;</span>dragable<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">phys</span>.<span style="color: #006600;">skid</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; down.<span style="color: #006600;">add</span><span style="color:#006600; font-weight:bold;">&#40;</span>follow<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; down.<span style="color: #006600;">not</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">add</span><span style="color:#006600; font-weight:bold;">&#40;</span>skid<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/towel-js-momentum-drag-simple-code/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MooTools 1.3b1: A &#8220;Slick&#8221; release</title>
		<link>http://ajaxian.com/archives/mootools-1-3b1-a-slick-release</link>
		<comments>http://ajaxian.com/archives/mootools-1-3b1-a-slick-release#comments</comments>
		<pubDate>Thu, 29 Apr 2010 10:20:25 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9172</guid>
		<description><![CDATA[The first beta of MooTools 1.3 has become available. The biggest feature is their new CSS selector engine. They aren't using Sizzle like some of the other boys, but instead have become Slick: Slick is our new, shiny, super fast, exhaustively tested, pure-javascript selector engine. There will probably be a dedicated Slick post in the <a href="http://ajaxian.com/archives/mootools-1-3b1-a-slick-release">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>The first beta of <a href="http://mootools.net/blog/2010/04/27/mootools-1-3-beta-1/">MooTools 1.3</a> has become available. The biggest feature is their new CSS selector engine. They aren't using Sizzle like some of the other boys, but instead have become Slick:</p>
<blockquote><p>
Slick is our new, shiny, super fast, exhaustively tested, pure-javascript selector engine. There will probably be a dedicated Slick post in the following days (or months, given our relaxed release cycles), but here’s a few Slick-facts for those who haven’t checked it out already:</p>
<ul>
<li><em>Slick</em> is a MooTools-family project by MooTools developers <a href="http://subtlegradient.com/">Thomas Aylott</a>, <a href="http://www.meiocodigo.com/">Fabio Costa</a> and <a href="http://mad4milk.net">yours truly</a>. It can be <a href="http://github.com/mootools/slick">forked from github</a>, free of charge!</li>
<li><em>Slick</em> is an incredibly advanced evolution of our previous selector engine.</li>
<li><em>Slick</em> is written using only pure-javascript, none of the MooTools apis are required. It can be used in any project or framework, and it does not require MooTools to function (though the MooTools DOM components do require <em>Slick</em>).</li>
<li><em>Slick</em> is speedy, blows away the 1.2 selector engine by 50%, at least. We will give you detailed data in the post dedicated to <em>Slick</em>.</li>
<li><em>Slick</em> supports every selector you can think of. Seriously, every one of them. I promise you.</li>
<li><em>Slick</em> is customizable, you can make your own pseudo-selectors, your own attribute-selectors, and many more your-own kinds of things.</li>
<li><em>Slick</em> supports reversed combinators. You might not know what they are, but they are pretty darn cool.</li>
<li><em>Slick</em> has a <a href="http://github.com/mootools/slick/blob/master/Slick.Parser.js">detached parser</a>. You can parse a css-style-selector string and get back a property-filled object.</li>
<li><em>Slick</em> perfectly supports XML documents.</li>
<li><em>Slick</em> is slick!</li>
</ul>
</blockquote>
<p>This bleeds into some new APIs too.</p>
<p>For example, what you may have done like this:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-7');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-7">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">new</span> Element<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"input"</span>, <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color: #3366CC;">"id"</span>: <span style="color: #3366CC;">"someID"</span>, <span style="color: #3366CC;">"class"</span>: <span style="color: #3366CC;">"someClass1 someClass2"</span>, <span style="color: #3366CC;">"disabled"</span>: <span style="color: #003366; font-weight: bold;">true</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>you can now do using selectors:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-8');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-8">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">new</span> Element<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"input#someID.someClass1.someClass2[disabled=true]"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>There are other features too:</p>
<blockquote><p>
<b>Globals</b></p>
<p>MooTools 1.3 moves away from the $name functions. Most of the useless ones, such as $chk (god knows why I thought it was a good idea to have $chk), were completely nixed. Some of them moved to the proper object’s namespace ($merge » Object.merge, $pick » Array.prototype.pick). Some others were renamed without the stupid $ in front ($type » typeOf, $defined » nil). In the end, there are a lot less global variables now. You can refer to the 1.3 documentation to have a proper list of what’s changed. Keep in mind that the old version of the methods will still work, by default. There will be a way in the future to “compile” MooTools without the compatibility stuff, but the feature is not ready yet.</p>
<p><b>From types with love</b></p>
<p>Every native type has now a from method that will try to convert every object passed to that type. Array.from, for instance, replaces both $A and $splat. Function.from will return a function that returns the passed in value, if it wasn’t a function itself. String.from… well you know that at this point, don’t you? We also changed how we internally handle Native types, but that should be none of your concerns, since they were handled with private apis anyways.</p>
<p><b>Generating your own MooTools, from your own computer</b></p>
<p>It is now possible, easy, and even perhaps recommended to generate MooTools (and its plugins) yourself. Last few months I’ve been working, on and off, on a pretty advanced projects-builder. It’s called Packager, it supports multiple project dependancies and has a very similar syntax of what’s used in the Forge right now. It’s written in php and you can use it from your php webpages to dynamically include JavaScripts for development, or you can build a single .js for production from the command line.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mootools-1-3b1-a-slick-release/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>MooTouch: jQTouch has a Moo-y contender</title>
		<link>http://ajaxian.com/archives/mootouch</link>
		<comments>http://ajaxian.com/archives/mootouch#comments</comments>
		<pubDate>Wed, 24 Mar 2010 11:06:35 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8764</guid>
		<description><![CDATA[Jacky Nguyen was behind a new website ExpatLiving from Singapore, and as he built out a nice view for iPhone and mobile Webkit folks, he implemented MooTouch. It is still in an early stage, and is asking for input: MooTouch is a cutting-edge JavaScript framework built on top of MooTools that truly brings the experiences <a href="http://ajaxian.com/archives/mootouch">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/uLmjenZtqvg&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/uLmjenZtqvg&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Jacky Nguyen was behind a new website <a href="http://m.expatliving.sg/">ExpatLiving</a> from Singapore, and as he built out a nice view for iPhone and mobile Webkit folks, he implemented MooTouch. It is still in an early stage, and is asking for input:</p>
<blockquote><p>
MooTouch is a cutting-edge JavaScript framework built on top of MooTools that truly brings the experiences of iPhone / iPod Touch native applications to web applications. It is extremely lightweight and highly extensible, designed as a collection of loosely-coupled MooTools classes to handle all users' touch interactions. Key features include:</p>
<p><b>MooTouch.App</p>
<ul>
<li>Full Ajax experience, dynamic content loading on demand, ZERO page refresh or re-direction
</li>
<li>Location hash handling
</li>
<li>History management, makes full use of the browser's back and forward buttons
</li>
<li>Pages transition using Mobile Safari's native CSS3 GPU acceleration
</li>
<li>Automatic hiding of the browser's location bar
</li>
<li>Global event delegation to boost performance, and much more...
</li>
</ul>
<p>Some key behaviors that make the core of MooTouch:</p>
<ul>
<li>MooTouch.Clickable: No more infamous 300ms delay before the "onClick" event is actually fired!
</li>
<li>MooTouch.Scrollable: CSS position:fixed not possible on the iPhone? It was yesterday! Have full control over which content area you want to provide the simulated scrolling feature, with scroll indicators, deceleration &#038; snapping back to boundaries features.
</li>
<li>MooTouch.Swipeable: Bring "onSwipe" event to any DOM element you like, that's how the photo gallery was done
</li>
<li>and more to come...
</li>
</ul>
<p>MooTouch is different from most existing similar libraries thanks to the use-at-will architecture of MooTools. You can simply just pick the pieces you need and combine them the way you like. Also, you can use any existing interface framework like iUI, iWebKit, UiUIKit, etc. for styling and put MooTouch on top to control all users' interactions with any DOM element.</p>
<p>MooTouch is currently still in alpha testing. It will be released under the Open Source MIT License as something I can give back to the great open-web community! All feedbacks are very much welcome.<br />
</b></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mootouch/feed</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>ZooTool by MooTool(s)</title>
		<link>http://ajaxian.com/archives/zootool-by-mootools</link>
		<comments>http://ajaxian.com/archives/zootool-by-mootools#comments</comments>
		<pubDate>Fri, 26 Feb 2010 11:25:12 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Showcase]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8656</guid>
		<description><![CDATA[Bastian Allgeier has developed a beautiful, native looking web application called ZooTool. Zootool is a visual bookmark tool for images, videos, documents and links. It is completely based on Mootools, even though it looks more like a Cappuccino app! Play with it. Enjoy it.]]></description>
			<content:encoded><![CDATA[<p>Bastian Allgeier has developed a beautiful, native looking web application called <a href="http://zootool.com/">ZooTool</a>.</p>
<p>Zootool is a visual bookmark tool for images, videos, documents and links. It is completely based on Mootools, even though it looks more like a Cappuccino app!</p>
<p>Play with it. Enjoy it.</p>
<p><img src="http://ajaxian.com/wp-content/images/zootool.jpg" alt="zootool" title="zootool" width="480" height="306" class="alignnone size-full wp-image-8657"/></p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/zootool-by-mootools/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>MooTools Gets a Plugin Repo, Makes Finding the Right Code Easier</title>
		<link>http://ajaxian.com/archives/mootools-gets-a-plugin-repo-makes-finding-the-right-code-easier</link>
		<comments>http://ajaxian.com/archives/mootools-gets-a-plugin-repo-makes-finding-the-right-code-easier#comments</comments>
		<pubDate>Fri, 11 Dec 2009 16:17:16 +0000</pubDate>
		<dc:creator>Rey Bango</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8211</guid>
		<description><![CDATA[Plugins are a fact of life when it comes to JavaScript libraries. These user-contributed code snippets provide tremendous features &#038; functionality and save developers time by not having to re-invent the wheel. The hard part, though, is trying to filter out which ones are actually useful and compatible with your current library. Finding the right <a href="http://ajaxian.com/archives/mootools-gets-a-plugin-repo-makes-finding-the-right-code-easier">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Plugins are a fact of life when it comes to JavaScript libraries. These user-contributed code snippets provide tremendous features &#038; functionality and save developers time by not having to re-invent the wheel. The hard part, though, is trying to filter out which ones are actually useful and compatible with your current library. Finding the right plugin can at times be a crap shoot. The MooTools team is trying to solve this issue for their community. Yesterday, the <a href="http://mootools.net/">MooTools</a> team <a href="http://mootools.net/blog/2009/12/10/the-official-mootools-plugins-repository-is-here/">launched the official MooTools plugin repository</a> called <a href="http://mootools.net/forge">MooTools Forge</a> which aims to simplify finding the right MooTools plugin for your project.</p>
<blockquote><p>For people trying to find plugins, we wanted a simple interface with visual focus on what’s available. Going through lists of plugins whose names are not always that intuitive or descriptive is both boring and inefficient. You might find yourself opening dozens of tabs just to see what the plugin can potentially offer. We want to try and put all the information you need to make a choice right in one place.</p></blockquote>
<p>Focus has been given to making it easy see a demo, download plugins, and understanding how plugins actually work along with integration with GitHub to allow developers to easily manage their code.</p>
<p><a href="http://mootools.net/forge"><img src="http://ajaxian.com/wp-content/images/mtforge_screenshot.png" alt="mtforge_screenshot" title="mtforge_screenshot" width="416" height="288" class="alignleft size-full wp-image-8221"  /></a></p>
<p style="clear:both;overflow:auto;">Check out the video below for an overview of the MooTools Forge:</p>
<p><object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0' width='450' height='345'><param name='movie' value='http://screenr.com/Content/assets/screenr_1116090935.swf' ></param><param name='flashvars' value='i=32643' ></param><param name='allowFullScreen' value='true' ></param><embed src='http://screenr.com/Content/assets/screenr_1116090935.swf' flashvars='i=32643' allowFullScreen='true' width='450' height='345' pluginspage='http://www.macromedia.com/go/getflashplayer' ></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mootools-gets-a-plugin-repo-makes-finding-the-right-code-easier/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Friday Fun; Scroll Clock</title>
		<link>http://ajaxian.com/archives/friday-fun-scroll-clock</link>
		<comments>http://ajaxian.com/archives/friday-fun-scroll-clock#comments</comments>
		<pubDate>Fri, 20 Nov 2009 12:35:51 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=7956</guid>
		<description><![CDATA[This is in the crazy but fun category, so I had to post this on a Friday. Toki Woki Scroll Clock: Amazing what folks do with div overflows :) All in a few lines of MooTools-used-JS: PLAIN TEXT JAVASCRIPT: &#160; var h1, h2, m1, m2, s1, s2; window.addEvent&#40;'domready', function&#40;&#41; &#123; &#160; &#160; &#160; &#160; h1=new <a href="http://ajaxian.com/archives/friday-fun-scroll-clock">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>This is in the crazy but fun category, so I had to post this on a Friday. <a href="http://toki-woki.net/p/scroll-clock/">Toki Woki Scroll Clock</a>:</p>
<p><img src="http://ajaxian.com/wp-content/images/scrollclock.png" alt="scrollclock" title="scrollclock" width="500" height="150" class="alignnone size-full wp-image-7957" /></p>
<p>Amazing what folks do with div overflows :)</p>
<p>All in a few lines of MooTools-used-JS:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-10');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-10">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> h1, h2, m1, m2, s1, s2;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">window.<span style="color: #006600;">addEvent</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'domready'</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; h1=<span style="color: #003366; font-weight: bold;">new</span> Digit<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; h2=<span style="color: #003366; font-weight: bold;">new</span> Digit<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; m1=<span style="color: #003366; font-weight: bold;">new</span> Digit<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; m1.<span style="color: #006600;">pushRight</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; m2=<span style="color: #003366; font-weight: bold;">new</span> Digit<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; s1=<span style="color: #003366; font-weight: bold;">new</span> Digit<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; s1.<span style="color: #006600;">pushRight</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; s2=<span style="color: #003366; font-weight: bold;">new</span> Digit<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'main'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">adopt</span><span style="color:#006600; font-weight:bold;">&#40;</span>h1.<span style="color: #006600;">getElement</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, h2.<span style="color: #006600;">getElement</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, m1.<span style="color: #006600;">getElement</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, m2.<span style="color: #006600;">getElement</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, s1.<span style="color: #006600;">getElement</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, s2.<span style="color: #006600;">getElement</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; showTime<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; setInterval<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'showTime()'</span>, <span style="color:#800000;">1000</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> showTime<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> now=<span style="color: #003366; font-weight: bold;">new</span> Date<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; h1.<span style="color: #006600;">show</span><span style="color:#006600; font-weight:bold;">&#40;</span>now.<span style="color: #006600;">getHours</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>/<span style="color:#800000;">10</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; h2.<span style="color: #006600;">show</span><span style="color:#006600; font-weight:bold;">&#40;</span>now.<span style="color: #006600;">getHours</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; m1.<span style="color: #006600;">show</span><span style="color:#006600; font-weight:bold;">&#40;</span>now.<span style="color: #006600;">getMinutes</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>/<span style="color:#800000;">10</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; m2.<span style="color: #006600;">show</span><span style="color:#006600; font-weight:bold;">&#40;</span>now.<span style="color: #006600;">getMinutes</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; s1.<span style="color: #006600;">show</span><span style="color:#006600; font-weight:bold;">&#40;</span>now.<span style="color: #006600;">getSeconds</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>/<span style="color:#800000;">10</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; s2.<span style="color: #006600;">show</span><span style="color:#006600; font-weight:bold;">&#40;</span>now.<span style="color: #006600;">getSeconds</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> barDim=<span style="color:#800000;">120</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> sbDim=<span style="color:#800000;">18</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> Bar = <span style="color: #003366; font-weight: bold;">new</span> <span style="color: #003366; font-weight: bold;">Class</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; initialize: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>dir<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">dir</span> = dir;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> dim=dir==<span style="color: #3366CC;">'v'</span> ? barDim : <span style="color:#006600; font-weight:bold;">&#40;</span>Browser.<span style="color: #006600;">Engine</span>.<span style="color: #006600;">gecko</span> ? barDim : barDim+sbDim<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">holder</span>=<span style="color: #003366; font-weight: bold;">new</span> Element<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'div'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span>styles:<span style="color:#006600; font-weight:bold;">&#123;</span>width:dir==<span style="color: #3366CC;">'h'</span> ? dim : sbDim, height:dir==<span style="color: #3366CC;">'h'</span> ? sbDim : dim, overflow:<span style="color: #3366CC;">'auto'</span>, float:<span style="color: #3366CC;">'left'</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">content</span>=<span style="color: #003366; font-weight: bold;">new</span> Element<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'div'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span>html:<span style="color: #3366CC;">'&amp;nbsp;'</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">activate</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">true</span>, <span style="color: #003366; font-weight: bold;">true</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">holder</span>.<span style="color: #006600;">adopt</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">content</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; activate:<span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>b, now<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> side=<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">dir</span>==<span style="color: #3366CC;">'h'</span> ? <span style="color: #3366CC;">'width'</span> : <span style="color: #3366CC;">'height'</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>now<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">content</span>.<span style="color: #006600;">setStyle</span><span style="color:#006600; font-weight:bold;">&#40;</span>side, b ? barDim+sbDim : barDim/<span style="color:#800000;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">content</span>.<span style="color: #006600;">tween</span><span style="color:#006600; font-weight:bold;">&#40;</span>side, b ? barDim*<span style="color:#800000;">2</span> : barDim/<span style="color:#800000;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; getElement:<span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">holder</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> HBar = <span style="color: #003366; font-weight: bold;">new</span> <span style="color: #003366; font-weight: bold;">Class</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">Extends</span>: Bar,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; initialize: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">parent</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'h'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">holder</span>.<span style="color: #006600;">setStyles</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color: #3366CC;">'margin-left'</span>: sbDim, <span style="color: #3366CC;">'margin-right'</span>: sbDim<span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> VBar = <span style="color: #003366; font-weight: bold;">new</span> <span style="color: #003366; font-weight: bold;">Class</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">Extends</span>: Bar,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; initialize: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">parent</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'v'</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; pushRight:<span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">holder</span>.<span style="color: #006600;">setStyle</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'margin-left'</span>, barDim<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> Digit=<span style="color: #003366; font-weight: bold;">new</span> <span style="color: #003366; font-weight: bold;">Class</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; initialize: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> holder=<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">holder</span>=<span style="color: #003366; font-weight: bold;">new</span> Element<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'div'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span>styles:<span style="color:#006600; font-weight:bold;">&#123;</span>width: barDim+<span style="color:#800000;">2</span>*sbDim, float:<span style="color: #3366CC;">'left'</span>, <span style="color: #3366CC;">'margin-right'</span>:<span style="color:#800000;">20</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">bars</span>=<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color: #003366; font-weight: bold;">new</span> HBar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color: #003366; font-weight: bold;">new</span> VBar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color: #003366; font-weight: bold;">new</span> VBar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color: #003366; font-weight: bold;">new</span> HBar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color: #003366; font-weight: bold;">new</span> VBar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color: #003366; font-weight: bold;">new</span> VBar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color: #003366; font-weight: bold;">new</span> HBar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#93;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">bars</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color: #006600;">pushRight</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">bars</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">5</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color: #006600;">pushRight</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">bars</span>.<span style="color: #006600;">each</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>it<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span>holder.<span style="color: #006600;">adopt</span><span style="color:#006600; font-weight:bold;">&#40;</span>it.<span style="color: #006600;">getElement</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">lights</span>=<span style="color:#006600; font-weight:bold;">&#91;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color: #009900; font-style: italic;">//0</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">0</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color: #009900; font-style: italic;">//1</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color: #009900; font-style: italic;">//2</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color: #009900; font-style: italic;">//3</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color: #009900; font-style: italic;">//4</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color: #009900; font-style: italic;">//5</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color: #009900; font-style: italic;">//6</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color: #009900; font-style: italic;">//7</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color: #009900; font-style: italic;">//8</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">0</span>, <span style="color:#800000;">1</span>, <span style="color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color: #009900; font-style: italic;">//9</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#93;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; show: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>n<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; n=Math.<span style="color: #006600;">floor</span><span style="color:#006600; font-weight:bold;">&#40;</span>n<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; n=n%<span style="color:#800000;">10</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> light=<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">lights</span><span style="color:#006600; font-weight:bold;">&#91;</span>n<span style="color:#006600; font-weight:bold;">&#93;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">bars</span>.<span style="color: #006600;">each</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>it, index<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; it.<span style="color: #006600;">activate</span><span style="color:#006600; font-weight:bold;">&#40;</span>light<span style="color:#006600; font-weight:bold;">&#91;</span>index<span style="color:#006600; font-weight:bold;">&#93;</span>==<span style="color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; pushRight:<span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">holder</span>.<span style="color: #006600;">setStyle</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'margin-left'</span>, <span style="color: #3366CC;">'50px'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; getElement:<span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">holder</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/friday-fun-scroll-clock/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>MooTools Call to Upgrade</title>
		<link>http://ajaxian.com/archives/mootools-call-to-upgrade</link>
		<comments>http://ajaxian.com/archives/mootools-call-to-upgrade#comments</comments>
		<pubDate>Wed, 04 Nov 2009 20:51:49 +0000</pubDate>
		<dc:creator>Rey Bango</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=7869</guid>
		<description><![CDATA[A change in Firefox 3.6 has prompted a call to upgrade from the MooTools team. Earlier versions of the library used the document.getBoxObjectFor method for browser detection but as of Firefox 3.6, that method has been deprecated and no longer available: The reason we stress the upgrade to MooTools 1.2.4 and MooTools 1.1.2 is the <a href="http://ajaxian.com/archives/mootools-call-to-upgrade">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>A change in Firefox 3.6 <a href="http://mootools.net/blog/2009/11/02/upgrade-mootools/">has prompted a call to upgrade from the MooTools team</a>. Earlier versions of the library used the document.getBoxObjectFor method for browser detection but as of Firefox 3.6, that method has been deprecated and no longer available:</p>
<blockquote><p>The reason we stress the upgrade to MooTools 1.2.4 and MooTools 1.1.2 is the removal of the document.getBoxObjectFor method in the upcoming Mozilla Firefox 3.6 release. Within the browser detection code of MooTools 1.1 and earlier versions of 1.2, MooTools attempts to identify the Gecko engine by checking for the existence of document.getBoxObjectFor. Mozilla’s removal of this method in Firefox 3.6 effectively breaks Gecko detection in MooTools 1.1 and MooTools 1.2.3 down. </p></blockquote>
<p>MooTools 1.1.2 and MooTools 1.2.4 now use the user agent string to detect the browser in use which helps to eliminate the issue. <a href="http://mootools.net/blog/2009/11/02/upgrade-mootools/">The team urges all MooTools developers to upgrade</a> as soon as possible to ensure that your applications continue to function as expected. The updates are 100% compatible with their previous versions.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mootools-call-to-upgrade/feed</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Cloudera Desktop, MooTools Update</title>
		<link>http://ajaxian.com/archives/cloudera-desktop-mootools-update</link>
		<comments>http://ajaxian.com/archives/cloudera-desktop-mootools-update#comments</comments>
		<pubDate>Tue, 20 Oct 2009 13:30:09 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Showcase]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=7726</guid>
		<description><![CDATA[Aaron Newton of MooTools fame is now at Cloudera, the awesome Hadoop startup, and has posted about the rich Cloudera Desktop project he has been working on. In the post he discusses the implementation and how it uses new features in the new MooTools 1.2.4 release such as: MooTools Depender MooTools ships with a dependency <a href="http://ajaxian.com/archives/cloudera-desktop-mootools-update">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Aaron Newton of MooTools fame is now at <a href="http://cloudera.com/">Cloudera</a>, the awesome Hadoop startup, and has posted about the rich <a href="http://www.cloudera.com/blog/2009/10/19/cloudera-desktop-and-mootools/">Cloudera Desktop</a> project he has been working on.</p>
<p><object width="400" height="220"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6807814&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6807814&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="220"></embed></object></p>
<p>In the post he discusses the implementation and how it uses new features in the <a href="http://mootools.net/blog/2009/10/19/mootools-1-2-4/">new MooTools 1.2.4 release</a> such as:</p>
<p><b>MooTools Depender</b></p>
<blockquote><p>
MooTools ships with a dependency map that powers <a href="http://mootools.net/download">its download builder</a>. The modular nature of the library yields itself to custom builds, putting together a library specific to the task at hand. This allows MooTools to power, for instance, a mobile application with only a small amount of JavaScript. For the Cloudera Desktop, we knew we were going to end up with a LOT of JavaScript, and loading it all on startup didn’t make much sense. Instead, we authored the Depender application. It’s an easy-to-deploy, real-time library builder and dependency mapper. This allows our application to load with a minimum of JavaScript. When users launch specific applications, Depender loads any dependencies for that app that aren’t loaded already, and then display the application. In addition to the server side component (available in both PHP and Python/Django), there are two client side components: a <a href="http://github.com/mootools/mootools-more/blob/master/Docs/Core/Depender.md">stand alone version to be released in MooTools 1.2.4</a> and a server side application that ships with <a href="http://github.com/anutron/mootools-depender/blob/master/client/Docs/Depender.Client.md">a client that talks to the server for you</a>, which lets you do this slickness:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-12');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-12">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">Depender.<span style="color: #006600;">require</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; scripts: <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color: #3366CC;">'DatePicker'</span>, <span style="color: #3366CC;">'Logger'</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color: #009900; font-style: italic;">//array or single string for one item</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; callback: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">//your code that needs DatePicker and Logger</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">//later, you need to load more dependencies...</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">Depender.<span style="color: #006600;">require</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; scripts: <span style="color: #3366CC;">'Fx.Reveal'</span>, <span style="color: #009900; font-style: italic;">//array or single string for one item</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; callback: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">//if, for some reason, Fx.Reveal is available already,</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">//then this function will exeute immediately, otherwise it will</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">//wait for the requirements to load</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'someElement'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">reveal</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
</blockquote>
<p><b>MooTools ART</b></p>
<p><img src="http://www.cloudera.com/blog/wp-content/uploads/2009/10/picture-2.png" width="500"/> </p>
<blockquote>
<p>MooTools at the moment doesn’t have an official, public UI system, but that’s changing, and in no small part due to our contributions to the <a href="http://github.com/anutron/art">MooTools ART</a> project. MooTools ART is an in-development UI library that currently outputs <a href="https://developer.mozilla.org/en/HTML/Canvas">canvas</a>. It’s an abstraction of the canvas API and it allows developers to make style-able UI elements like buttons, windows, and icons. At the moment it only outputs to canvas (limiting its support to browsers other than Internet Explorer), but we’re working on wrappers for VML and SVG.</p>
<p>In addition to these drawing tools provided by the ART API is a widget-based system that has numerous features including keyboard management, event bubbling, custom styling, and more. This widget system is the foundation for many of our UI elements, though not all of them. While the basic ART API was developed by the core MooTools Team (of which I am a part), we’ve contributed most of the widgets available in the library built with that API, including a window manager, a history interface, pop-ups for alert, confirm, and prompt, split views and more.</p>
</blockquote>
<p>What are the major changes in MooTools 1.2.4?</p>
<ul>
<li>Browser feature detection favoured over browser user agent sniffing
</li>
<li>Added Trident 6 (IE8) detection
</li>
<li>Request can take an instance of URI as a url
</li>
<li>JSON.stringify and JSON.parse native methods are now accessible
</li>
<li>DomReady always fires before load event
</li>
<li>Fix for creating a Request in early versions of IE6
</li>
<li>Fixes and optimizations for Element.getOffsets
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/cloudera-desktop-mootools-update/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Moousture: mouse gesture library</title>
		<link>http://ajaxian.com/archives/moousture</link>
		<comments>http://ajaxian.com/archives/moousture#comments</comments>
		<pubDate>Fri, 05 Jun 2009 11:56:44 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6883</guid>
		<description><![CDATA[Zohaib Sibt-e-Hassan has created a Mootools based mouse gesture library Moousture that is based on simplicity: A probe, which probes the pointing device. Currently there is a Moousture.MouseProbe (P.S. I am planning to test it on iPhone and build any seprate probe for that). A&#160;monitor, which tests the stability of probed device on given intervals <a href="http://ajaxian.com/archives/moousture">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/uploads/moousture.png" alt="" title="moousture" width="500" height="290" class="alignnone size-full wp-image-6885" /></p>
<p>Zohaib Sibt-e-Hassan has created a Mootools based mouse gesture library <a href="http://neofreeman.freepgs.com/Moousture/">Moousture</a> that is based on simplicity:</p>
<ul>
<li> A probe, which probes the pointing device. Currently there<br />
is a Moousture.MouseProbe (P.S. I am planning to test it on iPhone and<br />
build any seprate probe for that).</li>
<li> A&nbsp;monitor, which tests the stability of probed<br />
device on given intervals and accordingly notifies Moousture events<br />
(onStable, onUnstable, onMove).</li>
<li> A Moousture recorder class that records the mouse<br />
movements and invoke the guesture object passed to it.</li>
</ul>
<p>You can easily work with gestures:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-14');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-14">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Create a guesture matcher, currently there are only two gesture objects Moousture.LevenMatcher, and Moousture.ReducedLevenMatcher.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">gstr = <span style="color: #003366; font-weight: bold;">new</span> Moousture.<span style="color: #006600;">ReducedLevenMatcher</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Add gesture vectors to matcher object, (see details below in Create your own gestures).</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">gstr.<span style="color: #006600;">addGesture</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">3</span>,<span style="color:#800000;">2</span>,<span style="color:#800000;">1</span>,<span style="color:#800000;">0</span>,<span style="color:#800000;">7</span>,<span style="color:#800000;">6</span>,<span style="color:#800000;">5</span>,<span style="color:#800000;">4</span><span style="color:#006600; font-weight:bold;">&#93;</span>, ccwCircle<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Guesture callback function takes one parameter error recieved from matching algorithm. Threshold that value (if required) to make your gestures more sleek.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> ccwCircle<span style="color:#006600; font-weight:bold;">&#40;</span>error<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span>error&gt;= <span style="color:#800000;">0</span>.<span style="color:#800000;">6</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color: #000066; font-weight: bold;">return</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; ...</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Create a probe object that will probe the pointing device. Currently there is a mouse probe that take the $(element) to probe for. So passing a div id will cause the probe to trigger events only when they occur on the passed DOM element.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">probe = <span style="color: #003366; font-weight: bold;">new</span> Moousture.<span style="color: #006600;">MouseProbe</span><span style="color:#006600; font-weight:bold;">&#40;</span>$<span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Create a recoder object to record the movement , maxSteps and minSteps in options object will specify the maximum and minimum number of steps to be recorded, and macher is required matcher object to trigger the appropriate gesture.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">recorder = <span style="color: #003366; font-weight: bold;">new</span> Moousture.<span style="color: #006600;">Recorder</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span>maxSteps: <span style="color:#800000;">20</span>, minSteps: <span style="color:#800000;">8</span>, matcher: gstr<span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Create a monitor specifying the interval to poll and the amount of error allowed for gesture in pixels.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">monitor = <span style="color: #003366; font-weight: bold;">new</span> Moousture.<span style="color: #006600;">Monitor</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">30</span>, <span style="color:#800000;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Finally start the monitor.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">monitor.<span style="color: #006600;">start</span><span style="color:#006600; font-weight:bold;">&#40;</span>probe, recorder<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// You can stop the gesture triggering any time by calling .stop() of monitor object.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">monitor.<span style="color: #006600;">stop</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/moousture/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>jQuery vs. MooTools</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools</link>
		<comments>http://ajaxian.com/archives/jquery-vs-mootools#comments</comments>
		<pubDate>Wed, 20 May 2009 12:31:33 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6820</guid>
		<description><![CDATA[Normally when you see a title like jQuery vs. MooTools you get ready for the flame bait. You would expect it even more so if you found out that someone from one of the frameworks wrote the post! Well, Aaron Newton did just that, and I think he did a very good job at trying <a href="http://ajaxian.com/archives/jquery-vs-mootools">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Normally when you see a title like <a href="http://jqueryvsmootools.com/">jQuery vs. MooTools</a> you get ready for the flame bait. You would expect it even more so if you found out that someone from one of the frameworks wrote the post!</p>
<p>Well, Aaron Newton did <a href="http://www.clientcide.com/3rd-party-libraries/jquery-vs-mootools-mootools-vs-jquery/">just that</a>, and I think he did a very good job at trying to keep as unbiased as possible. He can never be perfect since he has a certain viewpoint, and in fact in some ways when you come from that view you can easily under-share your points.</p>
<p>This isn't a rushed piece. Aaron has been thinking about these things for quite some time, and has really pondered it.</p>
<p>It is a fairly long piece, and includes:</p>
<ul>
<li><a href="http://jqueryvsmootools.com/#mottos">The Mottos Say It All</a></li>
<li><a href="http://jqueryvsmootools.com/#learning">The Learning Curve and The Community</a></li>
<li><a href="http://jqueryvsmootools.com/#javascript">What JavaScript Is Good For</a></li>
</ul>
<ul>
<li><a href="http://jqueryvsmootools.com/#dom">More Than Just The DOM</a></li>
<li><a href="http://jqueryvsmootools.com/#inheritance">Inheritance with JavaScript</a></li>
<li><a href="http://jqueryvsmootools.com/#self">Self Reference</a></li>
</ul>
<li><a href="http://jqueryvsmootools.com/#jsfun">MooTools Makes JavaScript Itself More Fun</a></li>
<li><a href="http://jqueryvsmootools.com/#domfun">jQuery Makes the DOM More Fun</a></li>
<li><a href="http://jqueryvsmootools.com/#cando">Anything You Can Do I Can Do Better</a></li>
<li><a href="http://jqueryvsmootools.com/#yourway">MooTools Lets You Have It Your Way</a></li>
<li><a href="http://jqueryvsmootools.com/#chaining">Chaining as a Design Pattern</a></li>
<li><a href="http://jqueryvsmootools.com/#reuse">Reusing Code with jQuery</a></li>
<li><a href="http://jqueryvsmootools.com/#classes">Reusing Code with MooTools</a>
<ul>
<li><a href="http://jqueryvsmootools.com/#mooinheritance">MooTools and Inheritance</a></li>
<li><a href="http://jqueryvsmootools.com/#extension">Extending and Implementing Classes</a></li>
</ul>
</li>
<li><a href="http://jqueryvsmootools.com/#conclusion">Decision Time</a></li>
<li><a href="http://jqueryvsmootools.com/#discussion">Discussion</a></li>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-vs-mootools/feed</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Two MooTools Plugins for Better File Management</title>
		<link>http://ajaxian.com/archives/two-mootools-plugins-for-better-file-management</link>
		<comments>http://ajaxian.com/archives/two-mootools-plugins-for-better-file-management#comments</comments>
		<pubDate>Mon, 04 May 2009 18:46:25 +0000</pubDate>
		<dc:creator>Rey Bango</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6761</guid>
		<description><![CDATA[We've posted before about Harald Kirschner's excellent MooTools plugin FancyUpload which provides extensive functionality for handling file uploads. His newest update, FancyUpload v3.0, is a complete rewrite and includes a wealth of new features: The API with, separated uploader and file classes, allows an easy implementation in all kind of interfaces Events are dispatched for <a href="http://ajaxian.com/archives/two-mootools-plugins-for-better-file-management">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://digitarald.de/project/fancyupload/"><img src="http://ajaxian.com/wp-content/uploads/fancyupload1.png" alt="" title="fancyupload1" width="290" height="100" class="alignnone size-full wp-image-6764" /></a></p>
<p>We've posted before about <a href="http://digitarald.de">Harald Kirschner's</a> excellent <a href="http://mootools.net/">MooTools</a> plugin <a href="http://digitarald.de/project/fancyupload/">FancyUpload</a> which provides extensive functionality for handling file uploads. His newest update, FancyUpload v3.0, is a complete rewrite and includes a wealth of new features:</p>
<ul>
<li>The API with, separated uploader and file classes, allows an easy implementation in all kind of interfaces</li>
<li>Events are dispatched for every step of the uploading process, to keep the interface as responsive as possible</li>
<li>Progress tracks the loaded size, upload-rate, estimated time and other values for every file and for the batch as a whole</li>
<li>File uploads can be stopped, restarted or removed anytime</li>
<li>New Iframe-based class for multiple, asynchronous uploads without dependency on Flash</li>
<li>Compatible with Flash 9 and 10 with the browse button as a transparent overlay or as an interactive image sprite</li>
<li>Ability to change the upload URL and add <code>POST/GET</code> data on runtime, customized for every file or the whole process</li>
<li>Easy to localize to your favourite language with <a href="http://mootools.net/docs/more/Core/Lang">MooTools.lang</a>, <a href="http://digitarald.de/forums/">share</a> your translations with others.</li>
</ul>
<p>To see the uploader in action, Harald has started a <a href="http://digitarald.de/project/fancyupload/#showcases">showcase of demos</a> which provide excellent examples of the plugins capabilities</p>
<h3>MooTools based FileManager </h3>
<p>Piggy-backing on Harald's work, <a href="http://og5.net/christoph/">Christoph Pojer</a> extended it further by creating a new plugin that provides <a href="http://og5.net/christoph/article/MooTools_based_FileManager">impressive file managing capabilities</a> for your server. </p>
<p><a href="http://og5.net/christoph/article/MooTools_based_FileManager"><img src="http://ajaxian.com/wp-content/uploads/filemanager_moo.gif" alt="" title="filemanager_moo" width="300" height="168" class="alignnone size-medium wp-image-6768" /></a></p>
<ul>
<li>Browse through Files and Folders on your Server</li>
<li>Rename, Delete, Move (Drag&amp;Drop), Copy (Drag + hold CTRL) and Download Files</li>
<li>View detailed Previews of Images, Text-Files, Compressed-Files or Audio Content</li>
<li>Nice User Interface ;)</li>
<li>Upload Files via FancyUpload (integrated Feature)</li>
<li>Option to automatically resize big Images when uploading</li>
<li>Use it to select a File anywhere you need to specify one inside your Application's Backend</li>
<li>Use as a FileManager in TinyMCE</li>
<li>Provides your Client with the most possible convenience ( ;D )</li>
</ul>
<p>The plugin is easily implemented as well:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-16');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-16">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#800000;">1</span>. <span style="color: #003366; font-weight: bold;">var</span> manager = <span style="color: #003366; font-weight: bold;">new</span> FileManager<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span> </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#800000;">2</span>.&nbsp; &nbsp;<span style="color: #006600;">url</span>: <span style="color: #3366CC;">'manager.php'</span>, </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#800000;">3</span>.&nbsp; &nbsp;<span style="color: #006600;">assetBasePath</span>: <span style="color: #3366CC;">'../Assets'</span>, </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#800000;">4</span>.&nbsp; &nbsp;<span style="color: #006600;">language</span>: <span style="color: #3366CC;">'en'</span>, </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#800000;">5</span>.&nbsp; &nbsp;<span style="color: #006600;">uploadAuthData</span>: <span style="color:#006600; font-weight:bold;">&#123;</span>session: <span style="color: #3366CC;">'MySessionId'</span><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#800000;">6</span>. <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#800000;">7</span>. $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'example1'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">addEvent</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'click'</span>, manager.<span style="color: #006600;">show</span>.<span style="color: #006600;">bind</span><span style="color:#006600; font-weight:bold;">&#40;</span>manager<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Check out <a href="http://og5.net/christoph/Scripts/FileManager/Demos/">the cool demo Christoph created.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/two-mootools-plugins-for-better-file-management/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>MooTools 1.2.2 and the new MooTools More Plugin Library</title>
		<link>http://ajaxian.com/archives/mootools-122-and-the-new-mootools-more-plugin-library</link>
		<comments>http://ajaxian.com/archives/mootools-122-and-the-new-mootools-more-plugin-library#comments</comments>
		<pubDate>Tue, 28 Apr 2009 02:34:44 +0000</pubDate>
		<dc:creator>Rey Bango</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6714</guid>
		<description><![CDATA[The MooTools team has been busy over the last week. Last Thursday they released MooTools 1.2.2: MooTools 1.2.2 is a mainly a bug fix release but it also includes an almost entirely new Class.js. The reasoning behind this is that the old Class.js didn’t play nicely with some advanced usages of this.parent() present in the <a href="http://ajaxian.com/archives/mootools-122-and-the-new-mootools-more-plugin-library">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>The MooTools team has been busy over the last week. Last Thursday <a href="http://mootools.net/blog/2009/04/23/mootools-122-and-the-new-mootools-more/">they released MooTools 1.2.2</a>:</p>
<blockquote><p>
MooTools 1.2.2 is a mainly a bug fix release but it also includes an almost entirely new Class.js. The reasoning behind this is that the old Class.js didn’t play nicely with some advanced usages of this.parent() present in the new MooTools-More. We already had the script ready and tested in the MooTools 2.0 branch so we simply “backported” it to 1.2.2. Other than providing the parent fixes, the new Class also features a much more robust inheritance model, especially when dealing with objects.
</p></blockquote>
<p>For example, the objects you implement now in a class are merged if an object with the same name is found in the class prototype:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-18');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JavaScript:</span>
<div id="javascript-18">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> Animal = <span style="color: #003366; font-weight: bold;">new</span> <span style="color: #003366; font-weight: bold;">Class</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; options: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; color: <span style="color: #3366CC;">'brown'</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; says: <span style="color: #3366CC;">'hissss'</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">Animal.<span style="color: #006600;">implement</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'options'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span>says: <span style="color: #3366CC;">'meow'</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Animal.prototype.options is now {says: 'meow', color: 'brown'};</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>This is especially useful when overriding default options in classes, such as Request.</p>
<p>Upgrading to this version of MooTools only requires that you drop in the new version. There aren't any changes that require changes to sites that implement these features.</p>
<h2>MooTools More</h2>
<p>Also with this release comes a large update to the MooTools plugin library, MooTools More. Previously this portion of the project featured about a dozen add-ons. The new release features 48 plugins, adding things like FormValidators, new effects, JSONP support, numerous enhancements to native objects like String and Element as well as robust URI and Date classes. They plan on adding new plugins regularly as this portion of the library grows over the next several months.</p>
<h2>Clientcide</h2>
<p>Relatedly, MooTools contributor Aaron Newton has released an updated version of the <a href="http://www.clientcide.com">Clientcide MooTools Plugins</a> to support these new plugins. Many of the plugins that are now officially part of the MooTools project came from Clientcide's collection of plugins. For anyone using the Clientcide plugins you can find compatibility scripts on <a href="http://www.clientcide.com/js">the download page</a> there. He notes that <a href="http://www.clientcide.com/code-releases/mootools-122-more-10-and-clientcide/">there are one or two breaking changes</a> for users who were using some of the plugins that moved over to MooTools More.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mootools-122-and-the-new-mootools-more-plugin-library/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Notimoo Brings Growl to MooTools</title>
		<link>http://ajaxian.com/archives/notimoo-brings-growl-to-mootools</link>
		<comments>http://ajaxian.com/archives/notimoo-brings-growl-to-mootools#comments</comments>
		<pubDate>Mon, 13 Apr 2009 16:30:43 +0000</pubDate>
		<dc:creator>Ben Galbraith</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6574</guid>
		<description><![CDATA[Joining the world's collection of Growl-related libraries is Notimoo, a beautiful Growl implementation for MooTools. It's a little more sophisticated than most of the Growl ports as it supports persistence messages (that require a user's click to clear and scroll into view) and allows you to configure where on the screen the messages appear: PLAIN <a href="http://ajaxian.com/archives/notimoo-brings-growl-to-mootools">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/uploads/notimoo.png" alt="" title="Notimoo" width="335" height="191" class="alignnone size-full wp-image-6576" /></p>
<p>Joining the world's collection of Growl-related libraries is <a href="http://paquitosoft.com/notimoo/">Notimoo</a>, a beautiful Growl implementation for MooTools. It's a little more sophisticated than most of the Growl ports as it supports persistence messages (that require a user's click to clear and scroll into view) and allows you to configure where on the screen the messages appear:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-20');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JavaScript:</span>
<div id="javascript-20">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Now I create the manager so it will display notifications from the left bottom corner</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> notimooManager = <span style="color: #003366; font-weight: bold;">new</span> Notimoo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;locationVType: <span style="color: #3366CC;">'bottom'</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;locationHType: <span style="color: #3366CC;">'left'</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Showing a notification that does not disappear.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">notimooManager.<span style="color: #006600;">show</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; title: <span style="color: #3366CC;">'Testing notification'</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; message: <span style="color: #3366CC;">'This notification will not disapper on its own. You must click on it to close.'</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; sticky: <span style="color: #003366; font-weight: bold;">true</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p><a href="http://code.google.com/p/notimoo/">The Notimoo project</a> is hosted on Google Code under an MIT license.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/notimoo-brings-growl-to-mootools/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lighter.js &#8211; Syntax highlighting for MooTools</title>
		<link>http://ajaxian.com/archives/lighterjs-syntax-highlighting-for-mootools</link>
		<comments>http://ajaxian.com/archives/lighterjs-syntax-highlighting-for-mootools#comments</comments>
		<pubDate>Fri, 10 Apr 2009 17:17:08 +0000</pubDate>
		<dc:creator>Rey Bango</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6560</guid>
		<description><![CDATA[If you're a coder who likes to blog a lot, you know the value of a good code syntax highlighter. It helps to draw attention to your code snippets and sets them in a context easily identifiable to anyone who has used a code editor. José Prado came up with a MooTools-powered extension called Lighter.js <a href="http://ajaxian.com/archives/lighterjs-syntax-highlighting-for-mootools">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>If you're a coder who likes to blog a lot, you know the value of a good code syntax highlighter. It helps to draw attention to your code snippets and sets them in a context easily identifiable to anyone who has used a code editor. <a href="http://pradador.com">José Prado</a> came up with a <a href="http://mootools.net">MooTools</a>-powered extension called <a href="http://pradador.com/code/lighterjs/">Lighter.js</a> that provides this capability. </p>
<p>Implementing the highlighting is very easy to do by creating a container element around the code to be highlighted and uniquely ID'ing it so that the container can be found via MooTools built-in DOM traversal factory method $(). You can see an example here:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-22');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-22">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Object style syntax with files in same level as html document.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> myLighter = <span style="color: #003366; font-weight: bold;">new</span> Lighter<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'jsCode'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span>altLines: <span style="color: #3366CC;">'hover'</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Element style syntax with files inside of a folder called &quot;js&quot;.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'phpCode'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">light</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;altLines: <span style="color: #3366CC;">'hover'</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;path: <span style="color: #3366CC;">'js/'</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// Highlight all &quot;pre&quot; elements in a document.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'pre'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">light</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span>altLines: <span style="color: #3366CC;">'hover'</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Ajaxian.com uses a code highlighter as well so if you compare the code above to the screencap below, you can see the similarities. MooTools developers should find it very easy to output a concisely layed out code snippet.</p>
<p><a href="http://pradador.com/code/lighterjs/"><img src="http://ajaxian.com/wp-content/uploads/lighterjs.gif" alt="" title="lighterjs" width="500" height="158" class="alignnone size-full wp-image-6563" /></a></p>
<p>There's no official demo for the extension but you can actually see it in action on Jose's project page since the code examples he references are actually highlighted by his extension.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/lighterjs-syntax-highlighting-for-mootools/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>The New TextboxList</title>
		<link>http://ajaxian.com/archives/the-new-textboxlist</link>
		<comments>http://ajaxian.com/archives/the-new-textboxlist#comments</comments>
		<pubDate>Fri, 10 Apr 2009 13:00:25 +0000</pubDate>
		<dc:creator>Ben Galbraith</dc:creator>
				<category><![CDATA[Component]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6551</guid>
		<description><![CDATA[Over at devthought, Guillermo Ranch has rewritten his clone of Facebook's "TextboxList" component: It’s been some time since TextboxList got some attention. It is undoubtedly one of the my most popular JavaScript projects, along with the famous Fancy Menu (MorphList) and its slideshow sibling, BarackSlideshow. TextboxList has been rewritten from scratch, and it’s more solid <a href="http://ajaxian.com/archives/the-new-textboxlist">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/uploads/textboxlist.png" alt="" title="TextboxList" width="411" height="126" class="alignnone size-full wp-image-6552" /></p>
<p>Over at <a href="http://devthought.com/">devthought</a>, Guillermo Ranch has <a href="http://devthought.com/blog/projects-news/2009/04/the-new-textboxlist-is-here/">rewritten his clone of Facebook's "TextboxList" component</a>:</p>
<blockquote><p>
It’s been some time since TextboxList got some attention. It is undoubtedly one of the my most popular JavaScript projects, along with the famous Fancy Menu (MorphList) and its slideshow sibling, BarackSlideshow.</p>
<p>TextboxList has been rewritten from scratch, and it’s more solid than ever. The first time around, elegance was not one of the goals. I focused on releasing the first open source script that reproduced the Facebook’s tokenizer.
</p></blockquote>
<p>Changes include:</p>
<blockquote><p>
    * Compatible with MooTools 1.2.x<br />
    * New options, such as addOnEnter, which adds boxes upon pressing enter (useful for tags or categories widgets).<br />
    * More events, which gives the developer more power to extend it.<br />
    * Each element is now identified by an id, a plain value and a HTML value.<br />
    * Use of control, alt, meta keys no longer interfere with the elements keyboard navigation.<br />
    * Bugs with text selection fixed.<br />
    * Improved API, even more extensible.<br />
    * Plugins support
</p></blockquote>
<p>It also includes an autocomplete plug-in, which has its own feature list:</p>
<blockquote><p>
    * Flexible. It does not depend on a specific data source (XHR, Json). Instead, the developer supplies the data which can come from anywhere.<br />
    * Binary search for maximum performance<br />
    * Simpler CSS with comments for non-experienced developers.
</p></blockquote>
<p>Guillermo tells us that a Dojo version is in the works, and Ajaxian reader Thomas Aylott adds "This thing is seriously awesome." Check it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/the-new-textboxlist/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Vizeddit: Visualization of Reddit</title>
		<link>http://ajaxian.com/archives/vizeddit-visualization-of-reddit</link>
		<comments>http://ajaxian.com/archives/vizeddit-visualization-of-reddit#comments</comments>
		<pubDate>Thu, 19 Mar 2009 11:00:25 +0000</pubDate>
		<dc:creator>Ben Galbraith</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6376</guid>
		<description><![CDATA[Yvo Schaap has created a reasonably interesting real-time front-end to Reddit data over at erqqvg.com. It's actually a really cool visualization of how Reddit's stories change over time, with "yellow-fade" indications when new comments and votes and registered. Super-nice. (The screenshot doesn't do it justice; go check it out.) But that's only half the story. <a href="http://ajaxian.com/archives/vizeddit-visualization-of-reddit">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Yvo Schaap has created a reasonably interesting real-time front-end to Reddit data over at <a href="http://erqqvg.com/">erqqvg.com</a>. It's actually a really cool visualization of how Reddit's stories change over time, with "yellow-fade" indications when new comments and votes and registered. Super-nice.</p>
<p><img src="http://ajaxian.com/wp-content/uploads/whatthehellkindofnameiserqqvg.png" alt="" title="Erqqvg" width="470" height="231" class="alignnone size-full wp-image-6377" /></p>
<p>(The screenshot doesn't do it justice; go check it out.)</p>
<p>But that's only half the story. They've got a much-better-named service called "<a href="http://erqqvg.com/vizeddit/">Vizeddit</a>" that displays the same data with much richer graphics and animations:</p>
<p><img src="http://ajaxian.com/wp-content/uploads/vizeddit.png" alt="" title="Vizeddit" width="470" height="270" class="alignnone size-full wp-image-6378" /></p>
<p>Once again, you really need to go see it. The numbers along the bottom represent stories, and they grow and swap places over time, new ones are inserted, and so forth. You see the votes drop down in real-time, and new comments float in as well.</p>
<p>All brought to you with the <a href="http://mootools.net/">Moo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/vizeddit-visualization-of-reddit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>APNG Class: Get APNG going on all browsers</title>
		<link>http://ajaxian.com/archives/apng-class-get-apng-going-on-all-browsers</link>
		<comments>http://ajaxian.com/archives/apng-class-get-apng-going-on-all-browsers#comments</comments>
		<pubDate>Thu, 12 Mar 2009 09:29:44 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Utility]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6300</guid>
		<description><![CDATA[Guillermo Rauch, who has a really nice looking site at devthought has created APNG a class to bootstrap animating PNG images: APNG provides simple frame-based animation functionality. It’s main goal is solve the problem of animating alpha-transparent images (PNG format). Features APNG is very flexible when it comes to the method of displaying the various <a href="http://ajaxian.com/archives/apng-class-get-apng-going-on-all-browsers">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/uploads/apng.png" alt="" title="apng" width="500" height="141" class="alignnone size-full wp-image-6301" /></p>
<p>Guillermo Rauch, who has a really nice looking site at <a href="http://devthought.com/">devthought</a> has created <a href="http://devthought.com/projects/mootools/apng/">APNG</a> a class to bootstrap animating PNG images:</p>
<blockquote><p>
APNG provides simple frame-based animation functionality. It’s main goal is solve the problem of animating alpha-transparent images (PNG format).<br />
Features</p>
<p>APNG is very flexible when it comes to the method of displaying the various animation frames.</p>
<p>The default behavior is taking the filename, for example spinner.png, and changing the src or background-image attribute to spinner-2.png, spinner-3.png and so on.</p>
<p>If the useNative functionality is in place, which is set to be on for Firefox 3 and Opera 9.5, the Javascript-based animation is not run. I encourage you to create an actual APNG for the default frame (spinner.png). If you do so, you’ll see increased performance for the browsers that support it -while also promoting the adoption of this new format-, and other browsers will just display the first frame and the animation will run via JavaScript.</p>
<p>You can also use background-position based animations to avoid making multiple requests, and avoid potential cache issues in old browsers.</p>
<p>The APNG class supports dynamic pausing, canceling, resetting and starting of animations. Frames can have a fixed interval or one can be assigned for each of them. Preloading is supported, which can prove useful for long animations or animations that are initialized and not run from the start.
</p></blockquote>
<p>Check out the <a href="http://devthought.com/wp-content/projects/mootools/APNG/Demo/">demo page</a> and see how to use it:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-24');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-24">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// new image</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">img = <span style="color: #003366; font-weight: bold;">new</span> Element<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'img'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span> src: <span style="color: #3366CC;">'images/zoom-spin.png'</span> <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">inject</span><span style="color:#006600; font-weight:bold;">&#40;</span>document.<span style="color: #006600;">body</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">new</span> APNG<span style="color:#006600; font-weight:bold;">&#40;</span>img, <span style="color:#006600; font-weight:bold;">&#123;</span> useNative: <span style="color: #003366; font-weight: bold;">false</span>, frames: <span style="color:#800000;">12</span>, endless: <span style="color: #003366; font-weight: bold;">false</span> <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// existing images</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">new</span> APNG<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'imganimated'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span> useNative: <span style="color: #003366; font-weight: bold;">false</span>, frames: <span style="color:#800000;">12</span>, endless: <span style="color: #003366; font-weight: bold;">true</span> <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// existing div</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">new</span> APNG<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'divspinner'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span> useNative: <span style="color: #003366; font-weight: bold;">false</span>, frames: <span style="color:#800000;">12</span>, endless: <span style="color: #003366; font-weight: bold;">true</span>, property: <span style="color: #3366CC;">'background-image'</span> <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// existing div, single image</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">new</span> APNG<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'divspinner2'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span> useNative: <span style="color: #003366; font-weight: bold;">false</span>, frames: <span style="color:#800000;">12</span>, endless: <span style="color: #003366; font-weight: bold;">true</span>, property: <span style="color: #3366CC;">'background-position'</span>, axis: <span style="color: #3366CC;">'x'</span>, interval: <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">100</span>, <span style="color:#800000;">90</span>, <span style="color:#800000;">80</span>, <span style="color:#800000;">70</span>, <span style="color:#800000;">60</span>, <span style="color:#800000;">50</span>, <span style="color:#800000;">40</span>, <span style="color:#800000;">30</span>, <span style="color:#800000;">20</span>, <span style="color:#800000;">10</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/apng-class-get-apng-going-on-all-browsers/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>More MooTools in MooTools More</title>
		<link>http://ajaxian.com/archives/more-mootools-in-mootools-more</link>
		<comments>http://ajaxian.com/archives/more-mootools-in-mootools-more#comments</comments>
		<pubDate>Tue, 10 Mar 2009 16:59:07 +0000</pubDate>
		<dc:creator>Rey Bango</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6265</guid>
		<description><![CDATA[MooTools Core developer Aaron Newton recently took on the task of coming up with a complementary library to the MooTools framework that would provide enhanced capabilities beyond what the standard JS MooTools core lib could, or should, provide. The results is a new project called MooTools More which aims to provide Moo developers with a <a href="http://ajaxian.com/archives/more-mootools-in-mootools-more">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>MooTools Core developer <a href="http://www.clientcide.com/">Aaron Newton</a> recently took on the task of coming up with a complementary library to the MooTools framework that would provide enhanced capabilities beyond what the standard JS MooTools core lib could, or should, provide. The results is a new project called MooTools More which aims to provide Moo developers with a set of official plugins which are well documented and supported by the team. Yesterday, the More team <a href="http://mootools.net/blog/2009/03/09/more-to-love/">released their first beta which currently includes</a>:</p>
<ul>
<li>Class extensions including a Binds mutator, easier refactoring, chain pausing and more.</li>
<li>New Native extensions including more love for String and Array, plus a fully featured Date Native and a URI extension to make managing links downright fun.</li>
<li>More Element love with help for managing text selection and relative positioning (put this box&#8217;s lower right corner next to the upper right corner of that other box&#8230;)</li>
<li>Form love including a robust and extensible form validator and a class for displaying hint text over an input.</li>
<li>Extended Request functionality including JSONP support and Queuing.</li>
<li>Support for language localization for classes that output text (days of the month, months of the year, form validation errors, etc)</li>
</ul>
<p>You can download the files here:</p>
<ul>
<li><a href="http://www.mootools.net/more_rc1">MooTools More RC1</a></li>
<li><a href="http://www.mootools.net/docs_rc1/">MooTools More RC1 Documentation</a></li>
</ul>
<p>If you'd like to get involved in the project, the team has created an <a href="http://wiki.github.com/mootools/mootools-more">official wiki which outlines how to help and submit code changes</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/more-mootools-in-mootools-more/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Parallax for the Moo Crowd</title>
		<link>http://ajaxian.com/archives/parallax-for-the-moo-crowd</link>
		<comments>http://ajaxian.com/archives/parallax-for-the-moo-crowd#comments</comments>
		<pubDate>Thu, 26 Feb 2009 15:41:34 +0000</pubDate>
		<dc:creator>Rey Bango</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6117</guid>
		<description><![CDATA[We've featured several implementations of the parallax effect here on Ajaxian. The newest creation comes from the team at Piksite who recently released their MooTools-powered mParallax extension: mParallax is an adaptation for MooTools framework of jParallax whose its author, Stephen Band, describes it like "jParallax turns a selected element into a 'window', or viewport, and <a href="http://ajaxian.com/archives/parallax-for-the-moo-crowd">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://ajaxian.com/index.php?s=Parallax&#038;searchbutton=Go">We've featured</a> several implementations of the parallax effect here on Ajaxian. The newest creation comes from the team at Piksite who recently released their MooTools-powered <a href="http://www.piksite.com/mParallax/">mParallax</a> extension:</p>
<blockquote><p>mParallax is an adaptation for MooTools framework of jParallax whose its author, Stephen Band, describes it like "jParallax turns a selected element into a 'window', or viewport, and all its children into absolutely positioned layers that can be seen through the viewport. These layers move in response to the mouse, and, depending on their dimensions (and options for layer initialisation), they move by different amounts, in a parallaxy kind of way".</p></blockquote>
<p><a href="http://www.piksite.com/mParallax/"><img src="http://ajaxian.com/wp-content/uploads/mparallax.png" alt="" title="mparallax" width="300" height="167" class="alignnone size-medium wp-image-6119" /></a></p>
<p>The image really doesn't do it justice and you should <a href="http://www.piksite.com/mParallax/demos/demos_basic.html">check out the demo</a> to really get a feel for the capabilities.</p>
<p>As Moo team member Aaron Newton said, "For all you people using MooTools to make your own 8-bit side-scrolling NES clones, this is your library."</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/parallax-for-the-moo-crowd/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

