/**
 * 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(a){var b=new Array;var c=new Array;var d=new Array;var e=new Array;var f=new Array;var g=new Array;var h=new Array;var l=new Array;var m=new Array;var n=new Array;var o=new Array;a.fn.coinslider=a.fn.CoinSlider=function(p){init=function(h){c[h.id]=new Array;d[h.id]=new Array;e[h.id]=new Array;f[h.id]=new Array;g[h.id]=new Array;l[h.id]=0;n[h.id]=0;o[h.id]=1;b[h.id]=a.extend({},a.fn.coinslider.defaults,p);a.each(a("#"+h.id+" img"),function(b,c){d[h.id][b]=a(c).attr("src");e[h.id][b]=a(c).parent().is("a")?a(c).parent().attr("href"):"";f[h.id][b]=a(c).parent().is("a")?a(c).parent().attr("target"):"";g[h.id][b]=a(c).next().is("span")?a(c).next().html():"";a(c).hide();a(c).next().hide()});a(h).css({"background-image":"url("+d[h.id][0]+")",width:b[h.id].width,height:b[h.id].height,position:"relative","background-position":"top left"}).wrap("<div class='coin-slider' id='coin-slider-"+h.id+"' />");a("#"+h.id).append("<div class='cs-title' id='cs-title-"+h.id+"' style='position: absolute; bottom:0; left: 0; z-index: 1000;'></div>");a.setFields(h);if(b[h.id].navigation)a.setNavigation(h);a.transition(h,0);a.transitionCall(h)};a.setFields=function(d){tWidth=sWidth=parseInt(b[d.id].width/b[d.id].spw);tHeight=sHeight=parseInt(b[d.id].height/b[d.id].sph);counter=sLeft=sTop=0;tgapx=gapx=b[d.id].width-b[d.id].spw*sWidth;tgapy=gapy=b[d.id].height-b[d.id].sph*sHeight;for(i=1;i<=b[d.id].sph;i++){gapx=tgapx;if(gapy>0){gapy--;sHeight=tHeight+1}else{sHeight=tHeight}for(j=1;j<=b[d.id].spw;j++){if(gapx>0){gapx--;sWidth=tWidth+1}else{sWidth=tWidth}c[d.id][counter]=i+""+j;counter++;if(b[d.id].links)a("#"+d.id).append("<a href='"+e[d.id][0]+"' class='cs-"+d.id+"' id='cs-"+d.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></a>");else a("#"+d.id).append("<div class='cs-"+d.id+"' id='cs-"+d.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></div>");a("#cs-"+d.id+i+j).css({"background-position":-sLeft+"px "+(-sTop+"px"),left:sLeft,top:sTop});sLeft+=sWidth}sTop+=sHeight;sLeft=0}a(".cs-"+d.id).mouseover(function(){a("#cs-navigation-"+d.id).show()});a(".cs-"+d.id).mouseout(function(){a("#cs-navigation-"+d.id).hide()});a("#cs-title-"+d.id).mouseover(function(){a("#cs-navigation-"+d.id).show()});a("#cs-title-"+d.id).mouseout(function(){a("#cs-navigation-"+d.id).hide()});if(b[d.id].hoverPause){a(".cs-"+d.id).mouseover(function(){b[d.id].pause=true});a(".cs-"+d.id).mouseout(function(){b[d.id].pause=false});a("#cs-title-"+d.id).mouseover(function(){b[d.id].pause=true});a("#cs-title-"+d.id).mouseout(function(){b[d.id].pause=false})}};a.transitionCall=function(c){clearInterval(h[c.id]);delay=b[c.id].delay+b[c.id].spw*b[c.id].sph*b[c.id].sDelay;h[c.id]=setInterval(function(){a.transition(c)},delay)};a.transition=function(e,f){if(b[e.id].pause==true)return;a.effect(e);n[e.id]=0;m[e.id]=setInterval(function(){a.appereance(e,c[e.id][n[e.id]])},b[e.id].sDelay);a(e).css({"background-image":"url("+d[e.id][l[e.id]]+")"});if(typeof f=="undefined")l[e.id]++;else if(f=="prev")l[e.id]--;else l[e.id]=f;if(l[e.id]==d[e.id].length){l[e.id]=0}if(l[e.id]==-1){l[e.id]=d[e.id].length-1}a(".cs-button-"+e.id).removeClass("cs-active");a("#cs-button-"+e.id+"-"+(l[e.id]+1)).addClass("cs-active");if(g[e.id][l[e.id]]){a("#cs-title-"+e.id).css({opacity:0}).animate({opacity:b[e.id].opacity},b[e.id].titleSpeed);a("#cs-title-"+e.id).html(g[e.id][l[e.id]])}else{a("#cs-title-"+e.id).css("opacity",0)}};a.appereance=function(c,g){a(".cs-"+c.id).attr("href",e[c.id][l[c.id]]).attr("target",f[c.id][l[c.id]]);if(n[c.id]==b[c.id].spw*b[c.id].sph){clearInterval(m[c.id]);return}a("#cs-"+c.id+g).css({opacity:0,"background-image":"url("+d[c.id][l[c.id]]+")"});a("#cs-"+c.id+g).animate({opacity:1},300);n[c.id]++};a.setNavigation=function(c){a(c).append("<div id='cs-navigation-"+c.id+"'></div>");a("#cs-navigation-"+c.id).hide();a("<div id='cs-buttons-"+c.id+"' class='cs-buttons'></div>").appendTo(a("#coin-slider-"+c.id));for(k=1;k<d[c.id].length+1;k++){a("#cs-buttons-"+c.id).append("<a href='#' class='cs-button-"+c.id+"' id='cs-button-"+c.id+"-"+k+"'>"+k+"</a>")}a.each(a(".cs-button-"+c.id),function(b,d){a(d).click(function(d){a(".cs-button-"+c.id).removeClass("cs-active");a(this).addClass("cs-active");d.preventDefault();a.transition(c,b);a.transitionCall(c)})});a("#cs-navigation-"+c.id+" a").mouseout(function(){a("#cs-navigation-"+c.id).hide();b[c.id].pause=false});a("#cs-buttons-"+c.id).css({left:"50%","margin-left":-d[c.id].length*15/2-5,position:"relative"})};a.effect=function(d){effA=["random","swirl","rain","straight"];if(b[d.id].effect=="")eff=effA[Math.floor(Math.random()*effA.length)];else eff=b[d.id].effect;c[d.id]=new Array;if(eff=="random"){counter=0;for(i=1;i<=b[d.id].sph;i++){for(j=1;j<=b[d.id].spw;j++){c[d.id][counter]=i+""+j;counter++}}a.random(c[d.id])}if(eff=="rain"){a.rain(d)}if(eff=="swirl")a.swirl(d);if(eff=="straight")a.straight(d);o[d.id]*=-1;if(o[d.id]>0){c[d.id].reverse()}};a.random=function(a){var b=a.length;if(b==0)return false;while(--b){var c=Math.floor(Math.random()*(b+1));var d=a[b];var e=a[c];a[b]=e;a[c]=d}};a.swirl=function(d){var e=b[d.id].sph;var f=b[d.id].spw;var g=1;var h=1;var j=0;var k=0;var l=0;var m=true;while(m){k=j==0||j==2?f:e;for(i=1;i<=k;i++){c[d.id][l]=g+""+h;l++;if(i!=k){switch(j){case 0:h++;break;case 1:g++;break;case 2:h--;break;case 3:g--;break}}}j=(j+1)%4;switch(j){case 0:f--;h++;break;case 1:e--;g++;break;case 2:f--;h--;break;case 3:e--;g--;break}check=a.max(e,f)-a.min(e,f);if(f<=check&&e<=check)m=false}};a.rain=function(a){var d=b[a.id].sph;var e=b[a.id].spw;var f=0;var g=to2=from=1;var h=true;while(h){for(i=from;i<=g;i++){c[a.id][f]=i+""+parseInt(to2-i+1);f++}to2++;if(g<d&&to2<e&&d<e){g++}if(g<d&&d>=e){g++}if(to2>e){from++}if(from>g)h=false}};a.straight=function(a){counter=0;for(i=1;i<=b[a.id].sph;i++){for(j=1;j<=b[a.id].spw;j++){c[a.id][counter]=i+""+j;counter++}}};a.min=function(a,b){if(a>b)return b;else return a};a.max=function(a,b){if(a<b)return b;else return a};this.each(function(){init(this)})};a.fn.coinslider.defaults={width:565,height:290,spw:7,sph:5,delay:3e3,sDelay:30,opacity:.7,titleSpeed:500,effect:"",navigation:true,links:true,hoverPause:true}})(jQuery)
