/*
 * jQuery Color Animations v2.0b1
 * http://jquery.org/
 *
 * Copyright 2011 John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Date: Thu May 26 11:26:54 2011 -0500
 */
(function(a,b){function m(a,b,c){c=(c+1)%1;if(c*6<1)return a+(b-a)*6*c;if(c*2<1)return b;if(c*3<2)return a+(b-a)*(2/3-c)*6;return a}function l(b,c,d){if((c.empty||d)&&b==null)return null;if(c.def&&b==null)return c.def;c.type==="int"&&(b=~~b),c.mod&&(b=(b<0?b+c.mod*(1+~~(-b/c.mod)):b)%c.mod),c.type==="float"&&(b=parseFloat(b)),a.isNaN(b)&&(b=c.def);return c.min>b?c.min:c.max<b?c.max:b}var c="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color outlineColor".split(" "),d=/^([\-+])=\s*(\d+\.?\d*)/,e=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],f=a.Color=function(b,c,d,e){return new a.Color.fn.parse(b,c,d,e)},g={rgba:{cache:"_rgba",props:{red:{idx:0,min:0,max:255,type:"int",empty:!0},green:{idx:1,min:0,max:255,type:"int",empty:!0},blue:{idx:2,min:0,max:255,type:"int",empty:!0},alpha:{idx:3,min:0,max:1,type:"float",def:1}}},hsla:{cache:"_hsla",props:{hue:{idx:0,mod:360,type:"int",empty:!0},saturation:{idx:1,min:0,max:1,type:"float",empty:!0},lightness:{idx:2,min:0,max:1,type:"float",empty:!0}}}},h=g.rgba.props,i=f.support={},j,k=a.each;g.hsla.props.alpha=h.alpha,f.fn=f.prototype={constructor:f,parse:function(c,d,i,m){if(c===b){this._rgba=[null,null,null,null];return this}if(c instanceof a||c.nodeType)c=c instanceof a?c.css(d):a(c).css(d),d=b;var n=this,o=a.type(c),p=this._rgba=[],q;d!==b&&(c=[c,d,i,m],o="array");if(o==="string"){c=c.toLowerCase(),k(e,function(a,b){var d=b.re.exec(c),e=d&&b.parse(d),f,h=b.space||"rgba",i=g[h].cache;if(e){f=n[h](e),h!="rgba"&&(n[i]=f[i]),p=n._rgba=f._rgba;return!1}});if(p.length!==0){Math.max.apply(Math,p)===0&&$.extend(p,j.transparent);return this}c=j[c]||j._default;return this.parse(c)}if(o==="array"){k(h,function(a,b){p[b.idx]=l(c[b.idx],b)});return this}if(o==="object"){c instanceof f?k(g,function(a,b){c[b.cache]&&(n[b.cache]=c[b.cache].slice())}):k(g,function(a,b){k(b.props,function(a,d){var e=b.cache;if(!n[e]&&b.to){if(c[a]==null||a==="alpha")return;n[e]=b.to(n._rgba)}n[e][d.idx]=l(c[a],d,!0)})});return this}},is:function(a){var b=f(a),c=!0,d=this;k(g,function(a,e){var f=b[e.cache],g;f&&(g=d[e.cache]||e.to&&e.to(d._rgba)||[],k(e.props,function(a,b){if(f[b.idx]!=null){c=f[b.idx]==g[b.idx];return c}}));return c});return c},_space:function(){var a=[],b=this;k(g,function(c,d){b[d.cache]&&a.push(c)});return a.pop()},transition:function(a,b){var c=f(a),d=c._space(),e=g[d],h=this[e.cache]||e.to(this._rgba),i=h.slice();c=c[e.cache],k(e.props,function(a,d){var e=h[d.idx],f=c[d.idx];f!==null&&(e===null?i[d.idx]=f:(d.mod&&(f-e>d.mod/2?e+=d.mod:e-f>d.mod/2&&(e-=d.mod)),i[d.idx]=l((f-e)*b+e,d)))});return this[d](i)},blend:function(b){if(this._rgba[3]===1)return this;var c=this._rgba.slice(),d=c.pop(),e=f(b)._rgba;return f(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b=a.map(this._rgba,function(a,b){return a==null?b>2?1:0:a});b[3]===1&&(b.length=3);return(b.length===3?"rgb(":"rgba(")+b.join(",")+")"},toHslaString:function(){var b=a.map(this.hsla(),function(a,b){a=a==null?b>2?1:0:a;if(b===1||b===2)a=Math.round(a*100)+"%";return a});b[3]===1&&(b.length=3);return(b.length===3?"hsl(":"hsla(")+b.join(",")+")"},toHexString:function(b){var c=this._rgba.slice();b||(c.length=3);return"#"+a.map(c,function(a,b){var c=b===3?255:1,d=(a*c).toString(16);return d.length===1?"0"+d:d.substr(0,2)}).join("")},toString:function(){if(this._rgba[3]===0)return"transparent";return this.toRgbaString()}},f.fn.parse.prototype=f.fn,g.hsla.to=function(a){if(a[0]==null||a[1]==null||a[2]==null)return[null,null,null,a[3]];var b=a[0]/255,c=a[1]/255,d=a[2]/255,e=a[3],f=Math.max(b,c,d),g=Math.min(b,c,d),h=f-g,i=f+g,j=i*.5,k,l;g===f?k=0:b===f?k=60*(c-d)/h+360:c===f?k=60*(d-b)/h+120:k=60*(b-c)/h+240,j===0||j===1?l=j:j>.5?l=h/(2-i):l=h/i;return[Math.round(k)%360,l,j,e==null?1:e]},g.hsla.from=function(a){if(a[0]==null||a[1]==null||a[2]==null)return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],e=a[3],f=d<=.5?d*(1+c):d+c-d*c,g=2*d-f,h,i,j;return[Math.round(m(g,f,b+1/3)*255),Math.round(m(g,f,b)*255),Math.round(m(g,f,b-1/3)*255),e]},k(g,function(c,e){var g=e.props,h=e.cache,i=e.to,j=e.from;f.fn[c]=function(c){i&&!this[h]&&(this[h]=i(this._rgba));if(c===b)return this[h].slice();var d=a.type(c),e=d==="array"||d==="object"?c:arguments,m=this[h].slice(),n;k(g,function(a,b){var c=e[d==="object"?a:b.idx];c==null&&(c=m[b.idx]),m[b.idx]=l(c,b)});if(j){n=f(j(m)),n[h]=m;return n}return f(m)},k(g,function(b,e){f.fn[b]||(f.fn[b]=function(f){var g=a.type(f),h=b==="alpha"?this._hsla?"hsla":"rgba":c,i=this[h](),j=i[e.idx],k;if(g==="undefined")return j;g==="function"&&(f=f.call(this,j),g=a.type(f));if(f==null&&e.empty)return this;g==="string"&&(k=d.exec(f),k&&(f=j+parseFloat(k[2])*(k[1]==="+"?1:-1))),i[e.idx]=f;return this[h](i)})})}),k(c,function(b,c){a.cssHooks[c]={set:function(b,d){d=f(d);if(!i.rgba&&d._rgba[3]!==1){var e=c==="backgroundColor"?b.parentNode:b,g;do{g=a.curCSS(e,"backgroundColor");if(g!==""&&g!=="transparent")break}while((b=b.parentNode)&&b.style);d=d.blend(f(g||"_default"))}d=d.toRgbaString(),b.style[c]=d}},a.fx.step[c]=function(b){b.colorInit||(b.start=f(b.elem,c),b.end=f(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}}),a(function(){var a=document.createElement("div"),b=a.style;b.cssText="background-color:rgba(150,255,150,.5)",i.rgba=b.backgroundColor.indexOf("rgba")>-1}),j=a.Color.names={aqua:"#00ffff",azure:"#f0ffff",beige:"#f5f5dc",black:"#000000",blue:"#0000ff",brown:"#a52a2a",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkviolet:"#9400d3",fuchsia:"#ff00ff",gold:"#ffd700",green:"#008000",indigo:"#4b0082",khaki:"#f0e68c",lightblue:"#add8e6",lightcyan:"#e0ffff",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightyellow:"#ffffe0",lime:"#00ff00",magenta:"#ff00ff",maroon:"#800000",navy:"#000080",olive:"#808000",orange:"#ffa500",pink:"#ffc0cb",purple:"#800080",violet:"#800080",red:"#ff0000",silver:"#c0c0c0",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}})(jQuery);
