/** * jQuery Skitter Slideshow * @name jquery.skitter.js * @description Slideshow * @author Thiago Silva Ferreira - http://thiagosf.net * @version 3.3 * @date August 04, 2010 * @update September 19, 2011 * @copyright (c) 2010 Thiago Silva Ferreira - http://thiagosf.net * @license Dual licensed under the MIT or GPL Version 2 licenses * @example http://thiagosf.net/projects/jquery/skitter/ */ (function($){var number_skitter=0,skitters=[];$.fn.skitter=function(options){return this.each(function(){$(this).data('skitter_number',number_skitter);skitters.push(new $sk(this,options,number_skitter));++number_skitter})};var defaults={velocity:1,interval:2500,animation:'',numbers:true,navigation:true,label:true,easing_default:'',box_skitter:null,time_interval:null,images_links:null,image_atual:null,link_atual:null,label_atual:null,width_skitter:null,height_skitter:null,image_i:1,is_animating:false,is_hover_box_skitter:false,random_ia:null,show_randomly:false,thumbs:false,animateNumberOut:{backgroundColor:'#333',color:'#fff'},animateNumberOver:{backgroundColor:'#fff',color:'#000'},animateNumberActive:{backgroundColor:'#cc3333',color:'#fff'},hideTools:false,fullscreen:false,xml:false,dots:false,width_label:null,opacity_elements:0.75,interval_in_elements:300,interval_out_elements:500,onLoad:null,imageSwitched:null,max_number_height:20,structure:'prev'+'next'+''+'
'+'
'+''+'
'+'
'+'
'};$.skitter=function(obj,options,number){this.box_skitter=$(obj);this.timer=null;this.settings=$.extend({},defaults,options||{});this.number_skitter=number;this.setup()};var $sk=$.skitter;$sk.fn=$sk.prototype={};$sk.fn.extend=$.extend;$sk.fn.extend({setup:function(){var self=this;if(this.settings.fullscreen){var width=$(window).width();var height=$(window).height();this.box_skitter.width(width).height(height);this.box_skitter.css({'position':'absolute','top':0,'left':0,'z-index':1000});$('body').css({'overflown':'hidden'})}this.settings.width_skitter=parseFloat(this.box_skitter.css('width'));this.settings.height_skitter=parseFloat(this.box_skitter.css('height'));if(!this.settings.width_skitter||!this.settings.height_skitter){console.warn('Width or height size is null! - Skitter Slideshow');return false}this.box_skitter.append(this.settings.structure);this.settings.easing_default=this.getEasing(this.settings.easing);if(this.settings.velocity>=2)this.settings.velocity=1.3;if(this.settings.velocity<=0)this.settings.velocity=1;if(!this.settings.numbers&&!this.settings.thumbs&&!this.settings.dots)this.box_skitter.find('.info_slide').hide();if(!this.settings.label)this.box_skitter.find('.label_skitter').hide();if(!this.settings.navigation){this.box_skitter.find('.prev_button').hide();this.box_skitter.find('.next_button').hide()}this.box_skitter.find('.container_skitter').width(this.settings.width_skitter);this.box_skitter.find('.container_skitter').height(this.settings.height_skitter);var width_label=this.settings.width_label?this.settings.width_label:this.settings.width_skitter;this.box_skitter.find('.label_skitter').width(width_label);var initial_select_class=' image_number_select',u=0;this.settings.images_links=new Array();var addImageLink=function(link,src,animation_type,label){self.settings.images_links.push([src,link,animation_type,label]);if(self.settings.thumbs){var dimension_thumb='';if(self.settings.width_skitter>self.settings.height_skitter){dimension_thumb='height="100"'}else{dimension_thumb='width="100"'}self.box_skitter.find('.info_slide').append(''+''+' ')}else{self.box_skitter.find('.info_slide').append(''+u+' ')}initial_select_class=''};if(this.settings.xml){$.ajax({type:'GET',url:this.settings.xml,async:false,dataType:'xml',success:function(xml){var ul=$('');$(xml).find('skitter slide').each(function(){++u;var link=($(this).find('link').text())?$(this).find('link').text():'#';var src=$(this).find('image').text();var animation_type=$(this).find('image').attr('type');var label=$(this).find('label').text();addImageLink(link,src,animation_type,label)})}})}else if(this.settings.json){}else{this.box_skitter.find('ul li').each(function(){++u;var link=($(this).find('a').length)?$(this).find('a').attr('href'):'#';var src=$(this).find('img').attr('src');var animation_type=$(this).find('img').attr('class');var label=$(this).find('.label_text').html();addImageLink(link,src,animation_type,label)})}if(self.settings.thumbs){self.settings.animateNumberOut={opacity:0.2,width:'70px'};self.settings.animateNumberOver={opacity:0.5,width:'70px'};self.settings.animateNumberActive={opacity:1.0,width:'70px'};self.box_skitter.find('.info_slide').addClass('info_slide_thumb');var width_info_slide=u*55+75;self.box_skitter.find('.info_slide_thumb').width(width_info_slide);self.box_skitter.css({height:self.box_skitter.height()+self.box_skitter.find('.info_slide').height()+5});self.settings.label=false;self.box_skitter.append('
');var copy_info_slide=self.box_skitter.find('.info_slide').clone();self.box_skitter.find('.info_slide').remove();self.box_skitter.find('.container_thumbs').width(self.settings.width_skitter).height(50).append(copy_info_slide);var width_image=0,width_skitter=this.settings.width_skitter,height_skitter=this.settings.height_skitter,w_info_slide_thumb=0,info_slide_thumb=self.box_skitter.find('.info_slide_thumb'),x_value=self.box_skitter.offset().left,y_value=self.box_skitter.offset().top;info_slide_thumb.find('.image_number').each(function(){width_image+=$(this).width()+parseInt($(this).css('marginLeft'))+parseInt($(this).css('marginRight'))+parseInt($(this).css('paddingLeft'))+parseInt($(this).css('paddingRight'))});info_slide_thumb.width(width_image+'px');w_info_slide_thumb=info_slide_thumb.width();width_valor=this.settings.width_skitter;width_valor=width_skitter-100;x_value+=90;if(width_info_slide>self.settings.width_skitter){self.box_skitter.mousemove(function(e){var x=e.pageX,y=e.pageY,new_x=0;x=x-x_value;y=y-y_value;novo_width=w_info_slide_thumb-width_valor;new_x=-((novo_width*x)/width_valor);if(new_x>0)new_x=0;if(new_x<-(w_info_slide_thumb-width_skitter-5))new_x=-(w_info_slide_thumb-width_skitter-5);if(y>height_skitter){info_slide_thumb.css({left:new_x})}})}self.box_skitter.find('.scroll_thumbs').css({'left':10});if(width_info_slideself.settings.max_number_height){self.box_skitter.find('.info_slide').hide()}}this.box_skitter.find('ul').hide();if(this.settings.show_randomly)this.settings.images_links.sort(function(a,b){return Math.random()-0.5});this.settings.image_atual=this.settings.images_links[0][0];this.settings.link_atual=this.settings.images_links[0][1];this.settings.label_atual=this.settings.images_links[0][3];if(this.settings.images_links.length>1){this.box_skitter.find('.prev_button').click(function(){if(self.settings.is_animating==false){self.clearTimer(true);self.settings.image_i-=2;if(self.settings.image_i==-2){self.settings.image_i=self.settings.images_links.length-2}else if(self.settings.image_i==-1){self.settings.image_i=self.settings.images_links.length-1}self.box_skitter.find('.image a').attr({'href':self.settings.link_atual});self.box_skitter.find('.image_main').attr({'src':self.settings.image_atual});self.box_skitter.find('.box_clone').remove();self.nextImage()}return false});this.box_skitter.find('.next_button').click(function(){if(self.settings.is_animating==false){self.clearTimer(true);self.box_skitter.find('.image a').attr({'href':self.settings.link_atual});self.box_skitter.find('.image_main').attr({'src':self.settings.image_atual});self.box_skitter.find('.box_clone').remove();self.nextImage()}return false});this.box_skitter.find('.next_button, .prev_button').hover(function(){$(this).stop().animate({opacity:0.5},200)},function(){$(this).stop().animate({opacity:1.0},200)});this.box_skitter.find('.image_number').hover(function(){if($(this).attr('class')!='image_number image_number_select'){$(this).stop().animate(self.settings.animateNumberOver,300)}},function(){if($(this).attr('class')!='image_number image_number_select'){$(this).stop().animate(self.settings.animateNumberOut,500)}});this.box_skitter.find('.image_number').click(function(){if($(this).attr('class')!='image_number image_number_select'){var imageNumber=$(this).attr('rel');self.jumpToImage(imageNumber)}return false});this.box_skitter.find('.image_number').css(self.settings.animateNumberOut);this.box_skitter.find('.image_number:eq(0)').css(self.settings.animateNumberActive)}if(this.settings.hideTools){this.hideTools()}this.loadImages()},loadImages:function(){var self=this;var loading=$('
Loading
');this.box_skitter.append(loading);var total=this.settings.images_links.length;var u=0;$.each(this.settings.images_links,function(i){var self_il=this;var loading=$('');loading.css({position:'absolute',top:'-9999em'});self.box_skitter.append(loading);var img=new Image();$(img).load(function(){++u;if(u==total){self.box_skitter.find('.loading').remove();self.box_skitter.find('.image_loading').remove();self.start()}}).error(function(){self.box_skitter.find('.loading, .image_loading, .image_number, .next_button, .prev_button').remove();self.box_skitter.html('

Error loading images. One or more images were not found.

')}).attr('src',self_il[0])})},start:function(){var self=this;this.setLinkAtual();this.box_skitter.find('.image a img').attr({'src':this.settings.image_atual});img_link=this.box_skitter.find('.image a');img_link=this.resizeImage(img_link);img_link.find('img').fadeIn(1500);this.setValueBoxText();this.showBoxText();this.stopOnMouseOver();if(this.settings.images_links.length>1){this.timer=setTimeout(function(){self.nextImage()},this.settings.interval)}else{this.box_skitter.find('.loading, .image_loading, .image_number, .next_button, .prev_button').remove()}if($.isFunction(this.settings.onLoad))this.settings.onLoad()},jumpToImage:function(imageNumber){if(this.settings.is_animating==false){this.box_skitter.find('.box_clone').stop();this.clearTimer(true);this.settings.image_i=Math.floor(imageNumber);this.box_skitter.find('.image a').attr({'href':this.settings.link_atual});this.box_skitter.find('.image_main').attr({'src':this.settings.image_atual});this.box_skitter.find('.box_clone').remove();this.nextImage()}},nextImage:function(){animations_functions=['cube','cubeRandom','block','cubeStop','cubeStopRandom','cubeHide','cubeSize','horizontal','showBars','showBarsRandom','tube','fade','fadeFour','paralell','blind','blindHeight','blindWidth','directionTop','directionBottom','directionRight','directionLeft','cubeSpread','glassCube','glassBlock','circles','circlesInside','circlesRotate'];animation_type=(this.settings.animation==''&&this.settings.images_links[this.settings.image_i][2])?this.settings.images_links[this.settings.image_i][2]:(this.settings.animation==''?'default':this.settings.animation);if(animation_type=='randomSmart'){if(!this.settings.random_ia){animations_functions.sort(function(){return 0.5-Math.random()});this.settings.random_ia=animations_functions}animation_type=this.settings.random_ia[this.settings.image_i]}else if(animation_type=='random'){var random_id=parseInt(Math.random()*animations_functions.length);animation_type=animations_functions[random_id]}switch(animation_type){case'cube':this.animationCube();break;case'cubeRandom':this.animationCube({random:true});break;case'block':this.animationBlock();break;case'cubeStop':this.animationCubeStop();break;case'cubeStopRandom':this.animationCubeStop({random:true});break;case'cubeHide':this.animationCubeHide();break;case'cubeSize':this.animationCubeSize();break;case'horizontal':this.animationHorizontal();break;case'showBars':this.animationShowBars();break;case'showBarsRandom':this.animationShowBars({random:true});break;case'tube':this.animationTube();break;case'fade':this.animationFade();break;case'fadeFour':this.animationFadeFour();break;case'paralell':this.animationParalell();break;case'blind':this.animationBlind();break;case'blindHeight':this.animationBlindDimension({height:true});break;case'blindWidth':this.animationBlindDimension({height:false,time_animate:400,delay:50});break;case'directionTop':this.animationDirection({direction:'top'});break;case'directionBottom':this.animationDirection({direction:'bottom'});break;case'directionRight':this.animationDirection({direction:'right',total:5});break;case'directionLeft':this.animationDirection({direction:'left',total:5});break;case'cubeSpread':this.animationCubeSpread();break;case'cubeJelly':this.animationCubeJelly();break;case'glassCube':this.animationGlassCube();break;case'glassBlock':this.animationGlassBlock();break;case'circles':this.animationCircles();break;case'circlesInside':this.animationCirclesInside();break;case'circlesRotate':this.animationCirclesRotate();break;default:this.animationTube();break}},animationCube:function(options){var self=this;var options=$.extend({},{random:false},options||{});this.settings.is_animating=true;easing=(this.settings.easing_default=='')?'easeOutBack':this.settings.easing_default;var time_animate=700/this.settings.velocity;this.setActualLevel();var division_w=Math.ceil(this.settings.width_skitter/(this.settings.width_skitter/8));var division_h=Math.ceil(this.settings.height_skitter/(this.settings.height_skitter/3));var total=division_w*division_h;var width_box=Math.ceil(this.settings.width_skitter/division_w);var height_box=Math.ceil(this.settings.height_skitter/division_h);var init_top=this.settings.height_skitter+200;var init_left=this.settings.height_skitter+200;var col_t=0;var col=0;for(i=0;i0&&col_t==0){u=u+2}u++}init_top=(i%2==0)?init_top:-init_top;init_left=(i%2==0)?init_left:-init_left;var _vtop=init_top+(height_box*col_t);var _vleft=(init_left+(width_box*col));var _vtop_image=-(height_box*col_t);var _vleft_image=-(width_box*col);var _btop=_vtop-50;var _bleft=_vleft-50;var box_clone=this.getBoxCloneImgOld(image_old);box_clone.css({left:_vleft+'px',top:_vtop+'px',width:width_box,height:height_box});box_clone.find('img').css({left:_vleft_image,top:_vtop_image});this.addBoxClone(box_clone);box_clone.show();var delay_time=(50*i);var callback=(i==(total-1))?function(){self.finishAnimation()}:'';box_clone.delay(delay_time).animate({width:'+=100px',height:'+=100px',top:'-=20px',left:'-=20px',opacity:'hide'},time_animate,easing,callback);col_t++;if(col_t==division_h){col_t=0;col++}}},animationCubeSize:function(options){var self=this;this.settings.is_animating=true;easing=(this.settings.easing_default=='')?'easeInOutQuad':this.settings.easing_default;var time_animate=600/this.settings.velocity;var image_old=this.box_skitter.find('.image_main').attr('src');this.setActualLevel();this.setLinkAtual();this.box_skitter.find('.image_main').attr({'src':this.settings.image_atual});var division_w=Math.ceil(this.settings.width_skitter/(this.settings.width_skitter/8));var division_h=Math.ceil(this.settings.height_skitter/(this.settings.height_skitter/3));var total=division_w*division_h;var width_box=Math.ceil(this.settings.width_skitter/division_w);var height_box=Math.ceil(this.settings.height_skitter/division_h);var init_top=0;var init_left=0;var col_t=0;var col=0;var _ftop=Math.ceil(this.settings.width_skitter/6);for(i=0;i((total/2)-1)){delay_time=((i-(total/2))*200)}delay_time=delay_time/2.5;var callback=(i==(total-1))?function(){self.finishAnimation()}:'';box_clone.show().delay(delay_time).animate({top:_btop+'px',left:_bleft+'px'},time_animate,easing,callback)}},animationBlind:function(options){var self=this;var options=$.extend({},{height:false},options||{});this.settings.is_animating=true;easing=(this.settings.easing_default=='')?'easeOutQuad':this.settings.easing_default;var time_animate=400/this.settings.velocity;this.setActualLevel();var total=Math.ceil(this.settings.width_skitter/(this.settings.width_skitter/16));var width_box=Math.ceil(this.settings.width_skitter/total);var height_box=this.settings.height_skitter;for(i=0;i((total/2)-1)){delay_time=((i-(total/2))*200)}var callback=(i==(total-1))?function(){self.finishAnimation()}:''}else{if(i<=((total/2)-1)){delay_time=200+(i*200)}else if(i>((total/2)-1)){delay_time=(((total/2)-i)*200)+(total*100)}var callback=(i==(total/2))?function(){self.finishAnimation()}:''}delay_time=delay_time/2.5;if(!options.height){box_clone.delay(delay_time).animate({opacity:'show',top:_btop+'px',left:_bleft+'px',width:'show'},time_animate,easing,callback)}else{time_animate=time_animate+(i*2);easing='easeOutQuad';box_clone.delay(delay_time).animate({opacity:'show',top:_btop+'px',left:_bleft+'px',height:'show'},time_animate,easing,callback)}}},animationBlindDimension:function(options){var self=this;var options=$.extend({},{height:true,time_animate:500,delay:100},options||{});this.settings.is_animating=true;easing=(this.settings.easing_default=='')?'easeOutQuad':this.settings.easing_default;var time_animate=options.time_animate/this.settings.velocity;this.setActualLevel();var total=Math.ceil(this.settings.width_skitter/(this.settings.width_skitter/16));var width_box=Math.ceil(this.settings.width_skitter/total);var height_box=this.settings.height_skitter;for(i=0;i')}else{var img_clone=$('')}img_clone=this.resizeImage(img_clone);var box_clone=$('
');box_clone.append(img_clone);return box_clone},getBoxCloneImgOld:function(image_old){if(this.settings.link_atual!='#'){var img_clone=$('')}else{var img_clone=$('')}img_clone=this.resizeImage(img_clone);var box_clone=$('
');box_clone.append(img_clone);return box_clone},resizeImage:function(img_clone){if(this.settings.fullscreen){img_clone.find('img').height(this.settings.height_skitter)}return img_clone},addBoxClone:function(box_clone){this.box_skitter.find('.container_skitter').append(box_clone)},getEasing:function(easing){var easing_accepts=['easeInQuad','easeOutQuad','easeInOutQuad','easeInCubic','easeOutCubic','easeInOutCubic','easeInQuart','easeOutQuart','easeInOutQuart','easeInQuint','easeOutQuint','easeInOutQuint','easeInSine','easeOutSine','easeInOutSine','easeInExpo','easeOutExpo','easeInOutExpo','easeInCirc','easeOutCirc','easeInOutCirc','easeInElastic','easeOutElastic','easeInOutElastic','easeInBack','easeOutBack','easeInOutBack','easeInBounce','easeOutBounce','easeInOutBounce',];if(jQuery.inArray(easing,easing_accepts)>0){return easing}else{return''}},getRandom:function(i){return Math.floor(Math.random()*i)},setValueBoxText:function(){this.box_skitter.find('.label_skitter').html(this.settings.label_atual)},showBoxText:function(){var self=this;if(this.settings.label_atual!=undefined&&this.settings.label_atual!=''&&self.settings.label){self.box_skitter.find('.label_skitter').slideDown(400)}},hideBoxText:function(){var self=this;this.box_skitter.find('.label_skitter').slideUp(200,function(){self.setValueBoxText()})},stopOnMouseOver:function(){var self=this;var opacity_elements=self.settings.opacity_elements;var interval_in_elements=self.settings.interval_in_elements;var interval_out_elements=self.settings.interval_out_elements;self.box_skitter.hover(function(){if(self.settings.hideTools){if(self.settings.numbers){self.box_skitter.find('.info_slide').show().css({opacity:0}).animate({opacity:opacity_elements},interval_in_elements)}if(self.settings.navigation){self.box_skitter.find('.prev_button').show().css({opacity:0}).animate({opacity:opacity_elements},interval_in_elements);self.box_skitter.find('.next_button').show().css({opacity:0}).animate({opacity:opacity_elements},interval_in_elements)}}self.clearTimer(true);self.settings.is_hover_box_skitter=true},function(){if(self.settings.hideTools){if(self.settings.numbers){self.box_skitter.find('.info_slide').queue("fx",[]).show().css({opacity:opacity_elements}).animate({opacity:0},interval_out_elements)}if(self.settings.navigation){self.box_skitter.find('.prev_button').queue("fx",[]).show().css({opacity:opacity_elements}).animate({opacity:0},interval_out_elements);self.box_skitter.find('.next_button').queue("fx",[]).show().css({opacity:opacity_elements}).animate({opacity:0},interval_out_elements)}}self.clearTimer(true);if(!self.settings.is_animating&&self.settings.images_links.length>1){self.timer=setTimeout(function(){self.timer=setTimeout(function(){self.completeMove()},self.settings.interval);self.box_skitter.find('.image_main').attr({'src':self.settings.image_atual});self.box_skitter.find('.image a').attr({'href':self.settings.link_atual})},self.settings.interval)}self.settings.is_hover_box_skitter=false})},clearTimer:function(force){var self=this;clearInterval(self.timer)},setLinkAtual:function(){if(this.settings.link_atual!='#'){this.box_skitter.find('.image a').attr({'href':this.settings.link_atual})}else{this.box_skitter.find('.image a').removeAttr('href')}},hideTools:function(){this.box_skitter.find('.info_slide').hide();this.box_skitter.find('.prev_button').hide();this.box_skitter.find('.next_button').hide();this.box_skitter.find('.label_skitter').hide()},shuffleArray:function(arrayOrigem){var self=this;var arrayDestino=new Array();var indice;while(arrayOrigem.length>0){indice=self.randomUnique(0,arrayOrigem.length-1);arrayDestino[arrayDestino.length]=arrayOrigem[indice];arrayOrigem.splice(indice,1)}return arrayDestino},randomUnique:function(valorIni,valorFim){var numRandom;do numRandom=Math.random();while(numRandom==1);return(numRandom*(valorFim-valorIni+1)+valorIni)|0}});$.fn.css3=function(props){var css={};var prefixes=['moz','ms','o','webkit'];for(var prop in props){for(var i=0;i