<?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>MemoSoup &#187; JavaScript</title>
	<atom:link href="http://www.memosoup.com/category/scripts/javascript-scripts/feed" rel="self" type="application/rss+xml" />
	<link>http://www.memosoup.com</link>
	<description>Mix of the things I always forget</description>
	<lastBuildDate>Fri, 30 Jul 2010 15:59:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>JavaScript: edit web page in browser</title>
		<link>http://www.memosoup.com/20100112/javascript-edit-web-page-in-browser.html</link>
		<comments>http://www.memosoup.com/20100112/javascript-edit-web-page-in-browser.html#comments</comments>
		<pubDate>Mon, 11 Jan 2010 23:15:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[edit]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[webpage]]></category>

		<guid isPermaLink="false">http://www.memosoup.com/20100112/javascript-edit-web-page-in-browser.html</guid>
		<description><![CDATA[<p>Here is small bookmarklet, which allows to edit the web page for any site (ok, You could save the results on Your local machine only).</p>
javascript:document.body.contentEditable='true'; document.designMode='on'; [...]]]></description>
			<content:encoded><![CDATA[<p>Here is small bookmarklet, which allows to <strong>edit</strong> the web page for <strong>any</strong> site (ok, You could save the results on Your local machine only).</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">javascript<span style="color: #339933;">:</span>document.<span style="color: #660066;">body</span>.<span style="color: #660066;">contentEditable</span><span style="color: #339933;">=</span><span style="color: #3366CC;">'true'</span><span style="color: #339933;">;</span> document.<span style="color: #660066;">designMode</span><span style="color: #339933;">=</span><span style="color: #3366CC;">'on'</span><span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">void</span> <span style="color: #CC0000;">0</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.memosoup.com/20100112/javascript-edit-web-page-in-browser.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript: Soundex implementation</title>
		<link>http://www.memosoup.com/20100107/javascript-soundex-implementation.html</link>
		<comments>http://www.memosoup.com/20100107/javascript-soundex-implementation.html#comments</comments>
		<pubDate>Thu, 07 Jan 2010 10:28:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[soundex]]></category>

		<guid isPermaLink="false">http://www.memosoup.com/?p=242</guid>
		<description><![CDATA[<p>There is a special algorithm for comparision strings, which sound similar (Soundex).</p>
<p>Here is JavaScript Soundex implementation:</p>
function soundex &#40; s_src &#41;
&#123; &#160; &#160;
&#160;var s_rez = &#34;0000&#34; ;
&#160;var new_code, prev, idx
&#160;
&#160;a_codes = &#123; &#34;bfpv&#34;: 1, &#34;cgjkqsxz&#34;:2, &#34;dt&#34;: 3, &#34;l&#34;: 4, &#34;mn&#34;: 5, &#34;r&#34;: 6 &#125;;
&#160;
&#160;s_src = s_src.toLowerCase&#40;&#41;.replace&#40;/ /g,&#34;&#34;&#41;
&#160;
&#160;if &#40; s_src.length &#60; 1&#41; &#123;
&#160; &#160;return&#40;s_rez&#41;;
&#160;&#125;
&#160;
&#160;s_rez = s_src.substr&#40;0,1&#41;;
&#160;prev = &#34;0&#34;;
&#160;
&#160;for [...]]]></description>
			<content:encoded><![CDATA[<p>There is a special algorithm for comparision strings, which sound similar (<a href="http://en.wikipedia.org/wiki/Soundex">Soundex</a>).</p>
<p>Here is JavaScript Soundex implementation:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">function</span> soundex <span style="color: #009900;">&#40;</span> s_src <span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span> &nbsp; &nbsp;<br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> s_rez <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;0000&quot;</span> <span style="color: #339933;">;</span><br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> new_code<span style="color: #339933;">,</span> prev<span style="color: #339933;">,</span> idx<br />
&nbsp;<br />
&nbsp;a_codes <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span> <span style="color: #3366CC;">&quot;bfpv&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;cgjkqsxz&quot;</span><span style="color: #339933;">:</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;dt&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">3</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;l&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">4</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;mn&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">5</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;r&quot;</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">6</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
&nbsp;<br />
&nbsp;s_src <span style="color: #339933;">=</span> s_src.<span style="color: #660066;">toLowerCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/ /g</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><br />
&nbsp;<br />
&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> s_src.<span style="color: #660066;">length</span> <span style="color: #339933;">&lt;</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">return</span><span style="color: #009900;">&#40;</span>s_rez<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><br />
&nbsp;<br />
&nbsp;s_rez <span style="color: #339933;">=</span> s_src.<span style="color: #660066;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp;prev <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;0&quot;</span><span style="color: #339933;">;</span><br />
&nbsp;<br />
&nbsp;<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span> idx <span style="color: #339933;">=</span> <span style="color: #CC0000;">1</span> <span style="color: #339933;">;</span> idx <span style="color: #339933;">&lt;</span> s_src.<span style="color: #660066;">length</span> <span style="color: #339933;">;</span> idx<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp;new_code <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;0&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp;cur_char <span style="color: #339933;">=</span> s_src.<span style="color: #660066;">substr</span><span style="color: #009900;">&#40;</span>idx<span style="color: #339933;">,</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>s_code <span style="color: #000066; font-weight: bold;">in</span> a_codes<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>s_code.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>cur_char<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;=</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span> new_code <span style="color: #339933;">=</span> a_codes<span style="color: #009900;">&#91;</span> s_code <span style="color: #009900;">&#93;</span> <span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">break</span> <span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>new_code <span style="color: #339933;">!=</span> prev <span style="color: #339933;">&amp;&amp;</span> new_code <span style="color: #339933;">!=</span> <span style="color: #3366CC;">&quot;0&quot;</span> <span style="color: #009900;">&#41;</span> &nbsp;<span style="color: #009900;">&#123;</span> &nbsp; <br />
&nbsp; &nbsp; &nbsp;s_rez <span style="color: #339933;">+=</span> new_code<span style="color: #339933;">;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;prev <span style="color: #339933;">=</span> new_code<span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span> <br />
&nbsp; <br />
&nbsp;s_rez <span style="color: #339933;">=</span> s_rez <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;0000&quot;</span><br />
&nbsp;<br />
&nbsp;<span style="color: #000066; font-weight: bold;">return</span> s_rez.<span style="color: #660066;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.memosoup.com/20100107/javascript-soundex-implementation.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript: build table dynamically</title>
		<link>http://www.memosoup.com/20090918/javascript-build-table-dynamically.html</link>
		<comments>http://www.memosoup.com/20090918/javascript-build-table-dynamically.html#comments</comments>
		<pubDate>Fri, 18 Sep 2009 15:18:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://www.memosoup.com/?p=136</guid>
		<description><![CDATA[&#60;script type=&#34;text/javascript&#34;&#62;
function buildTable&#40;n_rows,n_columns&#41; &#123;

var the_body = document.getElementsByTagName&#40;&#34;body&#34;&#41;&#91;0&#93;;

&#60;code&#62;var new_table = document.createElement&#40;&#34;table&#34;&#41;;
var new_tbody = document.createElement&#40;&#34;tbody&#34;&#41;;

var new_row, new_col, new_text ;

for&#40;row=1;row&#60;=n_rows;row++&#41; &#123;
new_row = document.createElement&#40;&#34;tr&#34;&#41;;
new_row.className = &#34;tr&#34;+row ;
for&#40;col=1;col&#60;=n_columns;col++&#41; &#123;
new_col = document.createElement&#40;&#34;td&#34;&#41;;
new_col.className = &#34;td&#34;+col ;
new_text = document.createTextNode&#40;&#34;text:&#34; + row + &#34;:&#34; + col &#41;;

new_col.appendChild&#40;new_text&#41;;
new_row.appendChild&#40;new_col&#41;;
&#125;
new_tbody.appendChild&#40;new_row&#41;;
&#125;

new_table.appendChild&#40;new_tbody&#41;;
new_table.setAttribute&#40;&#34;border&#34;, &#34;2&#34;&#41;;

the_body.appendChild&#40;new_table&#41;;

return new_table ;

&#125;
&#60;/script&#62;
&#60;body&#62;
Example:
&#60;script type=&#34;text/javascript&#34;&#62;
buildTable&#40;4,3&#41;
&#60;/script&#62;
&#60;/body&#62;
<p>There is also interesting article on oreillynet.com, discussing performance improvement for [...]]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span><br />
<span style="color: #003366; font-weight: bold;">function</span> buildTable<span style="color: #009900;">&#40;</span>n_rows<span style="color: #339933;">,</span>n_columns<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #003366; font-weight: bold;">var</span> the_body <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;body&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #339933;">&lt;</span>code<span style="color: #339933;">&gt;</span>var new_table <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;table&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #003366; font-weight: bold;">var</span> new_tbody <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tbody&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #003366; font-weight: bold;">var</span> new_row<span style="color: #339933;">,</span> new_col<span style="color: #339933;">,</span> new_text <span style="color: #339933;">;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>row<span style="color: #339933;">=</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>row<span style="color: #339933;">&lt;=</span>n_rows<span style="color: #339933;">;</span>row<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
new_row <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
new_row.<span style="color: #660066;">className</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #339933;">+</span>row <span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>col<span style="color: #339933;">=</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>col<span style="color: #339933;">&lt;=</span>n_columns<span style="color: #339933;">;</span>col<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
new_col <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
new_col.<span style="color: #660066;">className</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #339933;">+</span>col <span style="color: #339933;">;</span><br />
new_text <span style="color: #339933;">=</span> document.<span style="color: #660066;">createTextNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;text:&quot;</span> <span style="color: #339933;">+</span> row <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;:&quot;</span> <span style="color: #339933;">+</span> col <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
new_col.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>new_text<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
new_row.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>new_col<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
new_tbody.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>new_row<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
new_table.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>new_tbody<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
new_table.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;border&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
the_body.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>new_table<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">return</span> new_table <span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span><br />
&lt;body&gt;<br />
Example:<br />
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span><br />
buildTable<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">4</span><span style="color: #339933;">,</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span><br />
&lt;/body&gt;</div></div>
<p>There is also interesting <a HREF="http://www.oreillynet.com/pub/a/javascript/2003/05/06/dannygoodman.html?page=1">article on oreillynet.com</a>, discussing performance improvement for such operations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.memosoup.com/20090918/javascript-build-table-dynamically.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
