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

<channel>
	<title>aip solutions developer's blog &#187; JavaScript</title>
	<atom:link href="http://blog.aip-solutions.com/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.aip-solutions.com</link>
	<description>aip solutions developer's blog</description>
	<lastBuildDate>Thu, 15 Jul 2010 10:46:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>dynlite 2.3.10 release</title>
		<link>http://blog.aip-solutions.com/366/dynlite-2-3-10-release/</link>
		<comments>http://blog.aip-solutions.com/366/dynlite-2-3-10-release/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 10:30:44 +0000</pubDate>
		<dc:creator>Peter Assenov</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blog.aip-solutions.com/?p=366</guid>
		<description><![CDATA[The new version /2.3.10 from 30th of June 2010/ of dynlite is released.
Several key improvements are implemented.]]></description>
			<content:encoded><![CDATA[<p>The new version /2.3.10 from 30th of June 2010/ of dynlite is released.</p>
<p>Several key improvements are implemented:</p>
<h3></h3>
<h3><strong>1. Separated onDOMContentLoaded/init/ and onLoad/load/ events</strong></h3>
<p>onDomContentLoaded event is called when DOM tree has been constructed. Most of initialization code should go here.</p>
<p>onLoad even is called when all page resources has been loaded.  Code that calculate position or size need to wait the images, so should be called here.</p>
<pre>//To show a message onDOMContentLoaded call:
<strong>init.push("alert('domload')")</strong>;
//or define <strong>
function init(){ alert('domload');}</strong>
//To show a message onLoad call:
<strong>load.push("alert('pageload')")</strong>;
//or define <strong>
function load(){ alert('pageload');}</strong>
</pre>
<p>The loading sequence is:</p>
<p>1. auto object creation &#8211; domLoad-<strong> dl.make(&#8216;div&#8217;)</strong></p>
<p>2. modules auto-init array &#8211; domLoad-<strong> </strong><strong>init.push(&#8216;myinit()&#8217;)</strong></p>
<p>3. page init- domLoad -<strong> function init() { myinit()}</strong></p>
<p>4. modules auto-load array- pageLoad-<strong> load</strong><strong>.push(&#8216;myinit()&#8217;)</strong></p>
<p>5. page-load &#8211; pageLoad-<strong> </strong><strong>function load() { myinit()}</strong></p>
<h3></h3>
<h3><strong>2. Added silent mode for trace(</strong><strong>what, silent</strong><strong>) &#8211; returns string instead alert</strong></h3>
<p>If the second parameter of <strong>trace()</strong> is  <strong>true</strong> the output will be returned by the function instead of outputting to the screen. The feature is useful when making loggers.</p>
<h3><strong>3. Object auto creation uses classNames instead tag parameters</strong></h3>
<p>As we adopted <strong>XHTML Strict</strong> as standard <strong>DocType </strong>adding custom attributes to the HTML tags is no longer possible /invalidates the document/</p>
<p>The only way to pass custom parameters is to put then into the class attribute.</p>
<p>This dynlite release supports automatic object creation using this technique.</p>
<pre>&lt;div id="test" class="<strong>dl.someclass()</strong>"&gt;&lt;/div&gt;
is equivalent to
<strong>var test = new dl.someclass('test');</strong>
</pre>
<p>The objects are created onDOMContentLoaded.</p>
<p>The auto-creation works if the following conditions are met:</p>
<p>1. The HTML element has Id</p>
<p>2. Specified class exists and its file is included</p>
<p>3. The class is dynlite extension</p>
<p>4. Method  <strong>dl.make(&#8216;div&#8217;)</strong> is called somewhere in the script /usually the library class calls it statically/</p>
<h3></h3>
<h3><strong>5. Removed &#8220;type&#8221; parameter from make(tag, type)</strong></h3>
<p>Setting the classes in the <strong>className </strong>attribute of the tag makes this parameter irrelevant.  It was never used anyway.<strong> </strong></p>
<p><strong><br />
</strong></p>
<h3><strong>6. Multiple objects can be created be element</strong></h3>
<p>Unlike the previous release now many classes can be instantiated for one HTML element.</p>
<pre>&lt;div id="test" class="<strong>dl.someclass() dl.otherclass()</strong>"&gt;&lt;/div&gt;
is equivalent to
<strong>var test = new dl.someclass('test');</strong>
<strong>var test = new dl.otherclass('test');</strong>
</pre>
<p>Please note that all collisions are left for the developer to solve.</p>
<p>Do not use the global object, because it will point to the last class.</p>
<p>Classes should be separated by space.</p>
<h3></h3>
<h3><strong>7. Object auto creation supports parameters</strong></h3>
<p>It is possible to pass parameters to class constructors the same way as if the class is called itself. The passed parameters come as a second argument for the class /the first is always the element Id/. If more that one parameter is passed &#8211; they are grouped in array.</p>
<pre>&lt;div id="test" class="<strong>dl.someclass(1, 'John', 'Smith')</strong>"&gt;&lt;/div&gt;
is equivalent to
<strong>var test = new dl.someclass('test', [1, 'John', 'Smith']);</strong>
</pre>
<h3></h3>
<h3><strong>8. Introduced cash parameters to dl.el</strong></h3>
<p>Originally  the HTML elements selector <strong>dl.el()</strong> cashes the queried nodes, i.e if once an element is selected the next time it is requested it is taken from the cash. Of course the pointer to the element is cashed, not the element itself. The performance is increased a lot because the costly DOM requests are avoid.</p>
<p>Unfortunately when part of the DOM tree is replaced /usually working with AJAX/ the cash pointers no longer point to a valid element/</p>
<p>In this case the DOM query has to be executed every time.</p>
<pre><strong>dl.cash=1;</strong> //enables the cash
<strong>dl.cash=0;</strong> //disables it</pre>
<h3></h3>
<h3><strong>9. Introduced -1 status /in execution/</strong></h3>
<p>When it is important to know if some method has been executed /onLoad initialization for example/ a status variable is required.</p>
<p><strong>dynlite </strong>convention is:</p>
<pre>//status variable for dl.method()
<strong>dl.is.method = 0;</strong> // not executed
<strong>dl.is.method = 1;</strong> // executed</pre>
<p>Sometimes when the execution of the method can take some time or is done asynchronously is important also to know if the execution is underway. The following statuses should be used:</p>
<pre>//status variable for dl.method()
<strong>dl.is.method = -1;</strong>  // in  execution- general
<strong>dl.is.method = -23;</strong> // in execution with timestamp /ms from the <strong>dl</strong> initialization/. Used when completion is not certain.
</pre>
<h3></h3>
<h3><strong>10.  Class prototype naming convention<br />
</strong></h3>
<p>To avoid polluting <strong>dl</strong> name-space class prototypes should be named as the class itself by with capital letter.</p>
<pre><strong>dl.info = function() {} </strong>      //class dl.info
<strong>dl.Info = dl.info.prototype; </strong> //dl.info prototype
<strong>dl.Info.method = function(){}</strong> //dl.info method definition
<strong><strong>

</strong></strong></pre>
<h3><strong><strong>11.  Implement on-fly script loading<br />
</strong></strong></h3>
<p>Loading all scripts in page head is costly because is done synchronously. The page have to wait not only script loading, but also its evaluation.  Loading the scripts at the bottom of the page solves the issue, but spoils readability.</p>
<p>A good solution is all js libraries and modules to be loaded dynamically. The following methods are available:</p>
<pre><strong>dl.mods[];</strong> /* stores the loaded libraries- the key is module name and value is loading status.
              possible statuses are: 0- not loaded, -1 - loading, 1- loaded */
<strong>dl.mod.add('form'); </strong> // icludes instantly forms module  - dl.forms.js
<strong><strong>dl.mod.add(['form','list']); </strong></strong>// multiple scripts loading is supported if the parameter is array
<strong>dl.mod.init('forms')</strong>; // module is included when the DOM tree is constructed- onDomContentLoaded
<strong>dl.mod.load('forms')</strong>; // module is included onPageLoad
<strong>dl.mod.add('forms').init('list').load('flash'); </strong>//all methods return the object, so chaining is possible<strong>
</strong>
</pre>
<p>Please note that the inclusion/execution order is random, so do not rely on it.</p>
<p>After the inclusion an initialization function is called.</p>
<pre><strong><strong>dl.mod.add('form'); </strong></strong>// will execute dl.form.init()</pre>
<p>The source code can be found in <strong>html.dev/dynlite </strong>or downloaded from here: <a href="http://blog.aip-solutions.com/wp-content/uploads/2010/06/dynlite.js">dynlite</a><br />
Documentation and Unit tests will follow shortly.</p>
<p>Cheers!<br />
Peter</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2184px; width: 1px; height: 1px; overflow: hidden;">http://vodazaofisa.aip/order.html</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.aip-solutions.com/366/dynlite-2-3-10-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Useful add-ons</title>
		<link>http://blog.aip-solutions.com/231/useful-add-ons/</link>
		<comments>http://blog.aip-solutions.com/231/useful-add-ons/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 06:56:47 +0000</pubDate>
		<dc:creator>mili</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML & XHTML]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blog.aip-solutions.com/?p=231</guid>
		<description><![CDATA[This is a quick list of Add-ons in FF that I use:

Firebug - http://getfirebug.com/
IE Tab &#8211; https://addons.mozilla.org/en-US/firefox/addon/1419
MeasureIt -http://www.kevinfreitas.net/extensions/measureit/
ColorZilla &#8211; http://www.colorzilla.com/firefox/
Resizeable textarea &#8211; https://addons.mozilla.org/en-US/firefox/addon/3818
Web Developer &#8211; http://chrispederick.com/work/web-developer/
HTML Validator &#8211; http://users.skynet.be/mgueury/mozilla/
CSS Validator &#8211; http://www.nu22.com/firefox/cssvalidator/
Operator - http://www.kaply.com/weblog/operator/
Tails Export &#8211; https://addons.mozilla.org/en-US/firefox/addon/2240?id=2240
ShowIP - http://code.google.com/p/firefox-showip/
YSlow - http://developer.yahoo.com/yslow/

]]></description>
			<content:encoded><![CDATA[<p>This is a quick list of Add-ons in FF that I use:</p>
<ol>
<li><strong>Firebug </strong>- <a href="http://getfirebug.com/" target="_blank">http://getfirebug.com/</a></li>
<li><strong>IE Tab</strong> &#8211; <a href="https://addons.mozilla.org/en-US/firefox/addon/1419" target="_blank">https://addons.mozilla.org/en-US/firefox/addon/1419</a></li>
<li><strong>MeasureIt</strong> -<a href="http://www.kevinfreitas.net/extensions/measureit/" target="_blank">http://www.kevinfreitas.net/extensions/measureit/</a></li>
<li><strong>ColorZilla</strong> &#8211; <a href="http://www.colorzilla.com/firefox/" target="_blank">http://www.colorzilla.com/firefox/</a></li>
<li><strong>Resizeable textarea</strong> &#8211; <a href="https://addons.mozilla.org/en-US/firefox/addon/3818" target="_blank">https://addons.mozilla.org/en-US/firefox/addon/3818</a></li>
<li><strong>Web Developer</strong> &#8211; <a href="http://chrispederick.com/work/web-developer/" target="_blank">http://chrispederick.com/work/web-developer/</a></li>
<li><strong>HTML Validator</strong> &#8211; <a href="http://users.skynet.be/mgueury/mozilla/" target="_blank">http://users.skynet.be/mgueury/mozilla/</a></li>
<li><strong>CSS Validator</strong> &#8211; <a href="http://www.nu22.com/firefox/cssvalidator/" target="_blank">http://www.nu22.com/firefox/cssvalidator/</a></li>
<li><strong>Operator </strong>- <a href="http://www.kaply.com/weblog/operator/" target="_blank">http://www.kaply.com/weblog/operator/</a></li>
<li><strong>Tails Export</strong> &#8211; <a href="https://addons.mozilla.org/en-US/firefox/addon/2240?id=2240" target="_blank">https://addons.mozilla.org/en-US/firefox/addon/2240?id=2240</a></li>
<li><strong>ShowIP </strong>- <a href="http://code.google.com/p/firefox-showip/" target="_blank">http://code.google.com/p/firefox-showip/</a></li>
<li><strong>YSlow </strong>- <a href="http://developer.yahoo.com/yslow/" target="_blank">http://developer.yahoo.com/yslow/</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.aip-solutions.com/231/useful-add-ons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>inside dl.swf</title>
		<link>http://blog.aip-solutions.com/49/inside-dlswf/</link>
		<comments>http://blog.aip-solutions.com/49/inside-dlswf/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 09:56:13 +0000</pubDate>
		<dc:creator>Peter Assenov</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[dl.swf]]></category>
		<category><![CDATA[dynlite]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.aip-solutions.com/?p=49</guid>
		<description><![CDATA[I&#8217;ll try to describe the creation process of dl.swf- a small class for publishing flash in html page.
A great overview for the concepts and common solutions of this problem can be found at: Embed Flash or Die Trying
Btw, nice title too&#8230; I will start from there, so reading the above is a good idea. Also [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll try to describe the creation process of dl.swf- a small class for publishing flash in html page.</p>
<p>A great overview for the concepts and common solutions of this problem can be found at: <a title="Embed Flash or Die Trying" href="http://perishablepress.com/press/2007/04/17/embed-flash-or-die-trying/" target="_blank">Embed Flash or Die Trying</a><br />
Btw, nice title too&#8230; I will start from there, so reading the above is a good idea. Also my previos post on this topic can help /<a title="Include Flash content in HTML" href="http://blog.aip-solutions.com/11/include-flash-content-in-html-page/" target="_blank">Include flash content in html page</a>/.</p>
<p>So the task was: make simple, flexible, easy to use, easy to maintain and browser/platform compatible class for including flash into html page.  Not bad&#8230; Did I mention 2 days time-frame /1 research and 1 implementation/? Will be fun for sure&#8230;</p>
<p>Everything begins with the usability. We have 2 scenarios:<br />
1. Should be possible to include Flash at a certain point in the body. The code should be something  like:</p>
<pre><em>&lt;div&gt;<em>&lt;script type="text/javascript"&gt;</em></em>dl.swf()<em><em>&lt;/script&gt;</em>&lt;/div&gt;</em></pre>
<p>2. Sometimes is better to  replace the content of an element, so for example if there is no flash player alternate content will be present:</p>
<pre>&lt;div id="containerId"&gt;Alternate Content&lt;/div&gt;
<em>&lt;script type="text/javascript"&gt;</em>dl.swf("containerId")<em>&lt;/script&gt;</em></pre>
<p>Looks simple enough but in case we need multiple instances we should register them. If the instances are created by a Factory method, then the Id will be generated automatically, but when there is communication between JS and AS is better to set it up manually. So no escape- Id parameter is necessary- will be the first argument passed to the constructor.</p>
<p>The other thing that bothers me  is that all the logic is executed in the constructor- not much object oriented, eh&#8230; Frankly I don&#8217;t care /OOP was not part of the requirements <img src='http://blog.aip-solutions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> /, the problem is that this approach, although simple, somehow shuts the door for future extension and in-between processing, so decided- the final replace will be done by a separate method- <code>write();</code> Let see what we have:</p>
<pre>&lt;div id="containerId"&gt;Alternate Content&lt;/div&gt;
<em>&lt;script type="text/javascript"&gt;</em>
var myObj=dl.swf("flashId")
myObj.write("containerId")
<em>&lt;/script&gt;</em></pre>
<p>In case the constructor returns the object/little nasty js trick/ will be much shorter:</p>
<pre>&lt;div id="containerId"&gt;Alternate Content&lt;/div&gt;
<em>&lt;script type="text/javascript"&gt;</em>
dl.swf("flashId").write("containerId")
<em>&lt;/script&gt;</em></pre>
<p>or flexibility when there are no multiple instances and you don&#8217;t replace content in another element, then the Id will be auto-generated and the writing method will not need a parameter.</p>
<pre>&lt;div&gt;<em>&lt;script type="text/javascript"&gt;</em>dl.swf().write()<em>&lt;/script&gt;</em>&lt;/div&gt;</pre>
<p>Still simple enough, yet much more flexible.</p>
<p>Then probably we need to adjust some parameters of the html object or pass variables to the .swf itself. Since it is not possible to predict the number of these parameters we can pass them as associate arrays. Unfortunately in Javascript there is no easy way to create associate arrays/they support Alpha calculus though <img src='http://blog.aip-solutions.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> /- something like <code>[key1=&gt;val1,key2=&gt;val2]</code> would have been great, but we have to use objects <code>{key1:val1,key2:val2}</code> &#8211; at the end its the same.  Our example code should be like:</p>
<pre>&lt;div id="containerId"&gt;Alternate Content&lt;/div&gt;
<em>&lt;script type="text/javascript"&gt;</em>
dl.swf("flashId",{par1:val2,par2:val2},{swfvar1:val1,swfvar2:val2}).write("containerId")
<em>&lt;/script&gt;</em></pre>
<p>Most of the times there is no need for passing parameters to the .swf and I can preset the most common paratemeters of the html object, so the array parameters should not be required. Again we&#8217;re back to:</p>
<pre><em>&lt;script type="text/javascript"&gt;</em>dl.swf().write()<em>&lt;/script&gt;</em></pre>
<p>Not complex at all, but at the end of the day the class should be used primarily by designers. They seem to be scared of all these dots and brackets/not to mention anonymous objects as parameters/- so a simple function will be perfect for them. Let it be! Also they are used to pass certain parameters to it. No problem- I will take them from swfObject &#8230;</p>
<pre><em>&lt;script type="text/javascript"&gt;</em>dlswf("path/movie.swf","movie_id","333","333","7","#777")<em>&lt;/script&gt;
</em></pre>
<p>Enough for the usage. Next is the implementation&#8230;</p>
<p>peter.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aip-solutions.com/49/inside-dlswf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Include flash content in html page</title>
		<link>http://blog.aip-solutions.com/11/include-flash-content-in-html-page/</link>
		<comments>http://blog.aip-solutions.com/11/include-flash-content-in-html-page/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 09:12:38 +0000</pubDate>
		<dc:creator>Peter Assenov</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[dl.swf]]></category>
		<category><![CDATA[dynlite]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.aip-solutions.com/?p=11</guid>
		<description><![CDATA[Small and simple JavaScript class for dynamic include of Flash content in HTML page. Part of dynlite, but also can be used standalone.]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve made a small research and found many JavaScript classes that include dynamically flash in HTML pages. Most of them were easy to use and offered reasonable compatibility with different user agents and platforms. That&#8217;s great, but as a javascript developer I need to know also what&#8217;s behind the scene. How they work and how easy for modification and upgrade they are. When a client comes and say &#8220;I need this feature&#8221; or &#8220;can you support also this browser&#8230;&#8221;- he does not care what great-open-source-class I use- he just needs the thing done and I need to be able to make it.</p>
<p>Here comes the tricky part&#8230;</p>
<p>I took the uncompressed version of one popular class- swfobject 2.1 and I was surprised- it was 23KB! Well I know that these days 23K  are nothing for the web bandwidth but if you gonna maintain the code- they are a lot.  Isn&#8217;t it all about checking if there is Flash Player present and if yes just replace the innerHTML of some DIV- sounds  not so complex to require 700+ lines of code. I said- that&#8217;s ok the volume is not important if the code is simple and understandable. I scrolled down the code and I saw the file is ending with:</p>
<pre><span style="color: #0000ff;">                }
            }
        }
    };
}();

</span></pre>
<p><span style="color: #0000ff;"><span style="color: #000000;">Well, this simple complexity test just adds more concerns&#8230; what is this complex logic that requires such nesting? Besides what is the point you declare a function just to execute it on creation- can&#8217;t you just write the code, or if you want to be more structured- use static class for example.</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;">And the final blow was the conditional parsing/line 88/ for detecting the OS in Internet explorer. Come on we&#8217;re not here to show how great programmers we are we just need to replace the innerHTML of a DIV.<br />
</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;">Its not that I don&#8217;t appreciate the work done by the guys- they are great and I&#8217;d like to thank them for sharing it with others, but it&#8217;s just not my vision how it should be done.</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;">So I thought to myself- there must be a simpler way&#8230; I don&#8217;t need complex event management, onDomContentLoaded handling or dynamic DOM elements manipulations- they are all out of scope of flash inclusion class and besides I already have them in the API&#8217;s core/I will introduce it in another post/.</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;"> I created my own class nearly 9 times smaller and doing exactly what is needed- include flash content  into html page.</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;">When I have time I will write some documentation but it is so simple that I think the usage examples should be enough. If not, one can always take a look at the code <img src='http://blog.aip-solutions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . Here they are:</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;">Usage: <a title="dl.swf usage" href="http://blog.aip-solutions.com/wp-content/uploads/2009/02/dl.swf.html" target="_blank">http://blog.aip-solutions.com/wp-content/uploads/2009/02/dl.swf.htm</a> Actually this was my class test page used in its creation,  so don&#8217;t take into account the visual. </span></span></p>
<p>Source: <a title="dl.swf source" href="http://blog.aip-solutions.com/wp-content/uploads/2009/02/dl.swf.js" target="_blank">http://blog.aip-solutions.com/wp-content/uploads/2009/02/dl.swf.js</a></p>
<p><span style="color: #0000ff;"><span style="color: #000000;">Hope will be useful to you&#8230;</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;"> Cheers,</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;">Peter<br />
</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;"><br />
</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;"><br />
</span></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;"><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aip-solutions.com/11/include-flash-content-in-html-page/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
