<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5676355788719774491</id><updated>2011-11-28T06:01:42.749+05:30</updated><category term='statistics'/><category term='graphic design'/><category term='css'/><category term='pixel pie'/><category term='js'/><category term='blog'/><category term='animation'/><category term='update'/><category term='code highlighting'/><category term='pulsate'/><category term='fade/appear'/><category term='tutorial'/><title type='text'>Bit Pixels</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5676355788719774491.post-780723087114187562</id><published>2008-04-01T14:49:00.003+05:30</published><updated>2008-04-01T15:30:50.840+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='js'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='pulsate'/><title type='text'>JS Animation - Pulsate DIV Elements Tutorial [Pt. 2]</title><content type='html'>As promised here is the second part of the JS Animation series. If you missed out on the first one, it was &lt;span style="font-size:100%;"&gt;&lt;a href="http://bitpixels.blogspot.com/2008/04/js-animation-fadeappear-div-elements-pt.html"&gt;JS Animation - Fade/Appear DIV Elements Tutorial [Pt. 1]&lt;/a&gt;. In this tutorial we'll Pulsate DIV element using JS and no other libraries.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;If you have any problem during the tutorial I suggest you drop by our &lt;a href="http://groups.google.com/group/bitpixels"&gt;forum&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;, I also suggest you &lt;a href="http://groups.google.com/group/bitpixels/web/js-animation---pulsate-div-elements"&gt;download&lt;/a&gt; the necessary files so that you can understand everything better while it is happening.&lt;br /&gt;&lt;br /&gt;I hope you remember the setOpacity() function that we wrote last time. It remains the same. For those who've forgotten, here it is again -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt; setOpacity&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt; val&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt; obj &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt; obj&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;MozOpacity &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; val&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt; obj&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;opacity &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; val&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:BROWN;"&gt;10&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt; obj&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;filter &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;'alpha(opacity='&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt; val&lt;span style=";font-size:78%;color:BLUE;"  &gt;*&lt;/span&gt;&lt;span style="color:BROWN;"&gt;10&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;')'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now for some pulsating. When a DIV elements pulsates, we basically make it fade and then appear very fast but never actually hide. It is an effect that is used to bring attention to that element.&lt;br /&gt;&lt;br /&gt;What we'll be doing for our pulsation function is -&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Ask for the domID of the div and the number of times it needs to pulsate.&lt;/li&gt;&lt;li&gt;Get the DOM Element and check if it is visible or not.&lt;/li&gt;&lt;li&gt;If the number of &lt;span style="font-style: italic;"&gt;pulses&lt;/span&gt; isn't given, then set it to a default 4.&lt;/li&gt;&lt;li&gt;Set the variable alpa to 10, and ch to -1.&lt;/li&gt;&lt;li&gt;ch, will be the variable that'll determine the rate of change of the opacity of the DIV.&lt;/li&gt;&lt;li&gt;We'll multiply times by 2&lt;/li&gt;&lt;li&gt;Now we'll make an internal function p(), this'll do the actual animation&lt;/li&gt;&lt;li&gt;Rest of it is explained in the code with comments&lt;/li&gt;&lt;/ol&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; pulsate&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;domId&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; times&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt; obj &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; document&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;getElementById&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;domId&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//Get the Element&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;obj&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;style&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;display &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:PURPLE;"&gt;"none"&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; false&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//Return false if the element is hidden&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;!&lt;/span&gt;&lt;span style="font-size:85%;"&gt;times&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; times &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;4&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//If the user doesnt specify the no. of times he/she want pulsation&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//Add a default value of 4.&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; alpha &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;10&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//Set the initial value of alpha to 10 (Opaque)&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; ch &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;-&lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;1&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//The rate of change of the opacity&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//Currently negative, as first it'll fade&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; times &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;*&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;2&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//Multiply the 'times' given my user by 2&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; p&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//Internal function&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  alpha &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;+&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; ch&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;/*Change the alpha according to the ch&lt;br /&gt;  variable that could be positive or negative*/&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;  setOpacity&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;domId&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; alpha&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//Set the opacity of our element to the specified alpha&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;alpha &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;0&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;span style="color:BLUE;"&gt;|&lt;/span&gt;&lt;span style="color:BLUE;"&gt;|&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; alpha &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;10&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;span style="color:BLUE;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:BLUE;"&gt;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; times &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;0&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;/*If the alpha has gone out of range and times&lt;br /&gt;   and it hasnt pulsated enought number of times...*/&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;   times&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;span style="color:BLUE;"&gt;-&lt;/span&gt;&lt;span style="color:BLUE;"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//Decrement times&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;   &lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;ch&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;0&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//If ch is +ve make it -ve&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;    ch &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;1&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;else&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//If ch is -ve make it +ve&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;    ch &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;-&lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;1&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style="font-size:85%;color:RED;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;times &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;0&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; setTimeout&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;p&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;10&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt; setTimeout&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;p&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:BROWN;"&gt;10&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;color:GREEN;"&gt;&lt;i&gt;//This is where we call the f() function for the first time&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:BLUE;"&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;I hope you get it. If you have any problem, drop by on the &lt;a href="http://groups.google.com/group/bitpixels/"&gt;Google Group&lt;/a&gt;, and &lt;a href="http://groups.google.com/group/bitpixels/web/js-animation---pulsate-div-elements"&gt;download&lt;/a&gt; the necessary files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5676355788719774491-780723087114187562?l=bitpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/780723087114187562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5676355788719774491&amp;postID=780723087114187562' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/780723087114187562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/780723087114187562'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/2008/04/js-animation-pulsate-div-elements.html' title='JS Animation - Pulsate DIV Elements Tutorial [Pt. 2]'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5676355788719774491.post-3549799707611548589</id><published>2008-04-01T11:30:00.009+05:30</published><updated>2008-04-01T12:27:06.366+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='js'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='fade/appear'/><title type='text'>JS Animation - Fade/Appear DIV Elements Tutorial [Pt. 1]</title><content type='html'>I was thinking of doing a series of tutorials on the different effects that you can code and apply on DIV elements, without the use of any library. Today we'll start of with a very basic effect of toggling the visibility of the DIV - fade and Appear.&lt;br /&gt;&lt;br /&gt;If you have any problem during the tutorial I suggest you drop by our &lt;a href="http://groups.google.com/group/bitpixels"&gt;forum&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;, I also suggest you &lt;a href="http://groups.google.com/group/bitpixels/web/js-animation---fade-appear-div-elements"&gt;download&lt;/a&gt; the necessary files so that you can understand everything better while it is happening.&lt;br /&gt;&lt;br /&gt;To do any of the above animations, we'll have to change the opacity of the DIV element. We write the following function to change the opacity successfully in all browsers -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt; setOpacity&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt; val&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;obj &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;obj&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;MozOpacity &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; val&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;obj&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;opacity &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; val&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:BROWN;"&gt;10&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;obj&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;filter &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;'alpha(opacity='&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt; val&lt;span style=";font-size:78%;color:BLUE;"  &gt;*&lt;/span&gt;&lt;span style="color:BROWN;"&gt;10&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;')'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;So we first ask for the &lt;span style="font-family:courier new;"&gt;domId&lt;/span&gt; of the element, then get that element by Id and change its style to get the desired opacity. Remember the &lt;span style="font-family:courier new;"&gt;val&lt;/span&gt; can range only between 0-10. Now for the actual animation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Fade&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;To fade the object we first check whether or not that element is already hidden (if it is we &lt;span style="font-family:courier new;"&gt;return false&lt;/span&gt;). We make a variable &lt;span style="font-family:courier new;"&gt;alpha&lt;/span&gt; with value of 10, and a also a &lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;function&lt;/span&gt; &lt;span style="color: rgb(51, 204, 255);"&gt;f&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;()&lt;/span&gt;&lt;/span&gt;, inside the &lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;function&lt;/span&gt; &lt;span style="color: rgb(51, 204, 255);"&gt;fade&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;(domID)&lt;/span&gt;&lt;/span&gt;. We call this &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;function&lt;/span&gt; &lt;span style="color: rgb(51, 204, 255);"&gt;f&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;, from inside itself after every 100 milliseconds till &lt;span style="font-family:courier new;"&gt;alpha&lt;/span&gt; becomes 0, and once the &lt;span style="font-family:courier new;"&gt;alpha&lt;/span&gt; is 0, and we can't see it, we hide the element.&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; fade&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;domId&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;obj &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; document&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;getElementById&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;domId&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Get the Element&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;obj&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;style&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;display &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:PURPLE;"  &gt;"none"&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; false&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Return false if the element is already hidden&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; alpha &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:BROWN;"  &gt;10&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Set the initial value of alpha to 10 (Opaque)&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; f&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Internal function&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  alpha&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;span style="color:BLUE;"&gt;-&lt;/span&gt;&lt;span style="color:BLUE;"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Decrement the alpha value&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  setOpacity&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;domId&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; alpha&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Set the opacity of our element to the specified alpha&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;alpha &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;-&lt;/span&gt;&lt;span style=";font-size:85%;color:BROWN;"  &gt;1&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//If alpha is still bigger than -1 then..&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;   setTimeout&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;f&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:BROWN;"  &gt;100&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//..then call the function again after 100 milliseconds&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;else&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//otherwise..&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;   obj&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;style&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;display &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:PURPLE;"  &gt;'none'&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//..otherwise now that we cant see the element anyways, hide it&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;setTimeout&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;f&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:BROWN;"  &gt;100&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//This is where we call the f() function for the first time&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Thats pretty much it. Now to fade any div all you need to do it &lt;span style="font-family:courier new;"&gt;fade('divId');&lt;span style="font-family:georgia;"&gt; and you'll get beautiful animation on your page.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Appear&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;To fade the object we first check whether or not that element is already being displayed (if it is we &lt;span style="font-family:courier new;"&gt;return false&lt;/span&gt;).  Then we un-hide the element and then start the animation. We make a variable &lt;span style="font-family:courier new;"&gt;alpha&lt;/span&gt; with value of 0, and a also a &lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;function&lt;/span&gt; &lt;span style="color: rgb(51, 204, 255);"&gt;a&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;()&lt;/span&gt;&lt;/span&gt;, inside the &lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;function&lt;/span&gt; &lt;span style="color: rgb(51, 204, 255);"&gt;appear&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;(domID)&lt;/span&gt;&lt;/span&gt;. We call this &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;function&lt;/span&gt; &lt;span style="color: rgb(51, 204, 255);"&gt;a&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;, from inside itself after every 100 milliseconds till &lt;span style="font-family:courier new;"&gt;alpha&lt;/span&gt; becomes 10.&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; appear&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;domId&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;obj &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; document&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;getElementById&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;domId&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Get the element&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;obj&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;style&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;display &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;!&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:PURPLE;"  &gt;"none"&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; false&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Return if it is already being displayed&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; obj&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;style&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;display &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:PURPLE;"  &gt;''&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Un-hide the object before its animation&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; alpha &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:BROWN;"  &gt;0&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Set the initial value of alpha to 0 (invisible)&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; a&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Internal function&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  alpha&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;span style="color:BLUE;"&gt;+&lt;/span&gt;&lt;span style="color:BLUE;"&gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Increment alpha&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  setOpacity&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;domId&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; alpha&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//Set the opacity of our element to the specified alpha&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style=";font-size:85%;color:RED;"  &gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;alpha &lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:BROWN;"  &gt;11&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;setTimeout&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;a&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:BROWN;"  &gt;100&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;/*Till alpha is 10, keep calling the&lt;br /&gt;a() function after 100 milliseconds */&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;setTimeout&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;a&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:BROWN;"  &gt;100&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-size:85%;color:GREEN;"  &gt;&lt;i&gt;//This is where we call the a() function for the first time&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Done! Now you have your fade and appear functions ready to add animation on your page. You can download the files from the &lt;a href="http://groups.google.com/group/bitpixels/web/js-animation---fade-appear-div-elements"&gt;Bit Pixels' Forums&lt;/a&gt;. You can also drop by the &lt;a href="http://groups.google.com/group/bitpixels"&gt;forum&lt;/a&gt; if you have any queries, suggestions or just to say Hi!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5676355788719774491-3549799707611548589?l=bitpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/3549799707611548589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5676355788719774491&amp;postID=3549799707611548589' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/3549799707611548589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/3549799707611548589'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/2008/04/js-animation-fadeappear-div-elements-pt.html' title='JS Animation - Fade/Appear DIV Elements Tutorial [Pt. 1]'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5676355788719774491.post-5227905892906304961</id><published>2008-03-31T13:57:00.001+05:30</published><updated>2008-03-31T13:58:26.255+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='statistics'/><category scheme='http://www.blogger.com/atom/ns#' term='js'/><category scheme='http://www.blogger.com/atom/ns#' term='graphic design'/><title type='text'>Pixel Pies are served</title><content type='html'>So I saw this post on &lt;a href="http://www.dashes.com/anil/2007/07/pixels-are-the-new-pies.html"&gt;Anil Dashes' Blog&lt;/a&gt; about how there has been a sudden trend of using pixels as the new pie charts. You can see it in an article by &lt;a href="http://www.wired.com/techbiz/it/magazine/15-08/st_infoporn"&gt;Wired News&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_sYRSuOmb2ew/R-Z8U69ZxgI/AAAAAAAAABQ/NfnT3YsjOAs/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_sYRSuOmb2ew/R-Z8U69ZxgI/AAAAAAAAABQ/NfnT3YsjOAs/s400/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5180965120202360322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Wired News - Pixel Pie Graph&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;One very important question he raised was the structure that would be formed by these pixels. Like whether or not we should stack it up vertically or horizontally, randomly or take time to strategically placing each pixel as shown above. Today I made this JS Object that makes such a graph, it vertically stacks all the values. It ended up looking something like this -&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_sYRSuOmb2ew/R-Z9jK9ZxhI/AAAAAAAAABY/OOYVznANMKc/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_sYRSuOmb2ew/R-Z9jK9ZxhI/AAAAAAAAABY/OOYVznANMKc/s400/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5180966464527123986" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Wired News - Pixel Pie Graph&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Its just a single object, one page I think, pretty neat. I'll be posting a tutorial on how to make something like this pretty soon.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5676355788719774491-5227905892906304961?l=bitpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/5227905892906304961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5676355788719774491&amp;postID=5227905892906304961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/5227905892906304961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/5227905892906304961'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/2008/03/pixel-pies-are-served.html' title='Pixel Pies are served'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_sYRSuOmb2ew/R-Z8U69ZxgI/AAAAAAAAABQ/NfnT3YsjOAs/s72-c/Picture+3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5676355788719774491.post-8179641171492377828</id><published>2008-03-28T20:48:00.009+05:30</published><updated>2008-04-01T12:29:30.455+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Pulsating Animation CSS Links</title><content type='html'>This tutorial will show you how to make a pulsating links without using &lt;a href="http://script.aculo.us/"&gt;script.aculo.us&lt;/a&gt; or other JS animation libraries. This is only a small thing that CSS can achieve but for other animations like Slide Left etc. then use these libraries only.&lt;br /&gt;&lt;br /&gt;By the way if you have any problem during the tutorial you can drop by our &lt;a href="http://groups.google.com/group/bitpixels/"&gt;Google Group&lt;/a&gt; and ask me or the others. You may also &lt;a href="http://groups.google.com/group/bitpixels/web/pulsating-css-link"&gt;download&lt;/a&gt; the necessary files, so that you'll follow better.&lt;br /&gt;&lt;br /&gt;Let us start with the HTML of the links, this is very basic -&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;ul&lt;/b&gt;&lt;/span&gt; class&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"links"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt; href&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"#"&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;title&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"Sample Link"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;Sample Link&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt; href&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"#"&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;title&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"Sample Link"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;Sample Link&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt; href&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"#"&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;title&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"Sample Link"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;Sample Link&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt; href&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"#"&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;title&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"Sample Link"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;Sample Link&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt; href&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"#"&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;title&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"Sample Link"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;Sample Link&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;a&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;li&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;span class="cch1"&gt;&lt;span style="color:gray;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;ul&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Also in the &lt;span style="font-family:courier new;"&gt;head&lt;/span&gt; you'll have to include a &lt;span style="font-family:courier new;"&gt;link&lt;/span&gt; to the required CSS file -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;link&lt;/b&gt;&lt;/span&gt; rel&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"stylesheet"&lt;/span&gt; href&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"res/ui.css"&lt;/span&gt; type&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"text/css"&lt;/span&gt; media&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"screen"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The CSS is very normal too, quite similar to the &lt;a href="http://www.alistapart.com/articles/horizdropdowns"&gt;A List Apart Article on LI Drop Downs&lt;/a&gt;. -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;ul&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;links&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;list&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; none&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;padding&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;ul&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;links li a&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;display&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; block&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;width&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; 200px&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;height&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; 10px&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;border&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;left&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; 6px solid #1958b7&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;border&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;right&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; 10px solid #2175bc&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;background&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; #2175bc&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;padding&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; 10px 20px&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;color&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; white&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;text&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;decoration&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; none&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;font&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; 12px sans&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;serif&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ul&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;links li a&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt;hover&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;border&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;right&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; 10px solid #508fc4&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;background&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; url&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'background.gif'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This will look something like this -&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_sYRSuOmb2ew/R-0Q-a9ZxjI/AAAAAAAAABo/-wbbSUhBllM/s1600-h/sample+link.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_sYRSuOmb2ew/R-0Q-a9ZxjI/AAAAAAAAABo/-wbbSUhBllM/s400/sample+link.png" alt="" id="BLOGGER_PHOTO_ID_5182817410748106290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The actual pulsating effect is caused by the &lt;span style="font-family:courier new;"&gt;'background.gif'&lt;/span&gt; that will be an animated GIF that has a color-fade between 2 colors. Once we have made it and put it in the &lt;span style="font-family:courier new;"&gt;/res&lt;/span&gt; folder, everything will function as required.&lt;br /&gt;&lt;br /&gt;Let us start making it. We'll make a 20X20 px photoshop file. We'll have 2 layers in it one filled with the color &lt;span style="font-family:courier new;"&gt;#2175bc&lt;/span&gt;(dark) and the other layer with &lt;span style="font-family:courier new;"&gt;#2586d7&lt;/span&gt;(light).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_sYRSuOmb2ew/R-0UBa9ZxkI/AAAAAAAAABw/tkrkBUsVKXs/s1600-h/layers.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_sYRSuOmb2ew/R-0UBa9ZxkI/AAAAAAAAABw/tkrkBUsVKXs/s400/layers.png" alt="" id="BLOGGER_PHOTO_ID_5182820760822597186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now we switch to ImageReady. We'll be making a simple animation, in which we'll vary the opacity of the light frame from 0% to 100% (in 10 frames) and the back to 0% in 10 frames.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_sYRSuOmb2ew/R-0U9a9ZxlI/AAAAAAAAAB4/QVhsgAtV8V0/s1600-h/opacity.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_sYRSuOmb2ew/R-0U9a9ZxlI/AAAAAAAAAB4/QVhsgAtV8V0/s400/opacity.gif" alt="" id="BLOGGER_PHOTO_ID_5182821791614748242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;On the top right corner of the layers window, you'll find the option to change the opacity. Remember you have to change the opacity of the the "Light" layer and let the dark layer remain the same.&lt;br /&gt;&lt;br /&gt;Start with 0% increment by 10% till it becomes 100% and then back to 0%. Like 0,10,20,30...100,90,80...20,10,0. Also remember to make a new frame for each opacity. The button that'll allow you to make the new frame is located at the toolbar of the Animation window in ImageReady.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_sYRSuOmb2ew/R-0V269ZxmI/AAAAAAAAACA/UgSuuNrjlhs/s1600-h/frames.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_sYRSuOmb2ew/R-0V269ZxmI/AAAAAAAAACA/UgSuuNrjlhs/s400/frames.gif" alt="" id="BLOGGER_PHOTO_ID_5182822779457226338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Save it as &lt;span style="font-family:courier new;"&gt;background.gif&lt;/span&gt; and you are done. If you wish you can download the HTML, CSS, GIF and the PSD Source file from the &lt;a href="http://groups.google.com/group/bitpixels/web/pulsating-css-link"&gt;BitPixels Forums&lt;/a&gt;. You can ask for an help or give suggestions in the forum too. Don't forget to drop by.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5676355788719774491-8179641171492377828?l=bitpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/8179641171492377828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5676355788719774491&amp;postID=8179641171492377828' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/8179641171492377828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/8179641171492377828'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/2008/03/pulsating-animation-css-links.html' title='Pulsating Animation CSS Links'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_sYRSuOmb2ew/R-0Q-a9ZxjI/AAAAAAAAABo/-wbbSUhBllM/s72-c/sample+link.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5676355788719774491.post-1983810150650125323</id><published>2008-03-25T00:58:00.002+05:30</published><updated>2008-04-01T12:31:51.873+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='js'/><category scheme='http://www.blogger.com/atom/ns#' term='pixel pie'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Pixel Pie Graph Tutorial</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Introduction&lt;br /&gt;&lt;/span&gt;This tutorial will be teaching you how to make an object in JavaScript that will allow you to make a pixel pie graph. If you don't already know what it is, you read my either &lt;a href="http://bitpixels.blogspot.com/2008/03/pixel-pies-are-served.html"&gt;my blog post&lt;/a&gt; or on &lt;a href="http://www.dashes.com/anil/2007/07/pixels-are-the-new-pies.html"&gt;Anil Dashes' Blog&lt;/a&gt;. You may also see a good example of a pixel pie chart at &lt;a href="http://www.wired.com/techbiz/it/magazine/15-08/st_infoporn"&gt;Wired News&lt;/a&gt;. So we will basically try and make a pixel pie chart, something that will end up looking like this -&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_sYRSuOmb2ew/R-Z9jK9ZxhI/AAAAAAAAABY/OOYVznANMKc/s400/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://bp1.blogger.com/_sYRSuOmb2ew/R-Z9jK9ZxhI/AAAAAAAAABY/OOYVznANMKc/s400/Picture+1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pre-requisites&lt;br /&gt;&lt;/span&gt;Before actually starting with the coding, I expect you to know very basic JavaScript JavaScript and a bit of DOM. You can go to &lt;a href="http://yuiblog.com/blog/2007/01/24/video-crockford-tjpl/"&gt;YUI Theater&lt;/a&gt; and look at all the video by Douglas Crockford.&lt;br /&gt;&lt;br /&gt;If you have any problem during the tutorial, drop by on our &lt;a href="http://groups.google.com/group/bitpixels/"&gt;Google  Group&lt;/a&gt; so that me or any of the other members can sort it out. I also suggest you &lt;a href="http://groups.google.com/group/bitpixels/web/javascript-pixel-pie-chart"&gt;download&lt;/a&gt; the necessary file so that you'll follow better in the rest of the tutorial.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Let's Begin&lt;br /&gt;&lt;/span&gt;So as we are going to be making a single object to take care of the whole pixel pie graph, let us take a look at what all it'll be containing.&lt;br /&gt;&lt;br /&gt;Object Pixel Graph -&lt;br /&gt;&lt;ul&gt;&lt;li style="color: rgb(51, 204, 0);"&gt;&lt;span style="font-family:courier new;"&gt;data&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;This will be  hash table or JSON that will contain the data that has been submitted by the user. It'll basically have a caption and a value, like "Apples, 50".&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="color: rgb(51, 204, 0);"&gt;&lt;span style="font-family:courier new;"&gt;pData&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;We will need to convert this &lt;span style="font-family:courier new;"&gt;data&lt;/span&gt; to percentages so that we can easily and efficiently. So we will be putting all the percentage values of our data into this hash table.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="color: rgb(51, 204, 0);"&gt;&lt;span style="font-family:courier new;"&gt;colors&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;This'll be an array of colors from which our program will pick the colors for the pixel pie graph. We will be keeping the hex values of the colors in this array.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="color: rgb(51, 204, 0);"&gt;title: &lt;span style="color: rgb(0, 0, 0);"&gt;Its always nice to have a title to the chart.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="color: rgb(51, 204, 255);"&gt;&lt;span style="font-family:courier new;"&gt;render()&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;This function will actually be rendering the table of 100 X 100 where the pixel pie chart will be formed, and fill it with the right colors and values.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;&lt;span style="font-family:courier new;"&gt;validateData()&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;This will be a simple function to take the &lt;span style="font-family:courier new;"&gt;data&lt;/span&gt; and convert it to &lt;span style="font-family:courier new;"&gt;pData&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Right, now that we know what all we will be making, let us actually start building the object.&lt;br /&gt;&lt;br /&gt;Let us start off by making our &lt;span style="font-family:courier new;"&gt;PixelGraph&lt;/span&gt; object and fill it with everything we'll need. Then we'll discuss each function we need.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;PixelGraph &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;data&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;colors&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;title&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Graph"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;render&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;validateData&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;We'll fill the functions up later. For now let us make an instance of this object and put some data into it.&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;fruits &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; Object&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;PixelGraph&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;fruits&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;title &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Sales of Fruits in 2008"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;fruits&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;data &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Apple"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:BROWN;"&gt;450&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Mango"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt;&lt;span style="color:BROWN;"&gt;2300&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Grapes"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:BROWN;"&gt;3700&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Banana"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:BROWN;"&gt;1000&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;'Cherry'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:BROWN;"&gt;2000&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;fruits&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;render&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"graph"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So as we see, first we make an object that'll inherit from the &lt;span style="font-family:courier new;"&gt;PixelGraph&lt;/span&gt;, then we put in the title as a string. Then we add the data as an array whose elements are hash tables containing the name or caption and the value as discussed in the basic structure. Then we call the function render and pass the ID of the &lt;span style="font-family:courier new;"&gt;div&lt;/span&gt; in which we would like the graph.&lt;br /&gt;&lt;br /&gt;Now, the first function &lt;span style="font-family:courier new;"&gt;validataData()&lt;/span&gt; -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;validateData&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;data&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;total &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style="font-family:mon;"&gt;&lt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;data&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;length&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;total &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;data&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style="font-family:mon;"&gt;&lt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;length&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; Math&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;round&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value &lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;total&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;*&lt;/span&gt; &lt;span style="color:BROWN;"&gt;100&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;We see that initially we give &lt;span style="font-family:courier new;"&gt;pData&lt;/span&gt; the same value as &lt;span style="font-family:courier new;"&gt;data&lt;/span&gt;. Then to calculate the total, we run a loop on &lt;span style="font-family:courier new;"&gt;this.data&lt;/span&gt;, that has the data and take the sum of all the values and keep it in the &lt;span style="font-family:courier new;"&gt;this.total&lt;/span&gt; variable. Then we run a loop on &lt;span style="font-family:courier new;"&gt;this.pData&lt;span style="font-family:georgia;"&gt; and by using basic mathematics we take out the percentages of all the variables and keep it in &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;this.pData.&lt;span style="font-family:georgia;"&gt;Simple as that! Now we come to the &lt;span style="font-family:courier new;"&gt;render()&lt;/span&gt; function. This is a lot of code so first please read it carefully and then read the explaination. Here is the code, take a deep breath  -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;render&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;validateData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;h2&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;title&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"&amp;lt;/h2&amp;gt;&amp;lt;div style='float:left' id='graph-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div style='padding-left: 300px;' id='key-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt;&amp;lt;h2&amp;gt;Key&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; graphArea &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"graph-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; html &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;table border='1' cellspacing='0' cellpadding='0'&amp;gt;"&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; &lt;span style="color:BROWN;"&gt;10&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;html &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;tr bordercolor='red'&amp;gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; j&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;1&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; j &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; &lt;span style="color:BROWN;"&gt;11&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; j&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;html &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;td class='pixel-graph' bordercolor='red' id='pg-p"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;*&lt;/span&gt;&lt;span style="color:BROWN;"&gt;10&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;j&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;html &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;/tr&amp;gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;html &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;/table&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;graphArea&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; html&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; &lt;span style="color:GREEN;"&gt;&lt;i&gt;//Draw the table&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;length&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"key-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;p style=';color:"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;colors&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt;&amp;lt;b&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"&amp;lt;/b&amp;gt;  &amp;lt;span id='key-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt; "&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"%&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;old &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;1&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; &lt;span style="color:BROWN;"&gt;101&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; p&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; p &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; old&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;length&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;old&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value &lt;span style=";font-size:78%;color:BLUE;"  &gt;!&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;bgColor &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"#"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;colors&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;old&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:BROWN;"&gt;1&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;background &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"#"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;colors&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;" url('res/new.gif') top right"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;borderTop &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"none"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;borderRight &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"none"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;p style='margin:7px 0px 0px 4px'&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'key-'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"&amp;lt;/p&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt; old&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;break&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Right! If you haven't left the blog by now, lets start. This is where I'd say the fun part is.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Obviously we first call the &lt;span style="font-family:courier new;"&gt;validateData()&lt;/span&gt; function so that we have the &lt;span style="font-family:courier new;"&gt;pData&lt;/span&gt; ready for when it is needed. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Then we take the domID of the div and put a heading in it with the title and two more div's that'll contain the table of pixels and the key respectively.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;After that we run a nested loop to get the HTML code of the table that will have 10 rows and 10 columns, with each table cell having an ID of p&lt;span style="font-style: italic;"&gt;n&lt;/span&gt;. Then we put this HTML into the required DIV.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Now we'll be making another loop, that will be going through our &lt;span style="font-family:courier new;"&gt;this.pData&lt;/span&gt; and making the key. We associate each element of the data with a particular color. For this to function correctly we will have to fill the &lt;span style="font-family:courier new;"&gt;color&lt;/span&gt; array we made earlier filling it with the hex of the color. Something like &lt;span style="font-family:courier new;"&gt;["eb088d","edadae","a83e6e", "f47d55", "d04a6f"]&lt;span style="font-family:georgia;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;For the actual coloring of the cells we'll be running another set of loops. To understand this imagine you have a few jars of candies, each jar having different amounts of candies, with one jar containing one colored candies. You need to take each candy, jar by jar and put it in a grid of 100 X 100. So every-time you place a candy on the grid, the number of candies in the jar decreases and the number of candies in the grid increases. With that in mind read the last &lt;span style="font-family:courier new;"&gt;for loop's&lt;span style="font-family:georgia;"&gt; code again.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;We loop through the whole grid in the first loop, we sequentially check the  &lt;span style="font-family:courier new;"&gt;pData&lt;span style="font-family:georgia;"&gt; to be zero (or the jar empty) and then move on to the next element(jar). Also every-time we color a cell, we decrement that elements value (because we have already taken that candy now and placed it in the grid).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;If you wish to see the script in action you can download it from the&lt;a href="http://groups.google.com/group/bitpixels/web/javascript-pixel-pie-chart"&gt; page &lt;/a&gt;on the &lt;a href="http://groups.google.com/group/bitpixels"&gt;Bit Pixel Google Group&lt;/a&gt;. You can also drop by for any suggestions or doubts relating to the tutorials.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5676355788719774491-1983810150650125323?l=bitpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/1983810150650125323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5676355788719774491&amp;postID=1983810150650125323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/1983810150650125323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/1983810150650125323'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/2008/03/pixel-pie-graph-tutorial.html' title='Pixel Pie Graph Tutorial'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_sYRSuOmb2ew/R-Z9jK9ZxhI/AAAAAAAAABY/OOYVznANMKc/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5676355788719774491.post-3124174463759554332</id><published>2008-03-24T21:06:00.002+05:30</published><updated>2008-03-24T21:17:27.142+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='js'/><category scheme='http://www.blogger.com/atom/ns#' term='code highlighting'/><title type='text'>Code Colorizer</title><content type='html'>This post is not about web code editing tools, or JS libraries that will highlight your code when you put it in the correct class like the one by &lt;a href="http://svn.danwebb.net/external/CodeHighlighter/"&gt;Dan Webb&lt;/a&gt;. But it is actually about something entirely different and useless to some, but very useful to me.&lt;br /&gt;&lt;br /&gt;As you know that I have decided to put JS tutorials on this blog. So I needed highlighted ode to be displayed in the posts. I had a few option to show highlighted code on this blog -&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Post a picture from TextMate. (But then how will someone copy the code?)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use CodeHighlighter.js. (Does blogger allow external JS?)&lt;/li&gt;&lt;li&gt;Should I put a &lt;span style="font-family:courier new;"&gt;span&lt;/span&gt; tag individually on the code. (Am I Mad?)&lt;/li&gt;&lt;li&gt;Write a little piece of code that'll use CodeHighlighter.js to add the tags for me on my computer and then copy the code. (Takes too much time)&lt;/li&gt;&lt;li&gt;Google (YES!)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_sYRSuOmb2ew/R-fMy69ZxiI/AAAAAAAAABg/7v05YGSzFWA/s1600-h/Code+Colorizer.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_sYRSuOmb2ew/R-fMy69ZxiI/AAAAAAAAABg/7v05YGSzFWA/s400/Code+Colorizer.png" alt="" id="BLOGGER_PHOTO_ID_5181335071505368610" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;a style="font-family: courier new;" href="http://www.chamisplace.com/colorizer/cc.asp"&gt;Chami's Code Colorizer&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So a quick Google search showed that there is a tool that takes code and returns it highlighted and its HTML. I use to go to the same website to make favicons too, &lt;a href="http://www.chamisplace.com/colorizer/cc.asp"&gt;Chami&lt;/a&gt;, I used to love this website. Its a bit ugly but very effective and does the dirty work so I like it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5676355788719774491-3124174463759554332?l=bitpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/3124174463759554332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5676355788719774491&amp;postID=3124174463759554332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/3124174463759554332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/3124174463759554332'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/2008/03/code-colorizer.html' title='Code Colorizer'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_sYRSuOmb2ew/R-fMy69ZxiI/AAAAAAAAABg/7v05YGSzFWA/s72-c/Code+Colorizer.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5676355788719774491.post-6470118045224858640</id><published>2008-03-23T21:17:00.014+05:30</published><updated>2008-04-01T12:32:35.631+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='js'/><category scheme='http://www.blogger.com/atom/ns#' term='pixel pie'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Pixel Pie Chart - Tutorial</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Introduction&lt;br /&gt;&lt;/span&gt;This tutorial will be teaching you how to make an object in JavaScript that will allow you to make a pixel pie graph. If you don't already know what it is, you read my either &lt;a href="http://bitpixels.blogspot.com/2008/03/pixel-pies-are-served.html"&gt;my blog post&lt;/a&gt; or on &lt;a href="http://www.dashes.com/anil/2007/07/pixels-are-the-new-pies.html"&gt;Anil Dashes' Blog&lt;/a&gt;. You may also see a good example of a pixel pie chart at &lt;a href="http://www.wired.com/techbiz/it/magazine/15-08/st_infoporn"&gt;Wired News&lt;/a&gt;. So we will basically try and make a pixel pie chart, something that will end up looking like this -&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_sYRSuOmb2ew/R-Z9jK9ZxhI/AAAAAAAAABY/OOYVznANMKc/s400/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://bp1.blogger.com/_sYRSuOmb2ew/R-Z9jK9ZxhI/AAAAAAAAABY/OOYVznANMKc/s400/Picture+1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pre-requisites&lt;br /&gt;&lt;/span&gt;Before actually starting with the coding, I expect you to know very basic JavaScript JavaScript and a bit of DOM. You can go to &lt;a href="http://yuiblog.com/blog/2007/01/24/video-crockford-tjpl/"&gt;YUI Theater&lt;/a&gt; and look at all the video by Douglas Crockford.&lt;br /&gt;&lt;br /&gt;If you have any problem during the tutorial, drop by on our &lt;a href="http://groups.google.com/group/bitpixels/"&gt;Google  Group&lt;/a&gt; so that me or any of the other members can sort it out. I also suggest you &lt;a href="http://groups.google.com/group/bitpixels/web/javascript-pixel-pie-chart"&gt;download&lt;/a&gt; the necessary file so that you'll follow better in the rest of the tutorial.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Let's Begin&lt;br /&gt;&lt;/span&gt;So as we are going to be making a single object to take care of the whole pixel pie graph, let us take a look at what all it'll be containing.&lt;br /&gt;&lt;br /&gt;Object Pixel Graph -&lt;br /&gt;&lt;ul&gt;&lt;li style="color: rgb(51, 204, 0);"&gt;&lt;span style="font-family:courier new;"&gt;data&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;This will be hash table or JSON that will contain the data that has been submitted by the user. It'll basically have a caption and a value, like "Apples, 50".&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="color: rgb(51, 204, 0);"&gt;&lt;span style="font-family:courier new;"&gt;pData&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;We will need to convert this &lt;span style="font-family:courier new;"&gt;data&lt;/span&gt; to percentages so that we can easily and efficiently. So we will be putting all the percentage values of our data into this hash table.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="color: rgb(51, 204, 0);"&gt;&lt;span style="font-family:courier new;"&gt;colors&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;This'll be an array of colors from which our program will pick the colors for the pixel pie graph. We will be keeping the hex values of the colors in this array.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="color: rgb(51, 204, 0);"&gt;title: &lt;span style="color: rgb(0, 0, 0);"&gt;Its always nice to have a title to the chart.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="color: rgb(51, 204, 255);"&gt;&lt;span style="font-family:courier new;"&gt;render()&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;This function will actually be rendering the table of 100 X 100 where the pixel pie chart will be formed, and fill it with the right colors and values.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;&lt;span style="font-family:courier new;"&gt;validateData()&lt;/span&gt;: &lt;span style="color: rgb(0, 0, 0);"&gt;This will be a simple function to take the &lt;span style="font-family:courier new;"&gt;data&lt;/span&gt; and convert it to &lt;span style="font-family:courier new;"&gt;pData&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Right, now that we know what all we will be making, let us actually start building the object.&lt;br /&gt;&lt;br /&gt;Let us start off by making our &lt;span style="font-family:courier new;"&gt;PixelGraph&lt;/span&gt; object and fill it with everything we'll need. Then we'll discuss each function we need.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;PixelGraph &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;data&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;colors&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;title&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Graph"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;render&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;validateData&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;We'll fill the functions up later. For now let us make an instance of this object and put some data into it.&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;fruits &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; Object&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;PixelGraph&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;fruits&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;title &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Sales of Fruits in 2008"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;fruits&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;data &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Apple"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:BROWN;"&gt;450&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Mango"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt;&lt;span style="color:BROWN;"&gt;2300&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Grapes"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:BROWN;"&gt;3700&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"Banana"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:BROWN;"&gt;1000&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;'Cherry'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:BROWN;"&gt;2000&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;fruits&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;render&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"graph"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So as we see, first we make an object that'll inherit from the &lt;span style="font-family:courier new;"&gt;PixelGraph&lt;/span&gt;, then we put in the title as a string. Then we add the data as an array whose elements are hash tables containing the name or caption and the value as discussed in the basic structure. Then we call the function render and pass the ID of the &lt;span style="font-family:courier new;"&gt;div&lt;/span&gt; in which we would like the graph.&lt;br /&gt;&lt;br /&gt;Now, the first function &lt;span style="font-family:courier new;"&gt;validataData()&lt;/span&gt; -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;validateData&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;data&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;total &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style="font-family:mon;"&gt;&lt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;data&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;length&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;total &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;data&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style="font-family:mon;"&gt;&lt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;length&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; Math&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;round&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value &lt;span style=";font-size:78%;color:BLUE;"  &gt;/&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;total&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;*&lt;/span&gt; &lt;span style="color:BROWN;"&gt;100&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;We see that initially we give &lt;span style="font-family:courier new;"&gt;pData&lt;/span&gt; the same value as &lt;span style="font-family:courier new;"&gt;data&lt;/span&gt;. Then to calculate the total, we run a loop on &lt;span style="font-family:courier new;"&gt;this.data&lt;/span&gt;, that has the data and take the sum of all the values and keep it in the &lt;span style="font-family:courier new;"&gt;this.total&lt;/span&gt; variable. Then we run a loop on &lt;span style="font-family:courier new;"&gt;this.pData&lt;span style="font-family:georgia;"&gt; and by using basic mathematics we take out the percentages of all the variables and keep it in &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;this.pData.&lt;span style="font-family:georgia;"&gt;Simple as that! Now we come to the &lt;span style="font-family:courier new;"&gt;render()&lt;/span&gt; function. This is a lot of code so first please read it carefully and then read the explaination. Here is the code, take a deep breath -&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;render&lt;span style=";font-size:78%;color:BLUE;"  &gt;:&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;function&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;validateData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;h2&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;title&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"&amp;lt;/h2&amp;gt;&amp;lt;div style='float:left' id='graph-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div style='padding-left: 300px;' id='key-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt;&amp;lt;h2&amp;gt;Key&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; graphArea &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"graph-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; html &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;table border='1' cellspacing='0' cellpadding='0'&amp;gt;"&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; &lt;span style="color:BROWN;"&gt;10&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;html &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;tr bordercolor='red'&amp;gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; j&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;1&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; j &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; &lt;span style="color:BROWN;"&gt;11&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; j&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;html &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;td class='pixel-graph' bordercolor='red' id='pg-p"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;*&lt;/span&gt;&lt;span style="color:BROWN;"&gt;10&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;j&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;html &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;/tr&amp;gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;html &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;/table&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;graphArea&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; html&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; &lt;span style="color:GREEN;"&gt;&lt;i&gt;//Draw the table&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt; &lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;length&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"key-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;domId&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML &lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;p style=';color:"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;colors&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt;&amp;lt;b&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;name&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"&amp;lt;/b&amp;gt;  &amp;lt;span id='key-"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"'&amp;gt; "&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"%&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;old &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;pData&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;1&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; &lt;span style="color:BROWN;"&gt;101&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt; p&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; p &lt;span style=";font-size:78%;color:BLUE;"  &gt;&amp;lt;&lt;/span&gt; old&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;length&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt; p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;old&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value &lt;span style=";font-size:78%;color:BLUE;"  &gt;!&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:BROWN;"&gt;0&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;bgColor &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"#"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;colors&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;old&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:BROWN;"&gt;1&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;background &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"#"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;this&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;colors&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;" url('res/new.gif') top right"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;borderTop &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"none"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;style&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;borderRight &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"none"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'pg-p'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;i&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML &lt;span style=";font-size:78%;color:BLUE;"  &gt;=&lt;/span&gt; &lt;span style="color:PURPLE;"&gt;"&amp;lt;p style='margin:7px 0px 0px 4px'&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;document&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;getElementById&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;'key-'&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;innerHTML&lt;span style=";font-size:78%;color:BLUE;"  &gt;+&lt;/span&gt;&lt;span style="color:PURPLE;"&gt;"&amp;lt;/p&amp;gt;"&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;old&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;p&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;]&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;value&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:RED;"&gt;&lt;b&gt;break&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:BLUE;"  &gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Right! If you haven't left the blog by now, lets start. This is where I'd say the fun part is.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Obviously we first call the &lt;span style="font-family:courier new;"&gt;validateData()&lt;/span&gt; function so that we have the &lt;span style="font-family:courier new;"&gt;pData&lt;/span&gt; ready for when it is needed. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Then we take the domID of the div and put a heading in it with the title and two more div's that'll contain the table of pixels and the key respectively.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;After that we run a nested loop to get the HTML code of the table that will have 10 rows and 10 columns, with each table cell having an ID of p&lt;span style="font-style: italic;"&gt;n&lt;/span&gt;. Then we put this HTML into the required DIV.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Now we'll be making another loop, that will be going through our &lt;span style="font-family:courier new;"&gt;this.pData&lt;/span&gt; and making the key. We associate each element of the data with a particular color. For this to function correctly we will have to fill the &lt;span style="font-family:courier new;"&gt;color&lt;/span&gt; array we made earlier filling it with the hex of the color. Something like &lt;span style="font-family:courier new;"&gt;["eb088d","edadae","a83e6e", "f47d55", "d04a6f"]&lt;span style="font-family:georgia;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;For the actual coloring of the cells we'll be running another set of loops. To understand this imagine you have a few jars of candies, each jar having different amounts of candies, with one jar containing one colored candies. You need to take each candy, jar by jar and put it in a grid of 100 X 100. So every-time you place a candy on the grid, the number of candies in the jar decreases and the number of candies in the grid increases. With that in mind read the last &lt;span style="font-family:courier new;"&gt;for loop's&lt;span style="font-family:georgia;"&gt; code again.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;We loop through the whole grid in the first loop, we sequentially check the  &lt;span style="font-family:courier new;"&gt;pData&lt;span style="font-family:georgia;"&gt; to be zero (or the jar empty) and then move on to the next element(jar). Also every-time we color a cell, we decrement that elements value (because we have already taken that candy now and placed it in the grid).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;If you wish to see the script in action you can download it from the&lt;a href="http://groups.google.com/group/bitpixels/web/javascript-pixel-pie-chart"&gt; page &lt;/a&gt;on the &lt;a href="http://groups.google.com/group/bitpixels"&gt;Bit Pixel Google Group&lt;/a&gt;. You can also drop by for any suggestions or doubts relating to the tutorials.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5676355788719774491-6470118045224858640?l=bitpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/6470118045224858640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5676355788719774491&amp;postID=6470118045224858640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/6470118045224858640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/6470118045224858640'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/2008/03/pixel-pie-chart.html' title='Pixel Pie Chart - Tutorial'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_sYRSuOmb2ew/R-Z9jK9ZxhI/AAAAAAAAABY/OOYVznANMKc/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5676355788719774491.post-3895076712058533327</id><published>2008-03-23T21:12:00.002+05:30</published><updated>2008-03-23T21:15:05.454+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><title type='text'>WTF?</title><content type='html'>Like always I will start this blog off by explaining what Vivek and I will be posting in it. Mainly tech news, some tutorials, stuff related to graphic design, really weird little stuff and some times and rantings too. Vivek might be posting about Hardware stuff too, but I'll mainly stick to websites and graphic design.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5676355788719774491-3895076712058533327?l=bitpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/3895076712058533327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5676355788719774491&amp;postID=3895076712058533327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/3895076712058533327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/3895076712058533327'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/2008/03/wtf.html' title='WTF?'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5676355788719774491.post-8831053398570072883</id><published>2008-03-23T16:07:00.002+05:30</published><updated>2008-03-23T17:06:18.662+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>Logo</title><content type='html'>So the logo is finally ready. It shows us the very beginning of &lt;span style="font-style: italic;"&gt;fun &lt;/span&gt;coding and graphic designing. Here it is -&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_sYRSuOmb2ew/R-ZAoK9ZxdI/AAAAAAAAAA0/-Ue2V6QILJE/s1600-h/header.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_sYRSuOmb2ew/R-ZAoK9ZxdI/AAAAAAAAAA0/-Ue2V6QILJE/s400/header.jpg" alt="" id="BLOGGER_PHOTO_ID_5180899480217175506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now I just have to figure out how to put it in the blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5676355788719774491-8831053398570072883?l=bitpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitpixels.blogspot.com/feeds/8831053398570072883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5676355788719774491&amp;postID=8831053398570072883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/8831053398570072883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5676355788719774491/posts/default/8831053398570072883'/><link rel='alternate' type='text/html' href='http://bitpixels.blogspot.com/2008/03/logo.html' title='Logo'/><author><name>Prateek Saxena</name><uri>http://www.blogger.com/profile/05929806953272469420</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_sYRSuOmb2ew/SNTJBbG8q1I/AAAAAAAAACM/mU4OnoVKT-M/S220/80.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_sYRSuOmb2ew/R-ZAoK9ZxdI/AAAAAAAAAA0/-Ue2V6QILJE/s72-c/header.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
