(function($)
{$.fn.sudoSlider=function(optionsOrg)
{var z=!1,y=!z,defaults={controlsShow:y,controlsFadeSpeed:400,controlsFade:y,insertAfter:y,firstShow:z,lastShow:z,vertical:z,speed:800,ease:'swing',auto:z,pause:2000,continuous:z,prevNext:y,numeric:z,numericAttr:'class="controls"',numericText:[],clickableAni:z,history:z,speedhistory:400,autoheight:y,customLink:z,fade:z,crossFade:y,fadespeed:1000,updateBefore:z,ajax:z,preloadAjax:100,startSlide:z,ajaxLoadFunction:z,beforeAniFunc:z,afterAniFunc:z,uncurrentFunc:z,currentFunc:z,prevHtml:'<a href="#" class="prevBtn"> previous </a>',nextHtml:'<a href="#" class="nextBtn"> next </a>',loadingText:'Loading Content...',firstHtml:'<a href="#" class="firstBtn"> first </a>',controlsAttr:'id="controls"',lastHtml:'<a href="#" class="lastBtn"> last </a>',autowidth:y,slideCount:1,resumePause:z,moveCount:1},baseSlider=this;optionsOrg=$.extend(defaults,optionsOrg);return this.each(function()
{var init,ul,li,liConti,s,t,ot,ts,clickable,buttonclicked,fading,ajaxloading,numericControls,numericContainer,destroyed,fontsmoothing,controls,html,firstbutton,lastbutton,nextbutton,prevbutton,timeout,destroyT,oldSpeed,dontCountinue,dontCountinueFade,autoOn,a,b,i,continuousClones,orgSlideCount,beforeAniFuncFired=z,asyncTimedLoad,obj=$(this),options=optionsOrg,option=[];initSudoSlider(obj,z);function initSudoSlider(obj,destroyT)
{b=0;for(a in options){option[b]=options[a];b++;}
destroyed=z;init=y;ul=obj.children("ul");li=ul.children("li");s=li.length;if(option[25])
{if(ul.length==0)obj.append(ul=$('<ul></ul>'));if(option[25].length>s)
{for(a=1;a<=option[25].length-s;a++)ul.append('<li><p>'+option[35]+'</p></li>');li=ul.children("li");s=li.length;}}
t=0;ot=t;ts=s-1;clickable=y;buttonclicked=z;fading=z;ajaxloading=z;numericControls=new Array();destroyed=z;fontsmoothing=screen.fontSmoothingEnabled;obj.css("overflow","hidden");if(obj.css("position")=="static")obj.css("position","relative");li.css({'float':'left','display':'block'});option[40]=parseInt10(option[40])
option[42]--;orgSlideCount=option[40];if(!option[21])option[40]+=option[42];if(option[40]>s)option[40]=s;option[27]=parseInt10(option[27])||1;continuousClones=option[11]&&(!option[21]||option[40]>1);for(a=0;a<s;a++)
{option[15][a]=option[15][a]||(a+1);option[25][a]=option[25][a]||z;}
if(continuousClones)
{for(i=option[40];i>=1;i--)
{ul.prepend(li.eq(-option[40]+i-1).clone()).append(li.eq(option[40]-i).clone());}
liConti=ul.children("li");if(option[25])
{for(a=s-option[40];a<s;a++)
{if(option[25][a]&&a!=option[27]-1)ajaxLoad(a,z,0,z);}}}
option[2]=option[2]&&!option[11];ul[option[6]?'height':'width'](10000000);liConti=ul.children("li");controls=z;if(option[0])
{controls=$('<span '+option[37]+'></span>');$(obj)[option[3]?'after':'before'](controls);if(option[13]){numericContainer=controls.prepend('<ol '+option[14]+'></ol>').children();b=option[13]=='pages'?orgSlideCount:1;for(a=0;a<s-((option[11]||option[13]=='pages')?1:orgSlideCount)+1;a+=b)
{numericControls[a]=$("<li rel='"+(a+1)+"'><a href='#'><span>"+option[15][a]+"</span></a></li>").appendTo(numericContainer).click(function(){goToSlide($(this).attr('rel')-1,y);return z;});};}
if(option[4])firstbutton=makecontrol(option[36],"first");if(option[5])lastbutton=makecontrol(option[38],"last");if(option[12]){nextbutton=makecontrol(option[34],"next");prevbutton=makecontrol(option[33],"prev");}};if(option[26]===y)for(i=0;i<=ts;i++)if(option[25][i]&&option[27]-1!=i)ajaxLoad(i,z,0,z);b=[1,7,10,18,23];for(a in b){option[parseInt10(b[a])]=textSpeedToNumber(option[parseInt10(b[a])]);}
if(option[20])
{$(option[20]).live('click',function(){if(a=$(this).attr('rel')){if(a=='stop')
{option[9]=z;stopAuto();}
else if(a=='start')
{timeout=startAuto(option[10]);option[9]=y;}
else if(a=='block')clickable=z;else if(a=='unblock')clickable=y;else if(clickable)goToSlide((a==parseInt10(a))?a-1:a,y);}
return z;});}
runOnImagesLoaded(liConti.slice(0,option[40]),y,function()
{if(option[9])timeout=startAuto(option[10]);if(destroyT)animate(destroyT,z,z,z);else if(option[17]){if($.address)
{$.address.change(function(e){URLChange();});}
else if($.hashchange)
{$(window).hashchange(URLChange);}
else
{$(window).bind('hashchange',URLChange);}
URLChange();}
else animate(option[27]-1,z,z,z);})}
function startAsyncDelayedLoad()
{if(option[25]&&parseInt10(option[26]))
{for(a in option[25])
{if(option[25][a])
{clearTimeout(asyncTimedLoad);asyncTimedLoad=setTimeout(function(){ajaxLoad(a,z,0,z);},parseInt10(option[26]));break;}}}}
function URLChange()
{i=filterUrlHash(location.hash.substr(1));if(init)animate(i,z,z,z);else if(i!=t)goToSlide(i,z);}
function startAuto(pause)
{autoOn=y;return setTimeout(function(){goToSlide("next",z);},pause);}
function stopAuto()
{clearTimeout(timeout);autoOn=z;}
function textSpeedToNumber(speed)
{return(parseInt10(speed)||speed==0)?parseInt10(speed):speed=='fast'?200:(speed=='normal'||speed=='medium')?400:speed=='slow'?600:400;};function makecontrol(html,action)
{return $(html).prependTo(controls).click(function(){goToSlide(action,y);return z;});}
function goToSlide(i,clicked)
{beforeAniFuncFired=z;if(!destroyed)
{if(option[9])
{var delay=option[7];if(fading&&option[22])delay=parseInt10((delay)*(3/5));else if(fading)delay=0;if(clicked){stopAuto();if(option[41])timeout=startAuto(delay+option[41]);}
else timeout=startAuto(option[10]+delay);}
if(option[21])
{fadeto(i,clicked);}
else
{if(option[11])
{i=filterDir(i,t);a=getRealPos(i);var diff=Math.abs(t-i);if(a<option[40]-orgSlideCount+1&&Math.abs(t-a-s)<diff)
{i=a+s;diff=Math.abs(t-a-s);}
if(a>ts-option[40]&&Math.abs(t-a+s)<diff)
{i=a-s;}}
animate(i,clicked,y,z);}}};function fadeControl(fadeOpacity,fadetime,nextcontrol)
{if(nextcontrol)
{var eA=nextbutton,eB=lastbutton,directionA='next',directionB='last',firstlastshow=option[5];}
else
{var eA=prevbutton,eB=firstbutton,directionA='prev',directionB='first',firstlastshow=option[4];}
if(option[0])
{if(option[12])eA[fadeOpacity?'fadeIn':'fadeOut'](fadetime);if(firstlastshow)eB[fadeOpacity?'fadeIn':'fadeOut'](fadetime);}
if(option[20])
{$(option[20]).filter(function(index){return($(this).attr("rel")==directionA||$(this).attr("rel")==directionB);})
[fadeOpacity?"fadeIn":"fadeOut"](fadetime);}};function fadeControls(a,fadetime)
{fadeControl(a,fadetime,z);fadeControl(a<s-orgSlideCount,fadetime,y);};function setCurrent(i)
{i=parseInt10((i>ts)?0:((i<0)?s+i:i))+1;for(a in numericControls)setCurrentElement(numericControls[a],i);if(option[20])setCurrentElement($(option[20]),i);};function setCurrentElement(element,i)
{if(element)
{element.filter(".current").removeClass("current").each(function(){if(isFunc(option[31])){option[31].call(this,$(this).attr("rel"));}});element.filter(function(){b=$(this).attr("rel");if(option[13]=='pages')
{for(a=0;a<orgSlideCount;a++)
{if(b==i-a)return y;}}
else return b==i;return z;}).addClass("current").each(function(index){if(isFunc(option[32])){option[32].call(this,i);}});}};function filterUrlHash(a)
{for(i in option[15])if(option[15][i]==a)return i;return a?t:0;};function runOnImagesLoaded(target,all,callback)
{var elems=target.add(target.find('img')).filter('img');var len=elems.length;if(!len)
{callback();}
elems.load(function(){if(this.naturalHeight&&!this.clientHeight)
{$(this).height(this.naturalHeight).width(this.naturalWidth);}
if(all)
{len--;if(len==0)callback();}
else
{callback();}}).each(function(){if((this.complete||this.complete===undefined)&&all)
{var src=this.src;this.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";this.src=src;}});}
function autoadjust(i,speed)
{if(option[19])autoheightwidth(i,speed,y);if(option[39])autoheightwidth(i,speed,z);}
function autoheightwidth(i,speed,axis)
{obj.ready(function(){adjustHeightWidth(i,speed,axis);runOnImagesLoaded(li.eq(i),z,function(){adjustHeightWidth(i,speed,axis);});});};function adjustHeightWidth(i,speed,axis)
{var i=getRealPos(i);b=0;for(ii=0;ii<option[40];ii++){var target=li.eq(i+ii);b+=target[axis?"height":"width"]();}
obj.animate(axis?{height:b}:{width:b},{queue:z,duration:speed,easing:option[8]});}
function adjustPosition()
{ul.css(option[6]?"margin-top":"margin-left",getSlidePos(t));};function getSlidePos(slide)
{return-liConti.eq(slide+(continuousClones?option[40]:0)).position()[option[6]?'top':'left'];};function adjust()
{t=getRealPos(t);if(!option[24])setCurrent(t);adjustPosition();clickable=y;if(option[17]&&buttonclicked)window.location.hash=option[15][t];if(!fading&&beforeAniFuncFired)
{AniCall(t,y);}};function AniCall(i,after)
{(after?afterAniCall:beforeAniCall)(li.eq(i),getRealPos(i)+1);if(continuousClones)
{if(i<option[40])(after?afterAniCall:beforeAniCall)(liConti.eq((i<0)?i+option[40]:i-option[40]),i+1);if(i>ts-option[40]||i==-option[40])(after?afterAniCall:beforeAniCall)(liConti.eq((i==-option[40])?-1:option[40]+i-ts-1),i+1);}}
function afterAniCall(el,a)
{if(isFunc(option[30]))option[30].call(el,a);}
function beforeAniCall(el,a)
{if(isFunc(option[29]))option[29].call(el,a);}
function filterDir(dir,ot)
{return dir=='next'?(ot>=ts)?(option[11]?t+1+option[42]:(t==0)?1+option[42]:0):t+1+option[42]:dir=='prev'?(t<=0)?(option[11]?t-1-option[42]:(t==ts)?ts-1-option[42]:ts):t-1-option[42]:dir=='first'?0:dir=='last'?ts:parseInt10(dir);};function ajaxLoad(i,adjust,speed,ajaxCallBack)
{if(asyncTimedLoad)clearTimeout(asyncTimedLoad);var target=option[25][i],targetslide=li.eq(i),ajaxInit=speed===y,speed=(speed===y)?0:speed,ajaxspeed=(fading)?(!option[22]?parseInt10(option[23]*(2/5)):option[23]):speed,tt=i+1,textloaded=z;$.ajax({url:target,success:function(data,textStatus,jqXHR){var type=jqXHR.getResponseHeader('Content-Type').substr(0,5);if(type!='image')
{textloaded=y;targetslide.html(data);ajaxAdjust(i,speed,ajaxCallBack,adjust,ajaxInit,z);}},complete:function(jqXHR){if(!textloaded)
{image=new Image();targetslide.html('').append(image);image.src=target;ajaxAdjust(i,speed,ajaxCallBack,adjust,ajaxInit,y);}}});option[25][i]=z;options.ajax[i]=z;};function ajaxAdjust(i,speed,ajaxCallBack,adjust,ajaxInit,img){var target=li.eq(i);if(continuousClones)
{if(i<option[40])liConti.eq((i<0)?i+option[40]:i-option[40]).replaceWith($(target).clone());if(i>ts-option[40])liConti.eq(option[40]+i-ts-1).replaceWith($(target).clone());liConti=ul.children("li");if(ajaxInit===y)adjustPosition();}
if(adjust)autoadjust(i,speed);runOnImagesLoaded(target,y,function(){if(ajaxInit===y)adjustPosition();if(isFunc(ajaxCallBack))ajaxCallBack();startAsyncDelayedLoad();});if(isFunc(option[28])){option[28].call(target,parseInt10(i)+1,img);}
if(ajaxCallBack==2)
{AniCall(i,z);if(!beforeAniFuncFired)
{AniCall(i,y);beforeAniFuncFired=y;}}};function fadeto(i,clicked,ajaxcallback)
{if(filterDir(i,ot)!=t&&!destroyed&&clickable)
{ajaxloading=z;if(option[24])setCurrent(filterDir(i,ot));var speed=(!clicked&&!option[9]&&option[17])?option[23]*(option[18]/option[7]):option[23],ll=getRealPos(filterDir(i,ot));if(option[2])fadeControls(ll,option[1]);if(ajaxcallback)
{speed=oldSpeed;if(dontCountinueFade)dontCountinueFade--;}
else if(option[25])
{dontCountinueFade=0;oldSpeed=speed;for(a=ll;a<ll+orgSlideCount;a++)
{if(option[25][a])
{ajaxLoad(getRealPos(a),z,speed,function(){fadeto(i,clicked,y);});dontCountinueFade++;}}}
else
{dontCountinueFade=z;}
if(!dontCountinueFade)
{clickable=!clicked;autoadjust(ll,option[23]);AniCall(ll,z);if(option[22])
{var firstRun=y,push=0;for(a=ll;a<ll+orgSlideCount;a++)
{li.eq(getRealPos(a)).clone().prependTo(obj).css({'z-index':'100000','position':'absolute','list-style':'none','top':option[6]?push:0,'left':option[6]?0:push}).hide().fadeIn(option[23],function(){if(fontsmoothing)this.style.removeAttribute("filter");clickable=y;fading=y;if(firstRun)
{animate(ll,z,z,z);if(option[17]&&clicked)window.location.hash=option[15][t];AniCall(ll,y);firstRun=z;}
$(this).remove();fading=z;});push+=li.eq(a)[option[6]?'outerHeight':'outerWidth'](y);}}
else
{var fadeinspeed=parseInt10((speed)*(3/5)),fadeoutspeed=speed-fadeinspeed,noncrossfadetargets=li.children();noncrossfadetargets.stop().fadeTo(fadeoutspeed,0.0001,function(){clickable=y;fading=y;animate(ll,z,z,z);clickable=!clicked;noncrossfadetargets.add(li).stop().fadeTo(fadeinspeed,1,function(){if(fontsmoothing)this.style.removeAttribute("filter");if(option[17]&&clicked)window.location.hash=option[15][t];clickable=y;fading=z;AniCall(ll,y);});});}}}};function animate(dir,clicked,time,ajaxcallback)
{if((clickable&&!destroyed&&(filterDir(dir,ot)!=t||init))||ajaxcallback)
{if(!ajaxcallback)ajaxloading=z;clickable=(!clicked&&!option[9])?y:option[16];buttonclicked=clicked;ot=t;t=filterDir(dir,ot);if(option[24])setCurrent(t);var diff=Math.sqrt(Math.abs(ot-t)),speed=(!time)?0:((!clicked&&!option[9])?parseInt10(diff*option[18]):parseInt10(diff*option[7])),i=getRealPos(t);if(ajaxcallback)
{speed=oldSpeed;if(dontCountinue)dontCountinue--;}
else if(option[25])
{if(option[25][i])
{ajaxLoad(i,y,init||speed,2);ajaxloading=y;}
if(!fading)
{var aa=(ot>t)?t:ot,ab=(ot>t)?ot:t;dontCountinue=0;oldSpeed=speed;for(a=aa;a<=ab;a++)
{if(a<=ts&&a>=0&&option[25][a])
{ajaxLoad(a,z,speed,function(){animate(dir,clicked,time,y);});dontCountinue++;}}}
for(a=i+1;a<=i+orgSlideCount;a++)
{if(option[25][a])ajaxLoad(a,z,0,z);}}
if(!dontCountinue)
{if(!fading&&!ajaxloading)
{AniCall(i,z);beforeAniFuncFired=y;}
if(!fading)autoadjust(t,speed);b=getSlidePos(t);ul.animate(option[6]?{marginTop:b}:{marginLeft:b},{queue:z,duration:speed,easing:option[8],complete:adjust});if(option[2])
{var fadetime=option[1];if(!clicked&&!option[9])fadetime=(option[18]/option[7])*option[1];if(!time)fadetime=0;if(fading)fadetime=parseInt10((option[23])*(3/5));fadeControls(t,fadetime);}
if(init&&option[25])if(!option[25][i])startAsyncDelayedLoad();init=z;};}};function getRealPos(a)
{return a<0?a+s:a>ts?a-s:a;}
function isFunc(func)
{return $.isFunction(func);}
function parseInt10(num)
{return parseInt(num,10);}
baseSlider.getOption=function(a){return options[a];}
baseSlider.setOption=function(a,val){if(val)
{baseSlider.destroy();options[a]=val;baseSlider.init();}
return baseSlider;}
baseSlider.insertSlide=function(html,pos,numtext){if(html)
{baseSlider.destroy();if(pos>s)pos=s;var html='<li>'+html+'</li>';if(!pos||pos==0)ul.prepend(html);else li.eq(pos-1).after(html);if(pos<=destroyT||(!pos||pos==0))destroyT++;if(option[15].length<pos){option[15].length=pos;}
option[15].splice(pos,0,numtext||parseInt10(pos)+1);baseSlider.init();}
return baseSlider;}
baseSlider.removeSlide=function(pos){pos--;baseSlider.destroy();li.eq(pos).remove();option[15].splice(pos,1);if(pos<destroyT)destroyT--;baseSlider.init();return baseSlider;}
baseSlider.goToSlide=function(a){goToSlide((a==parseInt10(a))?a-1:a,y);return baseSlider;}
baseSlider.block=function(){clickable=z;return baseSlider;}
baseSlider.unblock=function(){clickable=y;return baseSlider;}
baseSlider.startAuto=function(){option[9]=y;timeout=startAuto(option[10]);return baseSlider;}
baseSlider.stopAuto=function(){option[9]=z;stopAuto();return baseSlider;}
baseSlider.destroy=function(){destroyT=t;if(controls)controls.remove();destroyed=y;$(option[20]).die("click");if(continuousClones)for(a=1;a<=option[40];a++)liConti.eq(a-1).add(liConti.eq(-a)).remove();ul.css(option[6]?"margin-top":"margin-left",getSlidePos(t));return baseSlider;}
baseSlider.init=function(){if(destroyed){initSudoSlider(obj,destroyT);}
return baseSlider;}
baseSlider.adjust=function(speed){if(!speed)speed=0;autoadjust(i,speed)
return baseSlider;}
baseSlider.getValue=function(a){return a=='currentSlide'?t+1:a=='totalSlides'?s:a=='clickable'?clickable:a=='destroyed'?destroyed:a=='autoAnimation'?autoOn:undefined;}});};})(jQuery);
