 <?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>Devin R. Olsen Web Developer &#187; JavaScript Tutorials</title>
	<atom:link href="http://www.devinrolsen.com/category/javascript-tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.devinrolsen.com</link>
	<description>From Developer to Developer Information and Sharing</description>
	<lastBuildDate>Sat, 14 Jan 2012 02:25:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Combat Extreme &#8211; Facebook 3D Shooter</title>
		<link>http://www.devinrolsen.com/combat-extreme-facebook-3d-shooter-video-game/</link>
		<comments>http://www.devinrolsen.com/combat-extreme-facebook-3d-shooter-video-game/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 17:48:49 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[3D Tutorials]]></category>
		<category><![CDATA[Ajax Tutorials]]></category>
		<category><![CDATA[CSS Tutorials]]></category>
		<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[General Web Development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[Magento Tutorials]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[SEO Tutorials]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[3d combat facebook]]></category>
		<category><![CDATA[3d combat game]]></category>
		<category><![CDATA[3d facebook game]]></category>
		<category><![CDATA[combat]]></category>
		<category><![CDATA[combat 3d game]]></category>
		<category><![CDATA[combat extreme]]></category>
		<category><![CDATA[extreme]]></category>
		<category><![CDATA[extreme combat facebook game]]></category>
		<category><![CDATA[extreme combat game facebook]]></category>
		<category><![CDATA[facebook 3d combat game]]></category>
		<category><![CDATA[facebook 3d game]]></category>
		<category><![CDATA[facebook combat video game]]></category>
		<category><![CDATA[facebook shooter]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[shooter game]]></category>
		<category><![CDATA[third-person]]></category>
		<category><![CDATA[video game]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=1541</guid>
		<description><![CDATA[My little brother and I have been working on this third-person shooter video game together for well over a year now, come check it out and play for free through your web browser!]]></description>
			<content:encoded><![CDATA[<p>Hi readers! I thought I would take a different pace today, and instead of teaching lets play some games shall we? For over a year now I and my little brother have been working tirelessly on our first &#8220;Third-person shooter&#8221; video game.</p>
<p><iframe src="http://www.youtube.com/embed/rhx_eJxyRv8" frameborder="0" width="420" height="315"></iframe></p>
<p><strong><a title="Combat Extreme - Third-person shooter on Facebook.com" href="https://www.combat-extreme.com/">CLICK HERE TO START PLAYING OUR GAME!</a></strong></p>
<p>So what makes this game so different you ask? Well the game is completely browser-based. That&#8217;s right, a full 3D environment third person shooting game that is playable through your web browser!</p>
<p>It&#8217;s a simple game of Marines vs. Insurgents based in a mideast town (for the BETA at least, we have three total levels for full release of the video game).</p>
<p>We used the Unity3d game engine to develop this game, and although our game is still in a official &#8220;BETA&#8221; title, I felt it was finally time to share this awesome work with the rest of my readers and the world.</p>
<p>In order to play Combat Extreme (the 3d third-person shooter) on Facebook through your web browser, you must have the unity3d web player installed. The web player is designed specifically to render geometry and post process effects directly through ones browsers (Yes even IE).</p>
<p>Combat Extreme (the 3d third-person shooter) is indeed exclusive to facebook.com right now and may or may not be opened to further social gaming markets. We really wanted to create a seamless experience for our UX, and insisting the user create a new account with an email address conformation + allow the app on their page was asking way too much. Thus, we eliminated the biggest step and allow our users to login to Combat Extreme (the 3d third-person shooter game) through their facebook account.</p>
<p><strong><a title="Combat Extreme - Third-person shooter on Facebook.com" href="https://www.combat-extreme.com/">CLICK HERE TO START PLAYING OUR GAME!</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/combat-extreme-facebook-3d-shooter-video-game/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Basic jQuery touchmove Event Setup</title>
		<link>http://www.devinrolsen.com/basic-jquery-touchmove-event-setup/</link>
		<comments>http://www.devinrolsen.com/basic-jquery-touchmove-event-setup/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 05:13:53 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[jquery touchmove]]></category>
		<category><![CDATA[jquery touchmove coordinates]]></category>
		<category><![CDATA[jquery touchmove event]]></category>
		<category><![CDATA[touchmove coordinates jquery]]></category>
		<category><![CDATA[touchmove event jquery]]></category>
		<category><![CDATA[touchmove jquery]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=1182</guid>
		<description><![CDATA[I was recently tasked with replicating a "mousemove()" event on the iPad using the "touchmove()" event. I ran into a few snags and felt it was worthy enough to document my findings. Here I will show you how to properly setup a touchmove() event and even find the touch's page coordinates.]]></description>
			<content:encoded><![CDATA[<p>I was recently tasked with replicating a &#8220;mousemove()&#8221; event on the iPad using the &#8220;touchmove()&#8221; event. I ran into a few snags and felt it was worthy enough to document my findings.</p>
<p>Here is the basic setup for using the &#8220;touchmove()&#8221; event:</p>
<pre>$('#someElm').bind('touchmove',function(e){
      <span style="text-decoration: underline;"><strong>e.preventDefault();</strong></span>
      //CODE GOES HERE
});
</pre>
<p>Nothing really different about the setup behind the &#8220;touchmove()&#8221; event and any other native jQuery event. The only difference is that when using a &#8220;touchmove()&#8221;, you must always start your event handler with a event preventDefault();.</p>
<p>Next, its important to point out that if our script is ran as is, you will run into some issues with events being sent to your touch handlers, and none of them having whats called &#8220;e.touches&#8221; or &#8220;e.changedTouches&#8221; properties.</p>
<blockquote><p>&#8220;After deep debugging, I eventually discovered that the source of this problem was the <a href="http://github.com/jquery/jquery/blob/master/src/event.js#L430"><code>fix</code> method</a> in jquery&#8217;s event code.  The <code>fix</code> method tries to copy the event object in order to fix various cross  browser issues.  Unfortunately, it seems that mobile safari does not  allow the <code>e.touches</code> and <code>e.changedTouches</code> properties on event objects to be copied to another object.  This is  weird and annoying.  Luckily you can get around this issue by using <code>e.originalEvent</code>.&#8221; -  <a href="http://www.the-xavi.com/articles/trouble-with-touch-events-jquery"><em>http://www.the-xavi.com/articles/trouble-with-touch-events-jquery</em></a></p></blockquote>
<p>So to fix our issue we can simply create a new &#8220;touch&#8221; variable, then condition both &#8220;.originalEvent&#8221; and &#8220;.changedTouches&#8221; to this variable, like so:</p>
<pre>$('#someElm').bind('touchmove',function(e){
      e.preventDefault();
      <span style="text-decoration: underline;"><strong>var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];</strong></span>
      //CODE GOES HERE
      console.log(touch.pageY+' '+touch.pageX);
});
</pre>
<p>I included a little console.log() demo showing how you could test your &#8220;touchmove()&#8221; event coordinates.</p>
<h2>The Problem:</h2>
<p>There is one slight problem (<em>depending on your functionality needs</em>) when using this &#8220;touchmove()&#8221;. The event continues to fire even when your &#8220;touch&#8221; has moved out side the element.</p>
<p>So in other words, it seems that once the event has started, it&#8217;s no longer confined to the element its being assigned to.</p>
<h2>The Fix:</h2>
<p>There is no real solid fix for this issue yet, however you can band-aid the issue with a little math.</p>
<p>Basically, by trimming the elements top and left offset from both of the touchmove&#8217;s x  and y event coordinates. You can then condition these trimmed values against  both the elements width and height (respectively of course).</p>
<h2>Completed touchmove() Event with jQuery with Confined Fix:</h2>
<pre>$('#someElm').bind('touchmove',function(e){
      e.preventDefault();
      var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
      <strong><span style="text-decoration: underline;">var elm = $(this).offset();</span>
      <span style="text-decoration: underline;">var x = touch.pageX - elm.left;</span>
      <span style="text-decoration: underline;">var y = touch.pageY - elm.top;</span>
      <span style="text-decoration: underline;">if(x &lt; $(this).width() &amp;&amp; x &gt; 0){</span>
	      <span style="text-decoration: underline;">if(y &lt; $(this).height() &amp;&amp; y &gt; 0){</span>
                  //CODE GOES HERE
                  console.log(touch.pageY+' '+touch.pageX);
	      <span style="text-decoration: underline;">}</span>
      <span style="text-decoration: underline;">}</span></strong>
});
</pre>
<p>Vole! No matter where the location of the element to the page, or the width and height of the element, the event will only be fired in side of the element.</p>
<p>And that&#8217;s your basic setup for a &#8220;touchmove()&#8221; event using jQuery alone.</p>
<p>Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/basic-jquery-touchmove-event-setup/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery Selector Chain Conditions</title>
		<link>http://www.devinrolsen.com/jquery-selector-chain-conditions/</link>
		<comments>http://www.devinrolsen.com/jquery-selector-chain-conditions/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 04:19:02 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[chain]]></category>
		<category><![CDATA[chain selector condition]]></category>
		<category><![CDATA[chain selector conditions]]></category>
		<category><![CDATA[chaining]]></category>
		<category><![CDATA[chaining selector condition]]></category>
		<category><![CDATA[chaining selector conditions]]></category>
		<category><![CDATA[condition]]></category>
		<category><![CDATA[condition jquery selector chain]]></category>
		<category><![CDATA[conditions]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jquery chain selector condition]]></category>
		<category><![CDATA[jquery chain selector conditions]]></category>
		<category><![CDATA[jquery chaining selector condition]]></category>
		<category><![CDATA[jquery chaining selector conditions]]></category>
		<category><![CDATA[jquery selector]]></category>
		<category><![CDATA[jquery selector chain condition]]></category>
		<category><![CDATA[jquery selector condition]]></category>
		<category><![CDATA[jquery selectors]]></category>
		<category><![CDATA[selector]]></category>
		<category><![CDATA[selector chain]]></category>
		<category><![CDATA[selector chaining]]></category>
		<category><![CDATA[selector condition]]></category>
		<category><![CDATA[selectors]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=1169</guid>
		<description><![CDATA[There has been a few times while writing a few jQuery plugins that I come across conditions that almost does the same thing in both the if and else. I always wondered if their was a way to condense such a condition and help lower my file size, and after a little bit of tweaking I figured it out.]]></description>
			<content:encoded><![CDATA[<p>There has been a few times while writing a few jQuery plugins, that I came across a condition that basically does the same thing in both the if and else, and it always bothers me. I always wondered if their was a way to condense such a condition and help lower my file size, and after a little bit of tweaking I figured it out.</p>
<p>Take this scenario for instance:</p>
<h2>The Problem:</h2>
<pre>if(animate == true){
    $('#someElm').animate({
        width:'512px',
        height:'512px'
    });
}else{
    $('#someElm').css({
        width:'512px',
        height:'512px'
    });
}
</pre>
<p>We have a bool variable (<em>animate</em>) that we condition against to either animate or set our element&#8217;s (<em>#someElm</em>) width and height. So why is the above bad exactly?</p>
<ul>
<li>Wasted bytes in our script by using this if/else condition.</li>
<li>We have to use two selectors that point to the same element.</li>
<li>Both conditions are altering the same styles thus it&#8217;s again a waste of script bytes.</li>
</ul>
<p>Hopefully you look at the above little piece of code in shame as much as I do now, and ponder on how one could possibly condense such a condition?</p>
<h2>The Solution:</h2>
<pre>$('#someElm')[(animate == true) ? 'animate' : 'css']({
    width:'512px',
    height:'512px'
});
</pre>
<p>In the above solution, we have inserted ([...]) an area that we can use to condition our jquery chaining. So in the above solution I have opened this condition area up, and conditioned our bool animate variable again. Depending on the results from our bool animate variable, our selector chooses to either use the animate or css in our chain.</p>
<p>So in a nut shell we have solved the following:</p>
<ul>
<li>No more wasteful if/else condition.</li>
<li>No more need for two selectors.</li>
<li>The values that are either set via &#8220;animate&#8221; or &#8220;css&#8221; are only declared once.</li>
</ul>
<p>Thanks!</p>
<p>(<em>If you wanted, you could take this optimization a step further by learning how to sum up repeated style values.</em>)</p>
<p><strong><a href="http://www.devinrolsen.com/faster-more-flexible-way-to-write-jquery-css/">Here is the artice on how to sum up repeated style values when using jquery animate or css.</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/jquery-selector-chain-conditions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Realtime Image Typesetting with PHP GD</title>
		<link>http://www.devinrolsen.com/realtime-image-typesetting-with-php-gd/</link>
		<comments>http://www.devinrolsen.com/realtime-image-typesetting-with-php-gd/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 07:51:35 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[Ajax Tutorials]]></category>
		<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[PHP Tutorials]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=1114</guid>
		<description><![CDATA[Learn how to use both JavaScript Ajax and PHP GD (graphical library) to perform real-time image typesetting onto a image. We will also cover how to use custom text colors, sizes, rotation and even fonts in our example demo.]]></description>
			<content:encoded><![CDATA[<p>Today I wanted to go over some of the really cool things that can be done with both jQuery and PHP&#8217;s Graphical library. To begin, let&#8217;s go ahead and take a look at the demo of what I will be breaking down over this tutorial.</p>
<div class="wp-caption alignnone" style="width: 430px"><a href="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/ajax/gd-realtime/"><img src="http://www.devinrolsen.com/wp-content/themes/typebased/demos/ajax/gd-realtime/scripts/server-side.php?companyName=Developer to Developer&amp;companySlogan=Company Slogan&amp;fullName=Devin R. Olsen&amp;jobTitle=Job Title&amp;businessAddress=1234 Main Street\nSuite 101\nCity, ST 12345&amp;phoneOne=P: 954-555-1234&amp;phoneTwo=F: 954-555-5678&amp;emailAddress=devin@company.com&amp;siteUrl=www.WebSiteUrl.com&amp;" alt="" width="420" height="252" /></a><p class="wp-caption-text">Click to see demo of Business Card Builder</p></div>
<h2>The Markup</h2>
<hr />
<pre>&lt;h3&gt;Realtime Business Card Builder&lt;/h3&gt;
&lt;div class="preview"&gt;
    <strong>&lt;img src="<span style="text-decoration: underline;">scripts/server-side.php</span>" /&gt;</strong>
&lt;/div&gt;</pre>
<p>Notice how the preview image&#8217;s &#8220;src&#8221; attribute is not pointing to a graphical file, but rather a server side php script? This is important because although we could use PHP to render new images out on our web server on every change, its best to view a single rendering through a static image element.</p>
<h2>The client side code</h2>
<hr />
<p>By simply building up a query string that contains the values of our form fields, we can get a realtime performance. The first thing we want to create is a variable named &#8220;base&#8221; that will contain our preview image&#8217;s &#8220;src&#8221; orignal attribute value.</p>
<pre><strong>var base = $(".preview img").attr("src");</strong></pre>
<p>We make the &#8220;base&#8221; variable so that we may reference to the original URL of the server side file later on.</p>
<p>Next we want to gather our image from server side when the document is done loading for the first time. By utilizing jQuery&#8217;s serialize we will gather all our form&#8217;s fields and their values and request our image from php like so:</p>
<pre>var base = $(".preview img").attr("src");

<strong>//GATHER IMAGE FOR FIRST TIME
$(".preview img").attr("src",base+'?'+$("#realtime-form").serialize());</strong></pre>
<p>As you can see, we set our image&#8217;s source attribute to be that of our base url, plus a serialized string of all our form&#8217;s input names and values.</p>
<p>Finally we want to setup our keyup event so as the user types into any of our form inputs, a &#8220;change request&#8221; for our image to be updated will be sent to php.</p>
<pre>var base = $(".preview img").attr("src");

//GATHER IMAGE FOR FIRST TIME
$(".preview img").attr("src",base+'?'+$("#realtime-form").serialize());

<strong>//KEYUP EVENT AND NEW IMAGE GATHER
$("input,textarea").keyup(function(){
	$(".preview img").attr("src",base+'?'+$("#realtime-form").serialize());
});</strong></pre>
<p>Notice how within our new keyup event we are basicly repeating our previous step of gather our image the first time? This is how we both gather changes the user has made, and request a new version of our image at the same time.</p>
<h2>The server side code</h2>
<hr />
<p>Now lets take a look at our PHP image rendering file. The first thing we want to do in this file is to declare what format of image should it be rendering:</p>
<pre>header ("Content-type: image/png");</pre>
<p>We pass a content type of &#8220;image/png&#8221; to our files header so that we can have alpha transparency ability that is natural to png image formats.</p>
<p>Next we need to gather every possible value that is being sent to this file via our URI string. We do this by creating new variables and setting their value to each URI string value, like so:</p>
<pre>$companyName = $_GET["companyName"];
$companySlogan = $_GET["companySlogan"];
$fullName = $_GET["fullName"];
$jobTitle = $_GET["jobTitle"];
$businessAddress = $_GET["businessAddress"];
$businessAddress = str_replace("\\n","\n",$businessAddress);
$businessAddress = str_replace("\\","",$businessAddress);
$phoneOne = $_GET["phoneOne"];
$phoneTwo = $_GET["phoneTwo"];
$emailAddress = $_GET["emailAddress"];
$siteUrl = $_GET["siteUrl"];</pre>
<p>Notice how on some of the value gatherings I am using a str_replace() function? Again, we are replacing any instance of our hard return character (\\n) into an actual hard return upon rending our image and copy.</p>
<p>Next we are going to gather a temp image we will use to create the actual image we render on dynamically, like so:</p>
<pre>$handle = $img = imagecreatefrompng( 'template.png' );</pre>
<p>(<em>&#8216;template.png&#8217; is a image file that lives on your server.</em>)</p>
<p>Now we need to setup a few more variables that will come in handy when rendering our results:</p>
<pre>$brown = ImageColorAllocate ($handle, 84, 48, 26);
$lightBrown = ImageColorAllocate ($handle, 145, 116, 94);
$white = ImageColorAllocate ($handle, 255, 255, 255);
$peach = ImageColorAllocate ($handle, 238, 222, 200);</pre>
<p>We setup different font colors by making use of the &#8220;ImageColorAllocate()&#8221; PHP GD function and assigning it to our new &#8220;template.png&#8221; image ($handle). The array of numbers that proceeds &#8220;$handle&#8221; are RGB color values.</p>
<p>Now that we have everything (variable wise) setup to render our image, we need to place and setup our text in our image. Here is an example of how to do just that.</p>
<pre>//company name
ImageTTFText ($handle, 18, 0, 20, 35, $brown, "timesbd.TTF", $companyName);</pre>
<p>By using the &#8220;ImageTTFText()&#8221; PHP GD function, we can setup an array of parameters to place and render our copy in our image.<br />
First, we point to our &#8220;template.png&#8221; image ($handle) want to place this copy onto. Next is an array of numerical values and they are in order as follows:</p>
<ul>
<li> Font Size of Copy</li>
<li> Rotation of Copy</li>
<li> X Position to Image&#8217;s size</li>
<li> Y Position to Image&#8217;s size</li>
</ul>
<p>After the &#8220;size, rotation and position&#8221; values, we set our desired font color via our pre-defined color variables. Next we can choose to use a custom font file that live along side this php file. Last is the copy value it&#8217;s self that we gathered from our URI string and turned into variables.</p>
<p>The very last part to rending our image with PHP GD, is to do some clean up work like so:</p>
<pre>imagealphablending( $handle, false );
imagesavealpha( $handle, true );
ImagePng ($handle);
imagedestroy( $handle );</pre>
<p>We finish off our file format of &#8220;.png&#8221; and its transparency, and lastly destroy the image when completed to free up server memory.</p>
<p>(<em>Some may notice that the web address copy is rendered from an align of center on out, I show this example in the demo download.</em>)</p>
<p>That&#8217;s it everyone! With a little JavaScript and PHP GD you can do some really cool stuff, and I hope to see some great examples soon.</p>
<p>~ <a href="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/ajax/gd-realtime/realtime-phpgd.zip">Download a copy of the demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/realtime-image-typesetting-with-php-gd/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>All jQuery Google Hosted Repository Links</title>
		<link>http://www.devinrolsen.com/jquery-google-hosted-repository-links/</link>
		<comments>http://www.devinrolsen.com/jquery-google-hosted-repository-links/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 22:26:27 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[every google hosted jquery links]]></category>
		<category><![CDATA[every google jquery links]]></category>
		<category><![CDATA[every repository link]]></category>
		<category><![CDATA[google hosted links]]></category>
		<category><![CDATA[google jquery hosted links]]></category>
		<category><![CDATA[google jquery links]]></category>
		<category><![CDATA[google jquery repository]]></category>
		<category><![CDATA[google jquery repository links]]></category>
		<category><![CDATA[google repository jquery]]></category>
		<category><![CDATA[google repository jquery links]]></category>
		<category><![CDATA[jquery google links]]></category>
		<category><![CDATA[jquery hosted links]]></category>
		<category><![CDATA[jquery repository links]]></category>
		<category><![CDATA[repository links]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=1089</guid>
		<description><![CDATA[I find myself now and then on Google trying to hunt down jQuery and jQuery-UI repository links. Over time, I only felt it was necessary to compile everything into one place for other developers to quickly reference and gather their needed jQuery parts.]]></description>
			<content:encoded><![CDATA[<p>If you were not aware, you not longer need to store the jQuery or jQuery-UI JavaScript frameworks on your servers anymore. Google now hosts all the JavaScript, CSS and Images in both these frameworks for you!</p>
<p><a href="http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/" target="_blank">You can read more about why using Google&#8217;s hosting of everything jQuery here.</a></p>
<p>Ok with all that said, I still find myself on Google now and then trying to hunt down Google repository links to most things jQuery. So I only felt it was necessary to compile everything into one place for other developer to quickly reference and gather their needed jQuery parts.</p>
<h2>jQuery &#8211; Google Hosted Repository Links</h2>
<p><strong><em>Minified</em></strong></p>
<pre>&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"&gt;&lt;/script&gt;</pre>
<p><strong><em>Full Source</em></strong></p>
<pre>&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"&gt;&lt;/script&gt;</pre>
<p>&nbsp;</p>
<hr />
<h2>jQuery UI &#8211; Google Hosted Repository Links</h2>
<p><strong><em>Minified</em></strong></p>
<pre>&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"&gt;&lt;/script&gt;</pre>
<p><strong><em>Full Source</em></strong></p>
<pre>&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.js"&gt;&lt;/script&gt;</pre>
<p>&nbsp;</p>
<hr />
<h2>jQuery UI &#8211; Google Hosted Repository Theme Links</h2>
<p>Google is also hosting each of the following theme&#8217;s images and sprites, so there is no need to fiddle with hosting and images for any theme on your own server.</p>
<p><em><strong>Base:</strong></em></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Black Tie:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Verdana,+Arial,+sans-serif&amp;fwDefault=normal&amp;fsDefault=1.1em&amp;cornerRadius=4px&amp;bgColorHeader=333333&amp;bgTextureHeader=08_diagonals_thick.png&amp;bgImgOpacityHeader=8&amp;borderColorHeader=a3a3a3&amp;fcHeader=eeeeee&amp;iconColorHeader=bbbbbb&amp;bgColorContent=f9f9f9&amp;bgTextureContent=04_highlight_hard.png&amp;bgImgOpacityContent=100&amp;borderColorContent=cccccc&amp;fcContent=222222&amp;iconColorContent=222222&amp;bgColorDefault=111111&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=40&amp;borderColorDefault=777777&amp;fcDefault=e3e3e3&amp;iconColorDefault=ededed&amp;bgColorHover=1c1c1c&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=55&amp;borderColorHover=000000&amp;fcHover=ffffff&amp;iconColorHover=ffffff&amp;bgColorActive=ffffff&amp;bgTextureActive=01_flat.png&amp;bgImgOpacityActive=65&amp;borderColorActive=cccccc&amp;fcActive=222222&amp;iconColorActive=222222&amp;bgColorHighlight=ffeb80&amp;bgTextureHighlight=06_inset_hard.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=ffde2e&amp;fcHighlight=363636&amp;iconColorHighlight=4ca300&amp;bgColorError=cd0a0a&amp;bgTextureError=06_inset_hard.png&amp;bgImgOpacityError=45&amp;borderColorError=9e0505&amp;fcError=ffffff&amp;iconColorError=ffcf29&amp;bgColorOverlay=aaaaaa&amp;bgTextureOverlay=04_highlight_hard.png&amp;bgImgOpacityOverlay=40&amp;opacityOverlay=30&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=03_highlight_soft.png&amp;bgImgOpacityShadow=50&amp;opacityShadow=20&amp;thicknessShadow=8px&amp;offsetTopShadow=-8px&amp;offsetLeftShadow=-8px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/black-tie/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong>Blitzer: (<a href="http://jqueryui.com/themeroller/#ffDefault=Arial,sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=cc0000&amp;bgTextureHeader=03_highlight_soft.png&amp;bgImgOpacityHeader=15&amp;borderColorHeader=e3a1a1&amp;fcHeader=ffffff&amp;iconColorHeader=ffffff&amp;bgColorContent=ffffff&amp;bgTextureContent=01_flat.png&amp;bgImgOpacityContent=75&amp;borderColorContent=eeeeee&amp;fcContent=333333&amp;iconColorContent=cc0000&amp;bgColorDefault=eeeeee&amp;bgTextureDefault=04_highlight_hard.png&amp;bgImgOpacityDefault=100&amp;borderColorDefault=d8dcdf&amp;fcDefault=004276&amp;iconColorDefault=cc0000&amp;bgColorHover=f6f6f6&amp;bgTextureHover=04_highlight_hard.png&amp;bgImgOpacityHover=100&amp;borderColorHover=cdd5da&amp;fcHover=111111&amp;iconColorHover=cc0000&amp;bgColorActive=ffffff&amp;bgTextureActive=01_flat.png&amp;bgImgOpacityActive=65&amp;borderColorActive=eeeeee&amp;fcActive=cc0000&amp;iconColorActive=cc0000&amp;bgColorHighlight=fbf8ee&amp;bgTextureHighlight=02_glass.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=fcd3a1&amp;fcHighlight=444444&amp;iconColorHighlight=004276&amp;bgColorError=f3d8d8&amp;bgTextureError=08_diagonals_thick.png&amp;bgImgOpacityError=75&amp;borderColorError=cc0000&amp;fcError=2e2e2e&amp;iconColorError=cc0000&amp;bgColorOverlay=a6a6a6&amp;bgTextureOverlay=09_dots_small.png&amp;bgImgOpacityOverlay=65&amp;opacityOverlay=40&amp;bgColorShadow=333333&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=10&amp;thicknessShadow=8px&amp;offsetTopShadow=-8px&amp;offsetLeftShadow=-8px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/blitzer/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Cupertino:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Lucida+Grande%2C+Lucida+Sans%2C+Arial%2C+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=deedf7&amp;bgTextureHeader=03_highlight_soft.png&amp;bgImgOpacityHeader=100&amp;borderColorHeader=aed0ea&amp;fcHeader=222222&amp;iconColorHeader=72a7cf&amp;bgColorContent=f2f5f7&amp;bgTextureContent=04_highlight_hard.png&amp;bgImgOpacityContent=100&amp;borderColorContent=dddddd&amp;fcContent=362b36&amp;iconColorContent=72a7cf&amp;bgColorDefault=d7ebf9&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=80&amp;borderColorDefault=aed0ea&amp;fcDefault=2779aa&amp;iconColorDefault=3d80b3&amp;bgColorHover=e4f1fb&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=100&amp;borderColorHover=74b2e2&amp;fcHover=0070a3&amp;iconColorHover=2694e8&amp;bgColorActive=3baae3&amp;bgTextureActive=02_glass.png&amp;bgImgOpacityActive=50&amp;borderColorActive=2694e8&amp;fcActive=ffffff&amp;iconColorActive=ffffff&amp;bgColorHighlight=ffef8f&amp;bgTextureHighlight=03_highlight_soft.png&amp;bgImgOpacityHighlight=25&amp;borderColorHighlight=f9dd34&amp;fcHighlight=363636&amp;iconColorHighlight=2e83ff&amp;bgColorError=cd0a0a&amp;bgTextureError=01_flat.png&amp;bgImgOpacityError=15&amp;borderColorError=cd0a0a&amp;fcError=ffffff&amp;iconColorError=ffffff&amp;bgColorOverlay=eeeeee&amp;bgTextureOverlay=08_diagonals_thick.png&amp;bgImgOpacityOverlay=90&amp;opacityOverlay=80&amp;bgColorShadow=000000&amp;bgTextureShadow=04_highlight_hard.png&amp;bgImgOpacityShadow=70&amp;opacityShadow=30&amp;thicknessShadow=7px&amp;offsetTopShadow=-7px&amp;offsetLeftShadow=-7px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/cupertino/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Dark Hive:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Verdana%2C+Arial%2C+sans-serif&amp;fwDefault=normal&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=444444&amp;bgTextureHeader=03_highlight_soft.png&amp;bgImgOpacityHeader=44&amp;borderColorHeader=333333&amp;fcHeader=ffffff&amp;iconColorHeader=ffffff&amp;bgColorContent=000000&amp;bgTextureContent=14_loop.png&amp;bgImgOpacityContent=25&amp;borderColorContent=555555&amp;fcContent=ffffff&amp;iconColorContent=cccccc&amp;bgColorDefault=222222&amp;bgTextureDefault=03_highlight_soft.png&amp;bgImgOpacityDefault=35&amp;borderColorDefault=444444&amp;fcDefault=eeeeee&amp;iconColorDefault=cccccc&amp;bgColorHover=003147&amp;bgTextureHover=03_highlight_soft.png&amp;bgImgOpacityHover=33&amp;borderColorHover=0b93d5&amp;fcHover=ffffff&amp;iconColorHover=ffffff&amp;bgColorActive=0972a5&amp;bgTextureActive=04_highlight_hard.png&amp;bgImgOpacityActive=20&amp;borderColorActive=26b3f7&amp;fcActive=ffffff&amp;iconColorActive=222222&amp;bgColorHighlight=eeeeee&amp;bgTextureHighlight=03_highlight_soft.png&amp;bgImgOpacityHighlight=80&amp;borderColorHighlight=cccccc&amp;fcHighlight=2e7db2&amp;iconColorHighlight=4b8e0b&amp;bgColorError=ffc73d&amp;bgTextureError=02_glass.png&amp;bgImgOpacityError=40&amp;borderColorError=ffb73d&amp;fcError=111111&amp;iconColorError=a83300&amp;bgColorOverlay=5c5c5c&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=50&amp;opacityOverlay=80&amp;bgColorShadow=cccccc&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=30&amp;opacityShadow=60&amp;thicknessShadow=7px&amp;offsetTopShadow=-7px&amp;offsetLeftShadow=-7px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/dark-hive/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Dot Luv:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Arial,+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.3em&amp;cornerRadius=4px&amp;bgColorHeader=0b3e6f&amp;bgTextureHeader=08_diagonals_thick.png&amp;bgImgOpacityHeader=15&amp;borderColorHeader=0b3e6f&amp;fcHeader=f6f6f6&amp;iconColorHeader=98d2fb&amp;bgColorContent=111111&amp;bgTextureContent=12_gloss_wave.png&amp;bgImgOpacityContent=20&amp;borderColorContent=000000&amp;fcContent=d9d9d9&amp;iconColorContent=9ccdfc&amp;bgColorDefault=333333&amp;bgTextureDefault=09_dots_small.png&amp;bgImgOpacityDefault=20&amp;borderColorDefault=333333&amp;fcDefault=ffffff&amp;iconColorDefault=9ccdfc&amp;bgColorHover=00498f&amp;bgTextureHover=09_dots_small.png&amp;bgImgOpacityHover=40&amp;borderColorHover=222222&amp;fcHover=ffffff&amp;iconColorHover=ffffff&amp;bgColorActive=292929&amp;bgTextureActive=01_flat.png&amp;bgImgOpacityActive=40&amp;borderColorActive=096ac8&amp;fcActive=75abff&amp;iconColorActive=00498f&amp;bgColorHighlight=0b58a2&amp;bgTextureHighlight=10_dots_medium.png&amp;bgImgOpacityHighlight=30&amp;borderColorHighlight=052f57&amp;fcHighlight=ffffff&amp;iconColorHighlight=ffffff&amp;bgColorError=a32d00&amp;bgTextureError=09_dots_small.png&amp;bgImgOpacityError=30&amp;borderColorError=cd0a0a&amp;fcError=ffffff&amp;iconColorError=ffffff&amp;bgColorOverlay=aaaaaa&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=0&amp;opacityOverlay=30&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=30&amp;thicknessShadow=8px&amp;offsetTopShadow=-8px&amp;offsetLeftShadow=-8px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/dot-luv/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Eggplant:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Lucida+Grande%2C+Lucida+Sans%2C+Arial%2C+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=30273a&amp;bgTextureHeader=03_highlight_soft.png&amp;bgImgOpacityHeader=25&amp;borderColorHeader=231d2b&amp;fcHeader=ffffff&amp;iconColorHeader=a8a3ae&amp;bgColorContent=3d3644&amp;bgTextureContent=12_gloss_wave.png&amp;bgImgOpacityContent=30&amp;borderColorContent=7e7783&amp;fcContent=ffffff&amp;iconColorContent=ffffff&amp;bgColorDefault=dcd9de&amp;bgTextureDefault=03_highlight_soft.png&amp;bgImgOpacityDefault=100&amp;borderColorDefault=dcd9de&amp;fcDefault=665874&amp;iconColorDefault=8d78a5&amp;bgColorHover=eae6ea&amp;bgTextureHover=03_highlight_soft.png&amp;bgImgOpacityHover=100&amp;borderColorHover=d1c5d8&amp;fcHover=734d99&amp;iconColorHover=734d99&amp;bgColorActive=5f5964&amp;bgTextureActive=03_highlight_soft.png&amp;bgImgOpacityActive=45&amp;borderColorActive=7e7783&amp;fcActive=ffffff&amp;iconColorActive=454545&amp;bgColorHighlight=fafafa&amp;bgTextureHighlight=01_flat.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=ffdb1f&amp;fcHighlight=333333&amp;iconColorHighlight=8d78a5&amp;bgColorError=994d53&amp;bgTextureError=01_flat.png&amp;bgImgOpacityError=55&amp;borderColorError=994d53&amp;fcError=ffffff&amp;iconColorError=ebccce&amp;bgColorOverlay=eeeeee&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=0&amp;opacityOverlay=80&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=60&amp;thicknessShadow=4px&amp;offsetTopShadow=-4px&amp;offsetLeftShadow=-4px&amp;cornerRadiusShadow=0px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/eggplant/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Excite Bike:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=segoe+ui,+Arial,+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=3px&amp;bgColorHeader=f9f9f9&amp;bgTextureHeader=03_highlight_soft.png&amp;bgImgOpacityHeader=100&amp;borderColorHeader=cccccc&amp;fcHeader=e69700&amp;iconColorHeader=5fa5e3&amp;bgColorContent=eeeeee&amp;bgTextureContent=06_inset_hard.png&amp;bgImgOpacityContent=100&amp;borderColorContent=aaaaaa&amp;fcContent=222222&amp;iconColorContent=0a82eb&amp;bgColorDefault=1484e6&amp;bgTextureDefault=08_diagonals_thick.png&amp;bgImgOpacityDefault=22&amp;borderColorDefault=ffffff&amp;fcDefault=ffffff&amp;iconColorDefault=fcdd4a&amp;bgColorHover=2293f7&amp;bgTextureHover=08_diagonals_thick.png&amp;bgImgOpacityHover=26&amp;borderColorHover=2293f7&amp;fcHover=ffffff&amp;iconColorHover=ffffff&amp;bgColorActive=e69700&amp;bgTextureActive=08_diagonals_thick.png&amp;bgImgOpacityActive=20&amp;borderColorActive=e69700&amp;fcActive=ffffff&amp;iconColorActive=ffffff&amp;bgColorHighlight=c5ddfc&amp;bgTextureHighlight=07_diagonals_small.png&amp;bgImgOpacityHighlight=25&amp;borderColorHighlight=ffffff&amp;fcHighlight=333333&amp;iconColorHighlight=0b54d5&amp;bgColorError=e69700&amp;bgTextureError=08_diagonals_thick.png&amp;bgImgOpacityError=20&amp;borderColorError=e69700&amp;fcError=ffffff&amp;iconColorError=ffffff&amp;bgColorOverlay=e6b900&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=0&amp;opacityOverlay=30&amp;bgColorShadow=e69700&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=20&amp;thicknessShadow=0px&amp;offsetTopShadow=6px&amp;offsetLeftShadow=6px&amp;cornerRadiusShadow=3px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/excite-bike/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Flick:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Helvetica%2C+Arial%2C+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=2px&amp;bgColorHeader=dddddd&amp;bgTextureHeader=03_highlight_soft.png&amp;bgImgOpacityHeader=50&amp;borderColorHeader=dddddd&amp;fcHeader=444444&amp;iconColorHeader=0073ea&amp;bgColorContent=ffffff&amp;bgTextureContent=01_flat.png&amp;bgImgOpacityContent=75&amp;borderColorContent=dddddd&amp;fcContent=444444&amp;iconColorContent=ff0084&amp;bgColorDefault=f6f6f6&amp;bgTextureDefault=03_highlight_soft.png&amp;bgImgOpacityDefault=100&amp;borderColorDefault=dddddd&amp;fcDefault=0073ea&amp;iconColorDefault=666666&amp;bgColorHover=0073ea&amp;bgTextureHover=03_highlight_soft.png&amp;bgImgOpacityHover=25&amp;borderColorHover=0073ea&amp;fcHover=ffffff&amp;iconColorHover=ffffff&amp;bgColorActive=ffffff&amp;bgTextureActive=02_glass.png&amp;bgImgOpacityActive=65&amp;borderColorActive=dddddd&amp;fcActive=ff0084&amp;iconColorActive=454545&amp;bgColorHighlight=ffffff&amp;bgTextureHighlight=01_flat.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=cccccc&amp;fcHighlight=444444&amp;iconColorHighlight=0073ea&amp;bgColorError=ffffff&amp;bgTextureError=01_flat.png&amp;bgImgOpacityError=55&amp;borderColorError=ff0084&amp;fcError=222222&amp;iconColorError=ff0084&amp;bgColorOverlay=eeeeee&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=0&amp;opacityOverlay=80&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=60&amp;thicknessShadow=4px&amp;offsetTopShadow=-4px&amp;offsetLeftShadow=-4px&amp;cornerRadiusShadow=0px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/flick/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Hot Sneaks:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Gill+Sans,Arial,sans-serif&amp;fwDefault=bold&amp;fsDefault=1.2em&amp;cornerRadius=4px&amp;bgColorHeader=35414f&amp;bgTextureHeader=09_dots_small.png&amp;bgImgOpacityHeader=35&amp;borderColorHeader=2c4359&amp;fcHeader=e1e463&amp;iconColorHeader=e1e463&amp;bgColorContent=ffffff&amp;bgTextureContent=01_flat.png&amp;bgImgOpacityContent=75&amp;borderColorContent=aaaaaa&amp;fcContent=2c4359&amp;iconColorContent=c02669&amp;bgColorDefault=93c3cd&amp;bgTextureDefault=07_diagonals_small.png&amp;bgImgOpacityDefault=50&amp;borderColorDefault=93c3cd&amp;fcDefault=333333&amp;iconColorDefault=ffffff&amp;bgColorHover=ccd232&amp;bgTextureHover=07_diagonals_small.png&amp;bgImgOpacityHover=75&amp;borderColorHover=999999&amp;fcHover=212121&amp;iconColorHover=454545&amp;bgColorActive=db4865&amp;bgTextureActive=07_diagonals_small.png&amp;bgImgOpacityActive=40&amp;borderColorActive=ff6b7f&amp;fcActive=ffffff&amp;iconColorActive=ffffff&amp;bgColorHighlight=ffff38&amp;bgTextureHighlight=10_dots_medium.png&amp;bgImgOpacityHighlight=80&amp;borderColorHighlight=b4d100&amp;fcHighlight=363636&amp;iconColorHighlight=88a206&amp;bgColorError=ff3853&amp;bgTextureError=07_diagonals_small.png&amp;bgImgOpacityError=50&amp;borderColorError=ff6b7f&amp;fcError=ffffff&amp;iconColorError=ffeb33&amp;bgColorOverlay=f7f7ba&amp;bgTextureOverlay=11_white_lines.png&amp;bgImgOpacityOverlay=85&amp;opacityOverlay=80&amp;bgColorShadow=ba9217&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=75&amp;opacityShadow=20&amp;thicknessShadow=10px&amp;offsetTopShadow=8px&amp;offsetLeftShadow=8px&amp;cornerRadiusShadow=5px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/hot-sneaks/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Humanity:</em> (<a href="http://jqueryui.com/themeroller/#tr=ffDefault=Helvetica,Arial,sans-serif&amp;fwDefault=normal&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=cb842e&amp;bgTextureHeader=02_glass.png&amp;bgImgOpacityHeader=25&amp;borderColorHeader=d49768&amp;fcHeader=ffffff&amp;iconColorHeader=ffffff&amp;bgColorContent=f4f0ec&amp;bgTextureContent=05_inset_soft.png&amp;bgImgOpacityContent=100&amp;borderColorContent=e0cfc2&amp;fcContent=1e1b1d&amp;iconColorContent=c47a23&amp;bgColorDefault=ede4d4&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=70&amp;borderColorDefault=cdc3b7&amp;fcDefault=3f3731&amp;iconColorDefault=f08000&amp;bgColorHover=f5f0e5&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=100&amp;borderColorHover=f5ad66&amp;fcHover=a46313&amp;iconColorHover=f08000&amp;bgColorActive=f4f0ec&amp;bgTextureActive=04_highlight_hard.png&amp;bgImgOpacityActive=100&amp;borderColorActive=e0cfc2&amp;fcActive=b85700&amp;iconColorActive=f35f07&amp;bgColorHighlight=f5f5b5&amp;bgTextureHighlight=04_highlight_hard.png&amp;bgImgOpacityHighlight=75&amp;borderColorHighlight=d9bb73&amp;fcHighlight=060200&amp;iconColorHighlight=cb672b&amp;bgColorError=fee4bd&amp;bgTextureError=04_highlight_hard.png&amp;bgImgOpacityError=65&amp;borderColorError=f8893f&amp;fcError=592003&amp;iconColorError=ff7519&amp;bgColorOverlay=aaaaaa&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=75&amp;opacityOverlay=30&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=75&amp;opacityShadow=30&amp;thicknessShadow=8px&amp;offsetTopShadow=-8px&amp;offsetLeftShadow=-8px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/humanity/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Le Frog:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Lucida+Grande%2C+Lucida+Sans%2C+Arial%2C+sans-serif&amp;fwDefault=normal&amp;fsDefault=1.1em&amp;cornerRadius=10px&amp;bgColorHeader=3a8104&amp;bgTextureHeader=03_highlight_soft.png&amp;bgImgOpacityHeader=33&amp;borderColorHeader=3f7506&amp;fcHeader=ffffff&amp;iconColorHeader=ffffff&amp;bgColorContent=285c00&amp;bgTextureContent=05_inset_soft.png&amp;bgImgOpacityContent=10&amp;borderColorContent=72b42d&amp;fcContent=ffffff&amp;iconColorContent=72b42d&amp;bgColorDefault=4ca20b&amp;bgTextureDefault=03_highlight_soft.png&amp;bgImgOpacityDefault=60&amp;borderColorDefault=45930b&amp;fcDefault=ffffff&amp;iconColorDefault=ffffff&amp;bgColorHover=4eb305&amp;bgTextureHover=03_highlight_soft.png&amp;bgImgOpacityHover=50&amp;borderColorHover=8bd83b&amp;fcHover=ffffff&amp;iconColorHover=ffffff&amp;bgColorActive=285c00&amp;bgTextureActive=04_highlight_hard.png&amp;bgImgOpacityActive=30&amp;borderColorActive=72b42d&amp;fcActive=ffffff&amp;iconColorActive=ffffff&amp;bgColorHighlight=fbf5d0&amp;bgTextureHighlight=02_glass.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=f9dd34&amp;fcHighlight=363636&amp;iconColorHighlight=4eb305&amp;bgColorError=ffdc2e&amp;bgTextureError=08_diagonals_thick.png&amp;bgImgOpacityError=95&amp;borderColorError=fad000&amp;fcError=2b2b2b&amp;iconColorError=cd0a0a&amp;bgColorOverlay=444444&amp;bgTextureOverlay=08_diagonals_thick.png&amp;bgImgOpacityOverlay=15&amp;opacityOverlay=30&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=07_diagonals_small.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=30&amp;thicknessShadow=0px&amp;offsetTopShadow=4px&amp;offsetLeftShadow=4px&amp;cornerRadiusShadow=4px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/le-frog/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Mint Chocolate:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Segoe+UI%2C+Helvetica%2C+Arial%2C+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=4px&amp;bgColorHeader=453326&amp;bgTextureHeader=12_gloss_wave.png&amp;bgImgOpacityHeader=25&amp;borderColorHeader=695649&amp;fcHeader=e3ddc9&amp;iconColorHeader=e3ddc9&amp;bgColorContent=201913&amp;bgTextureContent=05_inset_soft.png&amp;bgImgOpacityContent=10&amp;borderColorContent=9c947c&amp;fcContent=ffffff&amp;iconColorContent=222222&amp;bgColorDefault=1c160d&amp;bgTextureDefault=12_gloss_wave.png&amp;bgImgOpacityDefault=20&amp;borderColorDefault=695444&amp;fcDefault=9bcc60&amp;iconColorDefault=9bcc60&amp;bgColorHover=44372c&amp;bgTextureHover=12_gloss_wave.png&amp;bgImgOpacityHover=30&amp;borderColorHover=9c947c&amp;fcHover=baec7e&amp;iconColorHover=add978&amp;bgColorActive=201913&amp;bgTextureActive=03_highlight_soft.png&amp;bgImgOpacityActive=20&amp;borderColorActive=9c947c&amp;fcActive=e3ddc9&amp;iconColorActive=e3ddc9&amp;bgColorHighlight=619226&amp;bgTextureHighlight=03_highlight_soft.png&amp;bgImgOpacityHighlight=20&amp;borderColorHighlight=add978&amp;fcHighlight=ffffff&amp;iconColorHighlight=ffffff&amp;bgColorError=5f391b&amp;bgTextureError=02_glass.png&amp;bgImgOpacityError=15&amp;borderColorError=5f391b&amp;fcError=ffffff&amp;iconColorError=f1fd86&amp;bgColorOverlay=aaaaaa&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=0&amp;opacityOverlay=30&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=30&amp;thicknessShadow=8px&amp;offsetTopShadow=-8px&amp;offsetLeftShadow=-8px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/mint-choc/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Overcast:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Trebuchet+MS%2C+Helvetica%2C+Arial%2C+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=dddddd&amp;bgTextureHeader=02_glass.png&amp;bgImgOpacityHeader=35&amp;borderColorHeader=bbbbbb&amp;fcHeader=444444&amp;iconColorHeader=999999&amp;bgColorContent=c9c9c9&amp;bgTextureContent=05_inset_soft.png&amp;bgImgOpacityContent=50&amp;borderColorContent=aaaaaa&amp;fcContent=333333&amp;iconColorContent=999999&amp;bgColorDefault=eeeeee&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=60&amp;borderColorDefault=cccccc&amp;fcDefault=3383bb&amp;iconColorDefault=70b2e1&amp;bgColorHover=f8f8f8&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=100&amp;borderColorHover=bbbbbb&amp;fcHover=599fcf&amp;iconColorHover=3383bb&amp;bgColorActive=999999&amp;bgTextureActive=06_inset_hard.png&amp;bgImgOpacityActive=75&amp;borderColorActive=999999&amp;fcActive=ffffff&amp;iconColorActive=454545&amp;bgColorHighlight=eeeeee&amp;bgTextureHighlight=01_flat.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=ffffff&amp;fcHighlight=444444&amp;iconColorHighlight=3383bb&amp;bgColorError=c0402a&amp;bgTextureError=01_flat.png&amp;bgImgOpacityError=55&amp;borderColorError=c0402a&amp;fcError=ffffff&amp;iconColorError=fbc856&amp;bgColorOverlay=eeeeee&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=0&amp;opacityOverlay=80&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=60&amp;thicknessShadow=4px&amp;offsetTopShadow=-4px&amp;offsetLeftShadow=-4px&amp;cornerRadiusShadow=0pxdow%3D0px">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/overcast/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Peper Grinder:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Trebuchet+MS%2C+Tahoma%2C+Verdana%2C+Arial%2C+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=ffffff&amp;bgTextureHeader=23_fine_grain.png&amp;bgImgOpacityHeader=15&amp;borderColorHeader=d4d1bf&amp;fcHeader=453821&amp;iconColorHeader=b83400&amp;bgColorContent=eceadf&amp;bgTextureContent=23_fine_grain.png&amp;bgImgOpacityContent=10&amp;borderColorContent=d9d6c4&amp;fcContent=1f1f1f&amp;iconColorContent=222222&amp;bgColorDefault=f8f7f6&amp;bgTextureDefault=23_fine_grain.png&amp;bgImgOpacityDefault=10&amp;borderColorDefault=cbc7bd&amp;fcDefault=654b24&amp;iconColorDefault=b83400&amp;bgColorHover=654b24&amp;bgTextureHover=23_fine_grain.png&amp;bgImgOpacityHover=65&amp;borderColorHover=654b24&amp;fcHover=ffffff&amp;iconColorHover=ffffff&amp;bgColorActive=eceadf&amp;bgTextureActive=23_fine_grain.png&amp;bgImgOpacityActive=15&amp;borderColorActive=d9d6c4&amp;fcActive=140f06&amp;iconColorActive=8c291d&amp;bgColorHighlight=f7f3de&amp;bgTextureHighlight=23_fine_grain.png&amp;bgImgOpacityHighlight=15&amp;borderColorHighlight=b2a266&amp;fcHighlight=3a3427&amp;iconColorHighlight=3572ac&amp;bgColorError=b83400&amp;bgTextureError=23_fine_grain.png&amp;bgImgOpacityError=68&amp;borderColorError=681818&amp;fcError=ffffff&amp;iconColorError=fbdb93&amp;bgColorOverlay=6e4f1c&amp;bgTextureOverlay=16_diagonal_maze.png&amp;bgImgOpacityOverlay=20&amp;opacityOverlay=60&amp;bgColorShadow=000000&amp;bgTextureShadow=16_diagonal_maze.png&amp;bgImgOpacityShadow=40&amp;opacityShadow=60&amp;thicknessShadow=5px&amp;offsetTopShadow=0&amp;offsetLeftShadow=-10px&amp;cornerRadiusShadow=18px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/pepper-grinder/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Redmond:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Lucida+Grande,+Lucida+Sans,+Arial,+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=5px&amp;bgColorHeader=5c9ccc&amp;bgTextureHeader=12_gloss_wave.png&amp;bgImgOpacityHeader=55&amp;borderColorHeader=4297d7&amp;fcHeader=ffffff&amp;iconColorHeader=d8e7f3&amp;bgColorContent=fcfdfd&amp;bgTextureContent=06_inset_hard.png&amp;bgImgOpacityContent=100&amp;borderColorContent=a6c9e2&amp;fcContent=222222&amp;iconColorContent=469bdd&amp;bgColorDefault=dfeffc&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=85&amp;borderColorDefault=c5dbec&amp;fcDefault=2e6e9e&amp;iconColorDefault=6da8d5&amp;bgColorHover=d0e5f5&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=75&amp;borderColorHover=79b7e7&amp;fcHover=1d5987&amp;iconColorHover=217bc0&amp;bgColorActive=f5f8f9&amp;bgTextureActive=06_inset_hard.png&amp;bgImgOpacityActive=100&amp;borderColorActive=79b7e7&amp;fcActive=e17009&amp;iconColorActive=f9bd01&amp;bgColorHighlight=fbec88&amp;bgTextureHighlight=01_flat.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=fad42e&amp;fcHighlight=363636&amp;iconColorHighlight=2e83ff&amp;bgColorError=fef1ec&amp;bgTextureError=02_glass.png&amp;bgImgOpacityError=95&amp;borderColorError=cd0a0a&amp;fcError=cd0a0a&amp;iconColorError=cd0a0a&amp;bgColorOverlay=aaaaaa&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=0&amp;opacityOverlay=30&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=30&amp;thicknessShadow=8px&amp;offsetTopShadow=-8px&amp;offsetLeftShadow=-8px&amp;cornerRadiusShadow=8px">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Smoothness:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Verdana,Arial,sans-serif&amp;fwDefault=normal&amp;fsDefault=1.1em&amp;cornerRadius=4px&amp;bgColorHeader=cccccc&amp;bgTextureHeader=03_highlight_soft.png&amp;bgImgOpacityHeader=75&amp;borderColorHeader=aaaaaa&amp;fcHeader=222222&amp;iconColorHeader=222222&amp;bgColorContent=ffffff&amp;bgTextureContent=01_flat.png&amp;bgImgOpacityContent=75&amp;borderColorContent=aaaaaa&amp;fcContent=222222&amp;iconColorContent=222222&amp;bgColorDefault=e6e6e6&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=75&amp;borderColorDefault=d3d3d3&amp;fcDefault=555555&amp;iconColorDefault=888888&amp;bgColorHover=dadada&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=75&amp;borderColorHover=999999&amp;fcHover=212121&amp;iconColorHover=454545&amp;bgColorActive=ffffff&amp;bgTextureActive=02_glass.png&amp;bgImgOpacityActive=65&amp;borderColorActive=aaaaaa&amp;fcActive=212121&amp;iconColorActive=454545&amp;bgColorHighlight=fbf9ee&amp;bgTextureHighlight=02_glass.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=fcefa1&amp;fcHighlight=363636&amp;iconColorHighlight=2e83ff&amp;bgColorError=fef1ec&amp;bgTextureError=02_glass.png&amp;bgImgOpacityError=95&amp;borderColorError=cd0a0a&amp;fcError=cd0a0a&amp;iconColorError=cd0a0a&amp;bgColorOverlay=aaaaaa&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=0&amp;opacityOverlay=30&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=30&amp;thicknessShadow=8px&amp;offsetTopShadow=-8px&amp;offsetLeftShadow=-8px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/smoothness/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>South Street:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=segoe+ui%2C+Arial%2C+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=ece8da&amp;bgTextureHeader=12_gloss_wave.png&amp;bgImgOpacityHeader=100&amp;borderColorHeader=d4ccb0&amp;fcHeader=433f38&amp;iconColorHeader=847e71&amp;bgColorContent=f5f3e5&amp;bgTextureContent=04_highlight_hard.png&amp;bgImgOpacityContent=100&amp;borderColorContent=dfd9c3&amp;fcContent=312e25&amp;iconColorContent=808080&amp;bgColorDefault=459e00&amp;bgTextureDefault=04_highlight_hard.png&amp;bgImgOpacityDefault=15&amp;borderColorDefault=327E04&amp;fcDefault=ffffff&amp;iconColorDefault=eeeeee&amp;bgColorHover=67b021&amp;bgTextureHover=03_highlight_soft.png&amp;bgImgOpacityHover=25&amp;borderColorHover=327E04&amp;fcHover=ffffff&amp;iconColorHover=ffffff&amp;bgColorActive=fafaf4&amp;bgTextureActive=04_highlight_hard.png&amp;bgImgOpacityActive=100&amp;borderColorActive=d4ccb0&amp;fcActive=459e00&amp;iconColorActive=8DC262&amp;bgColorHighlight=fcf0ba&amp;bgTextureHighlight=02_glass.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=e8e1b5&amp;fcHighlight=363636&amp;iconColorHighlight=8DC262&amp;bgColorError=ffedad&amp;bgTextureError=03_highlight_soft.png&amp;bgImgOpacityError=95&amp;borderColorError=e3a345&amp;fcError=cd5c0a&amp;iconColorError=cd0a0a&amp;bgColorOverlay=2b2922&amp;bgTextureOverlay=05_inset_soft.png&amp;bgImgOpacityOverlay=15&amp;opacityOverlay=90&amp;bgColorShadow=cccccc&amp;bgTextureShadow=04_highlight_hard.png&amp;bgImgOpacityShadow=95&amp;opacityShadow=20&amp;thicknessShadow=12px&amp;offsetTopShadow=-12px&amp;offsetLeftShadow=-12px&amp;cornerRadiusShadow=10px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/south-street/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Start:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Verdana%2CArial%2Csans-serif&amp;fwDefault=normal&amp;fsDefault=1.1em&amp;cornerRadius=5px&amp;bgColorHeader=2191c0&amp;bgTextureHeader=12_gloss_wave.png&amp;bgImgOpacityHeader=75&amp;borderColorHeader=4297d7&amp;fcHeader=eaf5f7&amp;iconColorHeader=d8e7f3&amp;bgColorContent=fcfdfd&amp;bgTextureContent=06_inset_hard.png&amp;bgImgOpacityContent=100&amp;borderColorContent=a6c9e2&amp;fcContent=222222&amp;iconColorContent=0078ae&amp;bgColorDefault=0078ae&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=45&amp;borderColorDefault=77d5f7&amp;fcDefault=ffffff&amp;iconColorDefault=e0fdff&amp;bgColorHover=79c9ec&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=75&amp;borderColorHover=448dae&amp;fcHover=026890&amp;iconColorHover=056b93&amp;bgColorActive=6eac2c&amp;bgTextureActive=12_gloss_wave.png&amp;bgImgOpacityActive=50&amp;borderColorActive=acdd4a&amp;fcActive=ffffff&amp;iconColorActive=f5e175&amp;bgColorHighlight=f8da4e&amp;bgTextureHighlight=02_glass.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=fcd113&amp;fcHighlight=915608&amp;iconColorHighlight=f7a50d&amp;bgColorError=e14f1c&amp;bgTextureError=12_gloss_wave.png&amp;bgImgOpacityError=45&amp;borderColorError=cd0a0a&amp;fcError=ffffff&amp;iconColorError=fcd113&amp;bgColorOverlay=aaaaaa&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=75&amp;opacityOverlay=30&amp;bgColorShadow=999999&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=55&amp;opacityShadow=45&amp;thicknessShadow=0px&amp;offsetTopShadow=5px&amp;offsetLeftShadow=5px&amp;cornerRadiusShadow=5px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/start/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Sunny:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Segoe+UI%2C+Arial%2C+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=8px&amp;bgColorHeader=817865&amp;bgTextureHeader=12_gloss_wave.png&amp;bgImgOpacityHeader=45&amp;borderColorHeader=494437&amp;fcHeader=ffffff&amp;iconColorHeader=fadc7a&amp;bgColorContent=feeebd&amp;bgTextureContent=03_highlight_soft.png&amp;bgImgOpacityContent=100&amp;borderColorContent=8e846b&amp;fcContent=383838&amp;iconColorContent=d19405&amp;bgColorDefault=fece2f&amp;bgTextureDefault=12_gloss_wave.png&amp;bgImgOpacityDefault=60&amp;borderColorDefault=d19405&amp;fcDefault=4c3000&amp;iconColorDefault=3d3d3d&amp;bgColorHover=ffdd57&amp;bgTextureHover=12_gloss_wave.png&amp;bgImgOpacityHover=70&amp;borderColorHover=a45b13&amp;fcHover=381f00&amp;iconColorHover=bd7b00&amp;bgColorActive=ffffff&amp;bgTextureActive=05_inset_soft.png&amp;bgImgOpacityActive=30&amp;borderColorActive=655e4e&amp;fcActive=0074c7&amp;iconColorActive=eb990f&amp;bgColorHighlight=fff9e5&amp;bgTextureHighlight=12_gloss_wave.png&amp;bgImgOpacityHighlight=90&amp;borderColorHighlight=eeb420&amp;fcHighlight=1f1f1f&amp;iconColorHighlight=ed9f26&amp;bgColorError=d34d17&amp;bgTextureError=07_diagonals_medium.png&amp;bgImgOpacityError=20&amp;borderColorError=ffb73d&amp;fcError=ffffff&amp;iconColorError=ffe180&amp;bgColorOverlay=5c5c5c&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=50&amp;opacityOverlay=80&amp;bgColorShadow=cccccc&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=30&amp;opacityShadow=60&amp;thicknessShadow=7px&amp;offsetTopShadow=-7px&amp;offsetLeftShadow=-7px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/sunny/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Swanky Purse: </em>(<a href="http://jqueryui.com/themeroller/#ffDefault=Georgia%2C+Verdana%2CArial%2Csans-serif&amp;fwDefault=bold&amp;fsDefault=1.2em&amp;cornerRadius=5px&amp;bgColorHeader=261803&amp;bgTextureHeader=13_diamond.png&amp;bgImgOpacityHeader=8&amp;borderColorHeader=baaa5a&amp;fcHeader=eacd86&amp;iconColorHeader=e9cd86&amp;bgColorContent=443113&amp;bgTextureContent=13_diamond.png&amp;bgImgOpacityContent=8&amp;borderColorContent=efec9f&amp;fcContent=efec9f&amp;iconColorContent=efec9f&amp;bgColorDefault=4f4221&amp;bgTextureDefault=13_diamond.png&amp;bgImgOpacityDefault=10&amp;borderColorDefault=362917&amp;fcDefault=f8eec9&amp;iconColorDefault=e8e2b5&amp;bgColorHover=675423&amp;bgTextureHover=13_diamond.png&amp;bgImgOpacityHover=25&amp;borderColorHover=362917&amp;fcHover=f8eec9&amp;iconColorHover=f2ec64&amp;bgColorActive=443113&amp;bgTextureActive=13_diamond.png&amp;bgImgOpacityActive=8&amp;borderColorActive=efec9f&amp;fcActive=f9f2bd&amp;iconColorActive=f9f2bd&amp;bgColorHighlight=d5ac5d&amp;bgTextureHighlight=13_diamond.png&amp;bgImgOpacityHighlight=25&amp;borderColorHighlight=362917&amp;fcHighlight=060200&amp;iconColorHighlight=070603&amp;bgColorError=fee4bd&amp;bgTextureError=04_highlight_hard.png&amp;bgImgOpacityError=65&amp;borderColorError=c26629&amp;fcError=803f1e&amp;iconColorError=ff7519&amp;bgColorOverlay=372806&amp;bgTextureOverlay=13_diamond.png&amp;bgImgOpacityOverlay=20&amp;opacityOverlay=80&amp;bgColorShadow=ddd4b0&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=75&amp;opacityShadow=30&amp;thicknessShadow=8px&amp;offsetTopShadow=-8px&amp;offsetLeftShadow=-8px&amp;cornerRadiusShadow=12px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/swanky-purse/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Trontastic:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Segoe+UI,+Helvetica,+Arial,+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=9fda58&amp;bgTextureHeader=12_gloss_wave.png&amp;bgImgOpacityHeader=85&amp;borderColorHeader=000000&amp;fcHeader=222222&amp;iconColorHeader=1f1f1f&amp;bgColorContent=000000&amp;bgTextureContent=12_gloss_wave.png&amp;bgImgOpacityContent=55&amp;borderColorContent=4a4a4a&amp;fcContent=ffffff&amp;iconColorContent=9fda58&amp;bgColorDefault=0a0a0a&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=40&amp;borderColorDefault=1b1613&amp;fcDefault=b8ec79&amp;iconColorDefault=b8ec79&amp;bgColorHover=000000&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=60&amp;borderColorHover=000000&amp;fcHover=96f226&amp;iconColorHover=b8ec79&amp;bgColorActive=4c4c4c&amp;bgTextureActive=01_flat.png&amp;bgImgOpacityActive=0&amp;borderColorActive=696969&amp;fcActive=ffffff&amp;iconColorActive=ffffff&amp;bgColorHighlight=f1fbe5&amp;bgTextureHighlight=02_glass.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=8cce3b&amp;fcHighlight=030303&amp;iconColorHighlight=000000&amp;bgColorError=f6ecd5&amp;bgTextureError=12_gloss_wave.png&amp;bgImgOpacityError=95&amp;borderColorError=f1ac88&amp;fcError=74736d&amp;iconColorError=cd0a0a&amp;bgColorOverlay=262626&amp;bgTextureOverlay=07_diagonals_small.png&amp;bgImgOpacityOverlay=50&amp;opacityOverlay=30&amp;bgColorShadow=303030&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=50&amp;thicknessShadow=6px&amp;offsetTopShadow=-6px&amp;offsetLeftShadow=-6px&amp;cornerRadiusShadow=12px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/trontastic/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>UI Darkness:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Segoe+UI%2C+Arial%2C+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=6px&amp;bgColorHeader=333333&amp;bgTextureHeader=12_gloss_wave.png&amp;bgImgOpacityHeader=25&amp;borderColorHeader=333333&amp;fcHeader=ffffff&amp;iconColorHeader=ffffff&amp;bgColorContent=000000&amp;bgTextureContent=05_inset_soft.png&amp;bgImgOpacityContent=25&amp;borderColorContent=666666&amp;fcContent=ffffff&amp;iconColorContent=cccccc&amp;bgColorDefault=555555&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=20&amp;borderColorDefault=666666&amp;fcDefault=eeeeee&amp;iconColorDefault=cccccc&amp;bgColorHover=0078a3&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=40&amp;borderColorHover=59b4d4&amp;fcHover=ffffff&amp;iconColorHover=ffffff&amp;bgColorActive=f58400&amp;bgTextureActive=05_inset_soft.png&amp;bgImgOpacityActive=30&amp;borderColorActive=ffaf0f&amp;fcActive=ffffff&amp;iconColorActive=222222&amp;bgColorHighlight=eeeeee&amp;bgTextureHighlight=03_highlight_soft.png&amp;bgImgOpacityHighlight=80&amp;borderColorHighlight=cccccc&amp;fcHighlight=2e7db2&amp;iconColorHighlight=4b8e0b&amp;bgColorError=ffc73d&amp;bgTextureError=02_glass.png&amp;bgImgOpacityError=40&amp;borderColorError=ffb73d&amp;fcError=111111&amp;iconColorError=a83300&amp;bgColorOverlay=5c5c5c&amp;bgTextureOverlay=01_flat.png&amp;bgImgOpacityOverlay=50&amp;opacityOverlay=80&amp;bgColorShadow=cccccc&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=30&amp;opacityShadow=60&amp;thicknessShadow=7px&amp;offsetTopShadow=-7px&amp;offsetLeftShadow=-7px&amp;cornerRadiusShadow=8px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-darkness/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>UI Lightness:</em> (<a href="http://jqueryui.com/themeroller/#ffDefault=Trebuchet+MS,+Tahoma,+Verdana,+Arial,+sans-serif&amp;fwDefault=bold&amp;fsDefault=1.1em&amp;cornerRadius=4px&amp;bgColorHeader=f6a828&amp;bgTextureHeader=12_gloss_wave.png&amp;bgImgOpacityHeader=35&amp;borderColorHeader=e78f08&amp;fcHeader=ffffff&amp;iconColorHeader=ffffff&amp;bgColorContent=eeeeee&amp;bgTextureContent=03_highlight_soft.png&amp;bgImgOpacityContent=100&amp;borderColorContent=dddddd&amp;fcContent=333333&amp;iconColorContent=222222&amp;bgColorDefault=f6f6f6&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=100&amp;borderColorDefault=cccccc&amp;fcDefault=1c94c4&amp;iconColorDefault=ef8c08&amp;bgColorHover=fdf5ce&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=100&amp;borderColorHover=fbcb09&amp;fcHover=c77405&amp;iconColorHover=ef8c08&amp;bgColorActive=ffffff&amp;bgTextureActive=02_glass.png&amp;bgImgOpacityActive=65&amp;borderColorActive=fbd850&amp;fcActive=eb8f00&amp;iconColorActive=ef8c08&amp;bgColorHighlight=ffe45c&amp;bgTextureHighlight=03_highlight_soft.png&amp;bgImgOpacityHighlight=75&amp;borderColorHighlight=fed22f&amp;fcHighlight=363636&amp;iconColorHighlight=228ef1&amp;bgColorError=b81900&amp;bgTextureError=08_diagonals_thick.png&amp;bgImgOpacityError=18&amp;borderColorError=cd0a0a&amp;fcError=ffffff&amp;iconColorError=ffd27a&amp;bgColorOverlay=666666&amp;bgTextureOverlay=08_diagonals_thick.png&amp;bgImgOpacityOverlay=20&amp;opacityOverlay=50&amp;bgColorShadow=000000&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=10&amp;opacityShadow=20&amp;thicknessShadow=5px&amp;offsetTopShadow=-5px&amp;offsetLeftShadow=-5px&amp;cornerRadiusShadow=5px" target="_blank">preview theme</a>)</strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-lightness/jquery-ui.css" type="text/css" /&gt;</pre>
<p><strong><em>Vader:</em> <a href="http://jqueryui.com/themeroller/#tr&amp;ffDefault=Helvetica,+Arial,+sans-serif&amp;fwDefault=normal&amp;fsDefault=1.1&amp;fsDefaultUnit=em&amp;cornerRadius=5&amp;cornerRadiusUnit=px&amp;bgColorHeader=888888&amp;bgTextureHeader=04_highlight_hard.png&amp;bgImgOpacityHeader=15&amp;borderColorHeader=404040&amp;fcHeader=ffffff&amp;iconColorHeader=cccccc&amp;bgColorContent=121212&amp;bgTextureContent=12_gloss_wave.png&amp;bgImgOpacityContent=16&amp;borderColorContent=404040&amp;fcContent=eeeeee&amp;iconColorContent=bbbbbb&amp;bgColorDefault=adadad&amp;bgTextureDefault=03_highlight_soft.png&amp;bgImgOpacityDefault=35&amp;borderColorDefault=cccccc&amp;fcDefault=333333&amp;iconColorDefault=666666&amp;bgColorHover=dddddd&amp;bgTextureHover=03_highlight_soft.png&amp;bgImgOpacityHover=60&amp;borderColorHover=dddddd&amp;fcHover=000000&amp;iconColorHover=c98000&amp;bgColorActive=121212&amp;bgTextureActive=05_inset_soft.png&amp;bgImgOpacityActive=15&amp;borderColorActive=000000&amp;fcActive=ffffff&amp;iconColorActive=f29a00&amp;bgColorHighlight=555555&amp;bgTextureHighlight=04_highlight_hard.png&amp;bgImgOpacityHighlight=55&amp;borderColorHighlight=404040&amp;fcHighlight=cccccc&amp;iconColorHighlight=aaaaaa&amp;bgColorError=fef1ec&amp;bgTextureError=02_glass.png&amp;bgImgOpacityError=95&amp;borderColorError=cd0a0a&amp;fcError=cd0a0a&amp;iconColorError=cd0a0a" target="_blank">(preview theme)</a></strong></p>
<pre>&lt;link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/vader/jquery-ui.css" type="text/css" /&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/jquery-google-hosted-repository-links/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The Beginners Guide to jQuery Plugins</title>
		<link>http://www.devinrolsen.com/beginners-guide-to-jquery-plugin-development/</link>
		<comments>http://www.devinrolsen.com/beginners-guide-to-jquery-plugin-development/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 10:14:46 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=1046</guid>
		<description><![CDATA[<img class="alignleft" src="https://www.packtpub.com/sites/default/files/imagecache/productview/2244OS_MockupCover_Beginers%20guide_0.jpg" alt="" width="100" height="127" />I was recently given the opportunity to read over the new book "<a href="https://www.packtpub.com/jquery-plugin-development-beginners-guide/book" target="_blank">jQuery Plugin Development Beginners Guide</a>" by Giulio Bai, and I must admit this is a must have guide!]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.packtpub.com/jquery-plugin-development-beginners-guide/book" target="_blank"><img class="alignleft" src="https://www.packtpub.com/sites/default/files/imagecache/productview/2244OS_MockupCover_Beginers%20guide_0.jpg" alt="" width="125" height="152" style="border:none;" /></a>I was recently given the opportunity to read over the new book &#8220;<a href="https://www.packtpub.com/jquery-plugin-development-beginners-guide/book" target="_blank">jQuery Plugin Development Beginners Guide</a>&#8221; by Giulio Bai, and I must admit this is a must have guide! This book is perfect for beginners to gather not only a solid foundation of jQuery plugin concepts, but also best practices. The book it&#8217;s self is aimed at teaching the absolute basics jquery plugin development such as:</p>
<ul style="clear:both; font-weight:bolder;">
<li>What is jQuery</li>
<li>Plugin Basics</li>
<li>Your First Plugin</li>
</ul>
<p>What makes this book so great is how the &#8220;basics and best practices&#8221; are covered early on, while a series of introductions to actual real world plugin topics are also covered later on, such as:</p>
<ul style="font-weight:bolder;">
<li>Media Plugins
<ul style=" margin-top:0px; margin-bottom:0px;">
<li>Image Plugins</li>
<li>Video Plugins</li>
<li>Audio Plugins</li>
</ul>
</li>
<li>Forms and Validation Plugins</li>
<li>UI Plugins</li>
</ul>
<p>What also makes this book top notch is that after each chapter, they tend to pose a optional 5 to 10 question quiz to help with all learning types. Now, as if that was not enough, this book also covers other topics such as:</p>
<ul style=" font-weight:bolder;">
<li> Top jQuery Plugins</li>
<li> Reference and bibliography</li>
<li> Blogs to follow</li>
<li> Browsers: compatibility, comparisons, and plugins</li>
</ul>
<p>If your looking to dive head first into the world of jquery plugin development, then this the must have guide that all developers should carry with them. I recommend you grab this great book if your looking to invest into anything jQuery right now and enjoy it as much as I have these past weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/beginners-guide-to-jquery-plugin-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery zLayers Parallax Plugin</title>
		<link>http://www.devinrolsen.com/jquery-zlayers-parallax-plugin/</link>
		<comments>http://www.devinrolsen.com/jquery-zlayers-parallax-plugin/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 08:34:57 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[interactive illustration]]></category>
		<category><![CDATA[interactive illustrations]]></category>
		<category><![CDATA[javascript moving elements]]></category>
		<category><![CDATA[javascript moving layers]]></category>
		<category><![CDATA[javascript parallax]]></category>
		<category><![CDATA[javascript parallax script]]></category>
		<category><![CDATA[jquery moving element]]></category>
		<category><![CDATA[jquery moving elements]]></category>
		<category><![CDATA[jquery parallax]]></category>
		<category><![CDATA[jquery parallax script]]></category>
		<category><![CDATA[jquery zlayer]]></category>
		<category><![CDATA[jquery zlayers]]></category>
		<category><![CDATA[moving elements]]></category>
		<category><![CDATA[moving layers]]></category>
		<category><![CDATA[orientate elements]]></category>
		<category><![CDATA[orientate layers]]></category>
		<category><![CDATA[parallax]]></category>
		<category><![CDATA[parallax script]]></category>
		<category><![CDATA[zlayer]]></category>
		<category><![CDATA[zlayers]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=974</guid>
		<description><![CDATA[zLayer jQuery plugin allows you to orientate elements based off your mouses position from that element. zLayer is perfect for interactive illustrations, depth effects and rich user experience through creative methods. The best part about zLayer is how easy, lightweight, and quick the plugin is!]]></description>
			<content:encoded><![CDATA[<h1>What is zLayer?</h1>
<p>zLayers is a jQuery parallax plugin that allows you to orientate an element based on the position of your mouse to the page&#8217;s window, or element&#8217;s parent.</p>
<p>zLayer is perfect for interactive illustrations and rich user experience through creative methods through a parallax effect.</p>
<p>Best part about zLayer is how easy, lightweight, and quick the plugin is!<br />
<strong style="font-size: 1em;">zLayer Example</strong></p>
<div id="container"><img class="special" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/mintemp.jpg" alt="" /><br />
<img class="buda" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/budamin.png" alt="" /><br />
<img class="buda2" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/buda2min.png" alt="" /></div>
<p><strong><a href="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/index.html">Click here for a larger version of this example</a></strong></p>
<p><strong style="font-size: 1em;">zLayer Example</strong></p>
<div id="bfContainer"><img class="background zlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/bf_background.jpg" alt="" /><br />
<img class="manOne zlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/bf_man_one.png" alt="" /><br />
<img class="manTwo zlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/bf_man_two.png" alt="" /><br />
<img class="manThree zlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/bf_man_three.png" alt="" /><br />
<img class="manFour zlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/bf_man_four.png" alt="" /><br />
<img class="bfLogo zlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/bf_logo.png" alt="" /></div>
<p><strong style="font-size: 1em;">zLayer Example</strong></p>
<div id="jackContainer"><img class="jackBackground Jzlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/pumpkinbg.jpg" alt="" /><br />
<img class="branch Jzlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/branchone.png" alt="" /><br />
<img class="human Jzlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/human.png" alt="" /><br />
<img class="tree zlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/tree.png" alt="" /><br />
<img class="fence-post Jzlayer" src="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/img/fencepostright.png" alt="" /></div>
<p>&nbsp;</p>
<h2>Tutorial on how to setup your zLayers</h2>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/BOJDMFNoWyE" frameborder="0" allowfullscreen></iframe></p>
<h2>Download a copy of zLayer v0.2 (Dec 10th, 2010)</h2>
<p><strong style="font-weight: bold;">Version 0.2 is now out!.</strong></p>
<ul>
<li>Script has been optimized to use less memory between gathering and delivering each elements coordinates.</li>
<li>Script size has now been reduced in size by 9.5% from its original size from v0.1.</li>
<li>Bug with IE has been fixed and should be working correctly now.</li>
</ul>
<p><a href="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/js/jquery.zlayer.min.js">jquery.zlayer.min.js (461bytes)</a><br />
<a href="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/js/jquery.zlayer.full.js">jquery.zlayer.full.js (905bytes)</a><br />
<a href="http://www.devinrolsen.com/zlayer/js/jquery.zlayer.full.js" target="_blank">jquery.zlayer.full.js (v0.3-Beta) (1.7kb)</a><br />
<a href="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/zlayer/jquery-zlayer-v0-2.zip" target="_blank">Download the Example</a></p>
<h2>API &amp; Options</h2>
<p><strong>Installing a zLayer</strong><br />
How to install a zlayer on an element:</p>
<pre>$('#someElement').zlayer();</pre>
<hr />
<h4>Mass</h4>
<p>Mass gives parallax movement distance limitation. The more mass you give an element the less it will move from its original position.</p>
<pre>$('#someElement').zlayer({
    mass:15
});</pre>
<p><em>Default is 10</em></p>
<hr />
<h4>Canvas</h4>
<p>Sometimes you want a parent element to be the event for moving your zlayers. By using canvas and pointing to this parent element, we contain the zLayers movements to our parent element.</p>
<pre>$('#someElement').zlayer({
    canvas:'#parentElement'
});</pre>
<p><em>Default is window</em></p>
<hr />
<h4>Confine</h4>
<p>Confine is a way to stop either x or y axis&#8217; from any movement what so ever (Such as our above example&#8217;s background).</p>
<pre>$('#someElement').zlayer({
    confine:'y'
});</pre>
<p><em>Default is none</em></p>
<hr />
<h4>Force</h4>
<p>Force allows you to control if an element should be pushed or pulled away from your mouse&#8217;s position. This is a fun one to mix up with different elements and create many effects.</p>
<pre>$('#someElement').zlayer({
    force:'push'
});
or
$('#someElement').zlayer({
    force:'pull'
});</pre>
<p><em>Default is push</em></p>
<hr />
<h4>Offsetting zLayers, Styles and JavaScript</h4>
<p>To position elements and fine tune their locations to the page or parent element do NOT use top or left styles. The top and left styles are reserved for zLayer movement. Instead of top and left use positive or negative margins to better position your elements.</p>
<p><strong>Here is our above examples CSS</strong></p>
<pre>.background,.guy,.guys {position:absolute;}
.background {z-index:1; margin-left:-290px;}
.guy {z-index:4; margin-left:-305px;}
.guys {z-index:2; margin-left:-329px; margin-top:200px;}</pre>
<p>Notice how all elements have a position of absolute, this is important for zLayer success. Also notice how each element has a unique z-index, one higher than the other to properly position our zLayers on top of each other.</p>
<p>Last notice how each element has a margin-top and or margin-left to better offset their location of movement around in the parent element. This again is how we better position or rather fine tune our zLayers.</p>
<p><strong>Above examples JavaScript</strong></p>
<pre>$(document).ready(function(){
    $('.background').zlayer({mass:15,confine:'y',canvas:'#container'});
    $('.guy').zlayer({mass:8,force:'push',canvas:'#container'});
    $('.guys').zlayer({mass:5,force:'push',canvas:'#container'});
});</pre>
<p>Thanks, I hope you have fun and enjoy my plugin!<br />
Devin R. Olsen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/jquery-zlayers-parallax-plugin/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>jQuery Image Swapping with Fade Effect</title>
		<link>http://www.devinrolsen.com/jquery-image-swapping-with-fade-effect/</link>
		<comments>http://www.devinrolsen.com/jquery-image-swapping-with-fade-effect/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 05:38:21 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[change image fade]]></category>
		<category><![CDATA[image fade change]]></category>
		<category><![CDATA[image source swap]]></category>
		<category><![CDATA[image src swap]]></category>
		<category><![CDATA[image swap]]></category>
		<category><![CDATA[image swap fade]]></category>
		<category><![CDATA[jquery image swap]]></category>
		<category><![CDATA[swap image source]]></category>
		<category><![CDATA[swap image src]]></category>
		<category><![CDATA[swapping image]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=960</guid>
		<description><![CDATA[Today we are going to cover how to properly change the source of a single image using jQuery with a fade transition effect. We will learn how to use our fade effect as a callback to hide our image swapping from our viewers.]]></description>
			<content:encoded><![CDATA[<p>Today we are going to cover how to properly change the source of a single image using jQuery. We will also learn how to fade the image out prior to swapping the source, and fade the image back in after the new source has been fully downloaded.</p>
<p>So lets setup a scenario for our script. Lets say we have a bunch of little thumbnails below a larger image. Lets also say our desired functionality here is to have any thumbnail that is clicked on show up as a larger version in the above larger image. Presuming the small thumbnail images have links wrapped around them with a href attribute pointing to the larger version of each thumbnail, we have something to work with.</p>
<p><strong><a href="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/image-swapping/WORKS.html">Demo of scenario in action</a></strong></p>
<p>To begin, we want to set up new click events for each thumbnails anchor tag and prevent the user from acutely being directed to this image file in the browser.</p>
<pre>$('a.thumbnail').click(function(){
    return false;
});
</pre>
<p>So in the above code we find all anchor elements with a class of &#8220;thumbnails&#8221; and run over each instance of one. When we find an anchor element that meets this requirement we setup a new click event with an empty anonymous function. Finally in our empty function, we use the &#8220;return false;&#8221; to prevent the browser from performing the redirect to the image file.</p>
<p>Next we need to gather the clicked anchor tag&#8217;s &#8220;href&#8221; attribute value, and place it into a variable that we will use later on.</p>
<pre>$('a.thumbnail').click(function(){
    var src = $(this).attr('href');
    return false;
});
</pre>
<p>Next, lets prevent from loading images we have already clicked on by comparing our gathered src, to our already set large image&#8217;s src, like so:</p>
<pre>$('a.thumbnail').click(function(){
    var src = $(this).attr('href');
    if (src != $('img#largeImg').attr('src')) {
    }
    return false;
});
</pre>
<p>Basically all we are doing is is saying, &#8220;If our gathered src is NOT equal to our larger image&#8217;s already set ssrc, proceed on to changing the large image&#8217;s source&#8221;.</p>
<p>Great, now that we have the larger version&#8217;s source of our clicked thumbnail, we can proceed on to swapping the image with this new source:</p>
<pre>$('a.thumbnail').click(function(){
    var src = $(this).attr('href');
    if (src != $('img#largeImg').attr('src')) {
        $('img#largeImg').stop().animate({opacity:'0'},function(){
                $(this).attr('src',src);
        });
    }
    return false;
});
</pre>
<p>So here we are pointing the larger image who has and id of &#8220;largeImg&#8221;, and starting to animate the image&#8217;s opacity to 0. Because there is a callback when using jQuery animate, we make use of it to set the source (src=&#8221;") of our larger image to our gather thumbnail&#8217;s source. We make use of the callback in our animate to prevent the &#8220;image source swapping&#8221; from happening while the image is still visible.</p>
<p>Next, we want to make sure that our image has fully been downloaded prior to actually making the image indeed visible again. To do this, we make use of the jQuery .load() functionality that will listen to our large image, and perform what we need when the image is ready to be visible.</p>
<pre>$('a.thumbnail').click(function(){
    var src = $(this).attr('href');
    if (src != $('img#largeImg').attr('src')) {
        $('img#largeImg').stop().animate({opacity:'0'},function(){
                $(this).attr('src',src);
        }).load(function(){
                $(this).stop().animate({opacity:'1'});
        });
    }
    return false;
});
</pre>
<p>So as you can see out last step in the .load() callback functionality is to animate our image back to an opacity of 1 again.</p>
<p>Also, note how I use a .stop() prior to any .animate() call. We make use of .stop() prior to .animate() to prevent the animation fires from collecting if the user clicks our thumbnails rapidly.</p>
<p>So our above code is very compact and meets all our requirements of swapping in larger versions of thumbnail sources while performing a fade effect. Drum roll please&#8230;.</p>
<h2>The Problem:</h2>
<p>Erik Kraft helped me reproduce the IE error some people might run into with this method. Apparently because we  are making use of the .load() Ajax feature of jQuery and images, IE has a hard time with caching the requests. Because IE caches the requests, any second attempt to load up an already cached image, fails.</p>
<h2>The Solution:</h2>
<p>Lucky for us, this is a little fix. The solution is to make all requests unique to IE, so no matter if the request is cached or not our script wont fail. We can make each request unique by appending a random number to the end of our src variable, that then gets evaluated by our .load(). Like so:</p>
<pre>$('a.thumbnail').click(function(){
    var src = $(this).attr('href');
    if (src != $('img#largeImg').attr('src')) {
        $('img#largeImg').stop().animate({opacity:'0'},function(){
                $(this).attr('src',src<span style="text-decoration: underline;"><strong>+'?'+Math.floor(Math.random()*(10*100))</strong></span>);
        }).load(function(){
                $(this).stop().animate({opacity:'1'});
        });
    }
    return false;
});
</pre>
<p>So now our images that will be requested from .load(), will be looking something like this:</p>
<pre>img/img-three.jpg<span style="text-decoration: underline;"><strong>?691</strong></span>
</pre>
<p>My random number is between 1 and 100. This random number gives me a 100 to 1 odds  that out of my 4 images, the one I click will be a unique request. I will  take those odds sir!</p>
<p>Finally, because we have introduced unique requests into the mix, we have a broken our condition that prevents us from loading images we have already clicked. The reason this breaks is cause we are now trying to compare our large image&#8217;s source to a unique version of the same url. We can fix this issue by trimming off our unique number at the end of the images url in our condition statement. Like so:</p>
<pre>$('a.thumbnails').each(function(){
    $(this).click(function(){
        var src = $(this).attr('href');
        if (src != $('img#largeImg').attr('src')<span style="text-decoration: underline;"><strong>.replace(/\?(.*)/,'')</strong></span>) {
            $('img#largeImg').stop().animate({opacity:'0'},function(){
                    $(this).attr('src',src+'?'+Math.floor(Math.random()*(10*100)));
            }).load(function(){
                    $(this).stop().animate({opacity:'1'});
            });
        }
        return false;
    });
});

And that's it. Enjoy!
</pre>
<p><strong><a href="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/image-swapping/WORKS.html">Demo of script in action</a></strong></p>
<p>Devin R. Olsen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/jquery-image-swapping-with-fade-effect/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Javascript Mobile Orientation Detection</title>
		<link>http://www.devinrolsen.com/javascript-mobile-orientation-detection/</link>
		<comments>http://www.devinrolsen.com/javascript-mobile-orientation-detection/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 08:19:18 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=952</guid>
		<description><![CDATA[Today I wanted to share with you how to detect the orientation of a mobile device such as iPhone, iPad, Blackberry even the Android with JavaScript alone. Before we start we should talk about &#8220;Media Queries&#8221; for CSS3. CSS3 media queries allow you to change the layouts/look and feel of your site by means of [...]]]></description>
			<content:encoded><![CDATA[<p>Today I wanted to share with you how to detect the orientation of a mobile device such as iPhone, iPad, Blackberry even the Android with JavaScript alone. Before we start we should talk about &#8220;Media Queries&#8221; for CSS3.</p>
<p>CSS3 media queries allow you to change the layouts/look and feel of your site by means of screen side detection. The problem however with CSS3 media queries you can&#8217;t manipulate the DOM markup of a document based on these screen sizes that are detected.</p>
<p>With the help of JavaScript however, we can now manipulate DOM markup by determining the orientation of a mobile device. With the window.onorientationchange feature of most grade A mobile devices we can both listen for orientation change or detect orientation upon page loadings.</p>
<p>Here is our script:</p>
<pre>	detectOrientation();
	window.onorientationchange = detectOrientation;
	function detectOrientation(){
		if(typeof window.onorientationchange != 'undefined'){
			if ( orientation == 0 ) {
				 //Do Something In Portrait Mode
			}
			else if ( orientation == 90 ) {
				 //Do Something In Landscape Mode
			}
			else if ( orientation == -90 ) {
				 //Do Something In Landscape Mode
			}
			else if ( orientation == 180 ) {
				 //Do Something In Landscape Mode
			}
		}
	}
</pre>
<p>With the above JavaScript, upon the page loading we determine right away what the orientation of our device is by calling the function &#8220;detectOrientation();&#8221;. From here we have a condition that checks the &#8220;typeof&#8221; our &#8220;window.onorientationchange&#8221; to see if truly the feature exists for the device or not. If indeed the ability of &#8220;window.onorientationchange&#8221; is there for a device we travel further down into more conditions based on the devices orientation direction (0,90,-90,180).</p>
<p>In each orientation detection we cause begin to manipulate our document however we wish! Very nifty!</p>
<p>Down side is there is only one portrait detection, leaving some devices such as iPad unable to detect it being in portrait mode with the device held upside down.</p>
<p>So to conclude, with the power of most new mobile devices utilizing CSS3 media queries and now &#8220;window.onorientationchange&#8221; we have the power to manipulate almost all of our document however we like to best fit our visitors devices.</p>
<p><strong>Thanks to the original creator of the above script:</strong><br />
<a href="http://favo.asia/2010/07/detecting-ipad-orientation-using-javascript/">http://favo.asia/2010/07/detecting-ipad-orientation-using-javascript/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/javascript-mobile-orientation-detection/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A Faster More Flexible Way to Write jQuery CSS</title>
		<link>http://www.devinrolsen.com/faster-more-flexible-way-to-write-jquery-css/</link>
		<comments>http://www.devinrolsen.com/faster-more-flexible-way-to-write-jquery-css/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 04:58:02 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[faster jquery]]></category>
		<category><![CDATA[fix repeated styles]]></category>
		<category><![CDATA[fix repeated value]]></category>
		<category><![CDATA[fix repeated values]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jquery repeated css]]></category>
		<category><![CDATA[optimize jquery]]></category>
		<category><![CDATA[repeated value]]></category>
		<category><![CDATA[repeated values]]></category>
		<category><![CDATA[sum]]></category>
		<category><![CDATA[values]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=923</guid>
		<description><![CDATA[Today we are going to learn how to cut down on using repeated values in your jQuery CSS styles. I will also show you why this method is not only faster but more flexible than the traditional jQuery CSS method.]]></description>
			<content:encoded><![CDATA[<p>In most instances its always better to keep your styles inside a style sheet. There are times however, when you need JavaScript to set or animate some styles.</p>
<p>In just such an instance, we find ourselves sometimes writing things like this:</p>
<h2>The Problem:</h2>
<pre>$('#someElm').css({
	width:'100px',
	height:'100px',
	textAlign:'center',
	fontSize:'14px',
	lineHeight:'100px'
});
</pre>
<p>There really is no problem with this script, the issue that stands out is that we are repeating &#8220;100px&#8221; three times over. If you are like me, you also wonder if there is a way to sum up these repeated values. Well, as matter of fact there is a way to cut down on repeated CSS values.</p>
<h2>The Solution:</h2>
<pre>var css = {};
css['width'] = css['height'] = css['lineHeight'] = '100px';
css['textAlign'] = 'center';
css['fontSize'] = '14px';
$('#someElm').css(css);
</pre>
<p>COOL! We just summed up three style rule&#8217;s values into a single call!</p>
<p>We did this by first instating a empty object called css (css= {};), then we assigned our style rules and values to this object (css['fontSize'] = &#8217;14px&#8217;).</p>
<h2>A Step Further</h2>
<p>Being able to sum up our styles values into a single call is very helpful indeed, but that&#8217;s not all we can now do with this method folks. With this approach, you have set the platform for a whole new level at making this single calls more dynamic if you will.</p>
<p>Lets say that we want to have a condition on the values our elements style receives. We can do so more efficiently now that we have installed an object.</p>
<p>Lets have a look see:</p>
<pre>var css = {};
var start = false;
var condition = (start == false) ? '100px' : '50px' ;

css['width'] = css['height'] = css['lineHeight'] = condition;
css['textAlign'] = 'center';
css['fontSize'] = '14px';
$('#someElm').css(css);
</pre>
<p>WOW, now that&#8217;s some sweet stuff!</p>
<p>Instead of writing essentially two different calls to &#8220;$(&#8216;#someElm&#8217;)&#8221; thats nested in a long if/else condition, we can still sum up our css value and make use of Javascript Ternary Operator.</p>
<p>So to recap, we can install an empty object and toss our styles and repeated values into and assign the styles to elements. We can also make use of Javascript Ternary Operator to better assist us in summing up our repeated values dynamically.</p>
<p>Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/faster-more-flexible-way-to-write-jquery-css/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to Build a jQuery Lava Lamp Menu</title>
		<link>http://www.devinrolsen.com/build-jquery-lava-lamp-menu-tabs/</link>
		<comments>http://www.devinrolsen.com/build-jquery-lava-lamp-menu-tabs/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 09:05:00 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[CSS Tutorials]]></category>
		<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[css menu tabs]]></category>
		<category><![CDATA[javascript menu tabs]]></category>
		<category><![CDATA[jquery lava lamp]]></category>
		<category><![CDATA[jquery menu tabs]]></category>
		<category><![CDATA[lava lamp menu]]></category>
		<category><![CDATA[lava lamp menu tabs]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=567</guid>
		<description><![CDATA[Here I am going to show you how to build "Lava Lam"p menu tabs. We will be using CSS / jQuery and a single image to maintain a 100% stretchy rounded corners menu tab or lava bubble if you will. This version of the Lava Lamp menu tabs works in IE6+ and all other browsers! ]]></description>
			<content:encoded><![CDATA[<div id="attachment_1153" class="wp-caption alignleft" style="width: 460px"><a title="Lava Lamp Tutorial Example Demo" href="http://www.devinrolsen.com/wp-content/themes/dolsen/demos/jquery/lavalamp"><img class="size-full wp-image-1153" title="lava-menu" src="http://www.devinrolsen.com/wp-content/uploads/2009/12/lava-menu.png" alt="" width="450" height="108" /></a><p class="wp-caption-text">Example:</p></div>
<p><a href="http://vimeo.com/8502892">How to Build jQuery Lava Lamp Menu Tabs</a> from <a href="http://vimeo.com/user2898580">Devin R. Olsen</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>This effect is called &#8220;animated rounded menu tabs&#8221;. It&#8217;s a neat little effect that will work in all browsers including IE6+. somethings to note is that this technique uses a single image for its four corners and is stretchy in both width and height!</p>
<p>We are also using the jQuery JS lib to ensure our JS works across all browsers but also to cut  down on the amount of JS we uses to make this great effect. Here is the link I use in the video tutorial to use the jQuery lib from Google&#8217;s online repository.</p>
<pre>http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js</pre>
<p><br/></p>
<h3>The Video Tutorial:</h3>
<p><object style="margin:auto; display:block;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="440" height="345" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="wmode" value="transparent" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8502892&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="440" height="345" src="http://vimeo.com/moogaloop.swf?clip_id=8502892&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" wmode="transparent" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Here is the full source if you want to just get down to studying the code.</p>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Devin R. Olsen - Lava Lamp Menu Tabs&lt;/title&gt;
&lt;style type="text/css"&gt;
#nav {width:500px;  background:#333; margin:0px; padding:0px 0px 0px 20px; color:#fff; position:relative;}
#nav li {float:left; display:inline; list-style:none; line-height:35px; position:relative; z-index:3;}
#nav li a { padding:0px 10px 0px; cursor:pointer; font-size:12px; display:inline; color:#fff;}

#nav li.rounder { position:absolute; left:0px; top:0px; margin:0px; padding:0px; display:none; z-index:2;}
#nav li.rounder img {position:absolute;}
.cornersWrap {position:relative; height:25px; width:auto; margin-top:5px; background:#fff;}

#nav, #nav li, #nav li a, #nav li.rounder {height:35px;}

#tl,#tr,#bl,#br {position:absolute; width:8px; height:8px; overflow:hidden;}

#tr,#tl {top:0px;}
#br,#bl {bottom:0px;}

#tr,#br {right:0px;}
#tl,#bl {left:0px;}

#tr img,#br img {left:-8px;}
#bl img,#br img {top:-8px;}
&lt;/style&gt;
&lt;script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
$(document).ready(function(){
	$("#nav li a").mouseover(function(){

		$("#nav li a").each(function(count){
			$(this).css({color:"#fff"});
		});

		$(this).css({color:"#000"});

		var offL =  $(this).offset().left - $("#nav").offset().left;
		var offW = $(this).width() + parseInt($(this).css("paddingLeft")) * 2;

		$("li.rounder").stop().animate({left:offL+"px", width:offW+"px"},295,function(){

			//IE6 1px Fix
			var trOff = $("#tr").offset().left + parseInt($("#tr").css("width"));
			var wrapWOff = $(".rounder").offset().left + parseInt($(".rounder").css("width"));

			var brOff = $("#br").offset().top + parseInt($("#br").css("height"));
			var wrapHOff = $(".cornersWrap").offset().top + parseInt($(".cornersWrap").css("height"));					

			if(wrapWOff &gt; trOff){
				$("#tr,#br").attr("class","rFix");
			}	

			$(".rFix").css({right:"-1px"});

			if(wrapHOff &gt; brOff){
				$("#br,#bl").attr("class","bFix");
			}
			$(".bFix").css({bottom:"-1px"});
		});
	});
});
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
	&lt;div&gt;
    	&lt;ul id="nav"&gt;
        	&lt;li&gt;&lt;a href="#"&gt;Short&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;Longer&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;Kinda Long&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;Kinda Longer&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;Really Longer&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;A Really Lot Longer&lt;/a&gt;&lt;/li&gt;
            &lt;li class="rounder"&gt;
            	&lt;div class="cornersWrap"&gt;
                    &lt;div id="tl"&gt;&lt;img src="http://www.devinrolsen.com/wp-content/themes/dolsen/images/rounder.gif" /&gt;&lt;/div&gt;
                    &lt;div id="tr"&gt;&lt;img src="http://www.devinrolsen.com/wp-content/themes/dolsen/images/rounder.gif" /&gt;&lt;/div&gt;
                    &lt;div id="bl"&gt;&lt;img src="http://www.devinrolsen.com/wp-content/themes/dolsen/images/rounder.gif" /&gt;&lt;/div&gt;
                    &lt;div id="br"&gt;&lt;img src="http://www.devinrolsen.com/wp-content/themes/dolsen/images/rounder.gif" /&gt;&lt;/div&gt;
                &lt;/div&gt;
            &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/build-jquery-lava-lamp-menu-tabs/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>How to build a jQuery lightbox!</title>
		<link>http://www.devinrolsen.com/how-to-build-a-jquery-lightbox/</link>
		<comments>http://www.devinrolsen.com/how-to-build-a-jquery-lightbox/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 05:56:59 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[build lightbox]]></category>
		<category><![CDATA[how to build lightbox]]></category>
		<category><![CDATA[jquery lightbox]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[make a lightbox]]></category>

		<guid isPermaLink="false">http://www.devinrolsen.com/?p=562</guid>
		<description><![CDATA[Today I want to talk about everything lightbox! I want to not only show you how to build a lightbox with css and jQuery but also expose the road blocks solutions any normal developer runs when building a lightbox. I will also show you how to build the lightbox so that it works in IE6, IE7 and IE8 as well as all other major browsers.]]></description>
			<content:encoded><![CDATA[<p>Today I want to talk about EVERYTHING lightbox. I want to show you how to build your own lightbox using jQuery and CSS. Not only build it but explain to you the road blocks and work arounds any normal developer would run into. We will go over each step on how to make the lightbox work in IE6, IE7 and IE8 as well as all other browsers.</p>
<p><object id="stVEpSQEJIR19eQF9UWFNYXlFS" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="video=stVEpSQEJIR19eQF9UWFNYXlFS" /><param name="src" value="http://www.screentoaster.com/swf/STPlayer.swf" /><param name="allowfullscreen" value="true" /><param name="wmode" value="transparent" /><embed id="stVEpSQEJIR19eQF9UWFNYXlFS" type="application/x-shockwave-flash" width="425" height="344" src="http://www.screentoaster.com/swf/STPlayer.swf" wmode="transparent" flashvars="video=stVEpSQEJIR19eQF9UWFNYXlFS" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Here is the completed code if you just want to study the little guy.</p>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Everything You Need to Know About a Lightbox!&lt;/title&gt;
&lt;script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"&gt;&lt;/script&gt;
&lt;style type="text/css"&gt;
#lightBox {width:100%; margin:50px 0px; text-align:center; display:none;}
#lightWrap {width:400px; background:#000; border:2px #ccc solid; margin:auto; color:#fff; position:relative;  z-index:2;}

#shade {width:100%; height:100%; position:absolute; top:0px; left:0px; background:#000; -moz-opacity:0.5; -khtml-opacity:0.5; opacity:0.5; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); display:none; z-index:1;}

#closeBox { width:16px; height:16px; line-height:15px; background:#F36; position:absolute; top:5px; right:10px; cursor:pointer;}
&lt;/style&gt;
&lt;script&gt;
$(document).ready(function(){

	$("#action").click(function(){
		$("#lightBox").fadeIn("fast");

		if($("body").height() &gt; $("body").offset().height){
				var sH = $("body").height();
			}else{
				var sH = $("body").offset().height;
		}

		$("#shade").css({height:sH+'px',}).slideDown("fast");

		$("#closeBox").click(function(){
			$("#lightBox").fadeOut("fast");
			$("#shade").slideUp("fast");
		});

	});

});
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;button id="action"&gt;Click Me&lt;/button&gt;

&lt;div id="lightBox"&gt;
	&lt;div id="lightWrap"&gt;
    	&lt;div id="closeBox"&gt;X&lt;/div&gt;
    	&lt;h2&gt;HELLO This is my very own custom built lightbox!!&lt;/h2&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div id="shade"&gt;&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Thanks Everyone!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/how-to-build-a-jquery-lightbox/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk

Served from: www.devinrolsen.com @ 2012-02-05 12:28:18 -->
