/* 2010 Hubsoft.com && SebringCreative.com (written by Jason Sebring, mail@jasonsebring.com) - Dual licensed under the MIT and GPL licenses. */
(
function($){
	$.fn.dumbCrossFade=function(settings){
		var publicAccessorLabel='dumbCrossFade.publicAccessor';
		var configLabel='dumbCrossFade.config';
		if(typeof(this.data(publicAccessorLabel))!=='undefined'&&this.data(publicAccessorLabel)!==null){
			var pa=this.data(publicAccessorLabel);
			var cg=this.data(configLabel);
			var args=Array.prototype.slice.apply(arguments);
			if(args.length>0){
				if(typeof(args[0])==='object'){
					if(settings)$.extend(cg,settings);
					var args=Array.prototype.slice.apply(arguments);
					if(args.length>1){
						args=args.slice(1,args.length);
					}else{
						pa.start();return this;
					}
				}if(arguments.length===1){
					pa[arguments[0]]();
				}else if(arguments.length>1){
					var args=Array.prototype.slice.apply(arguments);
					args=args.slice(1,args.length);
					pa[arguments[0]].apply(this,args);
				}
			}return this;
		}
		var config={'slideType':'slidehorizontal','index':0,'showTime':5000,'transitionTime':1000,'doHoverPause':true,'maxZIndex':100,'slideChange':null,'direction':'forward','fadeInOut':false},timeOut=null,itemArray=[],blockAnimation=false,lastIndexRequest=-1,$self=this
$window=$(window),$body=$('body');
if(settings)$.extend(config,settings);
function cancelSlideShow(){
	if(timeOut!==null){
		window.clearTimeout(timeOut);timeOut=null;
	}
}
function doSlideShowNow(){
	if(blockAnimation){
		if(arguments.length>0){
			lastIndexRequest=arguments[0];
		}return;
	}
	var currentIndex=config.index;
	var nextIndex=(arguments.length>0)?arguments[0]:(config.index>=itemArray.length-1)?0:config.index+1;
	if(config.direction==='backward'){
		if(currentIndex===0){
			nextIndex=itemArray.length-1;
		}else{
			nextIndex=currentIndex-1;
		}
	}
	if(currentIndex==nextIndex){
		return;
	}
	var $f=itemArray[currentIndex].show(),$n=itemArray[nextIndex];
	blockAnimation=true;doneF=function(){
		$f.hide();
		if(config.fadeInOut){
			$f.css({'opacity':'1.0'});
			$n.css({'opacity':'1.0'});
		}
		blockAnimation=false;
		if(lastIndexRequest!=-1){
			doSlideShowNow(lastIndexRequest);
			lastIndexRequest=-1;}};
			$f.css('z-index',(config.maxZIndex-1)+'');
			$n.css('z-index',config.maxZIndex+'');
			switch(config.slideType){
				case'slidehorizontal':
				var pos=$f.position(),width=$f.width(),adjustX='-='+width;
				if(config.direction==='forward'){
					$n.css({'left':(parseInt(pos.left)+width)+'px'});
				}else{
					$n.css({'left':(parseInt(pos.left)-width)+'px'
					});
					adjustX='+='+width;
				}
				
				if(config.fadeInOut){$n.css({'opacity':'0','display':'block'});$f.animate({'left':adjustX,'opacity':'0'},config.transitionTime,'swing');$n.animate({'left':adjustX,'opacity':'1.0'},config.transitionTime,'swing',doneF);}else{$n.show();$f.animate({'left':adjustX},config.transitionTime,'swing');$n.animate({'left':adjustX},config.transitionTime,'swing',doneF);}break;case'slidevertical':var pos=$f.position(),height=$f.height(),adjustY='-='+height;if(config.direction==='forward'){$n.css({'top':(parseInt(pos.top)+height)+'px','display':'block'});}else{$n.css({'top':(parseInt(pos.top)-height)+'px','display':'block'});adjustY='+='+height;}if(config.fadeInOut){$n.css({'opacity':'0','display':'block'});$f.animate({'top':adjustY,'opacity':'0'},config.transitionTime,'swing');$n.animate({'top':adjustY,'opacity':'1.0'},config.transitionTime,'swing',doneF);}else{$n.show();$f.animate({'top':adjustY},config.transitionTime);$n.animate({'top':adjustY},config.transitionTime,doneF);}break;case'fade':$n.fadeIn(config.transitionTime,doneF);break;}if(config.slideChange!==null){config.slideChange(nextIndex);}config.index=nextIndex;}function doSlideShow(){cancelSlideShow();timeOut=window.setTimeout(function(){doSlideShowNow();doSlideShow();},config.showTime);}$self.each(function(){(itemArray.length===config.index)?$(this).show():$(this).hide();if(itemArray.length===0){if(config.doHoverPause){$(this).parent().hover(function(){cancelSlideShow();},function(){cancelSlideShow();doSlideShow();});}}itemArray[itemArray.length]=$(this);});var publicAccessor={'jump':function(index){cancelSlideShow();doSlideShowNow(index);return publicAccessor;},'start':function(){$self.children().hide();itemArray[config.index].show();config.direction='forward';doSlideShow();},'stop':function(){cancelSlideShow();},'next':function(){config.direction='forward';cancelSlideShow();doSlideShowNow();},'previous':function(){config.direction='backward';cancelSlideShow();doSlideShowNow();}};this.data(publicAccessorLabel,publicAccessor);this.data(configLabel,config);doSlideShow();return this;};})(jQuery);
