<?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>Adventures in Keyframes and Code &#187; JavaScript</title>
	<atom:link href="http://www.keyframesandcode.com/code/category/development/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.keyframesandcode.com/code</link>
	<description>MaxScript, ActionScript, PHP &#38; JavaScript</description>
	<lastBuildDate>Mon, 30 Aug 2010 15:12:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>jQuery Deconstructed</title>
		<link>http://www.keyframesandcode.com/code/development/javascript/jquery/jquery-deconstructed/</link>
		<comments>http://www.keyframesandcode.com/code/development/javascript/jquery/jquery-deconstructed/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 15:08:51 +0000</pubDate>
		<dc:creator>Dave Stewart</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.keyframesandcode.com/code/?p=258</guid>
		<description><![CDATA[UPDATE: jQuery Deconstructed is now JS Libs Deconstructed, also supporting Prototype, and soon, MooTools.
I&#8217;ve been interested in the internal structure of jQuery for as long as I can remember, but it can be overwhelming at the best of times, so I&#8217;ve recently made-good on my plan to build an interactive breakdown of the physical code.

Essentially, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE: jQuery Deconstructed is now <a href="http://www.keyframesandcode.com/resources/javascript/deconstructed/">JS Libs Deconstructed</a>, also supporting Prototype, and soon, MooTools.</strong></p>
<p>I&#8217;ve been interested in the internal structure of jQuery for as long as I can remember, but it can be overwhelming at the best of times, so I&#8217;ve recently made-good on my plan to build an interactive breakdown of the physical code.</p>
<p><a class="img" href="http://www.keyframesandcode.com/resources/javascript/deconstructed/jquery"><img src="http://www.keyframesandcode.com/code/wp-content/uploads/2010/07/visual-jquery-screenshot.gif" /></a></p>
<p>Essentially, it provides a rather handy birds-eye view of the jQuery library, making it easy to dig into and understand the coding behind the seemingly-simple syntax.</p>
<p>Points of note:</p>
<ul>
<li>It breaks the physical JavaScript into visual blocks that you can easiliy navigate.</li>
<li>Each block opens to reveal its internal code</li>
<li>Clickable hyperlinks allow you to follow program flow</li>
</ul>
<p>It now also has a few nice features such as:</p>
<ul>
<li>Live links to the online documentation</li>
<li>Color themes</li>
<li>Optional icons</li>
</ul>
<p>Check it out here: <a href="http://www.keyframesandcode.com/resources/javascript/deconstructed/">http://www.keyframesandcode.com/resources/javascript/deconstructed/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.keyframesandcode.com/code/development/javascript/jquery/jquery-deconstructed/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>jQuery Favelet</title>
		<link>http://www.keyframesandcode.com/code/development/javascript/jquery-favelet/</link>
		<comments>http://www.keyframesandcode.com/code/development/javascript/jquery-favelet/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 21:36:02 +0000</pubDate>
		<dc:creator>Dave Stewart</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Add jQuery to page]]></category>

		<guid isPermaLink="false">http://www.keyframesandcode.com/code/uncategorized/jquery-favelet/</guid>
		<description><![CDATA[Any developer worth his salt knows about Firebug and its JavaScript console. I use it all the time to tinker with web pages, test stuff out and debug my own pages.
But sometimes, if I&#8217;m *cough* hacking *cough cough* someone else&#8217;s page, I need the added power of jQuery! But what if the page doesn&#8217;t have [...]]]></description>
			<content:encoded><![CDATA[<p>Any developer worth his salt knows about <a href="http://www.getfirebug.com/">Firebug</a> and its JavaScript console. I use it all the time to tinker with web pages, test stuff out and debug my own pages.</p>
<p>But sometimes, if I&#8217;m *cough* hacking *cough cough* someone else&#8217;s page, I need the added power of jQuery! But what if the page doesn&#8217;t have it?</p>
<p>Simple &#8211; load jQuery from a remote source manually through a <a href="javascript:alert('Hello!');void(0)">javascript:</a> call.</p>
<h3>Save Favelet</h3>
<p>Just drag the link below to your Links toolbar, then click it on any page to jQuery-enable it.</p>
<p><a href="javascript:(function(){__jqs=document.createElement('script');__jqs.setAttribute('type','text/javascript');__jqs.setAttribute('src','http://code.jquery.com/jquery-latest.js');document.getElementsByTagName('head')[0].appendChild(__jqs);__jqs=null})();void(0)" title="Load jQuery">Add jQuery to page</a></p>
<h3>Test it out!</h3>
<p>Save the Favelet and click on it (or just click the link above), then: <a href="javascript:$('div.post').slideUp(1000).slideDown(1000);void(0)" title="Animate page...">animate page</a>.</p>
<p>Simple!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keyframesandcode.com/code/development/javascript/jquery-favelet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery &#8220;Highlight&#8221; plugin</title>
		<link>http://www.keyframesandcode.com/code/development/javascript/jquery-highlight-plugin/</link>
		<comments>http://www.keyframesandcode.com/code/development/javascript/jquery-highlight-plugin/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 13:42:44 +0000</pubDate>
		<dc:creator>Dave Stewart</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.keyframesandcode.com/code/?p=16</guid>
		<description><![CDATA[Highlight increases usability by highlighting elements as you interact with the page.
Its primary use is for forms, but it can also be used for tables, lists, or any element you specify. It can also be used to toggle elements on and off, for example, table rows.

Examples uses:

Form-filling can be made clearer by highlighting  the [...]]]></description>
			<content:encoded><![CDATA[<p>Highlight increases usability by highlighting elements as you interact with the page.</p>
<p>Its primary use is for forms, but it can also be used for tables, lists, or any element you specify. It can also be used to toggle elements on and off, for example, table rows.</p>
<p><a class="plain" href="http://www.keyframesandcode.com/resources/javascript/jQuery/demos/highlight-demo.html"><img src="http://www.keyframesandcode.com/resources/javascript/jQuery/highlight/form-example.gif" alt="" /></a></p>
<h3>Examples uses:</h3>
<ul>
<li>Form-filling can be made clearer by highlighting  the element around a control as you tab into it</li>
<li>Table rows can be made more visible as you pass the mouse over them, or click them</li>
<li>Elements can be toggled as you click them</li>
</ul>
<h3>Code example</h3>
<p>Because of the defaults, basic usage can be as simple as:</p>
<pre>$('form').highlight();</pre>
<p>The method signature for Highlight is:</p>
<pre>$(<span class="red">selector</span>).highlight(<span class="red">parentSelector</span>, <span class="red">highlightClass</span>, <span class="red">startEvent</span>, <span class="red">endEvent</span>);</pre>
<h3>Demo</h3>
<p><a href="http://www.keyframesandcode.com/resources/javascript/jQuery/demos/highlight-demo.html">View the Highlight demo</a> which has examples for forms, tables, and lists.</p>
<h3>Download</h3>
<ul>
<li><a href="/resources/javascript/jQuery/highlight/jquery.highlight.js">jquery.highlight.js</a></li>
<li><a href="/resources/javascript/jQuery/highlight/jquery.highlight.pack.js">jquery.highlight.pack.js</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.keyframesandcode.com/code/development/javascript/jquery-highlight-plugin/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>jQuery &#8220;Populate&#8221; plugin</title>
		<link>http://www.keyframesandcode.com/code/development/javascript/jquery-populate-plugin/</link>
		<comments>http://www.keyframesandcode.com/code/development/javascript/jquery-populate-plugin/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 12:37:09 +0000</pubDate>
		<dc:creator>Dave Stewart</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.keyframesandcode.com/code/?p=17</guid>
		<description><![CDATA[I don&#8217;t like mixing HTML and PHP when I build my forms.  Instead I like to keep my HTML completely clean, then if a form needs to be pre-filled (for example retrieving a bunch of database results), get JavaScript to fill it in for me after the page has loaded.

This plugin supports full PHP [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t like mixing HTML and PHP when I build my forms.  Instead I like to keep my HTML completely clean, then if a form needs to be pre-filled (for example retrieving a bunch of database results), get JavaScript to fill it in for me after the page has loaded.</p>
<p><a class="plain" href="http://www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html"><img style="border: 0pt none;" src="http://www.keyframesandcode.com/resources/javascript/jQuery/populate/populate-example-03.gif" border="0" alt="" /></a></p>
<p>This plugin supports full PHP naming and deep data structures, as well as checkbox arrays, other non-standard UI controls, and even standard HTML elements such as labels or divs.</p>
<p>The plugin can be used as part of your AJAX toolkit, or for separating server-side code from HTML by populating a form after the page has loaded eg:</p>
<pre>$('form').populate({text:'text', radio:1})</pre>
<p>and not inline as the page is processed, such as:</p>
<pre>&lt;input type="text" name="text" id="text" value="&lt;?php echo $text; ?&gt;" /&gt;
&lt;input type="radio" name="radio" id="radio-1" checked="&lt;?php echo $val == 1; ?&gt;" /&gt;
&lt;input type="radio" name="radio" id="radio-2" checked="&lt;?php echo $val == 2; ?&gt;" /&gt;</pre>
<p>You can also populate non-form controls such as &lt;div&gt;s, by specifiying the id and an identifying attribute (defaults to id):</p>
<pre>$('div').populate({'text-1':'text', 'text-2':'More text'})</pre>
<p>This can be useful when you want to show the results of a database call, but don&#8217;t want the text to be editable.</p>
<h3>Instructions and demos</h3>
<p>View the <a href="http://www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html">jQuery Populate demo</a> for a view a full set of instructions and a working demo, with examples of populating:</p>
<ul>
<li>a simple form, using string variable types for textfields, radiobuttons, dropdowns and checkboxes</li>
<li>a complex form, using array variable types for checkbox arrays and multi-list boxes</li>
<li>a hierarchical form, using hierarchical JSON data</li>
</ul>
<h3>Update 29th November 2009</h3>
<p>Thanks to everyone who spotted bugs and contributed their comments. The following features are added / bugs are now squished:</p>
<ul>
<li>Now populates standard HTML elements within forms</li>
<li>Is now case-sensitive for element value comparisons (keith, 5030SDEC, Mark Croxton)</li>
<li>Now skips function references and undefined elements (Henning, Found-a-Bug)</li>
<li>Fixed debug trace for missing elements (Found-a-Bug)</li>
</ul>
<h3>Download</h3>
<p>JavaScript</p>
<ul>
<li><a title="http://www.keyframesandcode.com/resources/javascript/jQuery/populate/populate.js" href="http://www.keyframesandcode.com/resources/javascript/jQuery/populate/jquery.populate.js">Populate (no compression) 4.6k</a></li>
<li><a title="http://www.keyframesandcode.com/resources/javascript/jQuery/populate/populate.pack.js" href="http://www.keyframesandcode.com/resources/javascript/jQuery/populate/jquery.populate.pack.js">Populate (packer compression) 1.6k</a></li>
</ul>
<p>PHP</p>
<ul>
<li><a href="http://www.keyframesandcode.com/resources/javascript/jQuery/populate/populate.func.zip">PHP jQuery helper functions</a></li>
<li><a href="http://mike.teczno.com/JSON/">PHP JSON class</a></li>
</ul>
<p>Demo files</p>
<ul>
<li><a href="http://www.keyframesandcode.com/resources/javascript/jQuery/populate/populate-demos.zip">Populate standalone demos</a></li>
</ul>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 741px; width: 1px; height: 1px;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="&#45;-" /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:3.0pt; 	margin-left:0cm; 	mso-pagination:widow-orphan lines-together; 	page-break-after:avoid; 	tab-stops:9.0cm; 	font-size:8.0pt; 	font-family:"Arial","sans-serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-ansi-language:EN-GB;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;} @page Section1 	{size:612.0pt 792.0pt; 	margin:72.0pt 72.0pt 72.0pt 72.0pt; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<p class="MsoNormal"><span lang="EN-GB">Fixed debug trace for missing elements (<cite><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Found-a-Bug</span></cite>)</span></p>
<p class="MsoNormal"><span lang="EN-GB">Now skips function references and undefined elements (Henning, <cite><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Found-a-Bug</span></cite>)</span></p>
<p class="MsoNormal"><span lang="EN-GB">Now populates standard HTML elements</span></p>
<p class="MsoNormal"><span lang="EN-GB">Is now case-insensitive for element value comparisons (keith, <cite><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">5030SDEC,</span></cite> <cite><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Mark Croxton</span></cite>)</span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.keyframesandcode.com/code/development/javascript/jquery-populate-plugin/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Form builder</title>
		<link>http://www.keyframesandcode.com/code/development/javascript/form-builder/</link>
		<comments>http://www.keyframesandcode.com/code/development/javascript/form-builder/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 18:43:39 +0000</pubDate>
		<dc:creator>Dave Stewart</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.keyframesandcode.com/code/?p=15</guid>
		<description><![CDATA[I&#8217;ve got really, really tired of re-inventing the wheel (alright, HTML, CSS, JavaScript) every time when it comes to site forms.
I do so much database stuff these days that seems to be virtually every site I&#8217;m starting from scratch, or hacking an old site&#8217;s template to work on a new site. Then once the CSS [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got really, <em>really</em> tired of re-inventing the wheel (alright, HTML, CSS, JavaScript) every time when it comes to site forms.</p>
<p>I do so much database stuff these days that seems to be virtually every site I&#8217;m starting from scratch, or hacking an old site&#8217;s template to work on a new site. Then once the CSS has been hammered out, comes the laborious task of form validation &#8211; tidying up all the names and ids, dusting off my RegExp-foo to validate emails, usernames, etc, etc.</p>
<p>It&#8217;s very time-consuming and just feels like I&#8217;m missing a trick!</p>
<p>Wouldn&#8217;t it be great if there was a magic bullet to convert a list of text into fully validated, accessible HTML form controls!?</p>
<h3>Form Builder</h3>
<p>Enter &#8220;Form Builder&#8221; &#8211; an online JavaScript application that will build accessible, cross-platform and validated form HTML in literally 10 seconds flat. Just type or paste in your form labels, edit some options (if you want to) and view the Live Preview and HTML.</p>
<p><a href="/resources/html/form-builder/index.html" class="img image" style="border: medium none "><img src="/resources/html/form-builder/img/form-builder-splash.gif" style="border: medium none " border="0" /></a></p>
<h3>Form builder does pretty much everything you might want&#8230;</h3>
<p>So I&#8217;ve done some hard research and have employed best-practices for:</p>
<ul>
<li>HTML Code</li>
<li>Styling</li>
<li>Accessibility</li>
<li>Validation</li>
</ul>
<p>For example, what about:</p>
<ul>
<li>Ease of use: copy all your labels to one text field and a whole set of controls built on linebreaks, tabs, commas</li>
<li>Live preview: not happy with the code? Edit the HTML and watch the Live Preview update</li>
<li>Intelligent attribute naming: for example, a form label is &#8220;Blood pressure (mmHg)&#8221;, your names and ids are truncated at the first illegal character and re-named &#8220;blood_pressure&#8221; / &#8220;blood-pressure&#8221;</li>
<li>Automatic values: values are automatically built from the label names, or you can just paste in another list of values</li>
<li>PHP (or other) naming styles: specify a data sub-group, or use your own square bracket naming [] to group data into discrete chunks</li>
<li>Accessible HTML: all controls are married with labels, and where appropriate wrapped within &lt;fieldset&gt; tags</li>
<li>Validation: Optionally include basic validation attributes on elements using <a href="http://jquery.com/">jQuery</a>&#8217;s <a href="http://bassistance.de/2008/01/30/jquery-validation-plugin-overview/">Validation</a> plugin.</li>
</ul>
<p>Jump in and play here, then go do something more useful with all that spare time!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keyframesandcode.com/code/development/javascript/form-builder/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Adding Google Analytics to your web pages dynamically</title>
		<link>http://www.keyframesandcode.com/code/development/javascript/adding-google-analytics-to-your-web-pages-dynamically/</link>
		<comments>http://www.keyframesandcode.com/code/development/javascript/adding-google-analytics-to-your-web-pages-dynamically/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 12:35:23 +0000</pubDate>
		<dc:creator>Dave Stewart</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.keyframesandcode.com/code/?p=5</guid>
		<description><![CDATA[I&#8217;ve just started using Google Analytics and it f*cking rocks. It&#8217;s simply amazing the amount of information it provides, but more amazing still is the way it shows you how people are using your site.
Installation is as easy as copy and pasting two scripts into each web page you want tracked. What could be easier [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just started using <a href="http://www.google.com/analytics/">Google Analytics</a> and it f*cking rocks. It&#8217;s simply amazing the amount of information it provides, but more amazing still is the way it shows you <em>how</em> people are using your site.</p>
<p>Installation is as easy as copy and pasting two scripts into each web page you want tracked. What could be easier than that!? Well, how about <em>one</em> script?</p>
<p>Here&#8217;s the code needed to run the tracking functions automatically:</p>
<pre>&lt;script type="text/javascript" src="js/google-analytics.js"&gt;&lt;/script&gt;</pre>
<p>Here&#8217;s the code to load the tracking functions <em>without </em>running them  (works in ALL browsers, not just IE!) so you can call the code yourself later (for example, tracking an AJAX call):</p>
<pre>&lt;script type="text/javascript" src="js/google-analytics.js" <font color="#000000">defer="defer"</font>&gt;&lt;/script&gt;</pre>
<p>Of course, there&#8217;s a few of these out there already, but here&#8217;s the specifics on my take:</p>
<ul>
<li>easy: a single external script that loads the Google code dynamically</li>
<li>intelligent: calls tracking function only when remote script has fully downloaded</li>
<li>versatile: use of defer attribute to run automatically (or <em>not)</em></li>
<li>customizable: provides a wrapper function to execute your own custom code</li>
<li>tidy: intermediate setup variables are created privately via a function closure</li>
</ul>
<p>Just be sure to add your tracking id to the initialization function!</p>
<p>Download <a href="http://www.keyframesandcode.com/resources/javascript/functions/google-analytics.js">google-analytics.js</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.keyframesandcode.com/code/development/javascript/adding-google-analytics-to-your-web-pages-dynamically/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
