(function(c){var CalculateBarHeight=function(c,u){if(typeof(u)=="string"){c=(eval(u.substr(0,u.length-1))/100)*c}else{c=u}return c};var a=function(){var d=[];this.add=function(e){d[d.length]=e};this.join=function(e){return d.join(e)}};var b=function(k){var v=this;var j={bar:0,track:0,inner:0,limit:0,outer:0};var m=c("html");var u=c(document);var e={before:0,now:0};var s={top:0,bottom:0};var n={delay:0,direction:-1};var o={arrow:5,scroll:10,track:10,select:5};var h={timeout:0,visible:false,overBar:false};var i={overBar:false,pageY:0};var d=function(){k.$bar.bind("mousedown",function(z){z.stopPropagation();k.$bar.addClass("venscrollbar-bar-active");var p=0;var y=m.css("cursor");m.css({cursor:k.$bar.css("cursor")});e.before=0;u.bind("mousemove.venscrollbar-bar",function(A){e.now=A.pageY-k.$bar.offsetParent().offset().top;if(e.before==0){e.before=e.now}var B=A.pageY-p;p=A.pageY;g(B)}).bind("mouseup.venscrollbar-bar",function(){k.$bar.removeClass("venscrollbar-bar-active");m.css({cursor:y});u.unbind("mousemove.venscrollbar-bar").unbind("mouseup.venscrollbar-bar")})});f(k.$bar[0]);k.$inner.bind("mousedown",function(){var p=0;var y=0;u.bind("mousemove.venscrollbar-select",function(z){if(z.pageY>s.bottom){if(z.pageY<s.bottom+10){o.select=1}else{if(z.pageY<s.bottom+20){o.select=2}else{if(z.pageY<s.bottom+30){o.select=3}else{if(z.pageY<s.bottom+50){o.select=5}else{o.select=7}}}}if(y!=2){clearInterval(p);y=2;p=setInterval(function(){x(o.select,true)},30)}}else{if(z.pageY<s.top){if(z.pageY>s.top-10){o.select=1}else{if(z.pageY>s.top-20){o.select=2}else{if(z.pageY>s.top-30){o.select=3}else{if(z.pageY>s.top-50){o.select=5}else{o.select=7}}}}if(y!=1){clearInterval(p);y=1;p=setInterval(function(){x(-o.select,true)},30)}}else{clearInterval(p);y=-1}}}).bind("mouseup.venscrollbar-select",function(){clearInterval(p);y=-1;u.unbind("mousemove.venscrollbar-select").unbind("mouseup.venscrollbar-select")})});k.$track.offsetTop=k.$track.offset().top;k.$track.bind("mousedown",function(y){var p=c(this);p.addClass("venscrollbar-track-active");u.bind("mouseup.venscrollbar-track",function(){p.removeClass("venscrollbar-track-active");u.unbind("mouseup.venscrollbar-track")});if(y.pageY-k.$track.offsetTop<k.$bar.top){i.pageY=y.pageY;i.overBar=false;t(-15)}else{if(y.pageY-k.$track.offsetTop>k.$bar.top+j.bar){i.pageY=y.pageY;i.overBar=false;t(15)}}});f(k.$track[0]);if(k.options.autoHide){k.$scrollArea.css({opacity:"0"}).bind("mouseenter",function(){h.overBar=true;clearTimeout(h.timeout)}).bind("mouseleave",function(){h.overBar=false});k.$outer.bind("mousemove",function(){if(h.overBar){return true}clearTimeout(h.timeout);h.timeout=setTimeout(function(){k.$scrollArea.animate({opacity:0},500,function(){h.visible=false})},3500);if(!h.visible){h.visible=true;k.$scrollArea.animate({opacity:1},500)}})}r();q()};var l=function(z,p){k.$bar.top+=z;var y=(j.inner/j.track)*k.$bar.top;if(p){if(n.direction==-1){if(z>0){n.direction=1}else{if(z<0){n.direction=0}}}else{if((n.direction==0&&z>0)||(n.direction==1&&z<0)){k.$bar.top-=z;return false}}k.$bar.css({top:k.$bar.top+"px"});clearTimeout(n.delay);n.delay=setTimeout(function(){n.direction=-1;k.$inner.stop().animate({top:-y},160)},25)}else{k.$bar.css({top:k.$bar.top+"px"});k.$inner.css({top:-y})}};var g=function(p){if(p==0){return false}if(k.$bar.top+p<0||k.$bar.top+p+j.bar>j.track){return false}if(p<0&&e.now>=e.before||p>0&&e.now<=e.before){return false}e.before+=p;l(p,false)};var x=function(y,p){if((k.$bar.top==0&&y<0)||(k.$bar.top+j.bar==j.track&&y>0)){return false}if(k.$bar.top+y<0){y=-k.$bar.top}else{if(k.$bar.top+y+j.bar>j.track){y=j.track-j.bar-k.$bar.top}}if(k.options.smoothScroll&&!p){l(y,true)}else{l(y,false)}};var w=function(p){x(p,false);var y=0;var z=setTimeout(function(){y=setInterval(function(){x(p,true)},30)},410);u.bind("mouseup.venscrollbar-arrow",function(){u.unbind("mouseup.venscrollbar-arrow");clearTimeout(z);clearInterval(y)})};var t=function(p){x(p,false);u.bind("mousemove.venscrollbar-track-scroll",function(A){i.pageY=A.pageY;if(i.pageY-k.$track.offsetTop>k.$track.top&&i.pageY-k.$track.offsetTop<k.$track.top+j.track){i.overBar=true}});var y=0;var z=setTimeout(function(){y=setInterval(function(){if(i.overBar){clearInterval(y);u.unbind("mousemove.venscrollbar-track-scroll");return false}x(p,true);if(i.pageY-k.$track.offsetTop>k.$bar.top&&i.pageY-k.$track.offsetTop<k.$bar.top+j.bar){i.overBar=true}},30)},410);u.bind("mouseup.venscrollbar-track-scroll",function(){u.unbind("mouseup.venscrollbar-track-scroll");clearTimeout(z);clearInterval(y);u.unbind("mousemove.venscrollbar-track-scroll")})};var r=function(){var B=function(){j.inner=k.$inner.height();j.outer=k.$outer.height();j.limit=CalculateBarHeight(j.outer,k.options.barHeight);j.track=j.limit-k.options.tArrowHeight-k.options.bArrowHeight};B();var p=function(){var C=(j.track*j.outer)/j.inner;k.$bar.css({height:C+"px"});j.bar=k.$bar.height();C=C-k.options.tBarHeight-k.options.bBarHeight;k.$barMiddle.css({height:C+"px"});return C};p();var y=(k.$outer.height()-j.limit)/2;c("div.venscrollbar-scrollarea",k.$outer).css({top:y+"px"});k.$bar.top=k.$bar.position().top;s.top=k.$outer.offset().top+y;s.bottom=s.top+y+j.limit;if(j.bar>=j.limit){k.$bar.css({display:"none"});k.$window.css({width:k.$outer.width()+"px"});if(k.$up!=undefined){k.$up.css({display:"none"})}if(k.$down!=undefined){k.$down.css({display:"none"})}}else{k.$bar.css({display:"block"});if(k.options.push){k.$window.css({width:(k.$outer.width()-k.$bar.width())+"px"})}else{k.$window.css({width:k.$outer.width()+"px"})}if(k.$up!=undefined){k.$up.css({display:"block"})}if(k.$down!=undefined){k.$down.css({display:"block"})}B();var A=p();var z=0;if(k.options.decorationHeight>k.$barMiddle.height()){z=(A-k.$barMiddle.height())/2;k.$barDecor.css({top:z+"px",height:k.$barMiddle.height()+"px"})}else{z=(A-k.options.decorationHeight)/2;k.$barDecor.css({top:z+"px",height:k.options.decorationHeight+"px"})}}};var f=function(p){if(typeof(p.onselectstart)!="undefined"){p.onselectstart=function(){return false}}else{if(typeof(p.style.MozUserSelect)!="undefined"){p.style.MozUserSelect="none"}else{p.onmousedown=function(){return false}}}};var q=function(){var p=function(y){y=y||window.event;var z=0;if(y.wheelDelta){z=y.wheelDelta/120}if(y.detail){z=-y.detail/3}x(-z*o.scroll,false)};if(k.$outer[0].addEventListener){k.$outer[0].addEventListener("mousewheel",p,false);k.$outer[0].addEventListener("DOMMouseScroll",p,false)}else{k.$outer[0].onmousewheel=p}};this.linkArrows=function(y,p){k.$up=y;k.$down=p;y.bind("mousedown",function(){w(-o.arrow)});f(y[0]);p.bind("mousedown",function(){w(o.arrow)});f(p[0])};this.updateProperties=function(){k.$inner=c("div.venscrollbar-inner",k.$outer);r();k.$inner.css({top:0});k.$bar.css({top:0})};d()};c.fn.VenScrollBar=function(d){var e={push:true,withArrows:true,smoothScroll:false,autoHide:false,arrowsOnly:false,barWidth:0,barHeight:"100%",tArrowHeight:0,bArrowHeight:0,tTrackHeight:0,bTrackHeight:0,tBarHeight:0,bBarHeight:0,decorationHeight:0,arrowsBelow:false};e=c.extend(e,c.fn.VenScrollBar.GlobalDefaults);d=c.extend(e,d);if(!d.withArrows){d.tArrowHeight=0;d.bArrowHeight=0}return this.each(function(){var i=c(this);var g=CalculateBarHeight(i.height(),d.barHeight);i.TrackHeight=g-d.tArrowHeight-d.bArrowHeight;i.css({overflow:"visible"});if(i.css("position")!="absolute"||i.css("position")!="relative"){i.css({position:"relative"})}i.HTML=i.html();i.empty();var f=new a();f.add("<div class='venscrollbar-window' style='overflow:hidden;position:absolute;width:");f.add(i.width()-d.barWidth);f.add("px;height:100%;'><div class='venscrollbar-inner' style='position:absolute;width:100%;'></div></div>");i.append(f.join(""));i.Inner=c("div.venscrollbar-inner",this);i.Inner.append(i.HTML);var h=new a();h.add("<div class='venscrollbar-scrollarea' style='position:absolute;width:");h.add(d.barWidth);h.add("px;height:");h.add((typeof(d.barHeight)=="number")?d.barHeight+"px":d.barHeight);h.add(";'>");if(d.withArrows){h.add("<div class='venscrollbar-arrowup' style='position:absolute;");if(d.arrowsBelow){h.add("bottom:");h.add(d.tArrowHeight);h.add("px;height:")}else{h.add("top:0;height:")}h.add(d.tArrowHeight);h.add("px;'></div>")}h.add("<div class='venscrollbar-track' style='position:absolute;");if(d.arrowsOnly){h.add("visibility:hidden;")}h.add("height:");h.add(i.TrackHeight);h.add("px;top:");h.add((d.arrowsBelow)?0:d.tArrowHeight);h.add("px;'>");h.add("<div class='venscrollbar-track-top' style='position:absolute;top:0;height:");h.add(d.tTrackHeight);h.add("px;'></div>");h.add("<div class='venscrollbar-track-middle' style='position:absolute;height:");h.add(i.TrackHeight-d.tTrackHeight-d.bTrackHeight);h.add("px;top:");h.add(d.tTrackHeight);h.add("px;'></div>");h.add("<div class='venscrollbar-track-bottom' style='position:absolute;bottom:0;height:");h.add(d.bTrackHeight);h.add("px;'></div>");h.add("<div class='venscrollbar-bar' style='position:absolute;top:0;'>");h.add("<div class='venscrollbar-bar-top' style='position:absolute;top:0;height:");h.add(d.tBarHeight);h.add("px;'></div>");h.add("<div class='venscrollbar-bar-middle' style='position:absolute;top:");h.add(d.tBarHeight);h.add("px;'>");h.add("<div class='venscrollbar-bar-decoration' style='position:absolute;height:");h.add(d.decorationHeight);h.add("px;'></div>");h.add("</div>");h.add("<div class='venscrollbar-bar-bottom' style='position:absolute;bottom:0;height:");h.add(d.bBarHeight);h.add("px;'></div>");h.add("</div>");h.add("</div>");if(d.withArrows){h.add("<div class='venscrollbar-arrowdown' style='position:absolute;bottom:0;height:");h.add(d.bArrowHeight);h.add("px;'></div>")}h.add("</div>");i.append(h.join(""));i.Inner.Height=i.Inner.height();i.Bar=c("div.venscrollbar-bar",this);i.Bar.Middle=c("div.venscrollbar-bar-middle",i.Bar);i.Bar.Decoration=c("div.venscrollbar-bar-decoration",i.Bar.Middle);i.Bar.ScrollBar=new b({$bar:i.Bar,$inner:i.Inner,$window:c("div.venscrollbar-window",i),$outer:i,$barMiddle:i.Bar.Middle,$barDecor:i.Bar.Decoration,$track:c("div.venscrollbar-track",i),$scrollArea:c("div.venscrollbar-scrollarea",i),options:d});if(d.withArrows){i.Bar.ScrollBar.linkArrows(c("div.venscrollbar-scrollarea > div.venscrollbar-arrowup",i),c("div.venscrollbar-scrollarea > div.venscrollbar-arrowdown",i))}i.data("venscrollbar-data",i.Bar.ScrollBar)})};c.fn.VenScrollBar.GlobalDefaults={};c.fn.VenScrollBar.Refresh=function(d){var e=c(d);if(e.length==0){return false}e.each(function(){var f=c(this).data("venscrollbar-data");if(!f){return false}f.updateProperties()})}})(jQuery);
