/* *	faded 0.3.1 - jQuery plugin *	written by Nathan Searles	 *	http://nathansearles.com/faded/ * *	Copyright (c) 2009 Nathan Searles (http://nathansearles.com/) *	Dual licensed under the MIT (MIT-LICENSE.txt) *	and GPL (GPL-LICENSE.txt) licenses. * *	Built for jQuery library *	http://jquery.com *	Compatible with jQuery 1.3.2+ * */if(typeof jQuery != "undefined") {	jQuery(function($) {		$.fn.extend({			faded: function(options) {				var settings = $.extend({}, $.fn.faded.defaults, options);				return this.each(					function() {						if($.fn.jquery < "1.3.1") {return;}						var $t = $(this);						var $c = $t.children(":nth-child(1)");						var o = $.metadata ? $.extend({}, settings, $t.metadata()) : settings;						var total = $c.children().size();						var next = 0, prev = 0, number = 0, currentitem = 0, restart = 0, restartinterval = 0;						var loaded,active,imgSrc,clicked,current;						if (o.random) {							$.fn.reorder = function(callback) {								function randOrd() { return(Math.round(Math.random())-0.5); }									return($(this).each(function() {									var $this = $(this);									var $children = $this.children();									var childCount = $children.length;									if (childCount > 1) {										$children.hide();										var indices = new Array();										for (i=0;i<childCount;i++) { indices[indices.length] = i; }										indices = indices.sort(randOrd);										$.each(indices,function(j,k) { 											var $child = $children.eq(k);											var $clone = $child.clone(true);											$clone.show().appendTo($this);											if (callback !== undefined) {												callback($child, $clone);											}										$child.remove();									});									}								}));							};							$c.reorder();						}						function pause() {							clearInterval(autoplay);							clearTimeout(restart);							restart = setTimeout(function() {								autoplay = setInterval(function(){									animate("next");								},o.autoplay);							},o.autorestart);									}										$c.css({position:"relative"});									$c.children().css({							position:"absolute",							top: 0, 							left: 0,							zIndex: 0,							display:"none"						 });						if (o.autoheight) {							$c.animate({height: $c.children(":eq(0)").outerHeight()},o.autoheight);						}						if (o.pagination) {							if (o.autopagination) {								$t.append("<ul class="+o.pagination+"></ul>");								$c.children().each(function(){									$("."+o.pagination+"",$t).append("<li><a rel="+number+" href=\"#\" >"+(number+1)+"</a></li>");									number++;								});							}							$("."+o.pagination+" li a:eq(0)",$t).parent().addClass("current");							$("."+o.pagination+" li a",$t).click(function(){								current = $("."+o.pagination+" li.current a",$t).attr("rel");								clicked = $(this).attr("rel");								if (current != clicked) {animate("pagination",clicked,current);}								if(o.autoplay){pause();}								return false;							});						}						if (o.sequentialloading&&$c.children()[0].tagName=="IMG") {							$c.css({background:"url("+o.loadingimg+") no-repeat 50% 50%"});							imgSrc = $("img:eq(0)",$c).attr("src");							$("img:eq(0)",$c).attr("src", imgSrc).load(function() {								$(this).fadeIn(o.speed,function(){									loaded = true;								});							});						} else {							$c.find(":eq(0)").fadeIn(o.speed,function(){								loaded = true;							});						}						if (o.bigtarget) {							$c.css({"cursor":"pointer"});							$c.click(function(){								animate("next");								if(o.autoplay){									if (o.autorestart) {										pause();									} else {										clearInterval(autoplay);										}								}								return false;							});															}									if (o.autoplay) {							autoplay = setInterval(function(){								animate("next");							},o.autoplay);							pause();						}						$("."+o.nextbtn,$t).click(function(){							animate("next");							if(o.autoplay){								if (o.autorestart) {									pause();								} else {									clearInterval(autoplay);									}							}							return false;						});											$("."+o.prevbtn,$t).click(function(){							animate("prev");							if(o.autoplay){								if (o.autorestart) {									pause();								} else {									clearInterval(autoplay);									}							}							return false;						});						function animate(dir,clicked,current){							if (!active&&loaded) {								active=true;								switch(dir) {									case "next":										prev = next;										next = currentitem*1+1;										if (total === next) { next = 0; }									break;									case "prev":										prev = next;										next = currentitem*1-1;										if (next === -1) { next = total-1; }									break;									case "pagination":										next = clicked;										prev = current;									break;								}								if (o.pagination) {									$(".pagination li.current",$t).removeClass("current");									$(".pagination li a:eq("+next+")",$t).parent().addClass("current");								}								if (o.crossfade) {									$c.children(":eq("+next+")").css({zIndex:10}).fadeIn(o.speed,function(){										$c.children(":eq("+prev+")").css({display:"none",zIndex:0});										$(this).css({zIndex:0});										currentitem = next;										active = false;									});								} else {									$c.children(":eq("+prev+")").fadeOut(o.speed,function(){										if (o.autoheight) {											$c.animate({height: $c.children(":eq("+next+")").outerHeight()},o.autoheight,function(){												$c.children(":eq("+next+")").fadeIn(o.speed);											});										} else {											$c.children(":eq("+next+")").fadeIn(o.speed);										}										currentitem = next;										active = false;									});								}							}						}					}				);				}		});		$.fn.faded.defaults = {			speed: 400,			crossfade: false,			bigtarget: false,			sequentialloading: false,			autoheight: false,			pagination: "pagination",			autopagination: true,			nextbtn: "next",			prevbtn: "prev",			loadingimg: false,			autoplay: false,			autorestart: false,			random: false		};	});}
