/*
 * Graph driver
 * (c) DataMarket [datamarket.com]
 *
 * Build date: Tue Feb 14 14:04:52 GMT 2012
 * Version: 1.0
 *
 */(function(a){function d(){var a=document.getElementsByTagName("script"),b=[];for(var d,e,f,g,h=a.length;--h>=0;)g=a[h],d=g.src,/^(\/|\.)/.test(d)&&(d=g.getAttribute("src",-1)),e=/https?:\/\/.*?\/([a-z]{3,}).js(?:\?|$)/.exec(d),e&&e[1]in c.graph&&(/[&?]ds=[^&?]/.test(d)||g.getAttribute("data-ds"))&&(c.base_url||(c.base_url=d.replace(/\/\w+\.js(\?.*)?$/,"")),g.getAttribute("data-debug")!=null&&(c.debug=!0),b.push([g,e[1]]));return b}function e(){var a=d();for(var b=0,e=a.length;b<e;b++)c.process_embed(a[b][0],a[b][1])}var b=function(){},c=a.DM=a.DM||new b;c.graph=c.graph||new b,c.loaded=!!c.process_embed,c.loading="loading"in c?c.loading:!1;if(c.loaded)e();else if(!c||!c.loading){c.loaded=!1,c.loading=!0;var f=document.getElementsByTagName("head")[0]||document.documentElement,g=document.createElement("script");g.onload=g.onreadystatechange=function(a){!c.loaded&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")&&(c.loaded=!(c.loading=!1),e(),g.onload=g.onreadystatechange=null,f&&f.removeChild(g),g=null)},setTimeout(function(a){d().length&&(g.src=c.base_url+"/handler.js"+(c.debug?"?"+new Date*1:""),f&&f.appendChild(g))},1)}})(this),function(a){DM.graph.line=function(a,b){var c=DM.pv,d=DM._,e="y2"in a.params&&!!a.params.y2,f=b.lang,g=7,h=6,i=30,j=e?30:0,k=10,l=DM.size(b),m=l.w<=200,n={},o=DM.filter_ys(a,a.params.mindate,a.params.maxdate),p=DM.get_x_axis(a,f,o).nice(l.w<350?5:7),q=!m&&!a.nontime&&(a.params.dual_x||p.display_granularity().name!=="year"),r=b.colors||DM.colors();a.params.nolegend||DM.make_legend(a,b,r),!m&&!a.nontime&&!q&&DM.render_selection(a,b,p.selection_range());var s=c.Scale.linear(o[0]||0,o[o.length-1]||1).range(0,l.w-i-j-4);l=DM.size(b),m=l.w<=200,e&&a.params.y2.split(/[,\/]+/).forEach(function(a){n[a]=!0});var t=new DM.Axis(f),u=new DM.Axis(f),v=!o.length,w=1.6,x=0,y=DM.map(a.series,function(b,c){var d,e=b.facts.length;if(e>2){var f=s(b.facts[0].x),g=s(b.facts[e-1].x);d=Math.abs(Math.round((g-f)*(bc?1:1.5)));var h=Math.abs(g-f)/e;w>h&&(w=h>1.2?DM.round(h,2):1.2)}else d=e;var i=a.nontime?b:DM.downsample(b,d,o[0]||Infinity,o[o.length-1]||-Infinity);return x+=i.facts.length,i.set in n?isFinite(i.peak)&&isFinite(i.base)&&u.add_extremities(i.peak,i.base):isFinite(i.peak)&&isFinite(i.base)&&t.add_extremities(i.peak,i.base),i});x||(v=!0),t.nice(g),e&&(u.nice(g),t.dest_ticks>u.dest_ticks?u.sync_to(t):t.dest_ticks<u.dest_ticks&&t.sync_to(u));var z="",A="";a.params.force_percent?(z="%",A="%"):a.series.forEach(function(b){var c=b.set in n;c&&!A?A=a.sets[b.set].meta.units:!c&&!z&&(z=a.sets[b.set].meta.units)}),t.set_unit(z),u.set_unit(A);var B=Math.abs(o[o.length-1]-o[0])/864e5,C=DM.granularities.day.long_format;B>1825?C=DM.granularities.year.long_format:B>60&&(C=DM.granularities.month.long_format);if(a.nontime)var D=s(o[1])-s(o[0]),E=isFinite(D)?Math.floor(D):30;else{var F=1,G=new Date(o[0]*1),H=p.data_granularity();G["set"+H.stepper](G["get"+H.stepper]()+H.stepnum*F);var E=isFinite(s(G))?Math.floor(s(G)):30}var I=(new c.Panel).canvas(b.canvas).width(l.w-i-j).height(Math.max(l.h,1)-(q?10:0)).bottom(l.margin.bottom+(q?10:0)).left(l.margin.left+j).right(l.margin.right+i).top(l.margin.top).strokeStyle("#ccc").fillStyle("#fff").event("mousemove",c.Behavior.point(Math.max(30,E))),J=l.w<250;!a.params.nowmark&&I.add(c.Watermark).small(J).bottom(J?5:10).right(J?5:10);var K=t.range(1,Math.max(l.h,1)),L=t.ticks();if(!e)if(l.h<=100&&L.length>3){var M=l.h/3,N=!1,O=K(0),P=L[L.length-1],Q=L[0],R=P+(Q-P)/2,S=O-K(P);S<M&&S>0&&(P=0,R=Q/2,N=!0);var T=K(Q)-O;!N&&T<M&&T>0&&(Q=0,R=P+(0-P)/2,N=!0),!N&&Math.abs(K(R)-O)<M&&(R=0),L=[P,R,Q]}else if(l.h<=160&&L.length>6){var U=[],V=[],W=null;for(var X,Y=0,Z=L.length;Y<Z;Y++)X=Y%2?U:V,X.push(L[Y]),L[Y]==0&&(W=X);L=W===null?V.length>U.length?V:U:W}I.add(c.Rule).data(L).bottom(K).strokeStyle(function(a){return K(a)<=1?"none":a===0?"#d0d0d0":"#eee"}).anchor("right").add(c.Label).bottom(K).text(t.get_formatter());if(e){var $=u.range(1,Math.max(l.h,1));I.add(c.Rule).data(u.ticks()).bottom($).strokeStyle(function(a){return K(a)<=1?"none":a==0?"#d0d0d0":"#eee"}).anchor("left").add(c.Label).bottom($).text(u.get_formatter())}m?(s=DM.pv_add_tiny_time_axis(I,p,l.w-i-j-4,q),w=1.2):s=DM.pv_add_time_axis(I,p,l.w-i-j-4,q),!a.nontime&&a.params.nowline!==!1&&DM.pv_add_prediction_area(I,p,l.w-i-j,f);var _=DM.get_labels(a),ba=-1,bb=null,bc=!c.have_SVG&&c.have_VML;if(v)DM.draw_error(I,[d("The current selection does"),d("not contain any data.")],(l.w-i)/2,Math.max(l.h,1)/2);else{var bd=I.add(c.Panel);DM.each(y,function(d,e){var g="time_granularity"in d.y?DM.granularities[d.y.time_granularity].long_format:C,h=bd.add(c.Panel),i=E>15&&y.length<9,j=d.set in n?u:t,k=d.set in n?$:K,l=DM._("nr",f),m=d.facts.length===1,o=bc?function(){return ba===e?"black":r[e%r.length]}:function(){if(ba===-1||ba===e)return r[e%r.length];var a=r[e%r.length];return new c.Color.Rgb(a.r,a.g,a.b,.25)},p=h.add(c.Line).data(d.facts).strokeStyle(o).left(function(a){return s(a.x)+2}).bottom(function(a){return k(a.y)}).lineWidth(w).event("point",function(c){bb=c,ba=e;var i=DM.format_number(DM.round(c.y,Math.max(d.round_factor,2)),l[0],l[1]),k=j.label_prefix+i+j.label_postfix,m=a.nontime?c.x:DM.dateutil.format(c.x,g,f);return b.tooltip.color(r[e%r.length].color).text(_[e],m+": "+k),b.tooltip.on=!0,b.tooltip.show(h),bc?h:bd}).event("unpoint",function(a){return bb=null,ba=-1,b.tooltip.on=!1,b.tooltip.hide(h),bc?h:bd});p.add(c.Dot).radius(m?3:2.5).shape("circle").lineWidth(1.5).fillStyle(o).strokeStyle(function(a){return ba===e&&bb&&bb.x*1==a.x*1?o():"white"}).visible(function(a){return m||i||ba===e&&bb&&bb.x*1==a.x*1})});if(a.notes)var be=DM.map(a.notes,function(a){return a.time!=null?a:null}),bf=null,bg=I.add(c.Panel).event("click",function(a){bf&&bf.url&&window.open(bf.url)}),bh=bg.add(c.Rule).data(be).left(function(a){return s(a.time)+2}).bottom(function(a){return a.scope==="fact"?a.set in n?$(a.fact):K(a.fact):0}).top(12).strokeStyle(function(a){return bf===a?"black":"#bbb"}).lineWidth(1).visible(function(a){var b=s(a.time);return b>0&&b<l.w-i-j}).anchor("top").add(c.Dot).radius(7).lineWidth(1).shape("circle").fillStyle("#fff").strokeStyle(function(a){return bf===a?"black":"#bbb"}).event("point",function(a){bf=a;var c=a.scope==="event"?DM.granularities.day.long_format:C;return b.tooltip.color("#000").pointer(!!a.url).text(DM.dateutil.format(a.time,c,f),a.text),b.tooltip.on=!0,b.tooltip.show(bg)}).event("unpoint",function(a){return bf=null,b.tooltip.pointer(!1).on=!1,b.tooltip.hide(bg)}).anchor("center").add(c.Label).font("8px sans-serif").text(function(a){return a.nr})}I.render(),b.tooltip=new DM.Tooltip(Math.max(100,Math.min(l.width/3,200)),l.w-i-j),b.tooltip.attach_to(b);if(b.height){var bi=b.canvas.style;bi.display="block",bi.height=l.height+"px"}}}(this)
