/**
 * jqFancyTransitions - jQuery plugin
 * @version: 1.8 (2010/06/13)
 * @requires jQuery v1.2.2 or later 
 * @author Ivan Lazarevic
 * Examples and documentation at: http://www.workshop.rs/projects/jqfancytransitions
 
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
**/
(function(a){var b=[],c=[],d=[],e=[],f=[],g=[],h=[],i=[],l=[],m=[];a.fn.jqFancyTransitions=a.fn.jqfancytransitions=function(c){init=function(k){b[k.id]=a.extend({},a.fn.jqFancyTransitions.defaults,c),d[k.id]=[],e[k.id]=[],f[k.id]=[],g[k.id]=[],h[k.id]=0,i[k.id]=0,params=b[k.id],params.effect=="zipper"&&(params.direction="alternate",params.position="alternate"),params.effect=="wave"&&(params.direction="alternate",params.position="top"),params.effect=="curtain"&&(params.direction="alternate",params.position="curtain"),stripWidth=parseInt(params.width/params.strips),gap=params.width-stripWidth*params.strips,stripLeft=0,a.each(a("#"+k.id+" img"),function(b,c){d[k.id][b]=a(c).attr("src"),e[k.id][b]=a(c).next().attr("href"),f[k.id][b]=a(c).attr("alt")?a(c).attr("alt"):"",a(c).hide()}),a("#"+k.id).css({"background-image":"url("+d[k.id][0]+")",width:params.width,height:params.height,position:"relative","background-position":"top left"}),a("#"+k.id).append("<div class='ft-title' id='ft-title-"+k.id+"' style='position: absolute; bottom:0; left: 0; z-index: 1000; color: #fff; background-color: #000; '>"+f[k.id][0]+"</div>"),f[k.id][h[k.id]]?a("#ft-title-"+k.id).css("opacity",b[k.id].titleOpacity):a("#ft-title-"+k.id).css("opacity",0),params.navigation&&(a.navigation(k),a("#ft-buttons-"+k.id).children().first().addClass("ft-button-"+k.id+"-active")),odd=1;for(j=1;j<params.strips+1;j++)gap>0?(tstripWidth=stripWidth+1,gap--):tstripWidth=stripWidth,params.links?a("#"+k.id).append("<a href='"+e[k.id][0]+"' class='ft-"+k.id+"' id='ft-"+k.id+j+"' style='width:"+tstripWidth+"px; height:"+params.height+"px; float: left; position: absolute;outline:none;'></a>"):a("#"+k.id).append("<div class='ft-"+k.id+"' id='ft-"+k.id+j+"' style='width:"+tstripWidth+"px; height:"+params.height+"px; float: left; position: absolute;'></div>"),a("#ft-"+k.id+j).css({"background-position":-stripLeft+"px top",left:stripLeft}),stripLeft+=tstripWidth,params.position=="bottom"&&a("#ft-"+k.id+j).css("bottom",0),j%2==0&&params.position=="alternate"&&a("#ft-"+k.id+j).css("bottom",0),params.direction=="fountain"||params.direction=="fountainAlternate"?(g[k.id][j-1]=parseInt(params.strips/2)-parseInt(j/2)*odd,g[k.id][params.strips-1]=params.strips,odd*=-1):g[k.id][j-1]=j;a(".ft-"+k.id).mouseover(function(){b[k.id].pause=!0}),a(".ft-"+k.id).mouseout(function(){b[k.id].pause=!1}),a("#ft-title-"+k.id).mouseover(function(){b[k.id].pause=!0}),a("#ft-title-"+k.id).mouseout(function(){b[k.id].pause=!1}),clearInterval(m[k.id]),m[k.id]=setInterval(function(){a.transition(k)},params.delay+params.stripDelay*params.strips)},a.transition=function(c,e){if(b[c.id].pause==!0)return;l[c.id]=setInterval(function(){a.strips(g[c.id][i[c.id]],c)},b[c.id].stripDelay),a("#"+c.id).css({"background-image":"url("+d[c.id][h[c.id]]+")"}),typeof e=="undefined"?h[c.id]++:e=="prev"?h[c.id]--:h[c.id]=e,h[c.id]==d[c.id].length&&(h[c.id]=0),h[c.id]==-1&&(h[c.id]=d[c.id].length-1),f[c.id][h[c.id]]!=""?a("#ft-title-"+c.id).animate({opacity:0},b[c.id].titleSpeed,function(){a(this).html(f[c.id][h[c.id]]).animate({opacity:b[c.id].titleOpacity},b[c.id].titleSpeed)}):a("#ft-title-"+c.id).animate({opacity:0},b[c.id].titleSpeed),i[c.id]=0,buttons=a("#ft-buttons-"+c.id).children(),buttons.each(function(b){b==h[c.id]?a(this).addClass("ft-button-"+c.id+"-active"):a(this).removeClass("ft-button-"+c.id+"-active")}),b[c.id].direction=="random"&&a.fisherYates(g[c.id]),(b[c.id].direction=="right"&&g[c.id][0]==1||b[c.id].direction=="alternate"||b[c.id].direction=="fountainAlternate")&&g[c.id].reverse()},a.strips=function(c,f){temp=b[f.id].strips;if(i[f.id]==temp){clearInterval(l[f.id]);return}a(".ft-"+f.id).attr("href",e[f.id][h[f.id]]),b[f.id].position=="curtain"?(currWidth=a("#ft-"+f.id+c).width(),a("#ft-"+f.id+c).css({width:0,opacity:0,"background-image":"url("+d[f.id][h[f.id]]+")"}),a("#ft-"+f.id+c).animate({width:currWidth,opacity:1},1e3)):(a("#ft-"+f.id+c).css({height:0,opacity:0,"background-image":"url("+d[f.id][h[f.id]]+")"}),a("#ft-"+f.id+c).animate({height:b[f.id].height,opacity:1},1e3)),i[f.id]++},a.navigation=function(c){a("#"+c.id).append("<a href='#' id='ft-prev-"+c.id+"' class='ft-prev'>prev</a>"),a("#"+c.id).append("<a href='#' id='ft-next-"+c.id+"' class='ft-next'>next</a>"),a("#ft-prev-"+c.id).css({position:"absolute",top:params.height/2-15,left:0,"z-index":1001,"line-height":"30px",opacity:.7}).click(function(b){b.preventDefault(),a.transition(c,"prev"),clearInterval(m[c.id]),m[c.id]=setInterval(function(){a.transition(c)},params.delay+params.stripDelay*params.strips)}),a("#ft-next-"+c.id).css({position:"absolute",top:params.height/2-15,right:0,"z-index":1001,"line-height":"30px",opacity:.7}).click(function(b){b.preventDefault(),a.transition(c),clearInterval(m[c.id]),m[c.id]=setInterval(function(){a.transition(c)},params.delay+params.stripDelay*params.strips)}),a("<div id='ft-buttons-"+c.id+"'></div>").insertAfter(a("#"+c.id)),a("#ft-buttons-"+c.id).css({"text-align":"right","padding-top":5,width:b[c.id].width});for(k=1;k<d[c.id].length+1;k++)a("#ft-buttons-"+c.id).append("<a href='#' class='ft-button-"+c.id+"'>"+k+"</a>");a(".ft-button-"+c.id).css({padding:5}),a.each(a(".ft-button-"+c.id),function(b,d){a(d).click(function(d){d.preventDefault(),a.transition(c,b),clearInterval(m[c.id]),m[c.id]=setInterval(function(){a.transition(c)},params.delay+params.stripDelay*params.strips)})})},a.fisherYates=function(a){var b=a.length;if(b==0)return!1;while(--b){var c=Math.floor(Math.random()*(b+1)),d=a[b],e=a[c];a[b]=e,a[c]=d}},this.each(function(){init(this)})},a.fn.jqFancyTransitions.defaults={width:500,height:332,strips:10,delay:5e3,stripDelay:50,titleOpacity:.7,titleSpeed:1e3,position:"alternate",direction:"fountainAlternate",effect:"",navigation:!1,links:!1}})(jQuery)
