(
	function($)
	{
		var opts=new Array;
		var level=new Array;
		var img=new Array;
		var links=new Array;
		var titles=new Array;
		var order=new Array;
		var imgInc=new Array;
		var inc=new Array;
		var stripInt=new Array;
		var imgInt=new Array;
		$.fn.jqFancyTransitions=$.fn.jqfancytransitions=function(options)
		{
			init=function(el)
			{
				opts[el.id]=$.extend({},$.fn.jqFancyTransitions.defaults,options);
				img[el.id]=new Array();
				links[el.id]=new Array();
				titles[el.id]=new Array();
				order[el.id]=new Array();
				imgInc[el.id]=0;
				inc[el.id]=0;
				params=opts[el.id];
				if(params.effect=='zipper')
				{
					params.direction='alternate';
					params.position='alternate';
				}
				if(params.effect=='wave'){params.direction='alternate';params.position='top';}
				if(params.effect=='curtain'){params.direction='alternate';params.position='curtain';}
				stripWidth=parseInt(params.width/params.strips);
				gap=params.width-stripWidth*params.strips;stripLeft=0;
				$.each($('#'+el.id+' img'),function(i,item)
				{
					img[el.id][i]=$(item).attr('src');
					links[el.id][i]=$(item).next().attr('href');
					titles[el.id][i]=$(item).attr('alt')?$(item).attr('alt'):'';
					$(item).hide();
				});
				$('#'+el.id).css({'background-image':'url('+img[el.id][0]+')','width':params.width,'height':params.height,'position':'relative','background-position':'top left'});
				if(params.navigation)
					$.navigation(el);
				odd=1;
				for(j=1;j<params.strips+1;j++)
				{
					if(gap>0)
					{
						tstripWidth=stripWidth+1;gap--;
					}
					else
					{
						tstripWidth=stripWidth;
					}
					if(params.links)
						$('#'+el.id).append("<a href='"+links[el.id][0]+"' class='ft-"+el.id+"' id='ft-"+el.id+j+"' style='width:"+tstripWidth+"px; height:"+params.height+"px; float: left; position: absolute;outline:none;'></a>");
					else
						$('#'+el.id).append("<div class='ft-"+el.id+"' id='ft-"+el.id+j+"' style='width:"+tstripWidth+"px; height:"+params.height+"px; float: left; position: absolute;'></div>");
					$("#ft-"+el.id+j).css({'background-position':-stripLeft+'px top','left':stripLeft});
					stripLeft+=tstripWidth;
					if(params.position=='bottom')
						$("#ft-"+el.id+j).css('bottom',0);if(j%2==0&&params.position=='alternate')
					$("#ft-"+el.id+j).css('bottom',0);
					if(params.direction=='fountain'||params.direction=='fountainAlternate')
					{
						order[el.id][j-1]=parseInt(params.strips/2)-(parseInt(j/2)*odd);
						order[el.id][params.strips-1]=params.strips;odd*=-1;
					}
					else
					{
						order[el.id][j-1]=j;
					}
				}
				$('.ft-'+el.id).mouseover(function(){opts[el.id].pause=true;});
				$('.ft-'+el.id).mouseout(function(){opts[el.id].pause=false;});
				$('#ft-title-'+el.id).mouseover(function(){opts[el.id].pause=true;});
				$('#ft-title-'+el.id).mouseout(function(){opts[el.id].pause=false;});
				clearInterval(imgInt[el.id]);
				imgInt[el.id]=setInterval(function(){$.transition(el)},params.delay+params.stripDelay*params.strips);
			};
			$.transition=function(el,direction)
			{
				if(opts[el.id].pause==true)
					return;
				stripInt[el.id]=setInterval(function(){$.strips(order[el.id][inc[el.id]],el)},opts[el.id].stripDelay);
				$('#'+el.id).css({'background-image':'url('+img[el.id][imgInc[el.id]]+')'});
				if(typeof(direction)=="undefined")
					imgInc[el.id]++;
				else
					if(direction=='prev')
						imgInc[el.id]--;
					else
						imgInc[el.id]=direction;
					if(imgInc[el.id]==img[el.id].length)
					{
						imgInc[el.id]=0;
					}
					if(imgInc[el.id]==-1){imgInc[el.id]=img[el.id].length-1;}
					if(titles[el.id][imgInc[el.id]]!='')
					{
						$('#ft-title-'+el.id).animate({opacity:0},opts[el.id].titleSpeed,function(){$(this).html(titles[el.id][imgInc[el.id]]).animate({opacity:opts[el.id].titleOpacity},opts[el.id].titleSpeed);});
					}
					else
					{
						$('#ft-title-'+el.id).animate({opacity:0},opts[el.id].titleSpeed);
					}
					inc[el.id]=0;
					if(opts[el.id].direction=='random')
						$.fisherYates(order[el.id]);
					if((opts[el.id].direction=='right'&&order[el.id][0]==1)||opts[el.id].direction=='alternate'||opts[el.id].direction=='fountainAlternate')
						order[el.id].reverse();
			};
			$.strips=function(itemId,el)
			{
				temp=opts[el.id].strips;
				if(inc[el.id]==temp){clearInterval(stripInt[el.id]);return;}
				$('.ft-'+el.id).attr('href',links[el.id][imgInc[el.id]]);
				if(opts[el.id].position=='curtain')
				{
					currWidth=$('#ft-'+el.id+itemId).width();
					$('#ft-'+el.id+itemId).css({width:0,opacity:0,'background-image':'url('+img[el.id][imgInc[el.id]]+')'});
					$('#ft-'+el.id+itemId).animate({width:currWidth,opacity:1},1000);
				}
				else
				{
					$('#ft-'+el.id+itemId).css({height:0,opacity:0,'background-image':'url('+img[el.id][imgInc[el.id]]+')'});
					$('#ft-'+el.id+itemId).animate({height:opts[el.id].height,opacity:1},1000);
				}
				inc[el.id]++;
			};
			$.navigation=function(el)
			{
					$('#'+el.id).append("<div id='ft-prev-"+el.id+"'></div>");
					$('#'+el.id).append("<div id='ft-next-"+el.id+"'></div>");
					$('#ft-prev-'+el.id).css({'position':'absolute','top':params.height-31,'left':685,'z-index':1001,'line-height':'30px','opacity':0.7}).click(function(e){e.preventDefault();$.transition(el,'prev');clearInterval(imgInt[el.id]);imgInt[el.id]=setInterval(function(){$.transition(el)},params.delay+params.stripDelay*params.strips);});
					$('#ft-next-'+el.id).css({'position':'absolute','top':params.height-61,'right':0,'z-index':1001,'line-height':'30px','opacity':0.7}).click(function(e){e.preventDefault();$.transition(el);clearInterval(imgInt[el.id]);imgInt[el.id]=setInterval(function(){$.transition(el)},params.delay+params.stripDelay*params.strips);});
					$('#'+el.id).append("<div class='ft-title' id='ft-title-"+el.id+"' style='position: absolute; bottom:0; left: 0; z-index: 600; color: #075f9e; background-color: #ededed; '>"+titles[el.id][0]+"</div>");
					if(titles[el.id][imgInc[el.id]])
						$('#ft-title-'+el.id).css('opacity',opts[el.id].titleOpacity);
					else
						$('#ft-title-'+el.id).css('opacity',0);
				
				/*$("<div id='ft-buttons-"+el.id+"'></div>").insertAfter($('#'+el.id));
				$('#ft-buttons-'+el.id).css({'text-align':'right','padding-top':5,'width':opts[el.id].width});
				for(k=1;k<img[el.id].length+1;k++){$('#ft-buttons-'+el.id).append("<a href='#' class='ft-button-"+el.id+"'>"+k+"</a>");}
				$('.ft-button-'+el.id).css({'padding':5});
				$.each($('.ft-button-'+el.id),function(i,item){$(item).click(function(e){e.preventDefault();$.transition(el,i);clearInterval(imgInt[el.id]);imgInt[el.id]=setInterval(function(){$.transition(el)},params.delay+params.stripDelay*params.strips);})});*/
			}
			$.fisherYates=function(arr)
			{
				var i=arr.length;
				if(i==0)return false;
				while(--i){var j=Math.floor(Math.random()*(i+1));var tempi=arr[i];var tempj=arr[j];arr[i]=tempj;arr[j]=tempi;}
			}
			this.each(function(){init(this);});
		};
		$.fn.jqFancyTransitions.defaults={width:538,height:143,strips:10,delay:5000,stripDelay:50,titleOpacity:0.7,titleSpeed:1000,position:'alternate',direction:'fountainAlternate',effect:'wave',navigation:false,links:false};})(jQuery);
