/*
 * jQuery EasySlider
 */

(function($){$.fn.easySlider=function(options){var defaults={prevId:'prevBtn',nextId:'nextBtn',prevText:'Previous',nextText:'Next',autogeneratePagination:false,orientation:'',speed:800,autoplayDuration:0,restartDuration:2500,loop:false,hoverPause:0,hover:false,easing:null,pauseable:false,pauseButtons:false,beforeTransition:null,afterTransition:null};var options=$.extend(defaults,options);return this.each(function(){var obj=$(this),totalSlides=$("li",obj).length,slideWidth=obj.width(),slideHeight=obj.height(),lastSlide=totalSlides-1,current=0;var vertical=(options.orientation=='vertical'),fade=(options.orientation=='fade'),horizontal=(!vertical&&!fade),autogen=options.autogeneratePagination,pauseable=options.pauseable,loop=options.loop,speed=options.speed,easing=options.easing,hover=options.hover,hoverPause=options.hoverPause,buttonsPause=options.pauseButtons,restartDuration=options.restartDuration,autoplayDuration=Math.max(options.autoplayDuration,25)+speed,autoplay=(options.autoplayDuration>0),beforeTransition=options.beforeTransition,afterTransition=options.afterTransition;interval=null,restart=null;if(autogen){$(obj).after('<span id="'+options.prevId+'"><a href=\"javascript:void(0);\">'+options.prevText+'</a></span> '+'<span id="'+options.nextId+'"><a href=\"javascript:void(0);\">'+options.nextText+'</a></span>');}
var $ul=$("ul",obj),$next=$("#"+options.nextId),$prev=$("#"+options.prevId);if(loop){$ul.append($("li:first",obj).clone());totalSlides+=1;lastSlide+=1;}
if(horizontal){$("li",obj).css('float','left');$ul.css('width',totalSlides*slideWidth);}
if(fade){$ul.find("li:not(:first)").hide();}
var pauseFunc=function(){clearInterval(interval);clearTimeout(restart);}
var restartFunc=function(){restart=setTimeout(function(){interval=setInterval(auto,autoplayDuration);},restartDuration);};if(pauseable&&autoplay){$(obj).hover(pauseFunc,restartFunc);if(buttonsPause){$next.hover(pauseFunc,restartFunc);$prev.hover(pauseFunc,restartFunc);}}
if(!hover){$next.click(function(){if(autoplay){pauseFunc();if(!buttonsPause){restartFunc();}};animate("next");});$prev.click(function(){if(autoplay){pauseFunc();if(!buttonsPause){restartFunc();}};animate("prev");});}else{var hoverNext=false,hoverPrev=false,isAnimating=false;$next.hover(function(){var tfunc=arguments.callee;hoverNext=true;if(!isAnimating){isAnimating=true;animate("next",function(){isAnimating=false;if(hoverNext){tfunc();}});}},function(){hoverNext=false;});$prev.hover(function(){var tfunc=arguments.callee;hoverPrev=true;if(!isAnimating){isAnimating=true;animate("prev",function(){isAnimating=false;if(hoverPrev){tfunc();}});}},function(){hoverPrev=false;});}
function animate(dir,cb){if(beforeTransition){beforeTransition(current,$ul.find('li:eq('+current+')'),$ul);}
var newcb=function(){if(cb!=null){(hoverPause==0)?cb():setTimeout(cb,hoverPause);}
if(afterTransition){afterTransition(current,$ul.find('li:eq('+current+')'),$ul);}}
var cur=current;if(loop){if(dir=='next'){current=(current==lastSlide)?1:current+1;}else{current=(current==0)?lastSlide-1:current-1;}}else{if(dir=="next"){current=(current>=lastSlide)?lastSlide:current+1;}else{current=(current<=0)?0:current-1;}}
var nex=current;if(loop){if((dir=="next")&&(cur==lastSlide)){(vertical)?$ul.animate({marginTop:0},-1):$ul.animate({marginLeft:0},-1);}else if((dir=="prev")&&(cur==0)){(vertical)?$ul.animate({marginTop:(totalSlides-1)*slideHeight*-1},-1):$ul.animate({marginLeft:(totalSlides-1)*slideWidth*-1},-1);}}
if(horizontal){$ul.animate({marginLeft:(nex*slideWidth*-1)},speed,easing,newcb);}else if(vertical){$ul.animate({marginTop:(nex*slideHeight*-1)},speed,easing,newcb);}else{var curli='li:eq('+cur+')';var nexli='li:eq('+nex+')';$ul.find(curli).fadeOut("slow",function(){$ul.find(nexli).fadeIn("slow",newcb);});}
if(!loop){if(nex<=0){$prev.fadeOut();}else if(nex>=lastSlide){$next.fadeOut();}else{$next.fadeIn();$prev.fadeIn();}}};if(autoplay){var auto=function(){animate('next');if(!loop&&current>=lastSlide){clearInterval(interval);}}
restart=setTimeout(function(){auto();interval=setInterval(auto,autoplayDuration);},autoplayDuration-speed);}
$next.hide();$prev.hide();if(totalSlides>1){$next.fadeIn();if(loop){$prev.fadeIn();}}});};})(jQuery);

/*
 * jQuery Color Animations
 * Copyright 2007 John Resig
 * Released under the MIT and GPL licenses.
 * 
 * Color Conversion functions from highlightFade
 * By Blair Mitchelmore
 * http://jquery.offput.ca/highlightFade/
 * 
 * Some named colors to work with
 * From Interface by Stefan Petre
 * http://interface.eyecon.ro/
 */

(function(jQuery){jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){jQuery.fx.step[attr] = function(fx){if ( fx.state == 0 ) {fx.start = getColor( fx.elem, attr );fx.end = getRGB( fx.end );}fx.elem.style[attr] = "rgb(" + [Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0),Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0),Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0)].join(",") + ")";}});function getRGB(color) {var result;if ( color && color.constructor == Array && color.length == 3 )return color;if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])];if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];return colors[jQuery.trim(color).toLowerCase()];}function getColor(elem, attr) {var color;do {color = jQuery.curCSS(elem, attr);if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") )break; attr = "backgroundColor";} while ( elem = elem.parentNode );return getRGB(color);};var colors = {aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]};})(jQuery);

