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

<channel>
	<title>Compiled Thoughts by John Ciacia &#187; JavaScript</title>
	<atom:link href="http://www.johnciacia.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.johnciacia.com</link>
	<description>Science, Technology, and Beyond</description>
	<lastBuildDate>Fri, 06 Jan 2012 15:46:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>HTML5 Speech Input</title>
		<link>http://www.johnciacia.com/2011/06/04/html5-speech-input/</link>
		<comments>http://www.johnciacia.com/2011/06/04/html5-speech-input/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 06:12:27 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[speech input]]></category>

		<guid isPermaLink="false">http://www.johnciacia.com/?p=1025</guid>
		<description><![CDATA[The new features being introduced by the HTML5 standard are simply astounding. Just as the awe of one feature starts to wear off, I discover another that is even more awesome than the last. The current jaw dropping discovery is largely due to the Speech Input API Specification. Thats right, speech input. You can add [...]]]></description>
			<content:encoded><![CDATA[<p>The new features being introduced by the HTML5 standard are simply astounding. Just as the awe of one feature starts to wear off, I discover another that is even more awesome than the last. The current jaw dropping discovery is largely due to the <a href="http://www.w3.org/2005/Incubator/htmlspeech/2010/10/google-api-draft.html">Speech Input API Specification</a>. Thats right, speech input.</p>
<p>You can add speech input to any input element by simply using the <code>x-webkit-speech</code> attribute.</p>
<p>The following code<br />
[code]<br />
<input type="text" x-webkit-speech />[/code]<br />
Will yield this<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2011/06/Screen-shot-2011-06-04-at-2.03.16-AM.png"><img src="http://www.johnciacia.com/wp-content/uploads/2011/06/Screen-shot-2011-06-04-at-2.03.16-AM.png" alt="" title="Screen shot 2011-06-04 at 2.03.16 AM" width="442" height="176" class="aligncenter size-full wp-image-1026" /></a></p>
<p>You can do other exciting actions language translations, or the famous voice search for android:<br />
[code]    <script type="text/javascript">
      function startSearch(event) {
        event.target.form.submit();
      }
    </script></p>
<form action="http://www.google.com/search">
<input type="search" name="q" speech required onspeechchange="startSearch">
    </form>
<p>[/code]</p>
<p>Although this currently only works in Chrome 11 and relies on Google&#8217;s voice API, it is anticipated that more browsers will adopt the technology, and users will have the ability to choose which voice API they want to use.</p>
<p>*does the happy dance*</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johnciacia.com/2011/06/04/html5-speech-input/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HTML5 Input</title>
		<link>http://www.johnciacia.com/2010/08/01/html5-input/</link>
		<comments>http://www.johnciacia.com/2010/08/01/html5-input/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 17:53:12 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[date picker]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[html5 date]]></category>
		<category><![CDATA[html5 email]]></category>
		<category><![CDATA[html5 input]]></category>
		<category><![CDATA[html5 number]]></category>
		<category><![CDATA[html5 search]]></category>
		<category><![CDATA[html5 time]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.johnciacia.com/?p=610</guid>
		<description><![CDATA[Lets be honest, HTML5 is the new buzz word. Every blog, tutorial, tweet, article, or post I read contains some reference to HTML5. It&#8217;s almost as bad as presidential campaigns during election year (well&#8230; maybe not that bad, but you get the idea!) However, unlike the latter, I am fully confident HTML5 will live up [...]]]></description>
			<content:encoded><![CDATA[<p>Lets be honest, HTML5 is the new buzz word. Every blog, tutorial, tweet, article, or post I read contains some reference to HTML5. It&#8217;s almost as bad as presidential campaigns during election year (well&#8230; maybe not that bad, but you get the idea!) However, unlike the latter, I am fully confident HTML5 will live up its expectations. Why is HTML5 so special? Well, you know all those hoops you&#8217;ve had to jump through and JavaScript libraries you&#8217;ve had to include? Kiss them goodbye! Let us take a look at some of the new features HTML5 provides with regard to input types.</p>
<h2>Placeholder</h2>
<p>[code lang="html"]<br />
<input name="first" placeholder="First Name" />[/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/placeholder.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/placeholder.png" alt="" title="placeholder" width="166" height="30" class="alignnone size-full wp-image-614" /></a></p>
<h2>Range</h2>
<p>[code lang="html"]<br />
<input name="range" type="range" value="50" min="0" max="100" />[/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/range.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/range.png" alt="" title="range" width="152" height="30" class="alignnone size-full wp-image-616" /></a></p>
<h2>Number</h2>
<p>[code lang="html"]<br />
<input type="number" min="0" max="12" step="3" value="6" /> [/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/numbers.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/numbers.png" alt="" title="numbers" width="117" height="35" class="alignnone size-full wp-image-619" /></a></p>
<h2>Search</h2>
<p>[code lang="html"]<br />
<input type="search" /> [/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/search.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/search.png" alt="" title="search" width="162" height="31" class="alignnone size-full wp-image-629" /></a></p>
<h2>Date</h2>
<p>[code lang="html"]<br />
<input type="date" /> [/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/date.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/date.png" alt="" title="date" width="222" height="201" class="alignnone size-full wp-image-620" /></a></p>
<h2>Month</h2>
<p>[code lang="html"]<br />
<input type="month" /> [/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/month.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/month.png" alt="" title="month" width="222" height="201" class="alignnone size-full wp-image-623" /></a></p>
<h2>Week</h2>
<p>[code lang="html"]<br />
<input type="week" /> [/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/week.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/week.png" alt="" title="week" width="222" height="201" class="alignnone size-full wp-image-624" /></a></p>
<h2>Time</h2>
<p>[code lang="html"]<br />
<input type="time" /> [/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/time.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/time.png" alt="" title="time" width="75" height="32" class="alignnone size-full wp-image-625" /></a></p>
<h2>Datetime</h2>
<p>[code lang="html"]<br />
<input type="datetime" /> [/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/datetime.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/datetime.png" alt="" title="datetime" width="222" height="201" class="alignnone size-full wp-image-626" /></a></p>
<h2>Datetime-Local</h2>
<p>[code lang="html"]<br />
<input type="datetime-local" /> [/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/datetime-local.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/datetime-local.png" alt="" title="datetime-local" width="222" height="201" class="alignnone size-full wp-image-627" /></a></p>
<p>Currently, desktop browsers treat the following types as plain text. However, Safari on my iPhone optimizes the keyboard layout.</p>
<h2>Email</h2>
<p>[code lang="html"]<br />
<input type="email" />[/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/IMG_0076.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/IMG_0076-150x150.png" alt="" title="IMG_0076" width="150" height="150" class="alignnone size-thumbnail wp-image-630" /></a></p>
<h2>URL</h2>
<p>[code lang="html"]<br />
<input type="url" />[/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/IMG_0077.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/IMG_0077-150x150.png" alt="" title="IMG_0077" width="150" height="150" class="alignnone size-thumbnail wp-image-631" /></a></p>
<h2>Tel</h2>
<p>[code lang="html"]<br />
<input type="tel" />[/code]<br />
<a href="http://www.johnciacia.com/wp-content/uploads/2010/08/IMG_0079.png"><img src="http://www.johnciacia.com/wp-content/uploads/2010/08/IMG_0079-150x150.png" alt="" title="IMG_0079" width="150" height="150" class="alignnone size-thumbnail wp-image-634" /></a></p>
<p>The next type is built into the HTML5 specification, but I could not find any browser that takes advantage of it.</p>
<h2>Color</h2>
<p>[code lang="html"]<br />
<input type="color" />[/code]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johnciacia.com/2010/08/01/html5-input/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Email Obfuscator</title>
		<link>http://www.johnciacia.com/2009/05/22/email-obfuscator/</link>
		<comments>http://www.johnciacia.com/2009/05/22/email-obfuscator/#comments</comments>
		<pubDate>Sat, 23 May 2009 00:25:21 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[obfuscator]]></category>

		<guid isPermaLink="false">http://www.johnciacia.com/?p=156</guid>
		<description><![CDATA[[code lang="Javascript"] [/code]]]></description>
			<content:encoded><![CDATA[<p>[code lang="Javascript"]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br />
<html xmlns="http://www.w3.org/1999/xhtml"><br />
<head><br />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></p>
<p><script type="text/javascript">
//<![CDATA[
window.onload = function () {
	geo();
}</p>
<p>function geo() {
	if (!document.getElementsByTagName) // Check for browser support
			return false;
	if (rot13)
		var map = rot13init(); </p>
<p>    var links = document.getElementsByTagName('a');</p>
<p>    function geo_decode(anchor) {
        var href = anchor.getAttribute('href');
        var address = href.replace(/.*contact\/([a-z0-9._%-]+)\+([a-z0-9._%-]+)\+([a-z.]+)/i, '$1' + '@' + '$2' + '.' + '$3');
        var linktext = anchor.innerHTML;
            if (href != address) {
                anchor.setAttribute('href','mailto:' + (rot13 ? str_rot13(address,map) : address)); // Add mailto link	
                anchor.innerHTML = linktext; // IE Fix
        }
    }</p>
<p>    for (var l = 0 ; l < links.length ; l++)
    {
        links[l].onclick = function()
        {
            geo_decode(this);
        }</p>
<p>        links[l].onmouseover = function()
        {
                geo_decode(this);</p>
<p>        }
    }
}</p>
<p>var rot13 = 1;</p>
<p>function rot13init() {
	var map = new Array();
	var s = "abcdefghijklmnopqrstuvwxyz";
	for (var i = 0 ; i < s.length ; i++)
		map[s.charAt(i)] = s.charAt((i+13)%26);
	for (var i = 0 ; i < s.length ; i++)
		map[s.charAt(i).toUpperCase()] = s.charAt((i+13)%26).toUpperCase();
	return map;
}</p>
<p>function str_rot13(a,map) {
	var s = "";
	for (var i = 0 ; i < a.length ; i++) {
		var b = a.charAt(i);
		s += (b>='A' &#038;&#038; b<='Z' || b>='a' &#038;&#038; b<='z' ? map[b] : b);
	}
	return s;
}
//]]&gt;
</script><br />
</head></p>
<p><body><br />
<?php</p>
<p>function cloakmail($content) {</p>
<p>	preg_match_all("^[-a-z-A-Z-0-9\._]+@[-a-z-A-Z-0-9\._]+\.[a-z]{2,4}^", $content, $emails);</p>
<p>	for($i = 0; $i < count($emails[0]); $i++) {<br />
		$username = explode("@", $emails[0][$i]);<br />
		$domain = explode(".", str_rot13($username[1]));</p>
<p>		if(count($domain) > 2) {<br />
			$replace = '<a href="contact/' . str_rot13($username[0]) . '+'<br />
			. $domain[0] . '+'<br />
			. $domain[1] . '.'<br />
			. $domain[2] .'" rel="nofollow">' . asc2html($emails[0][$i]) . '</a>';<br />
		} else {<br />
			$replace = '<a href="contact/' . str_rot13($username[0]) . '+'<br />
			. $domain[0] . '+'<br />
			. $domain[1] .'" rel="nofollow">' . asc2html($emails[0][$i]) . '</a>';<br />
		}</p>
<p>		$content = str_replace($emails[0][$i], $replace, $content);<br />
	}</p>
<p>	return $content;<br />
}</p>
<p>function asc2html($email) {<br />
	$html = "";<br />
	$len = strlen($email);<br />
	for($i = 0; $i < $len; $i++) {<br />
		$html .= "&#" . ord($email[$i]);<br />
	}<br />
	return $html;<br />
}</p>
<p>$content = "Sidewinder@anything.extreme-hq.com<br />\n<br />
Sidewinder@extreme-hq.com";</p>
<p>echo cloakmail($content);<br />
?><br />
</body><br />
</html>[/code]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johnciacia.com/2009/05/22/email-obfuscator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: www.johnciacia.com @ 2012-02-05 11:04:19 -->
