(function(b){b.fn.sudoSlider=function(j){if(typeof(j)!="object"&&j!=""&&j){return this.each(function(){b(this).trigger("sudoSliderEvent",[j])})}else{var r={prevNext:true,prevHtml:'<a href="#" class="prevBtn"> previous </a>',nextHtml:'<a href="#" class="nextBtn"> next </a>',controlsShow:true,controlsAttr:'id="controls"',controlsFadeSpeed:"400",controlsFade:true,insertAfter:true,firstShow:false,firstHtml:'<a href="#" class="firstBtn"> first </a>',lastShow:false,lastHtml:'<a href="#" class="lastBtn"> last </a>',numericAttr:'class="controls"',numericText:["1"],vertical:false,speed:"800",ease:"swing",auto:false,pause:"2000",continuous:false,clickableAni:false,numeric:false,updateBefore:false,history:false,speedhistory:"400",autoheight:true,customLink:false,fade:false,crossFade:true,fadespeed:"1000",ajax:false,loadingText:false,preloadAjax:false,startSlide:false,imgAjaxFunction:false,docAjaxFunction:false,beforeAniFunc:false,afterAniFunc:false,uncurrentFunc:false,currentFunc:false};var j=b.extend(r,j);var D=j.controlsFadeSpeed;var G=j.controlsFade;var w=j.firstShow;var s=j.lastShow;var c=j.vertical;var g=j.speed;var m=j.ease;var H=j.auto;var A=j.pause;var d=j.continuous;var u=j.prevNext;var h=j.numeric;var l=j.numericAttr;var f=j.numericText;var q=j.history;var k=j.speedhistory;var e=j.autoheight;var I=j.customLink;var o=j.fade;var t=j.crossFade;var C=j.fadespeed;var E=j.updateBefore;var i=j.ajax;var F=j.startSlide;var x=j.imgAjaxFunction;var v=j.docAjaxFunction;var n=j.beforeAniFunc;var z=j.afterAniFunc;var y=j.uncurrentFunc;var B=j.currentFunc;return this.each(function(){var ax=true;if(H){d=true}var M=b(this);var ai=M.children("ul");var ah=ai.children("li");var ap=ah.length;var an=ah.eq(0).width();var aA=M.height();if(i){if(ai.length==0){M.append("<ul></ul>");ai=M.children("ul")}if(i.length>ap){for(var az=1;az<=i.length-ap;az++){ai.append("<li><p>"+O()+"</p></li>")}ah=ai.children("li");ap=ah.length;an=ah.eq(0).width()}}function O(){var aE=["Spinning up the hamster","&pi; &times; 1337% == 42","Programming the flux capacitor","The last time I tried this the monkey didn't survive","Testing data on Timmy... ... ... We need another Timmy","Warming up Large Hadron Collider","It looks like you're waiting for something to load"];return j.loadingText?j.loadingText:(aE[Math.round(Math.random()*(aE.length-1))]+"...")}var ao=0;var ad=ao;var aw=ao;var aD=ap-1;var ay=true;var av=false;var J=false;var K=false;var U=0;var P=new Array();var W=false;M.css("overflow","hidden");ah.css("float","left");for(var az=0;az<ap;az++){if(f[az]==undefined){f[az]=(az+1)}if(i&&i[az]==undefined){i[az]=false}}if(d){if(c){ai.prepend(ah.filter(":last-child").clone().css("margin-top","-"+aA+"px"));ai.append(ah.filter(":nth-child(2)").clone());ai.height((ap+1)*aA)}else{ai.prepend(ah.filter(":last-child").clone().css("margin-left","-"+an+"px"));ai.append(ah.filter(":nth-child(2)").clone());ai.width((ap+1)*an)}if(i){if(i[0]){aj("last",0,false,0)}if(i[ap-1]){aj("first",(ap-1),false,0);aj(ap,(ap-1),false,0);i[ap-1]=false}}}else{if(c){ai.height(ap*aA)}else{ai.width(ap*an)}}if(j.preloadAjax){for(var az=0;az<=ap-subtract;az++){if(i[az]){aj(az,az,false,0);i[az]=false}}}if(j.controlsShow){var ab=b("<span "+j.controlsAttr+"></span>");if(j.insertAfter){b(M).after(ab)}else{b(M).before(ab)}var ac=j.controlsBefore;if(h){W=ab.prepend("<ol "+l+"></ol>").children();for(var az=0;az<ap;az++){P[az]=b(document.createElement("li")).attr({rel:(az+1)}).html('<a href="#"><span>'+f[az]+"</span></a>").appendTo(W).click(function(){aq(b(this).attr("rel")-1,true);return false})}}if(w){var ae=al(j.firstHtml,"first")}if(s){var T=al(j.lastHtml,"last")}if(u){var R=al(j.prevHtml,"prev");var aC=al(j.nextHtml,"next")}}function aq(aF,aE){if(o){V(aF,aE)}else{au(aF,aE,true)}}function al(aF,aG){var aE=b(aF);ab.prepend(aE);aE.click(function(){aq(aG,true);return false});return aE}D=L(D);g=L(g);A=L(A);k=L(k);C=L(C);function L(aE){if(parseInt(aE)){var aF=parseInt(aE)}else{switch(aE){case"fast":var aF=200;break;case"normal":var aF=400;break;case"medium":var aF=400;break;case"slow":var aF=600;break;default:var aF=400}}return aF}function Z(aF,aE){aF.each(function(){var aH=(this.tagName.toLowerCase()==="img")?b(this):b("img",this),aI=this,aG=0,aJ=function(){if(typeof aE==="function"){aE(aI)}};if(aH.length){aH.each(function(){var aK=this,aL=function(aM){if((aK.complete)||(aK.readyState=="complete"&&aM.type=="readystatechange")){if(++aG===aH.length){aJ()}}else{if(aK.readyState===undefined){b(aK).attr("src",b(aK).attr("src"))}}};b(aK).bind("load readystatechange",function(aM){aL(aM)});aL({type:"readystatechange"})})}else{aJ()}})}function X(aE){var aH=new Array(".jpg",".png",".bmp",".gif");var aI=false;while(aE.indexOf("\\")!=-1){var aE=aE.slice(aE.indexOf("\\")+1)}var aG=aE.slice(aE.indexOf(".")).toLowerCase();for(var aF=0;aF<aH.length;aF++){if(aH[aF]==aG){aI=true;break}}return aI}function af(aJ,aI,aE){if(aE){var aH=aC;var aF=T;var aK="next";var aG="last";var aL=s}else{var aH=R;var aF=ae;var aK="prev";var aG="first";var aL=w}if(!d&&u){aH.fadeTo(aI,aJ,function(){if(aJ==0){b(this).hide()}})}if(aL){aF.fadeTo(aI,aJ,function(){if(aJ==0){b(this).hide()}})}if(I){b(I).filter(function(aM){return(b(this).attr("rel")==aK||b(this).attr("rel")==aG)}).fadeTo(aI,aJ,function(){if(aJ==0){b(this).hide()}}).children().fadeTo(aI,aJ,function(){if(aJ==0){b(this).hide()}})}}function N(aE,aF){if(aE==0){af(0,aF,false)}else{af(1,aF,false)}if(aE==aD){af(0,aF,true)}else{af(1,aF,true)}}function Q(aF){aF=parseInt((aF>aD)?aF=0:((aF<0)?aF=aD:aF))+1;for(var aE=0;aE<P.length;aE++){ar(P[aE],aF)}if(I){ar(I,aF)}}function ar(aF,aE){b(aF).filter(".current").removeClass("current").each(function(){if(b.isFunction(y)){y.call(this,b(this).attr("rel"))}});b(aF).filter(function(){return b(this).attr("rel")==aE}).addClass("current").each(function(aG){if(b.isFunction(B)){B.call(this,aE)}})}function Y(aF){var aG=0;for(var aE=0;aE<=ap;aE=aE+1){if(f[aE]==aF){aG=aE}}return aG}function S(aF,aG){if(aF==ap){aF=0}var aH=ah.eq(aF);var aE=aH.height();if(aE!=0){ak(aE,aG)}Z(aH,function(aI){aE=b(aI).height();if(aE!=0){ak(aE,aG)}})}function ak(aE,aF){M.animate({height:aE},{queue:false,duration:aF,easing:m})}function aB(){if(ao>aD){ao=0}if(ao<0){ao=aD}if(!E){Q(ao)}if(c){ai.css("margin-top",(ao*aA*-1))}else{ai.css("margin-left",(ao*an*-1))}ay=true;if(q&&av){window.location.hash=f[ao]}if(!J){if(b.isFunction(z)){z.call(ah.eq(ao),ao+1)}}}function ag(aE,aG){var aF=ao;switch(aE){case"next":aF=(aG>=aD)?(d?aF+1:aD):aF+1;break;case"prev":aF=(ao<=0)?(d?aF-1:0):aF-1;break;case"first":aF=0;break;case"last":aF=aD;break;default:aF=parseInt(aE);break}return aF}function aj(aH,aE,aK,aJ){var aG=false;if(parseInt(aH)||aH==0){aG=ah.eq(aH)}else{if(aH=="last"){aG=b("li:last",M)}else{aG=b("li:first",M)}}var aF=(J)?(!t?parseInt(C*(2/5)):C):aJ;var aI=aE+1;if(X(i[aE])){aG.html(" ").append(b(new Image()).attr("src",i[aE]));Z(aG,function(aM){var aO=b(aM).children();var aN=aO.width();var aL=aO.height();aO.attr({oldheight:aL,oldwidth:aN});if(aN>an){aO.animate({width:an,height:(aL/aN)*an},0)}if(b.isFunction(x)){x.call(b(aM),aI)}if(e&&aK){S(ao,aF)}})}else{aG.load(i[aE],function(aN,aL,aO){if(aL=="error"||!b(this).html()){b(this).html("Sorry but there was an error: "+(aO.status?aO.status:"no content")+" "+aO.statusText)}if(aL!="error"&&b.isFunction(v)){v.call(b(this),aI)}var aM=b(this).height();if(e&&aK){S(aE,aF)}})}}function V(aI,aH){if(aI!=ao){if(ay){K=false;if(aH){clearTimeout(at)}if(E){Q(ag(aI,ad))}ay=!aH;var aJ=(!aH&&!H&&q)?C*(k/g):C;var aL=ag(aI,ad);if(aL>aD){aL=0}if(aL<0){aL=aD}if(G){N(aL,D)}if(e){if(i){if(!i[aL]){S(aL,C)}}else{S(aL,C)}}var aK=ah.eq(aL);if(b.isFunction(n)){n.call(aK,aL+1)}if(t){var aG=aK.clone().prependTo(M).css({"z-index":"100000",position:"absolute","list-style":"none",top:"0",left:"0"});if(i[aL]){aj(0,aL,false,aJ);if(X(i[aL])){aj(aL+1,aL,false,aJ);Z(ah.eq(aL+1),function(){if(e){S(aL,C)}})}else{aj(aL+1,aL,true,aJ)}i[aL]=false}aG.hide().fadeIn(C,function(){ay=true;J=true;au(aI,false,false);b(this).remove();if(q&&aH){window.location.hash=f[ao]}J=false;if(b.isFunction(z)){z.call(aK,aL+1)}})}else{var aF=parseInt((aJ)*(3/5));var aE=aJ-aF;M.children().fadeTo(aE,0.00001,function(){ay=true;J=true;au(aI,false,false);ay=!aH;M.children().fadeTo(aF,1,function(){if(q&&aH){window.location.hash=f[ao]}ay=true;J=false;if(b.isFunction(z)){z.call(aK,aL+1)}})})}}}}function au(aF,aI,aL){if(ay){K=false;ay=(!aI&&!H)?true:j.clickableAni;av=aI;ad=ao;ao=ag(aF,ad);if(E){Q(ao)}var aK=Math.sqrt(Math.abs(ad-ao));var aJ=parseInt(aK*g);if(!aI&&!H){aJ=parseInt(aK*k)}if(!aL){aJ=0}var aH=ao;if(ao>aD){aH=0}if(ao<0){aH=aD}if(i){if(i[aH]){aj(aH,aH,true,aJ);i[aH]=false;K=true}if(!J){var aE=0;if(ad>ao){for(a=ao;a<=ad;a++){if(a<=aD&&a>=0){if(i[a]){aj(a,a,false,aJ);i[a]=false;aE++}}if(aE==10){a=ad}}}else{for(a=ad;a<=ao;a++){if(a<=aD&&a>=0){if(i[a]){aj(a,a,false,aJ);i[a]=false;aE++}}if(aE==10){a=ao}}}}if((aH+1<=aD)&&!ax){if(i[aH+1]){aj(aH+1,aH+1,false,0);i[aH+1]=false}}if(aH-1>=0&&!ax){if(i[aH-1]){aj(aH-1,aH-1,false,0);i[aH-1]=false}}}if(!J){if(b.isFunction(n)){n.call(ah.eq(aH),aH+1)}}if(!c){if(e&&!J&&!K){S(ao,aJ)}p=(ao*an*-1);ai.animate({marginLeft:p},{queue:false,duration:aJ,easing:m,complete:aB})}else{p=(ao*aA*-1);ai.animate({marginTop:p},{queue:false,duration:aJ,easing:m,complete:aB})}if(G){var aG=D;if(!aI&&!H){aG=(k/g)*D}if(!aL){aG=0}if(J){aG=parseInt((C)*(3/5))}N(ao,aG)}if(aI){clearTimeout(at)}if(H&&aF=="next"&&!aI){at=aa(A+g)}}}var at;if(H){at=aa(A)}function aa(aE){return setTimeout(function(){aq("next",false)},aE)}if(I){b(I).live("click",function(){var aE=b(this).attr("rel");am(aE);return false})}M.bind("sudoSliderEvent",function(aF,aE){am(aE);return false});function am(aE){if(aE=="stop"){clearTimeout(at)}else{if(aE=="start"){at=aa(A);H=true}else{if(aE=="block"){ay=false}else{if(aE=="unblock"){ay=true}else{if(aE=="action"){alert("The slider just performed an action")}else{if(ay){aq((aE==parseInt(aE))?aE-1:aE,true)}}}}}}}ax=false;if(q){b.address.init(function(aF){var aE=Y(aF.value);au(aE,false,false)}).change(function(aF){var aE=Y(aF.value);if(aE!=ao){aq(aE,false)}})}else{if(F){au(F-1,false,false)}else{au(0,false,false)}}})}}})(jQuery);
