<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>SAMURAI-LOGIC BLOG</title>
        <link>http://www.samurai-logic.com/mt/</link>
        <description>類い稀な突然変異系プログラマーのブログ・・・Pascalをマスターした世代前のプログラマが独り言を呟きながら１０数年ぶりにプログラムコードを書き出す。JavaScript 100% Stand alone のソースコードを公開開始！歴代の不滅のアルゴリズムの紹介は身近で解り易いExcel VBAを選択。

子曰わく、黙してこれを識し、学びて厭わず、人を誨えて倦まず。（孔子）</description>
        <language>ja</language>
        <copyright>Copyright 2009</copyright>
        <lastBuildDate>Mon, 03 Nov 2008 12:37:31 +0900</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>Search Gadget (Google Ajax Search API)</title>
            <description><![CDATA[ 
<table><tr><td>
ブログやウェブサイトの狭いスペースでも設置できる検索ガジェットです。小さくてもウェブ検索、イメージ検索、ビデオ検索、本の検索などが出来る優れものです。幅は290px、高さは180px に設定しています。<strike>高さは調整可能です。</strike>

<script src="http://www.gmodules.com/ig/ifr?url=http://www.samurai-logic.com/gadget/ajax/search.xml&amp;synd=open&amp;w=290&amp;h=180&amp;title=Google+Ajax+API+Search&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script>

</td><td>
ガジェットのコードです（コピペ用）。<br /><br />

<textarea style="width:200px;height:150px;" onclick="this.select()"> 
<script src="http://www.gmodules.com/ig/ifr?url=http://www.samurai-logic.com/gadget/ajax/search.xml&amp;synd=open&amp;w=290&amp;h=180&amp;title=Google+Ajax+API+Search&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script>
</textarea>

</td></tr></table>]]></description>
            <link>http://www.samurai-logic.com/mt/2008/11/search-gadget-google-ajax-sear.html</link>
            <guid>http://www.samurai-logic.com/mt/2008/11/search-gadget-google-ajax-sear.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Google Search</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript AJAX CSS</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Google Search</category>
            
            <pubDate>Mon, 03 Nov 2008 12:37:31 +0900</pubDate>
        </item>
        
        <item>
            <title>Freedom and Equality - 自由と平等、心と知識、システムと歯車</title>
            <description><![CDATA[<p>
<h4>最近の独り言・・・</h4><br /><br />
</p>
<p>
<b>自由と平等</b><br /><br />
人が怒るのは「<b>平等性</b>」を害されたとき。 関係の「<b>平等性</b>」を害してはいけない。
<br />
人が悲しむのは「<b>自由</b>」を失ったとき。 そして、人が喜ぶのは「<b>自由</b>」を得たとき。
<br />
労働は、人に「<b>自由</b>｣をあたえること。それによって対価相当の「<b>自由</b>」が与えられる。
<small>自由の種類は選べない。</small>
<br />
「自由」が欲しければ、多くの人に「自由｣を与えることだ。

<br />
人は人間性(自由と本質的平等)を失ってはいけない。<br />
<small>自分勝手と「自由」は全く違う。また、理に適った民主主義国家では、「自由と平等」は憲法で保障されている。</small><br />
</p>
<hr />
<p>
<b>心とは</b><br /><br />
<b>心</b>とは、<b>思考の流れ</b>。<br />
思考の流れによって生じる気持ち、感情・・・。<br />
そして人の心は胸に感じるので、胸の感触を大事にする。<br />
</p>
<hr />
<p>
<b>知識と理解</b><br /><br />
知識は重要ではない。<br />
覚えればいいという考えは危険である。柔軟に理解を深めることが重要。<br />
<b>知識による障害</b>は、型にはまった言葉や行動になって現われる。<br />
<b>無駄な知識</b>によって束縛を受けると、同じ言葉や行動を繰り返し、機械的なマニュアル人間なってしまう。<small></small>
</p>
<hr />
<p>
<b>システムと歯車</b><br /><br />
人や組織は社会の<b>システム</b>の中で<b>歯車</b>の役割を持ち、その<b>軸の役割</b>を持つのが法則やアルゴリズム。<br /><br />
<b>歯車</b>は他の歯車とかみ合うこと(動力を持つこと)で生産性を持つようになる。もし軸がぶれてしまうと他の歯車に影響する。小さい歯車が安定性を失えばシステムからはじき出されるだけだが、大きな歯車が不安定になるとシステム全体に多大な影響を及ぼす。
</p>

<p>
<b>世界は定量で構成</b>されていて、何かが増加することも、減少することもあり得ない。<br /><br />
「<b>不安定な現象</b>」と「<b>不動の真実</b>」は全く違う。不安定なものに心を振り回されてはいけない。
</p>]]></description>
            <link>http://www.samurai-logic.com/mt/2008/10/freedom-and-equality--.html</link>
            <guid>http://www.samurai-logic.com/mt/2008/10/freedom-and-equality--.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Soliloquy</category>
            
            
            <pubDate>Wed, 15 Oct 2008 18:09:38 +0900</pubDate>
        </item>
        
        <item>
            <title>Google Map and Ajax API  Search Gadget</title>
            <description><![CDATA[
<p>

</p>
<table><tr><td>
<b>何らかの変更があったためコントロールが表示されなくなっていました。</b><br />
<strong>11月3日 : 地図タイプをノーマルに設定したら回復しました。</strong>
<script src="http://gmodules.com/ig/ifr?url=http://gimite.net/rails/iframe_gadget/xml%3Fscrolling%3Dtrue%26url%3Dhttp://www.samurai-logic.com/gadget/ajax/map_gadget2.html&synd=open&w=370&h=447&title=&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>

</td><td>
Google Map と Ajax API Search 兼ねたガジェットです。左のガジェットはシンプル（Simple version）な方のガジェットです。クリックすると移動可能なマーカーが表示されます。ドラッグズームや経度、緯度などがクリックで表示されるFull option バージョンもあります。

地図の左下の方にある小さいボタンを押すと上に検索ボックスが表示されます。もう一度押すと非表示になります。このガジェット一つで地図検索からウェブ、画像、動画、ブログ、本などのあらゆる検索が可能です。<br /><br />
下にある検索はグーグルローカルマップ検索です。地図上のレストラン、ホテルなどを様々な検索が出来ます。検索ボックスに「東京　ホテル」と書き込めば地域のホテルのマップ、住所等の情報が表示されます。

</td></tr></table>
<p>
Full Option version:<br />
<textarea style="width:600px;height:70px;" onclick="this.select()">
<script src="http://gmodules.com/ig/ifr?url=http://gimite.net/rails/iframe_gadget/xml%3Fscrolling%3Dtrue%26url%3Dhttp://www.samurai-logic.com/gadget/ajax/map_gadget2.html&synd=open&w=420&h=450&title=&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>
</textarea>
<br />
Simple version:<br />
<textarea style="width:600px;height:70px;" onclick="this.select()">
<script src="http://gmodules.com/ig/ifr?url=http://gimite.net/rails/iframe_gadget/xml%3Fscrolling%3Dtrue%26url%3Dhttp://www.samurai-logic.com/gadget/ajax/map_gadget2.html&synd=open&w=420&h=450&title=&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>
</textarea>
</p>
<br /><br />

<p>
これらのコードの幅は、420px と設定されています。大きさはブログやサイトのスペースに応じて設定してください。（w=420 の部分を変更すればOKです。）<br />
このガジェットはiframeで生成されています。グーグルでカスタマイズした場合は、IEでY軸のスクロールが出来なくなります。
</p>]]></description>
            <link>http://www.samurai-logic.com/mt/2008/10/google-map-and-ajax-api-search.html</link>
            <guid>http://www.samurai-logic.com/mt/2008/10/google-map-and-ajax-api-search.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Google Map</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Google Map Gadget</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Google Search</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript AJAX CSS</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">google map</category>
            
            <pubDate>Sat, 11 Oct 2008 18:37:49 +0900</pubDate>
        </item>
        
        <item>
            <title>JS Text Translation - Google gadget (翻訳ガジェット)</title>
            <description><![CDATA[<table><tr><td>
<p>
Google の提供している Google Ajax Language API を利用した翻訳ガジェットです。現在35カ国語の言語の翻訳が出来ます。<br /><br />
<a href="http://code.google.com/apis/ajaxlanguage/">Google Codeページ</a>
<br /><br />
言語選択はセレクトメニューのオプションが35 （言語）もあるので、マウスホイールで選択出来るようにしました。一応クッキーを使って最後に翻訳した言語を次回読み出したときに表示できるようにしてます。長い文章の翻訳はまだ出来ませんが、日本語で200文字程度まで翻訳できます。英語は1000文字程度可能です。下のテキストエリアは翻訳した文章を再変換して文章の意味合いに違いがないか確認するためのものです。素早くできるので忙しい方は重宝すると思います。
</p>
</td><td>
<script src="http://www.gmodules.com/ig/ifr?url=http://www.samurai-logic.com/gadget/ajax/js_translation.xml&amp;synd=open&amp;w=270&amp;h=380&amp;title=JS+Text+Translation&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script>
<textarea style="width:300px;height:80px;" onclick="this.select()">
<script src="http://www.gmodules.com/ig/ifr?url=http://www.samurai-logic.com/gadget/ajax/js_translation.xml&amp;synd=open&amp;w=270&amp;h=380&amp;title=JS+Text+Translation&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script>
</textarea>

</td></tr>
</table>]]></description>
            <link>http://www.samurai-logic.com/mt/2008/10/js-text-translation---google-g.html</link>
            <guid>http://www.samurai-logic.com/mt/2008/10/js-text-translation---google-g.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">JS Text Translation</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript AJAX CSS</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">JS Translation</category>
            
            <pubDate>Fri, 10 Oct 2008 08:46:25 +0900</pubDate>
        </item>
        
        <item>
            <title>Javascript Base64 encoder &amp; decoder(Google Gadget)</title>
            <description><![CDATA[<p>
<h3>Javascript base64 encoder and decoder.</h3>
</p>
<table><tr><td>
<p>

手軽に Base64 エンコード（暗号化） &amp デコード（解読）ができる Google gadget を作りました。<br /><br />
使い方は、上のテキストエリアに貼り付けてボタンを押すだけです。貼り付けるエリアは、data1,data2, data3, data4 の4ヶ所あります。ソースコードもBase64 function の中に文字コード変換のスクリプトを書いてます。下に書いている Javascript のソースコードもシンプルにしましたので(120行くらい)、少しは分かりやすいと思います。対応文字コードは1～3バイトまでです。4バイト以上はまず使うことはないので一般的にテキストエリアに貼り付ける範囲内のものはBase64暗号化・解読が可能です。
</p>

</td><td>
<p>

<p>
<script src="http://www.gmodules.com/ig/ifr?url=http://www.samurai-logic.com/gadget/js_base64.xml&synd=open&w=270&h=255&title=JS+RegExp&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>
</p>
</td></tr></table>
<table>
<tr><td>
<p>
<ul>1バイト</ul>
<li>
ASCIIの全て(実装系によりJIS X 0201/Windows-31Jの当該エリアの場合あり)</li>
<ul>2バイト</ul>
<li>JIS X 0208の非漢字の一部</li>
<ul>3バイト</ul>
<li>JIS X 0201の8ビット文字(半角カタカナ)</li>
<li>JIS X 0208の漢字エリアの全て</li>
<li>JIS X 0212の漢字エリアの全て</li>
<li>JIS X 0213の第3・4水準漢字の一部</li>
<li>Windows-31Jの拡張文字エリア全て</li>
『ウィキペディア（Wikipedia）』 
</p>
</td></tr></table>


<p>
Google Gadget の貼り付けコードです。ブログやウェブページに貼り付けられます。
</p>
<textarea style="width:600px;height:50px;" onclick="this.select()"> 
<script src="http://www.gmodules.com/ig/ifr?url=http://www.samurai-logic.com/gadget/js_base64.xml&synd=open&w=270&h=255&title=JS+RegExp&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>
</textarea> 

<p>
Source code of Base64_encode, Base64_decode Javascript function.
</p>
<p>
<script type="text/javascript"><!--

/*---Just copy and paste this to your web page or blog as many as you want. Not necessary to set up js file. you can change scroll size, select the unit from px, pt, pc, %, in, cm, mm ---*/

/* JS Code Prettifier Last Modified:28 Sep.2008 (C)Samurai-Logic.com */var v26386="ns0";function f26386(x){var el=document.getElementById("si26386");if(x==2){ff=["Arial,Helvetica,sans-serif","Comic Sans MS","Trebuchet MS,sans-serif","Georgia,Times,sans-serif"];var fs=eval(v26386.replace(/\w+[^\d]/gi,""));el.style.fontFamily=ff[fs];fs++;if(fs>=ff.length)fs=0;var tmp=new String(fs);v26386=v26386.replace(/\d/g,tmp);return;}if(x==3){if(v26386.replace(/[sa\d]/g,"")=="n"){el.style.fontStyle="italic";v26386=v26386.replace(/n/,"i");}else{el.style.fontStyle="normal";v26386=v26386.replace(/i/,"n");  }return;}if(x==4){if(v26386.replace(/[in\d]/g,"")=="s"){if(/msie/i.test(navigator.userAgent)){el.setAttribute("className","c426386");}else{el.setAttribute("class","c426386");}v26386=v26386.replace(/s/,"a");}else{if(/msie/i.test(navigator.userAgent)){el.setAttribute("className","c326386");}else{el.setAttribute("class","c326386");}v26386=v26386.replace(/a/,"s");}return;}if(x==5){var str=el.innerHTML;str=str.replace(/\s/g," ").replace(/\<div[^\>]+\>\<small\>(\d)\<\/small\>((\s|\S){4})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{2})\<\/small\>((\s|\S){3})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{3})\<\/small\>((\s|\S){2})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d+)\<\/small\>(\s|\S)/gim,"<div>");if(/firefox/i.test(navigator.userAgent))str=str.replace(/(\s|\u20[\d\w]{2})(?=[^(class)(rgb)(\;\d)])/g," ");var win=window.open('','_blank','width=600,height=400,scrollbars=1,menubar=yes');win.document.writeln("<html><head><style type='text/css'>.c526386{color:#483D8B;font-weight:bold;}</style></head><body>"+(str)+"</body></html>");win.document.close();}if(x==6){var str=el.innerHTML;str=str.replace(/<br[^\>]*>/g,"\n").replace(/ /g," ").replace(/\<div[^\>]+\>\<small\>(\d)\<\/small\>((\s|\S){4})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{2})\<\/small\>((\s|\S){3})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{3})\<\/small\>((\s|\S){2})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d+)\<\/small\>(\s|\S)/gim,"<div>").replace(/<[^\>]+\>/g,"").replace(/>/g,">").replace(/</g,"<");var win=window.open('','_blank','width=600,height=400,scrollbars=0,menubar=yes');win.document.writeln("<html><head><style type='text/css'>.c926386{width:100%;height:100%;}</style></head><body><textarea class='c926386'>"+(str)+"</textarea></body></html>");win.document.close();return;}if(x==7){var win=window.open('','_blank','width=300,height=100,scrollbars=0');win.document.writeln("<html><head></head><body><small><b>Javascript Code Prettifier</b><br>Google Gadget:JS Code Prettifier<br>Last modified : 28 Sep. 2008<br><a href='http://www.samurai-logic.com/' target='_blank'>http://www.samurai-logic.com/</a><br>©2008 Samurai-Logic.com Author:S.Takeda</small></body></html>");win.document.close();return;}var sz=el.style.fontSize;var fs=parseInt(sz.replace(/px/,""));if(x==0)fs--;else fs++;if((fs>20)||(fs<8))return;el.style.fontSize=fs+"px";}//-->
</script><style type="text/css">#si26386{font-family:Trebuchet MS,sans-serif;margin-left:5px;background:#F9FFE0;}.c326386{width:600px;overflow:scroll;height:300px;}.c426386{font-style:normal; width:98%; overflow:visible;}.c126386{color:#000; font-weight:normal;}.c226386{background:#eeffff;color:#000;font-weight:normal; width:100%;}.c526386{color:#4169E1;font-weight:bold;}.c626386{font-size:11px;width:60px;padding:0px;}
</style><input type="button" onclick="f26386(0)" value="size" class="c626386"><input type="button" onclick="f26386(1)" value="SIZE" class="c626386"><input type="button" onclick="f26386(2)" value="font" class="c626386"><input type="button" onclick="f26386(4)" value="scroll" class="c626386"><input type="button" onclick="f26386(6)" value="text view" class="c626386"><input type="button" onclick="f26386(5)" value="print view" class="c626386"><input type="button" onclick="f26386(7)" value="version" class="c626386"><div id="si26386" class="c326386" style="font-size:13px;font-style:normal;">
<div class="c226386"><small>1</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>/****************************************************************************</small></span><br /></div><div class="c126386"><small>2</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>    Javascript Base64 encoder and decoder</small></span><br /></div><div class="c226386"><small>3</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c126386"><small>4</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>    4 Oct. 2008 Samurai-Logic.com</small></span><br /></div><div class="c226386"><small>5</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>****************************************************************************/</span></small><br /></div><div class="c126386"><small>6</small>&ensp;&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>7</small>&ensp;&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;chrs=<span style='color:#DC143C;'>"ABCDEFGHIJKLMNOPQRSTUVWXYZ"</span>;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//grobal&ensp;variable&ensp;</span></small><br /></div><div class="c126386"><small>8</small>&ensp;&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>9</small>&ensp;&ensp;&ensp;&ensp;<span class='c526386'>function</span>&ensp;Base64_encode(str2){<br /></div><div class="c126386"><small>10</small>&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>11</small>&ensp;&ensp;&ensp;chrs+=chrs.toLowerCase()+<span style='color:#DC143C;'>"0123456789+/"</span>;<br /></div><div class="c126386"><small>12</small>&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>13</small>&ensp;&ensp;&ensp;str2=str2.replace(<span style='color:#0000CD;'>/\n/</span>g,<span style='color:#DC143C;'>""</span>);&ensp;<br /></div><div class="c126386"><small>14</small>&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>15</small>&ensp;&ensp;&ensp;str=[];<br /></div><div class="c126386"><small>16</small>&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;out=<span style='color:#DC143C;'>""</span>;<br /></div><div class="c226386"><small>17</small>&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;j=str2.length;<br /></div><div class="c126386"><small>18</small>&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;z=0;<br /></div><div class="c226386"><small>19</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>/*---------------------------------------------------------</small></span><br /></div><div class="c126386"><small>20</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>    In case char is more than 2 bite </small></span><br /></div><div class="c226386"><small>21</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>----------------------------------------------------------*/</span></small><br /></div><div class="c126386"><small>22</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>for</span>&ensp;(<span class='c526386'>var</span>&ensp;i=0;&ensp;z&lt;j;i++)&ensp;{<br /></div><div class="c226386"><small>23</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;x=str2.charCodeAt(z);<br /></div><div class="c126386"><small>24</small>&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>25</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>if</span>(x&lt;128)&ensp;str[i]=str2.charCodeAt(z);&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;&ensp;1&ensp;Bite(0x00-0x7f)&ensp;</span></small><br /></div><div class="c126386"><small>26</small>&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>27</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>else</span>&ensp;<span class='c526386'>if</span>(x&lt;2048)&ensp;{&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;&ensp;2&ensp;Bites(0x80-0x7ff)&ensp;</span></small><br /></div><div class="c126386"><small>28</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;str[i++]&ensp;=&ensp;((192)&ensp;|&ensp;(x&ensp;&gt;&gt;&ensp;6));<br /></div><div class="c226386"><small>29</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;str[i]&ensp;=&ensp;((128)&ensp;|&ensp;(x&ensp;&amp;&ensp;63));<br /></div><div class="c126386"><small>30</small>&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>31</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<span class='c526386'>else</span>&ensp;<span class='c526386'>if</span>&ensp;(x&ensp;&lt;&ensp;65536){&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;&ensp;3&ensp;Bites(0x800-0xffff)=2sup16&ensp;</span></small><br /></div><div class="c126386"><small>32</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;str[i++]&ensp;=&ensp;((224)&ensp;|&ensp;(&ensp;x&ensp;&gt;&gt;&ensp;12&ensp;));<br /></div><div class="c226386"><small>33</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;str[i++]&ensp;=&ensp;((128)&ensp;|&ensp;((x&ensp;&gt;&gt;&ensp;6&ensp;)&ensp;&amp;&ensp;63));&ensp;<span style='color:green;'><small>//3f=63&ensp;</span></small><br /></div><div class="c126386"><small>34</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;str[i]&ensp;=&ensp;((128)&ensp;|&ensp;(&ensp;x&ensp;&amp;&ensp;63));<br /></div><div class="c226386"><small>35</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>36</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<span class='c526386'>else</span>{&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;4&ensp;Bites&ensp;return;&ensp;</span></small><br /></div><div class="c226386"><small>37</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out=(<span style='color:#DC143C;'>"4&ensp;Bites&ensp;character&ensp;is&ensp;not&ensp;suported"</span>);&ensp;<span class='c526386'>return</span>;&ensp;<span style='color:green;'><small>//will&ensp;never&ensp;happen&ensp;here&ensp;</span></small><br /></div><div class="c126386"><small>38</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c226386"><small>39</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;z++;<br /></div><div class="c126386"><small>40</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c226386"><small>41</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>42</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>/*------------------------------------------------------</small></span><br /></div><div class="c226386"><small>43</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>        Base64 encode</small></span><br /></div><div class="c126386"><small>44</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>-------------------------------------------------------*/</span></small><br /></div><div class="c226386"><small>45</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>46</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;temp=str.length;<br /></div><div class="c226386"><small>47</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>48</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>for</span>&ensp;(<span class='c526386'>var</span>&ensp;i&ensp;=&ensp;0;&ensp;i&ensp;&lt;&ensp;temp;&ensp;i&ensp;+=&ensp;3){<br /></div><div class="c226386"><small>49</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>50</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;len&ensp;=&ensp;((temp-i)&gt;=3)?&ensp;3&ensp;:&ensp;temp-i;<br /></div><div class="c226386"><small>51</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>52</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out&ensp;+=&ensp;chrs.charAt((str[i]&ensp;&gt;&gt;&ensp;2))<br /></div><div class="c226386"><small>53</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>54</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>if</span>&ensp;(len&ensp;==&ensp;1){&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//1&ensp;bite&ensp;</span></small><br /></div><div class="c226386"><small>55</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out&ensp;+=&ensp;chrs.charAt((str[i]&ensp;&amp;&ensp;3)&ensp;&lt;&lt;&ensp;4)&ensp;+&ensp;<span style='color:#DC143C;'>"=="</span>;<br /></div><div class="c126386"><small>56</small>&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>57</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}&ensp;<span class='c526386'>else</span>&ensp;<span class='c526386'>if</span>&ensp;(len&ensp;==&ensp;2)&ensp;{&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//2&ensp;bites&ensp;</span></small><br /></div><div class="c126386"><small>58</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out&ensp;&ensp;&ensp;&ensp;+=&ensp;chrs.charAt(((str[i]&ensp;&amp;&ensp;3)&ensp;&lt;&lt;&ensp;4)&ensp;|&ensp;(str[i+1]&ensp;&gt;&gt;&ensp;4))<br /></div><div class="c226386"><small>59</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;+&ensp;&ensp;chrs.charAt&ensp;((str[i+1]&ensp;&amp;&ensp;15)&ensp;&lt;&lt;&ensp;2)&ensp;+&ensp;<span style='color:#DC143C;'>"="</span>;<br /></div><div class="c126386"><small>60</small>&ensp;&ensp;&ensp;<br /></div><div class="c226386"><small>61</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}&ensp;<span class='c526386'>else</span>&ensp;{&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//3&ensp;bites&ensp;</span></small><br /></div><div class="c126386"><small>62</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out&ensp;&ensp;&ensp;&ensp;+=&ensp;chrs.charAt(((str[i]&ensp;&amp;&ensp;3)&ensp;&lt;&lt;&ensp;4)&ensp;|&ensp;(str[i+1]&ensp;&gt;&gt;&ensp;4))<br /></div><div class="c226386"><small>63</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;+&ensp;&ensp;chrs.charAt(((str[i+1]&ensp;&amp;&ensp;15)&ensp;&lt;&lt;&ensp;2)&ensp;|&ensp;(str[i+2]&ensp;&gt;&gt;&ensp;6))<br /></div><div class="c126386"><small>64</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;+&ensp;&ensp;chrs.charAt&ensp;((str[i+2]&ensp;&amp;&ensp;63));&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>/* NOTE:63=0x3f, 15=0xf . */</span></small><br /></div><div class="c226386"><small>65</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c126386"><small>66</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c226386"><small>67</small>&ensp;&ensp;&ensp;<span class='c526386'>return</span>&ensp;out;<br /></div><div class="c126386"><small>68</small>&ensp;&ensp;&ensp;}<br /></div><div class="c226386"><small>69</small>&ensp;&ensp;&ensp;<br /></div>


<!--
<div class="c126386"><small>70</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>/*************************************************************</small></span><br /></div><div class="c226386"><small>71</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>        Base64 decoder</small></span><br /></div><div class="c126386"><small>72</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>**************************************************************/</span></small><br /></div><div class="c226386"><small>73</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>74</small>&ensp;&ensp;&ensp;<span class='c526386'>function</span>&ensp;Base64_decode(str2){<br /></div><div class="c226386"><small>75</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>76</small>&ensp;&ensp;&ensp;chrs+=chrs.toLowerCase()+<span style='color:#DC143C;'>"0123456789+/"</span>;<br /></div><div class="c226386"><small>77</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>78</small>&ensp;&ensp;&ensp;str2=str2.replace(<span style='color:#0000CD;'>/[\=\n]/</span>g,<span style='color:#DC143C;'>""</span>);<span style='color:green;'><small>//replace&ensp;=&ensp;and&ensp;\n&ensp;</span></small><br /></div><div class="c226386"><small>79</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>80</small>&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;out=<span style='color:#DC143C;'>""</span>;&ensp;&ensp;str=[];&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//str&ensp;=&ensp;new&ensp;Array();&ensp;</span></small><br /></div><div class="c226386"><small>81</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>82</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>for</span>&ensp;(<span class='c526386'>var</span>&ensp;i=0;&ensp;i&lt;str2.length;i++){&ensp;str[i]=chrs.indexOf(str2.charAt(i));}<br /></div><div class="c226386"><small>83</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>84</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;temp=str.length;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//store&ensp;length&ensp;to&ensp;temp&ensp;</span></small><br /></div><div class="c226386"><small>85</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>86</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>for</span>&ensp;(<span class='c526386'>var</span>&ensp;i&ensp;=&ensp;0;&ensp;i&ensp;&lt;&ensp;str.length+2;&ensp;i&ensp;+=&ensp;4){<br /></div><div class="c226386"><small>87</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>88</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;bite_1=((str[i]&lt;&lt;2)+((str[i+1]&ensp;|&ensp;3)&ensp;&gt;&gt;&ensp;4));&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//bite_1=charCode&ensp;of&ensp;1st&ensp;</span></small><br /></div><div class="c226386"><small>89</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;bite_2=(((str[i+1]&ensp;&amp;&ensp;15)&ensp;&lt;&lt;&ensp;4)&ensp;|&ensp;((str[i+2]&ensp;&amp;&ensp;60)&gt;&gt;2));&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//bite_2=charCode&ensp;of&ensp;2nd&ensp;</span></small><br /></div><div class="c126386"><small>90</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;bite_3=(((str[i+2]&ensp;&amp;&ensp;3)&ensp;&lt;&lt;&ensp;6)&ensp;|&ensp;str[i+3]);&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//bite_3=charCode&ensp;of&ensp;3rd&ensp;</span></small><br /></div><div class="c226386"><small>91</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>92</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>var</span>&ensp;len&ensp;=&ensp;((temp-i)&gt;=4)?&ensp;4&ensp;:&ensp;temp-i;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//len=4(xxxx)&ensp;or&ensp;3(xxx=)&ensp;or&ensp;2(xx==)&ensp;</span></small><br /></div><div class="c226386"><small>93</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>94</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>if</span>&ensp;(len&ensp;==&ensp;2){&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//if&ensp;1&ensp;bite&ensp;</span></small><br /></div><div class="c226386"><small>95</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>96</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out+=<span class='c526386'>String</span>.fromCharCode(bite_1);&ensp;<span style='color:green;'><small>//OK&ensp;</span></small><br /></div><div class="c226386"><small>97</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>98</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<span class='c526386'>else</span>&ensp;<span class='c526386'>if</span>&ensp;(len&ensp;==&ensp;3){&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;2&ensp;bites&ensp;</span></small><br /></div><div class="c226386"><small>99</small>&ensp;&ensp;&ensp;<br /></div><div class="c126386"><small>100</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>if</span>((bite_1)&ensp;&lt;&ensp;128)&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//if&ensp;char&ensp;=&ensp;1&ensp;bite&ensp;+&ensp;1&ensp;bite&ensp;</span></small><br /></div><div class="c226386"><small>101</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out&ensp;+=&ensp;<span class='c526386'>String</span>.fromCharCode(bite_1)&ensp;+&ensp;<span class='c526386'>String</span>.fromCharCode(bite_2);<br /></div><div class="c126386"><small>102</small>&ensp;&ensp;<br /></div><div class="c226386"><small>103</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>else</span>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//else&ensp;char&ensp;=&ensp;2&ensp;bites&ensp;</span></small><br /></div><div class="c126386"><small>104</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out&ensp;+=&ensp;<span class='c526386'>String</span>.fromCharCode(((bite_1)&ensp;&amp;&ensp;31)&lt;&lt;6|((bite_2)&ensp;&amp;&ensp;63));<br /></div><div class="c226386"><small>105</small>&ensp;&ensp;<br /></div><div class="c126386"><small>106</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<span class='c526386'>else</span>&ensp;<span style='color:green;'><small>/*if(len==4)*/</span></small>&ensp;{&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;3&ensp;bites&ensp;</span></small><br /></div><div class="c226386"><small>107</small>&ensp;&ensp;<br /></div><div class="c126386"><small>108</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>if</span>((bite_1)&ensp;&lt;&ensp;128){&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//if&ensp;bite_1&ensp;is&ensp;1&ensp;bite&ensp;char&ensp;</span></small><br /></div><div class="c226386"><small>109</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>if</span>((bite_2)&lt;128)<br /></div><div class="c126386"><small>110</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out&ensp;+=&ensp;<span class='c526386'>String</span>.fromCharCode(bite_1)&ensp;<br /></div><div class="c226386"><small>111</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;+&ensp;<span class='c526386'>String</span>.fromCharCode(bite_2)&ensp;+&ensp;<span class='c526386'>String</span>.fromCharCode(bite_3);<br /></div><div class="c126386"><small>112</small>&ensp;&ensp;<br /></div><div class="c226386"><small>113</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>else</span>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//else&ensp;1bite&ensp;and&ensp;2&ensp;bites&ensp;</span></small><br /></div><div class="c126386"><small>114</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out+=&ensp;<span class='c526386'>String</span>.fromCharCode(bite_1)<br /></div><div class="c226386"><small>115</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;+&ensp;<span class='c526386'>String</span>.fromCharCode(((bite_2)&ensp;&amp;&ensp;31)&lt;&lt;6|((bite_3)&ensp;&amp;&ensp;63));<br /></div><div class="c126386"><small>116</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c226386"><small>117</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>else</span>{<br /></div><div class="c126386"><small>118</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>if</span>((bite_3)&lt;128)&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//if&ensp;2bites&ensp;and&ensp;1&ensp;bite&ensp;&ensp;</span></small><br /></div><div class="c226386"><small>119</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out&ensp;+=&ensp;<span class='c526386'>String</span>.fromCharCode(((bite_1)&ensp;&amp;&ensp;31)&lt;&lt;6|((bite_2)&ensp;&amp;&ensp;63))<br /></div><div class="c126386"><small>120</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;+&ensp;<span class='c526386'>String</span>.fromCharCode(bite_3);<br /></div><div class="c226386"><small>121</small>&ensp;&ensp;<br /></div><div class="c126386"><small>122</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c526386'>else</span>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//else&ensp;the&ensp;charactor&ensp;is&ensp;3&ensp;bites&ensp;</span></small><br /></div><div class="c226386"><small>123</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;out&ensp;+=&ensp;<span class='c526386'>String</span>.fromCharCode((((bite_1)&ensp;&amp;&ensp;15)&lt;&lt;12)|(((bite_2)&ensp;&amp;&ensp;63)&lt;&lt;6)|(((bite_3)&ensp;&amp;&ensp;63)&lt;&lt;0));<br /></div><div class="c126386"><small>124</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c226386"><small>125</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c126386"><small>126</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c226386"><small>127</small>&ensp;&ensp;<span class='c526386'>return</span>&ensp;out;<br /></div><div class="c126386"><small>128</small>&ensp;&ensp;}<br /></div><div class="c226386"><small>129</small>&ensp;&ensp;<br /></div><div class="c126386"><small>130</small>&ensp;&ensp;<br /></div><div class="c226386"><small>131</small>&ensp;&ensp;<br /></div>
//-->
</div>


</p>]]></description>
            <link>http://www.samurai-logic.com/mt/2008/10/javascript-base64-encoder-deco.html</link>
            <guid>http://www.samurai-logic.com/mt/2008/10/javascript-base64-encoder-deco.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">JS Base64</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript AJAX CSS</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">JS Base64</category>
            
            <pubDate>Sun, 05 Oct 2008 06:22:46 +0900</pubDate>
        </item>
        
        <item>
            <title>Javascript Compressor (Modified 1 Oct. 2008)</title>
            <description><![CDATA[ <p>
Javascript Compressor がほぼ完成しました。正規表現のエラーチェックと括弧の数を数えてエラーがある場合に表示されます。Compression Ratio も表示させるようにしました。<br /><br />
<a href="http://www.samurai-logic.com/mt/2008/09/javascript-compressor-google-g.html">以前の記事</a>を改良しました。
</p>
<p>
正規表現部分の[ ] 内の"/" とスペースがあった場合に圧縮時に（スペースがある場合のみ）スペースが消てしまうので今回は、ループさせてRegExp をecmascript 評価 (eval)してチェックするようにしました。<br />例： exp=/[ / ]/;<br />
通常は、exp=/[  \/ ]/; と書くのですが、実際に正規表現の [ ] 内に"/" があってもjavascript ではエラーになりません。普通に書くと、/ ==> \/, space ==> \s となるのですが、文字コードなどが絡んでどうしても特殊な書き方が必要な例もあるかもしれないのでそれに対応しました。Javascript のコードはとても柔軟性が高いのでまだ100%とは言えないかもしれませんが、一般的なJavascriptのコードではエラーはないと思います。
</p>
<p>
また今回、Javascript Code Prettifier もセレクトメニューに追加しました。<br /><br />
<a href="http://www.samurai-logic.com/mt/2008/09/javascript-code-prettifier---h.html">こちらの記事</a>に詳細があります。使い方はただ貼り付けるだけなので簡単です。（js ファイルなどのセットアップせずに何ヶ所でも貼り付けられます。）<br /><br />
見た目は下にあるJavascript compressor のソースコードのようになります。
</p>
<p>
Google Gadget の貼り付けコードです。ブログやウェブページに貼り付けられます。

<textarea style="width:600px;height:40px;" onclick="this.select()"> 
<script src="http://www.gmodules.com/ig/ifr?url=http://www.samurai-logic.com/gadget/js_compressor.xml&amp;synd=open&amp;w=270&amp;h=180&amp;title=JS+Compressor&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script> 
</textarea> 
</p>
<p>
Source code of modified Javascript Compressor function.
</p>

<h4>Modified on 1 Oct. 2008</h4>


<p>
<script type="text/javascript"><!--

/*---Just copy and paste this to your web page or blog as many as you want. Not necessary to set up js file. you can change scroll size, select the unit from px, pt, pc, %, in, cm, mm ---*/

/* JS Code Prettifier Last Modified:28 Sep.2008 (C)Samurai-Logic.com */var v39695="ns0";function f39695(x){var el=document.getElementById("si39695");if(x==2){ff=["Arial,Helvetica,sans-serif","Comic Sans MS","Trebuchet MS,sans-serif","Georgia,Times,sans-serif"];var fs=eval(v39695.replace(/\w+[^\d]/gi,""));el.style.fontFamily=ff[fs];fs++;if(fs>=ff.length)fs=0;var tmp=new String(fs);v39695=v39695.replace(/\d/g,tmp);return;}if(x==3){if(v39695.replace(/[sa\d]/g,"")=="n"){el.style.fontStyle="italic";v39695=v39695.replace(/n/,"i");}else{el.style.fontStyle="normal";v39695=v39695.replace(/i/,"n");  }return;}if(x==4){if(v39695.replace(/[in\d]/g,"")=="s"){if(/msie/i.test(navigator.userAgent)){el.setAttribute("className","c439695");}else{el.setAttribute("class","c439695");}v39695=v39695.replace(/s/,"a");}else{if(/msie/i.test(navigator.userAgent)){el.setAttribute("className","c339695");}else{el.setAttribute("class","c339695");}v39695=v39695.replace(/a/,"s");}return;}if(x==5){var str=el.innerHTML;str=str.replace(/\s/g," ").replace(/\<div[^\>]+\>\<small\>(\d)\<\/small\>((\s|\S){4})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{2})\<\/small\>((\s|\S){3})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{3})\<\/small\>((\s|\S){2})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d+)\<\/small\>(\s|\S)/gim,"<div>");if(/firefox/i.test(navigator.userAgent))str=str.replace(/(\s|\u20[\d\w]{2})(?=[^(class)(rgb)(\;\d)])/g," ");var win=window.open('','_blank','width=600,height=400,scrollbars=1,menubar=yes');win.document.writeln("<html><head><style type='text/css'>.c539695{color:#483D8B;font-weight:bold;}</style></head><body>"+(str)+"</body></html>");win.document.close();}if(x==6){var str=el.innerHTML;str=str.replace(/<br[^\>]*>/g,"\n").replace(/ /g," ").replace(/\<div[^\>]+\>\<small\>(\d)\<\/small\>((\s|\S){4})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{2})\<\/small\>((\s|\S){3})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{3})\<\/small\>((\s|\S){2})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d+)\<\/small\>(\s|\S)/gim,"<div>").replace(/<[^\>]+\>/g,"").replace(/>/g,">").replace(/</g,"<");var win=window.open('','_blank','width=600,height=400,scrollbars=0,menubar=yes');win.document.writeln("<html><head><style type='text/css'>.c939695{width:100%;height:100%;}</style></head><body><textarea class='c939695'>"+(str)+"</textarea></body></html>");win.document.close();return;}if(x==7){var win=window.open('','_blank','width=300,height=100,scrollbars=0');win.document.writeln("<html><head></head><body><small><b>Javascript Code Prettifier</b><br>Google Gadget:JS Code Prettifier<br>Last modified : 28 Sep. 2008<br><a href='http://www.samurai-logic.com/' target='_blank'>http://www.samurai-logic.com/</a><br>©2008 Samurai-Logic.com Author:S.Takeda</small></body></html>");win.document.close();return;}var sz=el.style.fontSize;var fs=parseInt(sz.replace(/px/,""));if(x==0)fs--;else fs++;if((fs>20)||(fs<8))return;el.style.fontSize=fs+"px";}//-->
</script><style type="text/css">#si39695{font-family:Trebuchet MS,sans-serif;margin-left:5px;background:#F9FFE0;}.c339695{width:850px;overflow:scroll;height:300px;}.c439695{font-style:normal; width:98%; overflow:visible;}.c139695{color:#000; font-weight:normal;}.c239695{background:#eeffff;color:#000;font-weight:normal; width:100%;}.c539695{color:#4169E1;font-weight:bold;}.c639695{font-size:11px;width:60px;padding:0px;}
</style><input type="button" onclick="f39695(0)" value="size" class="c639695"><input type="button" onclick="f39695(1)" value="SIZE" class="c639695"><input type="button" onclick="f39695(2)" value="font" class="c639695"><input type="button" onclick="f39695(4)" value="scroll" class="c639695"><input type="button" onclick="f39695(6)" value="text view" class="c639695"><input type="button" onclick="f39695(5)" value="print view" class="c639695"><input type="button" onclick="f39695(7)" value="version" class="c639695"><div id="si39695" class="c339695" style="font-size:13px;font-style:normal;">
<div class="c239695"><small>1</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>/****************************************************************</small></span><br /></div><div class="c139695"><small>2</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>    2008 (C)samurai-logic.com</small></span><br /></div><div class="c239695"><small>3</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c139695"><small>4</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>    Javascript Compressor</small></span><br /></div><div class="c239695"><small>5</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c139695"><small>6</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>    Last Modified 1 Oct. 2008</small></span><br /></div><div class="c239695"><small>7</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>****************************************************************/</span></small><br /></div><div class="c139695"><small>8</small>&ensp;&ensp;&ensp;&ensp;<span class='c539695'>function</span>&ensp;$compress(str){<br /></div><div class="c239695"><small>9</small>&ensp;&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>10</small>&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;Size=str.length;<br /></div><div class="c239695"><small>11</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>12</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//if(/\n/g.test(str))&ensp;return("no&ensp;end&ensp;of&ensp;line");&ensp;</span></small><br /></div><div class="c239695"><small>13</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>14</small>&ensp;&ensp;&ensp;str=str.replace(<span style='color:#0000CD;'>/\t+/</span>g,<span style='color:#DC143C;'>"&ensp;"</span>);<br /></div><div class="c239695"><small>15</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>16</small>&ensp;&ensp;&ensp;Reg=<span style='color:#0000CD;'>/([^\d\w]\n[^\d\w]|[^\d\w]\s[^\d\w]|[\d\w]\s[^\d\w\$\_\#]|[^\d\w]\s[\d\w])/</span>;<br /></div><div class="c239695"><small>17</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>18</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//Exp=/[^\\]\/[^\/]*([\s\,\;]*)((\,\s*(\"|\')|(\w+)\s*\(\s*\/*)[\s\S]+|\/\/[\s\S]+|\/\*[\s\S]+|\s{2,}[\s\S]+|\s*)\n*/;&ensp;</span></small><br /></div><div class="c239695"><small>19</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//Exp=/[^\\]\/([^\/])?(\s)*(([\,\s]*(\"|\')|(\w+)\s*\(\s*\/*)[\s\S]+|\/\/[\s\S]+|\/\*[\s\S]+|\s{2,}[\s\S]+|\s*)\n*/;&ensp;</span></small><br /></div><div class="c139695"><small>20</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>21</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//Basic&ensp;Exp&ensp;</span></small><br /></div><div class="c139695"><small>22</small>&ensp;&ensp;&ensp;Exp=<span style='color:#0000CD;'>/[^\\]\/([^\/])/</span>;<br /></div><div class="c239695"><small>23</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>24</small>&ensp;&ensp;&ensp;chr=<span style='color:#0000CD;'>/(\(|\=|\[|\:|\||\&amp;|\!|\,)/</span>;&ensp;<span style='color:green;'><small>//&ensp;new&ensp;reg&ensp;</span></small><br /></div><div class="c239695"><small>25</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>26</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//d_q=/([^\\]\"[^\"]*[^\:]|[^\"]\"[\s]*[\:\,\}\]\)\;\.])/;&ensp;</span></small><br /></div><div class="c239695"><small>27</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//s_q=/([^\\]\'[^\']*[^\:]|[^\']\'[\s]*[\:\,\}\]\)\;\.])/;&ensp;</span></small><br /></div><div class="c139695"><small>28</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//d_q=/([^\\]\"|[^\"]\")/;&ensp;</span></small><br /></div><div class="c239695"><small>29</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//s_q=/([^\\]\'|[^\']\')/;&ensp;</span></small><br /></div><div class="c139695"><small>30</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>31</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//modified&ensp;1&ensp;Oct.&ensp;2008&ensp;&ensp;don't&ensp;need&ensp;to&ensp;replace&ensp;\\\"&ensp;and&ensp;\\\'...&ensp;</span></small><br /></div><div class="c139695"><small>32</small>&ensp;&ensp;&ensp;d_q=<span style='color:#0000CD;'>/[^\\]\"/</span>;&ensp;<span style='color:green;'><small>//replace(/\\\\|\\\"/g,"xx")&ensp;temp&ensp;before&ensp;search(d_q)&ensp;</span></small><br /></div><div class="c239695"><small>33</small>&ensp;&ensp;&ensp;s_q=<span style='color:#0000CD;'>/[^\\]\'/</span>;&ensp;<span style='color:green;'><small>//replace(/\\\\|\\\'/g,"xx")&ensp;temp&ensp;before&ensp;search(s_q)&ensp;</span></small><br /></div><div class="c139695"><small>34</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>35</small>&ensp;&ensp;&ensp;bracket=<span class='c539695'>new</span>&ensp;Array();<br /></div><div class="c139695"><small>36</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>37</small>&ensp;&ensp;&ensp;bracket[0]=0;&ensp;bracket[1]=0;&ensp;bracket[2]=0;&ensp;bracket[3]=<span style='color:#DC143C;'>""</span>;<br /></div><div class="c139695"><small>38</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>39</small>&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;CODE&ensp;&ensp;=&ensp;<span style='color:#DC143C;'>""</span>;&ensp;&ensp;<br /></div><div class="c139695"><small>40</small>&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;cmt&ensp;&ensp;&ensp;=&ensp;<span class='c539695'>false</span>;<br /></div><div class="c239695"><small>41</small>&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;arg&ensp;&ensp;&ensp;=&ensp;-1;<br /></div><div class="c139695"><small>42</small>&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;pos&ensp;=&ensp;end&ensp;=&ensp;0;<br /></div><div class="c239695"><small>43</small>&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;last=<span style='color:#DC143C;'>"&ensp;"</span>;<br /></div><div class="c139695"><small>44</small>&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;temp=<span style='color:#DC143C;'>""</span>;<br /></div><div class="c239695"><small>45</small>&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;LEN=str.length;<br /></div><div class="c139695"><small>46</small>&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;retrn&ensp;=&ensp;<span class='c539695'>false</span>;&ensp;<span style='color:green;'><small>//&ensp;for&ensp;regexp&ensp;"return&ensp;/pat/.test()"&ensp;</span></small><br /></div><div class="c239695"><small>47</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>48</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>while</span>&ensp;(pos&ensp;&gt;=&ensp;0){<br /></div><div class="c239695"><small>49</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;key_q&ensp;=&ensp;str.charAt(pos);<br /></div><div class="c139695"><small>50</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;key_c&ensp;=&ensp;str.substr(pos,2);<br /></div><div class="c239695"><small>51</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;key_r&ensp;=&ensp;last&ensp;+&ensp;key_c;<br /></div><div class="c139695"><small>52</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>53</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>((pos&gt;6)&amp;&amp;(str.substr(pos-6,6)==<span style='color:#DC143C;'>"return"</span>)&amp;&amp;(<span style='color:#0000CD;'>/^[\s\n]*\/[^\/\*]/</span>.test(str.substring(pos,LEN))))retrn=<span class='c539695'>true</span>;<br /></div><div class="c139695"><small>54</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>55</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>&ensp;(key_q==<span style='color:#DC143C;'>"'"</span>)&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;{&ensp;arg&ensp;=&ensp;0;&ensp;pos++;&ensp;}&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;'&ensp;</span></small><br /></div><div class="c139695"><small>56</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;<span class='c539695'>if</span>&ensp;(key_q==<span style='color:#DC143C;'>'"'</span>)&ensp;&ensp;{&ensp;arg&ensp;=&ensp;1;&ensp;pos++;&ensp;}&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;"&ensp;</span></small><br /></div><div class="c239695"><small>57</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;<span class='c539695'>if</span>&ensp;((key_q==<span style='color:#DC143C;'>'/'</span>)&ensp;&amp;&amp;&ensp;(key_c!=<span style='color:#DC143C;'>"//"</span>)&ensp;&amp;&amp;&ensp;(key_c!=<span style='color:#DC143C;'>"/*"</span>)&ensp;&amp;&amp;&ensp;((chr.test(last)&ensp;||&ensp;(retrn))))<br /></div><div class="c139695"><small>58</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;{&ensp;arg&ensp;=&ensp;4;&ensp;pos++;&ensp;&ensp;}&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;/&ensp;</span></small><br /></div><div class="c239695"><small>59</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;<span class='c539695'>if</span>&ensp;(key_c==<span style='color:#DC143C;'>"//"</span>)&ensp;{&ensp;arg&ensp;=&ensp;2;&ensp;pos+=2;&ensp;}&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;//&ensp;</span></small><br /></div><div class="c139695"><small>60</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;<span class='c539695'>if</span>&ensp;(key_c==<span style='color:#DC143C;'>"/*"</span>)&ensp;{&ensp;arg&ensp;=&ensp;3;&ensp;pos+=2;&ensp;}&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;/*&ensp;</span></small><br /></div><div class="c239695"><small>61</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;{&ensp;arg&ensp;=-1;&ensp;pos++;&ensp;}<br /></div><div class="c139695"><small>62</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>63</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>&ensp;(arg&gt;=0){&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//if&ensp;keyword&ensp;is&ensp;found&ensp;</span></small><br /></div><div class="c139695"><small>64</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>65</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;(arg==0)&ensp;{&ensp;temp=(str.substring(pos-1,&ensp;LEN).replace(<span style='color:#0000CD;'>/\\\\|\\\"/</span>g,<span style='color:#DC143C;'>"xx"</span>));&ensp;end&ensp;=&ensp;temp.search(s_q)+pos;&ensp;temp=<span class='c539695'>null</span>;}<br /></div><div class="c139695"><small>66</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;<span class='c539695'>if</span>&ensp;(arg==1)&ensp;{&ensp;temp=(str.substring(pos-1,&ensp;LEN).replace(<span style='color:#0000CD;'>/\\\\|\\\'/</span>g,<span style='color:#DC143C;'>"xx"</span>));&ensp;end&ensp;=&ensp;temp.search(d_q)+pos;&ensp;temp=<span class='c539695'>null</span>;}<br /></div><div class="c239695"><small>67</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>68</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;<span class='c539695'>if</span>&ensp;(arg==4)&ensp;{&ensp;<span class='c539695'>var</span>&ensp;eol&ensp;&ensp;=&ensp;str.indexOf(<span style='color:#DC143C;'>"\n"</span>,&ensp;pos);&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;find&ensp;end&ensp;of&ensp;line&ensp;</span></small><br /></div><div class="c239695"><small>69</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>(eol==-1){<span class='c539695'>return</span>(CODE+<span style='color:#DC143C;'>"\nerror&ensp;:&ensp;no&ensp;end&ensp;of&ensp;line"</span>);}<br /></div><div class="c139695"><small>70</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;temp&ensp;=&ensp;next&ensp;=&ensp;(str.substring(pos-1,eol+2).replace(<span style='color:#0000CD;'>/\\\\/</span>g,<span style='color:#DC143C;'>"xx"</span>));&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;end+2&ensp;==&gt;&ensp;\n&ensp;</span></small><br /></div><div class="c239695"><small>71</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;end&ensp;=&ensp;0;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;t_l=temp.length-2;&ensp;retrn=<span class='c539695'>false</span>;&ensp;<br /></div><div class="c139695"><small>72</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>73</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>while</span>(end&lt;t_l-1){&ensp;<span style='color:green;'><small>//(str.substring(pos-1,end+1))==&gt;&ensp;/pat/&ensp;</span></small><br /></div><div class="c139695"><small>74</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>75</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;isReg=<span class='c539695'>true</span>;<br /></div><div class="c139695"><small>76</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>77</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;next=(temp.substring(end,t_l+1));&ensp;<span style='color:green;'><small>//&ensp;store&ensp;temp&ensp;to&ensp;next&ensp;</span></small><br /></div><div class="c139695"><small>78</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>79</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;end=<span class='c539695'>parseInt</span>(end+next.search(Exp)+2);&ensp;<span style='color:green;'><small>//alert("next="+next);&ensp;//find&ensp;next&ensp;key&ensp;/&ensp;</span></small><br /></div><div class="c139695"><small>80</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>81</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>try</span>{&ensp;<span class='c539695'>eval</span>(temp.substring(0,end));}<span class='c539695'>catch</span>(e){isReg=<span class='c539695'>false</span>;&ensp;<span class='c539695'>var</span>&ensp;err=(e);}<br /></div><div class="c139695"><small>82</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>83</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>(isReg)&ensp;<span class='c539695'>break</span>;<br /></div><div class="c139695"><small>84</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c239695"><small>85</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>86</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;end=<span class='c539695'>parseInt</span>(end+pos-2);&ensp;temp=<span class='c539695'>null</span>;&ensp;next=<span class='c539695'>null</span>;<br /></div><div class="c239695"><small>87</small>&ensp;&ensp;&ensp;<br /></div><div class="c139695"><small>88</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>(!(isReg)){bracket[3]+=err+<span style='color:#DC143C;'>"&ensp;:&ensp;"</span>+(str.substring(pos-1,end+1))+<span style='color:#DC143C;'>"&ensp;pos&ensp;="</span>+pos;}<br /></div><div class="c239695"><small>89</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c139695"><small>90</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>91</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;<span class='c539695'>if</span>&ensp;(arg==2)&ensp;{&ensp;end&ensp;=&ensp;str.indexOf(<span style='color:#DC143C;'>"\n"</span>,&ensp;pos);&ensp;&ensp;&ensp;pos--;&ensp;cmt&ensp;=&ensp;<span class='c539695'>true</span>;&ensp;}<br /></div><div class="c139695"><small>92</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>93</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>/*arg==3*/</span></small>&ensp;&ensp;{&ensp;end&ensp;=&ensp;str.indexOf(<span style='color:#DC143C;'>"*/"</span>,&ensp;pos);&ensp;pos--;&ensp;end++;&ensp;<span style='color:green;'><small>//pos--&ensp;because&ensp;2&ensp;char&ensp;"/*"&ensp;</span></small><br /></div><div class="c139695"><small>94</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>&ensp;(end&ensp;==&ensp;0)&ensp;cmt&ensp;=&ensp;<span class='c539695'>false</span>;&ensp;<span style='color:green;'><small>//if&ensp;not&ensp;found(avoid&ensp;error)&ensp;</span></small><br /></div><div class="c239695"><small>95</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>else</span>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;cmt&ensp;=&ensp;<span class='c539695'>true</span>;&ensp;}<br /></div><div class="c139695"><small>96</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>97</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>&ensp;(end&ensp;&lt;=&ensp;0)&ensp;end=str.length-1;&ensp;end++;<br /></div><div class="c139695"><small>98</small>&ensp;&ensp;&ensp;<br /></div><div class="c239695"><small>99</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>&ensp;(cmt==<span class='c539695'>false</span>)&ensp;CODE&ensp;+=&ensp;str.substring(pos-1,end);<span style='color:green;'><small>//alert(str.substring(pos-1,end+1));&ensp;</span></small><br /></div><div class="c139695"><small>100</small>&ensp;&ensp;<br /></div><div class="c239695"><small>101</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;pos=end;&ensp;<span style='color:green;'><small>//if(arg==4)&ensp;pos++;&ensp;//&ensp;end=pos&ensp;at&ensp;"/"&ensp;so&ensp;add&ensp;1&ensp;</span></small><br /></div><div class="c139695"><small>102</small>&ensp;&ensp;<br /></div><div class="c239695"><small>103</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;cmt=<span class='c539695'>false</span>;&ensp;&ensp;<span style='color:green;'><small>//at&ensp;last,&ensp;end&ensp;up&ensp;with&ensp;pos=0&ensp;&ensp;</span></small><br /></div><div class="c139695"><small>104</small>&ensp;&ensp;<br /></div><div class="c239695"><small>105</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<span class='c539695'>else</span>{&ensp;<span style='color:green;'><small>//&ensp;else&ensp;keyword&ensp;is&ensp;not&ensp;found&ensp;</span></small><br /></div><div class="c139695"><small>106</small>&ensp;&ensp;<br /></div><div class="c239695"><small>107</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>((last==<span style='color:#DC143C;'>";"</span>)&ensp;&amp;&amp;&ensp;(key_q==<span style='color:#DC143C;'>"}"</span>)){&ensp;key_q=<span style='color:#DC143C;'>"/**/"</span>;&ensp;bracket[1]--;}&ensp;<span style='color:green;'><small>//replace(/\;\}/g,"}");&ensp;</span></small><br /></div><div class="c139695"><small>108</small>&ensp;&ensp;<br /></div><div class="c239695"><small>109</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>&ensp;(!(Reg.test(key_r)))&ensp;{&ensp;CODE&ensp;+=&ensp;key_q;&ensp;last=key_q;}<br /></div><div class="c139695"><small>110</small>&ensp;&ensp;<br /></div><div class="c239695"><small>111</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>switch</span>(key_q){<br /></div><div class="c139695"><small>112</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>case</span>&ensp;<span style='color:#DC143C;'>"("</span>&ensp;:&ensp;bracket[0]++;&ensp;<span class='c539695'>break</span>;<br /></div><div class="c239695"><small>113</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>case</span>&ensp;<span style='color:#DC143C;'>")"</span>&ensp;:&ensp;bracket[0]--;&ensp;<span class='c539695'>break</span>;<br /></div><div class="c139695"><small>114</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>case</span>&ensp;<span style='color:#DC143C;'>"{"</span>&ensp;:&ensp;bracket[1]++;&ensp;<span class='c539695'>break</span>;<br /></div><div class="c239695"><small>115</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>case</span>&ensp;<span style='color:#DC143C;'>"}"</span>&ensp;:&ensp;bracket[1]--;&ensp;<span class='c539695'>break</span>;<br /></div><div class="c139695"><small>116</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>case</span>&ensp;<span style='color:#DC143C;'>"["</span>&ensp;:&ensp;bracket[2]++;&ensp;<span class='c539695'>break</span>;<br /></div><div class="c239695"><small>117</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>case</span>&ensp;<span style='color:#DC143C;'>"]"</span>&ensp;:&ensp;bracket[2]--;&ensp;<br /></div><div class="c139695"><small>118</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c239695"><small>119</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>(pos&gt;=str.length)&ensp;pos=-1;<br /></div><div class="c139695"><small>120</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}&ensp;<br /></div><div class="c239695"><small>121</small>&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c139695"><small>122</small>&ensp;&ensp;&ensp;&ensp;str=<span class='c539695'>null</span>;<br /></div><div class="c239695"><small>123</small>&ensp;&ensp;<br /></div><div class="c139695"><small>124</small>&ensp;&ensp;&ensp;&ensp;CODE=CODE.replace(<span style='color:#0000CD;'>/^\s+/</span>,<span style='color:#DC143C;'>""</span>).replace(<span style='color:#0000CD;'>/[\s\n]*$/</span>,<span style='color:#DC143C;'>""</span>).replace(<span style='color:#0000CD;'>/\;\/\*\*\//</span>g,<span style='color:#DC143C;'>"}"</span>);<br /></div><div class="c239695"><small>125</small>&ensp;&ensp;<br /></div><div class="c139695"><small>126</small>&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;j=CODE.length;<br /></div><div class="c239695"><small>127</small>&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;el=$id(<span style='color:#DC143C;'>"ratio"</span>);<span style='color:green;'><small>//el.style.backgroundColor="#000";&ensp;</span></small><br /></div><div class="c139695"><small>128</small>&ensp;&ensp;&ensp;&ensp;el.innerHTML=<span style='color:#DC143C;'>"Compression&ensp;Ratio:"</span>+j+<span style='color:#DC143C;'>"/"</span>+Size+<span style='color:#DC143C;'>"="</span>+<span class='c539695'>eval</span>(j/Size).<span class='c539695'>toFixed</span>(5);<br /></div><div class="c239695"><small>129</small>&ensp;&ensp;<br /></div><div class="c139695"><small>130</small>&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;hr&ensp;=<span style='color:#DC143C;'>"\n/*------------------------------------\n"</span>;<br /></div><div class="c239695"><small>131</small>&ensp;&ensp;&ensp;&ensp;<span class='c539695'>var</span>&ensp;hr2=<span style='color:#DC143C;'>"\n------------------------------------*/\n"</span>;<br /></div><div class="c139695"><small>132</small>&ensp;&ensp;<br /></div><div class="c239695"><small>133</small>&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>&ensp;(<span class='c539695'>eval</span>(bracket[0]+bracket[1]+bracket[2])!=0)&ensp;<br /></div><div class="c139695"><small>134</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;CODE+=hr+<span style='color:#DC143C;'>"Check&ensp;pair&ensp;of&ensp;brackets.&ensp;\n&ensp;()&ensp;:"</span>+bracket[0]+<span style='color:#DC143C;'>";&ensp;{}&ensp;:"</span>+bracket[1]+<span style='color:#DC143C;'>";&ensp;[]&ensp;:&ensp;"</span>+bracket[2]+hr2;<br /></div><div class="c239695"><small>135</small>&ensp;&ensp;&ensp;&ensp;<span class='c539695'>if</span>&ensp;(bracket[3]!=<span style='color:#DC143C;'>""</span>)<br /></div><div class="c139695"><small>136</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;CODE+=hr+<span style='color:#DC143C;'>"Check&ensp;Syntax&ensp;of&ensp;RegExp.&ensp;\n"</span>+(bracket[3]).replace(<span style='color:#0000CD;'>/xx/</span>g,<span style='color:#DC143C;'>"\\\\"</span>)+hr2;<br /></div><div class="c239695"><small>137</small>&ensp;&ensp;<br /></div><div class="c139695"><small>138</small>&ensp;&ensp;&ensp;&ensp;<span class='c539695'>return</span>(CODE);<br /></div><div class="c239695"><small>139</small>&ensp;&ensp;}<br /></div><div class="c139695"><small>140</small>&ensp;&ensp;<br /></div></div>
</p>

<h4>Modified on 29 Sep. 2008</h4>

<p>
<script type="text/javascript"><!--

/*---Just copy and paste this to your web page or blog as many as you want. Not necessary to set up js file. you can change scroll size, select the unit from px, pt, pc, %, in, cm, mm ---*/

/* JS Code Prettifier Last Modified:28 Sep.2008 (C)Samurai-Logic.com */var v51714="ns0";function f51714(x){var el=document.getElementById("si51714");if(x==2){ff=["Arial,Helvetica,sans-serif","Comic Sans MS","Trebuchet MS,sans-serif","Georgia,Times,sans-serif"];var fs=eval(v51714.replace(/\w+[^\d]/gi,""));el.style.fontFamily=ff[fs];fs++;if(fs>=ff.length)fs=0;var tmp=new String(fs);v51714=v51714.replace(/\d/g,tmp);return;}if(x==3){if(v51714.replace(/[sa\d]/g,"")=="n"){el.style.fontStyle="italic";v51714=v51714.replace(/n/,"i");}else{el.style.fontStyle="normal";v51714=v51714.replace(/i/,"n");  }return;}if(x==4){if(v51714.replace(/[in\d]/g,"")=="s"){if(/msie/i.test(navigator.userAgent)){el.setAttribute("className","c451714");}else{el.setAttribute("class","c451714");}v51714=v51714.replace(/s/,"a");}else{if(/msie/i.test(navigator.userAgent)){el.setAttribute("className","c351714");}else{el.setAttribute("class","c351714");}v51714=v51714.replace(/a/,"s");}return;}if(x==5){var str=el.innerHTML;str=str.replace(/\s/g," ").replace(/\<div[^\>]+\>\<small\>(\d)\<\/small\>((\s|\S){4})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{2})\<\/small\>((\s|\S){3})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{3})\<\/small\>((\s|\S){2})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d+)\<\/small\>(\s|\S)/gim,"<div>");if(/firefox/i.test(navigator.userAgent))str=str.replace(/(\s|\u20[\d\w]{2})(?=[^(class)(rgb)(\;\d)])/g," ");var win=window.open('','_blank','width=600,height=400,scrollbars=1,menubar=yes');win.document.writeln("<html><head><style type='text/css'>.c551714{color:#483D8B;font-weight:bold;}</style></head><body>"+(str)+"</body></html>");win.document.close();}if(x==6){var str=el.innerHTML;str=str.replace(/<br[^\>]*>/g,"\n").replace(/ /g," ").replace(/\<div[^\>]+\>\<small\>(\d)\<\/small\>((\s|\S){4})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{2})\<\/small\>((\s|\S){3})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{3})\<\/small\>((\s|\S){2})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d+)\<\/small\>(\s|\S)/gim,"<div>").replace(/<[^\>]+\>/g,"").replace(/>/g,">").replace(/</g,"<");var win=window.open('','_blank','width=600,height=400,scrollbars=0,menubar=yes');win.document.writeln("<html><head><style type='text/css'>.c951714{width:100%;height:100%;}</style></head><body><textarea class='c951714'>"+(str)+"</textarea></body></html>");win.document.close();return;}if(x==7){var win=window.open('','_blank','width=300,height=100,scrollbars=0');win.document.writeln("<html><head></head><body><small><b>Javascript Code Prettifier</b><br>Google Gadget:JS Code Prettifier<br>Last modified : 28 Sep. 2008<br><a href='http://www.samurai-logic.com/' target='_blank'>http://www.samurai-logic.com/</a><br>©2008 Samurai-Logic.com Author:S.Takeda</small></body></html>");win.document.close();return;}var sz=el.style.fontSize;var fs=parseInt(sz.replace(/px/,""));if(x==0)fs--;else fs++;if((fs>20)||(fs<8))return;el.style.fontSize=fs+"px";}//-->
</script><style type="text/css">#si51714{font-family:Trebuchet MS,sans-serif;margin-left:5px;background:#F9FFE0;}.c351714{width:600px;overflow:scroll;height:350px;}.c451714{font-style:normal; width:98%; overflow:visible;}.c151714{color:#000; font-weight:normal;}.c251714{background:#eeffff;color:#000;font-weight:normal; width:100%;}.c551714{color:#4169E1;font-weight:bold;}.c651714{font-size:11px;width:60px;padding:0px;}
</style><input type="button" onclick="f51714(0)" value="size" class="c651714"><input type="button" onclick="f51714(1)" value="SIZE" class="c651714"><input type="button" onclick="f51714(2)" value="font" class="c651714"><input type="button" onclick="f51714(4)" value="scroll" class="c651714"><input type="button" onclick="f51714(6)" value="text view" class="c651714"><input type="button" onclick="f51714(5)" value="print view" class="c651714"><input type="button" onclick="f51714(7)" value="version" class="c651714"><div id="si51714" class="c351714" style="font-size:13px;font-style:normal;">
<div class="c251714"><small>1</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>/****************************************************************</small></span><br /></div><div class="c151714"><small>2</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>    2008 (C)samurai-logic.com</small></span><br /></div><div class="c251714"><small>3</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c151714"><small>4</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c251714"><small>5</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>    Javascript Compressor</small></span><br /></div><div class="c151714"><small>6</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c251714"><small>7</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>    Last Modified 29 Sep. 2008</small></span><br /></div><div class="c151714"><small>8</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>****************************************************************/</span></small><br /></div><div class="c251714"><small>9</small>&ensp;&ensp;&ensp;&ensp;<span class='c551714'>function</span>&ensp;$compress(str){<br /></div><div class="c151714"><small>10</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>11</small>&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;Size=str.length;<br /></div><div class="c151714"><small>12</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>13</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//if(/\n/g.test(str))&ensp;return("no&ensp;end&ensp;of&ensp;line");&ensp;</span></small><br /></div><div class="c151714"><small>14</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>15</small>&ensp;&ensp;&ensp;str=str.replace(<span style='color:#0000CD;'>/\t+/</span>g,<span style='color:#DC143C;'>"&ensp;"</span>);<br /></div><div class="c151714"><small>16</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>17</small>&ensp;&ensp;&ensp;Reg=<span style='color:#0000CD;'>/([^\d\w]\n[^\d\w]|[^\d\w]\s[^\d\w]|[\d\w]\s[^\d\w\$\_\#]|[^\d\w]\s[\d\w])/</span>;<br /></div><div class="c151714"><small>18</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>19</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//Exp=/[^\\]\/[^\/]*([\s\,\;]*)((\,\s*(\"|\')|(\w+)\s*\(\s*\/*)[\s\S]+|\/\/[\s\S]+|\/\*[\s\S]+|\s{2,}[\s\S]+|\s*)\n*/;&ensp;</span></small><br /></div><div class="c151714"><small>20</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//Exp=/[^\\]\/([^\/])?(\s)*(([\,\s]*(\"|\')|(\w+)\s*\(\s*\/*)[\s\S]+|\/\/[\s\S]+|\/\*[\s\S]+|\s{2,}[\s\S]+|\s*)\n*/;&ensp;</span></small><br /></div><div class="c251714"><small>21</small>&ensp;&ensp;&ensp;<br /></div><div class="c151714"><small>22</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//Basic&ensp;Exp&ensp;</span></small><br /></div><div class="c251714"><small>23</small>&ensp;&ensp;&ensp;Exp=<span style='color:#0000CD;'>/[^\\]\/([^\/])/</span>;<br /></div><div class="c151714"><small>24</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>25</small>&ensp;&ensp;&ensp;chr=<span style='color:#0000CD;'>/(\(|\=|\[|\:|\||\&amp;|\!|\,)/</span>;&ensp;<span style='color:green;'><small>//&ensp;new&ensp;reg&ensp;</span></small><br /></div><div class="c151714"><small>26</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>27</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//these&ensp;RegExp&ensp;don't&ensp;need&ensp;to&ensp;replace(/\\\\/g,"xx")...but&ensp;just&ensp;in&ensp;case.&ensp;</span></small><br /></div><div class="c151714"><small>28</small>&ensp;&ensp;&ensp;d_q=<span style='color:#0000CD;'>/([^\\]\"[^\"]*[^\:]|[^\"]\"[\s]*[\:\,\}\]\)\;\.])/</span>;<br /></div><div class="c251714"><small>29</small>&ensp;&ensp;&ensp;s_q=<span style='color:#0000CD;'>/([^\\]\'[^\']*[^\:]|[^\']\'[\s]*[\:\,\}\]\)\;\.])/</span>;<br /></div><div class="c151714"><small>30</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>31</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;Basic&ensp;RegExp&ensp;</span></small><br /></div><div class="c151714"><small>32</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//d_q=/([^\\]\"|[^\"]\")/;&ensp;</span></small><br /></div><div class="c251714"><small>33</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//s_q=/([^\\]\'|[^\']\')/;&ensp;</span></small><br /></div><div class="c151714"><small>34</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>35</small>&ensp;&ensp;&ensp;bracket=<span class='c551714'>new</span>&ensp;Array();<br /></div><div class="c151714"><small>36</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>37</small>&ensp;&ensp;&ensp;bracket[0]=0;&ensp;bracket[1]=0;&ensp;bracket[2]=0;&ensp;bracket[3]=<span style='color:#DC143C;'>""</span>;<br /></div><div class="c151714"><small>38</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>39</small>&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;CODE&ensp;&ensp;=&ensp;<span style='color:#DC143C;'>""</span>;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//new&ensp;string&ensp;for&ensp;compressed&ensp;code&ensp;</span></small><br /></div><div class="c151714"><small>40</small>&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;cmt&ensp;&ensp;&ensp;=&ensp;<span class='c551714'>false</span>;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//cmt=true,&ensp;char&ensp;is&ensp;comment.&lt;&ensp;--&ensp;&gt;&ensp;cmt=false,&ensp;char&ensp;is&ensp;code.&ensp;</span></small><br /></div><div class="c251714"><small>41</small>&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;arg&ensp;&ensp;&ensp;=&ensp;-1;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//arg&ensp;decide&ensp;the&ensp;keyword&ensp;to&ensp;find&ensp;</span></small><br /></div><div class="c151714"><small>42</small>&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;pos&ensp;=&ensp;end&ensp;=&ensp;0;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//pos&ensp;=&ensp;postion&ensp;of&ensp;open&ensp;keyword,&ensp;end&ensp;=&ensp;postion&ensp;of&ensp;close&ensp;keyword&ensp;</span></small><br /></div><div class="c251714"><small>43</small>&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;last=<span style='color:#DC143C;'>"&ensp;"</span>;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//last&ensp;is&ensp;last&ensp;char&ensp;which&ensp;store&ensp;to&ensp;CODE&ensp;</span></small><br /></div><div class="c151714"><small>44</small>&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;temp=<span style='color:#DC143C;'>""</span>;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//temp&ensp;is&ensp;to&ensp;find&ensp;another&ensp;keyword&ensp;</span></small><br /></div><div class="c251714"><small>45</small>&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;LEN=str.length;<br /></div><div class="c151714"><small>46</small>&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;retrn&ensp;=&ensp;<span class='c551714'>false</span>;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;for&ensp;regexp&ensp;"return&ensp;/pat/.test()"&ensp;</span></small><br /></div><div class="c251714"><small>47</small>&ensp;&ensp;&ensp;<br /></div><div class="c151714"><small>48</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>/*-----------------------------------------------</small></span><br /></div><div class="c251714"><small>49</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>    While loop begin. check each char in string </small></span><br /></div><div class="c151714"><small>50</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>   ------------------------------------------------*/</span></small><br /></div><div class="c251714"><small>51</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>while</span>&ensp;(pos&ensp;&gt;=&ensp;0){<br /></div><div class="c151714"><small>52</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;key_q&ensp;=&ensp;str.charAt(pos);&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//keyword&ensp;quot&ensp;</span></small><br /></div><div class="c251714"><small>53</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;key_c&ensp;=&ensp;str.substr(pos,2);&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//keyword&ensp;comment&ensp;</span></small><br /></div><div class="c151714"><small>54</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;key_r&ensp;=&ensp;last&ensp;+&ensp;key_c;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//keyword&ensp;to&ensp;test&ensp;key_q&ensp;is&ensp;necessary&ensp;</span></small><br /></div><div class="c251714"><small>55</small>&ensp;&ensp;&ensp;<br /></div><div class="c151714"><small>56</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>((pos&gt;6)&amp;&amp;(str.substr(pos-6,6)==<span style='color:#DC143C;'>"return"</span>)&amp;&amp;(<span style='color:#0000CD;'>/^[\s\n]*\/[^\/\*]/</span>.test(str.substring(pos,LEN))))retrn=<span class='c551714'>true</span>;<br /></div><div class="c251714"><small>57</small>&ensp;&ensp;&ensp;<br /></div><div class="c151714"><small>58</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>&ensp;(key_q==<span style='color:#DC143C;'>"'"</span>)&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;{&ensp;arg&ensp;=&ensp;0;&ensp;pos++;&ensp;}&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;'&ensp;</span></small><br /></div><div class="c251714"><small>59</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;<span class='c551714'>if</span>&ensp;(key_q==<span style='color:#DC143C;'>'"'</span>)&ensp;&ensp;{&ensp;arg&ensp;=&ensp;1;&ensp;pos++;&ensp;}&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;"&ensp;</span></small><br /></div><div class="c151714"><small>60</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;<span class='c551714'>if</span>&ensp;((key_q==<span style='color:#DC143C;'>'/'</span>)&ensp;&amp;&amp;&ensp;(key_c!=<span style='color:#DC143C;'>"//"</span>)&ensp;&amp;&amp;&ensp;(key_c!=<span style='color:#DC143C;'>"/*"</span>)&ensp;&amp;&amp;&ensp;((chr.test(last)&ensp;||&ensp;(retrn))))<br /></div><div class="c251714"><small>61</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;{&ensp;arg&ensp;=&ensp;4;&ensp;pos++;&ensp;&ensp;}&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;/&ensp;</span></small><br /></div><div class="c151714"><small>62</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;<span class='c551714'>if</span>&ensp;(key_c==<span style='color:#DC143C;'>"//"</span>)&ensp;{&ensp;arg&ensp;=&ensp;2;&ensp;pos+=2;&ensp;}&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;//&ensp;</span></small><br /></div><div class="c251714"><small>63</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;<span class='c551714'>if</span>&ensp;(key_c==<span style='color:#DC143C;'>"/*"</span>)&ensp;{&ensp;arg&ensp;=&ensp;3;&ensp;pos+=2;&ensp;}&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;/*&ensp;</span></small><br /></div><div class="c151714"><small>64</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;{&ensp;arg&ensp;=-1;&ensp;pos++;&ensp;}<br /></div><div class="c251714"><small>65</small>&ensp;&ensp;&ensp;<br /></div><div class="c151714"><small>66</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>&ensp;(arg&gt;=0){&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//if&ensp;keyword&ensp;is&ensp;found&ensp;</span></small><br /></div><div class="c251714"><small>67</small>&ensp;&ensp;&ensp;<br /></div><div class="c151714"><small>68</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;(arg==0)&ensp;{&ensp;temp=(str.substring(pos-1,&ensp;LEN));&ensp;end&ensp;=&ensp;temp.search(s_q)+pos;&ensp;temp=<span class='c551714'>null</span>;}<br /></div><div class="c251714"><small>69</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;<span class='c551714'>if</span>&ensp;(arg==1)&ensp;{&ensp;temp=(str.substring(pos-1,&ensp;LEN));&ensp;end&ensp;=&ensp;temp.search(d_q)+pos;&ensp;temp=<span class='c551714'>null</span>;}<br /></div><div class="c151714"><small>70</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>71</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;<span class='c551714'>if</span>&ensp;(arg==4)&ensp;{&ensp;<span class='c551714'>var</span>&ensp;eol&ensp;&ensp;=&ensp;str.indexOf(<span style='color:#DC143C;'>"\n"</span>,&ensp;pos);&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;find&ensp;end&ensp;of&ensp;line&ensp;</span></small><br /></div><div class="c151714"><small>72</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>(eol==-1){<span class='c551714'>return</span>(CODE+<span style='color:#DC143C;'>"\nerror&ensp;:&ensp;no&ensp;end&ensp;of&ensp;line"</span>);}<br /></div><div class="c251714"><small>73</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;temp&ensp;=&ensp;next&ensp;=&ensp;(str.substring(pos-1,eol+2).replace(<span style='color:#0000CD;'>/\\\\/</span>g,<span style='color:#DC143C;'>"xx"</span>));&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;end+2&ensp;==&gt;&ensp;\n&ensp;</span></small><br /></div><div class="c151714"><small>74</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;end&ensp;=&ensp;0;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;t_l=temp.length-2;&ensp;retrn=<span class='c551714'>false</span>;&ensp;<br /></div><div class="c251714"><small>75</small>&ensp;&ensp;&ensp;<br /></div><div class="c151714"><small>76</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>/*---------------------------------------------------------------</small></span><br /></div><div class="c251714"><small>77</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>           loop to find next keyword "/" and evaluate Regular Expression </small></span><br /></div><div class="c151714"><small>78</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>           and if RegExp is NG, store error message to var err.</small></span><br /></div><div class="c251714"><small>79</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>        ----------------------------------------------------------------*/</span></small><br /></div><div class="c151714"><small>80</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>81</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>while</span>(end&lt;t_l-1){<br /></div><div class="c151714"><small>82</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>83</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;isReg=<span class='c551714'>true</span>;<br /></div><div class="c151714"><small>84</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>85</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;next=(temp.substring(end,t_l+1));&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//&ensp;store&ensp;temp&ensp;to&ensp;next&ensp;</span></small><br /></div><div class="c151714"><small>86</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>87</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;end=<span class='c551714'>parseInt</span>(end+next.search(Exp)+2);&ensp;&ensp;<span style='color:green;'><small>//alert("next="+next);&ensp;//find&ensp;next&ensp;key&ensp;/&ensp;</span></small><br /></div><div class="c151714"><small>88</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>89</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>try</span>{&ensp;<span class='c551714'>eval</span>(temp.substring(0,end));}&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//evaluate&ensp;RegExp&ensp;</span></small><br /></div><div class="c151714"><small>90</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>catch</span>(e){isReg=<span class='c551714'>false</span>;&ensp;<span class='c551714'>var</span>&ensp;err=(e);}<span style='color:green;'><small>//&ensp;store&ensp;error&ensp;msg&ensp;to&ensp;err&ensp;</span></small><br /></div><div class="c251714"><small>91</small>&ensp;&ensp;&ensp;<br /></div><div class="c151714"><small>92</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>(isReg)&ensp;<span class='c551714'>break</span>;<span style='color:green;'><small>//if&ensp;RegExp&ensp;is&ensp;OK,&ensp;then&ensp;break&ensp;</span></small><br /></div><div class="c251714"><small>93</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c151714"><small>94</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>95</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;end=<span class='c551714'>parseInt</span>(end+pos-2);&ensp;temp=<span class='c551714'>null</span>;&ensp;next=<span class='c551714'>null</span>;&ensp;<span style='color:green;'><small>//add&ensp;pos&ensp;to&ensp;end,&ensp;and&ensp;release&ensp;memory&ensp;</span></small><br /></div><div class="c151714"><small>96</small>&ensp;&ensp;&ensp;<br /></div><div class="c251714"><small>97</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>(!(isReg)){bracket[3]+=err+<span style='color:#DC143C;'>"&ensp;:&ensp;"</span>+(str.substring(pos-1,end+1))+<span style='color:#DC143C;'>"&ensp;pos&ensp;="</span>+pos;}<br /></div><div class="c151714"><small>98</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c251714"><small>99</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<br /></div><div class="c151714"><small>100</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;<span class='c551714'>if</span>&ensp;(arg==2)&ensp;{&ensp;end&ensp;=&ensp;str.indexOf(<span style='color:#DC143C;'>"\n"</span>,&ensp;pos);&ensp;&ensp;&ensp;pos--;&ensp;cmt&ensp;=&ensp;<span class='c551714'>true</span>;&ensp;}<br /></div><div class="c251714"><small>101</small>&ensp;&ensp;<br /></div><div class="c151714"><small>102</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>/*arg==3*/</span></small>&ensp;&ensp;{&ensp;end&ensp;=&ensp;str.indexOf(<span style='color:#DC143C;'>"*/"</span>,&ensp;pos);&ensp;pos--;&ensp;end++;&ensp;<span style='color:green;'><small>//pos--&ensp;because&ensp;2&ensp;char&ensp;"/*"&ensp;</span></small><br /></div><div class="c251714"><small>103</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>&ensp;(end&ensp;==&ensp;0)&ensp;cmt&ensp;=&ensp;<span class='c551714'>false</span>;&ensp;<span style='color:green;'><small>//if&ensp;not&ensp;found(avoid&ensp;error)&ensp;</span></small><br /></div><div class="c151714"><small>104</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>else</span>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;cmt&ensp;=&ensp;<span class='c551714'>true</span>;&ensp;}<br /></div><div class="c251714"><small>105</small>&ensp;&ensp;<br /></div><div class="c151714"><small>106</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>&ensp;(end&ensp;&lt;=&ensp;0)&ensp;end=str.length-1;&ensp;end++;<br /></div><div class="c251714"><small>107</small>&ensp;&ensp;<br /></div><div class="c151714"><small>108</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>&ensp;(cmt==<span class='c551714'>false</span>)&ensp;CODE&ensp;+=&ensp;str.substring(pos-1,end);<span style='color:green;'><small>//alert(str.substring(pos-1,end+1));&ensp;</span></small><br /></div><div class="c251714"><small>109</small>&ensp;&ensp;<br /></div><div class="c151714"><small>110</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;pos=end;&ensp;<span style='color:green;'><small>//if(arg==4)&ensp;pos++;&ensp;//&ensp;end=pos&ensp;at&ensp;"/"&ensp;so&ensp;add&ensp;1&ensp;</span></small><br /></div><div class="c251714"><small>111</small>&ensp;&ensp;<br /></div><div class="c151714"><small>112</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;cmt=<span class='c551714'>false</span>;&ensp;&ensp;<span style='color:green;'><small>//at&ensp;last,&ensp;end&ensp;up&ensp;with&ensp;pos=0&ensp;&ensp;</span></small><br /></div><div class="c251714"><small>113</small>&ensp;&ensp;<br /></div><div class="c151714"><small>114</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<span class='c551714'>else</span>{&ensp;<span style='color:green;'><small>//&ensp;else&ensp;keyword&ensp;is&ensp;not&ensp;found&ensp;</span></small><br /></div><div class="c251714"><small>115</small>&ensp;&ensp;<br /></div><div class="c151714"><small>116</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>((last==<span style='color:#DC143C;'>";"</span>)&ensp;&amp;&amp;&ensp;(key_q==<span style='color:#DC143C;'>"}"</span>)){&ensp;key_q=<span style='color:#DC143C;'>"/**/"</span>;&ensp;bracket[1]--;}&ensp;<span style='color:green;'><small>//replace(/\;\}/g,"}");&ensp;</span></small><br /></div><div class="c251714"><small>117</small>&ensp;&ensp;<br /></div><div class="c151714"><small>118</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>&ensp;(!(Reg.test(key_r)))&ensp;{&ensp;CODE&ensp;+=&ensp;key_q;&ensp;last=key_q;}<br /></div><div class="c251714"><small>119</small>&ensp;&ensp;<br /></div><div class="c151714"><small>120</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>switch</span>(key_q){<br /></div><div class="c251714"><small>121</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>case</span>&ensp;<span style='color:#DC143C;'>"("</span>&ensp;:&ensp;bracket[0]++;&ensp;<span class='c551714'>break</span>;<span style='color:green;'><small>//in&ensp;case&ensp;(&ensp;is&ensp;found&ensp;then&ensp;count&ensp;one&ensp;</span></small><br /></div><div class="c151714"><small>122</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>case</span>&ensp;<span style='color:#DC143C;'>")"</span>&ensp;:&ensp;bracket[0]--;&ensp;<span class='c551714'>break</span>;<br /></div><div class="c251714"><small>123</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>case</span>&ensp;<span style='color:#DC143C;'>"{"</span>&ensp;:&ensp;bracket[1]++;&ensp;<span class='c551714'>break</span>;<br /></div><div class="c151714"><small>124</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>case</span>&ensp;<span style='color:#DC143C;'>"}"</span>&ensp;:&ensp;bracket[1]--;&ensp;<span class='c551714'>break</span>;<br /></div><div class="c251714"><small>125</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>case</span>&ensp;<span style='color:#DC143C;'>"["</span>&ensp;:&ensp;bracket[2]++;&ensp;<span class='c551714'>break</span>;<br /></div><div class="c151714"><small>126</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>case</span>&ensp;<span style='color:#DC143C;'>"]"</span>&ensp;:&ensp;bracket[2]--;&ensp;<br /></div><div class="c251714"><small>127</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}<br /></div><div class="c151714"><small>128</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>(pos&gt;=str.length)&ensp;pos=-1;<br /></div><div class="c251714"><small>129</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;}&ensp;<br /></div><div class="c151714"><small>130</small>&ensp;&ensp;&ensp;&ensp;&ensp;}&ensp;<span style='color:green;'><small>//while&ensp;loop&ensp;</span></small><br /></div><div class="c251714"><small>131</small>&ensp;&ensp;&ensp;&ensp;str=<span class='c551714'>null</span>;<br /></div><div class="c151714"><small>132</small>&ensp;&ensp;<br /></div><div class="c251714"><small>133</small>&ensp;&ensp;&ensp;&ensp;CODE=CODE.replace(<span style='color:#0000CD;'>/^\s+/</span>,<span style='color:#DC143C;'>""</span>).replace(<span style='color:#0000CD;'>/[\s\n]*$/</span>,<span style='color:#DC143C;'>""</span>).replace(<span style='color:#0000CD;'>/\;\/\*\*\//</span>g,<span style='color:#DC143C;'>"}"</span>);<br /></div><div class="c151714"><small>134</small>&ensp;&ensp;<br /></div><div class="c251714"><small>135</small>&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;j=CODE.length;<br /></div><div class="c151714"><small>136</small>&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;el=$id(<span style='color:#DC143C;'>"ratio"</span>);<span style='color:green;'><small>//el.style.backgroundColor="#000";&ensp;</span></small><br /></div><div class="c251714"><small>137</small>&ensp;&ensp;&ensp;&ensp;el.innerHTML=<span style='color:#DC143C;'>"Compression&ensp;Ratio:"</span>+j+<span style='color:#DC143C;'>"/"</span>+Size+<span style='color:#DC143C;'>"="</span>+<span class='c551714'>eval</span>(j/Size).<span class='c551714'>toFixed</span>(5);<br /></div><div class="c151714"><small>138</small>&ensp;&ensp;<br /></div><div class="c251714"><small>139</small>&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;hr&ensp;=<span style='color:#DC143C;'>"\n/*------------------------------------\n"</span>;<br /></div><div class="c151714"><small>140</small>&ensp;&ensp;&ensp;&ensp;<span class='c551714'>var</span>&ensp;hr2=<span style='color:#DC143C;'>"\n------------------------------------*/\n"</span>;<br /></div><div class="c251714"><small>141</small>&ensp;&ensp;<br /></div><div class="c151714"><small>142</small>&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>&ensp;(<span class='c551714'>eval</span>(bracket[0]+bracket[1]+bracket[2])!=0)&ensp;<br /></div><div class="c251714"><small>143</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;CODE+=hr+<span style='color:#DC143C;'>"Check&ensp;pair&ensp;of&ensp;brackets.&ensp;\n&ensp;()&ensp;:"</span>+bracket[0]+<span style='color:#DC143C;'>";&ensp;{}&ensp;:"</span>+bracket[1]+<span style='color:#DC143C;'>";&ensp;[]&ensp;:&ensp;"</span>+bracket[2]+hr2;<br /></div><div class="c151714"><small>144</small>&ensp;&ensp;&ensp;&ensp;<span class='c551714'>if</span>&ensp;(bracket[3]!=<span style='color:#DC143C;'>""</span>)<br /></div><div class="c251714"><small>145</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;CODE+=hr+<span style='color:#DC143C;'>"Check&ensp;Syntax&ensp;of&ensp;RegExp.&ensp;\n"</span>+(bracket[3]).replace(<span style='color:#0000CD;'>/xx/</span>g,<span style='color:#DC143C;'>"\\\\"</span>)+hr2;<br /></div><div class="c151714"><small>146</small>&ensp;&ensp;<br /></div><div class="c251714"><small>147</small>&ensp;&ensp;&ensp;&ensp;<span class='c551714'>return</span>(CODE);<br /></div><div class="c151714"><small>148</small>&ensp;&ensp;}<br /></div><div class="c251714"><small>149</small>&ensp;&ensp;<br /></div></div>
</p>]]></description>
            <link>http://www.samurai-logic.com/mt/2008/09/javascript-compressor-modified.html</link>
            <guid>http://www.samurai-logic.com/mt/2008/09/javascript-compressor-modified.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript AJAX CSS</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript Compressor</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Javascript compressor</category>
            
            <pubDate>Tue, 30 Sep 2008 07:06:43 +0900</pubDate>
        </item>
        
        <item>
            <title>Tower of Babel  バベルの塔</title>
            <description><![CDATA[ <p>
文字コードを見てため息をつくたびにバベルの塔の神話を思い出す。 
</p>
<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.samurai-logic.com/mt/img/babel.jpg"><img alt="babel.jpg" src="http://www.samurai-logic.com/mt/assets_c/2008/09/babel-thumb-450x339.jpg" width="450" height="339" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></span>
</p>
<p style="clear:both">
<big><em>バベルの塔</em></big>
</p><p>
もともと人々は同じ1つの言葉を話していた。 
</p>
<p>
シンアルの野に集まった人々は、煉瓦とアスファルトを用いて天まで届く塔をつくってシェム（ヘブライ語、慣習で名と訳されている。名誉・名声の意味も有る）を高く上げ、全地のおもてに散るのを免れようと考えた（偽典の「ヨベル書」によれば、神はノアの息子たちに世界の各地を与え、そこに住むよう命じていた）。


<p> 神はこの塔を見て、言葉が同じことが原因であると考え、人々に違う言葉を話させるようにした。このため、彼らは混乱し、世界各地へ散っていった（『創世記』の記述には「塔が崩された」などとは書かれていない）。 


</p><p>「創世記」の著者は、バベルの塔の名前を「混乱」を意味する「バラル」と関係付けて話を締めくくっている。</p><p> 『ウィキペディア（Wikipedia）』 
</p>

<p><br /></p>

<p>Pascal言語が消えたのは標準化されなかったからだ。留学時代、大学が変わればPascalコンパイラーも同じではなかった。VAX-Pascalコンパイラーは当時最も優れたコンパイラだったので各機関で取り入れられたが、コンパイラーの種類が違うと同じプログラムコードが動かないことがある。何の情報もない時代・・・多くの人が頭をかかえたと思う。そして皆、C言語を勉強しだした。Pascalのクラスの課題をTurbo C のコードで提出している生徒もいた。1990年代の初め頃Pascalに変わってあっという間にC言語の時代になった。 

</p><p>
分裂するとろくな事はない。分裂は争いと混乱を招く。でもこれは人の行く末の定めなのか？
</p>]]></description>
            <link>http://www.samurai-logic.com/mt/2008/09/tower-of-babel.html</link>
            <guid>http://www.samurai-logic.com/mt/2008/09/tower-of-babel.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Soliloquy</category>
            
            
            <pubDate>Sat, 27 Sep 2008 20:26:31 +0900</pubDate>
        </item>
        
        <item>
            <title>Javascript Code prettifier - Highlight Syntax (JS Code Pro.)</title>
            <description><![CDATA[<p>
<table><tr><td>
this gadget (upgrade version of code prettifier) highlights syntax code of javascript just copy and paste, and RegExp in a  code will be highlighted by midnight Blue.  font-size, font-family are changeable. As additional option, text view and print view button will highlight and show source code to new window. print view is for color print. it's not necessary to set up js file. it's easy to use and very accurate. 
<br /><br />
<script src="http://www.gmodules.com/ig/ifr?url=http://www.samurai-logic.com/gadget/js_code_pro.xml&amp;synd=open&amp;w=270&amp;h=192&amp;title=JS+Code+Prettifier+Pro.(UTF-8)&amp;border=%23ffffff%7C1px%2C1px+solid+black%7C1px%2C1px+solid+black%7C0px%2C1px+black&amp;output=js"></script>
ガジェットの貼り付けコード<br />
<textarea style="width:300px;height:100px;" onclick="this.select()">
<script src="http://www.gmodules.com/ig/ifr?url=http://www.samurai-logic.com/gadget/js_code_pro.xml&amp;synd=open&amp;w=270&amp;h=192&amp;title=JS+Code+Prettifier+Pro.(UTF-8)&amp;border=%23ffffff%7C1px%2C1px+solid+black%7C1px%2C1px+solid+black%7C0px%2C1px+black&amp;output=js"></script>
</textarea>

<br /><br />
</td><td>
このガジェットは前回紹介した Javascript の Syntax Highlighter ガジェット（JS Code）に機能を追加したものです。<br /><br />
このツールの特徴は、外部 js ファイルなどのセッティングなどを必要とせず、Javascript のコードをコピーして貼り付けるだけです。グローバル変数、ファンクション名、CSSのクラス名なども毎回違う名前になるようにしてますので、ブログなどに何ヶ所もソースコードを貼り付けても名前がかぶることがありません。
<br /><br />
正規表現(RegExp)の部分が青(midnightBlue)でハイライトされます。他にあまり見られないものです。
<br /><br />
追加機能は、Text view ボタンを追加しています。IE7, FireFox3, Safari, Google Chrome でテストしています。　Opera でテキストエリアの表示(text view)がうまくいきません。Operaはとても優秀なブラウザなので文字化け等への対応がされているためだと思います。文字コードは、現時点ではUnicode のみになります。ガジェットの charset は UTF-8 で設定してます。print view でソースコードをそのままカラープリントが出来ます。

<br /><br />
font (font-family)は前のガジェットと変わらず以下の4種類のタイプに変更できます。
<ol>
<li>"Arial,Helvetica,sans-serif"</li>
<li>"Comic Sans MS"</li>
<li>"Trebuchet MS,sans-serif"</li>
<li>"Georgia,Times,sans-serif"</li>
</ol>
<br /><br />

<small><strong>Last Modified : 26 Sep. 2008</strong></small>

</td></tr></table>
</p>

<p>
<script type="text/javascript"><!--
/* JS Code Prettifier Last Modified:26 Sep.2008 (C)Samurai-Logic.com */var v17498="ns0";function f17498(x){var el=document.getElementById("si17498");if(x==2){ff=["Arial,Helvetica,sans-serif","Comic Sans MS","Trebuchet MS,sans-serif","Georgia,Times,sans-serif"];var fs=eval(v17498.replace(/\w+[^\d]/gi,""));el.style.fontFamily=ff[fs];fs++;if(fs>=ff.length)fs=0;var tmp=new String(fs);v17498=v17498.replace(/\d/g,tmp);return;}if(x==3){if(v17498.replace(/[sa\d]/g,"")=="n"){el.style.fontStyle="italic";v17498=v17498.replace(/n/,"i");}else{el.style.fontStyle="normal";v17498=v17498.replace(/i/,"n");  }return;}if(x==4){if(v17498.replace(/[in\d]/g,"")=="s"){if(/msie/i.test(navigator.userAgent)){el.setAttribute("className","c417498");}else{el.setAttribute("class","c417498");}v17498=v17498.replace(/s/,"a");}else{if(/msie/i.test(navigator.userAgent)){el.setAttribute("className","c317498");}else{el.setAttribute("class","c317498");}v17498=v17498.replace(/a/,"s");}return;}if(x==5){var str=el.innerHTML;str=str.replace(/\s/g," ").replace(/\<div[^\>]+\>\<small\>(\d)\<\/small\>((\s|\S){4})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{2})\<\/small\>((\s|\S){3})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{3})\<\/small\>((\s|\S){2})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d+)\<\/small\>(\s|\S)/gim,"<div>");if(/firefox/i.test(navigator.userAgent))str=str.replace(/(\s|\u20[\d\w]{2})(?=[^(class)(rgb)(\;\d)])/g," ");var win=window.open('','_blank','width=600,height=400,scrollbars=1,menubar=yes');win.document.writeln("<html><head><style type='text/css'>.c517498{color:#483D8B;font-weight:bold;}</style></head><body>"+(str)+"</body></html>");win.document.close();}if(x==6){var str=el.innerHTML;str=str.replace(/<br[^\>]*>/g,"\n").replace(/ /g," ").replace(/\<div[^\>]+\>\<small\>(\d)\<\/small\>((\s|\S){4})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{2})\<\/small\>((\s|\S){3})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d{3})\<\/small\>((\s|\S){2})/gim,"<div>").replace(/\<div[^\>]+\>\<small\>(\d+)\<\/small\>(\s|\S)/gim,"<div>").replace(/<[^\>]+\>/g,"").replace(/>/g,">").replace(/</g,"<");var win=window.open('','_blank','width=600,height=400,scrollbars=0,menubar=yes');win.document.writeln("<html><head><style type='text/css'>.c917498{width:100%;height:100%;}</style></head><body><textarea class='c917498'>"+(str)+"</textarea></body></html>");win.document.close();return;}if(x==7){var win=window.open('','_blank','width=300,height=100,scrollbars=0');win.document.writeln("<html><head></head><body><small><b>Javascript Code Prettifier</b><br>Google Gadget:JS Code Prettifier<br>Last modified : 26 Sep. 2008<br><a href='http://www.samurai-logic.com/' target='_blank'>http://www.samurai-logic.com/</a><br>©2008 Samurai-Logic.com Author:S.Takeda</small></body></html>");win.document.close();return;}var sz=el.style.fontSize;var fs=parseInt(sz.replace(/px/,""));if(x==0)fs--;else fs++;if((fs>20)||(fs<8))return;el.style.fontSize=fs+"px";}//-->
</script><style type="text/css">#si17498{font-family:Trebuchet MS,sans-serif;margin-left:5px;background:#F9FFE0;}.c317498{width:600px;overflow:scroll;height:250px;}.c417498{font-style:normal; width:800px; overflow:visible;}.c117498{color:#000; font-weight:normal;}.c217498{background:#eeffff;color:#000;font-weight:normal; width:100%;}.c517498{color:#4169E1;font-weight:bold;}.c617498{font-size:11px;width:60px;padding:0px;}
</style><input type="button" onclick="f17498(0)" value="size" class="c617498"><input type="button" onclick="f17498(1)" value="SIZE" class="c617498"><input type="button" onclick="f17498(2)" value="font" class="c617498"><input type="button" onclick="f17498(4)" value="scroll" class="c617498"><input type="button" onclick="f17498(6)" value="text view" class="c617498"><input type="button" onclick="f17498(5)" value="print view" class="c617498"><input type="button" onclick="f17498(7)" value="version" class="c617498"><div id="si17498" class="c317498" style="font-size:13px;font-style:normal;">
<div class="c217498"><small>1</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>/****************************************************************</small></span><br /></div><div class="c117498"><small>2</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c217498"><small>3</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>      23 Sep. 2008 (C)samurai-logic.com</small></span><br /></div><div class="c117498"><small>4</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c217498"><small>5</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c117498"><small>6</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>      Code Prettifier</small></span><br /></div><div class="c217498"><small>7</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c117498"><small>8</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>      Modified on 26 Sep. 2008</small></span><br /></div><div class="c217498"><small>9</small>&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small></small></span><br /></div><div class="c117498"><small>10</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>/****************************************************************/</span></small><br /></div><div class="c217498"><small>11</small>&ensp;&ensp;&ensp;<br /></div><div class="c117498"><small>12</small>&ensp;&ensp;&ensp;<span class='c517498'>function</span>&ensp;$code(str,rnd){<br /></div><div class="c217498"><small>13</small>&ensp;&ensp;&ensp;<br /></div><div class="c117498"><small>14</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>/*--------------------------------------------------------------</small></span><br /></div><div class="c217498"><small>15</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>      str = string of javascript code</small></span><br /></div><div class="c117498"><small>16</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>      rnd = random 5 digits number for </small></span><br /></div><div class="c217498"><small>17</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>            name of temporary var, class,id and function name</small></span><br /></div><div class="c117498"><small>18</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>/*---------------------------------------------------------------*/</span></small><br /></div><div class="c217498"><small>19</small>&ensp;&ensp;&ensp;<br /></div><div class="c117498"><small>20</small>&ensp;&ensp;&ensp;js_key=<span style='color:#0000CD;'>/\b(?=(alert|array|arguments|Boolean|break|caller|callee|case|catch|class|confirm|const|constructor|continue|Date|default|delete|do|else|eval|false|final|finally|for|function|if|isFinite|isNaN|Math|NaN|new|null|Number|Object|parseFloat|parseInt|prompt|prototype|return|String|switch|this|throw|throws|toString|toExponential|toFixed|toPrecision|true|try|typeof|value|valueOf|var|void|while|with)(\W))/</span>g;<br /></div><div class="c217498"><small>21</small>&ensp;&ensp;&ensp;<br /></div><div class="c117498"><small>22</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;key=<span style='color:#DC143C;'>""</span>;<br /></div><div class="c217498"><small>23</small>&ensp;&ensp;&ensp;<br /></div><div class="c117498"><small>24</small>&ensp;&ensp;&ensp;<span style='color:green;'><small>//replace&ensp;\b&ensp;to&ensp;key()just&ensp;before&ensp;keywords&ensp;of&ensp;javascript&ensp;</span></small><br /></div><div class="c217498"><small>25</small>&ensp;&ensp;&ensp;<br /></div><div class="c117498"><small>26</small>&ensp;&ensp;&ensp;str=str.replace(<span style='color:#0000CD;'>/\t/</span>g,<span style='color:#DC143C;'>"&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;"</span>).replace(js_key,key).replace(<span style='color:#0000CD;'>/&amp;/</span>g,<span style='color:#DC143C;'>"&amp;amp;"</span>)+<span style='color:#DC143C;'>"\n"</span>;<br /></div><div class="c217498"><small>27</small>&ensp;&ensp;&ensp;<br /></div><div class="c117498"><small>28</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;CODE&ensp;&ensp;=&ensp;<span style='color:#DC143C;'>''</span>;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//CODE&ensp;is&ensp;string&ensp;to&ensp;modify&ensp;code&ensp;</span></small><br /></div><div class="c217498"><small>29</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;arg&ensp;&ensp;&ensp;=&ensp;-1;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//arg&ensp;is&ensp;selectors&ensp;of&ensp;key&ensp;</span></small><br /></div><div class="c117498"><small>30</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;pos&ensp;=&ensp;end&ensp;=&ensp;0;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//pos&ensp;=&ensp;end&ensp;=&ensp;position&ensp;of&ensp;slice&ensp;str&ensp;</span></small><br /></div><div class="c217498"><small>31</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;last=<span style='color:#DC143C;'>"&ensp;"</span>;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//last&ensp;is&ensp;char.&ensp;before&ensp;pos&ensp;</span></small><br /></div><div class="c117498"><small>32</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;temp=<span style='color:#DC143C;'>""</span>;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//temp&ensp;</span></small><br /></div><div class="c217498"><small>33</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;LEN=str.length;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//LEN&ensp;is&ensp;for&ensp;end&ensp;of&ensp;'&ensp;and&ensp;"&ensp;</span></small><br /></div><div class="c117498"><small>34</small>&ensp;&ensp;&ensp;<br /></div><div class="c217498"><small>35</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;spn&ensp;=<span style='color:#DC143C;'>"&lt;span&ensp;style='color:"</span>;<br /></div><div class="c117498"><small>36</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;spn_c=<span style='color:#DC143C;'>"&lt;span&ensp;class='"</span>;<br /></div><div class="c217498"><small>37</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;_col&ensp;=&ensp;<span style='color:#DC143C;'>"green;'&gt;"</span>;<br /></div><div class="c117498"><small>38</small>&ensp;&ensp;&ensp;<br /></div><div class="c217498"><small>39</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;code_e=<span style='color:#DC143C;'>'&lt;br&ensp;/&gt;&lt;/span&gt;'</span>;<br /></div><div class="c117498"><small>40</small>&ensp;&ensp;&ensp;<br /></div><div class="c217498"><small>41</small>&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;retrn&ensp;=&ensp;<span class='c517498'>false</span>;&ensp;<span style='color:green;'><small>//&ensp;for&ensp;regexp&ensp;"return&ensp;/pat/.test()"&ensp;</span></small><br /></div><div class="c117498"><small>42</small>&ensp;&ensp;&ensp;<br /></div><div class="c217498"><small>43</small>&ensp;&ensp;&ensp;chr=<span style='color:#0000CD;'>/(\(|\=|\[|\:|\||\&amp;|\!|\,)/</span>;&ensp;<span style='color:green;'><small>//&ensp;RegExp&ensp;in&ensp;front&ensp;of&ensp;/pattern/&ensp;</span></small><br /></div><div class="c117498"><small>44</small>&ensp;&ensp;&ensp;<br /></div><div class="c217498"><small>45</small>&ensp;&ensp;&ensp;d_q=<span style='color:#0000CD;'>/([^\\]\"[^\"]*[^\:]|[^\"]\"[\s]*[\:\,\}\]\)\;\.])/</span>;&ensp;&ensp;<span style='color:green;'><small>//RegExp&ensp;of&ensp;double&ensp;quot.&ensp;case&ensp;"\\"",&ensp;"\":,;.)}]&ensp;</span></small><br /></div><div class="c117498"><small>46</small>&ensp;&ensp;&ensp;s_q=<span style='color:#0000CD;'>/([^\\]\'[^\']*[^\:]|[^\']\'[\s]*[\:\,\}\]\)\;\.])/</span>;&ensp;&ensp;<span style='color:green;'><small>//RegExp&ensp;of&ensp;single&ensp;quot&ensp;</span></small><br /></div><div class="c217498"><small>47</small>&ensp;&ensp;&ensp;<br /></div><div class="c117498"><small>48</small>&ensp;&ensp;&ensp;Exp=<span style='color:#0000CD;'>/\/[^\/]*([\s\,\;]*)((\,\s*(\"|\')|(e|h|t)\s*\(\s*\/)[\s\S]+|\/\/[\s\S]+|\/\*[\s\S]+|\s{2,}[\s\S]+|\s)\n*/</span>;<br /></div><div class="c217498"><small>49</small>&ensp;&ensp;&ensp;<br /></div><div class="c117498"><small>50</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>while</span>&ensp;(pos&ensp;&gt;=&ensp;0){<br /></div><div class="c217498"><small>51</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;cls&ensp;=&ensp;<span style='color:#DC143C;'>"&lt;/span&gt;"</span>;<br /></div><div class="c117498"><small>52</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;key_q&ensp;=&ensp;str.charAt(pos);<br /></div><div class="c217498"><small>53</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;key_c&ensp;=&ensp;str.substr(pos,2);<br /></div><div class="c117498"><small>54</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;key_r&ensp;=&ensp;last&ensp;+&ensp;key_c;<br /></div><div class="c217498"><small>55</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>var</span>&ensp;key_w&ensp;=&ensp;str.substr(pos,7);<br /></div><div class="c117498"><small>56</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<br /></div><div class="c217498"><small>57</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>if</span>&ensp;(key_q==<span style='color:#DC143C;'>"'"</span>)&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;{&ensp;arg&ensp;=&ensp;0;&ensp;pos++;&ensp;}&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;'&ensp;</span></small><br /></div><div class="c117498"><small>58</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>else</span>&ensp;<span class='c517498'>if</span>&ensp;(key_q==<span style='color:#DC143C;'>'"'</span>)&ensp;&ensp;{&ensp;arg&ensp;=&ensp;1;&ensp;pos++;&ensp;}&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;"&ensp;</span></small><br /></div><div class="c217498"><small>59</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>else</span>&ensp;<span class='c517498'>if</span>&ensp;((key_q==<span style='color:#DC143C;'>'/'</span>)&ensp;&amp;&amp;&ensp;(key_c!=<span style='color:#DC143C;'>"//"</span>)&ensp;&amp;&amp;&ensp;(key_c!=<span style='color:#DC143C;'>"/*"</span>)&ensp;&amp;&amp;&ensp;((chr.test(last)&ensp;||&ensp;(retrn))))<br /></div><div class="c117498"><small>60</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;{&ensp;arg&ensp;=&ensp;4;&ensp;pos++;&ensp;}&ensp;&ensp;&ensp;&ensp;&ensp;<span style='color:green;'><small>//find&ensp;pos&ensp;of&ensp;keyword&ensp;/&ensp;</span></small><br /></div><div class="c217498"><small>61</small>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;<span class='c517498'>else</span>&ensp;<span class='c517498'>if</span>&ensp;(key_c==<span style='color:#DC143C;'>"