<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>WeMakeSites.NET | CSS3, HTML5, JavaScript, AJAX and More</title>
	
	<link>http://acidmartin.wordpress.com</link>
	<description>The Fine Art of Web Development</description>
	<lastBuildDate>Wed, 19 Jun 2013 16:29:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain="acidmartin.wordpress.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>WeMakeSites.NET | CSS3, HTML5, JavaScript, AJAX and More</title>
		<link>http://acidmartin.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://acidmartin.wordpress.com/osd.xml" title="WeMakeSites.NET | CSS3, HTML5, JavaScript, AJAX and More" />
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/acidmartin" /><feedburner:info uri="acidmartin" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://acidmartin.wordpress.com/?pushpress=hub" /><item>
		<title>CSS3 Image Reflections Enabler JavaScript Class</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/4886uBVfrOk/</link>
		<comments>http://acidmartin.wordpress.com/2013/05/12/css3-reflections-enabler-javascript-class/#comments</comments>
		<pubDate>Sun, 12 May 2013 07:21:29 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[reflections]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[css reflections]]></category>
		<category><![CDATA[css3 reflections]]></category>
		<category><![CDATA[javascript reflections]]></category>
		<category><![CDATA[js reflections]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2220</guid>
		<description><![CDATA[The AcidJs.Reflections class is an enabler for CSS3 image reflections, written in JavaScript and using jQuery (but can be easily ported to use pure JavaScript). It does not rely on the experimental box-reflect property, but rather on CSS3 transforms and gradients (for IE9 it&#8217;s using the proprietary gradient filter with alpha channel). The class works [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2220&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://experiments.wemakesites.net/reflections.html" target="_blank">AcidJs.Reflections class</a> is an enabler for CSS3 image reflections, written in JavaScript and using jQuery (but can be easily ported to use pure JavaScript). It does not rely on the experimental <em>box-reflect</em> property, but rather on CSS3 transforms and gradients (for IE9 it&#8217;s using the proprietary gradient filter with alpha channel).</p>
<p><a href="http://experiments.wemakesites.net/reflections.html" target="_blank"><img class="alignnone size-full wp-image-2221" alt="reflections" src="http://acidmartin.files.wordpress.com/2013/05/reflections.png?w=500"   /></a></p>
<p>The class works with all major browsers, including Internet Explorer 9 and 10, and does not initialize on older versions. Check the <a href="http://experiments.wemakesites.net/reflections.html" target="_blank">demo and implementation</a> and eventually download it from my <a href="http://experiments.wemakesites.net/" target="_blank">JavaScript, CSS3 and HTML5 experiments website</a>.</p>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://buildercss.wemakesites.net/" target="_blank">Online CSS Merger, Minifier and Obfuscator</a></li>
<li><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">State-of-the-art Ribbonbar Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI Library</a></li>
<li><a href="http://experiments.wemakesites.net/css3-element-reflections.html" target="_blank">CSS3 and SVG Reflections</a></li>
<li><a href="http://experiments.wemakesites.net/" target="_blank">HTML5, CSS3 and JavaScript Experiments and Insight</a></li>
<li><a href="http://acidjs.wemakesites.net/coming-soon.html" target="_blank">Coming Soon &#8211; CSS3 and JavaScript Replacement Page</a></li>
<li><a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank">Progressbar Web UI</a></li>
<li><a href="http://image2base64.wemakesites.net/" target="_blank">Image to Base-64 Data URI Converter</a></li>
<li><a href="http://stickeez.wemakesites.net/" target="_blank">HTML5 Sticky Notes App</a></li>
<li><a href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank">Band Tourdates Scheduler Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/hotel-reservation-form-js.html" target="_blank">Booking System for Online Reservations</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2220&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/4886uBVfrOk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/05/12/css3-reflections-enabler-javascript-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/05/reflections.png" medium="image">
			<media:title type="html">reflections</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/05/12/css3-reflections-enabler-javascript-class/</feedburner:origLink></item>
		<item>
		<title>HTML5 Shopping Cart</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/VcDpnNh3rls/</link>
		<comments>http://acidmartin.wordpress.com/2013/05/06/html5-shopping-cart/#comments</comments>
		<pubDate>Mon, 06 May 2013 12:10:03 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[cart]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[html5 shopping cart]]></category>
		<category><![CDATA[javascript shopping cart]]></category>
		<category><![CDATA[jquery shopping cart]]></category>
		<category><![CDATA[js shopping cart]]></category>
		<category><![CDATA[online shop solution]]></category>
		<category><![CDATA[payment provider api]]></category>
		<category><![CDATA[shopping cart component]]></category>
		<category><![CDATA[shopping cart script]]></category>
		<category><![CDATA[shopping cart ui]]></category>
		<category><![CDATA[shopping cart widget]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2217</guid>
		<description><![CDATA[Yesterday I released my latest project &#8211; HTML5 Cart &#8211; an elegant, platform-independent, powerful, feature-complete and fully customizable shopping cart solution with easy to use API, written entirely in HTML5, JavaScript and CSS3. Enjoy the week! Related State-of-the-art Ribbonbar Web UI Acid.JS Web.UI Library HTML Markup Validator Bookmarklet Progressbar Web UI Image to Base-64 Data [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2217&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Yesterday I released my latest project &#8211; <a href="http://html5-cart.com/" target="_blank">HTML5 Cart</a> &#8211; an elegant, platform-independent, powerful, <a href="http://html5-cart.com/features.html" target="_blank">feature-complete</a> and fully customizable shopping cart solution with easy to use <a href="http://html5-cart.com/documentation.html" target="_blank">API</a>, written entirely in <a href="http://html5-cart.com/demo.html" target="_blank">HTML5</a>, <a href="http://html5-cart.com/demo-different-items-data-file.html" target="_blank">JavaScript</a> and <a href="http://html5-cart.com/demo-cart-mode.html" target="_blank">CSS3</a>.</p>
<p>Enjoy the week!</p>
<p><strong>Related</strong></p>
<ul>
<li><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">State-of-the-art Ribbonbar Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI Library</a></li>
<li><a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Markup Validator Bookmarklet</a></li>
<li><a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank">Progressbar Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/image-to-base-64.html" target="_blank">Image to Base-64 Data URI Converter</a></li>
<li><a href="http://acidjs.wemakesites.net/stickeez.html" target="_blank">HTML5 Sticky Notes App</a></li>
<li><a href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank">Band Tourdates Scheduler Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/hotel-reservation-form-js.html" target="_blank">Booking System for Online Reservations</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2217&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/VcDpnNh3rls" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/05/06/html5-shopping-cart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/05/06/html5-shopping-cart/</feedburner:origLink></item>
		<item>
		<title>Music</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/TnlXsa38x0o/</link>
		<comments>http://acidmartin.wordpress.com/2013/04/15/music/#comments</comments>
		<pubDate>Mon, 15 Apr 2013 20:47:59 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[guitar]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[joe satriani]]></category>
		<category><![CDATA[steve vai]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2203</guid>
		<description><![CDATA[Apart from doing front-end, I also love making music. Never been a pro, but still I love messing with my guitars. So, here are a some of my music endeavors.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2203&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Apart from doing front-end, I also love making music. Never been a pro, but still I love messing with my <a href="http://wemakesites.net/#!/the-guitars" target="_blank">guitars</a>. So, here are a some of my <a href="http://wemakesites.net/#!/the-music" target="_blank">music endeavors</a>.</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2203&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/TnlXsa38x0o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/04/15/music/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/04/15/music/</feedburner:origLink></item>
		<item>
		<title>Saying That Your Website is Under Construction in a Stylish HTML5, CSS3 and JavaScript Fashion</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/E0PyrHLw5-o/</link>
		<comments>http://acidmartin.wordpress.com/2013/04/12/saying-that-your-website-is-under-construction-in-a-stylish-html5css3-and-javascript-manner/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 19:40:28 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[coming-soon]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[coming soon page]]></category>
		<category><![CDATA[replacement page]]></category>
		<category><![CDATA[under construction]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2194</guid>
		<description><![CDATA[My new AcidJs.ComingSoon component is my proposal to say that your website is &#8220;under construction&#8221; in a tasteful fashion. It is stylish and lightweight, fully HTML5/JavaScript/CSS3/AJAX driven, fully customizable, imageless and fun to use. Key features Lightweight and operating entirely on the client. Built with the latest technologies, as your future website will be. Fully [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2194&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>My new <a href="http://acidjs.wemakesites.net/coming-soon.html" target="_blank">AcidJs.ComingSoon</a> component is my proposal to say that your website is &#8220;under construction&#8221; in a tasteful fashion. It is stylish and lightweight, fully HTML5/JavaScript/CSS3/AJAX driven, fully customizable, imageless and fun to use.</p>
<p><a href="http://acidjs.wemakesites.net/coming-soon.html" target="_blank"><img class="alignnone size-full wp-image-2195" alt="coming-soon" src="http://acidmartin.files.wordpress.com/2013/04/coming-soon.gif?w=500"   /></a></p>
<p><strong>Key features</strong></p>
<ul>
<li>Lightweight and operating entirely on the client.</li>
<li>Built with the latest technologies, as your future website will be.</li>
<li>Fully customizable.</li>
<li>Stylish and flexible.</li>
<li>Easy to modify and fun to use.</li>
<li>Your way to say in stylish manner that your website is &#8220;under construction&#8221;.</li>
</ul>
<p>Click <a href="http://acidjs.wemakesites.net/pages/coming-soon/demo/" target="_blank">here to view the demo</a> and you will love it so much, that you will <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=223">download</a> and give it a try immediately.</p>
<p>Enjoy the weekend!</p>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI Library</a></li>
<li><a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Markup Validator Bookmarklet</a></li>
<li><a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank">Progressbar Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/image-to-base-64.html" target="_blank">Image to Base-64 Data URI Converter</a></li>
<li><a href="http://acidjs.wemakesites.net/stickeez.html" target="_blank">HTML5 Sticky Notes App</a></li>
<li><a href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank">Band Tourdates Scheduler Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/hotel-reservation-form-js.html" target="_blank">Booking System for Online Reservations</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2194&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/E0PyrHLw5-o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/04/12/saying-that-your-website-is-under-construction-in-a-stylish-html5css3-and-javascript-manner/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/04/coming-soon.gif" medium="image">
			<media:title type="html">coming-soon</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/04/12/saying-that-your-website-is-under-construction-in-a-stylish-html5css3-and-javascript-manner/</feedburner:origLink></item>
		<item>
		<title>How to Create an Inline Masked File Upload Form with CSS3 and HTML5</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/a4nw1mhEmjc/</link>
		<comments>http://acidmartin.wordpress.com/2013/04/10/how-to-create-an-inline-masked-file-upload-form-with-css3html5/#comments</comments>
		<pubDate>Wed, 10 Apr 2013 17:57:07 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Miscelaneous]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[file input skinning]]></category>
		<category><![CDATA[form styling]]></category>
		<category><![CDATA[input file css]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2175</guid>
		<description><![CDATA[The post for today is not something really special or super amazing. It&#8217;s just a quick and dirty trick that I use when I have to create inline forms for selecting files in which the actual input is hidden, and users click some text node (link, button, etc) that opens the browse for file dialog, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2175&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The post for today is not something really special or super amazing. It&#8217;s just a <a title="How to Create an Inline Masked File Upload Form with CSS3 and HTML5" href="http://experiments.wemakesites.net/css3-inline-file-input.html" target="_blank">quick and dirty trick</a> that I use when I have to create inline forms for selecting files in which the actual input is hidden, and users click some text node (link, button, etc) that opens the <em>browse for file dialog</em>, which I wanted to share with you.</p>
<p><strong>The Markup:</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;css3-inline-file-input&quot;&gt;
    &lt;form action=&quot;./&quot; enctype=&quot;multipart/form-data&quot; method=&quot;post&quot; name=&quot;form-01&quot;&gt;
        &lt;input type=&quot;file&quot; accept=&quot;image/jpg, image/jpeg, image/gif, image/png, image/bmp&quot; name=&quot;form-01-file&quot; /&gt;&lt;span&gt;Choose File&lt;/span&gt;
    &lt;/form&gt;
&lt;/div&gt;
</pre>
<p><strong>The CSS:</strong></p>
<pre class="brush: css; title: ; notranslate">.css3-inline-file-input,
.css3-inline-file-input *
{
    display: inline-block;
}

.css3-inline-file-input *
{
    margin: 0;
    padding: 0;
    border: 0;
}

.css3-inline-file-input form
{
    position: relative;
}

.css3-inline-file-input input
{
    position: absolute;
    right: 0;
    cursor: pointer;

    filter: alpha(opacity=0); /* opacity fix IE6/7/8 */
    -moz-opacity: 0; /* opacity fix for older Firefox */
    -webkit-opacity: 0 /* opacity fix for older Chrome */;
    opacity: 0;
}

.css3-inline-file-input
{
    width: auto;
    vertical-align: top;
    overflow: hidden;
}

.css3-inline-file-input span
{
    display: block;
    text-align: center;
    text-decoration: underline;
}

.css3-inline-file-input input:hover + span
{
    text-decoration: none;
}

/* fixes for IE6/7 */
* html .css3-inline-file-input,
* html .css3-inline-file-input *,
* + html .css3-inline-file-input,
* + html .css3-inline-file-input *
{
    display: inline;
}</pre>
<p>Older versions of Internet Explorer do not fire the <em>onchange </em>event on elements, hidden with CSS <em>display: none</em> or <em>visibility: hidden</em>, but instead an exception is thrown. This is why I used <em>opacity: 0</em> and <em>position: absolute</em> to hide he original input.</p>
<p>You can check the <a title="How to Create an Inline Masked File Upload Form with CSS3 and HTML5" href="http://experiments.wemakesites.net/css3-inline-file-input.html" target="_blank">demo on this page</a>, and in case you find it useful, you can <a title="Download How to Create an Inline Masked File Upload Form with CSS3 and HTML5" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=222">download it here</a>.</p>
<p>Enjoy the rest of the day!</p>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="https://acidmartin.wordpress.com/2009/06/09/the-mystery-of-cfakepath-unveiled/" target="_blank">The Mystery of c:\fakepath Unveiled</a></li>
<li><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">Ribbonbar Web UI Component</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/" target="_blank">HTML5 Resume Generator and Onepager Website</a></li>
<li><a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI Library</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/">Selecting only the first element occurence out of siblings with the same class name with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/">How to Style Select Boxes with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/" target="_blank">CSS3 Gaussian Blur Effect</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/" target="_blank">Fancy CSS3 Tooltips Without JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/" target="_blank">CSS3 Background Image Cropping</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2175&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/a4nw1mhEmjc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/04/10/how-to-create-an-inline-masked-file-upload-form-with-css3html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/04/10/how-to-create-an-inline-masked-file-upload-form-with-css3html5/</feedburner:origLink></item>
		<item>
		<title>I am Back</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/sxn0y0blTo0/</link>
		<comments>http://acidmartin.wordpress.com/2013/04/02/i-am-back/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 21:33:11 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Cool Websites]]></category>
		<category><![CDATA[Miscelaneous]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2158</guid>
		<description><![CDATA[During the past two days my website was down, and none of the supporting websites was working either. The problem is now fixed and I am back. Enjoy and thanks for the patience and support, fellows!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2158&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>During the past two days my <a href="http://wemakesites.net/" target="_blank">website</a> was down, and none of the <a href="http://experiments.wemakesites.net/" target="_blank">supporting</a> <a href="http://acidjs.wemakesites.net/" target="_blank">websites</a> was working either. The problem is now fixed and I am back.</p>
<p><a href="http://wemakesites.net/" target="_blank">Enjoy</a> and thanks for the patience and support, fellows!</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2158&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/sxn0y0blTo0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/04/02/i-am-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/04/02/i-am-back/</feedburner:origLink></item>
		<item>
		<title>HTML5 Resume Generator and Onepager Website</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/nfxtRwU2COw/</link>
		<comments>http://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/#comments</comments>
		<pubDate>Fri, 29 Mar 2013 20:32:31 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Controls]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[html-5-cv]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[css3 resume]]></category>
		<category><![CDATA[cv]]></category>
		<category><![CDATA[html5 resume]]></category>
		<category><![CDATA[javascript resume generator]]></category>
		<category><![CDATA[resume]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2154</guid>
		<description><![CDATA[HTML5.CV is a resume generator and one pager website, with cool modern looks, various customization options and flexible resume data file. You can add any fields (contact details, employment history, education, interests, etc) and define photo. The UI is extremely easy to customize, so if you are acquainted with CSS, just give it a try [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2154&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a title="HTML5 Resume Generator and Onepager Website" href="http://acidjs.wemakesites.net/html-5-cv.html" target="_blank">HTML5.CV</a> is a resume generator and one pager website, with cool modern looks, various customization options and flexible resume data file. You can add any fields (contact details, employment history, education, interests, etc) and define photo.</p>
<p>The UI is extremely easy to customize, so if you are acquainted with CSS, just <a title="HTML5 Resume Generator and Onepager Website" href="http://acidjs.wemakesites.net/html-5-cv.html" target="_blank">give it a try</a> or <a title="Download HTML5 Resume Generator and Onepager Website" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=221" target="_blank">download</a> it straight away.</p>
<p><a title="HTML5 Resume Generator and Onepager Website" href="http://acidjs.wemakesites.net/html-5-cv.html" target="_blank"><img class="alignnone size-full wp-image-2155" alt="html-5-cv" src="http://acidmartin.files.wordpress.com/2013/03/html-5-cv.gif?w=500"   /></a></p>
<p><strong>Key Features</strong></p>
<ul>
<li>Lightweight, modern and loading extremely fast.</li>
<li>CSS3 driven with fallback for older browsers.</li>
<li>Cross-platform JSON data format for the resume.</li>
<li>Support for multiple resume data files.</li>
<li>Operating fully on the client.</li>
<li>Sleek imageless UI, which can be easily modified.</li>
</ul>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI Library</a></li>
<li><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">Ribbonbar Web UI</a></li>
<li><a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Markup Validator Bookmarklet</a></li>
<li><a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank">Progressbar Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/image-to-base-64.html" target="_blank">Image to Base-64 Data URI Converter</a></li>
<li><a href="http://acidjs.wemakesites.net/stickeez.html" target="_blank">HTML5 Sticky Notes App</a></li>
<li><a href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank">Band Tourdates Scheduler Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/hotel-reservation-form-js.html" target="_blank">Booking System for Online Reservations</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/" target="_blank">HTML5 Resume Generator and Onepager Website</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/" target="_blank">CSS3 Driven Slides Viewer Without any JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/">Fully Functional CSS3-only Tabstrip Without JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/">Selecting only the first element occurence out of siblings with the same class name with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/">How to Style Select Boxes with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/" target="_blank">CSS3 Gaussian Blur Effect</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/" target="_blank">Fancy CSS3 Tooltips Without JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/" target="_blank">Imageless Custom Checkboxes and Radio Buttons with CSS3</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2154&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/nfxtRwU2COw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/03/html-5-cv.gif" medium="image">
			<media:title type="html">html-5-cv</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/</feedburner:origLink></item>
		<item>
		<title>Development and Productivity Extensions for Google Chrome</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/BYZXIhpgVug/</link>
		<comments>http://acidmartin.wordpress.com/2013/03/25/development-and-productivity-extensions-for-google-chrome/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 20:46:51 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Base64 Data URI]]></category>
		<category><![CDATA[builder-css]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[css3 animations]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[hasher]]></category>
		<category><![CDATA[hashing]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 File API]]></category>
		<category><![CDATA[image-to-base-64]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[localStorage]]></category>
		<category><![CDATA[message digest]]></category>
		<category><![CDATA[minifier]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[obfuscation]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[organizer]]></category>
		<category><![CDATA[plugins and extensions]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[stickeez]]></category>
		<category><![CDATA[sticky notes]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[validator]]></category>
		<category><![CDATA[w3]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[base-64 data uri]]></category>
		<category><![CDATA[css hacks]]></category>
		<category><![CDATA[css minifier]]></category>
		<category><![CDATA[css optimizer]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[development tools]]></category>
		<category><![CDATA[encryption algorythm]]></category>
		<category><![CDATA[html5 file api]]></category>
		<category><![CDATA[image to base-64]]></category>
		<category><![CDATA[merge files]]></category>
		<category><![CDATA[message digest encryption]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2145</guid>
		<description><![CDATA[If you are looking for cool development and productivity tools, here are a few, created by me, and available as handy Chrome Chrome extensions: Builder.CSS Builder.CSS is a free tool for merging and minifying style sheets into a single file, using some of the coolest HTML5 features like drag and drop of local files and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2145&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>If you are looking for cool development and productivity tools, here are a few, <a href="http://acidjs.wemakesites.net/" target="_blank">created</a> by me, and available as handy Chrome Chrome extensions:</p>
<p><a href="https://chrome.google.com/webstore/detail/buildercss/diikgkiidgjhaclcabelgohjkefkhkal?hl=en-US" target="_blank"><strong>Builder.CSS</strong></a></p>
<p><a href="https://chrome.google.com/webstore/detail/buildercss/diikgkiidgjhaclcabelgohjkefkhkal?hl=en-US" target="_blank">Builder.CSS</a> is a free tool for merging and minifying style sheets into a single file, using some of the coolest HTML5 features like drag and drop of local files and processing them without uploading to the server. I am happy to announce that recently Builder.CSS has evolved to a free online service with tons of improvements, brand-new and amazing interface, drag and drop of local of styleshets from the desktop, predefined projects and much more. Get the <a href="https://chrome.google.com/webstore/detail/buildercss/diikgkiidgjhaclcabelgohjkefkhkal?hl=en-US" target="_blank">Chrome extension</a> or click <a href="http://acidjs.wemakesites.net/builder-css.html" target="_blank">here</a> for more info and demo.</p>
<p><a href="https://chrome.google.com/webstore/detail/buildercss/diikgkiidgjhaclcabelgohjkefkhkal?hl=en-US" target="_blank"><img class="alignnone size-full wp-image-2146" alt="builder-css" src="http://acidmartin.files.wordpress.com/2013/03/builder-css1.gif?w=500"   /></a></p>
<p><a href="https://chrome.google.com/webstore/detail/html-validation-bookmarkl/oieamlegbighmmdnpookgikhckadoeeh?hl=en-US" target="_blank"><strong>W3C Validation Bookmarklet</strong></a></p>
<p><a href="https://chrome.google.com/webstore/detail/html-validation-bookmarkl/oieamlegbighmmdnpookgikhckadoeeh?hl=en-US" target="_blank">Acid.JS Validator</a> is a free bookmarklet that uses the W3C SGML parser&#8217;s API to validate the markup of the page on which it is called. Get the <a href="https://chrome.google.com/webstore/detail/html-validation-bookmarkl/oieamlegbighmmdnpookgikhckadoeeh?hl=en-US" target="_blank">Chrome extension</a> or click <a href="http://acidjs.wemakesites.net/validator.html" target="_blank">here</a> for more info and demo.</p>
<p><a href="https://chrome.google.com/webstore/detail/html-validation-bookmarkl/oieamlegbighmmdnpookgikhckadoeeh?hl=en-US" target="_blank"><img class="alignnone size-full wp-image-2150" alt="validator-valid" src="http://acidmartin.files.wordpress.com/2013/03/validator-valid.png?w=500"   /></a></p>
<p><a href="https://chrome.google.com/webstore/detail/stickeez/gafeaekephefedefcglacmkgfofbnjno?hl=en-US" target="_blank"><strong>Stickeez</strong></a></p>
<p><a href="https://chrome.google.com/webstore/detail/stickeez/gafeaekephefedefcglacmkgfofbnjno?hl=en-US" target="_blank">Stickeez</a> is a sticky notes JavaScript application using the new HTML5 File API, localStorage and CSS3. The data is fully persisted on the client. Stickeez also has an option for importing/exporting data so users can save their notes before cleaning up cookies or import notes to another browser. And finally &#8211; users can choose between 4 types of board styles &#8211; cork, fridge, whiteboard and skulls. Get the <a href="https://chrome.google.com/webstore/detail/stickeez/gafeaekephefedefcglacmkgfofbnjno?hl=en-US" target="_blank">Chrome extension</a> or click <a href="http://acidjs.wemakesites.net/stickeez.html" target="_blank">here</a> for more info and demo.</p>
<p><a href="https://chrome.google.com/webstore/detail/stickeez/gafeaekephefedefcglacmkgfofbnjno?hl=en-US" target="_blank"><img class="alignnone size-full wp-image-2147" alt="stickeez" src="http://acidmartin.files.wordpress.com/2013/03/stickeez.gif?w=500"   /></a></p>
<p><a href="https://chrome.google.com/webstore/detail/image2base64/mnmcaoeigcikpnnebhdfblfmobfekkgl?hl=en-US" target="_blank"><strong>Image to Base-64 Data-URI Encoder</strong></a></p>
<p><a href="https://chrome.google.com/webstore/detail/image2base64/mnmcaoeigcikpnnebhdfblfmobfekkgl?hl=en-US" target="_blank">Image2Base64</a> is an online tool, provided by Acid.JS Web.UI for conversion of image files to base64 data URIs. It implements the new HTML5 file API, and the selected images are processed entirely on the client without uploading them onto the server. Get the <a href="https://chrome.google.com/webstore/detail/image2base64/mnmcaoeigcikpnnebhdfblfmobfekkgl?hl=en-US" target="_blank">Chrome extension</a> or click <a href="http://acidjs.wemakesites.net/image-to-base-64.html" target="_blank">here</a> for more info and demo.</p>
<p><a href="https://chrome.google.com/webstore/detail/image2base64/mnmcaoeigcikpnnebhdfblfmobfekkgl?hl=en-US" target="_blank"><img class="alignnone size-full wp-image-2148" alt="image-to-base-64" src="http://acidmartin.files.wordpress.com/2013/03/image-to-base-64.gif?w=500"   /></a></p>
<p><a href="https://chrome.google.com/webstore/detail/hasher/bjcofkihnccachdlkkfaljgjdaanapme?hl=en-US" target="_blank"><strong>Hasher Message Digest Encoder</strong></a></p>
<p><a href="https://chrome.google.com/webstore/detail/hasher/bjcofkihnccachdlkkfaljgjdaanapme?hl=en-US" target="_blank">Hasher</a> is an online service for creating message digests with a wide range of more than 40 encryption algorithms. Depending on the choice of the user, after the encryption hashes are stored in the browser&#8217;s local storage in convenient JSON format so they can be used or deleted later. Get the <a href="https://chrome.google.com/webstore/detail/hasher/bjcofkihnccachdlkkfaljgjdaanapme?hl=en-US" target="_blank">Chrome extension</a> or click <a href="http://acidjs.wemakesites.net/hasher.html" target="_blank">here</a> for more info and demo.</p>
<p><a href="https://chrome.google.com/webstore/detail/hasher/bjcofkihnccachdlkkfaljgjdaanapme?hl=en-US" target="_blank"><img class="alignnone size-full wp-image-2149" alt="hasher" src="http://acidmartin.files.wordpress.com/2013/03/hasher.gif?w=500"   /></a></p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2145&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/BYZXIhpgVug" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/03/25/development-and-productivity-extensions-for-google-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/03/builder-css1.gif" medium="image">
			<media:title type="html">builder-css</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/03/validator-valid.png" medium="image">
			<media:title type="html">validator-valid</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/03/stickeez.gif" medium="image">
			<media:title type="html">stickeez</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/03/image-to-base-64.gif" medium="image">
			<media:title type="html">image-to-base-64</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/03/hasher.gif" medium="image">
			<media:title type="html">hasher</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/03/25/development-and-productivity-extensions-for-google-chrome/</feedburner:origLink></item>
		<item>
		<title>HTML5 Charts</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/IBu9S4LeiU4/</link>
		<comments>http://acidmartin.wordpress.com/2013/03/19/html5-charts/#comments</comments>
		<pubDate>Tue, 19 Mar 2013 07:08:57 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Charts]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[css3 animations]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[client-side charts]]></category>
		<category><![CDATA[css3 charts]]></category>
		<category><![CDATA[html5 charts]]></category>
		<category><![CDATA[javascript charts]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2140</guid>
		<description><![CDATA[I&#8217;ve just finished another cool HTML5, CSS3 and JavaScript example &#8211; the Charts class. It&#8217;s not canvas, because I don&#8217;t care about canvas &#8211; just good old HTML5 and CSS3 and a bit of JavaScript for processing the charts data. Make sure you check it here and enjoy the day! In case you like it, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2140&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve just finished another cool <a title="Charts demo" href="http://experiments.wemakesites.net/html5-charts.html" target="_blank">HTML5, CSS3 and JavaScript example &#8211; the Charts</a> class. It&#8217;s not canvas, because I don&#8217;t care about canvas &#8211; just good old HTML5 and CSS3 and a bit of JavaScript for processing the charts data. Make sure you check it <a title="Charts demo" href="http://experiments.wemakesites.net/html5-charts.html" target="_blank">here</a> and enjoy the day! In case you like it, you may want to <a title="Download HTML5 Charts" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=220" target="_blank">download</a> it or maybe check other cool <a title="HTML5, CSS3 and JavaScript Experiments" href="http://experiments.wemakesites.net" target="_blank">dev experiments</a>.</p>
<p><a title="Charts demo" href="http://experiments.wemakesites.net/html5-charts.html" target="_blank"><img class="alignnone size-full wp-image-2141" alt="charts" src="http://acidmartin.files.wordpress.com/2013/03/charts.png?w=500"   /></a></p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2140&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/IBu9S4LeiU4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/03/19/html5-charts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/03/charts.png" medium="image">
			<media:title type="html">charts</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/03/19/html5-charts/</feedburner:origLink></item>
		<item>
		<title>HTML5, CSS3 and JavaScript Experiments and Insight Website</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/T7g4nK3Ov1A/</link>
		<comments>http://acidmartin.wordpress.com/2013/03/16/html5-css3-and-javascript-experiments-and-insight-website/#comments</comments>
		<pubDate>Sat, 16 Mar 2013 19:31:45 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Controls]]></category>
		<category><![CDATA[Cool Websites]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[css3 animations]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 File API]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Inheritance]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[localStorage]]></category>
		<category><![CDATA[Lokalizr]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[RESTFul Services]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[tabstrip]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[template engine]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[tooltip]]></category>
		<category><![CDATA[w3]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[WebWorkers]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[oop]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2133</guid>
		<description><![CDATA[I am pleased to announce that I&#8217;ve just finished my latest endeavour &#8211; HTML5, CSS3 and JavaScript Experiments and Insight, and most of the code samples and demos from my blog have been moved there in and new and convenient code-listing and demo form. From now on, each new blog post will be accompanied by [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2133&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I am pleased to announce that I&#8217;ve just finished my latest endeavour &#8211; <a href="http://experiments.wemakesites.net/" target="_blank">HTML5, CSS3 and JavaScript Experiments and Insight</a>, and most of the code samples and demos from my blog have been moved there in and new and convenient code-listing and demo form. From now on, each new blog post will be accompanied by a dedicated page on <a href="http://experiments.wemakesites.net/" target="_blank">that website</a> on which my readers will be able to have a look at the code, run the example and eventually download it.</p>
<p>Enjoy <a href="http://experiments.wemakesites.net/" target="_blank">HTML5, CSS3 and JavaScript Experiments and Insight</a> and have a great rest of the week!</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2133&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/T7g4nK3Ov1A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/03/16/html5-css3-and-javascript-experiments-and-insight-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/03/16/html5-css3-and-javascript-experiments-and-insight-website/</feedburner:origLink></item>
		<item>
		<title>CSS3 Driven Slides Viewer Without any JavaScript</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/SmPpNvACF_c/</link>
		<comments>http://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/#comments</comments>
		<pubDate>Fri, 08 Mar 2013 08:48:35 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[css3 animations]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css presentation]]></category>
		<category><![CDATA[css slides viewer]]></category>
		<category><![CDATA[html slides viewer]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2097</guid>
		<description><![CDATA[This is an experiment, demonstrating that you can create cool slide viewer functionality without a single line of JavaScript, but only by the means of CSS3 and HTML5. Watch this presentation to learn how it&#8217;s done and what makes it so cool. If you don&#8217;t feel like reading, just check the demo or download CSS3 [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2097&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>This is an <a href="http://experiments.wemakesites.net/css3-slides-viewer.html" target="_blank">experiment</a>, demonstrating that you can create cool slide viewer functionality without a single line of JavaScript, but only by the means of CSS3 and HTML5.</p>
<p>Watch this <a href="http://experiments.wemakesites.net/css3-slides-viewer.html" target="_blank">presentation</a> to learn how it&#8217;s done and what makes it so cool. If you don&#8217;t feel like reading, just check the <a href="http://experiments.wemakesites.net/css3-slides-viewer.html" target="_blank">demo</a> or <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=219">download CSS3 Slides Viewer</a> right away.</p>
<p><strong>The HTML:</strong></p>
<p>&#8230;Is a simple <code>&lt;form /&gt;</code> and a radio button list:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div class=&quot;css3-slides-viewer&quot;&gt;
    &lt;form name=&quot;css3-slides-viewer&quot; method=&quot;post&quot; action=&quot;./&quot;&gt;
        &lt;fieldset&gt;
            &lt;legend&gt;CSS3 Slides Viewer&lt;/legend&gt;
            &lt;ul&gt;
                &lt;li&gt;&lt;input type=&quot;radio&quot; name=&quot;css3-slides-viewer-slides&quot; autofocus=&quot;autofocus&quot; id=&quot;slides-00&quot; checked=&quot;checked&quot; /&gt;
                    &lt;label for=&quot;slides-00&quot;&gt;&lt;!-- / --&gt;&lt;/label&gt;
                    &lt;section&gt;
                        &lt;!-- slide content should go here --&gt;
                    &lt;/section&gt;
                &lt;/li&gt;&lt;li&gt;&lt;input type=&quot;radio&quot; name=&quot;css3-slides-viewer-slides&quot; id=&quot;slides-01&quot; /&gt;
                    &lt;label for=&quot;slides-01&quot;&gt;&lt;!-- / --&gt;&lt;/label&gt;
                    &lt;section&gt;
                        &lt;!-- slide content should go here --&gt;
                    &lt;/section&gt;
                &lt;/li&gt;
            &lt;/ul&gt;
        &lt;/fieldset&gt;
    &lt;/form&gt;
&lt;/div&gt;</pre>
<p><strong>The Slides Counter&#8230;</strong></p>
<p>&#8230; Has been implemented via <a href="https://developer.mozilla.org/en-US/docs/CSS/Counters" target="_blank">CSS counters</a>:</p>
<pre class="brush: css; title: ; notranslate">.css3-slides-viewer &gt; form &gt; fieldset &gt; ul &gt; li section::before
{
    counter-increment: slide;
    content: &quot;Slide &quot; counter(slide);
}</pre>
<p><strong>The Fade-in/out Animation&#8230;</strong></p>
<p>&#8230; Is using delayed <a href="https://developer.mozilla.org/en-US/docs/CSS/Tutorials/Using_CSS_transitions" target="_blank">CSS3 transitions</a> and <code>visibility: visible/hidden</code>.</p>
<pre class="brush: css; title: ; notranslate">.css3-slides-viewer &gt; form &gt; fieldset &gt; ul &gt; li &gt; section
{
    transition: all 500ms 10ms ease-in;
}</pre>
<p><strong>Hide/Show Slides</strong></p>
<pre class="brush: css; title: ; notranslate">/* by default slides are hidden */
.css3-slides-viewer &gt; form &gt; fieldset &gt; ul &gt; li &gt; section
{
    visibility: hidden;
}

/* the slide is visible only if it's radio button is selected */
.css3-slides-viewer &gt; form &gt; fieldset &gt; ul &gt; li &gt; input:checked ~ section
{
    visibility: visible;
}</pre>
<p><strong>Supported Browsers</strong></p>
<p>Mozilla Firefox, Google Chrome, Apple Safari, Opera, nternet Explorer 9+</p>
<p>Due to the lack of support for CSS transitions, Internet Explorer 9 does not play the fade-in/out animation, and enabling the keyboard navigation should be done by clicking the buttons on top, because that browser does not support the autofocus=&#8221;autofocus&#8221; property of HTML5.</p>
<p>Check the <a href="http://experiments.wemakesites.net/css3-slides-viewer.html" target="_blank">demo</a> or <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=219">download CSS3 Slides Viewer</a>.</p>
<p>If you like this solution, you can also check my <a href="http://wemakesites.net/" target="_blank">personal wesbite</a>, <a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI</a>, <a href="https://acidmartin.wordpress.com/" target="_blank">my blog</a> or follow me on <a href="https://twitter.com/#%21/wemakesitesnet" target="_blank">Twitter</a>.</p>
<p>Make sure you try my online <a href="http://buildercss.wemakesites.net/" target="_blank">CSS minifier and merger</a> and <a href="http://image2base64.wemakesites.net/" target="_blank">image to base-64 encoder</a>.</p>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/" target="_blank">HTML5 Resume Generator and Onepager Website</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/">Selecting only the first element occurence out of siblings with the same class name with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/">How to Style Select Boxes with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/" target="_blank">CSS3 Gaussian Blur Effect</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/" target="_blank">Fancy CSS3 Tooltips Without JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/" target="_blank">Imageless Custom Checkboxes and Radio Buttons with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/">CSS3 Background Image Cropping</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2097&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/SmPpNvACF_c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/</feedburner:origLink></item>
		<item>
		<title>Builder.CSS – Online CSS Optimizer, Merger and Minifier</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/x_8yx9jIDII/</link>
		<comments>http://acidmartin.wordpress.com/2013/03/04/builder-css-online-css-optimizer-merger-and-minifier/#comments</comments>
		<pubDate>Mon, 04 Mar 2013 19:18:56 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[builder-css]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[css3 animations]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 File API]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[css minifier]]></category>
		<category><![CDATA[css optimization]]></category>
		<category><![CDATA[css optimizer]]></category>
		<category><![CDATA[online css merge]]></category>
		<category><![CDATA[online css minification]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2088</guid>
		<description><![CDATA[I am happy to announce that one of Acid.JS&#8216;s most successful widgets, Builder.CSS has evolved to a free online service with tons of improvements, brand-new and amazing interface, drag and drop of local of styleshets from the desktop, predefined projects and much more. Builder.CSS is a free tool for merging and minifying style sheets into [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2088&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I am happy to announce that one of <a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS</a>&#8216;s most successful widgets, <a href="http://buildercss.wemakesites.net/" target="_blank">Builder.CSS</a> has evolved to a free online service with tons of improvements, brand-new and amazing interface, drag and drop of local of styleshets from the desktop, predefined projects and much more. Builder.CSS is a free tool for merging and minifying style sheets into a single file. You can use it along with our <a href="http://image2base64.wemakesites.net/" target="_blank">Image2Base64 Encoder</a>, <a href="http://wemakesites.pvt/acidjs.wemakesites.net/latest/root/builder-js.html">Builder.JS</a> and <a href="http://wemakesites.pvt/acidjs.wemakesites.net/latest/root/rest-builder.html">RESTBuilder</a> tools.</p>
<p>Just give it a try on it&#8217;s <a href="http://buildercss.wemakesites.net/" target="_blank">new home page</a>. Optionally, it is available for hosting on your own domain &#8211; if you are interested, please, check the <em>Help &amp; About</em> tab of <a href="http://buildercss.wemakesites.net/" target="_blank">Builder.CSS</a>.</p>
<p><a href="http://buildercss.wemakesites.net/" target="_blank"><img class="alignnone size-full wp-image-2092" alt="builder-css" src="http://acidmartin.files.wordpress.com/2013/03/builder-css.gif?w=500"   /></a></p>
<p><strong>Features and Improvements</strong></p>
<ul>
<li>New and cool looks with easy and intuitive UI.</li>
<li>Brand-new optimization routine, crunching your CSS even more at the speed of light.</li>
<li>Support for predefined projects, which can contain the styles of all your websites (self-hosted version only).</li>
<li>Add files from desktop via drag and drop.</li>
<li>View, exclude and remove files from compilation.</li>
<li>Processing is done entirely in the browser.</li>
<li>Option to save the ouput to a file on the server (self-hosted version only).</li>
<li>&#8230; And much more, just <a href="http://buildercss.wemakesites.net/" target="_blank">try it here</a>.</li>
</ul>
<p><strong>Screenshots</strong></p>
<p><strong>Related</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">W3C validation bookmarklet</a></li>
<li><a href="http://image2base64.wemakesites.net/" target="_blank">Online image to base-64 data-uri converter</a></li>
<li><a href="http://hasher.wemakesites.net/" target="_blank">Hasher &#8211; online message digest encoder</a></li>
<li><a href="http://acidjs.wemakesites.net/builder-js.html" target="_blank">Builder.JS &#8211; JavaScript merger, minifier and obfuscator</a></li>
<li><a href="http://stickeez.wemakesites.net/" target="_blank">Stickeez &#8211; an amazing HTML5-driven sticky notes application</a></li>
<li><a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS web components and controls</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2088&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/x_8yx9jIDII" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/03/04/builder-css-online-css-optimizer-merger-and-minifier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/03/builder-css.gif" medium="image">
			<media:title type="html">builder-css</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/03/04/builder-css-online-css-optimizer-merger-and-minifier/</feedburner:origLink></item>
		<item>
		<title>България – чудната страна на свободните медии</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/dYYuMYnhim4/</link>
		<comments>http://acidmartin.wordpress.com/2013/02/21/%d0%b1%d1%8a%d0%bb%d0%b3%d0%b0%d1%80%d0%b8%d1%8f-%d1%87%d1%83%d0%b4%d0%bd%d0%b0%d1%82%d0%b0-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b0-%d0%bd%d0%b0-%d1%81%d0%b2%d0%be%d0%b1%d0%be%d0%b4%d0%bd%d0%b8%d1%82/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 12:30:41 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[България]]></category>
		<category><![CDATA[журналистика]]></category>
		<category><![CDATA[Делян Пеевски]]></category>
		<category><![CDATA[Ирена Кръстева]]></category>
		<category><![CDATA[медии]]></category>
		<category><![CDATA[свобода на словото]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2082</guid>
		<description><![CDATA[За 99% от практикуващите, да си журналист в България не е призвание, а професия, диктувана от конюнктурата. Българският журналист е създание от пластелин – проект на работодателя си (който от своя страна е опекунстван от еди-кой-си политик, бизнесмен или просто мутра), който оформя мисленето на подопечния си, възпитан в културата на покорството и безгръбначието още [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2082&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>За 99% от практикуващите, да си журналист в България не е призвание, а професия, диктувана от конюнктурата.</p>
<p>Българският журналист е създание от пластелин – проект на работодателя си (който от своя страна е опекунстван от еди-кой-си политик, бизнесмен или просто мутра), който оформя мисленето на подопечния си, възпитан в културата на покорството и безгръбначието още в университета. Такива бяха журналистите преди 1989, такива са и сега, 23 години по-късно. Не се е променило и високомерното мълчание, неизбежно давано като отговор на директни въпроси, засягащи самото битие на пластелиненото човече с голямо внушено самочувствие.</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2082&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/dYYuMYnhim4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/02/21/%d0%b1%d1%8a%d0%bb%d0%b3%d0%b0%d1%80%d0%b8%d1%8f-%d1%87%d1%83%d0%b4%d0%bd%d0%b0%d1%82%d0%b0-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b0-%d0%bd%d0%b0-%d1%81%d0%b2%d0%be%d0%b1%d0%be%d0%b4%d0%bd%d0%b8%d1%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/02/21/%d0%b1%d1%8a%d0%bb%d0%b3%d0%b0%d1%80%d0%b8%d1%8f-%d1%87%d1%83%d0%b4%d0%bd%d0%b0%d1%82%d0%b0-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b0-%d0%bd%d0%b0-%d1%81%d0%b2%d0%be%d0%b1%d0%be%d0%b4%d0%bd%d0%b8%d1%82/</feedburner:origLink></item>
		<item>
		<title>Loving my CSS3 Babies</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/qel1EzPjeHc/</link>
		<comments>http://acidmartin.wordpress.com/2013/01/26/loving-my-css3-babies/#comments</comments>
		<pubDate>Sat, 26 Jan 2013 07:28:51 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Controls]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[css3 animations]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Miscelaneous]]></category>
		<category><![CDATA[roundup]]></category>
		<category><![CDATA[tabstrip]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[tooltip]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[crop]]></category>
		<category><![CDATA[css tabs]]></category>
		<category><![CDATA[css tabstrip]]></category>
		<category><![CDATA[css tooltip]]></category>
		<category><![CDATA[css treeview]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[css3 form styling]]></category>
		<category><![CDATA[dropdown]]></category>
		<category><![CDATA[Gaussian blur]]></category>
		<category><![CDATA[treeview]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2069</guid>
		<description><![CDATA[I am not a huge fan of roundups, but this morning, I found that I have a few pretty popular CSS3 posts and decided to put them in a single post which will be updated whenever a new one appears and is worth seeing. How to Create a Fully Functional CSS3-only Treeview How to Create [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2069&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I am not a huge fan of roundups, but this morning, I found that I have a few pretty popular <a href="http://acidmartin.wordpress.com/category/css3/" target="_blank">CSS3</a> posts and decided to put them in a single post which will be updated whenever a new one appears and is worth seeing.</p>
<p><strong>How to Create a Fully Functional CSS3-only Treeview</strong></p>
<p><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/" target="_blank"><img class="alignnone size-full wp-image-2070" alt="css-3-treeview" src="http://acidmartin.files.wordpress.com/2013/01/css-3-treeview.gif?w=500"   /></a></p>
<p><strong>How to Create a Fully Functional CSS3-only Tabstrip without a Single Line of JavaScript</strong></p>
<p><a href="https://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/" target="_blank"><img class="alignnone size-full wp-image-2053" alt="css3-tabstrip" src="http://acidmartin.files.wordpress.com/2013/01/css3-tabstrip.gif?w=500"   /></a></p>
<p><strong>How to Create Semantically Correct Imageless Custom Checkboxes and Radiobuttons with CSS3</strong></p>
<p><a href="https://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/" target="_blank"><img class="alignnone size-full wp-image-1910" alt="css-pages-imageless-css3-custom-checkboxes-and-radio-buttons" src="http://acidmartin.files.wordpress.com/2012/12/css-pages-imageless-css3-custom-checkboxes-and-radio-buttons.png?w=500"   /></a></p>
<p><strong>How to Style HTML Dropdowns with CSS3</strong></p>
<p><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/" target="_blank"><img class="alignnone size-full wp-image-1836" alt="selectbox" src="http://acidmartin.files.wordpress.com/2012/11/selectbox1.png?w=500"   /></a></p>
<p><strong>Creating Crossbrowser CSS3 and SVG Reflections</strong></p>
<p><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/" target="_blank"><img class="alignnone size-full wp-image-1275" alt="css3-element-reflections" src="http://acidmartin.files.wordpress.com/2011/10/css3-element-reflections.png?w=500"   /></a></p>
<p><strong>How to Create iPhone Toggle Buttons with CSS3</strong></p>
<p><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank"><img class="alignnone size-full wp-image-1191" alt="iPhone" src="http://acidmartin.files.wordpress.com/2011/06/iphone.png?w=500"   /></a></p>
<p><strong>How to Achieve Gaussian Blur Effect with CSS3</strong></p>
<p><a href="http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/" target="_blank"><img class="alignnone size-full wp-image-1122" alt="gaussian-02" src="http://acidmartin.files.wordpress.com/2010/12/gaussian-02.gif?w=500&#038;h=300" width="500" height="300" /></a></p>
<p><strong>CSS3 Driven Slides Viewer Without any JavaScript</strong></p>
<p>Just check this amazing <a href="http://demos.wemakesites.net/css3-slides-viewer/" target="_blank">presentation here</a>.</p>
<p><strong>How to Create Fancy Animated Tooltips without any JavaScript</strong></p>
<p><a href="http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/" target="_blank"><img class="alignnone size-full wp-image-1806" alt="Download CSS3 Tooltip" src="http://acidmartin.files.wordpress.com/2012/11/css3-tooltip.png?w=500"   /></a></p>
<p><strong>How to Crop Background Sprite with CSS3</strong></p>
<p><a href="https://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/" target="_blank"><img class="alignnone size-full wp-image-1952" alt="css3-background-image-cropping" src="http://acidmartin.files.wordpress.com/2013/01/css3-background-image-cropping.gif?w=500"   /></a></p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2069&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/qel1EzPjeHc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/01/26/loving-my-css3-babies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/css-3-treeview.gif" medium="image">
			<media:title type="html">css-3-treeview</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/css3-tabstrip.gif" medium="image">
			<media:title type="html">css3-tabstrip</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/12/css-pages-imageless-css3-custom-checkboxes-and-radio-buttons.png" medium="image">
			<media:title type="html">css-pages-imageless-css3-custom-checkboxes-and-radio-buttons</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/selectbox1.png" medium="image">
			<media:title type="html">selectbox</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2011/10/css3-element-reflections.png" medium="image">
			<media:title type="html">css3-element-reflections</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2011/06/iphone.png" medium="image">
			<media:title type="html">iPhone</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2010/12/gaussian-02.gif" medium="image">
			<media:title type="html">gaussian-02</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/css3-tooltip.png" medium="image">
			<media:title type="html">Download CSS3 Tooltip</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/css3-background-image-cropping.gif" medium="image">
			<media:title type="html">css3-background-image-cropping</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/01/26/loving-my-css3-babies/</feedburner:origLink></item>
		<item>
		<title>Fully Functional CSS3-only Tabstrip Without JavaScript</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/BS4qhdcc03w/</link>
		<comments>http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/#comments</comments>
		<pubDate>Fri, 25 Jan 2013 19:03:24 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[form styling]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[css tabs]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[css3 only tabs]]></category>
		<category><![CDATA[css3 tabstrip]]></category>
		<category><![CDATA[tabstrip]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2048</guid>
		<description><![CDATA[The code for today is a fully functional CSS3-only tabstrip, which works without a single line of JavaScript and natively supports keyboard arrow navigation. If you don&#8217;t feel like reading the explanations that follow, you can download the example straight away. The CSS In short &#8211; we have a list with radio buttons, &#60;label /&#62;s [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2048&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The code for today is a fully functional <a href="http://experiments.wemakesites.net/css3-tabstrip.html" target="_blank">CSS3-only tabstrip</a>, which works without a single line of JavaScript and natively supports keyboard arrow navigation. If you don&#8217;t feel like reading the explanations that follow, you can <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=217">download the example</a> straight away.</p>
<p><a href="http://experiments.wemakesites.net/css3-tabstrip.html" target="_blank"><img class="alignnone size-full wp-image-2053" alt="css3-tabstrip" src="http://acidmartin.files.wordpress.com/2013/01/css3-tabstrip.gif?w=500"   /></a></p>
<p><strong>The CSS</strong></p>
<p>In short &#8211; we have a list with radio buttons, &lt;label /&gt;s and &lt;div /&gt;s. We hide each &lt;div /&gt;, which is the content of the tab according to the checked state of the radio button. The &lt;label /&gt; is used as the button of the tab.</p>
<pre class="brush: css; title: ; notranslate">
/*
 * @CSS3 Tabstrip
 * @author Martin Ivanov
 * @website http://wemakesites.net
 * @blog http://acidmartin.wordpress.com/
 * @twitter https://twitter.com/wemakesitesnet
 **/

.css3-tabstrip ul,
.css3-tabstrip li
{
    margin: 0;
    padding: 0;
    list-style: none;
}

.css3-tabstrip,
.css3-tabstrip input[type=&quot;radio&quot;]:checked + label
{
    position: relative;
}

.css3-tabstrip li,
.css3-tabstrip input[type=&quot;radio&quot;] + label
{
    display: inline-block;
}

.css3-tabstrip li &gt; div,
.css3-tabstrip input[type=&quot;radio&quot;]
{
    position: absolute;
}

.css3-tabstrip li &gt; div,
.css3-tabstrip input[type=&quot;radio&quot;] + label
{
    border: solid 1px #ccc;
}

.css3-tabstrip
{
    font: normal 11px Arial, Sans-serif;
    color: #404040;
}

.css3-tabstrip li
{
    vertical-align: top;
}

.css3-tabstrip li:first-child
{
    margin-left: 8px;
}

.css3-tabstrip li &gt; div
{
    top: 33px;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 8px;
    overflow: auto;
    background: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.css3-tabstrip input[type=&quot;radio&quot;] + label
{
    margin: 0 2px 0 0;
    padding: 0 18px;
    line-height: 32px;
    background: #f1f1f1;
    text-align: center;
    border-radius: 5px 5px 0 0;
    cursor: pointer;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

.css3-tabstrip input[type=&quot;radio&quot;]:checked + label
{
    z-index: 1;
    background: #fff;
    border-bottom-color: #fff;
    cursor: default;
}

.css3-tabstrip input[type=&quot;radio&quot;]
{
    opacity: 0;
}

.css3-tabstrip input[type=&quot;radio&quot;] ~ div
{
    display: none;
}

.css3-tabstrip input[type=&quot;radio&quot;]:checked:not(:disabled) ~ div
{
    display: block;
}

.css3-tabstrip input[type=&quot;radio&quot;]:disabled + label
{
    opacity: .5;
    cursor: no-drop;
}
</pre>
<p><strong>The Markup</strong></p>
<p>In the example below, the first tab is selected by default, because the radio button, associated with it has the <em>checked</em> attribute. You can set arbitrary tab to selected by default like that.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;css3-tabstrip&quot;&gt;
    &lt;ul&gt;
        &lt;li&gt;
            &lt;input type=&quot;radio&quot; name=&quot;css3-tabstrip-0&quot; checked=&quot;checked&quot; id=&quot;css3-tabstrip-0-0&quot; /&gt;&lt;label for=&quot;css3-tabstrip-0-0&quot;&gt;Home&lt;/label&gt;
            &lt;div&gt;
                &lt;h3&gt;What is Lorem Ipsum&lt;/h3&gt;
                &lt;p&gt;Lorem Ipsum is simply dummy text of the printing and
                    typesetting industry. Lorem Ipsum has been the industry's
                    standard dummy text ever since the 1500s, when an unknown
                    printer took a galley of type and scrambled it to make a
                    type specimen book. It has survived not only five centuries,
                    but also the leap into electronic typesetting, remaining
                    essentially unchanged. It was popularised in the 1960s
                    with the release of Letraset sheets containing Lorem
                    Ipsum passages, and more recently with desktop publishing
                    software like Aldus PageMaker including
                    versions of Lorem Ipsum.&lt;/p&gt;
            &lt;/div&gt;
        &lt;/li&gt;&lt;li&gt;
            &lt;input type=&quot;radio&quot; name=&quot;css3-tabstrip-0&quot; id=&quot;css3-tabstrip-0-1&quot; /&gt;&lt;label for=&quot;css3-tabstrip-0-1&quot;&gt;About Us&lt;/label&gt;
            &lt;div&gt;
                &lt;h3&gt;Why do we use it?&lt;/h3&gt;
                &lt;p&gt;It is a long established fact that a reader will be distracted
                    by the readable content of a page when looking at its layout.
                    The point of using Lorem Ipsum is that it has a more-or-less
                    normal distribution of letters, as opposed to using 'Content
                    here, content here', making it look like readable English.
                    Many desktop publishing packages and web page editors
                    now use Lorem Ipsum as their default model text, and a
                    search for 'lorem ipsum' will uncover many web sites still
                    in their infancy. Various versions have evolved over the
                    years, sometimes by accident, sometimes on purpose
                    (injected humour and the like).&lt;/p&gt;
            &lt;/div&gt;
        &lt;/li&gt;&lt;li&gt;
            &lt;input type=&quot;radio&quot; name=&quot;css3-tabstrip-0&quot; id=&quot;css3-tabstrip-0-2&quot; /&gt;&lt;label for=&quot;css3-tabstrip-0-2&quot;&gt;Portfolio&lt;/label&gt;
            &lt;div&gt;
                &lt;h3&gt;Where does it come from?&lt;/h3&gt;
                &lt;p&gt;Contrary to popular belief, Lorem Ipsum is not simply
                    random text. It has roots in a piece of classical
                    Latin literature from 45 BC, making it over 2000 years
                    old. Richard McClintock, a Latin professor at Hampden-Sydney
                    College in Virginia, looked up one of the more obscure
                    Latin words, consectetur, from a Lorem Ipsum passage,
                    and going through the cites of the word in classical
                    literature, discovered the undoubtable source. Lorem
                    Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de
                    Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil)
                    by Cicero, written in 45 BC. This book is a treatise on
                    the theory of ethics, very popular during the Renaissance.
                    The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;,
                    comes from a line in section 1.10.32.&lt;/p&gt;
            &lt;/div&gt;
        &lt;/li&gt;&lt;li&gt;
            &lt;input type=&quot;radio&quot; name=&quot;css3-tabstrip-0&quot; id=&quot;css3-tabstrip-0-3&quot; disabled=&quot;disabled&quot; /&gt;&lt;label for=&quot;css3-tabstrip-0-3&quot;&gt;Contact Us&lt;/label&gt;
            &lt;div&gt;
                &lt;h3&gt;Where can I get some?&lt;/h3&gt;
                &lt;p&gt;There are many variations of passages of Lorem Ipsum available,
                    but the majority have suffered alteration in some form,
                    by injected humour, or randomised words which don't look
                    even slightly believable. If you are going to use a
                    passage of Lorem Ipsum, you need to be sure there isn't
                    anything embarrassing hidden in the middle of text. All
                    the Lorem Ipsum generators on the Internet tend to
                    repeat predefined chunks as necessary, making this the
                    first true generator on the Internet. It uses a dictionary
                    of over 200 Latin words, combined with a handful of model
                    sentence structures, to generate Lorem Ipsum which looks
                    reasonable. The generated Lorem Ipsum is therefore
                    always free from repetition, injected humour, or
                    non-characteristic words etc.&lt;/p&gt;
            &lt;/div&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p><strong>Finishing Touches</strong></p>
<p>What&#8217;s left is to set width and height to the tabstrip. This should be done on the outermost element. If you have different tabstrips on the same page, you can use it&#8217;s, secondary classes, etc. In the example page, we have just one tabstrip, so we will use the base class:</p>
<pre class="brush: css; title: ; notranslate">
.css3-tabstrip
{
    width: 440px;
    height: 220px;
}
</pre>
<p><strong>Supported Browsers</strong></p>
<ul>
<li>Mozilla Firefox</li>
<li>Google Chrome</li>
<li>Apple Safari</li>
<li>Opera</li>
<li>Internet Explorer 9 and above</li>
</ul>
<p>If you like this post, maybe you will <a href="https://twitter.com/wemakesitesnet" target="_blank">follow me on Twitter</a> or <a href="http://wemakesites.net/" target="_blank">visit my personal website</a> for other cool stuff. You can also <a href="http://experiments.wemakesites.net/css3-tabstrip.html" target="_blank">try out the demo</a> or <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=217">download the example from this link</a>.</p>
<p>Enjoy the weekend!</p>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/" target="_blank">CSS3 Driven Slides Viewer Without any JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/">Selecting only the first element occurence out of siblings with the same class name with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/">How to Style Select Boxes with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/" target="_blank">CSS3 Gaussian Blur Effect</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/" target="_blank">Fancy CSS3 Tooltips Without JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/" target="_blank">Imageless Custom Checkboxes and Radio Buttons with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/">CSS3 Background Image Cropping</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2048&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/BS4qhdcc03w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/css3-tabstrip.gif" medium="image">
			<media:title type="html">css3-tabstrip</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/</feedburner:origLink></item>
		<item>
		<title>JavaScript HTML Template Engine</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/e90O19APSZY/</link>
		<comments>http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/#comments</comments>
		<pubDate>Thu, 24 Jan 2013 10:01:31 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[pisi]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[template engine]]></category>
		<category><![CDATA[templatr]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[client-side template engine]]></category>
		<category><![CDATA[javascript template engine]]></category>
		<category><![CDATA[javascript templates]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=2022</guid>
		<description><![CDATA[Here&#8217;s a quick, dirty, reliable and library-independent client-side HTML template engine with support for prefetched templates (in a JavaScript object) and a few handy and extensible methods for compiling, adding and removing templates. Please, check the documentation in the source code and the examples at the bottom of this page for usage and more insight. [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2022&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://experiments.wemakesites.net/javascript-html-template-engine.html" target="_blank">Here&#8217;s a quick, dirty, reliable and library-independent client-side HTML template engine</a> with support for prefetched templates (in a JavaScript object) and a few handy and extensible methods for compiling, adding and removing templates. Please, check the documentation in the source code and the examples at the bottom of this page for usage and more insight. You can also <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=216">download</a> the example from <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=216">this link</a>. Or you can <a href="http://experiments.wemakesites.net/javascript-html-template-engine.html" target="_blank">check the demo</a> first.</p>
<p><strong>The <em>Renderer</em> <strong>JavaScript </strong>Class</strong></p>
<pre class="brush: jscript; title: ; notranslate">
/*
 * Renderer
 * HTML Template Engine
 * developer's website: http://wemakesites.net/#!/web-dev
 * developer's twitter: https://twitter.com/#!/wemakesitesnet
 * developer's blog http://acidmartin.wordpress.com/
 **/

(function() {
    &quot;use strict&quot;;

    /*
     * @namespace window.AcidJs
     **/
    if(undefined === window.AcidJs) {
        window.AcidJs = {};
    }

    /*
     * @class Renderer
     * @constructor
     **/
    function Renderer() {}

    Renderer.prototype = {
        /*
         * @member TEMPLATES
         * @public
         * @info key/value storage of templates that will be used
         **/
        TEMPLATES: {
            &quot;list&quot;: '&lt;ul&gt;{{items}}&lt;/ul&gt;',
            &quot;list-item&quot;: '&lt;li&gt;{{contents}}&lt;/li&gt;',
            &quot;names&quot;: '&lt;span&gt;first name: {{firstName}}&lt;/span&gt;&lt;span&gt;last name: {{lastName}}&lt;/span&gt;'
        },

        /*
         * @method compile
         * @public
         * @param name (String) name of the template that will be used
         * @param data (Object) key/value pairs of template placeholders and values that should be replaced against these placeholders
         **/
        compile: function(name, data) {
            var
                html = this.TEMPLATES[name] || &quot;&quot;;

            data = data || {};

            for (var key in data) {
                if (data.hasOwnProperty(key)) {
                    var
                        value = data[key],
                        regexp = new RegExp(&quot;{{&quot; + key + &quot;}}&quot;, &quot;g&quot;);

                    html = html.replace(regexp, value);
                }
            }

            return html;
        },

        /*
         * @method add
         * @public
         * @param name (String)
         * @param html (String)
         * @param callback (Function) [optional]
         **/
        add: function(name, html, callback) {
            if(name &amp;&amp; html) {
                this.TEMPLATES[name] = html;
                if(callback) {
                    callback.call(this);
                }
            }
        },

        /*
         * @method remove
         * @public
         * @param name (String)
         **/
        remove: function(name) {
            if(this.TEMPLATES[name]) {
                delete this.TEMPLATES[name];
            }
        }
    };

    window.AcidJs.Renderer = Renderer;
})();
</pre>
<p><strong>Use Cases and Examples<br />
</strong></p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    // initialize Renderer
    window.templates = new AcidJs.Renderer();

    // compile and render some test template
    window.console.log(window.templates.compile(&quot;names&quot;, {firstName: &quot;Martin&quot;, lastName: &quot;Ivanov&quot;}));

    // add template on the fly
    window.templates.add('date', '&lt;div&gt;{{month}} {{day}} {{year}}&lt;/div&gt;');

    // compile and render the newly added template
    window.console.log(window.templates.compile(&quot;date&quot;, {day: 21, month: &quot;June&quot;, year: 1976}));

    // add template on the fly and compile it immediately (callback is optional)
    window.templates.add('test-2', '&lt;span&gt;&lt;em&gt;{{testValue}}&lt;/em&gt; &lt;strong&gt;{{anotherTestValue}}&lt;/strong&gt;&lt;/span&gt;', function() {
        window.console.log( window.templates.compile(&quot;test-2&quot;, {testValue: &quot;Some value&quot;, anotherTestValue: &quot;Another test value&quot;}) );
    });

    // compile and render templates contents as function
    window.console.log(window.templates.compile(&quot;list&quot;, {items: function() {
            var
                guitars = [&quot;B.C. Rich&quot;, &quot;Jackson&quot;, &quot;ESP&quot;, &quot;Ibanez&quot;, &quot;Gibson&quot;, &quot;Fender&quot;],
                html = [];

            for(var i = 0, len = guitars.length; i &lt; len; i++) {
                var
                    guitar = guitars[i];

                html.push(window.templates.compile(&quot;list-item&quot;, {contents: guitar}));
            }

            html = html.join(&quot;&quot;);

            return html;
    }}));

    // remove the test template
    window.templates.remove(&quot;names&quot;);
})();
</pre>
<p><strong>Supported Browsers</strong></p>
<ul>
<li>Mozilla Firefox</li>
<li>Google Chrome</li>
<li>Apple Safari</li>
<li>Opera</li>
<li>Internet Explorer 6-10</li>
</ul>
<p>Please, follow <a href="https://twitter.com/#!/wemakesitesnet" target="_blank">@wemakesitesnet</a> or check my <a href="http://wemakesites.net/" target="_blank">website</a> for more cool stuff. If you <a href="http://experiments.wemakesites.net/javascript-html-template-engine.html" target="_blank">like this piece of code</a>, you can also <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=216">download</a> it.</p>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">State-of-the-art Ribbonbar Component</a></li>
<li><a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank">Progressbar Component</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier Class</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer Class</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">HTML 5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">WebWorkers JavaScript class</a>.</li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">Classless JavaScript inheritance</a>.</li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript class augmenter</a>.</li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a>.</li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a>.</li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=2022&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/e90O19APSZY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/</feedburner:origLink></item>
		<item>
		<title>HTML Markup Validation Bookmarklet</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/t8YPlaZDfY0/</link>
		<comments>http://acidmartin.wordpress.com/2013/01/21/html-markup-validation-bookmarklet/#comments</comments>
		<pubDate>Sun, 20 Jan 2013 23:01:38 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[validator]]></category>
		<category><![CDATA[w3]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[html validation service]]></category>
		<category><![CDATA[html validator]]></category>
		<category><![CDATA[markup validator]]></category>
		<category><![CDATA[valid html]]></category>
		<category><![CDATA[valid markup]]></category>
		<category><![CDATA[w3c validator]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1994</guid>
		<description><![CDATA[Acid.JS Validator is a free bookmarklet that uses the W3C SGML parser&#8217;s API to validate the markup of the page on which it is called. To start using the bookmarklet, go to this page and follow the instructions. To validate a page, simply click the bookmark and you will be presented with a detailed validation [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1994&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank">Acid.JS Validator</a> is a free bookmarklet that uses the W3C SGML parser&#8217;s API to validate the markup of the page on which it is called. To start using the bookmarklet, go to <a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank">this page</a> and follow the instructions.</p>
<p>To validate a page, simply click the bookmark and you will be presented with a detailed validation report. In you are a chrome user, you can <a href="https://chrome.google.com/webstore/detail/html-validation-bookmarkl/oieamlegbighmmdnpookgikhckadoeeh?hl=en-US" target="_blank">get and install</a> the bookmarklet from <a href="https://chrome.google.com/webstore/detail/html-validation-bookmarkl/oieamlegbighmmdnpookgikhckadoeeh?hl=en-US" target="_blank">Google Web Store</a>.</p>
<p><strong>Screenshots</strong></p>
<p><em>Validation Success</em></p>
<p><a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank"><img class="alignnone size-full wp-image-1997" alt="validator-valid" src="http://acidmartin.files.wordpress.com/2013/01/validator-valid.png?w=500&#038;h=208" width="500" height="208" /></a></p>
<p><em>Validation Failure</em></p>
<p><a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank"><img class="alignnone size-full wp-image-1995" alt="validator-invalid" src="http://acidmartin.files.wordpress.com/2013/01/validator-invalid.png?w=500&#038;h=484" width="500" height="484" /></a></p>
<p><em>Site Cannot be Checked</em></p>
<p><a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank"><img class="alignnone size-full wp-image-1996" alt="validator-uncheckable" src="http://acidmartin.files.wordpress.com/2013/01/validator-uncheckable.png?w=500&#038;h=155" width="500" height="155" /></a></p>
<p><strong>Supported Browsers *</strong></p>
<ul>
<li>Mozilla Firefox</li>
<li>Google Chrome</li>
</ul>
<p><em>* More browsers will be supported soon</em></p>
<p>To get your HTML markup validation <a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank">bookmarklet</a>, go to <a href="http://acidjs.wemakesites.net/validator.html" target="_blank">this page</a> and follow the instructions.</p>
<p><strong>Related</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI Library</a></li>
<li><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">State-of-the-art Ribbonbar Web Component</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank">Progressbar Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/image-to-base-64.html" target="_blank">Image to Base-64 Data URI Converter</a></li>
<li><a href="http://acidjs.wemakesites.net/stickeez.html" target="_blank">HTML5 Sticky Notes App</a></li>
<li><a href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank">Band Tourdates Scheduler Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/hotel-reservation-form-js.html" target="_blank">Booking System for Online Reservations</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1994&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/t8YPlaZDfY0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/01/21/html-markup-validation-bookmarklet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/validator-valid.png" medium="image">
			<media:title type="html">validator-valid</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/validator-invalid.png" medium="image">
			<media:title type="html">validator-invalid</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/validator-uncheckable.png" medium="image">
			<media:title type="html">validator-uncheckable</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/01/21/html-markup-validation-bookmarklet/</feedburner:origLink></item>
		<item>
		<title>Ribbonbar UI Web Component</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/sT5d71PN6Eo/</link>
		<comments>http://acidmartin.wordpress.com/2013/01/16/ribbonbar-ui-web-component/#comments</comments>
		<pubDate>Wed, 16 Jan 2013 08:27:58 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ribbon-bar-xml]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[javascript ribbonbar]]></category>
		<category><![CDATA[js ribbonbar]]></category>
		<category><![CDATA[ribbon bar]]></category>
		<category><![CDATA[ribbon bar ui]]></category>
		<category><![CDATA[ribbonbar]]></category>
		<category><![CDATA[web ui]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1975</guid>
		<description><![CDATA[Ribbonbar UI is by far the best recreation of the “real” desktop ribbonbar for the web. It is skinnable, fully AJAX driven component that is ready to use on any website. What you can you do with a MS Office like ribbon bar in web environment? Whether use it for navigation, associate it with your [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1975&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://acidjs.wemakesites.net/pages/ribbon-bar-xml/demo/" target="_blank">Ribbonbar UI</a> is by far the best recreation of the “real” desktop ribbonbar for the web. It is skinnable, fully AJAX driven component that is ready to use on any website. What you can you do with a MS Office like <a href="http://acidjs.wemakesites.net/pages/ribbon-bar-xml/demo/" target="_blank">ribbon bar in web environment</a>? Whether use it for navigation, associate it with your WYSIWYG editor, use in an email application, display links to your favorite social websites or simply build your entire webpage around it – this depends only on you.</p>
<p><a href="http://acidjs.wemakesites.net/pages/ribbon-bar-xml/demo/" target="_blank"><img class="alignnone size-full wp-image-1980" alt="ribbon-bar-xml" src="http://acidmartin.files.wordpress.com/2013/01/ribbon-bar-xml.gif?w=500"   /></a></p>
<p><a href="http://acidjs.wemakesites.net/pages/ribbon-bar-xml/demo/" target="_blank">Ribbonbar UI</a> has everything you would expect from a ribbonbar – cool looks, comprehensive and easy API, amazing command handling, different sets of inbuilt tools, cool Windows7 skin. And at last, but not least – deploying and configuring it is a matter of minutes.</p>
<p><strong>Key Features</strong></p>
<ul>
<li>By far, the most successful recreation of the &#8220;real&#8221; desktop ribbonbar as a web component.</li>
<li>Comprehensive <a href="http://help.acidjs.wemakesites.net/#!/ribbon-bar-xml" target="_blank">documentation</a> and fun to use <a href="http://help.acidjs.wemakesites.net/#!/ribbon-bar-xml" target="_blank">API</a>.</li>
<li>Easy to modify JSON structures for tabs, ribbons and commands.</li>
<li>Imageless CSS3 skin working with all modern browsers and falling back nicely for older browsers.</li>
<li>4 types of inbuilt tools – &#8220;toolbar&#8221;, &#8220;office menu&#8221;, &#8220;split-button&#8221; and &#8220;external&#8221;.</li>
<li>Ability to load external tools by loading them via AJAX and passing get/post parameters.</li>
<li>Small footprint.</li>
<li>Easy command handling.</li>
<li>Can be used with 3-rd party WYSIWYG editors, as a navigation component, in email systems, etc.</li>
<li>The retrieval for the JSON files can be done with any server runtime (however Ribbonbar is shipped with PHP routine only).</li>
</ul>
<p><strong>Supported Browsers</strong></p>
<ul>
<li>Firefox</li>
<li>Chrome</li>
<li>Safari</li>
<li>Opera</li>
<li>Internet Explorer</li>
</ul>
<p><strong>Screenshots</strong></p>
<p><a href="http://acidjs.wemakesites.net/pages/ribbon-bar-xml/demo/" target="_blank"><img class="alignnone size-full wp-image-1979" alt="ribbonbar-ui-4" src="http://acidmartin.files.wordpress.com/2013/01/ribbonbar-ui-4.png?w=500&#038;h=129" width="500" height="129" /></a></p>
<p><a href="http://acidjs.wemakesites.net/pages/ribbon-bar-xml/demo/" target="_blank"><img class="alignnone size-full wp-image-1978" alt="ribbonbar-ui-3" src="http://acidmartin.files.wordpress.com/2013/01/ribbonbar-ui-3.png?w=500&#038;h=313" width="500" height="313" /></a></p>
<p><a href="http://acidjs.wemakesites.net/pages/ribbon-bar-xml/demo/" target="_blank"><img class="alignnone size-full wp-image-1977" alt="ribbonbar-ui-2" src="http://acidmartin.files.wordpress.com/2013/01/ribbonbar-ui-2.png?w=500&#038;h=256" width="500" height="256" /></a></p>
<p><a href="http://acidjs.wemakesites.net/pages/ribbon-bar-xml/demo/" target="_blank"><img class="alignnone size-full wp-image-1976" alt="ribbonbar-ui-1" src="http://acidmartin.files.wordpress.com/2013/01/ribbonbar-ui-1.png?w=500&#038;h=159" width="500" height="159" /></a></p>
<p><strong>Related</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI Library</a></li>
<li><a title="HTML Markup Validation Bookmarklet" href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Markup Validator Bookmarklet</a></li>
<li><a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank">Progressbar Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/image-to-base-64.html" target="_blank">Image to Base-64 Data URI Converter</a></li>
<li><a href="http://acidjs.wemakesites.net/stickeez.html" target="_blank">HTML5 Sticky Notes App</a></li>
<li><a href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank">Band Tourdates Scheduler Web UI</a></li>
<li><a href="http://acidjs.wemakesites.net/hotel-reservation-form-js.html" target="_blank">Booking System for Online Reservations</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1975&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/sT5d71PN6Eo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/01/16/ribbonbar-ui-web-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/ribbon-bar-xml.gif" medium="image">
			<media:title type="html">ribbon-bar-xml</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/ribbonbar-ui-4.png" medium="image">
			<media:title type="html">ribbonbar-ui-4</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/ribbonbar-ui-3.png" medium="image">
			<media:title type="html">ribbonbar-ui-3</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/ribbonbar-ui-2.png" medium="image">
			<media:title type="html">ribbonbar-ui-2</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/ribbonbar-ui-1.png" medium="image">
			<media:title type="html">ribbonbar-ui-1</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/01/16/ribbonbar-ui-web-component/</feedburner:origLink></item>
		<item>
		<title>CSS3 Background Image Cropping</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/D4Ou25RR99I/</link>
		<comments>http://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/#comments</comments>
		<pubDate>Mon, 07 Jan 2013 15:22:41 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[background image crop in css3]]></category>
		<category><![CDATA[css background image cropping]]></category>
		<category><![CDATA[css3 sprite crop]]></category>
		<category><![CDATA[image crop css3]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1951</guid>
		<description><![CDATA[CSS still does not offer a solution for background image cropping out of the box, so here&#8217;s a technique that makes use of pseudo elements that I use extensively for this purpose. What I basically did &#8211; I created a square 16&#215;16 pixels pseudo element box ::before the content of the element, assigned background image [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1951&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>CSS still does not offer a solution for background image cropping out of the box, so here&#8217;s a technique that makes use of <a href="https://developer.mozilla.org/en-US/docs/CSS/Pseudo-elements" target="_blank">pseudo elements</a> that I use extensively for this purpose. <a href="http://experiments.wemakesites.net/css3-background-image-cropping.html" target="_blank">What I basically did</a> &#8211; I created a square 16&#215;16 pixels pseudo element box <a href="https://developer.mozilla.org/en-US/docs/CSS/::before?redirectlocale=en-US&amp;redirectslug=CSS%2F%3Abefore" target="_blank">::before</a> the content of the element, assigned background image to it, and then, based on features of the <strong>href</strong> atribute of each link, I defined background coordinates, so the correct icon is displayed depending on the file type (extension):</p>
<p><strong>The Markup:</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul class=&quot;css3-background-image-cropping&quot;&gt;
    &lt;li&gt;&lt;a href=&quot;some-file.md&quot;&gt;some-file.md&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;some-file.pdf&quot;&gt;some-file.pdf&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;some-file.txt&quot;&gt;some-file.txt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>
<p><strong>The CSS:</strong></p>
<pre class="brush: css; title: ; notranslate">
:root .css3-background-image-cropping a::before
{
    content: &quot;&quot;;
    display: inline-block;
    vertical-align: middle;
    margin: 0 4px 0 0;
    width: 16px;
    height: 16px;
    background: url(&quot;icons.png&quot;) no-repeat;
}

:root .css3-background-image-cropping a[href$=&quot;.md&quot;]::before
{
    background-position: 0 -64px;
}

:root .css3-background-image-cropping a[href$=&quot;.pdf&quot;]::before
{
    background-position: 0 -80px;
}

:root .css3-background-image-cropping a[href$=&quot;.txt&quot;]::before
{
    background-position: 0 -96px;
}</pre>
<p><strong>The Icons Sprite</strong></p>
<p><img class="alignnone size-full wp-image-1957" alt="icons" src="http://acidmartin.files.wordpress.com/2013/01/icons.png?w=500"   /></p>
<p>And voilà! That&#8217;s the result:</p>
<p><a title="Download the example" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=215"><img class="alignnone size-full wp-image-1952" alt="css3-background-image-cropping" src="http://acidmartin.files.wordpress.com/2013/01/css3-background-image-cropping.gif?w=500"   /></a></p>
<p><strong>The Advantages</strong></p>
<ul>
<li>The texts in the boxes wrap safely and nicely without revealing unwanted regions of the sprite.</li>
<li>The images in the sprite are order- and size-independent.</li>
</ul>
<p><strong>The Disadvantages</strong></p>
<ul>
<li>Works only on CSS3-capable browsers.</li>
</ul>
<p>If you like this post, you can <a href="http://experiments.wemakesites.net/css3-background-image-cropping.html" target="_blank">try the demo</a> or <a title="Download the example" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=215">download</a> the example, follow me on <a href="https://twitter.com/#!/wemakesitesnet" target="_blank">Twitter</a> or <a href="http://acidjs.wemakesites.net/" target="_blank">check my website</a> for more cool stuff! Happy new year!</p>
<p><strong>Relates Posts</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/" target="_blank">HTML5 Resume Generator and Onepager Website</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/" target="_blank">CSS3 Driven Slides Viewer Without any JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/">Fully Functional CSS3-only Tabstrip Without JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/">Selecting only the first element occurence out of siblings with the same class name with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/">How to Style Select Boxes with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/" target="_blank">CSS3 Gaussian Blur Effect</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/" target="_blank">Fancy CSS3 Tooltips Without JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/" target="_blank">Imageless Custom Checkboxes and Radio Buttons with CSS3</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1951&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/D4Ou25RR99I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/icons.png" medium="image">
			<media:title type="html">icons</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2013/01/css3-background-image-cropping.gif" medium="image">
			<media:title type="html">css3-background-image-cropping</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/</feedburner:origLink></item>
		<item>
		<title>2012 in Review</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/KSEoFFO5bIc/</link>
		<comments>http://acidmartin.wordpress.com/2012/12/30/2012-in-review/#comments</comments>
		<pubDate>Sun, 30 Dec 2012 21:52:15 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Annual Review]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1949</guid>
		<description><![CDATA[The WordPress.com stats helper monkeys prepared a 2012 annual report for my blog. Here&#8217;s an excerpt: About 55,000 tourists visit Liechtenstein every year. This blog was viewed about 230,000 times in 2012. If it were Liechtenstein, it would take about 4 years for that many people to see it. Your blog had more visits than [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1949&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The WordPress.com stats helper monkeys prepared a 2012 annual report for my blog.</p>
<p><a href="http://acidmartin.wordpress.com/2012/annual-report/"><img alt="" src="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/2012-emailteaser.png" width="100%" /></a></p>
<p>Here&#8217;s an excerpt:</p>
<blockquote><p>About 55,000 tourists visit Liechtenstein every year. This blog was viewed about <strong>230,000</strong> times in 2012. If it were Liechtenstein, it would take about 4 years for that many people to see it. Your blog had more visits than a small country in Europe!</p></blockquote>
<p><a href="http://acidmartin.wordpress.com/2012/annual-report/">Click here to see the complete report.</a></p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1949&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/KSEoFFO5bIc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/12/30/2012-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/2012-emailteaser.png" medium="image" />
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/12/30/2012-in-review/</feedburner:origLink></item>
		<item>
		<title>Imageless Custom Checkboxes and Radio Buttons with CSS3: Revisited</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/O4bp3XYkBeE/</link>
		<comments>http://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/#comments</comments>
		<pubDate>Fri, 21 Dec 2012 06:49:39 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[form styling]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[css3 checkbox]]></category>
		<category><![CDATA[css3 form elements]]></category>
		<category><![CDATA[css3 form input]]></category>
		<category><![CDATA[css3 form styling]]></category>
		<category><![CDATA[css3 radiobutton]]></category>
		<category><![CDATA[custom checkbox]]></category>
		<category><![CDATA[custom radio button]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1904</guid>
		<description><![CDATA[I&#8217;ve always been interested in techniques for adding custom look and feel to form elements, and through the years I&#8217;ve offered a number of such solutions. In today&#8217;s post I will share my latest insight in check box and radio button styling, which is an improved version of another technique I&#8217;ve offered sometime ago, but [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1904&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve always been interested in techniques for adding <a href="http://experiments.wemakesites.net/custom-css3-checkboxes-and-radios.html" target="_blank">custom look and feel to form elements</a>, and through the years I&#8217;ve offered a number of such <a href="http://acidmartin.wordpress.com/?s=Custom+Checkboxes+and+Radio+Buttons" target="_blank">solutions</a>. In today&#8217;s post I will share my <a href="http://experiments.wemakesites.net/custom-css3-checkboxes-and-radios.htmlhttp://" target="_blank">latest insight</a> in check box and radio button styling, which is an improved version of <a href="http://acidmartin.wordpress.com/2011/06/23/imageless-css-3-custom-checkboxes-and-radio-buttons/" target="_blank">another</a> technique I&#8217;ve offered sometime ago, but this time with a fallback for non-CSS3 browsers and more elegant looks and code.</p>
<p><a title="Download Imageless Custom Checkboxes and Radio Buttons" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=187"><img class="alignnone size-full wp-image-1910" alt="css-pages-imageless-css3-custom-checkboxes-and-radio-buttons" src="http://acidmartin.files.wordpress.com/2012/12/css-pages-imageless-css3-custom-checkboxes-and-radio-buttons.png?w=500"   /></a></p>
<p><strong>The CSS</strong></p>
<p>As you can see, I am using the CSS3 <a href="https://www.google.com/search?q=css3+%3Aroot&amp;ie=utf-8&amp;oe=utf-8&amp;lr=lang_en" target="_blank"><strong>:root</strong></a> element, which is ignored by non-CSS3 browsers, so they will display the normal check boxes and radios. The code listing below contains only official CSS properties, so maybe it&#8217;s a good idea to <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=187">download</a> the cross-browser solution from <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=187">this link</a>.</p>
<pre class="brush: css; title: ; notranslate">:root .css3-radios label,
:root .css3-radios input[type=&quot;radio&quot;] + span,
:root .css3-radios input[type=&quot;radio&quot;] + span::before,
:root .css3-checkboxes label,
:root .css3-checkboxes input[type=&quot;checkbox&quot;] + span,
:root .css3-checkboxes input[type=&quot;checkbox&quot;] + span::before
{
    display: inline-block;
    vertical-align: middle;
}

:root .css3-radios,
:root .css3-checkboxes
{
    position: relative;
}

:root .css3-radios label *,
:root .css3-checkboxes label *
{
    cursor: pointer;
}

:root .css3-radios input[type=&quot;radio&quot;],
:root .css3-checkboxes input[type=&quot;checkbox&quot;]
{
    opacity: 0;
    position: absolute;
}

:root .css3-radios input[type=&quot;radio&quot;] + span,
:root .css3-checkboxes input[type=&quot;checkbox&quot;] + span
{
    font: normal 11px/14px Arial, Sans-serif;
    color: #333;
}

:root .css3-radios label:hover span::before,
:root .css3-checkboxes label:hover span::before
{
    box-shadow: 0 0 2px #ccc;
}

:root .css3-radios label:hover span,
:root .css3-checkboxes label:hover span
{
    color: #000;
}

:root .css3-radios input[type=&quot;radio&quot;] + span::before,
:root .css3-checkboxes input[type=&quot;checkbox&quot;] + span::before
{
    content: &quot;&quot;;
    width: 12px;
    height: 12px;
    margin: 0 4px 0 0;
    border: solid 1px #a8a8a8;
    line-height: 14px;
    text-align: center;
    border-radius: 100%;
    background: #f6f6f6;
    background: radial-gradient(#f6f6f6, #dfdfdf);
}

:root .css3-radios input[type=&quot;radio&quot;]:checked + span::before,
:root .css3-checkboxes input[type=&quot;checkbox&quot;]:checked + span::before
{
    color: #666;
}

:root .css3-radios input[type=&quot;radio&quot;]:disabled + span,
:root .css3-checkboxes input[type=&quot;checkbox&quot;]:disabled + span
{
    cursor: default;
    opacity: .4;
}

:root .css3-checkboxes input[type=&quot;checkbox&quot;] + span::before
{
    border-radius: 2px;
}

:root .css3-radios input[type=&quot;radio&quot;]:checked + span::before
{
    content: &quot;\2022&quot;;
    font-size: 24px;
}

:root .css3-checkboxes input[type=&quot;checkbox&quot;]:checked + span::before
{
    content: &quot;\2714&quot;;
    font-size: 12px;
}</pre>
<p><strong>The Markup</strong></p>
<p>Nothing fancy here, just a regular semantic form without any additional markup, supporting natively keyboard navigation and accessibility intact.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!-- markup for custom radio buttons --&gt;
&lt;ul class=&quot;css3-radios&quot;&gt;
    &lt;li&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; checked=&quot;checked&quot; name=&quot;radios-01&quot; /&gt;&lt;span&gt;checked radio button&lt;/span&gt;&lt;/label&gt;&lt;/li&gt;
    &lt;li&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;radios-01&quot; /&gt;&lt;span&gt;unchecked radio button&lt;/span&gt;&lt;/label&gt;&lt;/li&gt;
    &lt;li&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;radios-01&quot; disabled=&quot;disabled&quot; /&gt;&lt;span&gt;disabled radio button&lt;/span&gt;&lt;/label&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- / markup for custom radio buttons --&gt;
&lt;!-- markup for custom check boxes --&gt;
&lt;ul class=&quot;css3-checkboxes&quot;&gt;
    &lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; checked=&quot;checked&quot; name=&quot;checkbox-01&quot; /&gt;&lt;span&gt;selected checkbox&lt;/span&gt;&lt;/label&gt;&lt;/li&gt;
    &lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;checkbox-02&quot; /&gt;&lt;span&gt;unselected checkbox&lt;/span&gt;&lt;/label&gt;&lt;/li&gt;
    &lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;checkbox-03&quot; disabled=&quot;disabled&quot; /&gt;&lt;span&gt;disabled checkbox&lt;/span&gt;&lt;/label&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- / markup for custom check boxes --&gt;
</pre>
<p><strong>What do you Think?</strong></p>
<p>If you like the solution, you can <a href="http://experiments.wemakesites.net/custom-css3-checkboxes-and-radios.html" target="_blank">try the demo</a> or <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=187">get it from this link</a>. In case you are interested in other stuff I do, you can <a href="https://twitter.com/wemakesitesnet" target="_blank">follow me on Twitter</a>, visit my personal <a href="http://wemakesites.net/" target="_blank">website</a> or check my <a href="http://acidjs.wemakesites.net/" target="_blank">Web UI components</a>.</p>
<p>Have a great weekend!</p>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://html5-cart.com/" target="_blank">HTML5 Shopping Cart</a></li>
<li><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">Ribbonbar Web UI Component</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/" target="_blank">HTML5 Resume Generator and Onepager Website</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/" target="_blank">CSS3 Driven Slides Viewer Without any JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/">Fully Functional CSS3-only Tabstrip Without JavaScript</a></li>
<li><a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI Library</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/">Selecting only the first element occurence out of siblings with the same class name with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/">How to Style Select Boxes with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/" target="_blank">CSS3 Gaussian Blur Effect</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/" target="_blank">Fancy CSS3 Tooltips Without JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/" target="_blank">CSS3 Background Image Cropping</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1904&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/O4bp3XYkBeE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/12/css-pages-imageless-css3-custom-checkboxes-and-radio-buttons.png" medium="image">
			<media:title type="html">css-pages-imageless-css3-custom-checkboxes-and-radio-buttons</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/</feedburner:origLink></item>
		<item>
		<title>New Version of IMDB Fetcher JSON API</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/QaWZglgkW80/</link>
		<comments>http://acidmartin.wordpress.com/2012/12/14/new-version-of-imdb-fetcher/#comments</comments>
		<pubDate>Fri, 14 Dec 2012 08:41:20 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[imdb-fetcher]]></category>
		<category><![CDATA[IMDBFetcher]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[imdb api]]></category>
		<category><![CDATA[imdb api solution]]></category>
		<category><![CDATA[imdb javascript api]]></category>
		<category><![CDATA[imdb screen scraper]]></category>
		<category><![CDATA[imdb web service]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1901</guid>
		<description><![CDATA[I&#8217;ve just released a new version of the IMDB API, which fixes a bug that appeared a few days ago when IMDB made changes to their website. Please, download it from this link, or check this page for more info about the script. The API itself was not changed, but you can still take a [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1901&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve just released a new version of the <a href="http://acidjs.wemakesites.net/imdb-fetcher.html" target="_blank">IMDB API</a>, which fixes a bug that appeared a few days ago when IMDB made changes to their website. Please, <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=203">download it from this link</a>, or check this <a href="http://acidjs.wemakesites.net/imdb-fetcher.html">page for more info</a> about the script. The API itself was not changed, but you can still take a look at the <a href="http://help.acidjs.wemakesites.net/#!/imdb-fetcher" target="_blank">documentation</a>.</p>
<p><a title="See IMDBFecter in action" href="http://acidjs.wemakesites.net/pages/imdb-fetcher/demo/" target="_blank"><img class="alignnone size-full wp-image-1624" alt="imdb-fetcher" src="http://acidmartin.files.wordpress.com/2012/07/imdb-fetcher.gif?w=500"   /></a></p>
<p><strong>About IMDBFetcher</strong></p>
<p><a href="http://acidjs.wemakesites.net/imdb-fetcher.html" target="_blank">IMDBFetcher</a> is an experimental, JavaScript and PHP API for fetching data from <a href="http://www.imdb.com/" target="_blank">IMDB</a> and returning it as a JSON object ready for parsing and rendering on the for the client. The current version of IMDBFetcher supports <strong>title</strong>, <strong>poster</strong>, <strong>release date</strong>, <strong>director(s)</strong>, <strong>actor(s)</strong>, <strong>IMDB and MPAA rating</strong>, <strong>description</strong>, <strong>genre(s)</strong> and <strong>running time</strong>.</p>
<p><a href="https://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">Continue reading here</a>&#8230;</p>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1901&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/QaWZglgkW80" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/12/14/new-version-of-imdb-fetcher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/07/imdb-fetcher.gif" medium="image">
			<media:title type="html">imdb-fetcher</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/12/14/new-version-of-imdb-fetcher/</feedburner:origLink></item>
		<item>
		<title>JavaScript API for TinyURL</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/WZRr0Cen99E/</link>
		<comments>http://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/#comments</comments>
		<pubDate>Thu, 13 Dec 2012 15:18:59 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[javascript api for tinyurl]]></category>
		<category><![CDATA[link shortener javascript]]></category>
		<category><![CDATA[short url api]]></category>
		<category><![CDATA[shortutl js api]]></category>
		<category><![CDATA[tinyurl]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1879</guid>
		<description><![CDATA[Unlike other URL-shortening services, TinyURL provides a public API which works without developer keys or authorization. Here is a tiny JavaScript class which utilizes this service with the help of a few lines of PHP. You can check the demo or download the entire example from this link. You can also define your own shortening [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1879&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Unlike other URL-shortening services, <a title="TinyURL" href="http://tinyurl.com/" target="_blank">TinyURL</a> provides a public API which works without developer keys or authorization. <a href="http://experiments.wemakesites.net/javascript-api-for-tinyurl.html" target="_blank">Here is a <em>tiny</em> JavaScript</a> class which utilizes this service with the help of a few lines of PHP. You can <a href="http://experiments.wemakesites.net/javascript-api-for-tinyurl.html" target="_blank">check the demo</a> or <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=214">download the entire example from this link</a>. You can also define your own shortening services and a key-value of predefined shortened URLs that can be pulled from the internal urls object of class rather than requesting it from the server. Make sure you check the comments in the code for a better insight and more options.</p>
<p><strong>The Shortener JavaScript Class</strong></p>
<pre class="brush: jscript; title: ; notranslate">(function() {
    &quot;use strict&quot;;

    /*
     * @namespace window.AcidJs
     **/
    if(undefined === window.AcidJs) {
        window.AcidJs = {};
    }

    /*
     * @constructor
     * @param urls (Object) set a predefined key-value pairs of urls/shorturls
     * {
     *  &quot;url&quot;: &quot;shorturl&quot;
     * }
     **/
    function Shortener(urls) {
        this.urls = urls || {};
    }

    Shortener.prototype = {
        /*
         * @member APIS (Object)
         * @public
         **/
        APIS: {
            tinyurl: &quot;http://tinyurl.com/api-create.php?url=&quot;
        },

        /*
         * @method get
         * @public
         * @param longUrl (String) URL that should be shortened
         * @param callback (Function) [optional] callback that will be executed after the URL has been processed
         * @param apiToUse (String) [optional] which shortening service should be used (default is &quot;tinyurl&quot;)
         **/
        get: function(longUrl, callback, apiToUse) {
            var
                that = this,
                service = apiToUse ? this.APIS[apiToUse] : this.APIS.tinyurl;

            if(this.urls[longUrl]) {
                if(callback) {
                    callback.call(this, this.urls[longUrl]);
                    return;
                }
            }

            $.when($.ajax({
                    url: &quot;AcidJs.Shortener/php/Shortener.php&quot;,
                    data: &quot;url=&quot; + window.encodeURIComponent(longUrl) +
                        &quot;&amp;service=&quot; + window.encodeURIComponent(service),
                    dataType: &quot;json&quot;
                })).then(function(rsp){
                    that.set(longUrl, rsp[longUrl], callback);
                });
        },

        /*
         * @method set cache the short url in the urls object and reuse it from the DOM storage if requested again
         * @private
         * @param key (String) original expanded URL
         * @param value (String) shortened url
         * @param callback (Function) [optional] execute the callback, if set in the get() method
         **/
        set: function(key, value, callback) {
            this.urls[key] = value;
            if(callback) {
                callback.call(this, this.urls[key]);
            }
        }
    };

    window.AcidJs.Shortener = Shortener;
})();</pre>
<p><strong>Using the Class</strong></p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    var
        config = {
            &quot;http://wemakesites.net&quot;: &quot;http://tinyurl.com/2cv6wrm&quot;,
            &quot;http://acidjs.wemakesites.net/&quot;: &quot;http://tinyurl.com/bonbupy&quot;,
            &quot;http://acidmartin.wordpress.com&quot;: &quot;http://tinyurl.com/clvk2v8&quot;
        };

    window.shortener = new AcidJs.Shortener(config);
    window.shortener.get(&quot;http://stickeez.wemakesites.net&quot;, function(url) {
        window.console.log(url);
    });
})();</pre>
<p><a href="http://experiments.wemakesites.net/javascript-api-for-tinyurl.html" target="_blank">Watch the demo</a> or click <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=214">here to download the Shortener API</a> and enjoy! If you like the script, please, follow <a href="https://twitter.com/wemakesitesnet">@wemakesitesnet</a> on Twitter.</p>
<p><strong>Related Posts:</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validator Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1879&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/WZRr0Cen99E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/</feedburner:origLink></item>
		<item>
		<title>CSS3 Gaussian Blur: Revisited</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/Cz2EpCfvfXU/</link>
		<comments>http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/#comments</comments>
		<pubDate>Sat, 01 Dec 2012 05:55:12 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[css gaussian blur effect]]></category>
		<category><![CDATA[css3 blur]]></category>
		<category><![CDATA[css3 blur effect]]></category>
		<category><![CDATA[gaussian blur css]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1858</guid>
		<description><![CDATA[In case you have used my previous solution for blurring elements with CSS, here&#8217;s a revised and improved version with added support for more elements and enabling it only for CSS3-enabled browsers only: The CSS The HTML Just apply .css3-gaussian-blur class to the element you would like to blur. If you wish to blur the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1858&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In case you have <a href="http://acidmartin.wordpress.com/2010/12/23/creating-a-gaussian-blur-effect-with-css3/" target="_blank">used my previous solution</a> for blurring elements with CSS, <a href="http://experiments.wemakesites.net/css3-gaussian-blur.html" target="_blank">here&#8217;s a revised and improved</a> version with added support for more elements and enabling it only for CSS3-enabled browsers only:</p>
<p><a href="http://experiments.wemakesites.net/css3-gaussian-blur.html" target="_blank"><img class="alignnone size-full wp-image-1122" alt="gaussian-02" src="http://acidmartin.files.wordpress.com/2010/12/gaussian-02.gif?w=500&#038;h=300" width="500" height="300" /></a></p>
<p><strong>The CSS</strong></p>
<pre class="brush: css; title: ; notranslate">
:root .css3-gaussian-blur *
{
    text-shadow: 0 0 10px rgba(0, 0, 0, .5) !important;
    color: transparent !important;
    background-image: none !important;
    border-color: rgba(0, 0, 0, .05) !important;
    /* disable the pointer events for blurred zones */
    -moz-pointer-events: none !important;
    -webkit-pointer-events: none !important;
    pointer-events: none !important;
}

:root .css3-gaussian-blur input,
:root .css3-gaussian-blur textarea,
:root .css3-gaussian-blur button,
:root .css3-gaussian-blur select
{
    box-shadow: 0 0 10px rgba(0, 0, 0, .5) !important;
    border-color: rgba(0, 0, 0, .05) !important;
    resize: none !important;
    opacity: .5 !important;
}

:root .css3-gaussian-blur img,
:root .css3-gaussian-blur input,
:root .css3-gaussian-blur input[type=&quot;file&quot;],
:root .css3-gaussian-blur input[type=&quot;checkbox&quot;],
:root .css3-gaussian-blur input[type=&quot;radio&quot;]
:root .css3-gaussian-blur textarea,
:root .css3-gaussian-blur select
{
    opacity: .2 !important;
    background: transparent none !important;
}

:root .css3-gaussian-blur fieldset
{
    border-color: transparent !important;
}

/* Vendor-specific styles */
/* CSS3 filters are currently supported by Chrome only */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    :root .css3-gaussian-blur img
    {
        -webkit-filter: blur(15px) !important;
        filter: blur(15px) !important;
        opacity: 1 !important; /* restore the opacity for that browser */
    }
}

/* IE&lt;10 styles using the \9 hack */
:root .css3-gaussian-blur img
{
    filter: progid:DXImageTransform.Microsoft.Blur(pixelradius=20)\9 !important; /* IE has native support for filters since version 5.5 */
    -ms-filter: progid:DXImageTransform.Microsoft.Blur(pixelradius=20)\9 !important; /* IE has native support for filters since version 5.5 */
    opacity: 1\9 !important;
}

:root .css3-gaussian-blur *
{
    color: #ccc !important\9;
}</pre>
<p><strong>The HTML</strong></p>
<p>Just apply .css3-gaussian-blur class to the element you would like to blur. If you wish to blur the entire page, add this class to the &lt;body /&gt;tag.</p>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/" target="_blank">HTML5 Resume Generator and Onepager Website</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/" target="_blank">CSS3 Driven Slides Viewer Without any JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/">Fully Functional CSS3-only Tabstrip Without JavaScript</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/">Selecting only the first element occurence out of siblings with the same class name with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/">Imageless CSS3 Custom Checkboxes and Radio Buttons</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/">How to Style Select Boxes with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/" target="_blank">CSS3 Background Image Cropping</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1858&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/Cz2EpCfvfXU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2010/12/gaussian-02.gif" medium="image">
			<media:title type="html">gaussian-02</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/</feedburner:origLink></item>
		<item>
		<title>How to Style Select Boxes with CSS3</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/cisACm8UKG8/</link>
		<comments>http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/#comments</comments>
		<pubDate>Thu, 29 Nov 2012 16:11:28 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[combo box css]]></category>
		<category><![CDATA[css3 combo box]]></category>
		<category><![CDATA[select box replacement]]></category>
		<category><![CDATA[select box styles]]></category>
		<category><![CDATA[selectbox css]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1831</guid>
		<description><![CDATA[It is a truth universally acknowledged (no, I don&#8217;t like Jane Austen) that even with the power of CSS3, select boxes are very hard to style (of course, you can use the CSS3 appearance property, but it is still tricky and buggy, and is best supported only by Chrome). Fortunately, there exist a few tricks [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1831&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><em>It is a truth universally acknowledged</em> (no, I don&#8217;t like <em>Jane Austen</em>) that even with the power of CSS3, select boxes are very hard to style (of course, you can use the CSS3 <a href="https://www.google.com/search?q=css+appearance&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:en-GB:official&amp;client=firefox-a" target="_blank">appearance</a> property, but it is still tricky and buggy, and is best supported only by Chrome). Fortunately, there exist a few tricks that can be used to achieve custom styling. <a href="http://experiments.wemakesites.net/css3-selectbox.html" target="_blank">Here&#8217;s mine</a>, and it does not use any JavaScript, the semantics and the accessibility of the element are preserved, simply because I did not replace the control with custom markup. I just wrapped it in a span.</p>
<p>The code follows, but if you are impatient to <a href="http://experiments.wemakesites.net/css3-selectbox.html" target="_blank">give it a try</a>, you can download it from <a title="Download CSS3 Selectbox" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=213">this link</a>.</p>
<div id="attachment_1836" class="wp-caption alignnone" style="width: 451px"><a href="http://experiments.wemakesites.net/css3-selectbox.html" target="_blank"><img class="size-full wp-image-1836" alt="" src="http://acidmartin.files.wordpress.com/2012/11/selectbox1.png?w=500"   /></a><p class="wp-caption-text">Before and After</p></div>
<p><strong>The Markup</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;span class=&quot;css3-selectbox&quot;&gt;&lt;select&gt;
    &lt;option value=&quot;JavaScript&quot;&gt;JavaScript&lt;/option&gt;
    &lt;option value=&quot;CSS&quot;&gt;CSS&lt;/option&gt;
    &lt;option value=&quot;HTML&quot;&gt;HTML&lt;/option&gt;
&lt;/select&gt;&lt;/span&gt;
</pre>
<p><strong>The CSS</strong></p>
<pre class="brush: css; title: ; notranslate">
:root .css3-selectbox,
:root .css3-selectbox select,
:root .css3-selectbox::after,
:root .css3-selectbox::before {
    display: inline-block;
    vertical-align: top;
    height: 18px;
}

:root .css3-selectbox::after,
:root .css3-selectbox::before {
    content: &quot;&quot;;
    pointer-events: none; /* remove the pointer event of the custom arrow, so the mouse actually clicks the real one */
}

:root .css3-selectbox,
:root .css3-selectbox::after {
    background: #757575;
    background: linear-gradient(#757575, #626262);
}

:root .css3-selectbox select {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font: normal 11px/18px &quot;Segoe UI&quot;, Arial, Sans-serif;
    color: #fff;
    outline: none;
}

:root .css3-selectbox option {
    background: #535353;
}

:root .css3-selectbox {
    border: solid 1px #303030;
    overflow: hidden;
    cursor: pointer;
    border-radius: 3px;
    position: relative;
    box-shadow: 0 0 0 1px #6a6a6a, 0 0 0 1px #919191 inset;
}

/* the custom arrow, achieved with element's border styles */
:root .css3-selectbox::before {
    position: absolute;
    z-index: 1;
    top: 8px;
    right: 4px;
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-top-color: rgba(255, 255, 255, .6);
}

:root .css3-selectbox::after {
    position: relative;
    left: 1px;
    width: 16px;
    margin: 0 0 0 -17px;
    box-shadow: -1px 0 0 1px #919191 inset;
}

:root .css3-selectbox:hover::before {
    border-top-color: #fff;
}</pre>
<p><strong>Related Posts:</strong></p>
<ul>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/" target="_blank">HTML5 Resume Generator and Onepager Website</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/" target="_blank">CSS3 Driven Slides Viewer Without any JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/">Fully Functional CSS3-only Tabstrip Without JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/">Imageless CSS3 Custom Checkboxes and Radio Buttons</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/">Creating Gaussian Blur Effect With CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/" target="_blank">Selecting only the first element occurence out of siblings with the same class name with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/" target="_blank">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/" target="_blank">Fancy CSS3 Toolips (Yeah, Without Any JavaScript)</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/" target="_blank">CSS3 Background Image Cropping</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1831&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/cisACm8UKG8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/selectbox1.png" medium="image" />
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/</feedburner:origLink></item>
		<item>
		<title>Roland GR-20 Guitar Synthesizer with Free Sonuus Guitar to MIDI Converter for Sale!</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/4eQQ1O9cRag/</link>
		<comments>http://acidmartin.wordpress.com/2012/11/26/roland-gr-20-guitar-synthesizer-for-sale/#comments</comments>
		<pubDate>Mon, 26 Nov 2012 13:02:27 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[guitar]]></category>
		<category><![CDATA[guitar effects]]></category>
		<category><![CDATA[guitar synth]]></category>
		<category><![CDATA[guitar synthesizer]]></category>
		<category><![CDATA[roland gr-20]]></category>
		<category><![CDATA[roland gr20]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1815</guid>
		<description><![CDATA[I decided to sell my Roland GR-20 guitar synthesizer, because recently I realized that I am barely using it. The cool thing is that its new owner will get a free Sonuus Guitar to MIDI converter worth of $129USD, so they won&#8217;t have to mount the clumsy GK MIDI pick-up to their guitars. The unit [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1815&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I decided to sell my <a href="http://www.ebay.com/itm/Roland-GR-20-Guitar-Synthesizer-with-Sonuus-Guitar-to-MIDI-Converter-/290821659306?pt=Guitar_Accessories&amp;hash=item43b6525aaa" target="_blank">Roland GR-20 guitar synthesizer</a>, because recently I realized that I am barely using it. The cool thing is that its new owner will get a <strong>free</strong> <a href="http://www.sonuus.com/products_g2m.html" target="_blank">Sonuus Guitar to MIDI</a> converter worth of $<span style="color:#ff0000;"><strong>129</strong></span>USD, so they won&#8217;t have to mount the clumsy GK MIDI pick-up to their guitars. The unit is in <strong>mint</strong> condition, comes with full set of <strong>cables</strong> and <strong>power supply</strong>. You can find <a href="http://www.roland.com/products/en/GR-20/" target="_blank">more information</a> about the synth on Roland&#8217;s official page, here&#8217;s the <a href="https://www.youtube.com/watch?v=hNUHsbdUdx8" target="_blank">promo video</a>, and on <a href="http://wemakesites.net/#!/gallery?data={%22src%22%3A%22images%2Fmusic%2Fguitar-thumbs%2Froland-gr-20.jpg%22%2C%22width%22%3A232%2C%22height%22%3A321%2C%22target%22%3A%22_self%22%2C%22title%22%3A%22Roland%20GR-20%22%2C%22caption%22%3A%22Roland%20GR-20%22%2C%22description%22%3A%22Guitar%20synthesizer%22%2C%22folder%22%3A%22roland-gr-20%22}" target="_blank">this page</a> there are a few photos of my own GR-20. Hurry up, if you wish to get something really cool about your guitar. The price is $<span style="color:#ff0000;"><strong>500</strong></span>USD (the street price for a new item is $<strong>595</strong>USD), you can <a href="http://www.ebay.com/itm/Roland-GR-20-Guitar-Synthesizer-with-Sonuus-Guitar-to-MIDI-Converter-/290821659306?pt=Guitar_Accessories&amp;hash=item43b6525aaa" target="_blank">purchase directly from the eBay listing</a>. Do not forget that you will get a free Sonuus Guitar to MIDI converter!</p>

<a href='http://acidmartin.wordpress.com/2012/11/26/roland-gr-20-guitar-synthesizer-for-sale/image-03-2/' title='image-03'><img data-liked='0' data-reblogged='0' data-attachment-id="1821" data-orig-file="http://acidmartin.files.wordpress.com/2012/11/image-031.jpg" data-orig-size="600,450" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="image-03" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/11/image-031.jpg?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/11/image-031.jpg?w=500" width="150" height="112" src="http://acidmartin.files.wordpress.com/2012/11/image-031.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="image-03" /></a>
<a href='http://acidmartin.wordpress.com/2012/11/26/roland-gr-20-guitar-synthesizer-for-sale/image-04-2/' title='image-04'><img data-liked='0' data-reblogged='0' data-attachment-id="1822" data-orig-file="http://acidmartin.files.wordpress.com/2012/11/image-041.jpg" data-orig-size="600,450" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="image-04" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/11/image-041.jpg?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/11/image-041.jpg?w=500" width="150" height="112" src="http://acidmartin.files.wordpress.com/2012/11/image-041.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="image-04" /></a>
<a href='http://acidmartin.wordpress.com/2012/11/26/roland-gr-20-guitar-synthesizer-for-sale/image-05-2/' title='image-05'><img data-liked='0' data-reblogged='0' data-attachment-id="1823" data-orig-file="http://acidmartin.files.wordpress.com/2012/11/image-051.jpg" data-orig-size="600,450" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="image-05" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/11/image-051.jpg?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/11/image-051.jpg?w=500" width="150" height="112" src="http://acidmartin.files.wordpress.com/2012/11/image-051.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="image-05" /></a>
<a href='http://acidmartin.wordpress.com/2012/11/26/roland-gr-20-guitar-synthesizer-for-sale/image-06-2/' title='image-06'><img data-liked='0' data-reblogged='0' data-attachment-id="1824" data-orig-file="http://acidmartin.files.wordpress.com/2012/11/image-061.jpg" data-orig-size="600,450" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="image-06" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/11/image-061.jpg?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/11/image-061.jpg?w=500" width="150" height="112" src="http://acidmartin.files.wordpress.com/2012/11/image-061.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="image-06" /></a>

<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1815&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/4eQQ1O9cRag" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/11/26/roland-gr-20-guitar-synthesizer-for-sale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/image-031.jpg?w=150" medium="image">
			<media:title type="html">image-03</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/image-041.jpg?w=150" medium="image">
			<media:title type="html">image-04</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/image-051.jpg?w=150" medium="image">
			<media:title type="html">image-05</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/image-061.jpg?w=150" medium="image">
			<media:title type="html">image-06</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/11/26/roland-gr-20-guitar-synthesizer-for-sale/</feedburner:origLink></item>
		<item>
		<title>Fancy CSS3 Tooltips (Yeah, without any JavaScript)</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/2NaHPoUiKRo/</link>
		<comments>http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/#comments</comments>
		<pubDate>Fri, 16 Nov 2012 14:57:04 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[css3 animations]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[tooltip]]></category>
		<category><![CDATA[css3 hint]]></category>
		<category><![CDATA[css3 speech bubble]]></category>
		<category><![CDATA[css3 tooltip]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1802</guid>
		<description><![CDATA[Here&#8217;s a cool code snippet just before the weekend &#8211; purely CSS3-driven tooltips. The code below is pretty self-explanatory, so just a few clarifications. The motivation to use both visibility: hidden and opacity: o &#8211; I did it in order to prevent pointer events that will display the tooltip before the mouse actually starts hovering [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1802&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://experiments.wemakesites.net/fancy-css3-tooltips.html" target="_blank">Here&#8217;s a cool code snippet</a> just before the weekend &#8211; purely CSS3-driven tooltips. The code below is pretty self-explanatory, so just a few clarifications.</p>
<p><a href="http://experiments.wemakesites.net/fancy-css3-tooltips.html" target="_blank"><img class="alignnone size-full wp-image-1806" title="Download CSS3 Tooltip" alt="" src="http://acidmartin.files.wordpress.com/2012/11/css3-tooltip.png?w=500"   /></a></p>
<p>The motivation to use both visibility: hidden and opacity: o &#8211; I did it in order to prevent pointer events that will display the tooltip before the mouse actually starts hovering the element. The 50ms delay of the transition is there in order to circumvent and make the animation possible after applying visibility: visible. Finally &#8211; currently, the only browser that can play consistent transitions in Firefox, so the other browsers will display the tooltip without the fancy animation. If you like the solution, you can <a href="http://experiments.wemakesites.net/fancy-css3-tooltips.html" target="_blank">check the demo</a> or <a title="Download CSS3 Tooltip" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=212">download it from here</a>&#8230; and maybe<a title="Follow me on Twitter" href="https://twitter.com/wemakesitesnet" target="_blank"> follow me on Twitter</a> for more cool stuff.</p>
<p><strong>The CSS:</strong></p>
<pre class="brush: css; title: ; notranslate">
/* apply to elements, containing a data-title attribute */
[data-title] {
    position: relative;
    padding: 0;
}

[data-title]::before,
[data-title]::after {
    position: absolute;
    left: 50%;
    z-index: 5;
    opacity: 0;
    visibility: hidden;
    background: #000;
    box-shadow: 0 0 2px 1px rgba(0, 0, 0, .8);

    -moz-transition: opacity 200ms 50ms linear;
    -webkit-transition: opacity 200ms 50ms linear;
    -ms-transition: opacity 200ms 50ms linear;
    -o-transition: opacity 200ms 50ms linear;
    transition: opacity 200ms 50ms linear;
}

[data-title]:hover::before,
[data-title]:hover::after {
    opacity: 1;
    visibility: visible;
}

/* the tooltip */
[data-title]::before {
    content: attr(data-title);
    width: 120px;
    padding: 4px;
    margin: 30px 0 0 -68px;
    font: normal 11px/16px Arial, Sans-serif;
    color: #fff;
    cursor: default;
    border-radius: 4px;
}

/* the pointer */
[data-title]::after {
    content: &quot;&quot;;
    width: 8px;
    height: 8px;
    margin: 26px 0 0 -6px;

    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}</pre>
<p><strong>Usage&#8230; It&#8217;s Easy:<br />
</strong></p>
<p>Just apply data-attrbiute with some text to the elements that should display the tooltip, for example:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;http://stickeez.wemakesites.net&quot; target=&quot;_blank&quot; data-title=&quot;Sticky notes app using the new HTML5 File API, blob and local storage&quot;&gt;Sticky Notes App&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://image2base64.wemakesites.net&quot; data-title=&quot;Image to Base64 Converter Using the new HTML5 File API&quot;&gt;Image to Base-64 Data-URI Converter&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://hasher.wemakesites.net/&quot; data-title=&quot;Hasher uses 40+ encryption algorithms to create encrypted message digests online&quot;&gt;Message Digest Encrypter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>That&#8217;s it! Enjoy the weekend!</p>
<p><strong>Related Posts:</strong></p>
<ul>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/" target="_blank">HTML5 Resume Generator and Onepager Website</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/08/css3-driven-slides-viewer-without-any-javascript/" target="_blank">CSS3 Driven Slides Viewer Without any JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/">Fully Functional CSS3-only Tabstrip Without JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/">Imageless CSS3 Custom Checkboxes and Radio Buttons</a></li>
<li><a href="http://acidmartin.wordpress.com/2010/12/23/creating-a-gaussian-blur-effect-with-css3/">Creating Gaussian Blur Effect With CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/" target="_blank">Selecting only the first element occurence out of siblings with the same class name with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/" target="_blank">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/">How to Style Select Boxes with CSS3</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/" target="_blank">CSS3 Background Image Cropping</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1802&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/2NaHPoUiKRo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/css3-tooltip.png" medium="image">
			<media:title type="html">Download CSS3 Tooltip</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/</feedburner:origLink></item>
		<item>
		<title>Progressbar .JS 2.0 is Out!</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/KdbS6t2Jrzk/</link>
		<comments>http://acidmartin.wordpress.com/2012/11/12/progressbar-js-2-0-is-out/#comments</comments>
		<pubDate>Sun, 11 Nov 2012 23:01:31 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[progressbar-js]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[ajax progress bar]]></category>
		<category><![CDATA[css3 progressbar]]></category>
		<category><![CDATA[javascript progressbar]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1797</guid>
		<description><![CDATA[I am happy to announce that the new version of my progress bar component has been released yesterday! Progressbar.JS is a lightweight, multipurpose, platform-independent JavaScript and CSS3 driven component that will enhance the usabiliy of your web applications. The possible use cases are unlimited &#8211; from the classic loading indicator displayed during AJAX calls through [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1797&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I am happy to announce that the new version of my <a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank">progress bar component</a> has been released yesterday!</p>
<p><a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank"><img class="alignnone size-full wp-image-1798" title="Progressbar.JS" alt="" src="http://acidmartin.files.wordpress.com/2012/11/progressbar-js.gif?w=500"   /></a></p>
<p><a href="http://acidjs.wemakesites.net/progressbar-js.html" target="_blank">Progressbar.JS</a> is a lightweight, multipurpose, platform-independent JavaScript and CSS3 driven component that will enhance the usabiliy of your web applications. The possible use cases are unlimited &#8211; from the classic loading indicator displayed during AJAX calls through form validation to complex wizard-like interfaces &#8211; it all depends on you.</p>
<p>It is flexible, easy to install and fully customizable featuring rich client API, custom events and imageless purely CSS3-driven skins and cool animations.</p>
<p><strong>What&#8217;s New:</strong></p>
<ul>
<li>Improved and richer client API</li>
<li>Improved rendering and smaller footprint</li>
<li>New skins</li>
</ul>
<p><strong>Related:</strong></p>
<ul>
<li><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">Ribbonbar.UI Component</a></li>
<li><a href="http://acidjs.wemakesites.net/split-button-xml.html" target="_blank">SplitButton.JS Component</a></li>
<li><a href="http://acidjs.wemakesites.net/tabstrip-xml.html" target="_blank">Tabstrip Component</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1797&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/KdbS6t2Jrzk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/11/12/progressbar-js-2-0-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/progressbar-js.gif" medium="image">
			<media:title type="html">Progressbar.JS</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/11/12/progressbar-js-2-0-is-out/</feedburner:origLink></item>
		<item>
		<title>Hasher – Online Message Digest Encryper</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/hd8PF01sC1M/</link>
		<comments>http://acidmartin.wordpress.com/2012/11/10/hasher-the-online-message-digest-encryper/#comments</comments>
		<pubDate>Sat, 10 Nov 2012 07:40:24 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[encryption]]></category>
		<category><![CDATA[hasher]]></category>
		<category><![CDATA[hashing]]></category>
		<category><![CDATA[message digest]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[MS]]></category>
		<category><![CDATA[sha]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1789</guid>
		<description><![CDATA[Hasher is an online service for creating message digests with a wide range of more than 40 encryption algorithms. Depending on the choice of the user, after the encryption hashes are stored in the browser&#8217;s local storage in convenient JSON format so they can be used or deleted later. If you are a chrome user, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1789&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a title="Go to Hasher" href="http://hasher.wemakesites.net/" target="_blank">Hasher is an online service</a> for creating <a title="Cryptographic hash functions" href="http://en.wikipedia.org/wiki/Cryptographic_hash_function" target="_blank">message digests</a> with a wide range of more than 40 encryption algorithms.</p>
<p>Depending on the choice of the user, after the encryption hashes are stored in the browser&#8217;s local storage in convenient JSON format so they can be used or deleted later. If you are a chrome user, you may use <a title="Install Hasher as a Chrome App" href="https://chrome.google.com/webstore/detail/hasher/bjcofkihnccachdlkkfaljgjdaanapme?hl=en-US" target="_blank">Hasher as Chrome App</a>.</p>
<p><a title="Go to hasher and start using it!" href="http://hasher.wemakesites.net/" target="_blank"><img class="alignnone size-full wp-image-1790" title="hasher" alt="" src="http://acidmartin.files.wordpress.com/2012/11/hasher.gif?w=500"   /></a></p>
<p><strong>Related Posts</strong></p>
<ul>
<li><a title="Online Image to Base 64 Data URI Converter" href="http://image2base64.wemakesites.net/" target="_blank">Online Image to Base-64 Data URI Converter</a></li>
<li><a title="Stickeez - HTML5 Sticky Notes Application" href="http://stickeez.wemakesites.net/" target="_blank">Stickeez &#8211; HTML5 Sticky Notes Application</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1789&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/hd8PF01sC1M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/11/10/hasher-the-online-message-digest-encryper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/11/hasher.gif" medium="image">
			<media:title type="html">hasher</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/11/10/hasher-the-online-message-digest-encryper/</feedburner:origLink></item>
		<item>
		<title>Selecting only the first element occurrence out of siblings with the same class name with CSS3</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/oNgqY8CDiG0/</link>
		<comments>http://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/#comments</comments>
		<pubDate>Thu, 08 Nov 2012 11:02:45 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[sibling selector]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1778</guid>
		<description><![CDATA[Imagine you have the following markup&#8230; &#8230; And you need to apply special styles only to the first occurence of the .selected class. CSS3 has a lot of possibilities for selecting elements, but it does not provide solution for this case. So, when :nth-of-type(), :first-of-type, nth-child() and :first-child do not work, you can use this [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1778&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Imagine you have the following markup&#8230;</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul&gt;
    &lt;li&gt;item 0&lt;/li&gt;
    &lt;li&gt;item 1&lt;/li&gt;
    &lt;li class=&quot;marked&quot;&gt;item 2&lt;/li&gt;
    &lt;li class=&quot;marked&quot;&gt;item 3&lt;/li&gt;
    &lt;li class=&quot;marked&quot;&gt;item 4&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>&#8230; And you need to apply special styles only to the first occurence of the .selected class. CSS3 has a lot of possibilities for selecting elements, but it does not provide solution for this case. So, when <em>:nth-of-type()</em>, <em>:first-of-type</em>, <em>nth-child()</em> and <em>:first-child</em> do not work, you can use this one:</p>
<pre class="brush: css; title: ; notranslate">
/* select any .marked element */
.marked {
    color: #f00;
}

/* override all .marked elements but the first using the sibling selector */
.marked ~ .marked {
    color: #000;
}
</pre>
<p><strong>Related Posts</strong></p>
<ul>
<li><a href="http://acidmartin.wordpress.com/2011/09/26/css3-treevew-no-javascript/">CSS3 Treeview. No JavaScript.</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/03/29/html5-resume-generator-and-onepager-website/" target="_blank">HTML5 Resume Generator and Onepager Website</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/25/fully-functional-css3-only-tabstrip-without-javascript/">Fully Functional CSS3-only Tabstrip Without JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/12/21/imageless-custom-checkboxes-and-radio-buttons-with-css3-revisited/">Imageless CSS3 Custom Checkboxes and Radio Buttons</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/12/01/css3-gaussian-blur-revisited/" target="_blank">Creating Gaussian Blur Effect With CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/11/16/fancy-css3-tooltips-yeah-without-any-javascript/">Fancy CSS3 Tooltips (Yeah, without any JavaScript)</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/11/29/how-to-style-select-boxes-with-css3/">How to Style Select Boxes with CSS3</a></li>
<li><a href="https://acidmartin.wordpress.com/2011/10/13/css3-element-reflections/">CSS3 Element Reflections</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/06/18/css3-iphone-toggle-buttons/" target="_blank">CSS3 iPhone Toggle Buttons</a></li>
<li><a href="https://acidmartin.wordpress.com/2013/01/07/css3-background-image-cropping/" target="_blank">CSS3 Background Image Cropping</a></li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1778&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/oNgqY8CDiG0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/11/08/selecting-only-the-first-element-occurence-out-of-siblings-with-the-same-class-name-with-css3/</feedburner:origLink></item>
		<item>
		<title>JavaScript Class Augmenter</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/woEurlSuFnk/</link>
		<comments>http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/#comments</comments>
		<pubDate>Tue, 30 Oct 2012 07:44:26 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Inheritance]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[javascript class augmentation]]></category>
		<category><![CDATA[javascript inheritance]]></category>
		<category><![CDATA[oo javascript]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1757</guid>
		<description><![CDATA[Following my yesterday&#8217;s post about JavaScript inheritance without constructors, here&#8217;s another small class that exposes an easy to use API for inheritance and class augmentation. Below is the source code of the class, and the use cases are included in the distribution. Related Posts JavaScript Mapper Class for RESTFul Methods HTML Validation Bookmarklet JavaScript Template [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1757&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Following my yesterday&#8217;s post about <a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript inheritance without constructors</a>, here&#8217;s another <a href="http://experiments.wemakesites.net/javascript-class-augmenter.html" target="_blank">small class that exposes an easy to use API</a> for inheritance and class augmentation. Below is the source code of the class, and the <a href="http://experiments.wemakesites.net/javascript-class-augmenter.html" target="_blank">use cases</a> are included in the <a title="Download AcidJs.Augmenter" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=209">distribution</a>.</p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    &quot;use strict&quot;;

   /*
    * @namespace AcidJs
    **/
    if(undefined === window.AcidJs) {
        window.AcidJs = {};
    }

   /*
    * @class Augmenter
    * @constructor
    **/
    function Augmenter() {}

    Augmenter.prototype = {

       /*
        * @method methods Inherit methods from one class to another
        * @pulic
        * @param superclass {Class}
        * @param subclass {Class}
        * @param members {Array} [optional] Array of methods that should be inherited. If not set, all superclass methods will be copied to the subclass
        **/
        methods: function(superclass, subclass, members) {
            var
                member;

            if(members) {
                for(var i = 0; i &lt; members.length; i ++) {
                    member = members[i];

                    if(superclass.prototype.hasOwnProperty(member)) {
                        subclass.prototype[member] = superclass.prototype[member];
                    }
                }
            } else {
                for(member in superclass.prototype) {
                    if(superclass.prototype.hasOwnProperty(member)) {
                        subclass.prototype[member] = superclass.prototype[member];
                    }
                }
            }
        },

       /*
        * @properties properties Inherit properties from one class to another
        * @pulic
        * @param superclass {Class}
        * @param subclass {Class}
        * @param properties {Array} [optional] Array of properties that should be inherited. If not set all superclass properties will be copied to the subclass
        **/
        properties: function(superclass, subclass, properties) {
            if(properties) {
                for(var i = 0; i &lt; properties.length; i ++) {
                    if(superclass.hasOwnProperty(properties[i])) {
                        subclass[properties[i]] = superclass[properties[i]];
                    }
                }
            } else {
                   for(var property in superclass) {
                       if(superclass.hasOwnProperty(property)) {
                           subclass[property] = superclass[property];
                       }
                   }
            }
        }
    };

    window.AcidJs.Augmenter = Augmenter;
})();</pre>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1757&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/woEurlSuFnk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/</feedburner:origLink></item>
		<item>
		<title>JavaScript Inheritance Without Constructors</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/MvuqoXMXBEQ/</link>
		<comments>http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/#comments</comments>
		<pubDate>Mon, 29 Oct 2012 20:13:14 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Inheritance]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[extending javascript objects]]></category>
		<category><![CDATA[inheritance]]></category>
		<category><![CDATA[oo javascript]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1745</guid>
		<description><![CDATA[Here&#8217;s a cool way for extending JavaScript objects without using constructors and &#8220;classes&#8221;, but simple literals/singletons, representing Base and Subclass objects: Related Posts JavaScript Mapper Class for RESTFul Methods HTML Validation Bookmarklet JavaScript Template Engine XML to JSON JavaScript Objectifier URI to JSON Serializer IMDB Fetcher – Experimental IMDB JavaScript and PHP API Quick and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1745&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s a <a title="Demo" href="http://experiments.wemakesites.net/javascript-inheritance-without-constructors.html" target="_blank">cool way</a> for extending JavaScript objects without using <a title="JavaScript class augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">constructors and &#8220;classes&#8221;</a>, but simple literals/singletons, representing Base and Subclass objects:</p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    &quot;use strict&quot;;

    // the extend function
    function extend(superclass, subclass) {
        for(var key in superclass) {
            if(superclass.hasOwnProperty(key)) {
                subclass[key] = superclass[key];
            }
        }
    }

    // Base object
    var
        Base = {
            props: {
                firstName: &quot;Martin&quot;,
                lastName: &quot;Ivanov&quot;,
                web: {
                    site: &quot;http://wemakesites.net&quot;,
                    blog: &quot;http://acidmartin.wordpress.com/&quot;,
                    ui: &quot;http://acidmartin.wordpress.com/&quot;,
                    twitter: &quot;https://twitter.com/#!/wemakesitesnet&quot;
                }
            },
            init: function() {
                window.console.log(&quot;&gt;&gt;&gt; Base.init()&quot;);
            },
            getProperties: function() {
                return this.props;
            }
        };

    // directly call Base method if required
    Base.init();

    // inheriting object with some default methods
    var
        Subclass = {
            ownMethod: function() {
                window.console.log(&quot;&gt;&gt;&gt; Subclass.ownMethod()&quot;);
            }
        };

    // extend the Subclass with properties from the Base object
    extend(Base, Subclass);

    // call some methods from the Subclass
    Subclass.init();
    Subclass.ownMethod();
    window.console.log(Subclass.getProperties());
})();
</pre>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1745&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/MvuqoXMXBEQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/</feedburner:origLink></item>
		<item>
		<title>JavaScript Wrapper for the HTML5 WebWorkers API</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/J8uL7P1CCVE/</link>
		<comments>http://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/#comments</comments>
		<pubDate>Thu, 18 Oct 2012 12:45:33 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[WebWorkers]]></category>
		<category><![CDATA[html5 api]]></category>
		<category><![CDATA[javascript threading]]></category>
		<category><![CDATA[web workers]]></category>
		<category><![CDATA[webworkers]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1729</guid>
		<description><![CDATA[According to the WHATWG specifications, Web Workers allow for concurrent execution of the browser threads and one or more JavaScript threads running in the background. The browser which follows a single thread of execution will have to wait on JavaScript programs to finish executing before proceeding and this may take significant time which the programmer [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1729&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>According to the <a href="http://www.whatwg.org/" target="_blank">WHATWG</a> specifications, <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/#auto-toc-9" target="_blank">Web Workers</a> allow for concurrent execution of the browser threads and one or more JavaScript threads running in the background. The browser which follows a single thread of execution will have to wait on JavaScript programs to finish executing before proceeding and this may take significant time which the programmer may like to hide from the user. It allows for the browser to continue with normal operation while running in the background.</p>
<p><a href="http://experiments.wemakesites.net/javascript-wrapper-for-the-html5-webworkers-api.html" target="_blank">Here&#8217;s a tiny JavaScript class</a> for easy usage of the Workers API of HTML5. As of October 2012 Workers are supported by Firefox, Chrome, Opera, Safari and Internet Explorer 10. On older versions of IE, the class will not initialize.</p>
<p>When you <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=207">download</a> the class, please, make sure you check the comments in the script file to learn how to use the class.</p>
<p>So&#8230; Here we go:</p>
<p><strong>The AcidJs.WebWorkers Class</strong></p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    &quot;use strict&quot;;

    /*
     * @namespace AcidJs
    **/
    if(undefined === window.AcidJs) {
        window.AcidJs = {};
    }

   /*
    * @class WebWorkers
    * @constructor
    * @author Martin Ivanov http://acidjs.wemakesites.net
    **/
    function WebWorkers() {
        if(typeof(window.Worker) === &quot;undefined&quot;) {
            var
                fn = (function(){});

            for(var o in this) {
                if(Object.hasOwnProperty(o)) {
                    this[o] = fn;
                }
            }
        }
    }

    WebWorkers.prototype = {

       /*
        * @method create Create new WebWorker
        * @public
        * @param config {Object}
        * {
        *  name: {String},
        *  script: {URL},
        *  onMessage: {Function},
        * }
        **/
        create: function(config) {
            var
                name = config.name,
                script = config.script,
                onmessage = config.onMessage;

            if(undefined === config || undefined !== this[name]) {
                return;
            }

            this[name] = new Worker(script);
            this._bind(name, onmessage);
        },

       /*
        * @method getWorker Return Worker instance
        * @public
        * @param name {String}
        * @return XrayWrapper|undefined
        **/
        getWorker: function(config) {
            return this[config.name];
        },

       /*
        * @method start execute a Worker
        * @public
        * @param config {Object}
        * {
        *  name: {String}
        * }
        **/
        start: function(config) {
            var
                name = this.getWorker({name: config.name});

            if(undefined !== name) {
                name.postMessage(config.data);
            }
        },

       /*
        * @method stop terminate a Worker
        * @public
        * @param config {Object}
        * {
        *  name: {String}
        * }
        **/
        stop: function(config) {
            var
                name = this.getWorker({name: config.name});

            if(undefined !== name) {
                name.terminate();
            }
        },

       /*
        * @method destroy Stop and delete the instance of a Worker
        * @public
        * @param config {Object}
        * {
        *  name: {String}
        * }
        **/
        destroy: function(config) {
            var
                name = config.name;

            if(undefined !== this.getWorker({name: config.name})) {
                this.stop({
                    name: config.name
                });
                delete this[config.name];
            }
        },

       /*
        * @method _bind Attach handler to the onmessage event of the Worker
        * @private
        * @param name {String}
        * @onmessage {Function}
        * @data {Object|String}
        **/
        _bind: function(name, onmessage) {
            this[name].addEventListener(&quot;message&quot;, function(e) {
                onmessage.call(this, e.data);
            }, false);
        }
    };

    window.AcidJs.WebWorkers = WebWorkers;
})();</pre>
<p><strong>Using the Class</strong></p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    // instantiate the class
    window.workers = new AcidJs.WebWorkers();

    // create a worker
    window.workers.create({
        script: &quot;AcidJs.WebWorkers/workers/process-guitars.js&quot;,
        name: &quot;process-guitars&quot;,
        onMessage: function(data) {
            console.log(data);
        }
    });

    // start the worker, post a message to it and supply some data to be processed in the background
    window.workers.start({
        name: &quot;process-guitars&quot;,
        data: [&quot;schecter&quot;, &quot;fender&quot;, &quot;gibson&quot;, &quot;jackson&quot;, &quot;b.c. rich&quot;, &quot;esp&quot;, &quot;ibanez&quot;, &quot;charvel&quot;]
    });

    // get the worker
    // console.log(window.workers.getWorker({name: &quot;process-guitars&quot;}));

    // stop the worker
    // window.workers.stop({name: &quot;process-guitars&quot;});

    // destroy the worker
    // window.workers.destroy({name: &quot;process-guitars&quot;});
})();</pre>
<p>Did you <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=207">download</a> the class? Did you enjoy the blogpost? Did you <a href="http://experiments.wemakesites.net/javascript-wrapper-for-the-html5-webworkers-api.html" target="_blank">check the demo</a>? If you did, follow me <a href="https://twitter.com/#!/wemakesitesnet" target="_blank">@wemakesitesnet</a>, check my <a href="http://wemakesites.net/" target="_blank">personal website</a> or <a href="http://acidjs.wemakesites.net/" target="_blank">acid.js web.ui</a> for more cool stuff.</p>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1729&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/J8uL7P1CCVE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/</feedburner:origLink></item>
		<item>
		<title>My New Personal Website</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/cdxSZeO-LHU/</link>
		<comments>http://acidmartin.wordpress.com/2012/10/17/my-new-personal-website/#comments</comments>
		<pubDate>Wed, 17 Oct 2012 09:04:15 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1727</guid>
		<description><![CDATA[Last night I deployed the brand-new version of my personal website. At last I found the time to rework it code- and designwise, and I am so pleased with it&#8217;s new looks and functionality!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1727&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Last night I deployed the brand-new version of my <a title="WeMakeSites.NET" href="http://wemakesites.net/" target="_blank">personal website</a>. At last I found the time to rework it code- and designwise, and I am so pleased with it&#8217;s new looks and functionality!</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1727&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/cdxSZeO-LHU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/10/17/my-new-personal-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/10/17/my-new-personal-website/</feedburner:origLink></item>
		<item>
		<title>Useful JavaScript Classes and Functions</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/F3HiHMFs3sI/</link>
		<comments>http://acidmartin.wordpress.com/2012/10/01/useful-javascript-classes-and-functions/#comments</comments>
		<pubDate>Sun, 30 Sep 2012 22:00:59 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[imdb-fetcher]]></category>
		<category><![CDATA[IMDBFetcher]]></category>
		<category><![CDATA[Inheritance]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[Lokalizr]]></category>
		<category><![CDATA[Miscelaneous]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[RESTFul Services]]></category>
		<category><![CDATA[template engine]]></category>
		<category><![CDATA[templatr]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[validator]]></category>
		<category><![CDATA[w3]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[WebWorkers]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1712</guid>
		<description><![CDATA[Crossbrowser image reflections enabler JavaScript class. JavaScript Mapper Class for RESTFul Methods &#8211; Recently I had to work with a bunch of RESTFul API methods, so instead of defining manually separate calls/methods for each API request, I decided to do it viceversa – to force JavaScript to create these methods automatically for me out of the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1712&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<ul>
<li><a href="http://experiments.wemakesites.net/reflections.html" target="_blank">Crossbrowser image reflections enabler JavaScript class.</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a> &#8211; Recently I had to work with a bunch of RESTFul API methods, so instead of defining manually separate calls/methods for each API request, I decided to do it viceversa – to force JavaScript to create these methods automatically for me out of the RESTFul API by providing the URLS and other required data.</li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier Class</a> &#8211; Simple XML to JSON objectifier. It can be used with custom or public XML, REST APIs such as Last.FM, RSS and ATOM feeds, sitemaps, etc by converting the XML server responses to native JSON objects in the browser which are then instantly accessible by its simple to use JavaScript methods.</li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer Class</a> &#8211; Tiny JavaScript class, using the HTMLAnchorElement interface to convert URI string into a JSON object.  The object returned by the function contains hash, host, hostname, parameters key-value map, pathname, port and protocol. Works with all major browsers (Firefox, Chrome, Safari, Opera, IE6-10).</li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a> &#8211; Makes possible the execution of cross-domain AJAX queries to IMDB and returns a JSON data object for the requested movie. What is currently supported – movie title, poster, release date, description, actor(s), director(s), IMDB and MPAA rating, running time, etc.</li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a> &#8211; A quick and dirty JavaScript localization routine that provides basic localization (no support for plurals, etc), operates on the DOM of the page and uses data-lang attribute for language keys storage. Lokalizr works with all major browsers, beginning with IE8.</li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a> &#8211; Small JavaScript function that checks for instances of an object within a defined scope and returns an array of instances’ variable names that can be used for different purposes.</li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">HTML5 Placeholder Enabler</a> &#8211; The solution presented in this post checks for the availability of the placeholder attribute in textboxes, and if it is not available applies its content as value to the elements that contain it.</li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">HTML 5 Details Element Enabler</a> &#8211; According to WhatWG, the “&lt;details /&gt; element represents a disclosure widget from which the user can obtain additional information or controls“. In brief, you can use it to create panelbar elements without JavaScript, as the expand / collapse functionality is native to it. Currently (October, 2011), the only browser which supports &lt;details /&gt; is Google Chrome, so if you are eager to start using this element on your pages, you can do so with the help of a few lines of JavaScript to make sure it works on all browsers.</li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">WebWorkers JavaScript class</a>.</li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">Classless JavaScript inheritance</a>.</li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript class augmenter</a>.</li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a>.</li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a>.</li>
<li><a href="https://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/" target="_blank">JavaScript Template Engine</a>.</li>
</ul>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1712&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/F3HiHMFs3sI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/10/01/useful-javascript-classes-and-functions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/10/01/useful-javascript-classes-and-functions/</feedburner:origLink></item>
		<item>
		<title>Quick and Dirty Localization With JavaScript</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/muORK6wpN8Q/</link>
		<comments>http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/#comments</comments>
		<pubDate>Fri, 28 Sep 2012 15:02:18 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[i18n]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[Lokalizr]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[i18n javascript]]></category>
		<category><![CDATA[javascript localization]]></category>
		<category><![CDATA[js localization]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1696</guid>
		<description><![CDATA[Here&#8217;s a quick and dirty JavaScript localization routine that provides basic localization (no support for plurals, etc) , operates on the DOM of the page and uses data-lang attribute for language keys storage. Lokalizr works with all major browsers, beginning with IE8. If you do not want to read the code above, you can just [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1696&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://experiments.wemakesites.net/quick-and-dirty-localization-with-javascript.html" target="_blank">Here&#8217;s a quick and dirty JavaScript localization routine</a> that provides basic localization (no support for plurals, etc) , operates on the DOM of the page and uses data-lang attribute for language keys storage. <a href="http://experiments.wemakesites.net/quick-and-dirty-localization-with-javascript.html" target="_blank">Lokalizr</a> works with all major browsers, beginning with IE8. If you do not want to read the code above, you can just <a title="Download Lokalizr" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=206">download and test the class from this link</a>.</p>
<p><strong>The Lokalizr JavaScript Class:</strong></p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    &quot;use strict&quot;;

    /*
     * @class Lokalizr
     * @constructor Lokalizr
     * @param languages {Object} [required]
     * @param defaultLanguage {String} [optional]
     **/
    function Lokalizr(languages, defaultLanguage) {

        this.languages = languages || {};

        if(defaultLanguage) {
            this.localize(defaultLanguage);
        }
    }

    Lokalizr.prototype = {

    /*
     * @map ATTR
     * @public
     **/
    ATTRS: {
        lang: &quot;data-lang&quot;
    },

    /*
     * @map MESSAGES
     * @public
     **/

    MESSAGES: {
        invalid: &quot;Invalid language code.&quot;
    },

    /*
     * @method localize
     * @public
     * @param langCode {String} [required]
     **/
    localize: function(langCode) {
        if(false === &quot;querySelectorAll&quot; in document) {
            return;
        }

        var
            lang = this.languages[langCode],
            attr = this.ATTRS.lang,
            elements = document.querySelectorAll(&quot;[&quot; + attr + &quot;]&quot;);

        if(!lang) {
            this.error(this.MESSAGES.invalid);
            return;
        }

        for(var i = 0, len = elements.length; i &lt; len; i++) {
            var
                element = elements[i],
                key = element.getAttribute(attr);

            element.innerHTML = lang[key];
        }
    },

    /*
     * @method getLangString
     * @public
     * @param langCode {String} [required]
     * @param langString {String} [required]
     * @return {String}
     **/
    getLangString: function(langCode, langString) {
        if(langCode &amp;&amp; langString) {
            return this.languages[langCode][langString];
        }
    },

    /*
     * @method error
     * @public
     * @param message {String} [required]
     **/
    error: function(message) {
        window.alert(message);
    }
};

    window.Lokalizr = Lokalizr;
})();</pre>
<p><strong>Example Markup:</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;p data-lang=&quot;hello&quot;&gt;Hello&lt;/p&gt;
&lt;p data-lang=&quot;good-morning&quot;&gt;Good Morning&lt;/p&gt;
&lt;p data-lang=&quot;good-evening&quot;&gt;Good Evening&lt;/p&gt;
</pre>
<p><strong>Usage:</strong></p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    // instantiate Lokalizr and localize automatically
    window.lang = new window.Lokalizr({
        &quot;en-US&quot;: {
            &quot;hello&quot;: &quot;Hi&quot;,
            &quot;good-morning&quot;: &quot;Good morning&quot;,
            &quot;good-evening&quot;: &quot;Good evening&quot;
        },
        &quot;de-DE&quot;: {
            &quot;hello&quot;: &quot;Hallo&quot;,
            &quot;good-morning&quot;: &quot;guten Morgen&quot;,
            &quot;good-evening&quot;: &quot;guten Abend&quot;
        }
     } , &quot;de-DE&quot;);

     // localize on demand
     window.lang.localize(&quot;en-US&quot;);

     // get specific language keys
     window.console.log(&quot;language string&quot;,
         window.lang.getLangString(&quot;de-DE&quot;, &quot;hello&quot;));
     window.console.log(&quot;language string&quot;,
         window.lang.getLangString(&quot;de-DE&quot;, &quot;good-morning&quot;));
     window.console.log(&quot;language string&quot;,
         window.lang.getLangString(&quot;de-DE&quot;, &quot;good-evening&quot;));
 })();
</pre>
<p>That&#8217;s it! If you <a href="http://experiments.wemakesites.net/quick-and-dirty-localization-with-javascript.html" target="_blank">like the demo</a>, you can <a title="Download Lokalizr" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=206">pick it from this link</a>.</p>
<p>Enjoy the weekend!</p>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1696&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/muORK6wpN8Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/</feedburner:origLink></item>
		<item>
		<title>JavaScript Mapper for RESTFul Methods</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/_GLtkG51EdI/</link>
		<comments>http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/#comments</comments>
		<pubDate>Tue, 25 Sep 2012 22:03:37 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[RESTFul Services]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[javascript rest]]></category>
		<category><![CDATA[rest api]]></category>
		<category><![CDATA[rest api to javascript]]></category>
		<category><![CDATA[RESTFul]]></category>
		<category><![CDATA[restful ajax]]></category>
		<category><![CDATA[restful method]]></category>
		<category><![CDATA[webservices]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1668</guid>
		<description><![CDATA[Recently I had to work with a bunch of RESTFul API methods, so instead of defining manually separate calls/methods for each API request, I decided to do it viceversa &#8211; to force JavaScript to create these methods automatically for me out of the RESTFul API by providing the URLS and other required data. In short &#8211; [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1668&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Recently I had to work with a bunch of RESTFul API methods, so instead of defining manually separate calls/methods for each API request, I <a href="http://experiments.wemakesites.net/javascript-mapper-for-restful-methods.html" target="_blank">decided to do it viceversa</a> &#8211; to force JavaScript to create these methods automatically for me out of the RESTFul API by providing the URLS and other required data. In short &#8211; we provide a REST end-point and a key/value map of all API methods, which we plan to use, along with their data types, request type and callback functions, which is then processed by the <a href="http://experiments.wemakesites.net/javascript-mapper-for-restful-methods.html" target="_blank">RestMethodMapper</a> class and converted on the fly to pure JavaScript methods to that class, so instead of calling:</p>
<pre class="brush: jscript; title: ; notranslate">
&quot;rest/user/get/my&quot;
</pre>
<p>&#8230; We can <a href="http://experiments.wemakesites.net/javascript-mapper-for-restful-methods.html" target="_blank">execute</a>:</p>
<pre class="brush: jscript; title: ; notranslate">
window.mapper.userGetMy();
</pre>
<p>&#8230; And we can also pass as an argument the http parameters object:</p>
<pre class="brush: jscript; title: ; notranslate">
window.mapper.userGetMy({
    firstName: &quot;John&quot;,
    lastName: &quot;Smith&quot;,
    id: 9999
});
</pre>
<p>&#8230; Which will result in an ajax request to:</p>
<pre class="brush: jscript; title: ; notranslate">
rest/user/get/?firstName=John&amp;lastName=Smith&amp;id=9999&amp;_=1348612389319
</pre>
<p>The API methods are defined in the constructor of the RestMethodMapper class like this &#8211; the first argument is the REST end-point, the second argument is a key/value object map of all RESTFul method and their properties (type, dataType, success and failure callbacks):</p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    window.mapper = new AcidJs.RestMethodMapper(
        &quot;rest/&quot;,
        {
            &quot;user/get/&quot;: {
                type: &quot;GET&quot;,
                cache: false,
                success: function(response) {
                    console.log(&quot;success:&quot;, response);
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    console.log(&quot;error: &quot;, jqXHR, textStatus, errorThrown);
                },
                dataType: &quot;json&quot;
            },
            &quot;user/get/my/&quot;: {
                type: &quot;get&quot;,
            },
            &quot;msg/post/new/&quot;: {
                type: &quot;post&quot;
                success: function() { },
                error: function(jqXHR, textStatus, errorThrown) {
                    console.log(&quot;error: &quot;, jqXHR, textStatus, errorThrown);
                },
                dataType: &quot;json&quot;
            }
        }
    );
})();
</pre>
<p>The above code can be tested like this:</p>
<pre class="brush: jscript; title: ; notranslate">
window.mapper.userGet({
    firstName: &quot;John&quot;,
    lastName: &quot;Smith&quot;,
    id: 9999
}); // which will request rest/user/get/ with the parameters set as an argument object
window.mapper.userGetMy(); // which will request reset/user/get/my/
window.mapper.msgPostNew({
    id: 1234,
    body: &quot;Lorem ipsum dolot sit amet&quot;
}); // which will request rest/msg/post/new/ with the parameters set as an argument object
</pre>
<p>Below is the full source code of the RestMethodMapper class:</p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    &quot;use strict&quot;;

    /*
     * @namespace AcidJs
     **/
    if(undefined === window.AcidJs) {
        window.AcidJs = {};
    }

    /*
     * @class RestMethodMapper
     * @constructor
     * @param endpoint {String} [optional]
     * @param method {String} rest api method, for example &quot;user/get/my&quot;
     * @author Martin Ivanov http://acidjs.wemakesites.net
     **/
    function RestMethodMapper(endpoint, method) {
       endpoint = endpoint || &quot;&quot;;
       method = method || {};

       var
           that = this;

       $.each(method, function(key, value) {
           (function() {
               var
                   name = that.restToMethod(key);

               if(!that[name]) {
                   var
                       ajaxConfig = {
                           url: endpoint + key
                       };

                   if(value) {
                       $.each(value, function(k, v) {
                           ajaxConfig[k] = v;
                       });
                   }

                   that[name] = function(data) {
                       if(data) {
                           ajaxConfig.data = data;
                       }
                       $.ajax(ajaxConfig);
                   };
                }
            })();
        });
    }

    RestMethodMapper.prototype = {
        /*
         * @method restToMethod convert RESTFul api method to a JavaScript method
         * @param url {String}
         * @return {String}
         **/
        restToMethod: function(url){
            if(!url) {
                return &quot;&quot;;
            }

            var
                path = url.split(&quot;/&quot;),
                methodName = &quot;&quot;;

            for(var i = 0, len = path.length; i &lt; len; i++) {
                methodName += (i === 0) ? path[i] : path[i].charAt(0).toUpperCase() + path[i].substr(1);
            }

            return methodName;
        }
    };

    window.AcidJs.RestMethodMapper = RestMethodMapper;
})();
</pre>
<p>The <a href="http://experiments.wemakesites.net/javascript-mapper-for-restful-methods.html" target="_blank">RestMethodMapper </a>class uses jQuery, but obviously it can be easily implemented in pure JavaScript or with the help any other JavaScript library. I utilized jQuery, because the project required it, so I made use of that library&#8217;s $.ajax() method. If you like <a href="http://experiments.wemakesites.net/javascript-mapper-for-restful-methods.html" target="_blank">this approach</a> you can <a title="Download RestMethodMapper" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=205">download it&#8217;s source code and demo from this link</a>. And why not follow <a title="@wemakesitesnet" href="https://twitter.com/#!/wemakesitesnet" target="_blank">@wemakesitesnet on Twitter</a>?</p>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1668&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/_GLtkG51EdI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/</feedburner:origLink></item>
		<item>
		<title>HTML5 Sticky Notes</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/3i-sEvel1P0/</link>
		<comments>http://acidmartin.wordpress.com/2012/09/22/html5-sticky-notes/#comments</comments>
		<pubDate>Sat, 22 Sep 2012 06:28:12 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[css3 animations]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 File API]]></category>
		<category><![CDATA[localStorage]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[organizer]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[stickeez]]></category>
		<category><![CDATA[sticky notes]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[3m notes online]]></category>
		<category><![CDATA[online organizer]]></category>
		<category><![CDATA[sticky notes javascript]]></category>
		<category><![CDATA[sticky notes online]]></category>
		<category><![CDATA[sticky notes web service]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1664</guid>
		<description><![CDATA[Stickeez is a sticky notes JavaScript application using the new HTML5 File API, localStorage and CSS3. The data is fully persisted on the client. Stickeez also has an option for importing/exporting data so users can save their notes before cleaning up cookies or import notes to another browser. And finally &#8211; users can choose between [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1664&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a title="Start Using Stickeez Today" href="http://stickeez.wemakesites.net/" target="_blank">Stickeez</a> is a sticky notes JavaScript application using the new HTML5 File API, localStorage and CSS3. The data is fully persisted on the client. <a title="Start Using Stickeez Today" href="http://stickeez.wemakesites.net/" target="_blank">Stickeez</a> also has an option for importing/exporting data so users can save their notes before cleaning up cookies or import notes to another browser. And finally &#8211; users can choose between 4 types of board styles &#8211; cork, fridge, whiteboard and skulls.</p>
<p>You can also use <a title="Stickeez Chrome Extension" href="https://chrome.google.com/webstore/detail/gafeaekephefedefcglacmkgfofbnjno?hl=en-US" target="_blank">Stickeez as a Google Chrome extension</a>.</p>
<p><a title="Start Using Stickeez Today" href="http://stickeez.wemakesites.net/" target="_blank"><img class="alignnone size-full wp-image-1665" title="stickeez" src="http://acidmartin.files.wordpress.com/2012/09/stickeez.gif?w=500" alt=""   /></a></p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1664&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/3i-sEvel1P0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/09/22/html5-sticky-notes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/09/stickeez.gif" medium="image">
			<media:title type="html">stickeez</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/09/22/html5-sticky-notes/</feedburner:origLink></item>
		<item>
		<title>Image2Base64 Converter on Google Web Store</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/8vKDHauhCcc/</link>
		<comments>http://acidmartin.wordpress.com/2012/09/04/image2base64-converter-on-google-web-store/#comments</comments>
		<pubDate>Mon, 03 Sep 2012 22:01:26 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Base64 Data URI]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 File API]]></category>
		<category><![CDATA[image-to-base-64]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[plugins and extensions]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[base64]]></category>
		<category><![CDATA[FileReader API]]></category>
		<category><![CDATA[html5 file api]]></category>
		<category><![CDATA[image to base64 data uri converter]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1657</guid>
		<description><![CDATA[I am happy to announce that Image2Base64 converter is now available as a Chrome extension on Google Web Store, so you can download and install it for right away from this link.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1657&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I am happy to announce that <a title="Image2Base64 Converter" href="http://image2base64.wemakesites.net/" target="_blank">Image2Base64</a> converter is now available as a Chrome <a title="Image2Base64 Chrome Extension" href="https://chrome.google.com/webstore/detail/mnmcaoeigcikpnnebhdfblfmobfekkgl?hl=en-US" target="_blank">extension</a> on Google Web Store, so you can download and install it for right away from <a title="Image2Base64 Chrome Extension" href="https://chrome.google.com/webstore/detail/mnmcaoeigcikpnnebhdfblfmobfekkgl?hl=en-US" target="_blank">this link</a>.</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1657&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/8vKDHauhCcc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/09/04/image2base64-converter-on-google-web-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/09/04/image2base64-converter-on-google-web-store/</feedburner:origLink></item>
		<item>
		<title>Slides from the Latest Front-end Conferences</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/CmZ2LrWVbXw/</link>
		<comments>http://acidmartin.wordpress.com/2012/08/31/slides-from-the-latest-front-end-conferences/#comments</comments>
		<pubDate>Fri, 31 Aug 2012 07:07:27 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1655</guid>
		<description><![CDATA[Front Trends 2012 http://2012.front-trends.com/speakers/ Slides: http://speakerdeck.com/u/chriscoyier/p/what-we-dont-know http://desandro.github.com/mobile-safari-machete/ https://speakerdeck.com/u/rmurphey/p/beyond-the-dom-sane-structure-for-js-apps https://speakerdeck.com/u/csswizardry/p/breaking-good-habits-1/ https://speakerdeck.com/u/jina/p/style-guide-driven-ui-design-with-sass http://www.v3ga.net/conferences/ft2012/ http://lea.verou.me/css-4d/#intro http://www.braniecki.net/b2g/ http://www.medikoo.com/future-web/ http://www.slideshare.net/szafranek/javascript-refactoring http://taligarsiel.com/Projects/howbrowserswork1.htm http://blog.lassus.se/files/javascript_the_subsets_we_use.pdf https://speakerdeck.com/u/rachelandrew/p/pushing-the-boundaries-without-breaking-the-web http://nimbu.in/front-trends/#/title https://speakerdeck.com/u/theophani/p/design-processes-not-interfaces http://speakerdeck.com/u/bartoszopka/p/learning-to-teach http://jsno.de/presentations/Front-Trends/#/ CSS SUMMIT 2012 http://environmentsforhumans.com/2012/css-summit/ Slides: http://www.rachelandrew.co.uk/presentations/css-summit-2012 http://www.slideshare.net/chrisdavidmills http://webinista.github.com/CSSSummitTransforms/ http://estelle.github.com/animation http://lojjic.github.com/css-summit-polyfills/ http://www.xanthir.com/talks/2012-08-01/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1655&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><strong>Front Trends 2012</strong></p>
<p><a href="http://2012.front-trends.com/speakers/">http://2012.front-trends.com/speakers/</a></p>
<p>Slides:</p>
<p><a href="http://speakerdeck.com/u/chriscoyier/p/what-we-dont-know">http://speakerdeck.com/u/chriscoyier/p/what-we-dont-know</a></p>
<p><a href="http://desandro.github.com/mobile-safari-machete/">http://desandro.github.com/mobile-safari-machete/</a></p>
<p><a href="https://speakerdeck.com/u/rmurphey/p/beyond-the-dom-sane-structure-for-js-apps">https://speakerdeck.com/u/rmurphey/p/beyond-the-dom-sane-structure-for-js-apps</a></p>
<p><a href="https://speakerdeck.com/u/csswizardry/p/breaking-good-habits-1/">https://speakerdeck.com/u/csswizardry/p/breaking-good-habits-1/</a></p>
<p><a href="https://speakerdeck.com/u/jina/p/style-guide-driven-ui-design-with-sass">https://speakerdeck.com/u/jina/p/style-guide-driven-ui-design-with-sass</a></p>
<p><a href="http://www.v3ga.net/conferences/ft2012/">http://www.v3ga.net/conferences/ft2012/</a></p>
<p><a href="http://lea.verou.me/css-4d/#intro">http://lea.verou.me/css-4d/#intro</a></p>
<p><a href="http://www.braniecki.net/b2g/">http://www.braniecki.net/b2g/</a></p>
<p><a href="http://www.medikoo.com/future-web/">http://www.medikoo.com/future-web/</a></p>
<p><a href="http://www.slideshare.net/szafranek/javascript-refactoring">http://www.slideshare.net/szafranek/javascript-refactoring</a></p>
<p><a href="http://taligarsiel.com/Projects/howbrowserswork1.htm">http://taligarsiel.com/Projects/howbrowserswork1.htm</a></p>
<p><a href="http://blog.lassus.se/files/javascript_the_subsets_we_use.pdf">http://blog.lassus.se/files/javascript_the_subsets_we_use.pdf</a></p>
<p><a href="https://speakerdeck.com/u/rachelandrew/p/pushing-the-boundaries-without-breaking-the-web">https://speakerdeck.com/u/rachelandrew/p/pushing-the-boundaries-without-breaking-the-web</a></p>
<p><a href="http://nimbu.in/front-trends/#/title">http://nimbu.in/front-trends/#/title</a></p>
<p><a href="https://speakerdeck.com/u/theophani/p/design-processes-not-interfaces">https://speakerdeck.com/u/theophani/p/design-processes-not-interfaces</a></p>
<p><a href="http://speakerdeck.com/u/bartoszopka/p/learning-to-teach">http://speakerdeck.com/u/bartoszopka/p/learning-to-teach</a></p>
<p><a href="http://jsno.de/presentations/Front-Trends/#/">http://jsno.de/presentations/Front-Trends/#/</a></p>
<p><strong>CSS SUMMIT 2012</strong></p>
<p><a href="http://environmentsforhumans.com/2012/css-summit/">http://environmentsforhumans.com/2012/css-summit/</a></p>
<p>Slides:</p>
<p><a href="http://www.rachelandrew.co.uk/presentations/css-summit-2012">http://www.rachelandrew.co.uk/presentations/css-summit-2012</a></p>
<p><a href="http://www.slideshare.net/chrisdavidmills">http://www.slideshare.net/chrisdavidmills</a></p>
<p><a href="http://webinista.github.com/CSSSummitTransforms/">http://webinista.github.com/CSSSummitTransforms/</a></p>
<p><a href="http://estelle.github.com/animation">http://estelle.github.com/animation</a></p>
<p><a href="http://lojjic.github.com/css-summit-polyfills/">http://lojjic.github.com/css-summit-polyfills/</a></p>
<p><a href="http://www.xanthir.com/talks/2012-08-01/">http://www.xanthir.com/talks/2012-08-01/</a></p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1655&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/CmZ2LrWVbXw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/08/31/slides-from-the-latest-front-end-conferences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/08/31/slides-from-the-latest-front-end-conferences/</feedburner:origLink></item>
		<item>
		<title>Online Image to Base64 Converter</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/JL2YhFfUDvY/</link>
		<comments>http://acidmartin.wordpress.com/2012/08/29/online-image-to-base64-converter/#comments</comments>
		<pubDate>Wed, 29 Aug 2012 07:23:57 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Base64 Data URI]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 File API]]></category>
		<category><![CDATA[image-to-base-64]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[base64]]></category>
		<category><![CDATA[FileReader API]]></category>
		<category><![CDATA[html5 file api]]></category>
		<category><![CDATA[image to base64 data uri converter]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1651</guid>
		<description><![CDATA[Image2Base64 is an online tool, provided by Acid.JS Web.UI for conversion of image files to base64 data URIs. It implements the new HTML5 File API, and the selected images are processed entirely on the client without uploading them onto the server. It is available 24/7 here for free. It is a must-have tool that can [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1651&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a title="Image2Base64 Online Tool" href="http://image2base64.wemakesites.net/" target="_blank">Image2Base64</a> is an online tool, provided by Acid.JS Web.UI for conversion of image files to <a href="https://developer.mozilla.org/en-US/docs/data_URIs" target="_blank">base64 data URIs</a>. It implements the new HTML5 <a title="HTML5 File API" href="http://www.w3.org/TR/file-upload/" target="_blank">File API</a>, and the selected images are processed entirely on the client without uploading them onto the server. It is available 24/7 <a title="Image2Base64 Online Tool" href="http://image2base64.wemakesites.net/" target="_blank">here</a> for free.</p>
<p>It is a must-have tool that can be used along with our <a title="Builder.CSS" href="http://acidjs.wemakesites.net/builder-css.html" target="_blank">CSS Builder</a>, <a title="RESTBuilder" href="http://acidjs.wemakesites.net/rest-builder.html" target="_blank">RESTBuilder</a> and <a title="Builder.JS" href="http://acidjs.wemakesites.net/builder-js.html" target="_blank">JavaScript merger and obfuscator</a> tools.</p>
<p><a title="Image2Base64 Online Tool" href="http://image2base64.wemakesites.net/" target="_blank"><img class="alignnone size-full wp-image-1652" title="image-to-base-64" src="http://acidmartin.files.wordpress.com/2012/08/image-to-base-64.gif?w=500" alt=""   /></a></p>
<p>You don&#8217;t need to download or install anything. Just go to <a title="Image2Base64 Online Tool" href="http://image2base64.wemakesites.net" target="_blank">http://image2base64.wemakesites.net</a> and start using it right away!</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1651&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/JL2YhFfUDvY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/08/29/online-image-to-base64-converter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/08/image-to-base-64.gif" medium="image">
			<media:title type="html">image-to-base-64</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/08/29/online-image-to-base64-converter/</feedburner:origLink></item>
		<item>
		<title>Applying Special CSS Rules for IE6-IE8 and IE9 Without Affecting Other Browsers</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/sJE3fzWkY5c/</link>
		<comments>http://acidmartin.wordpress.com/2012/07/22/applying-special-css-rules-for-ie6-ie8-and-ie9-without-affecting-other-browsers/#comments</comments>
		<pubDate>Sun, 22 Jul 2012 06:16:34 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Hacks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css hacks]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[ie css hacks]]></category>
		<category><![CDATA[IE9 css hack]]></category>
		<category><![CDATA[Internet Explorer CSS hack]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1639</guid>
		<description><![CDATA[It&#8217;s been a while since I blogged about this \9 CSS hack for all versions of Internet Explorer. Personally I always try to avoid hacks, but recently I had to tweak some style sheet to use special styles for IE6-IE8 and for IE9, so I remembered of this hack. Here&#8217;s how I did it: By [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1639&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been a while since I blogged about this <a href="http://acidmartin.wordpress.com/2010/07/02/css-hacks-tricks-and-proprietary-extensions/" target="_blank">\9 CSS hack</a> for all versions of Internet Explorer. Personally I always try to avoid hacks, but recently I had to tweak some style sheet to use special styles for IE6-IE8 and for IE9, so I remembered of this hack. Here&#8217;s how I did it:</p>
<pre class="brush: css; title: ; notranslate">
/* first apply the \9 hack for any version of internet explorer, for example */
body
{
    background: #f00\9;
}

/* ... then override the above rule by using the CSS3 :root selector which is supported by IE9, but still use the \9 hack to filter out only IE9 */
:root body
{
    background: #ccc\9;
}
</pre>
<p>By using the above CSS you can have special styles, which are the same for Internet Explorer 6-8 and other rules for Internet Explorer 9 without affecting other browsers.</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1639&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/sJE3fzWkY5c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/07/22/applying-special-css-rules-for-ie6-ie8-and-ie9-without-affecting-other-browsers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/07/22/applying-special-css-rules-for-ie6-ie8-and-ie9-without-affecting-other-browsers/</feedburner:origLink></item>
		<item>
		<title>IMDB Fetcher – Experimental IMDB JavaScript and PHP API</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/bZf4j2WrCNY/</link>
		<comments>http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/#comments</comments>
		<pubDate>Tue, 17 Jul 2012 22:04:41 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[imdb-fetcher]]></category>
		<category><![CDATA[IMDBFetcher]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[imdb api]]></category>
		<category><![CDATA[imdb api solution]]></category>
		<category><![CDATA[imdb javascript api]]></category>
		<category><![CDATA[imdb screen scraper]]></category>
		<category><![CDATA[imdb web service]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1618</guid>
		<description><![CDATA[Recently I came up with the idea to create my personal movie library that runs over the local intranet, and I was sure that IMDB provides some service that I can use to fetch movie data from their servers. I was really disappointed that such popular and huge website is well behind the current trends [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1618&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Recently I came up with the idea to create my personal movie library that runs over the local intranet, and I was sure that IMDB provides some service that I can use to fetch movie data from their servers. I was really disappointed that such popular and huge website is well behind the current trends by not providing an external API of any kind. Eventually I checked for <a href="http://www.google.com/search?q=imdb+api&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:en-GB:official&amp;client=firefox-a" target="_blank">alternatives</a> on the Internet, and actually I found a couple of cool solutions, but finally I decided to create one of my own, and the result is <a href="http://acidjs.wemakesites.net/imdb-fetcher.html" target="_blank">IMDBFetcher</a>.</p>
<p><a href="http://acidjs.wemakesites.net/imdb-fetcher.html" target="_blank"><img class="alignnone size-full wp-image-1624" title="imdb-fetcher" alt="" src="http://acidmartin.files.wordpress.com/2012/07/imdb-fetcher.gif?w=500"   /></a></p>
<p><a href="http://acidjs.wemakesites.net/imdb-fetcher.html" target="_blank">IMDBFetcher</a> makes possible cross-domain AJAX queries to IMDB and returns a JSON data object for the requested movie. What is currently supported &#8211; movie title, poster, release date, description, actor(s), director(s), IMDB and MPAA rating, running time, etc. There is a really thin PHP layer which is solely responsible to make the crossdomain request of getting the HTML page locally, strip some white space and send it g-zipped to the client. The actual conversion from HTML to JSON is done on the client via regular expressions. The final result looks like this:</p>
<pre class="brush: jscript; title: ; notranslate">{
    &quot;title&quot;: &quot;Scarface&quot;,
    &quot;starring&quot;: [
        &quot;Al Pacino&quot;, &quot;Michelle Pfeiffer&quot;, &quot;Steven Bauer&quot;
    ],
    &quot;directors&quot;: [&quot;Brian De Palma&quot;],
    &quot;year&quot;: &quot;1983&quot;,
    &quot;rating&quot;: &quot;8.2&quot;,
    &quot;poster&quot;: &quot;http://ia.media-imdb.com/images/M/MV5BMTQ5NzI3OTQ3NF5BMl5BanBnXkFtZTcwODczMjMzMQ@@._V1._SY317_CR4,0,214,317_.jpg&quot;,
    &quot;description&quot;: &quot;In 1980 Miami, a determined Cuban immigrant takes over a drug cartel while succumbing to greed.&quot;,
    &quot;genres&quot;: [&quot;Crime&quot;, &quot;Drama&quot;, &quot;Thriller&quot;],
    &quot;mpaaRating&quot;: &quot;R&quot;,
    &quot;releaseDate&quot;: &quot;9 December 1983 (USA)&quot;,
    &quot;runningTime&quot;: &quot;170 min&quot;,
    &quot;result&quot;: &quot;success&quot;
}</pre>
<p>&#8230; And is stored on the client in the form of key/value paired data objects, which can then be (re)used locally. IMDB restricts hotlinking of images from their servers, so I also had to write a small PHP function that returns a local copy of the movie poster which can be used when rendering the movie JSON object to HTML on the page. Please, refer to the &#8220;Using the Image Proxy&#8221; chapter on the <a href="http://help.acidjs.wemakesites.net/#!/imdb-fetcher" target="_blank">documentation page for IMDBFetcher</a> to learn how to use it.</p>
<p><strong>Key Features</strong></p>
<ul>
<li>Provides simple to use movie data API from IMDB and returns a native JSON object ready for rendering on the client.</li>
<li>Gzips and strips white space and other crap from the original page, and returns a simple native JSON object.</li>
<li>Fully ajax-driven, no page reloads.</li>
<li>Features convenient API methods for retrieving local or remote data, and for deleting local movie data.</li>
<li>A bonus script for getting posters from IMDB locally (due to the restricted hotlinking policy of IMDB) is included.</li>
<li>Very fast, responsive and extremely easy to use.</li>
</ul>
<p><strong>Downside of IMDBFetcher</strong></p>
<p>The major downside is that <a href="http://acidjs.wemakesites.net/imdb-fetcher.html" target="_blank">IMDBFetcher</a> is fully dependent on the DOM provided by IMDB. If IMDB changes the markup of their pages, then <a href="http://acidjs.wemakesites.net/imdb-fetcher.html" target="_blank">IMDBFetcher</a> will stop working, but anyway it can be fixed pretty fast on my side, and I will release an updated version.</p>
<p><strong>Supported Browsers</strong></p>
<p>Mozilla Firefox, Google Chrome, Apple Safari, Opera, Internet Explorer 9/10. IMDBFetcher does not initialize on older versions of Internet Explorer (6-8).</p>
<p><strong>Now&#8230; What?</strong></p>
<p>If you like the idea, you can give it a try &#8211; just check the <a href="http://acidjs.wemakesites.net/imdb-fetcher.html" target="_blank">demo</a>, <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=203">download</a> it and learn how to use it by visiting the <a href="http://help.acidjs.wemakesites.net/#!/imdb-fetcher" target="_blank">IMDBFetcher&#8217;s documentation page</a>. If you are looking for other cool solutions or web UI components, you can check <a href="http://acidjs.wemakesites.net" target="_blank">Acid.JS Web.UI</a> and get the entire suite from <a href="http://acidjs.wemakesites.net/whats-new.html" target="_blank">this link</a>.</p>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1618&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/bZf4j2WrCNY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/07/imdb-fetcher.gif" medium="image">
			<media:title type="html">imdb-fetcher</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/</feedburner:origLink></item>
		<item>
		<title>XML to JSON JavaScript Objectifier</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/p1y-ATnOUCA/</link>
		<comments>http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/#comments</comments>
		<pubDate>Mon, 09 Jul 2012 21:15:21 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Miscelaneous]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xml to json converter]]></category>
		<category><![CDATA[xml to json converter php javascript]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1591</guid>
		<description><![CDATA[AcidJs.XmlToJson() JavaScript class is a simple XML to JSON converter and objectifier. It can be used with custom or public XML, REST APIs such as Last.FM, RSS and ATOM feeds, sitemaps, etc by converting the XML server responses to native JSON objects in the browser which are then instantly accessible by its simple to use [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1591&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://experiments.wemakesites.net/xml-to-json-javascript-objectifier.html" target="_blank">AcidJs.XmlToJson()</a> JavaScript class is a simple XML to JSON converter and objectifier. It can be used with custom or public XML, REST APIs such as Last.FM, RSS and ATOM feeds, sitemaps, etc by converting the XML server responses to native JSON objects in the browser which are then instantly accessible by its simple to use JavaScript methods.</p>
<p><strong>Requirements</strong></p>
<ul>
<li>Modern browser with native JSON support. To enable in older browsers, use Douglas Crockford&#8217;s JSON2 or one of the various solutions on the Internet.</li>
<li>Web Server.</li>
<li>PHP.</li>
</ul>
<p><strong>Usage and API</strong></p>
<p>Copy the entire AcidJs.XmlToJson/ directory from the <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=202">distribution</a> file in the root of your project, then register the run-time script before the closing &lt;/body&gt; tag of the page:</p>
<pre class="brush: xml; title: ; notranslate">&lt;script src=&quot;AcidJs.XmlToJson/Scripts/AcidJs.XmlToJson.js&quot;&gt;&lt;/script&gt;</pre>
<p>&nbsp;</p>
<pre class="brush: jscript; title: ; notranslate">(function() {
    window.xmltojson = new AcidJs.XmlToJson();
})();</pre>
<p>If you wish to keep the AcidJs.XmlToJson/ directory on another location, you can use the optional rootFolder property in the object initializer, and then make sure you also change the path in the SRC attribute of the script tag you used to register the XmlToJson runtime:</p>
<pre class="brush: xml; title: ; notranslate">&lt;script src=&quot;Scripts/AcidJs.XmlToJson/Scripts/AcidJs.XmlToJson.js&quot;&gt;&lt;/script&gt;</pre>
<p>&nbsp;</p>
<pre class="brush: jscript; title: ; notranslate">(function() {
    window.xmltojson = new AcidJs.XmlToJson({
        rootFolder: &quot;Scripts/&quot; // do not forget the trailing slash
    });
})();</pre>
<p>Once you initialize XmlToJson you will have access to the following methods:</p>
<p><strong>getRemoteData(config)</strong><br />
Request XML, convert it to JSON on the server, then set and optionally return the JSON object. In the config you can defin the following properties: name, url, params (optional) and success callback (optional):</p>
<pre class="brush: jscript; title: ; notranslate">window.xmltojson.getRemoteData({
    name: &quot;slayer&quot;, // unique name that will be used to request the converted XML to JSON object locally
    url: &quot;http://ws.audioscrobbler.com/2.0/&quot;, // remote / RESTFul service URL
    params: [{
            method: &quot;album.getinfo&quot;
        },{
            api_key: &quot;XXXXXX&quot; // your Last.FM API key
        },{
            artist: &quot;Slayer&quot;
        },{
            album: &quot;Seasons in the Abyss&quot;
        }
    ],
    success: function(data) {
        // the success call back returns the newly created data object that contains the converted JSON object and the config of the getRemoteData method
        console.log(&quot;data object: &quot;, data); // return the entire data object
        console.log(&quot;JSON object: &quot;, data.json); // return the converted XML to JSON object only
        console.log(&quot;data object name: &quot;, data.name); // return the name of the data object
        console.log(&quot;request url: &quot;, data.url); // return the request url
        console.log(&quot;request parameters as objects: &quot;, data.params); // return the remote request parameters as objects
        console.log(&quot;removte request with the params as get data: &quot; + data.remoteUrl); // return the removte request with the params as get data
    }
});</pre>
<p><strong>getLocalData(name)</strong><br />
Returns the local instance of an existing JSON data object by it&#8217;s name (set in the name property of the config of the getRemoteData method)</p>
<pre class="brush: jscript; title: ; notranslate">window.xmltojson.getLocalData(&quot;slayer&quot;);</pre>
<p><strong>deleteData(data)</strong><br />
Deletes an array of stored data object(s) by specified name and makes them unavailable.</p>
<pre class="brush: jscript; title: ; notranslate">window.xmltojson.deleteData([&quot;slayer&quot;, &quot;rss&quot;, &quot;feedburner&quot;]);</pre>
<p><strong>Examples</strong></p>
<p><em>Get Artist and Album Data from Last.FM (<a href="http://last.fm" target="_blank">http://last.fm</a>):</em></p>
<pre class="brush: jscript; title: ; notranslate">window.xmltojson.getRemoteData({
    name: &quot;slayer&quot;, // unique name that will be used to request the converted XML to JSON object locally
    url: &quot;http://ws.audioscrobbler.com/2.0/&quot;, // remote / RESTFul service URL
    params: [{
            method: &quot;album.getinfo&quot;
        },{
            api_key: &quot;XXXXXX&quot; // your Last.FM API key
        },{
            artist: &quot;Slayer&quot;
        },{
            album: &quot;Reign in Blood&quot;
        }
    ],
    success: function(data) {
        console.log(data.json);
    }
});</pre>
<p><em>Get RSS feed from Feedburner (<a href="http://feedburner.com" target="_blank">http://feedburner.com</a>)</em></p>
<pre class="brush: jscript; title: ; notranslate">window.xmltojson.getRemoteData({
    name: &quot;feedburner&quot;,
    url: &quot;http://feeds.feedburner.com/acidmartin&quot;,
    success: function(data) {
        console.log(data.json);
    }
});</pre>
<p><em>Parse Sitemap File</em></p>
<pre class="brush: jscript; title: ; notranslate">window.xmltojson.getRemoteData({
    name: &quot;feedburner&quot;,
    url: &quot;http://acidjs.wemakesites.net/sitemap.xml.php&quot;,
    success: function(data) {
        console.log(data.json);
    }
});</pre>
<p><strong>Using XmlToJson</strong></p>
<ul>
<li><a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=202">Download</a>.</li>
<li>Check the <a href="http://experiments.wemakesites.net/xml-to-json-javascript-objectifier.html" target="_blank">demo page</a>.</li>
<li>Include on your page. Refer to the demo page included in the file you have <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=202">downloaded</a>.</li>
<li>Have fun and don&#8217;t forget to check <a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI</a> components or follow <a href="https://twitter.com/#!/wemakesitesnet" target="_blank">@wemakesitesnet</a> on Twitter</li>
</ul>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1591&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/p1y-ATnOUCA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/</feedburner:origLink></item>
		<item>
		<title>Free RESTFul Services Builder, Debugger and Tester</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/dCjgDzs2Dwg/</link>
		<comments>http://acidmartin.wordpress.com/2012/07/09/free-restful-services-builder-debugger-and-tester/#comments</comments>
		<pubDate>Sun, 08 Jul 2012 22:12:20 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[rest-builder]]></category>
		<category><![CDATA[RESTFul Services]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[json api]]></category>
		<category><![CDATA[json parser]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[RESTFul]]></category>
		<category><![CDATA[restful services]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1586</guid>
		<description><![CDATA[RESTBuilder is a free web-based JavaScript client for building, debugging and testing RESTFul services. It can be inserted to any web-site during it&#8217;s development process and make the REST requests testing fun and easier, providing nice interface, a lot of customization options, error handling and support both for same- and cross-domain requests to custom and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1586&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://acidjs.wemakesites.net/rest-builder.html" target="_blank">RESTBuilder</a> is a free web-based JavaScript client for building, debugging and testing RESTFul services. It can be inserted to any web-site during it&#8217;s development process and make the REST requests testing fun and easier, providing nice interface, a lot of customization options, error handling and support both for same- and cross-domain requests to custom and public APIs like Twitter and Facebook.</p>
<p><a href="http://acidjs.wemakesites.net/rest-builder.html" target="_blank"><img class="alignnone size-full wp-image-1587" title="RESTBuilder by Acid.JS Web.UI" src="http://acidmartin.files.wordpress.com/2012/07/response-object.gif?w=500&#038;h=339" alt="" width="500" height="339" /></a></p>
<p>It is a must-have tool that can be used along with our <a href="http://acidjs.wemakesites.net/builder-css.html" target="_blank">CSS Builder</a> and<a href="http://acidjs.wemakesites.net/builder-js.html" target="_blank"> JavaScript merger and obfuscator</a> tools.</p>
<p><strong>Key Features</strong></p>
<ul>
<li>Can be injected to a local web-site for testing it&#8217;s REST services.</li>
<li>Support for cross-domain requests and public APIs (Twitter, Facebook, etc).</li>
<li>Sleek, customizable, user-friendly and intuitive interface.</li>
<li>Optional syntax highlighting for the response data object.</li>
<li>Error handling for cross-origin request.</li>
</ul>
<p>If these sound good and useful to you, you can go to the <a href="http://acidjs.wemakesites.net/rest-builder.html" target="_blank">info page</a>, check the <a href="http://acidjs.wemakesites.net/pages/rest-builder/demo/" target="_blank">demo</a> or <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=201">download</a> RESTBuilder. Make sure you visit<a href="http://help.acidjs.wemakesites.net/#!/rest-builder" target="_blank"> component&#8217;s help and API page</a> to learn how to include and use the tool in your own projects.</p>
<p>To stay updated about <a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI</a>, please, <a href="http://feeds.feedburner.com/acidmartin" target="_blank">subscribe</a> or follow <a href="https://twitter.com/#!/wemakesitesnet" target="_blank">WeMakeSites.NET on Twitter</a>.</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1586&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/dCjgDzs2Dwg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/07/09/free-restful-services-builder-debugger-and-tester/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/07/response-object.gif" medium="image">
			<media:title type="html">RESTBuilder by Acid.JS Web.UI</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/07/09/free-restful-services-builder-debugger-and-tester/</feedburner:origLink></item>
		<item>
		<title>Ribbonbar UI 2.0 Released</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/9jux8jjoqgY/</link>
		<comments>http://acidmartin.wordpress.com/2012/05/15/ribbonbar-ui-2-0-released/#comments</comments>
		<pubDate>Tue, 15 May 2012 17:23:10 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Acid.JS]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[ribbon-bar-xml]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Website Widgets and Components]]></category>
		<category><![CDATA[ribbon bar ui]]></category>
		<category><![CDATA[ribbon javascript]]></category>
		<category><![CDATA[ribbon ui]]></category>
		<category><![CDATA[ribbon web component]]></category>
		<category><![CDATA[ribbonbar]]></category>
		<category><![CDATA[ribbonbar ui]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1567</guid>
		<description><![CDATA[Ribbonbar UI is by far the best recreation of the &#8220;real&#8221; desktop ribbonbar for the web. It is skinnable, fully AJAX driven component that is ready to use on any website. What you can you do with a MS Office like ribbon bar in web environment? Whether use it for navigation, associate it with your [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1567&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">Ribbonbar UI</a> is by far the best recreation of the &#8220;real&#8221; desktop ribbonbar for the web. It is skinnable, fully AJAX driven component that is ready to use on any website. What you can you do with a MS Office like ribbon bar in web environment? Whether use it for navigation, associate it with your WYSIWYG editor, use in an email application, display links to your favorite social websites or simply build your entire webpage around it &#8211; this depends only on you.</p>
<p><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank"><img class="alignnone size-full wp-image-1570" title="ribbon-bar-xml" src="http://acidmartin.files.wordpress.com/2012/05/ribbon-bar-xml.gif?w=500" alt=""   /></a></p>
<p><a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">Ribbonbar UI</a> has everything you would expect from a ribbonbar &#8211; cool looks, comprehensive and easy API, amazing command handling, different sets of inbuilt tools, cool Windows7 skin. And at last, but not least &#8211; deploying and configuring it is a matter of minutes.</p>
<p><strong>Screenshots</strong>:</p>

<a href='http://acidmartin.wordpress.com/2012/05/15/ribbonbar-ui-2-0-released/ribbon-bar-xml-2/' title='ribbon-bar-xml'><img data-liked='0' data-reblogged='0' data-attachment-id="1570" data-orig-file="http://acidmartin.files.wordpress.com/2012/05/ribbon-bar-xml.gif" data-orig-size="235,161" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="ribbon-bar-xml" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/05/ribbon-bar-xml.gif?w=235" data-large-file="http://acidmartin.files.wordpress.com/2012/05/ribbon-bar-xml.gif?w=235" width="150" height="102" src="http://acidmartin.files.wordpress.com/2012/05/ribbon-bar-xml.gif?w=150&#038;h=102" class="attachment-thumbnail" alt="ribbon-bar-xml" /></a>
<a href='http://acidmartin.wordpress.com/2012/05/15/ribbonbar-ui-2-0-released/ribbonbar-ui-1/' title='ribbonbar-ui-1'><img data-liked='0' data-reblogged='0' data-attachment-id="1571" data-orig-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-1.png" data-orig-size="784,250" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="ribbonbar-ui-1" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-1.png?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-1.png?w=500" width="150" height="47" src="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-1.png?w=150&#038;h=47" class="attachment-thumbnail" alt="ribbonbar-ui-1" /></a>
<a href='http://acidmartin.wordpress.com/2012/05/15/ribbonbar-ui-2-0-released/ribbonbar-ui-2/' title='ribbonbar-ui-2'><img data-liked='0' data-reblogged='0' data-attachment-id="1572" data-orig-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-2.png" data-orig-size="784,402" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="ribbonbar-ui-2" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-2.png?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-2.png?w=500" width="150" height="76" src="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-2.png?w=150&#038;h=76" class="attachment-thumbnail" alt="ribbonbar-ui-2" /></a>
<a href='http://acidmartin.wordpress.com/2012/05/15/ribbonbar-ui-2-0-released/ribbonbar-ui-3/' title='ribbonbar-ui-3'><img data-liked='0' data-reblogged='0' data-attachment-id="1573" data-orig-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-3.png" data-orig-size="784,491" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="ribbonbar-ui-3" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-3.png?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-3.png?w=500" width="150" height="93" src="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-3.png?w=150&#038;h=93" class="attachment-thumbnail" alt="ribbonbar-ui-3" /></a>
<a href='http://acidmartin.wordpress.com/2012/05/15/ribbonbar-ui-2-0-released/ribbonbar-ui-4/' title='ribbonbar-ui-4'><img data-liked='0' data-reblogged='0' data-attachment-id="1574" data-orig-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-4.png" data-orig-size="784,203" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="ribbonbar-ui-4" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-4.png?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-4.png?w=500" width="150" height="38" src="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-4.png?w=150&#038;h=38" class="attachment-thumbnail" alt="ribbonbar-ui-4" /></a>

<p><strong>What&#8217;s New:</strong></p>
<p>- JSON file instead of XML for tabs, ribbons and tools rendering.<br />
- Rendering at lightning speed.<br />
- Improved browser support.<br />
- Fully CSS3 skinning mechanism with decent fallback for older browsers.<br />
- New and easy to use client API.<br />
- New command handling based on delegation;<br />
- Support for external tools loaded via AJAX.<br />
- Can be used on any server environment (default is PHP, but it can be extended to JAVA, .NET, etc).</p>
<p><strong>Features:</strong></p>
<p>- By far, the most successful recreation of the &#8220;real&#8221; desktop ribbonbar as a web component.<br />
- Comprehensive and fun to use API.<br />
- Easy to modify JSON structures for tabs, ribbons and commands.<br />
- Imageless CSS3 skin working with all modern browsers and falling back nicely for older browsers.<br />
- 4 types of inbuilt tools &#8211; &#8220;toolbar&#8221;, &#8220;office menu&#8221;, &#8220;split-button&#8221; and &#8220;external&#8221;.<br />
- Ability to load external tools by loading them via AJAX and passing get/post parameters.<br />
- Small footprint.<br />
- Easy command handling.<br />
- Can be used with 3-rd party WYSIWYG editors, as a navigation component, in email systems, etc.<br />
- The retrieval for the JSON files can be done with any server runtime (however Ribbonbar is shipped with PHP routine only).</p>
<p><strong>Now What?</strong></p>
<p>Check the <a href="http://acidjs.wemakesites.net/ribbon-bar-xml.html" target="_blank">info page</a>, go to the <a href="http://acidjs.wemakesites.net/pages/ribbon-bar-xml/demo/" target="_blank">demo</a> or visit the <a href="http://help.acidjs.wemakesites.net/#!/ribbon-bar-xml" target="_blank">documentation</a> page for Ribbonbar UI to learn how to integrate it into your own project. Eventually <a href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=169">download</a> it. As usual, the component is included in the latest version if <a href="http://acidjs.wemakesites.net/" target="_blank">Acid.JS Web.UI</a>.</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1567&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/9jux8jjoqgY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/05/15/ribbonbar-ui-2-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/05/ribbon-bar-xml.gif" medium="image">
			<media:title type="html">ribbon-bar-xml</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/05/ribbon-bar-xml.gif?w=150" medium="image">
			<media:title type="html">ribbon-bar-xml</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-1.png?w=150" medium="image">
			<media:title type="html">ribbonbar-ui-1</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-2.png?w=150" medium="image">
			<media:title type="html">ribbonbar-ui-2</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-3.png?w=150" medium="image">
			<media:title type="html">ribbonbar-ui-3</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/05/ribbonbar-ui-4.png?w=150" medium="image">
			<media:title type="html">ribbonbar-ui-4</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/05/15/ribbonbar-ui-2-0-released/</feedburner:origLink></item>
		<item>
		<title>Improved URI to JSON Serializer</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/5d6izI-XZoI/</link>
		<comments>http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/#comments</comments>
		<pubDate>Sat, 05 May 2012 07:19:10 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[convert uri to json]]></category>
		<category><![CDATA[uri objectifier]]></category>
		<category><![CDATA[uri serializer]]></category>
		<category><![CDATA[uri to json]]></category>
		<category><![CDATA[uri to object]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1551</guid>
		<description><![CDATA[Below is an improved version of the URI to JSON serializer JavaScript class I presented a couple of days ago. What it Does: uriToJSON() is a tiny JavaScript class, using the HTMLAnchorElement interface to convert URI string into a JSON object.  The object returned by the function contains hash, host, hostname, parameters key-value map, pathname, port [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1551&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Below is an improved version of the <a href="http://experiments.wemakesites.net/uri-to-json-serializer.html" target="_blank">URI to JSON serializer</a> JavaScript class I <a title="JavaScript URI to JSON Serializer" href="http://acidmartin.wordpress.com/2012/05/02/javascript-uri-to-json-serializer/" target="_blank">presented</a> a couple of days ago.</p>
<p><strong>What it Does:</strong></p>
<p><a href="http://experiments.wemakesites.net/uri-to-json-serializer.html" target="_blank">uriToJSON()</a> is a tiny JavaScript class, using the <a title="HTML Anchor Element Interface" href="https://developer.mozilla.org/en/DOM/HTMLAnchorElement" target="_blank">HTMLAnchorElement</a> interface to convert URI string into a JSON object.  The object returned by the function contains hash, host, hostname, parameters key-value map, pathname, port and protocol. Works with all major browsers (Firefox, Chrome, Safari, Opera, IE6-10).</p>
<p><strong>What is new:</strong></p>
<ul>
<li>The parameters are no longer in an array but in a hash map, which can be easily accessed like parameters.someParameter rather than parameters[0], parameters[1], etc.</li>
<li>Automatic typecasting for strings, Boolean and Numbers for the parameters map and for the port.</li>
</ul>
<p>Here is the <a href="http://experiments.wemakesites.net/uri-to-json-serializer.html" target="_blank">demo</a>, or you can download the <a title="Download uriToJSON" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=200">example page from here</a>:</p>
<pre class="brush: jscript; title: ; notranslate">
function uriToJSON(uri) {
    &quot;use strict&quot;;

    if(!(&quot;hostname&quot; in document.createElement(&quot;a&quot;))) {
        return;
    }

    var
        anchor = document.createElement(&quot;a&quot;),
        params = {},
        data,
        param;

        anchor.setAttribute(&quot;href&quot;, uri);
        data = {
            hash: anchor.hash.replace(&quot;#&quot;, &quot;&quot;),
            host: anchor.host,
            hostname: anchor.hostname,
            parameters: null,
            pathname: anchor.pathname,
            port:  parseInt(anchor.port) ? parseInt(anchor.port) : anchor.port,
            protocol: anchor.protocol,
            uri: uri
        };

        if(anchor.search.split(&quot;?&quot;)[1]) {
            params = anchor.search.split(&quot;?&quot;)[1].split(&quot;&amp;&quot;);
            data.parameters = {};
        }

        for(param in params) {
            if(params.hasOwnProperty) {
                var
                    pair = params[param].split(&quot;=&quot;),
                    key = pair[0],
                    value = pair[1] === &quot;true&quot; ? true : pair[1] === &quot;false&quot; ? false : pair[1];

                data.parameters[key] = parseInt(value) ? parseInt(value) : value;
            }
        }

        return data;
}

</pre>
<p><strong>A few tests:</strong></p>
<pre class="brush: jscript; title: ; notranslate">
var
    data = uriToJSON(&quot;https://www.google.com:3030/search?number1=123&amp;amp;number2=456q=javascript&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:en-GB:official&amp;amp;client=firefox-a#somehash&quot;);

    console.log(data);
    console.log(data.hash);
    console.log(data.host);
    console.log(data.hostname);
    console.log(data.parameters);
    console.log(data.pathname);
    console.log(data.port);
    console.log(data.protocol);
    console.log(data.uri);
</pre>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/" target="_blank">JavaScript Instance Name Finder</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1551&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/5d6izI-XZoI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/</feedburner:origLink></item>
		<item>
		<title>JavaScript URI to JSON Serializer</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/-6c4Oy3pYJ8/</link>
		<comments>http://acidmartin.wordpress.com/2012/05/02/javascript-uri-to-json-serializer/#comments</comments>
		<pubDate>Wed, 02 May 2012 17:34:47 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[convert uri to json]]></category>
		<category><![CDATA[uri objectifier]]></category>
		<category><![CDATA[uri serializer]]></category>
		<category><![CDATA[uri to json]]></category>
		<category><![CDATA[uri to object]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1535</guid>
		<description><![CDATA[Here is a small cross-browser JavaScript class, which is using the HTMLAnchorElement interface to convert URI string into a serialized JSON object.  The JSON object returned by the function contains hash, host, hostname, key-value array map of get parameters, pathname, port and protocol and the uri itself. uriToJSON() works with all major browsers (Firefox, Chrome, Safari, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1535&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a title="JavaScript URI to JSON Serializer" href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/">Here is a small cross-browser JavaScript class</a>, which is using the <a title="HTML Anchor Element Interface" href="https://developer.mozilla.org/en/DOM/HTMLAnchorElement" target="_blank">HTMLAnchorElement</a> interface to convert URI string into a serialized JSON object.  The JSON object returned by the function contains hash, host, hostname, key-value array map of get parameters, pathname, port and protocol and the uri itself. uriToJSON() works with all major browsers (Firefox, Chrome, Safari, Opera, IE6/7/8/9/10).</p>
<p><a title="JavaScript URI to JSON Serializer" href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/">There is a newer and improved version of the class on this page</a>.</p>
<p>&nbsp;</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1535&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/-6c4Oy3pYJ8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/05/02/javascript-uri-to-json-serializer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/05/02/javascript-uri-to-json-serializer/</feedburner:origLink></item>
		<item>
		<title>Tour Dates Artist Event Schedule Component 3.0 Has Been Released</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/UrIL1ulfVj4/</link>
		<comments>http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 22:01:34 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[Acid.JS]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[tour-dates]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[band cms]]></category>
		<category><![CDATA[concerts web component]]></category>
		<category><![CDATA[tour dates cms]]></category>
		<category><![CDATA[tour dates manager]]></category>
		<category><![CDATA[tour dates schedule]]></category>
		<category><![CDATA[tour dates scheduler]]></category>
		<category><![CDATA[tour dates ui]]></category>
		<category><![CDATA[tour dates website script]]></category>
		<category><![CDATA[tour schedule]]></category>
		<category><![CDATA[tour web scheduling]]></category>
		<category><![CDATA[web scheduling tours]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1517</guid>
		<description><![CDATA[Are you running a band website? Have you been looking for easy management of tour dates? If the answer is &#8220;yes&#8221; &#8211; do not look any further, because TourDates by Acid.JS is the right tool for you. It has it all &#8211; modern looks, easy to use, fully ajax-driven admin, full browser support and amazingly [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1517&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Are you running a band website? Have you been looking for easy management of tour dates? If the answer is &#8220;yes&#8221; &#8211; do not look any further, because <a title="Bands and Artists Tourdates and Events Scheduler" href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank">TourDates by Acid.JS</a> is the right tool for you. It has it all &#8211; modern looks, easy to use, fully ajax-driven admin, full browser support and amazingly small footprint. I bet that your band will certainly love it!</p>
<p><a title="Bands and Artists Tourdates and Events Scheduler" href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank"><img class="alignnone size-full wp-image-1518" title="tour-dates" src="http://acidmartin.files.wordpress.com/2012/03/tour-dates.gif?w=500" alt=""   /></a></p>
<p><strong>Key Features</strong></p>
<ul>
<li>Fast and reliable, with extremely small footprint compared to it&#8217;s amazing functionality.</li>
<li>Lightweight admin with cool and easy to use UI, event drag-and-drop, etc.</li>
<li>Venue, tickets provider, support band and country management.</li>
<li>Fully customizable and localizable templates powered by <a title="Pisi client-side template engine" href="http://acidjs.wemakesites.net/pisi.html" target="_blank">Pisi Template Engine</a>.</li>
<li>Social and sharing buttons on the public page.</li>
<li>Cool set of imageless CSS3 skins with fallback for older browsers.</li>
<li>Drag-and-drop rearrangement of the public page columns order.</li>
<li>Can be easily branded with band&#8217;s logo, etc.</li>
<li>Event date-picker.</li>
<li>Data backup.</li>
<li>Event editor.</li>
<li>CSS, templates and JavaScript are gzipped.</li>
<li>Suitable for any kind of artist.</li>
<li>If you are logged in, the admin can be accessed directly from the public front-end of the component</li>
<li>And yet more loads of cool stuff. Just check it out&#8230;</li>
</ul>
<p><strong>Requirements</strong></p>
<ul>
<li>Web-server with PHP support.</li>
<li>Standards-compliant (HTML5, XHTML1.0, XHTML1.1) or Skinny DTD public page.</li>
<li>JavaScript must be enabled.</li>
<li>Cookies must be enabled.</li>
</ul>
<p><strong>Admin Screenshots (If accessed from the front-end public page)</strong></p>

<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/tour-dates/' title='tour-dates'><img data-liked='0' data-reblogged='0' data-attachment-id="1518" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/tour-dates.gif" data-orig-size="235,161" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="tour-dates" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/tour-dates.gif?w=235" data-large-file="http://acidmartin.files.wordpress.com/2012/03/tour-dates.gif?w=235" width="150" height="102" src="http://acidmartin.files.wordpress.com/2012/03/tour-dates.gif?w=150&#038;h=102" class="attachment-thumbnail" alt="tour-dates" /></a>
<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/adding-a-band/' title='Adding-a-Band'><img data-liked='0' data-reblogged='0' data-attachment-id="1519" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/adding-a-band.gif" data-orig-size="869,484" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Adding-a-Band" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/adding-a-band.gif?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/03/adding-a-band.gif?w=500" width="150" height="83" src="http://acidmartin.files.wordpress.com/2012/03/adding-a-band.gif?w=150&#038;h=83" class="attachment-thumbnail" alt="Adding-a-Band" /></a>
<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/appearance-and-settings/' title='Appearance-and-Settings'><img data-liked='0' data-reblogged='0' data-attachment-id="1520" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/appearance-and-settings.gif" data-orig-size="869,484" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Appearance-and-Settings" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/appearance-and-settings.gif?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/03/appearance-and-settings.gif?w=500" width="150" height="83" src="http://acidmartin.files.wordpress.com/2012/03/appearance-and-settings.gif?w=150&#038;h=83" class="attachment-thumbnail" alt="Appearance-and-Settings" /></a>
<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/columns-drag-and-drop/' title='Columns-drag-and-Drop'><img data-liked='0' data-reblogged='0' data-attachment-id="1521" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/columns-drag-and-drop.gif" data-orig-size="869,484" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Columns-drag-and-Drop" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/columns-drag-and-drop.gif?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/03/columns-drag-and-drop.gif?w=500" width="150" height="83" src="http://acidmartin.files.wordpress.com/2012/03/columns-drag-and-drop.gif?w=150&#038;h=83" class="attachment-thumbnail" alt="Columns-drag-and-Drop" /></a>
<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/event-datepicker/' title='Event-Datepicker'><img data-liked='0' data-reblogged='0' data-attachment-id="1522" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/event-datepicker.gif" data-orig-size="869,484" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Event-Datepicker" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/event-datepicker.gif?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/03/event-datepicker.gif?w=500" width="150" height="83" src="http://acidmartin.files.wordpress.com/2012/03/event-datepicker.gif?w=150&#038;h=83" class="attachment-thumbnail" alt="Event-Datepicker" /></a>
<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/events-data-backup/' title='Events-Data-Backup'><img data-liked='0' data-reblogged='0' data-attachment-id="1523" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/events-data-backup.gif" data-orig-size="869,484" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Events-Data-Backup" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/events-data-backup.gif?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/03/events-data-backup.gif?w=500" width="150" height="83" src="http://acidmartin.files.wordpress.com/2012/03/events-data-backup.gif?w=150&#038;h=83" class="attachment-thumbnail" alt="Events-Data-Backup" /></a>
<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/event-settings/' title='Event-Settings'><img data-liked='0' data-reblogged='0' data-attachment-id="1524" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/event-settings.gif" data-orig-size="869,484" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Event-Settings" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/event-settings.gif?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/03/event-settings.gif?w=500" width="150" height="83" src="http://acidmartin.files.wordpress.com/2012/03/event-settings.gif?w=150&#038;h=83" class="attachment-thumbnail" alt="Event-Settings" /></a>
<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/saving-an-event/' title='Saving-an-Event'><img data-liked='0' data-reblogged='0' data-attachment-id="1525" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/saving-an-event.gif" data-orig-size="869,484" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Saving-an-Event" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/saving-an-event.gif?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/03/saving-an-event.gif?w=500" width="150" height="83" src="http://acidmartin.files.wordpress.com/2012/03/saving-an-event.gif?w=150&#038;h=83" class="attachment-thumbnail" alt="Saving-an-Event" /></a>
<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/tickets-provider-editor/' title='Tickets-Provider-Editor'><img data-liked='0' data-reblogged='0' data-attachment-id="1526" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/tickets-provider-editor.gif" data-orig-size="869,484" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Tickets-Provider-Editor" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/tickets-provider-editor.gif?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/03/tickets-provider-editor.gif?w=500" width="150" height="83" src="http://acidmartin.files.wordpress.com/2012/03/tickets-provider-editor.gif?w=150&#038;h=83" class="attachment-thumbnail" alt="Tickets-Provider-Editor" /></a>
<a href='http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/venue-editor/' title='Venue-Editor'><img data-liked='0' data-reblogged='0' data-attachment-id="1527" data-orig-file="http://acidmartin.files.wordpress.com/2012/03/venue-editor.gif" data-orig-size="869,484" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Venue-Editor" data-image-description="" data-medium-file="http://acidmartin.files.wordpress.com/2012/03/venue-editor.gif?w=300" data-large-file="http://acidmartin.files.wordpress.com/2012/03/venue-editor.gif?w=500" width="150" height="83" src="http://acidmartin.files.wordpress.com/2012/03/venue-editor.gif?w=150&#038;h=83" class="attachment-thumbnail" alt="Venue-Editor" /></a>

<p><strong>And Now&#8230; What?</strong></p>
<p>Want to give <a title="Bands and Artists Tourdates and Events Scheduler" href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank">TourDates by Acid.JS Web.UI</a> a try? Start by it&#8217;s <a title="Bands and Artists Tourdates and Events Scheduler" href="http://acidjs.wemakesites.net/tour-dates.html" target="_blank">info</a> and <a title="Bands and Artists Tourdates and Events Scheduler Demo" href="http://acidjs.wemakesites.net/pages/tour-dates/demo/" target="_blank">demo</a> pages, and if you like it, why don&#8217;t you <a title="Download TourDates by Acid.JS Web.UI" href="http://acidmartin.wemakesites.net/DownloadAdmin/click.php?id=164">download</a> it and try it at home? The help and manual page <a title="TourDates by Acid.JS Web.UI Help" href="http://help.acidjs.wemakesites.net/#!/tour-dates" target="_blank">is available here</a>.</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1517&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/UrIL1ulfVj4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/tour-dates.gif" medium="image">
			<media:title type="html">tour-dates</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/tour-dates.gif?w=150" medium="image">
			<media:title type="html">tour-dates</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/adding-a-band.gif?w=150" medium="image">
			<media:title type="html">Adding-a-Band</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/appearance-and-settings.gif?w=150" medium="image">
			<media:title type="html">Appearance-and-Settings</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/columns-drag-and-drop.gif?w=150" medium="image">
			<media:title type="html">Columns-drag-and-Drop</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/event-datepicker.gif?w=150" medium="image">
			<media:title type="html">Event-Datepicker</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/events-data-backup.gif?w=150" medium="image">
			<media:title type="html">Events-Data-Backup</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/event-settings.gif?w=150" medium="image">
			<media:title type="html">Event-Settings</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/saving-an-event.gif?w=150" medium="image">
			<media:title type="html">Saving-an-Event</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/tickets-provider-editor.gif?w=150" medium="image">
			<media:title type="html">Tickets-Provider-Editor</media:title>
		</media:content>

		<media:content url="http://acidmartin.files.wordpress.com/2012/03/venue-editor.gif?w=150" medium="image">
			<media:title type="html">Venue-Editor</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/03/27/tour-dates-artist-event-schedule-component-3-0-has-been-released/</feedburner:origLink></item>
		<item>
		<title>How to Find Instance Name(s) of a JavaScript Object</title>
		<link>http://feedproxy.google.com/~r/acidmartin/~3/vxyLBBqU240/</link>
		<comments>http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 14:59:33 +0000</pubDate>
		<dc:creator>acidmartin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OO JavaScript]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[object instance]]></category>
		<category><![CDATA[object instances]]></category>
		<category><![CDATA[object oriented javascript]]></category>
		<category><![CDATA[object variable names]]></category>

		<guid isPermaLink="false">http://acidmartin.wordpress.com/?p=1507</guid>
		<description><![CDATA[For a project I was recently working on, I needed to get reference to object(s)&#8217; instances and respectively their methods and properties, so below is the solution I came up with. getInstancesOf() is a JavaScript function that checks for instances of an object within a defined scope and returns an array of instances&#8217; variable names [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1507&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>For a project I was recently working on, I needed to get reference to object(s)&#8217; instances and respectively their methods and properties, so below is the solution I came up with. getInstancesOf() is a JavaScript function that checks for instances of an object within a defined scope and returns an array of instances&#8217; variable names that can be used for different purposes.</p>
<pre class="brush: jscript; title: ; notranslate">
/**
* Get instance names of an object
* @param object - object name
* @param scope - window, parent, etc
*/

function getInstancesOf(object, scope) {
     &quot;use strict&quot;;

     var
        instances = [];

    for(var v in scope) {
        if(scope.hasOwnProperty(v) &amp;&amp; scope[v] instanceof object) {
            instances.push(v);
        }
    }
    return instances;
}
</pre>
<p>And a few tests, in which we create a couple of instances of the MyClass object:</p>
<pre class="brush: jscript; title: ; notranslate">
(function() {
    &quot;use strict&quot;;

    function MyClass(name) {
        this.name = name;
    }
    MyClass.prototype = {
        myMethod: function() {
            console.log(&quot;MyClass.prototype.myMethod(): &quot; + this.name);
        }
    };

    window.MyClass = MyClass;
})();

var
    instance1 = new MyClass(&quot;property of instance1&quot;),
    instance2 = new MyClass(&quot;property of instance2&quot;),
    instance3 = new MyClass(&quot;property of instance3&quot;);

// get length of instances of MyClass
console.log(getInstancesOf(MyClass, window).length); // 3
// get the name of instance1
console.log(getInstancesOf(MyClass, window)[1]); // instance2
// get the name of instance0
console.log(getInstancesOf(MyClass, window)[0]); // instance1
// loop through all of the instances of MyClass, and call it's test() method
for(var i = 0, len = getInstancesOf(MyClass, window).length; i &lt; len; i ++) {
    window[getInstancesOf(MyClass, window)[i]].myMethod();
}</pre>
<p><strong>Related Posts</strong></p>
<div>
<ul>
<li><a href="http://acidmartin.wordpress.com/2012/09/26/restful-to-javascript-method-converter/" target="_blank">JavaScript Mapper Class for RESTFul Methods</a></li>
<li><a href="http://acidjs.wemakesites.net/validator.html" target="_blank">HTML Validation Bookmarklet</a></li>
<li><a href="http://acidmartin.wordpress.com/2013/01/24/javascript-html-template-engine/">JavaScript Template Engine</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/09/xml-to-json-javascript-objectifier/" target="_blank">XML to JSON JavaScript Objectifier</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/05/05/improved-uri-to-json-serializer/" target="_blank">URI to JSON Serializer</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/07/18/imdb-fetcher-experimental-imdb-javascript-and-php-api/" target="_blank">IMDB Fetcher – Experimental IMDB JavaScript and PHP API</a></li>
<li><a href="http://acidmartin.wordpress.com/2012/09/28/quick-and-dirty-localization-with-javascript/" target="_blank">Quick and Dirty Localization With JavaScript</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/11/07/html5-placeholder-enabler/" target="_blank">Cross-browser HTML5 Placeholder Enabler</a></li>
<li><a href="http://acidmartin.wordpress.com/2011/10/28/html-5-details-element-enabler/" target="_blank">Cross-browser HTML5 Details Element Enabler</a></li>
<li><a href="https://acidmartin.wordpress.com/2012/10/18/webworkers-javascript-class/" target="_blank">JavaScript Wrapper for the HTML5 WebWorkers API</a></li>
<li><a title="Classless JavaScript inheritance" href="http://acidmartin.wordpress.com/2012/10/29/classless-javascript-inheritance/" target="_blank">JavaScript Inheritance Without Constructors</a></li>
<li><a title="JavaScript Class Augmenter" href="http://acidmartin.wordpress.com/2012/10/30/javascript-class-augmenter/" target="_blank">JavaScript Class Augmenter</a></li>
<li><a title="JavaScript API for TinyURL" href="https://acidmartin.wordpress.com/2012/12/13/javascript-api-for-tinyurl-and-more/" target="_blank">JavaScript API for TinyURL</a></li>
</ul>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acidmartin.wordpress.com&#038;blog=3212238&#038;post=1507&#038;subd=acidmartin&#038;ref=&#038;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/acidmartin/~4/vxyLBBqU240" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14804fe005220d42595e1c2adb65c658?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">acidmartin</media:title>
		</media:content>
	<feedburner:origLink>http://acidmartin.wordpress.com/2012/03/19/getting-instance-names-of-a-javascript-object/</feedburner:origLink></item>
	</channel>
</rss>
