/** * coin slider - unique jquery image slider * @version: 1.0 - (2010/04/04) * @requires jquery v1.2.2 or later * @author ivan lazarevic * examples and documentation at: http://workshop.rs/projects/coin-slider/ * licensed under mit licence: * http://www.opensource.org/licenses/mit-license.php **/ (function($){var params=[],order=[],images=[],links=[],linkstarget=[],titles=[],interval=[],imagepos=[],appinterval=[],squarepos=[],reverse=[];$.fn.coinslider=$.fn.coinslider=function(options){var setfields=function(el){var twidth=parseint(params[el.id].width/params[el.id].spw),swidth=twidth,theight=parseint(params[el.id].height/params[el.id].sph),sheight=theight,counter=0,sleft=0,stop=0,i,j,tgapx=params[el.id].width-params[el.id].spw*swidth,gapx=tgapx,tgapy=params[el.id].height-params[el.id].sph*sheight,gapy=tgapy;for(i=1;i<=params[el.id].sph;i++){gapx=tgapx;if(gapy>0){gapy--;sheight=theight+1}else{sheight=theight}for(j=1;j<=params[el.id].spw;j++){if(gapx>0){gapx--;swidth=twidth+1}else{swidth=twidth}order[el.id][counter]=i+""+j;counter++;if(params[el.id].links){$('#'+el.id).append("")}else{$('#'+el.id).append("
")}$("#cs-"+el.id+i+j).css({'background-position':-sleft+'px '+(-stop+'px'),'left':sleft,'top':stop});sleft+=swidth}stop+=sheight;sleft=0}if(!params[el.id].navigationprevnextalwaysshown){$('.cs-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show()});$('.cs-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide()});$('#cs-title-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show()});$('#cs-title-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide()})}if(params[el.id].hoverpause){$('.cs-'+el.id).mouseover(function(){params[el.id].pause=true});$('.cs-'+el.id).mouseout(function(){params[el.id].pause=false});$('#cs-title-'+el.id).mouseover(function(){params[el.id].pause=true});$('#cs-title-'+el.id).mouseout(function(){params[el.id].pause=false})}};var transitioncall=function(el){clearinterval(interval[el.id]);var delay=params[el.id].delay+params[el.id].spw*params[el.id].sph*params[el.id].sdelay;interval[el.id]=setinterval(function(){transition(el)},delay)};var transition=function(el,direction){if(params[el.id].pause===true){return}effect(el);squarepos[el.id]=0;appinterval[el.id]=setinterval(function(){appereance(el,order[el.id][squarepos[el.id]])},params[el.id].sdelay);$(el).css({'background-image':'url('+images[el.id][imagepos[el.id]]+')'});if(typeof(direction)=="undefined"){imagepos[el.id]++}else{if(direction=='prev'){imagepos[el.id]--}else{imagepos[el.id]=direction}}if(imagepos[el.id]==images[el.id].length){imagepos[el.id]=0}if(imagepos[el.id]==-1){imagepos[el.id]=images[el.id].length-1}$('.cs-button-'+el.id).removeclass('cs-active');$('#cs-button-'+el.id+"-"+(imagepos[el.id]+1)).addclass('cs-active');if(titles[el.id][imagepos[el.id]]){$('#cs-title-'+el.id).css({'opacity':0}).animate({'opacity':params[el.id].opacity},params[el.id].titlespeed);$('#cs-title-'+el.id).html(titles[el.id][imagepos[el.id]])}else{$('#cs-title-'+el.id).css('opacity',0)}};var appereance=function(el,sid){$('.cs-'+el.id).attr('href',links[el.id][imagepos[el.id]]).attr('target',linkstarget[el.id][imagepos[el.id]]);if(squarepos[el.id]==params[el.id].spw*params[el.id].sph){clearinterval(appinterval[el.id]);return}$('#cs-'+el.id+sid).css({opacity:0,'background-image':'url('+images[el.id][imagepos[el.id]]+')'});$('#cs-'+el.id+sid).animate({opacity:1},300);squarepos[el.id]++};var setnavigation=function(el){if(params[el.id].shownavigationprevnext){$(el).append("
");if(!params[el.id].navigationprevnextalwaysshown){$('#cs-navigation-'+el.id).hide()}$('#cs-navigation-'+el.id).append(""+params[el.id].prevtext+"");$('#cs-navigation-'+el.id).append(""+params[el.id].nexttext+"");$('#cs-prev-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'left':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventdefault();transition(el,'prev');transitioncall(el)}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$('#cs-next-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'right':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventdefault();transition(el);transitioncall(el)}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$('#cs-navigation-'+el.id+' a').mouseout(function(){if(!params[el.id].navigationprevnextalwaysshown)$('#cs-navigation-'+el.id).hide();params[el.id].pause=false})}if(params[el.id].shownavigationbuttons){$("
").appendto($('#coin-slider-'+el.id));var k;for(k=1;k"+k+"")}$.each($('.cs-button-'+el.id),function(i,item){$(item).click(function(e){$('.cs-button-'+el.id).removeclass('cs-active');$(this).addclass('cs-active');e.preventdefault();transition(el,i);transitioncall(el)})});$("#cs-buttons-"+el.id).css({'left':'50%','margin-left':-images[el.id].length*15/2-5,'position':'relative'})}};var effect=function(el){var effa=['random','swirl','rain','straight'],i,j,counter,eff;if(params[el.id].effect===''){eff=effa[math.floor(math.random()*(effa.length))]}else{eff=params[el.id].effect}order[el.id]=[];if(eff=='random'){counter=0;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+""+j;counter++}}randomeffect(order[el.id])}if(eff=='rain'){rain(el)}if(eff=='swirl'){swirl(el)}if(eff=='straight'){straight(el)}reverse[el.id]*=-1;if(reverse[el.id]>0){order[el.id].reverse()}};var randomeffect=function(arr){var i=arr.length,j,tempi,tempj;if(i===0){return false}while(--i){j=math.floor(math.random()*(i+1));tempi=arr[i];tempj=arr[j];arr[i]=tempj;arr[j]=tempi}};var swirl=function(el){var n=params[el.id].sph,m=params[el.id].spw,x=1,y=1,going=0,num=0,c=0,check,dowhile=true,i;while(dowhile){num=(going===0||going===2)?m:n;for(i=1;i<=num;i++){order[el.id][c]=x+""+y;c++;if(i!=num){switch(going){case 0:y++;break;case 1:x++;break;case 2:y--;break;case 3:x--;break}}}going=(going+1)%4;switch(going){case 0:m--;y++;break;case 1:n--;x++;break;case 2:m--;y--;break;case 3:n--;x--;break}check=max(n,m)-min(n,m);if(m<=check&&n<=check){dowhile=false}}};var rain=function(el){var n=params[el.id].sph,m=params[el.id].spw,c=0,to=1,to2=1,from=1,dowhile=true;while(dowhile){for(i=from;i<=to;i++){order[el.id][c]=i+''+parseint(to2-i+1);c++}to2++;if(to=m){to++}if(to2>m){from++}if(from>to){dowhile=false}}};var straight=function(el){var counter=0,i,j;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+''+j;counter++}}};var min=function(n,m){if(n>m){return m}else{return n}};var max=function(n,m){if(n");$('#'+el.id).append("
");setfields(el);if(params[el.id].navigation){setnavigation(el)}transition(el,0);transitioncall(el)};this.each(function(){init(this)})};$.fn.coinslider.defaults={width:565,height:290,spw:7,sph:5,delay:3000,sdelay:30,opacity:0.7,titlespeed:500,effect:'',links:true,hoverpause:true,prevtext:'prev',nexttext:'next',navigation:true,shownavigationprevnext:true,shownavigationbuttons:true,navigationprevnextalwaysshown:false}})(jquery);