(function(a){a.fn.extend({cScroll:function(b){if(b===undefined)b={};var c=this;c.each(function(){var c=a(this),d=c.data("cScroll"),e={step:"80px",duration:150,sleep:150,easing:"swing",pasta:"<div></div>",trackCl:"_track",upButtonCl:"_up-butt",downButtonCl:"_down-butt",shuttleCl:"_shuttle",paddingTop:0,paddingBottom:0,preFu:function(){if(e.me.css("position")=="static")e.me.css({position:"relative",zIndex:1});if(e.me.css("zIndex")=="auto")e.me.css({zIndex:1});e.me.css({overflow:"hidden"});e.hH=e.me.height();e.hW=e.me.width();e.val=0;e.step=parseInt(e.step);e.track=a(e.pasta);e.track.addClass(e.trackCl).appendTo(e.me.parent());e.altTop=e.track.css("top")=="auto"?false:true;e.altLeft=e.track.css("left")=="auto"?false:true;e.altHeight=(e.height=parseInt(e.track.css("height")))==0?false:true;e.paddingTop=parseInt(e.track.css("paddingTop"));e.paddingBottom=parseInt(e.track.css("paddingBottom"));e.track.css({position:"absolute",zIndex:2,padding:0});e.width=e.track.width();if(!e.altLeft)e.track.css({left:e.me.prop("offsetLeft")+e.me.outerWidth()-e.width});if(!e.altTop)e.track.css({top:e.me.prop("offsetTop")});e.track.slider({min:1,max:100,value:100,orientation:"vertical",slide:function(a,b){e.shuttle.css({top:100-b.value+"%"});e.me.prop({scrollTop:(100-b.value)*e.delta/100})},change:function(a,b){e.val=(100-b.value)*e.delta/99}});e.shuttle=a(e.pasta);e.shuttle.appendTo(e.track).addClass(e.shuttleCl).css({marginTop:-e.shuttle.height()/2+1,cursor:"pointer",position:"absolute"});if(!e.shuttle.height())e.shuttle.height(e.width);e.sH=e.shuttle.height();e.track.css({top:parseInt(e.track.css("top"))+e.sH/2+e.paddingTop,bottom:parseInt(e.track.css("bottom"))+e.sH/2+e.paddingBottom,height:!e.altHeight?e.hH-e.sH:e.track.height()-e.sH-e.paddingBottom-e.paddingTop,width:e.track.width()});e.trackBG=a(e.pasta).appendTo(e.me.parent()).css({width:e.width,height:e.height,position:"absolute",left:e.track.css("left"),top:parseInt(e.track.css("top"))-e.sH/2+1-e.paddingTop,backgroundColor:e.track.css("backgroundColor"),backgroundImage:e.track.css("backgroundImage"),backgroundPosition:e.track.css("backgroundPosition"),backgroundRepeat:e.track.css("backgroundRepeat")});e.track.css("background","none");e.delta=e.me.prop("scrollHeight")-e.hH;e.upBu=a(e.pasta).appendTo(e.trackBG).addClass(e.upButtonCl).css({position:"absolute",width:e.width,height:e.width,left:0,top:0,cursor:"pointer",zIndex:3}).click(function(){e.upFu()});e.downBu=a(e.pasta).appendTo(e.trackBG).addClass(e.downButtonCl).css({position:"absolute",width:e.width,height:e.width,left:0,bottom:0,cursor:"pointer",zIndex:3}).click(function(){e.downFu()})},scrollFu:function(a){if(!e.b)return false;e.b=false;e.val+=a;e.val=e.val<0?0:e.val;e.val=e.val<=e.delta?e.val:e.delta;e.me.stop().animate({scrollTop:e.val},{duration:e.duration,easing:e.easing,step:function(a){var b=100-a/e.delta*100;e.track.slider({value:b});e.shuttle.css({top:100-b+"%"})},complete:function(){e.val=e.me.prop("scrollTop")}});setTimeout(function(){e.b=true},e.sleep)},downFu:function(){e.scrollFu(e.step)},upFu:function(){e.scrollFu(-e.step)},wheelFu:function(){e.b=true;e.me.add(e.track).bind("mousewheel",function(a,b){if(b<0)e.downFu();else e.upFu();return false})},init:function(){e.me=this;e.preFu();if(a.fn.mousewheel)e.wheelFu()}};if(!d)(typeof b=="object"?a.extend(e,b):e).init.call(c),c.data({cScroll:e}),d=e;else e=typeof b=="object"?a.extend(d,b):d});return c}})})(jQuery)
