<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Thomas K Joseph BLOG</title>
	<atom:link href="http://thomaskjoseph9.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thomaskjoseph9.wordpress.com</link>
	<description>Personal Blog</description>
	<lastBuildDate>Thu, 25 Sep 2008 19:24:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thomaskjoseph9.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Thomas K Joseph BLOG</title>
		<link>http://thomaskjoseph9.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thomaskjoseph9.wordpress.com/osd.xml" title="Thomas K Joseph BLOG" />
	<atom:link rel='hub' href='http://thomaskjoseph9.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Add &#8220;Email Subscription Form&#8221; to your blog</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/25/add-email-subscription-form-to-your-blog/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/25/add-email-subscription-form-to-your-blog/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 19:24:40 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=105</guid>
		<description><![CDATA[If are a new blogger,you may have seen an email subscrtiption form like the below one in other blogs while browsing. It is delevered by FeedBurner.When people subscribe,they will recieve a email with your blog posts whenever your blog is updated.It is a very easy thing and make your visitors come back again and again [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=105&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If are a new blogger,you may have seen an email subscrtiption form like the below one in other blogs while browsing.</p>
<div><a href="http://bp0.blogger.com/_Toi-rh0Nm00/R4UJ06DCiMI/AAAAAAAABB4/ERVfbIh5MOQ/s1600-h/email_subscription_form_ol.jpg"><img style="display:block;text-align:center;margin:0 auto 10px;" src="http://bp0.blogger.com/_Toi-rh0Nm00/R4UJ06DCiMI/AAAAAAAABB4/ERVfbIh5MOQ/s400/email_subscription_form_ol.jpg" border="0" alt="" /></a>It is delevered by <a href="http://feedburner.com/">FeedBurner</a>.When people subscribe,they will recieve a email with your blog posts whenever your blog is updated.It is a very easy thing and make your visitors come back again and again to your blog.</div>
<div><em>So,Let&#8217;s see how to add a &#8220;Email Subscription form&#8221; like that in your blog:</em></div>
<div><strong><span style="color:#ff0000;">1.</span></strong>First,Sign in to your FeedBurner account.If you don&#8217;t have a FeedBurner account yet,you can register it <a href="http://feedburner.com/" target="'_blank">here</a></div>
<div><strong><span style="color:#ff0000;">2.</span></strong>Click on the &#8220;<span style="color:#ff0000;">My Feeds</span>&#8221; link at the top of the page and next ,click on your blog name[look at the below screenshot]</div>
<p><a href="http://bp1.blogger.com/_Toi-rh0Nm00/R4ULNKDCiNI/AAAAAAAABCA/rnUAMhyBgCY/s1600-h/welcome_back_9.jpg"><img style="display:block;text-align:center;margin:0 auto 10px;" src="http://bp1.blogger.com/_Toi-rh0Nm00/R4ULNKDCiNI/AAAAAAAABCA/rnUAMhyBgCY/s400/welcome_back_9.jpg" border="0" alt="" /></a></p>
<div><strong><span style="color:#ff0000;">3.</span></strong>Next,Click on the &#8216;<span style="color:#ff0000;">Publicize</span>&#8216; tab as shown below.</div>
<p><a href="http://bp0.blogger.com/_Toi-rh0Nm00/R4ULz6DCiOI/AAAAAAAABCI/7Iwy158qU4Q/s1600-h/publisize_ih.jpg"><img style="display:block;text-align:center;margin:0 auto 10px;" src="http://bp0.blogger.com/_Toi-rh0Nm00/R4ULz6DCiOI/AAAAAAAABCI/7Iwy158qU4Q/s400/publisize_ih.jpg" border="0" alt="" /></a></p>
<div><span style="color:#ff0000;"><strong>4.</strong></span>Select the &#8220;<strong>Email Subscriptions</strong>&#8221; option[look at the left sidebar]</div>
<p><a href="http://bp2.blogger.com/_Toi-rh0Nm00/R4UMHaDCiPI/AAAAAAAABCQ/WTbBM3lvMhY/s1600-h/email-sub.jpg"><img style="display:block;text-align:center;margin:0 auto 10px;" src="http://bp2.blogger.com/_Toi-rh0Nm00/R4UMHaDCiPI/AAAAAAAABCQ/WTbBM3lvMhY/s400/email-sub.jpg" border="0" alt="" /></a></p>
<div><strong><span style="color:#ff0000;">5.</span></strong>Next, you will see like this</div>
<div><a href="http://bp3.blogger.com/_Toi-rh0Nm00/R4UNGqDCiQI/AAAAAAAABCY/SS2NRD8f25Q/s1600-h/activate-link-op.jpg"><img style="display:block;text-align:center;margin:0 auto 10px;" src="http://bp3.blogger.com/_Toi-rh0Nm00/R4UNGqDCiQI/AAAAAAAABCY/SS2NRD8f25Q/s400/activate-link-op.jpg" border="0" alt="" /></a></p>
<div>Click on &#8216;<span style="color:#ff0000;"><strong>Activate</strong></span>&#8216;</div>
<div><strong><span style="color:#ff0000;">6.</span></strong>If you look at the sidebar now,there are a few more options under the Email Subscriptions column namely <em>Subscription Management,Communication Preferences,Email Branding </em>and <em>Delivery options</em>.Edit them according to your needs.</div>
</div>
<div><a href="http://bp1.blogger.com/_Toi-rh0Nm00/R4UNxKDCiRI/AAAAAAAABCg/9Zs__zV2NUk/s1600-h/email_olm.jpg"><img style="display:block;text-align:center;margin:0 auto 10px;" src="http://bp1.blogger.com/_Toi-rh0Nm00/R4UNxKDCiRI/AAAAAAAABCg/9Zs__zV2NUk/s400/email_olm.jpg" border="0" alt="" /></a>Now,Click on the <em><span style="color:#009900;">Subscription Managemant</span></em> option and <strong>copy the code</strong> they provide[see the below *screenshot*]</div>
<div><a href="http://bp2.blogger.com/_Toi-rh0Nm00/R4USyaDCiTI/AAAAAAAABCw/BhUY5Y3VUw0/s1600-h/copythis_pl.jpg"><img style="display:block;text-align:center;margin:0 auto 10px;" src="http://bp2.blogger.com/_Toi-rh0Nm00/R4USyaDCiTI/AAAAAAAABCw/BhUY5Y3VUw0/s400/copythis_pl.jpg" border="0" alt="" /></a><span style="color:#ff0000;"><strong>7.</strong></span>Um&#8230;&#8230;&#8230;&#8230;Finally,the last step</div>
<div>Sign in to your<span style="color:#ff0000;"> blogger dashboard</span>&gt;<span style="color:#3333ff;">layout</span>&gt;<span style="color:#009900;">add a page element</span>&gt;<strong>html/javascript</strong></div>
<div>and paste the code and <strong>SAVE THE CHANGES</strong>.</div>
<div>That&#8217;s it!&#8230;&#8230;&#8230;.too long process know? No.Very simple process to do.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=105&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/25/add-email-subscription-form-to-your-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>

		<media:content url="http://bp0.blogger.com/_Toi-rh0Nm00/R4UJ06DCiMI/AAAAAAAABB4/ERVfbIh5MOQ/s400/email_subscription_form_ol.jpg" medium="image" />

		<media:content url="http://bp1.blogger.com/_Toi-rh0Nm00/R4ULNKDCiNI/AAAAAAAABCA/rnUAMhyBgCY/s400/welcome_back_9.jpg" medium="image" />

		<media:content url="http://bp0.blogger.com/_Toi-rh0Nm00/R4ULz6DCiOI/AAAAAAAABCI/7Iwy158qU4Q/s400/publisize_ih.jpg" medium="image" />

		<media:content url="http://bp2.blogger.com/_Toi-rh0Nm00/R4UMHaDCiPI/AAAAAAAABCQ/WTbBM3lvMhY/s400/email-sub.jpg" medium="image" />

		<media:content url="http://bp3.blogger.com/_Toi-rh0Nm00/R4UNGqDCiQI/AAAAAAAABCY/SS2NRD8f25Q/s400/activate-link-op.jpg" medium="image" />

		<media:content url="http://bp1.blogger.com/_Toi-rh0Nm00/R4UNxKDCiRI/AAAAAAAABCg/9Zs__zV2NUk/s400/email_olm.jpg" medium="image" />

		<media:content url="http://bp2.blogger.com/_Toi-rh0Nm00/R4USyaDCiTI/AAAAAAAABCw/BhUY5Y3VUw0/s400/copythis_pl.jpg" medium="image" />
	</item>
		<item>
		<title>Creating configuration files for Flash development</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/22/creating-configuration-files-for-flash-development/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/22/creating-configuration-files-for-flash-development/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 12:25:02 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Html]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=102</guid>
		<description><![CDATA[The Flash 8 authoring tool sets a flag on your hard disk to identify you as a developer to direct you to a specific developer-oriented version of the Global Security Settings panel instead of a user-oriented Global Security Settings panel. The flag is in the FlashAuthor.cfg file on your hard disk, which installs automatically when [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=102&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Flash 8 authoring tool sets a flag on your hard disk to identify<br />
you as a developer to direct you to a specific developer-oriented<br />
version of the Global Security Settings panel instead of a<br />
user-oriented Global Security Settings panel. The flag is in the<br />
FlashAuthor.cfg file on your hard disk, which installs automatically<br />
when the Flash Basic 8 and Flash Professional 8 authoring tool installs.</p>
<p>The FlashAuthor.cfg file is located in the following approximate directories:</p>
<p><strong>Windows</strong> &nbsp;<i>boot disk</i>\Documents and Settings\<i>&lt;UserName&gt;</i>\Application Data\Macromedia\Flash Player\#Security</p>
<p><strong>Macintosh&nbsp;</strong>/Users/<i>&lt;UserName&gt;</i>/Library/Preferences/Macromedia/Flash Player/#Security/</p>
<p>By default, this file is set to <code>LocalSecurityPrompt=Author</code>,<br />
which means the warnings you see on your computer treat you as a Flash<br />
developer as opposed to a user without the authoring tool installed.</p>
<p>You can test your local applications as an end user and see the<br />
warning dialog boxes that an end user would encounter. To do so, open<br />
FlashAuthor.cfg in a text editor, and change the LocalSecurityPrompt in<br />
the FlashAuthor.cfg file to match the following:</p>
<div class="listing">
<pre>LocalSecurityPrompt=User</pre>
</div>
<p>You might want to provide a FlashAuthor.cfg file, with <code>LocalSecurityPrompt</code> set to <code>Author</code>,<br />
to other developers in your design or development process or to users<br />
who test Flash applications on their local hard disk and do not have<br />
the Flash 8 authoring tool installed. This helps you mimic the end<br />
user&#8217;s experience with your locally deployed content.</p>
<table class="notesidebar" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td width="5">
<p><strong>NOTE</strong></p>
</td>
<td width="1">
<p>&nbsp;</p>
</td>
<td>
<p>If the FlashAuthor.cfg file is deleted, the file is recreated when you launch the Flash 8 authoring tool.</p>
</td>
</tr>
</tbody>
</table>
<p>In the #Security directory on your hard disk, you can create a<br />
FlashPlayerTrust directory where you can store unique configuration<br />
files. Inside these files, you can specify directories or applications<br />
to trust on your hard disk. This directory does not require<br />
administrative access, so users without administrative permissions can<br />
set permissions for SWF files and test applications.</p>
<p>If you do not specify a directory, your content might not function<br />
as intended. Configuration files inside a FlashPlayerTrust directory<br />
contain directory paths. The file can contain a list of several<br />
directories, and you can append new paths to the file. Flash Player<br />
expects one path per line in configuration files. Any line that begins<br />
with a <code>#</code> punctuator (with no leading space before it) is treated as a comment. </p>
<h4>To create a configuration file to trust a directory:</h4>
<ol>
<li>Locate the #Security folder on your hard disk.</li>
<li>Create a folder called <strong>FlashPlayerTrust</strong> inside the #Security folder.</li>
<li>Create a new file in the FlashPlayerTrust directory using a text editor, and save it as <strong>myTrustFiles.cfg</strong>.
<p>You can use any unique name for your configuration file.</p>
</li>
<li>Locate the directory where you test Flash applications. </li>
<li>Type<br />
or paste each directory path (any directory path on your hard disk) on<br />
a new line in the file. You can paste multiple directory paths on<br />
separate lines. When you finish, your file looks similar to the<br />
following example:
<div class="listing">
<pre>C:\Documents and Settings\<i>&lt;yourname&gt;</i>\My Documents\files\C:\Documents and Settings\<i>&lt;yourname&gt;</i>\My Documents\testapps\</pre>
</div>
</li>
<li>Save your changes to myTrustFiles.cfg.</li>
<li>Test a document that accesses local and network files from the directory you added to the&nbsp;file.
<p>Flash applications saved in this directory can now access local files and the network.</p>
</li>
</ol>
<p>There can be numerous directory paths saved in each configuration<br />
file, and numerous *.cfg files saved in the FlashPlayerTrust directory.
</p>
<p>If you create applications that install on an end user&#8217;s hard disk,<br />
you might need to create a configuration file in FlashPlayerTrust to<br />
specify a trusted directory for your application. You can create<br />
configuration files inside the FlashPlayerTrust directory that specify<br />
the location of the trusted application. See the pervious procedure for<br />
information on this directory and creating configuration files.</p>
<table class="notesidebar" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td width="5">
<p><strong>NOTE</strong></p>
</td>
<td width="1">
<p>&nbsp;</p>
</td>
<td>
<p>An installer is run by a user with administrative permission on a computer.</p>
</td>
</tr>
</tbody>
</table>
<p>You should develop a unique naming scheme to avoid conflicts with<br />
other applications that might install files in this directory. For<br />
example, you might want to use your unique company and software name in<br />
the filename to avoid conflicts. </p>
<table class="notesidebar" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td width="5">
<p><strong>TIP</strong></p>
</td>
<td width="1">
<p>&nbsp;</p>
</td>
<td>
<p>If<br />
you do not want to use configuration files, you could publish your<br />
Flash applications to a separate, testing server instead of providing<br />
clients or other developers SWF files to run on their local hard disks.</p>
</td>
</tr>
</tbody>
</table>
<p>For more information on configuration files, see <a href="http://www.macromedia.com/go/flashauthorcfg" target="mm_window">www.macromedia.com/go/flashauthorcfg</a>. You can also create a unique configuration file to trust one or more directories. For detailed information on security, see <a href="http://www.macromedia.com/devnet/security/" target="mm_window">www.macromedia.com/devnet/security/</a>and <a href="http://www.macromedia.com/software/flashplayer/security/" target="mm_window">www.macromedia.com/software/flashplayer/security/</a>. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=102&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/22/creating-configuration-files-for-flash-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>
	</item>
		<item>
		<title>Cool Domain Names</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/18/cool-domain-names/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/18/cool-domain-names/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 21:08:11 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[Funny]]></category>
		<category><![CDATA[Domains]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=98</guid>
		<description><![CDATA[All of these are companies that didn&#8217;t spend quite enough time considering how their online names might appear &#8211; and be misread&#8230; Who Represents is where you can find the name of the agent that represents any celebrity. Their Web site is www.whorepresents.com/ Experts Exchange is a knowledge base where programmers can exchange Advice and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=98&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="line-height:normal;"><span style="font-size:12pt;font-family:&quot;">All of these are companies that didn&#8217;t spend quite enough time considering how their online names might appear &#8211; and be misread&#8230;</span></p>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:.25in;line-height:normal;"><strong><span style="font-size:12pt;font-family:&quot;">Who Represents</span></strong><span style="font-size:12pt;font-family:&quot;"> is where you can find the name of the agent that represents any celebrity. Their Web site is<br />
<em>www.<strong>whore</strong>presents.com/</em></span></p>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:.25in;line-height:normal;"><strong><span style="font-size:12pt;font-family:&quot;">Experts Exchange</span></strong><span style="font-size:12pt;font-family:&quot;"> is a knowledge base where programmers can exchange Advice and views at<br />
<em>www.expert<strong>sex</strong>change.com/</em></span></p>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:.25in;line-height:normal;"><span style="font-size:12pt;font-family:&quot;">Looking for a pen? Look no further than <strong>Pen Island</strong> at<br />
<em>www.<strong>penisl</strong>and.net/</em></span></p>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:.25in;line-height:normal;"><span style="font-size:12pt;font-family:&quot;">Need a therapist? Try <strong>Therapist Finder</strong> at<br />
<em>www.the<strong>rapist</strong>finder.com/</em></span></p>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:.25in;line-height:normal;"><span style="font-size:12pt;font-family:&quot;">There&#8217;s the <strong>Italian Power Generator</strong> company,<br />
<em>www.power<strong>genitalia.</strong>com/</em></span></p>
<p class="MsoNormal" style="margin-left:.25in;line-height:normal;"><span style="font-size:12pt;font-family:&quot;">And don&#8217;t forget the <strong>Mole Station Native Nursery</strong> in New South Wales,<br />
<em>www.<strong>molestation</strong>nursery.com/ </em></span></p>
<p class="MsoNormal" style="margin-left:.25in;line-height:normal;"><em><span style="font-size:12pt;font-family:&quot;"> </span></em><span style="font-size:12pt;font-family:&quot;">The <strong>First Cumming Methodist Church Web</strong> site is<br />
<em>www.<strong>cummingf</strong>irst.com/</em></span></p>
<p>And the designers at <strong>Speed of Art</strong> await you at their wacky Web site,<br />
<em>www.speedo<strong>fart</strong>.com/</em></p>
<p class="MsoNormal">
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=98&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/18/cool-domain-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>
	</item>
		<item>
		<title>Rapidshare Download Manager JDownloader</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/18/rapidshare-download-manager-jdownloader/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/18/rapidshare-download-manager-jdownloader/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 19:16:15 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[download-manager]]></category>
		<category><![CDATA[file host]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[jdownloader]]></category>
		<category><![CDATA[rapidshare]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=92</guid>
		<description><![CDATA[JDownloader is a Rapidshare Download Manager that comes with a lot of functions to make downloading files from Rapidshare and dozens other file hosting websites a breeze. The download manager has several benefits over manually downloading files from Rapidshare. The first is that you can simply add as many download links to it which will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=92&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>JDownloader is a Rapidshare Download Manager that comes with a lot of functions to make downloading files from Rapidshare and dozens other file hosting websites a breeze.</p>
<p>The download manager has several benefits over manually downloading files from Rapidshare. The first is that you can simply add as many download links to it which will all be stored and processed one after the other. The image verification is filled in automatically by <a href="http://jdownloader.org/home" target="_blank">JDownloader</a> which means that you can keep it running in the background all the time without having to actively manage the downloads.</p>
<p>Download links can be automatically added by making Jdownloader observe the clipboard. It offers a reconnect feature which has to be configured, an unpacker, a password list, selecting a favored server from each hoster and much more. There are several options that need some explanation though before you can start using it.</p>
<p>You should first realize that JDownloader needs Java, so make sure that is installed. After unpacking the application you need to execute the file JDownloader.jar to start the installation where you select a download location for the files. Files will be automatically updated during the setup as well.</p>
<p>Before you start to begin downloading files you need to accept the Terms of Service for all file hosters that you want to download from. Open the options, click on Hosts in there and check the TOS of the file hosters.</p>
<p>The language can be set to German and English but even if you select English it looks like a mix of German and English. Not to hard to figure out stuff because the most important elements are well translated.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=92&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/18/rapidshare-download-manager-jdownloader/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>
	</item>
		<item>
		<title>Free Custom Flasher Control</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/17/free-custom-flasher-control/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/17/free-custom-flasher-control/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 03:51:52 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=88</guid>
		<description><![CDATA[Flash animation is a great way to grab people’s attention among the endless sea of look-alike Web pages on the Internet. It can present useful information, as well as provide functional interactivity. Embedding Flash animation within a Web page used to be simple. However, changing standards such as XHTML and ActiveX Activation have introduced significant [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=88&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="BodyText">Flash animation is a great way to grab people’s attention among the endless sea         of look-alike Web pages on the Internet. It can present useful information, as well         as provide functional interactivity. Embedding Flash animation within a Web page         used to be simple. However, changing standards such as XHTML and ActiveX Activation         have introduced significant complications. In this article, you’ll learn all you         need to know to play and embed Flash animations within ASP.NET Web pages. Indeed,         the custom Flasher control detailed in this article makes Flash animation easy again.</p>
<h3 class="BodyText">Standards Challenges</h3>
<p class="BodyText">Adobe’s Web site recommends the HTML syntax shown in <strong>Figure 1</strong> to instantiate their         Flash player and display a Flash animation. The syntax is not pretty, but it works         — sort of. It certainly used to work well, but these days it has issues. For one         thing, it violates the HTML standard in several different ways. Browsers tend to         be forgiving, so for now it still mostly works. However, every good Web developer         should strive for standards-compliant code. One of the main reasons it’s non-compliant         is because the Embed tag is contained within the Object tag, which is not allowed.         However, it works anyway, but only because Internet Explorer (IE) uses the Object         tag and ignores the internal Embed tag, and Mozilla-based browsers do the opposite.</p>
<div class="CodeFigure">
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">object</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">classid</span><span style="color:blue;">=&#8221;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&#8243;</span> <span style="color:red;">codebase</span><span style="color:blue;">=&#8221;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&#8243;</span> <span style="color:red;">width</span><span style="color:blue;">=&#8221;550&#8243;</span> <span style="color:red;">height</span><span style="color:blue;">=&#8221;400&#8243;</span> <span style="color:red;"> id</span><span style="color:blue;">=&#8221;OBJECT1&#8243;&gt; </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">param</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">name</span><span style="color:blue;">=&#8221;movie&#8221;</span> <span style="color:red;">value</span><span style="color:blue;">=&#8221;myFlashMovie.swf&#8221;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">param</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">name</span><span style="color:blue;">=&#8221;quality&#8221;</span> <span style="color:red;">value</span><span style="color:blue;">=&#8221;high&#8221;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">param</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">name</span><span style="color:blue;">=&#8221;bgcolor&#8221;</span> <span style="color:red;">value</span><span style="color:blue;">=&#8221;#FFFFFF&#8221;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">embed</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">src</span><span style="color:blue;">=&#8221;/support/flash/ts/documents/myFlashMovie.swf&#8221;</span> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> quality</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8221;high&#8221;</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">bgcolor</span><span style="color:blue;">=&#8221;#FFFFFF&#8221;</span> <span style="color:red;">width</span><span style="color:blue;">=&#8221;550&#8243;</span> <span style="color:red;">height</span><span style="color:blue;">=&#8221;400&#8243;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> name</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8221;myMovieName&#8221;</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">align</span><span style="color:blue;">=&#8221;"</span> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> type</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8221;application/x-shockwave-flash&#8221; </span><span style="font-size:10pt;font-family:'Courier New';color:red;">pluginspage</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8221;http://www.macromedia.com/go/getflashplayer&#8221;&gt;</span><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;/</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">embed</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">&gt;</span></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;/</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">object</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">&gt;</span></p>
</div>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> </span> <span class="Captions"><strong>Figure 1.</strong> <em>Adobe’s web site recommends this non-standard                     HTML to play Flash animations in a web page.</em></span></p>
<p>The sad fact is that there is no single HTML or XHTML-compliant syntax that will         allow a Flash animation to be played across all browsers. Therefore, Web developers         are pretty much forced to output one syntax for IE users and another syntax for         other browser types. That is one messy detail that’s encapsulated by the custom         Flasher control included with this article, so you won’t need to worry about it         (see end of article for download details). Essentially, the Flasher control outputs         HTML syntax similar to that shown in <strong>Figure 2</strong> for all browsers         except IE.</p>
<div class="CodeFigure">
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">object</span><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> <span> </span>type</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8217;application/x-shockwave-flash&#8217;</span><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> <span> </span>data</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8217;anim.swf&#8217;</span><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> <span> </span>width</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8217;550&#8242; </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> <span> </span>height</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8217;400&#8242;</span><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> <span> </span>play</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8217;true&#8217;</span><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> <span> </span>loop</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8217;true&#8217;</span><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> <span> </span>quality</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8217;AutoHigh&#8217;</span><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> /&gt;</span></p>
</div>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> </span><span class="Captions"><strong>Figure 2.</strong> <em>This HTML snippet             will play a Flash file in all major browsers except Internet Explorer.</em></span></p>
<p>Conversely, the HTML in <strong>Figure 3</strong> shows the syntax that works for         IE. If that HTML is pasted into a Web page and references a valid Flash animation         it will play just fine. However, an annoying message will appear to the user at         run time.</p>
<div class="CodeFigure">
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">object</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">classid</span><span style="color:blue;">=&#8221;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&#8243;</span> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:red;"> width</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8221;550&#8243;</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">height</span><span style="color:blue;">=&#8221;400&#8243;</span> <span style="color:red;">id</span><span style="color:blue;">=&#8221;myMovieName&#8221;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> <span> </span>&lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">param</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">name</span><span style="color:blue;">=&#8221;movie&#8221;</span> <span style="color:red;">value</span><span style="color:blue;">=&#8221;anim.swf&#8221;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> <span> </span>&lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">param</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">name</span><span style="color:blue;">=&#8221;quality&#8221;</span> <span style="color:red;">value</span><span style="color:blue;">=&#8221;high&#8221;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> <span> </span>&lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">param</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">name</span><span style="color:blue;">=&#8221;bgcolor&#8221;</span> <span style="color:red;">value</span><span style="color:blue;">=&#8221;#FFFFFF&#8221;&gt;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> <span> </span>&lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">param</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">name</span><span style="color:blue;">=&#8221;loop&#8221;</span> <span style="color:red;">value</span><span style="color:blue;">=&#8221;true&#8221;&gt;</span></span></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;/</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">object</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">&gt;</span></p>
</div>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> </span><span class="Captions"><strong>Figure 3.</strong> <em>This HTML snippet             will play a Flash file in Internet Explorer — but ActiveX Activation will be required             by the user upon every page load.</em></span></p>
<h3 class="Subheads">ActiveX Activation</h3>
<p class="BodyText">The HTML in Figure 3 worked perfectly in 2005 — ah, the good old days. It turns         out that a company named Eolas Technologies apparently has a patent on it. Microsoft’s         stunning loss of the related lawsuit has had major repercussions for Web developers         worldwide. Microsoft was forced to deploy patches for IE that now require the user         to click (or press the spacebar) to activate any embedded software, such as ActiveX         controls. Now users are presented with an annoying activation message for every         Web site that still uses the old syntax (see <strong>Figure 4</strong>). It should be noted that         the same issue also exists when trying to embed .NET Windows forms controls.</p>
<p><img src="http://steveorr.net/articles/asp200609so_f_image002.jpg" alt="" /><br />
<span class="Captions"><strong>Figure 4.</strong> <em><span style="font-size:12pt;"> <span style="font-size:10pt;">ActiveX Activation is a burden all Web developers must                 now deal with so their users don’t have to be annoyed by messages such as this.</span> </span></em></span></p>
<p class="BodyText">To circumvent this problem, the only supported solutions (at the time of this writing)         involve instantiating embedded ActiveX controls from an external JavaScript file         (see <a href="http://www.aspnetpro.com/NewsletterArticle/2006/06/asp200606af_l/asp200606af_l.asp" target="_blank">this article</a> for more information).</p>
<p class="BodyText">In short, if a Web developer wants standards-compliant code that plays Flash files         in all browsers without requiring users to activate embedded ActiveX controls, there         are quite a few hoops to jump through. All these issues have been addressed and         resolved to drag-and-drop simplicity with the custom Flasher control described here.</p>
<p><!-- Banner Ad Tag Start --></p>
<div style="text-align:center;font-size:6pt;">(advertisement)</div>
<div id="ctl00_ContentPlaceHolder1_AdBanner1_ASPAlliance" style="text-align:center;">&amp;lt;script type=&#8217;text/javascript&#8217; src=&#8217;http://ads.aspalliance.com/displayad.aspx?t=1&amp;amp;amp;m=72&amp;amp;amp;target=_parent&amp;amp;amp;js=1&#8242;&amp;gt;&amp;lt;/script&amp;gt;</div>
<p><!-- Banner Ad Tag End --></p>
<h3 class="Subheads">Flasher!</h3>
<p class="BodyText">To use the cross-browser compatible Flasher control, download the sample code and         add the included Flasher.DLL to your Visual Studio 2005 toolbox. Then drag it onto         any WebForm and set its FlashFile property to any valid SWF file. That’s it! Run         the project and the Flash animation will play in all browsers without any of the         headaches mentioned previously. Of course, you can customize it with various properties,         such as those shown in <strong>Figure 5</strong>.</p>
<table class="MsoTableClassic2" style="border:medium none;border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="background:purple none repeat scroll 0 0;width:1.45in;padding:0 5.4pt;" width="139" valign="top">
<p class="MsoBodyText" style="margin:0;"><span style="color:white;"><span style="font-size:8pt;"><span style="font-family:Times New Roman;"> Unique Flasher Properties </span></span></span></p>
</td>
<td style="background:purple none repeat scroll 0 0;font-size:8pt;width:261pt;font-family:Times New Roman;padding:0 5.4pt;" width="348" valign="top">
<p class="MsoBodyText" style="margin:0;"><span style="color:white;">Description</span></p>
</td>
</tr>
<tr style="font-size:8pt;font-family:Times New Roman;">
<td style="border:medium none #e0dfe3;width:1.45in;background-color:transparent;padding:0 5.4pt;" width="139" valign="top">
<p class="MsoBodyText" style="margin:0;"><em>FlashFile</em></p>
</td>
<td style="border:medium none #e0dfe3;width:261pt;background-color:transparent;padding:0 5.4pt;" width="348" valign="top">
<p class="MsoBodyText" style="margin:0;">(Required) The URL to a Flash (.swf) file.<span> </span></p>
</td>
</tr>
<tr style="font-size:8pt;font-family:Times New Roman;">
<td style="border:medium none #e0dfe3;width:1.45in;background-color:transparent;padding:0 5.4pt;" width="139" valign="top">
<p class="MsoBodyText" style="margin:0;">ns=&#8221;urn:schemas-microsoft-com:office:smarttags&#8221; prefix=&#8221;st1&#8243; ?&gt;<em>Loop</em></p>
</td>
<td style="border:medium none #e0dfe3;width:261pt;background-color:transparent;padding:0 5.4pt;" width="348" valign="top">
<p class="MsoBodyText" style="margin:0;">(Boolean) True will loop the animation infinitely; False will stop the animation                         at its end.</p>
</td>
</tr>
<tr style="font-size:8pt;font-family:Times New Roman;">
<td style="border:medium none #e0dfe3;width:1.45in;background-color:transparent;padding:0 5.4pt;" width="139" valign="top">
<p class="MsoBodyText" style="margin:0;"><em>Menu</em></p>
</td>
<td style="border:medium none #e0dfe3;width:261pt;background-color:transparent;padding:0 5.4pt;" width="348" valign="top">
<p class="MsoBodyText" style="margin:0;">(Boolean) True to display an extended context (right-click) menu.</p>
</td>
</tr>
<tr style="font-size:8pt;font-family:Times New Roman;">
<td style="border:medium none #e0dfe3;width:1.45in;background-color:transparent;padding:0 5.4pt;" width="139" valign="top">
<p class="MsoBodyText" style="margin:0;"><em>PlayImmediately</em></p>
</td>
<td style="border:medium none #e0dfe3;width:261pt;background-color:transparent;padding:0 5.4pt;" width="348" valign="top">
<p class="MsoBodyText" style="margin:0;">(Boolean) True to play the animation instantly upon page load.</p>
</td>
</tr>
<tr style="font-size:8pt;font-family:Times New Roman;">
<td style="width:1.45in;background-color:transparent;padding:0 5.4pt;" width="139" valign="top">
<p class="MsoBodyText" style="margin:0;"><em>Quality</em></p>
</td>
<td style="width:261pt;background-color:transparent;padding:0 5.4pt;" width="348" valign="top">
<p class="MsoBodyText" style="margin:0;">(Enum) Allows different playback qualities for display devices of varying capabilities.<span> </span>(AutoHigh is default)</p>
</td>
</tr>
</tbody>
</table>
<p><span class="Captions"><strong>Figure 5.</strong> </span><em><span><span style="font-size:10pt;"> The Flasher control provides several useful properties that allow versatile configuration.</span> </span></em></p>
<p>The ASPX declaration looks like this:</p>
<p class="CodeSnippet"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">cc1</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">Flasher</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;Flasher1&#8243;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> </span></p>
<p class="CodeSnippet"><span style="font-size:10pt;font-family:'Courier New';color:red;"> FlashFile</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8221;~/anim.swf&#8221; </span><span style="font-size:10pt;font-family:'Courier New';color:red;">BackColor</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8221;red&#8221;</span><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="CodeSnippet"><span style="font-size:10pt;font-family:'Courier New';color:red;"> Width</span><span style="font-size:10pt;font-family:'Courier New';color:blue;">=&#8221;550&#8243;</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">Height</span><span style="color:blue;">=&#8221;400&#8243;</span> <span style="color:red;">Loop</span><span style="color:blue;">=&#8221;false&#8221;</span> <span style="color:blue;">/&gt;</span></span></p>
<p>If desired, JavaScript can be added to the page to let the user or page developer         control the animation via client-side code. The following ASPX page code provides         links to let the user start and stop the playback of the Flash animation:</p>
<div class="CodeSnippet"><span class="Code">&lt;div onclick=&#8221;Flasher1.Play();&#8221;&gt;Play&lt;/div&gt; </span><br />
<span class="Code">&lt;div onclick=&#8221;Flasher1.Stop();&#8221;&gt;Stop&lt;/div&gt; </span></div>
<h3 class="Subheads">So How Does It Work?</h3>
<p class="BodyText">Flasher inherits from the System.Web.UI.Control class and extends it with custom         rendering functionality and the properties shown in Figure 5. The overridden Render         method is shown here:</p>
<div class="CodeSnippet">
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> Protected</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Overrides</span> <span style="color:blue;">Sub</span> Render(<span style="color:blue;">ByVal</span> w <span style="color:blue;">As</span> HtmlTextWriter) </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">If</span> <span style="color:blue;">Me</span>.DesignMode <span style="color:blue;">Then</span> <span style="color:blue;">Exit</span> <span style="color:blue;">Sub</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">With</span> Context.Request.Browser</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;"> If</span> .Browser.ToString.ToUpper = <span style="color:maroon;">&#8220;IE&#8221;</span> <span style="color:blue;">Then</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>RenderForIE(w)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;"> Else</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>RenderForAlt(w)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;"> End</span> <span style="color:blue;">If</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">End</span> <span style="color:blue;">With</span></span></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> End</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Sub</span></span></p>
</div>
<p>At design time the Render method displays only a placeholder, as directed by the         first line of code. The rest of the code simply branches to one run-time rendering         routine for Internet Explorer users (RenderForIE) and another rendering routine         for all other Web browsers (RenderForAlt).</p>
<p class="BodyText">The utilitarian RenderForAlt method shown in <strong>Figure 6</strong> essentially         uses a StringBuilder object to concatenate a string virtually identical to Figure         2 and renders it to the browser.</p>
<div class="CodeFigure">
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> Private</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Sub</span> RenderForAlt(<span style="color:blue;">ByVal</span> output <span style="color:blue;">As</span> HtmlTextWriter)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">Dim</span> sb <span style="color:blue;">As</span> StringBuilder = <span style="color:blue;">New</span> StringBuilder</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&lt;object                 type=&#8217;application/x-shockwave-flash&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8221;                 data=&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(Page.ResolveClientUrl(<span style="color:blue;">Me</span>.FlashFile))</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;                 width=&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.Width.ToString)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;                 height=&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.Height.ToString)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span> </span> <span style="color:blue;">If</span> <span style="color:blue;">Not</span> <span style="color:blue;"> Me</span>.BackColor.IsEmpty <span style="color:blue;">Then</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;                 bgcolor=&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(Color2Hex(<span style="color:blue;">Me</span>.BackColor))</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">End</span> <span style="color:blue;">If</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;                 play=&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.PlayImmediately.ToString.ToLower)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;                 loop=&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.Loop.ToString.ToLower)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;                 quality=&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.Quality.ToString)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;                 /&gt;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>output.Write(sb.ToString)</span></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> End</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Sub</span></span></p>
</div>
<p><span class="Captions"><strong>Figure 6.</strong> <em><span><span>The RenderForAlt             method takes care of the rendering tasks for all browsers except Internet Explorer.</span></span></em></span></p>
<p>This code is simpler than the IE rendering method because other browsers are not         currently subjected to the burden of activation (and the extra code required to         deal with it effectively).</p>
<div class="CodeFigure">
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> Private</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Sub</span> RenderForIE(<span style="color:blue;">ByVal</span> output <span style="color:blue;">As</span> HtmlTextWriter)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">Dim</span> sb <span style="color:blue;">As</span> StringBuilder = <span style="color:blue;">New</span> StringBuilder</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;CreateIEFlash(&#8216;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.ClientID             + <span style="color:maroon;">&#8220;_obj&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;,&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(Page.ResolveClientUrl(<span style="color:blue;">Me</span>.FlashFile))</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;,&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.Width.ToString)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;,&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.Height.ToString)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;,&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">If</span> <span style="color:blue;">Not</span> <span style="color:blue;">Me</span>.BackColor.IsEmpty             <span style="color:blue;">Then</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(Color2Hex(<span style="color:blue;">Me</span>.BackColor))</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">End</span> <span style="color:blue;">If</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;,&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.PlayImmediately.ToString.ToLower)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;,&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.Loop.ToString.ToLower)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;,&#8217;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:blue;">Me</span>.Quality.ToString)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>sb.Append(<span style="color:maroon;">&#8220;&#8216;);&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>output.Write(<span style="color:maroon;">&#8220;&lt;script                 language=&#8217;JavaScript&#8217;&gt;&#8221;</span>)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>output.Write(sb.ToString)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>output.Write(<span style="color:maroon;">&#8220;&lt;/script&gt;&#8221;</span>)</span></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> End</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Sub</span></span></p>
</div>
<p><span class="Captions"><strong>Figure 7.</strong> <em>The Flasher control’s Internet             Explorer rendering method outputs only a single line of JavaScript, which calls             the CreateIEFlash JavaScript function (shown in Figure 8).</em></span></p>
<h3>ASP.NET 2.0 Embedded Web Resources</h3>
<p class="BodyText">The RenderForIE method listed in <strong>Figure 7</strong> essentially concatenates         together this JavaScript, which is output directly into the page:</p>
<p class="CodeSnippet" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';">CreateIEFlash(<span style="color:maroon;">&#8216;Flasher&#8217;</span>, <span style="color:maroon;">&#8216;anim.swf&#8217;</span>,</span></p>
<p class="CodeSnippet" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>550,400,<span style="color:maroon;">&#8216;#FFFFFF&#8217;</span>,             <span style="color:blue;">true</span>, <span style="color:blue;">true</span>, <span style="color:maroon;">&#8216;high&#8217;</span>);</span></p>
<p>This code calls the custom JavaScript function (named CreateIEFlash) shown in Figure         8. The CreateIEFlash function essentially uses the document.write method to dynamically         build and output HTML like that shown in Figure 3. To avoid ActiveX Activation,         this function must be located in an external JavaScript file. Therefore, a reference         to the external JavaScript file must be added to the page, such as this:</p>
<p class="CodeSnippet" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">script</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">language</span><span style="color:blue;">=&#8221;javascript&#8221;</span> <span style="color:red;">src</span><span style="color:blue;">=&#8221;Flasher.js&#8221;&gt;&lt;/</span><span style="color:maroon;">script</span><span style="color:blue;">&gt;</span></span></p>
<p>Now, a person could try to remember to add this line to every page that uses the         Flasher control, and a person could try to remember to deploy that JavaScript file         to the proper location in every project that uses the Flasher control. However,         it’s far more professional for the control to take care of these details itself.</p>
<div class="CodeFigure">
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:green;"> // JavaScript File (flasher.js)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> function</span><span style="font-size:10pt;font-family:'Courier New';"> CreateIEFlash(ID, Movie, Width, Height, BGC,</span> <span style="font-size:10pt;font-family:'Courier New';">Play,              Loop             , Qual)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';">{</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">var</span> clsid=<span style="color:maroon;">&#8220;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&#8243;</span>;</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">var</span> codebase=<span style="color:maroon;">&#8220;http://download.macromedia.com/pub/&#8221;</span>;</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>codebase+=<span style="color:maroon;">&#8220;shockwave/cabs/flash/swflash.cab&#8221;</span>;</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>codebase+=<span style="color:maroon;">&#8220;#version=6,0,40,0&#8243;</span>;</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;&lt;object                 classid=&#8221;&#8216;</span> + clsid + <span style="color:maroon;">&#8216;&#8221; &#8216;</span>);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;codebase=&#8221;&#8216;</span>+             codebase + <span style="color:maroon;">&#8216;&#8221; &#8216;</span>);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;width=&#8221;&#8216;</span>+             Width + <span style="color:maroon;">&#8216;&#8221; &#8216;</span>); </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;height=&#8221;&#8216;</span> + Height + <span style="color:maroon;">&#8216;&#8221; &#8216;</span>);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;id=&#8221;&#8216;</span> + ID + <span style="color:maroon;">&#8216;&#8221;&gt;&#8217;</span>);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;&lt;param                 name=&#8221;movie&#8221; value=&#8221;&#8216;</span>+ Movie + <span style="color:maroon;">&#8216;&#8221;&#8216;</span>);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;&lt;param                 name=&#8221;quality&#8221; value=&#8221;&#8216;</span>+Qual+<span style="color:maroon;">&#8216;&#8221;&gt;&#8217;</span>);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">if</span> (BGC.length&gt;0) </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;&lt;param                 name=&#8221;bgcolor&#8221; value=&#8221;&#8216;</span>+ BGC +<span style="color:maroon;">&#8216;&gt;&#8217;</span>);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;&lt;param                 name=&#8221;loop&#8221; value=&#8221;&#8216;</span> +             Loop             + <span style="color:maroon;">&#8216;&#8221;&gt;&#8217;</span>);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;&lt;param                 name=&#8221;play&#8221; value=&#8221;&#8216;</span>+ Play +<span style="color:maroon;">&#8216;&#8221;&gt;&#8217;</span>);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>document.write(<span style="color:maroon;">&#8216;&lt;/object&gt;&#8217;</span>);</span></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';">}</span></p>
</div>
<p><span class="Captions"><strong>Figure 8.</strong> <em>This external JavaScript             function dynamically outputs HTML similar to Figure 3. This technique avoids ActiveX             Activation hassles.</em></span></p>
<p>Therefore, the JavaScript file has been compiled into the control as an embedded         resource. To embed a file inside an assembly, simply drag the file into the project         inside Solution Explorer, then set its Build Action property to Embedded Resource.         To access this resource dynamically from the Web (as is about to be done), the file         must also be declared. In this case, that’s done at the top of the class file (before         the class declaration) with this design-time attribute:</p>
<p class="CodeSnippet" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';">&lt;Assembly:             _</span></p>
<p class="CodeSnippet" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';">System.Web.UI.WebResource(<span style="color:maroon;">&#8220;ControlFreak.flasher.js&#8221;</span>, _</span></p>
<p class="CodeSnippet" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:maroon;"> &#8220;text/javascript&#8221;</span><span style="font-size:10pt;font-family:'Courier New';">)&gt;</span></p>
<p>The new WebResource method available in ASP.NET 2.0 makes it possible for controls         to manage their own resources to make deployment and maintenance easier. Its parameter         accepts only the control’s namespace (ControlFreak), followed by a dot and then         the filename with extension (flasher.js). The code in <strong>Figure 9</strong> shows how the embedded JavaScript file is referenced dynamically at run time.</p>
<div class="CodeFigure">
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> Protected</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Overrides</span> <span style="color:blue;">Sub</span> OnPreRender(<span style="color:blue;">ByVal</span> </span> <span style="font-size:10pt;font-family:'Courier New';"> e <span style="color:blue;">As</span> System.EventArgs)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">If</span> <span style="color:blue;">Me</span>.DesignMode <span style="color:blue;">Then</span> <span style="color:blue;">Exit</span> <span style="color:blue;">Sub</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">With</span> Context.Request.Browser</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;"> If</span> .Browser.ToString.ToUpper = <span style="color:maroon;">&#8220;IE&#8221;</span> <span style="color:blue;">Then</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span> </span><span style="color:green;">&#8216; Define the resource name and type.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">Dim</span> rstype <span style="color:blue;">As</span> Type             = <span style="color:blue;">Me</span>.GetType</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">Dim</span> rsname <span style="color:blue;">As</span> <span style="color:blue;"> String</span> = <span style="color:maroon;">&#8220;ControlFreak.flasher.js&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:maroon;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:green;">&#8216; Register the client resource with the page.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">Dim</span> cs <span style="color:blue;">As</span> ClientScriptManager             = Page.ClientScript</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>cs.RegisterClientScriptResource(rstype,             rsname)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;"> End</span> <span style="color:blue;">If</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">End</span> <span style="color:blue;">With</span></span></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> End</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Sub</span></span></p>
</div>
<p><span class="Captions"><strong>Figure 9.</strong> <em>ASP.NET 2.0 includes the             capability for Web controls to manage their own resources, which can greatly simplify             deployment and maintenance.</em></span></p>
<p>Using this technique, the control’s JavaScript file doesn’t need to be located in         the Web application’s directory structure at all; therefore, you can’t forget to         put it there or accidentally put it in the wrong place. Instead, it’s automatically         retrieved from the control at run time. The RegisterClientScriptResource function         makes this happen by building a URL that references the embedded resource through         an automatically managed HTTP Handler. The resulting HTML script tag looks like         this:</p>
<p class="CodeSnippet" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> &lt;</span><span style="font-size:10pt;font-family:'Courier New';color:maroon;">script</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:red;">src</span><span style="color:blue;">=&#8221;/FlasherTest/WebResource.axd?d=t0e7oX8lfjsk…&#8221;</span> <span style="color:red;">type</span><span style="color:blue;">=&#8221;text/javascript&#8221;&gt;&lt;/</span><span style="color:maroon;">script</span><span style="color:blue;">&gt;</span></span></p>
<h3 class="Subheads">Fun with Hexadecimals</h3>
<p class="BodyText">Adobe’s Flash control requires its background color be set via RGB Hexadecimal values         only. Color names are not supported. Therefore, I patched together a utility function         to translate the Flasher control’s BackgroundColor property to just such a Hexadecimal         value. This function is shown in <strong>Figure 10</strong>. You may have noticed         it being called from the RenderForIE and RenderForAlt methods.</p>
<div class="CodeFigure"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> Public</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Function</span> Color2Hex(<span style="color:blue;">ByVal</span> clr <span style="color:blue;">As</span> Color) <span style="color:blue;">As</span> <span style="color:blue;">String</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">Dim</span> HexR, HexB, HexG <span style="color:blue;">As</span> <span style="color:blue;">String</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">Try</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:green;"> &#8216;Get Red Hex</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>HexR = Hex(clr.R)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;"> If</span> Len(HexR) &lt; 2 <span style="color:blue;">Then</span> HexR = <span style="color:maroon;"> &#8220;0&#8243;</span> &amp; HexR</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:green;"> &#8216;Get Green Hex</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>HexG = Hex(clr.G)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;"> If</span> Len(HexG) &lt; 2 <span style="color:blue;">Then</span> HexG = <span style="color:maroon;"> &#8220;0&#8243;</span> &amp; HexG</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:green;"> &#8216;Get Blue Hex</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span>HexB = Hex(clr.B)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;"> If</span> Len(HexB) &lt; 2 <span style="color:blue;">Then</span> HexB = <span style="color:maroon;"> &#8220;0&#8243;</span> &amp; HexB</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">Catch</span> ex <span style="color:blue;">As</span> Exception</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;"> Return</span> <span style="color:maroon;">&#8220;&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">End</span> <span style="color:blue;">Try</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';"><span> </span><span style="color:blue;">Return</span> <span style="color:maroon;">&#8220;#&#8221;</span> &amp; HexR &amp; HexG &amp; HexB <span style="color:green;"> &#8216;Output complete hex</span></span></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> End</span><span style="font-size:10pt;font-family:'Courier New';"> <span style="color:blue;">Function</span></span></p>
</div>
<p><span class="Captions"><strong>Figure 10.</strong> <em><span style="font-size:12pt;"> <span style="font-size:10pt;">The Color2Hex function converts a color object into an                 RGB Hexadecimal value because that’s what Adobe’s Flash player requires.</span> </span></em></span></p>
<p>This function extracts the Red, Green, and Blue (RGB) values from the Color object,         then converts them in turn to hexadecimal values. Then the final line recombines         them into a familiar string color value, such as this:</p>
<p class="CodeSnippet"><span style="font-size:10pt;font-family:'Courier New';color:blue;"> #FF0099</span></p>
<h3 class="Subheads">Wrap Up</h3>
<p class="BodyText">Using the ASP.NET 2.0 WebResources techniques (shown here) and the GetWebResources         method (not shown here), you can easily embed scripts, images, icons, strings, and         other items on which a Web control might depend. Web controls can now control their         own dependencies, thereby easing deployment and maintenance chores (see <strong>Figure             11</strong>).</p>
<p><img src="http://steveorr.net/articles/asp200609so_f_image004.jpg" alt="" /><br />
<span class="Captions"><strong>Figure 11.</strong> </span><em><span style="font-size:10pt;"> The Flasher control plays Flash animations consistently across all major browsers             so you don’t have to worry about development annoyances, such as ActiveX Activation             or varying browser support.</span> </em></p>
<p class="BodyText">The Flasher control makes playing Flash animations easy again. Now you can generate         standards-compliant output that works in all browsers, and avoid user annoyances         such as ActiveX Activation.</p>
<p><span style="font-size:10pt;">The source code for the Flasher control is available for </span><a href="http://steveorr.net/articles/Flasher.zip"><span style="font-family:Times New Roman;color:#0000ff;"><span style="font-size:10pt;"> download here</span></span></a><span style="font-family:Times New Roman;"><span style="font-size:10pt;">.</span></span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomaskjoseph9.wordpress.com/88/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomaskjoseph9.wordpress.com/88/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=88&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/17/free-custom-flasher-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>

		<media:content url="http://steveorr.net/articles/asp200609so_f_image002.jpg" medium="image" />

		<media:content url="http://steveorr.net/articles/asp200609so_f_image004.jpg" medium="image" />
	</item>
		<item>
		<title>JavaScript Stopwatch</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/16/javascript-stopwatch/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/16/javascript-stopwatch/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 20:03:13 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=85</guid>
		<description><![CDATA[The objective I know there are a lot of examples on the web on how to achieve stopwatch type functionality, but none seemed to be separated from the UI, so I decided to write my own object that could be included into any page without being tied into the user interface. The goal To create [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=85&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>The objective</h2>
<p>I know there are a lot of examples on the web on how to achieve stopwatch type functionality, but none seemed to be separated from the UI, so I decided to write my own object that could be included into any page without being tied into the user interface.</p>
<h2>The goal</h2>
<p>To create a JavaScript stopwatch that will work similar to the .NET <code>StopWatch</code> class. The object should not depend on any UI element, and should be added as easily as possible to any web page.</p>
<h2>The code</h2>
<h3>Constructor</h3>
<p>I first created the JavaScript object as follows:</p>
<pre><span class="code-keyword">function</span> StopWatch(){
}<span class="code-comment">//</span><span class="code-comment">yes this is how to define a class in JavaScript </span></pre>
<h3>Variables</h3>
<p>The next step was to sort out what variables would be needed to accomplish our task. We know we need timestamps for when we start and when we stop, and a state variable to determine if we are currently running.</p>
<pre><span class="code-keyword">function</span> StopWatch(){

  <span class="code-keyword">var</span> startTime = <span class="code-keyword">null</span>;
  <span class="code-keyword">var</span> stopTime = <span class="code-keyword">null</span>;
  <span class="code-keyword">var</span> running = <span class="code-keyword">false</span>;
  ....
}</pre>
<h3>Methods</h3>
<p>Now, the methods; we know we will need methods to start, stop, and set the duration. I know some implementations of stopwatches containing reset methods, but in this implementation, let’s infer the call to start to also be the reset.</p>
<h4>TimeStamp method</h4>
<p>I needed a private method in my object to return the timestamp for a given point in time. The <code>getTime</code> function of a <code>Date</code> object returns the number of milliseconds since Jan 1, 1970.</p>
<pre><span class="code-keyword">function</span> getTime(){
  <span class="code-keyword">var</span> day = <span class="code-keyword">new</span> Date();
  <span class="code-keyword">return</span> day.getTime();
}</pre>
<h4>Start method</h4>
<p>The call to start should verify that we are not already running, and should set the <code>startTime</code> variable.</p>
<pre><span class="code-keyword">this</span>.start = <span class="code-keyword">function</span>(){ 

<span class="code-keyword">if</span> (running == <span class="code-keyword">true</span>)
    <span class="code-keyword">return</span>;
<span class="code-keyword">else</span> <span class="code-keyword">if</span> (startTime != <span class="code-keyword">null</span>)
    stopTime = <span class="code-keyword">null</span>; 

running = <span class="code-keyword">true</span>;
startTime = getTime();

}</pre>
<h4>Stop method</h4>
<p>The call to stop should verify we are currently running, and should set the <code>stopTime</code> variable.</p>
<pre><span class="code-keyword">this</span>.stop = <span class="code-keyword">function</span>(){ 

<span class="code-keyword">if</span> (running == <span class="code-keyword">false</span>)
    <span class="code-keyword">return</span>;    

stopTime = getTime();
running = <span class="code-keyword">false</span>; 

}</pre>
<h4>Duration method</h4>
<p>This method should determine we have both a start and stop timestamp, and return the duration between the two, in terms of seconds.</p>
<pre><span class="code-keyword">this</span>.duration = <span class="code-keyword">function</span>(){ 

<span class="code-keyword">if</span>(startTime == <span class="code-keyword">null</span> || stopTime == <span class="code-keyword">null</span>)
   <span class="code-keyword">return</span> <span class="code-string">'</span><span class="code-string">Undefined'</span>;
<span class="code-keyword">else</span>
   <span class="code-keyword">return</span> (stopTime - startTime) / <span class="code-digit">1000</span>;

}</pre>
<h2>Using the stopwatch object</h2>
<p>To use the object, you need to include the <em>StopWatch.js</em> file or its logic into your own <em>.js</em> file, and create an instance of a <code>StopWatch</code> as follows:</p>
<pre><span class="code-keyword">var</span> _StopWatch = <span class="code-keyword">new</span> StopWatch();</pre>
<p>To start the stopwatch, you simply call <code>Start</code>.</p>
<pre>_StopWatch.start();</pre>
<p>To stop the stopwatch, you simply call <code>Stop</code>.</p>
<pre>_StopWatch.stop();</pre>
<p>To get the duration, you simply call <code>Duration</code>.</p>
<pre>alert(_StopWatch.duration());
<span class="code-comment">//</span><span class="code-comment">example return: 3.567(seconds)</span></pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomaskjoseph9.wordpress.com/85/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomaskjoseph9.wordpress.com/85/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=85&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/16/javascript-stopwatch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>
	</item>
		<item>
		<title>How to Close Child Windows When the Parent Window Closes</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/16/how-to-close-child-windows-when-the-parent-window-closes/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/16/how-to-close-child-windows-when-the-parent-window-closes/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 19:59:12 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=83</guid>
		<description><![CDATA[The Motivation When moving an application from Windows to web, I noticed that certain functionality available only in a Windows Form is expected to be carried over to the web form. Unfortunately, sometimes, achieving the said functionality can be a bit more difficult than expected. The Objective Being object oriented in nature, I wanted a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=83&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span></p>
<h3>The Motivation</h3>
<p>When moving an application from Windows to web, I noticed that certain functionality available only in a Windows Form is expected to be carried over to the web form. Unfortunately, sometimes, achieving the said functionality can be a bit more difficult than expected.</p>
<h3>The Objective</h3>
<p>Being object oriented in nature, I wanted a drop in solution on the client side to achieve closing child windows. Doing a bit of research told me that the call to <code>window.open</code> would return a <code>window</code> object that I could then (at a later time) call <code>close</code> on. The question to be answered was how to store each window object upon opening, and how to detect the browser closing in order to close the child windows.</p>
<p>Note: There are more than a few articles out there on creating objects in JavaScript, and it is beyond the scope of this article.</p>
<h2>The Code</h2>
<h3>Persisting Window Handles</h3>
<p>The first thing, persist the window object returned by the <code>open</code> function call. I achieved this by storing it as a private <code>Array</code> within my object.</p>
<pre>function windowController(){
  <span class="code-comment">//</span><span class="code-comment">Note: The absence of “this” indicates private</span>
  var loadedWindows = <span class="code-keyword">new</span> Array()
  …..
} <span class="code-comment">//</span><span class="code-comment">Note: Yes, in JavaScript an object</span>
  <span class="code-comment">//</span><span class="code-comment"> is declared similar to a function.</span></pre>
<h3>Encapsulate window.open</h3>
<p>Now that I have a nifty array, I need a public method that would wrap the <code>window.open</code> function to capture the returned object and add to my array.</p>
<pre><span class="code-keyword">this</span>.popUpWindow = <span class="code-keyword">function</span>(wndUrl, wndName, wndWidth, wndHeight){
<span class="code-keyword">var</span> windObj = <span class="code-keyword">null</span>;
<span class="code-keyword">try</span>
{
  <span class="code-comment">//</span><span class="code-comment">set default width </span>
  <span class="code-keyword">if</span>(<span class="code-keyword">typeof</span> wndWidth == <span class="code-string">'</span><span class="code-string">undefined'</span>) wndWidth=500;
  <span class="code-comment">//</span><span class="code-comment">set default height</span>
  <span class="code-keyword">if</span>(<span class="code-keyword">typeof</span> wndHeight == <span class="code-string">'</span><span class="code-string">undefined'</span>) wndHeight=250;
  windObj = window.open(wndUrl,
    <span class="code-comment">//</span><span class="code-comment">misc options to open a window, again mostly optional </span>
    wndName, <span class="code-string">'</span><span class="code-string">toolbar=0,menubar=0,resizable=0,location=0,
    directories=0,width='</span>+wndWidth+<span class="code-string">'</span><span class="code-string">,height='</span>+wndHeight);
  windObj.registerID = wndName; <span class="code-comment">//</span><span class="code-comment">this is the key to the window</span>
  loadedWindows[loadedWindows.length] = windObj;
  <span class="code-comment">//</span><span class="code-comment">add the window to our collection.</span>
}
<span class="code-keyword">catch</span>(ex) {
  alert(<span class="code-string">'</span><span class="code-string">WindowController.popUpWindow: '</span> +
        <span class="code-string">'</span><span class="code-string">Exception occured, message: '</span> + ex.message)
} <span class="code-comment">//</span><span class="code-comment">oops, looks like we are cross domain scripting.</span>
<span class="code-keyword">return</span> windObj;
}</pre>
<h3>Further Enhance Encapsulation</h3>
<p>Since I am wrapping <code>window.open</code>, I decided to only allow a single instance of each handle ID to be opened, by checking the ID against each window handle already loaded, and if it exists, I simply call <code>focus</code> (this is similar to what is expected from Windows Forms).</p>
<pre><span class="code-keyword">this</span>.popUpWindow = <span class="code-keyword">function</span>(wndUrl, wndName, wndWidth, wndHeight){
  <span class="code-keyword">var</span> windObj = <span class="code-keyword">null</span>;
  <span class="code-keyword">try</span>{
    <strong>windObj = findWindow(wndName);</strong>
    <span class="code-keyword">if</span> (windObj != <span class="code-keyword">null</span>)
    {
      windObj.focus();
    }
    <span class="code-keyword">else</span>
    {
     ......
    }</pre>
<p>where the <code>findWindow</code> function simply iterates the array, and returns <code><span class="code-keyword">null</span></code> if not found.</p>
<pre><span class="code-keyword">function</span> findWindow(winHandle){
  <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i=0; i&lt; loadedWindows.length; i++){
  <span class="code-keyword">if</span> (loadedWindows[i].closed == <span class="code-keyword">true</span>){
    loadedWindows.splice(i,<span class="code-digit">1</span>);
    i--;
  }
  <span class="code-keyword">else</span>{
    <span class="code-keyword">if</span> (loadedWindows[i].registerID == winHandle)
      <span class="code-keyword">return</span> loadedWindows[i];
    }
  }
  <span class="code-keyword">return</span> <span class="code-keyword">null</span>;
}</pre>
<h3>Pulling it all Together</h3>
<p>Finally, I needed a way to know when the browser was closing in order to close all my child windows. Of course, IE, compared to other browsers, has different ways to register to events, so I created a generic method to achieve this.</p>
<pre><span class="code-keyword">function</span> WireEvent(elem,target,func){
  <span class="code-keyword">if</span> (elem.addEventListener)
    elem.addEventListener(target, func, <span class="code-keyword">false</span>); <span class="code-comment">//</span><span class="code-comment">FF</span>
  <span class="code-keyword">else</span> <span class="code-keyword">if</span> (elem.attachEvent)
    elem.attachEvent(target, func); <span class="code-comment">//</span><span class="code-comment">IE</span>
  }
  WireEvent(window,<span class="code-string">'</span><span class="code-string">onunload'</span>,_windowController.closeAllWindows);</pre>
<p>where the <code>onunload</code> function is handled as follows:</p>
<pre><span class="code-keyword">this</span>.closeAllWindows = <span class="code-keyword">function</span>(){
  <span class="code-keyword">for</span>(<span class="code-keyword">var</span> x = <span class="code-digit">0</span>; x &lt; loadedWindows.length; x++){
    <span class="code-keyword">try</span>{
      loadedWindows[x].close();
    }
    <span class="code-keyword">catch</span>(err) {
      alert(<span class="code-string">'</span><span class="code-string">WindowController.closeAllWindows: '</span> +
            <span class="code-string">'</span><span class="code-string">Exception occured, message: '</span> + err.message)
    }
  } <span class="code-comment">//</span><span class="code-comment">oops, cross domain scripting or window already closed etc...</span>
}</pre>
<p>Looks like all is in place, the last thing I needed was the ability to init the object so it would be available from code, so I added the call at the top of the <em>js</em> file, as follows….</p>
<pre><span class="code-keyword">var</span> _windowController = <span class="code-keyword">new</span> windowController();</pre>
<h3>Using the Object</h3>
<p>Now, if the file is included, we have access to the window controller, so as long as all opened child windows are done through this object, we can be certain they will close upon browser exit as long as we are not cross domain.</p>
<pre>_windowController.popUpWindow(<span class="code-string">'</span><span class="code-string">ChildForm.aspx'</span>, <span class="code-string">'</span><span class="code-string">ChildForm'</span>);</pre>
<p></span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomaskjoseph9.wordpress.com/83/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomaskjoseph9.wordpress.com/83/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=83&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/16/how-to-close-child-windows-when-the-parent-window-closes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress post through email</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/16/wordpress-post-through-email/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/16/wordpress-post-through-email/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 19:32:01 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=80</guid>
		<description><![CDATA[If you know this feature already , skip this article. But i have to ask a single question at the end of this section . For wordpress version less than 2.3 , Go to Options &#62;  writing, and  for greater than 2.3, Go to settings &#62; writing What you have to do is create an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=80&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you know this feature already , skip this article. But i have to ask a single question at the end of this section .</p>
<p>For wordpress version less than 2.3 , Go to <strong>Options</strong> &gt;  <strong>writing</strong>, and  for greater than 2.3, Go to <strong>settings</strong> &gt; <strong>writing</strong></p>
<p>What you have to do is create an email account with pop3 support</p>
<p>You can see the heading “Post via e-mail” there.</p>
<p>Enter your email server (by replacing mail.example.com)</p>
<p>Enter your pop3 port. (110 by default)</p>
<p>Enter your email login and password.</p>
<p>Choose a category to for the email entry posts</p>
<p>Finally Press update option Button</p>
<p>What you have done above is only the settings. For grabbing or pulling the content from email, you need to call/trigger an url.</p>
<p>That url is: http://yourblogdomain/wordpressinstalldir/wp-mail.php</p>
<p>Either you can call it manually. Or you can set up a cron job for that url by call the url using wget or like functions</p>
<p>Another simple mechanism to call this email trigger is use a hidden iframe in your blog template. (anywhere)</p>
<p>&lt;iframe width=”0″ height=”0″  style=”display:none”  src=”http://yourblogdomain/wordpressinstalldir/wp-mail.php“&gt;&lt;/iframe&gt;</p>
<p>The problem with this email posting is , it <strong>strips all the html tags</strong> before entering into wordpress database.</p>
<p>The is <strong>no way</strong> to find the<strong> attachments from an email</strong>.</p>
<p>So I decided to start a <strong>wordpress plugin</strong> which does the above missing properties. If there is any ‘working’ plugin available, please let me know, so that  I can avoid the re-inventing of wheel .</p>
<p>Thanks,</p>
<p>Thomas K Joseph</p>
<p><a href="http://www.logicmanse.com" target="_blank">LogicManse</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomaskjoseph9.wordpress.com/80/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomaskjoseph9.wordpress.com/80/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=80&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/16/wordpress-post-through-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>
	</item>
		<item>
		<title>LogicManse</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/16/logicmanse/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/16/logicmanse/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 19:19:56 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Logicmanse]]></category>
		<category><![CDATA[Service for startups]]></category>
		<category><![CDATA[SMB services]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[www.logicmanse.com]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=74</guid>
		<description><![CDATA[LogicManse is a Canadian based R &#38; D company that provides innovative technology solutions for Entrepreneurs worldwide. Starting from Prototype Development to Revenue Model integration, LogicManse (www.logicmanse.com) has a complete technology package for Entrepreneurs who wants to establish revenue generating global internet brands. LogicManse assist entrepreneurs by providing FREE consulting on the business &#38; Revenue [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=74&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>LogicManse is a Canadian based R &amp; D company that provides innovative technology solutions for Entrepreneurs worldwide.</p>
<p>Starting from Prototype Development to Revenue Model integration, LogicManse (<a href="http://www.logicmanse.com" target="_blank">www.logicmanse.com</a>) has a complete technology package for Entrepreneurs who wants to establish revenue generating global internet brands. LogicManse assist entrepreneurs by providing FREE consulting on the business &amp; Revenue models and also gets involved with active participation for great ideas.</p>
<p>LogicManse is entirely different from traditional web I Mob development companies. We stand firmly for Entrepreneurs who wish to transform an Idea into a live Prototype that speaks volumes to investors. We enhance ideas to create sustainable prototypes for a nominal fee and work along with the Entrepreneur as a technology partner.</p>
<p>LogicManse address the challenges that Entrepreneurs face today: changing ideas into prototypes for securing funds from investors. LogicManse enable the Entrepreneur to start working from Day 1 by allocating the right team for the concepts and working in the true startup spirit.</p>
<p>LogicManse is an abode of technology with the right blend of business and innovation. We believe in the business revolution through SMBs and are eager in the success of every SMB/ startup we work with. Our clientele includes small webstores to the next generation search engines. The verticals range from e-commerce to social networking, Wireless Apps to Streaming networks.</p>
<p>For more details send an email to <a href="mailto:info@logicmanse.com" target="_blank">info@logicmanse.com</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomaskjoseph9.wordpress.com/74/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomaskjoseph9.wordpress.com/74/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=74&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/16/logicmanse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>
	</item>
		<item>
		<title>Create a Blogger Tag Cloud Widget</title>
		<link>http://thomaskjoseph9.wordpress.com/2008/09/11/67/</link>
		<comments>http://thomaskjoseph9.wordpress.com/2008/09/11/67/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 10:11:57 +0000</pubDate>
		<dc:creator>Thomas Kutty Joseph</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[blogger]]></category>
		<category><![CDATA[blogger code]]></category>
		<category><![CDATA[labels]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://thomaskjoseph9.wordpress.com/?p=67</guid>
		<description><![CDATA[Installation: If you already have a Labels page element installed, skip to step 2. Step 1: Install the Labels page element by browsing to your template settings: Click &#8220;Add a Page Element&#8221; in the column you wish: Then find the Labels page element and click &#8220;Add to Blog&#8221;: Step 2: Replace the Labels page element [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=67&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight:bold;">Installation:</span></p>
<p>If you already have a Labels page element installed, skip to step 2.</p>
<p><span style="font-weight:bold;">Step 1:</span> Install the Labels page element by browsing to your template settings:</p>
<p><a href="http://bp2.blogger.com/_9-hud3NnwPg/R1ShaeoHNKI/AAAAAAAAAKM/2o41IACngdk/s1600-R/templatepageelements.jpg"><img style="cursor:pointer;" src="http://bp2.blogger.com/_9-hud3NnwPg/R1ShaeoHNKI/AAAAAAAAAKM/ELsYTmJcuzU/s320/templatepageelements.jpg" border="0" alt="" /></a></p>
<p>Click &#8220;Add a Page Element&#8221; in the column you wish:</p>
<p><a href="http://bp3.blogger.com/_9-hud3NnwPg/R1ShauoHNLI/AAAAAAAAAKU/t2dZGaZOzUc/s1600-R/addpageelement.jpg"><img style="cursor:pointer;" src="http://bp3.blogger.com/_9-hud3NnwPg/R1ShauoHNLI/AAAAAAAAAKU/YtSvDKxcejs/s320/addpageelement.jpg" border="0" alt="" /></a></p>
<p>Then find the Labels page element and click &#8220;Add to Blog&#8221;:</p>
<p><a href="http://bp1.blogger.com/_9-hud3NnwPg/R1glIOoHNYI/AAAAAAAAAMA/kwox74OTZLM/s1600-h/labelspageelement.jpg"><img style="cursor:pointer;" src="http://bp1.blogger.com/_9-hud3NnwPg/R1glIOoHNYI/AAAAAAAAAMA/kwox74OTZLM/s320/labelspageelement.jpg" border="0" alt="" /></a></p>
<p><span style="font-weight:bold;">Step 2:</span> Replace the Labels page element widget code with the custom tag cloud code above.</p>
<p>First navigate to your templates source under your template settings:</p>
<p><a href="http://bp0.blogger.com/_9-hud3NnwPg/R1gpm-oHNZI/AAAAAAAAAMI/GBQNPfu95fk/s1600-h/templatehtml.jpg"><img style="cursor:pointer;" src="http://bp0.blogger.com/_9-hud3NnwPg/R1gpm-oHNZI/AAAAAAAAAMI/GBQNPfu95fk/s320/templatehtml.jpg" border="0" alt="" /></a></p>
<p>Then check off &#8220;Expand Widget Templates&#8221;:</p>
<p><a href="http://bp1.blogger.com/_9-hud3NnwPg/R1gpnOoHNaI/AAAAAAAAAMQ/8ksAoCLJEV8/s1600-h/expandwidgettemplates.jpg"><img style="cursor:pointer;" src="http://bp1.blogger.com/_9-hud3NnwPg/R1gpnOoHNaI/AAAAAAAAAMQ/8ksAoCLJEV8/s320/expandwidgettemplates.jpg" border="0" alt="" /></a></p>
<p>Search for the Label page element you are replacing by searching for widget code.  It will look something like this</p>
<blockquote><p>&lt;b:widget id=&#8217;Label1&#8242; locked=&#8217;false&#8217; title=&#8217;Tags&#8217; type=&#8217;Label&#8217;&gt;</p></blockquote>
<p>but id and title maybe different, so use your browser&#8217;s search tool and look for <span style="font-weight:bold;">type=&#8217;Label&#8217;</span>.</p>
<p>Delete the Label widget code from the start to the end marked by</p>
<blockquote><p>&lt;/b:widget&gt;</p></blockquote>
<p>and replace with the custom Tag Cloud code from below..</p>
<p><span style="font-weight:bold;">Code:</span></p>
<blockquote>
<pre>&lt;b:widget id='TagCloud' locked='false' title='Tags' type='Label'&gt;
&lt;b:includable id='main'&gt;
&lt;b:if cond='data:title'&gt;
  &lt;h2&gt;&lt;data:title/&gt;&lt;/h2&gt;
&lt;/b:if&gt;
&lt;div class='widget-content' style='text-align: justify;'&gt;
 &lt;script type="text/javascript"&gt;
/*
Simple Blogger Tag Cloud Widget
by Raymond May Jr.

http://www.compender.com

Released to the Public Domain
*/
//Variables:
var max = 150; //max css size (in percent)
var min = 50; //min css size (...)
var showCount = 1;  // show counts? 1 for yes
var minCount = 1;  // what is the minimum count for a Tag to be shown? 1 for all.

//Begin code:
var range = max - min;

//Build label Array
var labels = new Array();
 &lt;b:loop values='data:labels' var='label'&gt;
   labels.push("&lt;data:label.name/&gt;");
 &lt;/b:loop&gt;

//URLs
var urls = new Array();
 &lt;b:loop values='data:labels' var='label'&gt;
   urls.push("&lt;data:label.url/&gt;");
 &lt;/b:loop&gt;

//Counts
var counts = new Array();
 &lt;b:loop values='data:labels' var='label'&gt;
   counts.push("&lt;data:label.count/&gt;");
 &lt;/b:loop&gt;

//Number sort funtion (high to low)
function sortNumber(a, b)
{
 return b - a;
}

//Make an independant copy of counts for sorting
var sorted = counts.slice();

//Find the largest tag count
var most = sorted.sort(sortNumber)[0];

//Begin HTML output
for (x in labels)
{
 if(x != "peek" &amp;amp;&amp;amp; x != "forEach" &amp;amp;&amp;amp; counts[x] &gt;= minCount)
 {
  //Calculate textSize
  var textSize = min + Math.floor((counts[x]/most) * range);
  //Show counts?
  if(showCount == 1)
  {
   var count = "(" + counts[x] + ")";
  }else{
   var count = "";
  }
  //Output
  document.write("&lt;span style='font-size:" + textSize + "%'&gt;&lt;a href='" + urls[x] + "'&gt;" + labels[x] + count + "&lt;/a&gt;&lt;/span&gt; " );
 }
}
&lt;/script&gt;
&lt;/div&gt;
&lt;/b:includable&gt;
&lt;/b:widget&gt;</pre>
</blockquote>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomaskjoseph9.wordpress.com/67/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomaskjoseph9.wordpress.com/67/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomaskjoseph9.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomaskjoseph9.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomaskjoseph9.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomaskjoseph9.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomaskjoseph9.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomaskjoseph9.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomaskjoseph9.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomaskjoseph9.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomaskjoseph9.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomaskjoseph9.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomaskjoseph9.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomaskjoseph9.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomaskjoseph9.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomaskjoseph9.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomaskjoseph9.wordpress.com&amp;blog=4716599&amp;post=67&amp;subd=thomaskjoseph9&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomaskjoseph9.wordpress.com/2008/09/11/67/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6ec6d96308f75cf933fe8e1e21d28969?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas</media:title>
		</media:content>

		<media:content url="http://bp2.blogger.com/_9-hud3NnwPg/R1ShaeoHNKI/AAAAAAAAAKM/ELsYTmJcuzU/s320/templatepageelements.jpg" medium="image" />

		<media:content url="http://bp3.blogger.com/_9-hud3NnwPg/R1ShauoHNLI/AAAAAAAAAKU/YtSvDKxcejs/s320/addpageelement.jpg" medium="image" />

		<media:content url="http://bp1.blogger.com/_9-hud3NnwPg/R1glIOoHNYI/AAAAAAAAAMA/kwox74OTZLM/s320/labelspageelement.jpg" medium="image" />

		<media:content url="http://bp0.blogger.com/_9-hud3NnwPg/R1gpm-oHNZI/AAAAAAAAAMI/GBQNPfu95fk/s320/templatehtml.jpg" medium="image" />

		<media:content url="http://bp1.blogger.com/_9-hud3NnwPg/R1gpnOoHNaI/AAAAAAAAAMQ/8ksAoCLJEV8/s320/expandwidgettemplates.jpg" medium="image" />
	</item>
	</channel>
</rss>
