<?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>DansNetwork.com &#187; Web</title>
	<atom:link href="http://dansnetwork.com/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://dansnetwork.com</link>
	<description>Web Design, Javascript, CSS, and More...</description>
	<lastBuildDate>Sat, 19 Nov 2011 15:51:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google TV &#8211; An Initial Revue Review</title>
		<link>http://dansnetwork.com/google-tv-revue-review/</link>
		<comments>http://dansnetwork.com/google-tv-revue-review/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 16:07:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[gtv]]></category>
		<category><![CDATA[htpc]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=355</guid>
		<description><![CDATA[I’ve been playing around with the whole ‘HTPC’ thing for a few years now. I’ve had my go at MythTV, XBMC, Windows Media Center, MediaTomb, Ubuntu, etc. There were always hurdles to jump and integration was too expensive or just wasn’t possible. When GTV was introduced, I had high hopes of an elegant solution to [...]]]></description>
			<content:encoded><![CDATA[<div><img src="http://static.dansnetwork.com/media/logitech_revue.jpg" style="float:right;" alt="Revue" />I’ve been playing around with the whole ‘HTPC’ thing for a few years now. I’ve had my go at MythTV, XBMC, Windows Media Center, MediaTomb, Ubuntu, etc. There were always hurdles to jump and integration was too expensive or just wasn’t possible. When GTV was introduced, I had high hopes of an elegant solution to a TV connected media box/PC and wasn't let down after recently receiving my Logitech Revue.</p>
<p>The initial reviews of GTV, from reputable magazines and blog sites, have deemed the Revue/GTV as sub-par. I’ve read the following ‘cons’:<br />
<section style="border:1px solid #999; border-color:#C33; padding:0 10px;"></p>
<ul>
<li>-- Setup takes too long</li>
<li>-- Only integrates with Dish Network</li>
<li>-- Too complicated</li>
<li>-- It won’t replace your existing television provider</li>
<li>-- You can’t enter in a URL to go directly to a web page (you can only search)</li>
</ul>
<p><i>Issues that were resolved in one of the first updates:</i></p>
<ul>
<li>-- immovable picture-in-picture box</li>
<li>-- outdated Netflix app</li>
</ul>
<p></section></p>
<p>- The setup probably takes about 15-20min (you are warned in the beginning). You have to realize what is going on in this initial setup: an initial software/firmware update, screen/resolution adjustments, the IR setup of your AV equipment so that you can control it all from the keyboard/remote, etc. The AV integration setup is similar to that of other Logitech Harmony devices and it’s all done on the TV screen through menus (MFR and model # is all that’s needed).</p>
<p>- I actually believed that it only integrated with Dish Network. I have DirecTV and after entering the model number of my satellite box, GTV was able to change channels, run the guide, menu, etc. Here’s another example of its integration:<br />
‘Judge Judy’ was on CBS and I was watching ABC. I pulled up the search box and typed in ‘judge judy’. Several result options were displayed and the first one was ‘<i>judge judy - now playing - WBBM</i>’. After choosing this result, the channel was instantly changed to CBS.</p>
<p>- GTV is far easier to operate than any previous solution that I’ve used. It was never meant to replace your television provider. I read in Maximum PC:<i> ‘If you wish to navigate directly to a website, you must type the URL into a search box and then pick out the link from the results’</i>. This is false. Maybe this was an issue resolved in the latest update... The only issue that I have so far is the inability of switching the content of the PIP window.</p>
<p>The best part about GTV is that it overlays the current display on your TV. This just isn’t possible with other solutions. Whenever you wanted to use your HTPC, you’d have to switch video inputs on your TV; ugh, what a hassle. Another notable feature is that it seems to 'pause' the Flash player when you switch between web content and TV!</p>
<p>I think the GTV is excellent as it is and it’ll only get better with updates. I believe the networks that are currently blocking GTV (ABC, CBS, NBC, Hulu, etc. - via Adobe Flash signature/version) will smarten up and unblock in the near future. Why would they not want more content viewers? More people to sell ads to?<br />
Currently at $250, you aren’t going to put together an HTPC with the same features and level of integration!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/google-tv-revue-review/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Use Gmail To Filter Hotmail Spam</title>
		<link>http://dansnetwork.com/use-gmail-to-filter-hotmail-spam/</link>
		<comments>http://dansnetwork.com/use-gmail-to-filter-hotmail-spam/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 01:21:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=201</guid>
		<description><![CDATA[Still haven't managed to get rid of that embarrassing Hotmail account?  Me neither!
Gmail allows you to retrieve the email from other  email accounts via POP3 (just as many desktop email clients do). The  nice thing about it is that it will also filter email from that account  and mark suspected SPAM [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Still haven't managed to get rid of that embarrassing Hotmail account?  Me neither!</p>
<p>Gmail allows you to retrieve the email from other  email accounts via POP3 (just as many desktop email clients do). The  nice thing about it is that it will also filter email from that account  and mark suspected SPAM as such.</p>
<p>This feature is found in<strong>:<br />
Gmail  -&gt; Settings -&gt; Accounts and Import (tab) -&gt; Check mail using  POP3</strong></p>
<p>I set mine up to delete mail from Hotmail's server upon  retrieval to prevent email clog up. Also be sure to tag your Hotmail, so  it doesn't get mixed in with the important stuff. You may still need to  log into Hotmail occasionally to prevent them from shutting down your  account. I've thought about setting up another Gmail account to replace  my beloved Microsoft email acct. but...</p>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/use-gmail-to-filter-hotmail-spam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test With IE On Your Mac OS X</title>
		<link>http://dansnetwork.com/test-with-ie-on-your-mac-os-x/</link>
		<comments>http://dansnetwork.com/test-with-ie-on-your-mac-os-x/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 19:33:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ietester]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=171</guid>
		<description><![CDATA[Requirements:
- Mac OS X (Snow Leopard was used for this article)
- XAMPP/Apache  or Mac webserver of your choice
- VirtualBox
- Windows  XP, Vista, or 7 install disk
- IETester (allows for testing in  multiple flavors of Internet Explorer using tabs)
We've all seen  this show before. The tricky part is finding your way back [...]]]></description>
			<content:encoded><![CDATA[<p>Requirements:<br />
- <strong>Mac OS X</strong> (Snow Leopard was used for this article)<br />
- <strong>XAMPP/Apache  or Mac webserver of your choice<br />
- <a title="VirtualBox" href="http://virtualbox.org">VirtualBox</a><br />
- Windows  XP, Vista, or 7 install disk<br />
- <a title="IETester" href="http://www.my-debugbar.com/wiki/IETester/HomePage">IETester</a></strong> (allows for testing in  multiple flavors of Internet Explorer using tabs)</p>
<p>We've all seen  this show before. The tricky part is finding your way back to XAMPP  (Apache) from IE Tester while maintaining a consistent base URL. This  isn't important when running a few static websites, but many frameworks  have this value stored in its database. When you view your site using a  different URL, links to static files (CSS, images, etc.) and other pages  become broken. In a few easy steps I'm going to show you one method to  resolve this issue.</p>
<p>Go ahead and install the above applications  and OSes if you haven't already. Use the default network mode  of "NAT" for VirtualBox. I'm going to assume that you can access your  local sites (from your Mac) using - http://localhost/<em>sitename</em>/</p>
<p>- <strong>Step  1:</strong> Boot up your Windows install and use ipconfig (Run -&gt; cmd  -&gt; ipconfig) to get your gateway IP. It was 10.0.0.2 for me.</p>
<p>- <strong>Step  2:</strong> Add the following lines to both system's (Mac and virtual  Windows install) hosts files (http://en.wikipedia.org/wiki/Hosts_file).  'localhost.com' can be replaced with a URL of your choice.</p>
<pre class="brush: plain;">
# Mac:
localhost.com 127.0.0.1

# Windows:
localhost.com 10.0.0.2
</pre>
<p>- <strong>Step 3:</strong> Be sure  that all of your web frameworks (Wordpress, Magento, etc.) are aware of  your new base URL 'localhost.com' (or whatever you chose in step 2).</p>
<p>- <strong>Step  4:</strong> Access one of your sites from each of your operating system's  browser using - http://localhost.com/<em>sitename</em>/</p>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/test-with-ie-on-your-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Content Expirator &#8211; jQuery Content Expiration Plugin</title>
		<link>http://dansnetwork.com/content-expirator-jquery-content-expiration-plugin/</link>
		<comments>http://dansnetwork.com/content-expirator-jquery-content-expiration-plugin/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 20:19:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=125</guid>
		<description><![CDATA[Content Expirator is a jQuery utility plugin that provides an easy way to give DOM elements an expiration date. If the element is found to be expired, its 'display' parameter is set to 'none'. A better approach would be to perform this function server side with a server side language, but this is a quick [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.dansnetwork.com/img/content_expirator.jpg" class="right" alt="Content Expirator" title="Content Expirator" /><strong>Content Expirator</strong> is a jQuery utility plugin that provides an easy way to give DOM elements an expiration date. If the element is found to be expired, its 'display' parameter is set to 'none'. <i>A better approach would be to perform this function server side with a server side language, but this is a quick and easy way to implement it client side.</i></p>
<p><strong>Download:</strong> <a href="http://static.dansnetwork.com/source/jQuery/jquery.content_expirator-0.1.0.js" title="Content Expirator">jquery.content_expirator-0.1.0.js</a></p>
<p>&nbsp;</p>
<p class="clear">Let's say your client has given you a flyer to put on their website for an event.</p>
<pre class="brush: xml;">&lt;img src=&quot;easter_flyer_2010.jpg&quot; class=&quot;aligncenter&quot; alt=&quot;Easter Flyer&quot; /&gt;</pre>
<p>After Easter is over, you're going to want to take this flyer off of their site. Instead of manually editing the site on the Monday after Easter to take it down, you can give it an expiration date so that it isn't displayed after Easter.</p>
<pre class="brush: xml;">&lt;img src=&quot;easter_flyer_2010.jpg&quot; class=&quot;exp-2010-04-04 aligncenter&quot; alt=&quot;Easter Flyer&quot; /&gt;</pre>
<p>The Content Expirator looks for an element containing a class name (must be the first one listed) containing the prefix 'exp'. When it comes across one, it compares the date (formatted year-month-day) with the current day to decide if the element's 'display' (style) parameter should be set to 'none'.</p>
<p>Calling The Function:</p>
<p>default:</p>
<pre class="brush: jscript;">$(document).ready(function(){
    jQuery.contentExpirator();
});
// looks for -&gt; 'exp-year-month-day'</pre>
<p>custom prefix:</p>
<pre class="brush: jscript;">$(document).ready(function(){
    jQuery.contentExpirator('end');
});
// looks for -&gt; 'end-year-month-day'</pre>
<div class="codenplay">
&lt;script&gt;
<textarea class="cpJS">
(function($){
    $.contentExpirator = function(prfx){
        var pfix = prfx || 'exp';
        $("[class|="+pfix+"]").each(function(){
            var eString = $(this).attr('class').split(' ')[0];
            var dString = eString.split('-');
            var d = new Date(dString[1],dString[2].toString()-1,dString[3]);
            var today = new Date();
            if(d < today){
                $(this).css('display','none');
            }
        });
    }
})(jQuery);</textarea>
&lt;html&gt;
<textarea class="cpHTML">
<!doctype html>
<html lang="en" class="no-js">
<head>
  
  <meta charset="utf-8" />
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
  <script>
    $(document).ready(function(){
      jQuery.contentExpirator();
    });
  </script>
</head>
<body>
  <div class="exp-2100-12-03">You Should See Me</div>
  <div class="exp-2010-12-03">You Should Not See Me</div>
</body>
</html>
</textarea>
Result:<br /><iframe src="http://dansnetwork.com/wp-content/plugins/codenplay/index.html" class="cpResult run"></iframe><br /><a class="cpRun" title="Run" href="#run">Run</a></div><script type="text/javascript">var codenplay={}; codenplay.WP_PLUGIN_URL = "http://dansnetwork.com/wp-content/plugins";</script><script type="text/javascript" src="http://dansnetwork.com/wp-content/plugins/codenplay/js/LAB.min.js"></script><link rel="stylesheet" type="text/css" href="http://dansnetwork.com/wp-content/plugins/codenplay/css/style.css" />]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/content-expirator-jquery-content-expiration-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Round Half To Even With Javascript</title>
		<link>http://dansnetwork.com/round-half-to-even-with-javascript/</link>
		<comments>http://dansnetwork.com/round-half-to-even-with-javascript/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 02:19:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Financial]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=69</guid>
		<description><![CDATA[Updated: v0.2.1 
(special thanks to: Donatas v0.2.0 (http://happycode.info)
The following script provides an easy way to perform unbiased rounding, convergent rounding, statistician's rounding, Dutch rounding, Gaussian rounding, or bankers' rounding using Javascript.
Examples
var numToRound = 10.005;
numToRound.rhte(0.01);
result: 10.00
var numToRound = 10.0015;
numToRound.rhte(0.001);
result: 10.002
var numToRound = 10.00500000001;
numToRound.rhte(0.01);
result: 10.01
var numToRound = 1005001;
numToRound.rhte(10000);
result: 1010000&#160;

&#60;script&#62;

/*
  Round Half To Even (rhte) extends the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Updated: v0.2.1 </p>
<p>(special thanks to: Donatas v0.2.0 (<a href="http://happycode.info">http://happycode.info</a>)</strong></p>
<p>The following script provides an easy way to perform unbiased rounding, convergent rounding, statistician's rounding, Dutch rounding, Gaussian rounding, or bankers' rounding using Javascript.</p>
<p><span style="text-decoration: underline;">Examples</span></p>
<p><em>var numToRound = 10.005;<br />
numToRound.rhte(0.01);<br />
result: <span style="text-decoration: underline;">10.00</span></em></p>
<p><strong>var numToRound = 10.0015;<br />
numToRound.rhte(0.001);<br />
result: <span style="text-decoration: underline;">10.002</span></strong></p>
<p><em>var numToRound = 10.00500000001;<br />
numToRound.rhte(0.01);<br />
result: <span style="text-decoration: underline;">10.01</span></em></p>
<p><strong>var numToRound = 1005001;<br />
numToRound.rhte(10000);<br />
result: <span style="text-decoration: underline;">1010000</span></strong><br />&nbsp;</p>
<div class="codenplay">
&lt;script&gt;
<textarea class="cpJS">
/*
  Round Half To Even (rhte) extends the 'Number' and 'String' objects
  Argument(placeToRound) examples: 0.0001,0.01,1,10,100
  Usage:
    Number.rhte(rounding value)
      (124.34450000).rhte(0.001) - [Result: 124.344]
      (124.34450001).rhte(0.001) - [Result: 124.345]
      (124.34550000).rhte(0.001) - [Result: 124.346]
    String.rhte(rounding value)
      '124.34450000'.rhte(0.001) - [Result: 124.344]
      '124.34450001'.rhte(0.001) - [Result: 124.345]
      '124.34550000'.rhte(0.001) - [Result: 124.346]
*/
var rhte = function(placeToRound){
  var fixed = placeToRound.toString().split('.').length < 2 ? 0 : placeToRound.toString().split('.')[1].length,
  numParts = {
    mvDec : (this/placeToRound).toFixed(this.toString().length).toString().split('.'),
    wholeNum: function(){return parseInt(this.mvDec[0],10);},
    dec: function(){return this.mvDec.length > 1 ? parseFloat('0.'+this.mvDec[1]) : 0;},
    oddEven: function(){return (this.wholeNum() % 2 === 1) ? 1 : 0;}
  };
      
  if(numParts.dec() !== 0.5){
    return(numParts.dec() > 0.5) ? parseFloat(((numParts.wholeNum()+1)*placeToRound).toFixed(fixed)) : parseFloat((numParts.wholeNum()*placeToRound).toFixed(fixed));
  }
  else{
    if(numParts.oddEven() === 1){
      return parseFloat(((numParts.wholeNum()+1)*placeToRound).toFixed(fixed));
    }
    else{
      return parseFloat((numParts.wholeNum()*placeToRound).toFixed(fixed));
    }
  }
};
Number.prototype.rhte = rhte;
String.prototype.rhte = rhte;

test("Unit Tests", function() { //QUnit Tests
  ok( (1.000).rhte(1) === 1, "(1.000).rhte(1) === 1" );
  ok( ('1.000').rhte(1) === 1, "('1.000').rhte(1) === 1" );
  ok( (1.01).rhte(0.001) === 1.010, "(1.01).rhte(0.001) === 1.010" );
  ok( (10.0501).rhte(0.1) === 10.1, "(10.0501).rhte(0.1) === 10.1" );
  ok( (1.01499999).rhte("0.01") === 1.01, "(1.01499999).rhte(\"0.01\") === 1.01" );
  ok( (1.0150000000).rhte(0.01) === 1.02, "(1.0150000000).rhte(0.01) === 1.02" );
  ok( (476).rhte(50) === 500, "(476).rhte(50) === 500" );
});

</textarea>
&lt;html&gt;
<textarea class="cpHTML">
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<link rel="stylesheet" href="https://github.com/jquery/qunit/raw/master/qunit/qunit.css" type="text/css" />
<script type="text/javascript" src="https://github.com/jquery/qunit/raw/master/qunit/qunit.js"></script>
<meta charset=utf-8 />

<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
  article, aside, figure, footer, header, hgroup,
  menu, nav, section { display: block; }
  body{background-color:#000;}
</style>
</head>
<body>
   <h1 id="qunit-header">QUnit Tests</h1>
   <h2 id="qunit-banner"></h2>
   <div id="qunit-testrunner-toolbar"></div>
   <h2 id="qunit-userAgent"></h2>
   <ol id="qunit-tests"></ol>
   <div id="qunit-fixture"></div>
</body>
</html>

</textarea>Result:<br /><iframe src="http://dansnetwork.com/wp-content/plugins/codenplay/index.html" class="cpResult run"></iframe><br /><a class="cpRun" title="Run" href="#run">Run</a></div><script type="text/javascript">var codenplay={}; codenplay.WP_PLUGIN_URL = "http://dansnetwork.com/wp-content/plugins";</script><script type="text/javascript" src="http://dansnetwork.com/wp-content/plugins/codenplay/js/LAB.min.js"></script><link rel="stylesheet" type="text/css" href="http://dansnetwork.com/wp-content/plugins/codenplay/css/style.css" />]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/round-half-to-even-with-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress postMash Widget</title>
		<link>http://dansnetwork.com/wordpress-postmash-widget/</link>
		<comments>http://dansnetwork.com/wordpress-postmash-widget/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 21:57:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=56</guid>
		<description><![CDATA[I really like the postMash plugin for Wordpress. It allows you to drag and drop your posts into any order. This is great when using posts as events. You can put them into the order that they'll occur rather than the order that you posted them. The only problem is that the Recent Posts widget [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I really like the <a href="http://joelstarnes.co.uk/blog/postMash/">postMash</a> plugin for Wordpress. It allows you to drag and drop your posts into any order. This is great when using posts as events. You can put them into the order that they'll occur rather than the order that you posted them. The only problem is that the Recent Posts widget won't match your post order once you've re-ordered them.</p>
<p style="text-align: left;">Here I've modified the Recent Posts widget (file: /wp-includes/<strong>default-widgets.php</strong>) so that it'll work with this plugin.</p>
<p>
Insert the following code after line #545 (<em>$r = new WP_Query(array('showposts' =>...</em>)(WP ver-2.8)</p>
<pre class="brush: php;">
$r-&gt;set('orderby', 'menu_order');
$r-&gt;set('order', 'ASC');
$r-&gt;get_posts();
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/wordpress-postmash-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Classes &#8211; An Object Oriented Approach</title>
		<link>http://dansnetwork.com/jquery-classes-object-oriented-approach/</link>
		<comments>http://dansnetwork.com/jquery-classes-object-oriented-approach/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 04:40:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://dansnetwork.com/?p=33</guid>
		<description><![CDATA[MooTools has been my framework of choice for the past couple of years. I've worked my way up to using Classes for most of my projects and really liked using the OOP approach. For the past couple of projects, I started using Wordpress as my CMS and every time ended up using jQuery. I was [...]]]></description>
			<content:encoded><![CDATA[<p>MooTools has been my framework of choice for the past couple of years. I've worked my way up to using <a title="MooTools Classes" href="http://mootools.net/docs/Class/Class">Classes</a> for most of my projects and really liked using the OOP approach. For the past couple of projects, I started using Wordpress as my CMS and every time ended up using jQuery. I was disappointed to find out that it didn't have the native Class library that MooTools did. Fortunately there is a plugin available to assist with this task:</p>
<p>- A plugin that adds class functionality to jQuery: <a title="jQuery-Klass" href="http://code.google.com/p/jquery-klass/">jQuery-Klass</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/jquery-classes-object-oriented-approach/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New BBC Radio 1 RTSP Stream Format</title>
		<link>http://dansnetwork.com/new-bbc-radio-1-rtsp-stream-format/</link>
		<comments>http://dansnetwork.com/new-bbc-radio-1-rtsp-stream-format/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 16:24:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[radio1]]></category>
		<category><![CDATA[rip]]></category>
		<category><![CDATA[rtsp]]></category>

		<guid isPermaLink="false">http://blog.dansnetwork.com/2009/02/14/new-bbc-radio-1-rtsp-stream-format/</guid>
		<description><![CDATA[Every week or two I rip some new music from Radio 1 for my IPod Nano w/RockBox firmware (had to throw that in). It looks like they've changed the stream URL format. They used to use the DJ's name in the URL, but now they are using the day of week and show time. Here's [...]]]></description>
			<content:encoded><![CDATA[<p>Every week or two I rip some new music from Radio 1 for my IPod Nano w/RockBox firmware (had to throw that in). It looks like they've changed the stream URL format. They used to use the DJ's name in the URL, but now they are using the day of week and show time. Here's a couple examples.</p>
<pre class="brush: jscript;">

Pete Tong:
rtsp://rmv8.bbc.net.uk:554/radio1coyopa/radio_1_-_friday_1900.ra

Fabio and Grooverider:
rtsp://rmv8.bbc.net.uk:554/radio1coyopa/radio_1_-_sunday_0100.ra
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/new-bbc-radio-1-rtsp-stream-format/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JavaScript ISO8601/RFC3339 Date Parser</title>
		<link>http://dansnetwork.com/javascript-iso8601rfc3339-date-parser/</link>
		<comments>http://dansnetwork.com/javascript-iso8601rfc3339-date-parser/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 03:26:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[iso8601]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.dansnetwork.com/2008/11/01/javascript-iso8601rfc3339-date-parser/</guid>
		<description><![CDATA[Updated (bug fix): 2-11-09
In need of a JavaScript function that would parse an ISO8601 compliant date, I came across an attempt (http://delete.me.uk/2005/03/iso8601.html) and rewrote it (because I'm all about reinventing the wheel). My function extends the Date object and allows you to pass in an ISO8601 date (2008-11-01T20:39:57.78-06:00). The function will then return the Date. [...]]]></description>
			<content:encoded><![CDATA[<p>Updated (bug fix): 2-11-09</p>
<p>In need of a JavaScript function that would parse an ISO8601 compliant date, I came across an attempt (<a href="http://delete.me.uk/2005/03/iso8601.html" title="iso8601">http://delete.me.uk/2005/03/iso8601.html</a>) and rewrote it (because I'm all about reinventing the wheel). My function extends the Date object and allows you to pass in an ISO8601 date (<strong>2008-11-01T20:39:57.78-06:00</strong>). The function will then return the Date. In the date string argument the dashes and colons are optional. The decimal point for milliseconds is mandatory (although specifying milliseconds isn't). If a timezone offset is specified, the '+' or '-' sign must be included. This function should also work with iCalendar(RFC2445) formatted dates. If a the date string doesn't match the format, there will be a final attempt to parse it with the built in Date.parse() method.</p>
<p>Code:</p>
<pre class="brush: jscript;">

Date.prototype.setISO8601 = function(dString){

var regexp = /(\d\d\d\d)(-)?(\d\d)(-)?(\d\d)(T)?(\d\d)(:)?(\d\d)(:)?(\d\d)(\.\d+)?(Z|([+-])(\d\d)(:)?(\d\d))/;

if (dString.toString().match(new RegExp(regexp))) {
var d = dString.match(new RegExp(regexp));
var offset = 0;

this.setUTCDate(1);
this.setUTCFullYear(parseInt(d[1],10));
this.setUTCMonth(parseInt(d[3],10) - 1);
this.setUTCDate(parseInt(d[5],10));
this.setUTCHours(parseInt(d[7],10));
this.setUTCMinutes(parseInt(d[9],10));
this.setUTCSeconds(parseInt(d[11],10));
if (d[12])
this.setUTCMilliseconds(parseFloat(d[12]) * 1000);
else
this.setUTCMilliseconds(0);
if (d[13] != 'Z') {
offset = (d[15] * 60) + parseInt(d[17],10);
offset *= ((d[14] == '-') ? -1 : 1);
this.setTime(this.getTime() - offset * 60 * 1000);
}
}
else {
this.setTime(Date.parse(dString));
}
return this;
};
</pre>
<p>Usage:</p>
<pre class="brush: jscript;">

var today = new Date();
today.setISO8601('2008-12-19T16:39:57.67Z');
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/javascript-iso8601rfc3339-date-parser/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MooTools Events Calendar &#8211; Web Embeddable Javascript Calendar</title>
		<link>http://dansnetwork.com/mootools-events-calendar-web-embeddable-javascript-calendar/</link>
		<comments>http://dansnetwork.com/mootools-events-calendar-web-embeddable-javascript-calendar/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 02:06:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://blog.dansnetwork.com/2008/10/03/mootools-events-calendar-web-embeddable-javascript-calendar/</guid>
		<description><![CDATA[This is the official release of the unofficial MooTools Events Calendar. It is an embeddable web calendar that was built using the MooTools JavaScript framework. Currently, it is still under development, but may be sufficient for your needs. Check out the project page here: MooTools Events Calendar
-
v0.3.0 (August 5, 2009)


Accepts events that span across multiple [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://dansnetwork.com/mootools/images/mooECal_150.jpg" border="0" alt="Month View" hspace="10" vspace="5" width="150" height="81" align="left" />This is the official release of the unofficial MooTools Events Calendar. It is an embeddable web calendar that was built using the MooTools JavaScript framework. Currently, it is still under development, but may be sufficient for your needs. Check out the project page here: <a title="MooTools Events Calendar" href="http://dansnetwork.com/mootools/events-calendar/">MooTools Events Calendar</a></p>
<p>-</p>
<p><strong><span style="text-decoration: underline;">v0.3.0 (August 5, 2009)<br />
</span></strong></p>
<ul>
<li>Accepts events that span across multiple days</li>
<li>MooTools v1.2.3 required.</li>
</ul>
<p><strong><span style="text-decoration: underline;">v0.2.2 (April 11, 2009)<br />
</span></strong></p>
<ul>
<li>Fixed a rendering problem for people outside of the U.S.</li>
<li>Added the option for weeks to start on Monday</li>
</ul>
<p><strong><span style="text-decoration: underline;">v0.2.1 (Feb 9, 2009)<br />
</span></strong></p>
<ul>
<li>bug fix - usage error with parseInt(). Events wouldn't load on the 8th and 9th of a month.</li>
<li>HTML allowed in events. This allows for events to link elsewhere.</li>
</ul>
<p><strong><span style="text-decoration: underline;">v0.2.0 (Feb 1, 2009) </span></strong></p>
<ul>
<li>uses plug-ins or direct loading through the constructor for events</li>
<li>uses iCal/ISO 8601 dates/times for event input</li>
<li>different style sheets can be used for 3 different sized calendars</li>
</ul>
<p><span style="text-decoration: underline;"><strong>v0.1.0 (Oct 3, 2008) </strong></span></p>
<ul>
<li>month, week, and day views</li>
<li>tool tips for month view events (using Tips)</li>
<li>scrolling day events for month view (using Scroller)</li>
<li>events loaded manually or possibly through a JSON feed</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dansnetwork.com/mootools-events-calendar-web-embeddable-javascript-calendar/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

