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

<channel>
	<title>Remember the code?</title>
	<atom:link href="http://code.neox.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://code.neox.net</link>
	<description>a place where I store my secret powerful coding snippets, or just to remember how to do things</description>
	<lastBuildDate>Fri, 19 Jun 2009 11:36:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Open Flash Chart</title>
		<link>http://code.neox.net/2009/06/18/open-flash-chart/</link>
		<comments>http://code.neox.net/2009/06/18/open-flash-chart/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 22:38:42 +0000</pubDate>
		<dc:creator>HanaDaddy</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[Chart]]></category>
		<category><![CDATA[Free]]></category>

		<guid isPermaLink="false">http://code.neox.net/?p=42</guid>
		<description><![CDATA[Today I found this website Open Flash Chart project.
It&#8217;s a FREE flash chart component and they are very beautiful! They have line, pie, and bar charts and more.  I am going to try this today later, but I am just make a quick post so I can review back again.

This image is not actual [...]]]></description>
			<content:encoded><![CDATA[<p>Today I found this website <a href='http://teethgrinder.co.uk/open-flash-chart/'>Open Flash Chart project.</a></p>
<p>It&#8217;s a FREE flash chart component and they are very beautiful! They have line, pie, and bar charts and more.  I am going to try this today later, but I am just make a quick post so I can review back again.</p>
<p><img src="http://code.neox.net/wp-content/uploads/2009/06/openchart.jpg" alt="" title="openchart" width="400" height="202" class="aligncenter size-full wp-image-43" /><br />
This image is not actual flash, by the way. I just don&#8217;t have time to set it up yet.</p>
<p>Here is the authors comments why this beautiful commercial quality flash component is FREE.</p>
<blockquote><p>
And it&#8217;s really free?!</p>
<p>Yes. Once upon a time I had to deal with a company who sell flash charting components, their component had a bug that I needed fixing, so I emailed them about it asking when it&#8217;d be fixed. (Remember that I had paid real money for this software.) They were so incompetent, rude and obnoxious that after three or four weeks of emails I thought to myself &#8220;I could learn Flash and Actionscript and write my own charting component, release it as Open Source, host it on sourceforge and build up a community of helpful coders faster than they can fix a single bug.&#8221; And that is what I did. And that is why it is free. I guess the moral of the lesson is: don&#8217;t piss off your customers.
</p></blockquote>
<p>Only if I had that passion , knowledge, and the time to do this kind work. I envy him. I would like to create my own version of flash movie player, you know. But I am too lazy. <img src='http://code.neox.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>Website: <a href='http://teethgrinder.co.uk/open-flash-chart/'>Open Flash Chart project.</a><br />
<a href='http://teethgrinder.co.uk/open-flash-chart-2/'>Open Flash Chart version 2 </a></p>
<p>Thank you for visiting <a href='http://code.neox.net'>Remember the code?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://code.neox.net/2009/06/18/open-flash-chart/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eclipse PDT Code Completion and Zend Framework</title>
		<link>http://code.neox.net/2009/03/10/eclipse-pdt-code-completion-and-zend-framework/</link>
		<comments>http://code.neox.net/2009/03/10/eclipse-pdt-code-completion-and-zend-framework/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 04:22:34 +0000</pubDate>
		<dc:creator>HanaDaddy</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[code completion]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://code.neox.net/?p=38</guid>
		<description><![CDATA[
Hello, Thank you for visiting my remember the code blog.
I am currently trying to learn how to use Zend Framework. It is a very good and flexible framework and easier to understand compared to CakePHP or Symfony frameworks.  Well I was trying some example codes with the Eclipse 3.4 &#038; PDT 2.0 package and [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://code.neox.net/wp-content/uploads/2009/03/eclipse_link.jpg" alt="" title="eclipse_link" width="500" height="164" /></p>
<p>Hello, Thank you for visiting my <a href='http://code.neox.net'>remember the code</a> blog.</p>
<p>I am currently trying to learn how to use Zend Framework. It is a very good and flexible framework and easier to understand compared to CakePHP or Symfony frameworks.  Well I was trying some example codes with the Eclipse 3.4 &#038; PDT 2.0 package and found some issues that code completion does not work as I want it to.</p>
<p>One of the biggest problem was that the code completion does not work with Zend_Regsitry. When you retrieve a object from the registry and try to execute the code completion (you can force it by Ctrl + Space), it doesn&#8217;t work, since Eclipse doesn&#8217;t know what type of data it is.</p>
<p>I really like Eclipse but with partially working code completion, it is very annoying and I was really hoping for the better working code completion function. </p>
<p>So I was searching for the various website for any quick solutions  and here they are. I spent the whole day yesterday, and it was very difficult for me to gather all these information. So please enjoy and leave some comments if you can. Thanks.</p>
<p><strong>1. Use PHPDoc Style definition to define data type of your custom functions arguments and return value.</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #808080; font-style: italic;">//Here is the PHPDoc defined by myself right above the custom function</span>
<span style="color: #808080; font-style: italic;">/**
 *
 * @param  mixed $config Some configuration information for the DB connection 
 * @param  CustomClass $object Special Custom Class  
 * @return Zend_Db_Adapter_Abstract
 * @throws Zend_Db_Exception
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> getDbAdapter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$config</span><span style="color: #66cc66;">,</span><span style="color: #ff0000">$object</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//In the below line, Code Completion will work since Eclipse knows the type from the </span>
	<span style="color: #808080; font-style: italic;">//PHPDoc @param entry.</span>
	<span style="color: #ff0000">$object</span><span style="color: #66cc66;">-&gt;</span>  
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #ff0000">$db</span><span style="color: #66cc66;">;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #ff0000">$db</span><span style="color: #66cc66;">=</span>getDbAdapter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$config</span><span style="color: #66cc66;">,</span><span style="color: #ff0000">$object</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>    
<span style="color: #808080; font-style: italic;">//Code Completion will also work with $db variable below since the return type was defined </span>
<span style="color: #808080; font-style: italic;">// in the getDbAdapter function's PHPDoc.</span>
<span style="color: #ff0000">$db</span><span style="color: #66cc66;">-&gt;</span></pre></div></div>

<p><strong>2. Providing code completion hints for the Class member variable.</strong><br />
Still PHPDoc is the answer for the code completion to work with class member variables.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">class</span> HelloClass
<span style="color: #66cc66;">&#123;</span>	
	<span style="color: #808080; font-style: italic;">/**
	 *  @var Zend_Db_Adapter_Abstract
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #ff0000">$db2</span><span style="color: #66cc66;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #ff0000">$this</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">db2</span> <span style="color: #66cc66;">=</span> Zend_Registry<span style="color: #66cc66;">::</span><span style="color: #006600;">get</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'dbAdapter'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//Code Completion will work since @var PHPDoc was defined with the necessary class type </span>
		<span style="color: #808080; font-style: italic;">// in the class member definition above.</span>
		<span style="color: #ff0000">$this</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">db2</span><span style="color: #66cc66;">-&gt;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><strong>3. Make code completion working with any variable</strong><br />
In this case, use standard comment format with @var. This method should be used only when the code completion does not automatically work.</p>
<pre>
/* @var $variable_name ClassName */
</pre>
<p><strong>Working Example</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #ff0000">$registry</span> <span style="color: #66cc66;">=</span> Zend_Registry<span style="color: #66cc66;">::</span><span style="color: #006600;">getInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* @var $db3 Zend_Db_Adapter_Abstract */</span>
<span style="color: #ff0000">$db3</span><span style="color: #66cc66;">=</span><span style="color: #ff0000">$registry</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">dbAdapter</span><span style="color: #66cc66;">;</span>  <span style="color: #808080; font-style: italic;">//before using the variable for the code completion, the variable must be initialized.</span>
<span style="color: #ff0000">$db3</span><span style="color: #66cc66;">-&gt;</span></pre></div></div>

<p>One thing to be careful with the third convention is that you need to initialize the variable first before testing code completion. Most of the time, it works wonderfully, but I found that it is not working with the direct call of Zend_Registry&#8217;s get method.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #808080; font-style: italic;">/* @var $db3 Zend_Db_Adapter_Abstract */</span>
<span style="color: #ff0000">$db3</span> <span style="color: #66cc66;">=</span> Zend_Registry<span style="color: #66cc66;">::</span><span style="color: #006600;">get</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'dbadapter'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
<span style="color: #ff0000">$db3</span><span style="color: #66cc66;">-&gt;</span> <span style="color: #808080; font-style: italic;">//code completion would not work because...</span></pre></div></div>

<p>The reason is that the the method called had PHPDoc with @return value &#8216;mixed&#8217; or &#8216;unknown_type&#8217;. Here is the get method from the Registry.php. As you can see, the @return value is &#8216;mixed&#8217;.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #808080; font-style: italic;">/**
 * getter method, basically same as offsetGet().
 *
 * This method can be called from an object of type Zend_Registry, or it
 * can be called statically.  In the latter case, it uses the default
 * static instance stored in the class.
 *
 * @param string $index - get the value associated with $index
 * @return mixed
 * @throws Zend_Exception if no entry is registerd for $index.
 */</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066;">static</span> <span style="color: #000000; font-weight: bold;">function</span> get<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$index</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #ff0000">$instance</span> <span style="color: #66cc66;">=</span> self<span style="color: #66cc66;">::</span><span style="color: #006600;">getInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span><span style="color: #ff0000">$instance</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">offsetExists</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$index</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">require_once</span> <span style="color: #ff0000;">'Zend/Exception.php'</span><span style="color: #66cc66;">;</span>
        throw <span style="color: #000000; font-weight: bold;">new</span> Zend_Exception<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;No entry is registered for key '$index'&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #ff0000">$instance</span><span style="color: #66cc66;">-&gt;</span><span style="color: #006600;">offsetGet</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$index</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Another non-working case is when the variable is assigned again after the first assignment.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #808080; font-style: italic;">/* @var $db3 Zend_Db_Adapter_Abstract */</span>
<span style="color: #ff0000">$db3</span> <span style="color: #66cc66;">=</span> <span style="color: #ff0000">$abc</span><span style="color: #66cc66;">;</span>
<span style="color: #ff0000">$dbx</span><span style="color: #66cc66;">-&gt;</span> <span style="color: #808080; font-style: italic;">//Code completion is working here.</span>
<span style="color: #ff0000">$db3</span> <span style="color: #66cc66;">=</span> <span style="color: #ff0000">$def</span><span style="color: #66cc66;">;</span>
<span style="color: #ff0000">$db3</span><span style="color: #66cc66;">-&gt;</span> <span style="color: #808080; font-style: italic;">//code completion is not working here because $db3 was assigned more than once</span></pre></div></div>

<p>Then what do you do if you want to use Zend_Registry::get() without @var comment?<br />
You can create a custom function or class method with PHPDoc with proper @return type defined. Inside the function, the Zend_Registry::get() is called .</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">class</span> GlobalUtil
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">/**
	 * @return Zend_Db_Adapter_Abstract
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066;">static</span> <span style="color: #000000; font-weight: bold;">function</span> getDbAdapter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$index</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">''</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$index</span> <span style="color: #66cc66;">==</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">&#41;</span> <span style="color: #ff0000">$index</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">'dbadapter'</span><span style="color: #66cc66;">;</span>
		<span style="color: #b1b100;">return</span> Zend_Registry<span style="color: #66cc66;">::</span><span style="color: #006600;">get</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000">$index</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #ff0000">$db</span><span style="color: #66cc66;">=</span>GlobalUtil<span style="color: #66cc66;">::</span><span style="color: #006600;">getDbAdapter</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
<span style="color: #ff0000">$db</span><span style="color: #66cc66;">-&gt;</span> <span style="color: #808080; font-style: italic;">//Code completion is working here.</span></pre></div></div>

<p>There will not be much cases of using the third convention since most cases, the Eclipse will be able to handle the code completion automatically. However it&#8217;s good to know how to make it work.</p>
<p><strong>Here is my last comment on the code completion.</strong> In order for the code completion to work properly, you have to have the Zend Framework files inside the project folder. </p>
<p>Zend Framework data files are about 20MB and I didn&#8217;t want to make duplicated copies for different php project, so I made a central location folder to store Zend library data and shared it with other PHP project by adding this folder to each project&#8217;s include path.</p>
<p>This idea seemed OK at first, but I realized that for some cases, the code completion didn&#8217;t work even if it was working OK when the Zend Library was located within the project folder!</p>
<p><a href='http://code.neox.net/wp-content/uploads/2009/03/eclipse_folder.jpg'><img src="http://code.neox.net/wp-content/uploads/2009/03/eclipse_folder-150x150.jpg" alt="" title="eclipse_folder" width="150" height="150" class="" /></a></p>
<p>The solution is very simple. You can just create a new folder within the project folder and use the advanced button to enable the &#8216;Link to folder in the file system&#8217; option. Then you can browse and set the actual library folder where the actual Zend framework files are located. This will result the same effect as if the external folder is located within the project folder. Now we can have the desired code completion fully working.</p>
<p>So if you follow my above code completion guide , I believe that you will be able to enjoy the code completion for the most of the time. If you find the cases that the code completion is still not working , leave me a comment! I will gladly help you to resolve the problem. </p>
]]></content:encoded>
			<wfw:commentRss>http://code.neox.net/2009/03/10/eclipse-pdt-code-completion-and-zend-framework/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>hosting migration &#8211; moving email data from Mbox to Maildir</title>
		<link>http://code.neox.net/2008/06/25/hosting-server-migration-moving-email-data/</link>
		<comments>http://code.neox.net/2008/06/25/hosting-server-migration-moving-email-data/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 17:11:47 +0000</pubDate>
		<dc:creator>HanaDaddy</dc:creator>
				<category><![CDATA[system]]></category>
		<category><![CDATA[imap]]></category>
		<category><![CDATA[maildir]]></category>
		<category><![CDATA[mbox]]></category>

		<guid isPermaLink="false">http://code.neox.net/?p=36</guid>
		<description><![CDATA[Recently I moved to a new hosting provider . It&#8217;s much better than the previous one.  I used to use a dedicated server but I have no time to take care the server and softwares and it was much expensive anyway. This new server provides cpanel and I like it . Its easy to [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I moved to a new hosting provider . It&#8217;s much better than the previous one.  I used to use a dedicated server but I have no time to take care the server and softwares and it was much expensive anyway. This new server provides cpanel and I like it . Its easy to use and provides powerful functions. </p>
<p>But there was no function to migrate or import existing mails into the newly created email account. </p>
<p>So I have searched the Internet and found <a href='http://batleth.sapienti-sat.org/projects/mb2md/'>mb2md.pl</a> . Mbox to Maildir migration perl utility. You can download and save it into PATH registered folder and rename it to mb2md and <code>chmod 755 mb2md</code> to execute it.</p>
<p><strong>Inbox import </strong>: Importing <code>source_mbox_file</code> into current maildir account. Note that  <code>/home/userid/target_dir</code> is the root folder of your maildir account. You will need to use full path for both source file and target dir.</p>

<div class="wp_syntax"><div class="code"><pre>mb2md -s  /home/userid/source_mbox_file -d /home/userid/target_dir</pre></div></div>

<p><strong>Multi files in a folder</strong> : multi mbox files are located in <code>/home/userid/source_dir</code> and the <code>/home/userid/target_dir</code> is the root of your maildir account. Also you need to use full path for source and target dir.</p>

<div class="wp_syntax"><div class="code"><pre>mb2md -s /home/userid/source_dir -R -d /home/userid/target_dir</pre></div></div>

<p>After importing mutliple mboxes , you want to login to your Squirrelmail or Roundcube webmail and subscribe mailboxes to make them showing in the mailbox list.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.neox.net/2008/06/25/hosting-server-migration-moving-email-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SarahAjax Javascript Ajax Class</title>
		<link>http://code.neox.net/2008/06/03/sarahajax-javascript-ajax-class/</link>
		<comments>http://code.neox.net/2008/06/03/sarahajax-javascript-ajax-class/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 03:17:17 +0000</pubDate>
		<dc:creator>HanaDaddy</dc:creator>
				<category><![CDATA[Javascript and CSS]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[sarah]]></category>

		<guid isPermaLink="false">http://code.neox.net/?p=34</guid>
		<description><![CDATA[Download sarahajax.zip
Okay, here is my SarahAjax Javascript Class. You can use it without hassle!
You can either inherit and &#8216;action&#8217; function or by prototyping a function named &#8216;action&#8217;. &#8216;action&#8217; function will be called when the request to the resource is successful.
This is SarahAjax Class.

// 6/2/2008 HanaDaddy  hanadaddy at gmail.com
&#160;
/* SarahAjax is a very simple ajax [...]]]></description>
			<content:encoded><![CDATA[<p><a href='/sarahajax.zip'><strong>Download sarahajax.zip</strong></a></p>
<p>Okay, here is my SarahAjax Javascript Class. You can use it without hassle!</p>
<p>You can either inherit and &#8216;action&#8217; function or by prototyping a function named &#8216;action&#8217;. &#8216;action&#8217; function will be called when the request to the resource is successful.</p>
<p>This is SarahAjax Class.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #009900; font-style: italic;">// 6/2/2008 HanaDaddy  hanadaddy at gmail.com</span>
&nbsp;
<span style="color: #009900; font-style: italic;">/* SarahAjax is a very simple ajax class.
 * url: target url to call. It is usally dynamic script or a simple page return xml or text.
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> SarahAjax<span style="color: #66cc66;">&#40;</span>url<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">url</span>=url;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span> ; 
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">method</span>=<span style="color: #3366CC;">&quot;GET&quot;</span>;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">async</span>= <span style="color: #003366; font-weight: bold;">true</span>; <span style="color: #009900; font-style: italic;">//if false , the connection will be synchronous ( you have to wait for the reply)</span>
	<span style="color: #009900; font-style: italic;">//this.action = function (obj) { }  // Success reply handler. : youre responsibilty </span>
	<span style="color: #009900; font-style: italic;">//this.error  = function (obj) { }  // Error reply handler : your responsiblity to implement.	</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">sendRequest</span> = <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span> == <span style="color: #003366; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
    			<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>window.<span style="color: #006600;">XMLHttpRequest</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
				<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span> = <span style="color: #003366; font-weight: bold;">new</span> XMLHttpRequest<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    			<span style="color: #66cc66;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>window.<span style="color: #006600;">ActiveXObject</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    				<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span> = <span style="color: #003366; font-weight: bold;">new</span> ActiveXObject<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;Microsoft.XMLHTTP&quot;</span><span style="color: #66cc66;">&#41;</span>;
    			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">action</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;SaraAjax:Action member function is not defined! We need the reply handler!&quot;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #000066; font-weight: bold;">return</span>;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span>.<span style="color: #000066;">open</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">method</span>, <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">url</span>, <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">async</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
		<span style="color: #003366; font-weight: bold;">var</span> sajaxreq = <span style="color: #000066; font-weight: bold;">this</span>; <span style="color: #009900; font-style: italic;">// this is necessary to access myself in the callback function</span>
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span>.<span style="color: #006600;">onreadystatechange</span> = <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> sajaxreq.<span style="color: #006600;">callback</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span>.<span style="color: #006600;">send</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">callback</span> = <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span>.<span style="color: #006600;">readyState</span> == <span style="color: #CC0000;">4</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span>.<span style="color: #000066;">status</span> == <span style="color: #CC0000;">200</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
				<span style="color: #009900; font-style: italic;">//alert(&quot;reply is back?&quot;+this.reqobj.responseText);</span>
				<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">action</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #66cc66;">&#123;</span>
			 	<span style="color: #009900; font-style: italic;">//alert(&quot;There was a problem retrieving data:\n&quot; + this.reqobj.statusText);</span>
			 	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">error</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			 		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">error</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">reqobj</span><span style="color: #66cc66;">&#41;</span>;
			 	<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>		
	<span style="color: #66cc66;">&#125;</span>	
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><span id="more-34"></span><br />
<a href='/sarahajax/usage1.html'><strong>Click here for Usage Example1: Prototyping</strong></a><br />
How to use: </p>
<ol>
<li>Include the script <code>sarahajax.js</code> file in your html file.</li>
<li>Implement &#8216;<code>action</code>&#8216; function by prototyping. This function is only called when request reply is OK.</li>
<li>Optionally add &#8216;<code>error</code>&#8216; function. It is called by SarahAjax object when there was error occured or the request reply is not normal.
<li>Initialize a SarahAjax object with Target URL to send request to.</li>
<li>Call the object&#8217;s &#8216;<code>sendRequest()</code>&#8216; method to send request to the URL</li>
</ol>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #66cc66;">&lt;</span>html<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>head<span style="color: #66cc66;">&gt;&lt;</span>title<span style="color: #66cc66;">&gt;</span>SarahAjax Testing <span style="color: #CC0000;">1</span> using prototyping<span style="color: #66cc66;">&lt;/</span>title<span style="color: #66cc66;">&gt;</span>
&nbsp;
&nbsp;
<span style="color: #66cc66;">&lt;</span>script type=<span style="color: #3366CC;">&quot;text/javascript&quot;</span> src=<span style="color: #3366CC;">&quot;sarahajax.js&quot;</span><span style="color: #66cc66;">&gt;&lt;/</span>script<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>script type=<span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #66cc66;">&gt;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//The action function must have the  argument for XMLHttpRequest object</span>
SarahAjax.<span style="color: #006600;">prototype</span>.<span style="color: #006600;">action</span>= <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span>obj<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #009900; font-style: italic;">//obj.responseText : Regualar string</span>
	<span style="color: #009900; font-style: italic;">//obj.statusText : Showing Requst Result Status</span>
	<span style="color: #009900; font-style: italic;">//obj.responseXML : XML string</span>
	<span style="color: #003366; font-weight: bold;">var</span> div = document.<span style="color: #006600;">getElementById</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;result&quot;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>div<span style="color: #66cc66;">&#41;</span>
		div.<span style="color: #006600;">innerHTML</span> = obj.<span style="color: #006600;">responseText</span>; 
	<span style="color: #000066; font-weight: bold;">else</span>
		<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;hey where should I show the reply text?&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//error functino is optional, but it's a good idea to create one.</span>
SarahAjax.<span style="color: #006600;">prototype</span>.<span style="color: #006600;">error</span> = <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>obj<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span>obj.<span style="color: #006600;">statusText</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//Now create an object. The request will be sent to target_app.php</span>
<span style="color: #003366; font-weight: bold;">var</span> sajax = <span style="color: #003366; font-weight: bold;">new</span> SarahAjax<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;target_app.php&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
&nbsp;
<span style="color: #66cc66;">&lt;/</span>script<span style="color: #66cc66;">&gt;</span>
&nbsp;
<span style="color: #66cc66;">&lt;</span>style type=<span style="color: #3366CC;">&quot;text/css&quot;</span><span style="color: #66cc66;">&gt;</span>
#result <span style="color: #66cc66;">&#123;</span>
	border:1px dashed black;
	width:300px;
	height:30px;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&lt;</span><span style="color: #0066FF;">/style&gt;&lt;/</span>head<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>body<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>h2<span style="color: #66cc66;">&gt;</span>This <span style="color: #000066; font-weight: bold;">is</span> SarahAjax Testing Page<span style="color: #66cc66;">&lt;/</span>h2<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>div id=<span style="color: #3366CC;">&quot;result&quot;</span><span style="color: #66cc66;">&gt;</span>
<span style="color: #000066; font-weight: bold;">This</span> <span style="color: #000066; font-weight: bold;">is</span> where the result should show.
<span style="color: #66cc66;">&lt;/</span>div<span style="color: #66cc66;">&gt;</span>
&nbsp;
<span style="color: #66cc66;">&lt;</span>a href=<span style="color: #3366CC;">'javascript:sajax.sendRequest();'</span><span style="color: #66cc66;">&gt;</span>Send Request<span style="color: #66cc66;">&lt;/</span>a<span style="color: #66cc66;">&gt;</span>
&nbsp;
<span style="color: #66cc66;">&lt;/</span>body<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;/</span>html<span style="color: #66cc66;">&gt;</span></pre></div></div>

<p><a href='/sarahajax/usage2.html'><strong>Click here for Usage Example2: inherit SarahAjax class</strong></a><br />
You can also use the class by creating a subclass. Please Click on the title to see the source in action. </p>
<p><a href='/sarahajax.zip'><strong>Download sarahajax.zip</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://code.neox.net/2008/06/03/sarahajax-javascript-ajax-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript Class HowTo</title>
		<link>http://code.neox.net/2008/06/03/javascript-class-howto/</link>
		<comments>http://code.neox.net/2008/06/03/javascript-class-howto/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 04:29:18 +0000</pubDate>
		<dc:creator>HanaDaddy</dc:creator>
				<category><![CDATA[Javascript and CSS]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://code.neox.net/?p=33</guid>
		<description><![CDATA[Great Tutorial on Javascript Classes

function Person &#40;firstname,lastname,age&#41;&#123;
&#160;
	this.firstname=firstname;
	this.lastname=lastname;
	this.age=age;
&#160;
	this.introduction = function &#40;type&#41; &#123;
		if &#40;type=='simple'&#41;&#123;
			alert&#40;&#34;Hi, I am &#34; + this.firstname +&#34;.&#34;&#41;;
		&#125;else&#123;
&#160;
			alert&#40;&#34;Hello, my name is &#34;+this.firstname + &#34; &#34; + this.lastname+&#34;.&#34; +
			 	&#34; I am &#34; + this.age + &#34; years old.&#34;&#41;;
		&#125;	
	&#125;
&#160;
&#125;
&#160;
var p = new Person&#40;&#34;Hana&#34;,&#34;Daddy&#34;,30&#41;;
&#160;
p.introduction&#40;&#34;simple&#34;&#41;;
p.introduction&#40;&#41;;

Creating a Javascript class is just like creating a regular function. Two things to [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.javascriptkit.com/javatutors/oopjs2.shtml'>Great Tutorial on Javascript Classes</a></p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #003366; font-weight: bold;">function</span> Person <span style="color: #66cc66;">&#40;</span>firstname,lastname,age<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">firstname</span>=firstname;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">lastname</span>=lastname;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">age</span>=age;
&nbsp;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">introduction</span> = <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span>type<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>type==<span style="color: #3366CC;">'simple'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;Hi, I am &quot;</span> + <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">firstname</span> +<span style="color: #3366CC;">&quot;.&quot;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #66cc66;">&#123;</span>
&nbsp;
			<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;Hello, my name is &quot;</span>+<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">firstname</span> + <span style="color: #3366CC;">&quot; &quot;</span> + <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">lastname</span>+<span style="color: #3366CC;">&quot;.&quot;</span> +
			 	<span style="color: #3366CC;">&quot; I am &quot;</span> + <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">age</span> + <span style="color: #3366CC;">&quot; years old.&quot;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>	
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> p = <span style="color: #003366; font-weight: bold;">new</span> Person<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;Hana&quot;</span>,<span style="color: #3366CC;">&quot;Daddy&quot;</span>,<span style="color: #CC0000;">30</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
p.<span style="color: #006600;">introduction</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;simple&quot;</span><span style="color: #66cc66;">&#41;</span>;
p.<span style="color: #006600;">introduction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Creating a Javascript class is just like creating a regular function. Two things to remember. </p>
<ul>
<li> Use <code>'this'</code> to access member variables.</li>
<li> How to define member functions </li>
</ul>
<p>The above will show alert message dialog.<br />
First, &#8220;Hi, I am Hana&#8221;.<br />
Second, &#8220;Hello, my name is Hana Daddy. I am 30 years old.&#8221;.</p>
<p>Now by using prototyping, you can add additional functions to the predefined classes. Also all the initialized class objects instantly have access to the new function! That is very convenient.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #009900; font-style: italic;">//Prototyping : add </span>
Person.<span style="color: #006600;">prototype</span>.<span style="color: #006600;">addAge</span> = <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span>year<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>year<span style="color: #66cc66;">&#41;</span>
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">age</span> += year;
	<span style="color: #000066; font-weight: bold;">else</span>
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">age</span> +=<span style="color: #CC0000;">1</span>;
<span style="color: #66cc66;">&#125;</span>
p.<span style="color: #006600;">addAge</span><span style="color: #66cc66;">&#40;</span><span style="color: #CC0000;">5</span><span style="color: #66cc66;">&#41;</span>;
p.<span style="color: #006600;">introduction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>The new <code>addAge</code> function was called from the previously created Person object p. And it&#8217;s working without problem. The Dialog says &#8220;Hello, my name is Hana Daddy. I am 35 years old.&#8221;. 5 years more aged. Time surely flies.</p>
<p>Finally, inheritance is very simple, too. See below example.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #009900; font-style: italic;">// new Person inherited class</span>
<span style="color: #003366; font-weight: bold;">function</span> GoodPerson<span style="color: #66cc66;">&#40;</span>firstname,lastname,age<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">fromClass</span> = Person;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">fromClass</span><span style="color: #66cc66;">&#40;</span>firstname,lastname,age<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">characteristic</span>=<span style="color: #3366CC;">&quot;Good&quot;</span>;
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">doSomethingGood</span> =  <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;help others&quot;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> a = <span style="color: #003366; font-weight: bold;">new</span> GoodPerson<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;Good&quot;</span>,<span style="color: #3366CC;">&quot;Person&quot;</span>,<span style="color: #CC0000;">20</span><span style="color: #66cc66;">&#41;</span>;
a.<span style="color: #006600;">introduction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Thats about a all for the quick HOWTO on Javascript class. I will post my very very simple Ajax Javascript Class next time. </p>
]]></content:encoded>
			<wfw:commentRss>http://code.neox.net/2008/06/03/javascript-class-howto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
