/**
 * jqFancyTransitions - jQuery plugin
 * @version: 1.8 (2010/06/13)
 * @requires jQuery v1.2.2 or later 
 * @author Ivan Lazarevic
 * @modificated by Robert Siata, www.siata.info
 * 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(b){var d=[],g=[],n=[],l=[],h=[],e=[],m=[],p=[],i=[];b.fn.jqFancyTransitions=b.fn.jqfancytransitions=function(q){init=function(a){d[a.id]=b.extend({},b.fn.jqFancyTransitions.defaults,q);g[a.id]=[];n[a.id]=[];l[a.id]=[];h[a.id]=[];e[a.id]=0;m[a.id]=0;params=d[a.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;b.each(b("#"+a.id+" img"),function(c,f){g[a.id][c]=b(f).attr("src");n[a.id][c]=b(f).next().attr("href");l[a.id][c]=b(f).attr("alt")?b(f).attr("alt"):"";b(f).hide()});b("#"+a.id).css({"background-image":"url("+g[a.id][0]+")",width:params.width,height:params.height,position:"relative","background-position":"top left"});b("#"+a.id).append("<div class='ft-title' id='ft-title-"+a.id+"' style='position: absolute; bottom:0; left: 0; z-index: 1000; color: #fff; background-color: #000; '>"+ l[a.id][0]+"</div>");l[a.id][e[a.id]]?b("#ft-title-"+a.id).css("opacity",d[a.id].titleOpacity):b("#ft-title-"+a.id).css("opacity",0);if(params.navigation){b.navigation(a);b("#ft-buttons-"+a.id).children().first().addClass("ft-button-"+a.id+"-active")}for(j=odd=1;j<params.strips+1;j++){if(gap>0){tstripWidth=stripWidth+1;gap--}else tstripWidth=stripWidth;params.links?b("#"+a.id).append("<a href='"+n[a.id][0]+"' class='ft-"+a.id+"' id='ft-"+a.id+j+"' style='width:"+tstripWidth+"px; height:"+params.height+ "px; float: left; position: absolute;outline:none;'></a>"):b("#"+a.id).append("<div class='ft-"+a.id+"' id='ft-"+a.id+j+"' style='width:"+tstripWidth+"px; height:"+params.height+"px; float: left; position: absolute;'></div>");b("#ft-"+a.id+j).css({"background-position":-stripLeft+"px top",left:stripLeft});stripLeft+=tstripWidth;params.position=="bottom"&&b("#ft-"+a.id+j).css("bottom",0);j%2==0&&params.position=="alternate"&&b("#ft-"+a.id+j).css("bottom",0);if(params.direction=="fountain"||params.direction== "fountainAlternate"){h[a.id][j-1]=parseInt(params.strips/2)-parseInt(j/2)*odd;h[a.id][params.strips-1]=params.strips;odd*=-1}else h[a.id][j-1]=j}b(".ft-"+a.id).mouseover(function(){d[a.id].pause=false});b(".ft-"+a.id).mouseout(function(){d[a.id].pause=false});b("#ft-title-"+a.id).mouseover(function(){d[a.id].pause=true});b("#ft-title-"+a.id).mouseout(function(){d[a.id].pause=false});clearInterval(i[a.id]);i[a.id]=setInterval(function(){b.transition(a)},params.delay+params.stripDelay*params.strips)}; b.transition=function(a,c){if(d[a.id].pause!=true){p[a.id]=setInterval(function(){b.strips(h[a.id][m[a.id]],a)},d[a.id].stripDelay);b("#"+a.id).css({"background-image":"url("+g[a.id][e[a.id]]+")"});if(typeof c=="undefined")e[a.id]++;else if(c=="prev")e[a.id]--;else e[a.id]=c;if(e[a.id]==g[a.id].length)e[a.id]=1;if(e[a.id]==-1)e[a.id]=g[a.id].length-1;l[a.id][e[a.id]]!=""?b("#ft-title-"+a.id).animate({opacity:0},d[a.id].titleSpeed,function(){b(this).html(l[a.id][e[a.id]]).animate({opacity:d[a.id].titleOpacity}, d[a.id].titleSpeed)}):b("#ft-title-"+a.id).animate({opacity:0},d[a.id].titleSpeed);m[a.id]=0;buttons=b("#ft-buttons-"+a.id).children();buttons.each(function(f){f==e[a.id]?b(this).addClass("ft-button-"+a.id+"-active"):b(this).removeClass("ft-button-"+a.id+"-active")});d[a.id].direction=="random"&&b.fisherYates(h[a.id]);if(d[a.id].direction=="right"&&h[a.id][0]==1||d[a.id].direction=="alternate"||d[a.id].direction=="fountainAlternate")h[a.id].reverse()}};b.strips=function(a,c){temp=d[c.id].strips;if(m[c.id]== temp)clearInterval(p[c.id]);else{b(".ft-"+c.id).attr("href",n[c.id][e[c.id]]);if(d[c.id].position=="curtain"){currWidth=b("#ft-"+c.id+a).width();b("#ft-"+c.id+a).css({width:0,opacity:0,"background-image":"url("+g[c.id][e[c.id]]+")"});b("#ft-"+c.id+a).animate({width:currWidth,opacity:1},1E3)}else{b("#ft-"+c.id+a).css({height:0,opacity:0,"background-image":"url("+g[c.id][e[c.id]]+")"});b("#ft-"+c.id+a).animate({height:d[c.id].height,opacity:1},1E3)}m[c.id]++}};b.navigation=function(a){b("#"+a.id).append("<a href='#' id='ft-prev-"+ a.id+"' class='ft-prev'>prev</a>");b("#"+a.id).append("<a href='#' id='ft-next-"+a.id+"' class='ft-next'>next</a>");b("#ft-prev-"+a.id).css({position:"absolute",top:params.height/2-15,left:0,"z-index":1001,"line-height":"30px",opacity:0.7}).click(function(c){c.preventDefault();b.transition(a,"prev");clearInterval(i[a.id]);i[a.id]=setInterval(function(){b.transition(a)},params.delay+params.stripDelay*params.strips)});b("#ft-next-"+a.id).css({position:"absolute",top:params.height/2-15,right:0,"z-index":1001, "line-height":"30px",opacity:0.7}).click(function(c){c.preventDefault();b.transition(a);clearInterval(i[a.id]);i[a.id]=setInterval(function(){b.transition(a)},params.delay+params.stripDelay*params.strips)});b("<div id='ft-buttons-"+a.id+"'></div>").insertAfter(b("#"+a.id));b("#ft-buttons-"+a.id).css({"text-align":"right","padding-top":5,width:d[a.id].width});for(k=1;k<g[a.id].length+1;k++)b("#ft-buttons-"+a.id).append("<a href='#' class='ft-button-"+a.id+"'>"+k+"</a>");b(".ft-button-"+a.id).css({padding:5}); b.each(b(".ft-button-"+a.id),function(c,f){b(f).click(function(o){o.preventDefault();b.transition(a,c);clearInterval(i[a.id]);i[a.id]=setInterval(function(){b.transition(a)},params.delay+params.stripDelay*params.strips)})})};b.fisherYates=function(a){var c=a.length;if(c==0)return false;for(;--c;){var f=Math.floor(Math.random()*(c+1)),o=a[c];a[c]=a[f];a[f]=o}};this.each(function(){init(this)})};b.fn.jqFancyTransitions.defaults={width:500,height:332,strips:10,delay:5E3,stripDelay:50,titleOpacity:0.7, titleSpeed:1E3,position:"alternate",direction:"fountainAlternate",effect:"",navigation:false,links:false}})(jQuery);
