(function(a){function b(s,f,u,c){var q={uri:"Ants/ScrollData",width:800,scrollLeft:0,scrollRight:0,graphOptions:{series:{stack:1,color:"rgba(192, 40, 0, 1.0)",lines:{fill:true,lineWidth:1,fillColor:"rgba(192, 80, 40, 0.8)"}},xaxis:{show:0},yaxis:{show:0},grid:{show:0,borderWidth:0}}};var x=this;function r(G){a.extend(true,q,G)}var j=a("<div />");var l=a("<span />");var n=a("<span />");var v=a("<span />");var m=a("<span />");var w=a("<span />");var y=q.scrollLeft;var A=q.scrollRight;var k=0;var i=0;var D=0;var E=0;var e;x.placeholder=s;x.dataPoints=[];x.scrollPos=[-1,-1];function z(J){var H=J-i;var G=k-i;var K=j.width();if(G<=0){return 0}if(K<=0){return 0}var I=(H/G)*K;return I}function F(H){var G=k-i;var I=j.width();if(G<=0){return i}if(I<=0){return i}var H=((H/I)*G)+i;return H}function t(){if(k<=i){j.css("visibility","hidden");return}else{j.css("visibility","visible")}if(y==undefined){y=0}if(A==undefined){A=0}if(y<i){y=i}if(A>k){A=k}if(A<=y){y=D;A=E}if((A-y)<5000){y=A-5000;if(y<i){y=i;A=i+5000;if(A>k){A=k}}}var G=Math.floor(z(y));var H=Math.floor(z(A));var I=j.width();l.css("width",G+"px");v.css("width",(I-H)+"px");n.css("width",(H-G)+"px");C()}var h=false;function g(){var I=0;var G;var H;m.bind("dragstart",function(J){I=z(y);initalLeft=y});m.bind("drag",function(K,J){G=F(I+J.deltaX);y=G;if(y>A-5000){y=A-5000}t()});w.bind("dragstart",function(J){I=z(A);H=A});w.bind("drag",function(K,J){H=F(I+J.deltaX);A=H;if(A<y+5000){A=y+5000}t()});if(!h){s.bind("dragstart",function(J){I=z(y);G=y;H=A});s.bind("drag",function(L,K){var M=F(I+K.deltaX);var J=M-G;if(G+J<i){J=i-G}if(H+J>k){J=k-H}G=G+J;H=H+J;y=G;A=H;t()});h=true}l.bind("dragstart",function(J){return false});v.bind("dragstart",function(J){return false})}function d(){s.remove(".scroll_handles");a('<div class="scroll_handles" style="width: 100%; height: 100%; position: absolute; left: 0px; top: 0px"></div>').append('<span class="bar leftBar" style="width: 20px; position: relative" />').append('<span class="midBar" style="width: 20px; z-index: 2; position: relative" />').append('<span class="bar rightBar" style="width: 10px; position: relative" />').appendTo(s);j=s.find(".scroll_handles");j.find("span").css({height:"100%",display:"inline-block"});j.find("span.bar").css({background:"rgb(180, 180, 180)",background:"rgba(180, 180, 180, 0.6)",filter:"alpha(opacity=60)","z-index":"1"});l=j.find(".leftBar");v=j.find(".rightBar");n=j.find(".midBar");n.append('<span class="sizeHandle leftHandle" />').append('<span class="sizeHandle rightHandle" />');m=n.find(".leftHandle");w=n.find(".rightHandle");t();g()}function C(){if(x.scrollPos[0]!=y||x.scrollPos[1]!=A){x.scrollPos=[y,A];x.anchor=e;s.trigger("scrollMoved",[x,y,A])}}function B(G){x.dataPoints=G;s.trigger("scrollNewDataPoints",[x,G])}function p(G){s.remove(".loadingMessage");s.remove(".failureMessage");s.removeClass("controlLoading");s.removeClass("controlFailed");i=G.EarliestTime;k=G.LatestTime;D=G.ScrollPosEarly;E=G.ScrollPosLate;e=G.Anchor;a.plot(s,[G.PerformanceData],q.graphOptions);d();B(G.PerformanceData)}function o(H,I,G){s.remove(".loadingMessage");s.remove(".failureMessage");s.removeClass("controlLoading");s.removeClass("controlFailed");B([]);s.append('<div class="failureMessage""></div>');s.addClass("controlFailed");s.find(".failureMessage").text("Failed: "+G)}r(c);a.plot(s,[],q.graphOptions);d();s.addClass("controlLoading");s.append('<div class="loadingMessage">Loading</div>');a.ajax({url:q.uri,type:"POST",dataType:"json",success:p,error:o,data:{timelineId:s.attr("id"),appPoolId:f,processId:u,anchor:e,width:q.width,scrollLeft:y,scrollRight:A}})}a.timeline_scroll_bar=function(e,c,f,d){var g=new b(e,c,f,d);return g}})(jQuery);
