/** * 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:'#969696',color:'#fff'},animatenumberover:{backgroundcolor:'#fff',color:'#000'},animatenumberactive:{backgroundcolor:'#98c22a',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