Bluff={VERSION:'0.3.6',array:function©{if(c.length===undefined)return;var d=[],f=c.length;while(f–)d=c;return d},array_new:function(c,d){var f=[];while(c–)f.push(d);return f},each:function(c,d,f){for(var g=0,h=c.length;g<h;g++){d.call(f||null,c,g)}},index:function(c,d){for(var f=0,g=c.length;f<g;f++){if(c===d)return f}return-1},keys:function©{var d=[],f;for(f in c)d.push(f);return d},map:function(d,f,g){var h=[];this.each(d,function©{h.push(f.call(g||null,c))});return h},reverse_each:function(c,d,f){var g=c.length;while(g–)d.call(f||null,c,g)},sum:function©{var d=0,f=c.length;while(f–)d+=c;return d},Mini:{}};Bluff.Base=new JS.Class({extend:{DEBUG:false,DATA_LABEL_INDEX:0,DATA_VALUES_INDEX:1,DATA_COLOR_INDEX:2,LEGEND_MARGIN:20,TITLE_MARGIN:20,LABEL_MARGIN:10,DEFAULT_MARGIN:20,DEFAULT_TARGET_WIDTH:800,THOUSAND_SEPARATOR:','},top_margin:null,bottom_margin:null,right_margin:null,left_margin:null,title_margin:null,legend_margin:null,labels:null,center_labels_over_point:null,has_left_labels:null,x_axis_label:null,y_axis_label:null,y_axis_increment:null,colors:null,title:null,font:null,font_color:null,hide_line_markers:null,hide_legend:null,hide_title:null,hide_line_numbers:null,no_data_message:null,title_font_size:null,legend_font_size:null,marker_font_size:null,marker_color:null,marker_count:null,minimum_value:null,maximum_value:null,sort:null,additional_line_values:null,stacked:null,legend_box_size:null,tooltips:false,initialize:function(c,d){this._0=new Bluff.Renderer©;d=d||this.klass.DEFAULT_TARGET_WIDTH;var f;if(typeof d!=='number'){f=d.split(‘x’);this._j=parseFloat(f);this._y=parseFloat(f)}else{this._j=parseFloat(d);this._y=this._j*0.75}this.initialize_ivars();this._1e();this.theme_keynote()},initialize_ivars:function(){this._d=800;this._L=800*(this._y/this._j);this._5=0;this.marker_count=null;this.maximum_value=this.minimum_value=null;this._a=false;this._2=[];this.labels={};this._q={};this.sort=true;this.title=null;this._b=this._j/this._d;this.marker_font_size=21.0;this.legend_font_size=20.0;this.title_font_size=36.0;this.top_margin=this.bottom_margin=this.left_margin=this.right_margin=this.klass.DEFAULT_MARGIN;this.legend_margin=this.klass.LEGEND_MARGIN;this.title_margin=this.klass.TITLE_MARGIN;this.legend_box_size=20.0;this.no_data_message=“No Data”;this.hide_line_markers=this.hide_legend=this.hide_title=this.hide_line_numbers=false;this.center_labels_over_point=true;this.has_left_labels=false;this.additional_line_values=[];this._1w=;this._k={};this.x_axis_label=this.y_axis_label=null;this.y_axis_increment=null;this.stacked=null;this._9=null},set_margins:function©{this.top_margin=this.left_margin=this.right_margin=this.bottom_margin=c},set_font:function©{this.font=c;this._0.font=this.font},add_color:function©{this.colors.push©},replace_colors:function©{this.colors=c||[];this._m=0},set_theme:function©{this._1e();this._k={colors:,additional_line_colors:[],marker_color:'white',font_color:'black',background_colors:null,background_image:null};for(var d in c)this._k=c;this.colors=this._k.colors;this.marker_color=this._k.marker_color;this.font_color=this._k.font_color||this.marker_color;this._1w=this._k.additional_line_colors;this._X()},theme_keynote:function(){this._Y=‘#6886B4’;this._Z=‘#FDD84E’;this._r=‘#72AE6E’;this._z=‘#D1695E’;this._10=‘#8A6EAF’;this._A=‘#EFAA43’;this._B=‘white’;this.colors=;this.set_theme({colors:this.colors,marker_color:‘white’,font_color:‘white’,background_colors:})},theme_37signals:function(){this._r=‘#339933’;this._10=‘#cc99cc’;this._Y=‘#336699’;this._Z=‘#FFF804’;this._z=‘#ff0000’;this._A=‘#cf5910’;this._C=‘black’;this.colors=;this.set_theme({colors:this.colors,marker_color:‘black’,font_color:‘black’,background_colors:})},theme_rails_keynote:function(){this._r=‘#00ff00’;this._11=‘#333333’;this._A=‘#ff5d00’;this._z=‘#f61100’;this._B=‘white’;this._12=‘#999999’;this._C=‘black’;this.colors=;this.set_theme({colors:this.colors,marker_color:‘white’,font_color:‘white’,background_colors:})},theme_odeo:function(){this._11=‘#202020’;this._B=‘white’;this._1x=‘#a21764’;this._r=‘#8ab438’;this._12=‘#999999’;this._1y=‘#3a5b87’;this._C=‘black’;this.colors=;this.set_theme({colors:this.colors,marker_color:‘white’,font_color:‘white’,background_colors:})},theme_pastel:function(){this.colors=;this.set_theme({colors:this.colors,marker_color:'#aea9a9',font_color:'black',background_colors:'white'})},theme_greyscale:function(){this.colors=;this.set_theme({colors:this.colors,marker_color:'#aea9a9',font_color:'black',background_colors:'white'})},data:function(f,g,h){g=(g===undefined)?[]:g;h=h||null;g=Bluff.array(g);this._2.push();this._5=(g.length>this._5)?g.length:this._5;Bluff.each(g,function(c,d){if(c===undefined)return;if(this.maximum_value===null&&this.minimum_value===null)this.maximum_value=this.minimum_value=c;this.maximum_value=this._1f©?c:this.maximum_value;if(this.maximum_value>=0)this._a=true;this.minimum_value=this._1A©?c:this.minimum_value;if(this.minimum_value<0)this._a=true},this)},draw:function(){if(this.stacked)this._1B();this._1C();this._u(function(){this._0.rectangle(this.left_margin,this.top_margin,this._d-this.right_margin,this._L-this.bottom_margin);this._0.rectangle(this._1,this._7,this._l,this._g)})},clear:function(){this._X()},_1C:function(){if(!this._a)return this._1D();this._13();this._1E();if(this.sort)this._1F();this._1G();this._M();this._1H();this._1I()},_13:function(g){if(this._9===null||g===true){this._9=[];if(!this._a)return;this._1g();Bluff.each(this._2,function(d){var f=[];Bluff.each(d,function©{if(c===null||c===undefined)f.push(null);else f.push((c-this.minimum_value)/this._i)},this);this._9.push([d,f,d])},this)}},_1g:function(){this._i=this.maximum_value-this.minimum_value;this._i=this._i>0?this._i:1;this._1h=100/Math.pow(10,Math.round(Math.LOG10E*Math.log(this._i)))},_1E:function(){this._N=this.hide_line_markers?0:this._D(this.marker_font_size);this._1i=this.hide_title?0:this._D(this.title_font_size);this._1j=this.hide_legend?0:this._D(this.legend_font_size);var c,d,f,g,h,i,j;if(this.hide_line_markers){this._1=this.left_margin;this._14=this.right_margin;this._1k=this.bottom_margin}else{d=0;if(this.has_left_labels){c='';for(j in this.labels){c=c.length>this.labels.length?c:this.labels}d=this._O(this.marker_font_size,c)*1.25}else{d=this._O(this.marker_font_size,this._15(this.maximum_value))}f=this.hide_line_numbers&&!this.has_left_labels?0.0:d+this.klass.LABEL_MARGIN*2;this._1=this.left_margin+f+(this.y_axis_label===null?0.0:this._N+this.klass.LABEL_MARGIN*2);g=-Infinity;for(j in this.labels)g=g>Number(j)?g:Number(j);g=Math.round(g);h=(g>=(this._5-1)&&this.center_labels_over_point)?this._O(this.marker_font_size,this.labels)/2:0;this._14=this.right_margin+h;this._1k=this.bottom_margin+this._N+this.klass.LABEL_MARGIN}this._l=this._d-this._14;this._6=this._d-this._1-this._14;this._7=this.top_margin+(this.hide_title?this.title_margin:this._1i+this.title_margin)+(this.hide_legend?this.legend_margin:this._1j+this.legend_margin);i=(this.x_axis_label===null)?0.0:this._N+this.klass.LABEL_MARGIN;this._g=this._L-this._1k-i;this._3=this._g-this._7},_1H:function(){if(this.x_axis_label){var c=this._g+this.klass.LABEL_MARGIN*2+this._N;this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.stroke='transparent';this._0.pointsize=this._e(this.marker_font_size);this._0.gravity='north';this._0.annotate_scaled(this._d,1.0,0.0,c,this.x_axis_label,this._b);this._u(function(){this._0.line(0.0,c,this._d,c)})}},_M:function(){if(this.hide_line_markers)return;if(this.y_axis_increment===null){if(this.marker_count===null){Bluff.each(,function©{if(!this.marker_count&&this._i%c===0)this.marker_count=c},this);this.marker_count=this.marker_count||4}this._16=(this._i>0)?this._17(this._i/this.marker_count):1}else{this.maximum_value=Math.max(Math.ceil(this.maximum_value),this.y_axis_increment);this.minimum_value=Math.floor(this.minimum_value);this._1g();this._13(true);this.marker_count=Math.round(this._i/this.y_axis_increment);this._16=this.y_axis_increment}this._1J=this._3/(this._i/this._16);var d,f,g,h;for(d=0,f=this.marker_count;d<=f;d++){g=this._7+this._3-d*this._1J;this._0.stroke=this.marker_color;this._0.stroke_width=1;this._0.line(this._1,g,this._l,g);h=d*this._16+this.minimum_value;if(!this.hide_line_numbers){this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.font_weight='normal';this._0.stroke='transparent';this._0.pointsize=this._e(this.marker_font_size);this._0.gravity='east';this._0.annotate_scaled(this._1-this.klass.LABEL_MARGIN,1.0,0.0,g,this._15(h),this._b)}}},_1l:function©{return(this._d-c)/2},_1G:function(){if(this.hide_legend)return;this._P=Bluff.map(this._2,function©{return c},this);var i=this.legend_box_size;if(this.font)this._0.font=this.font;this._0.pointsize=this.legend_font_size;var j=[];Bluff.each(this._P,function©{var d=j.length-1;var f=this._0.get_type_metrics©;var g=f.width+i*2.7;j.push(g);if(Bluff.sum(j)>(this._d*0.9))j.push([j.pop()])},this);var k=this._1l(Bluff.sum(j));var l=this.hide_title?this.top_margin+this.title_margin:this.top_margin+this.title_margin+this._1i;this._u(function(){this._0.stroke_width=1;this._0.line(0,l,this._d,l)});Bluff.each(this._P,function(c,d){this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.pointsize=this._e(this.legend_font_size);this._0.stroke=‘transparent’;this._0.font_weight=‘normal’;this._0.gravity=‘west’;this._0.annotate_scaled(this._d,1.0,k+(i*1.7),l,c,this._b);this._0.stroke=‘transparent’;this._0.fill=this._2[this.klass.DATA_COLOR_INDEX];this._0.rectangle(k,l-i/2.0,k+i,l+i/2.0);this._0.pointsize=this.legend_font_size;var f=this._0.get_type_metrics©;var g=f.width+(i*2.7),h;j.shift();if(j.length==0){this._u(function(){this._0.line(0.0,l,this._d,l)});j.shift();if(j.length>0)k=this._1l(Bluff.sum(j));h=Math.max(this._1j,i)+this.legend_margin;if(j.length>0){l+=h;this._7+=h;this._3=this._g-this._7}}else{k+=g}},this);this._m=0},_1I:function(){if(this.hide_title||!this.title)return;this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.pointsize=this._e(this.title_font_size);this._0.font_weight='bold';this._0.gravity='north';this._0.annotate_scaled(this._d,1.0,0,this.top_margin,this.title,this._b)},_c:function(c,d){if(this.hide_line_markers)return;var f;if(this.labels&&!this._q){f=this._g+this.klass.LABEL_MARGIN;this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.stroke=‘transparent’;this._0.font_weight=‘normal’;this._0.pointsize=this._e(this.marker_font_size);this._0.gravity=‘north’;this._0.annotate_scaled(1.0,1.0,c,f,this.labels,this._b);this._q=true;this._u(function(){this._0.stroke_width=1;this._0.line(0.0,f,this._d,f)})}},_E:function(c,d,f,g,h,i,j){if(!this.tooltips)return;this._0.tooltip(c,d,f,g,h,i,j)},_1D:function(){this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.stroke='transparent';this._0.font_weight='normal';this._0.pointsize=this._e(80);this._0.gravity='center';this._0.annotate_scaled(this._d,this._L/2,0,10,this.no_data_message,this._b)},_X:function(){var c=this._k.background_colors;switch(true){case c instanceof Array:this._1K.apply(this,c);break;case typeof c==='string':this._1L©;break;default:this._1M(this._k.background_image);break}},_1L:function©{this._0.render_solid_background(this._j,this._y,c)},_1K:function(c,d){this._0.render_gradiated_background(this._j,this._y,c,d)},_1M:function©{},_1e:function(){this._m=0;this._q={};this._k={};this._0.scale(this._b,this._b)},_2a:function©{return this._b*c},_e:function©{var d=c*this._b;return d},_Q:function(c,d){return(c>d)?d:c},_1f:function(c,d){return c>this.maximum_value},_1A:function(c,d){return c<this.minimum_value},_1m:function(c,d){return c},_2b:function(c,d){return c},_17:function©{if(c==0)return 1.0;var d=1.0;while(c<10){c*=10;d/=10}while(c>100){c/=10;d*=10}return Math.floor©*d},_1F:function(){var f=this._1N,g=this.klass.DATA_VALUES_INDEX;this._9.sort(function(c,d){return f(d)-f(c)});this._2.sort(function(c,d){return f(d)-f(c)})},_1N:function(d){var f=0;Bluff.each(d,function©{f+=(c||0)});return f},_1B:function(){var g=[],h=this._5;while(h–)g=0;Bluff.each(this._2,function(f){Bluff.each(f,function(c,d){g+=c},this);f=Bluff.array(g)},this)},_u:function©{if(this.klass.DEBUG){this._0.fill='transparent';this._0.stroke='turquoise';c.call(this)}},_1z:function(){if(this._m<this.colors.length){this._m+=1}else{this._m=0}var c=(this._m==0)?this.colors.length:this._m;return this.colors},_15:function©{var d=this.klass.THOUSAND_SEPARATOR,f=(this._i%this.marker_count==0||this.y_axis_increment!==null)?String(Math.round©):String(Math.floor(c*this._1h)/this._1h);var g=f.split(‘.’);g=g.replace(/(d)(?=(ddd)+(?!d))/g,'$1'+d);return g.join('.')},_D:function©{return this._0.caps_height©},_O:function(c,d){return this._0.text_width(c,d)}});Bluff.Area=new JS.Class(Bluff.Base,{draw:function(){this.callSuper();if(!this._a)return;this._R=this._6/(this._5-1);this._0.stroke='transparent';Bluff.each(this._9,function(h){var i=[],j=0.0,k=0.0;Bluff.each(h,function(c,d){var f=this._1+(this._R*d);var g=this._7+(this._3-c*this._3);if(j>0&&k>0){i.push(f);i.push(g)}else{i.push(this._1);i.push(this._g-1);i.push(f);i.push(g)}this._c(f,d);j=f;k=g},this);i.push(this._l);i.push(this._g-1);i.push(this._1);i.push(this._g-1);this._0.fill=h;this._0.polyline(i)},this)}});Bluff.BarConversion=new JS.Class({mode:null,zero:null,graph_top:null,graph_height:null,minimum_value:null,spread:null,getLeftYRightYscaled:function(c,d){var f;switch(this.mode){case 1:d=this.graph_top+this.graph_height*(1-c)+1;d=this.graph_top+this.graph_height-1;break;case 2:d=this.graph_top+1;d=this.graph_top+this.graph_height*(1-c)-1;break;case 3:f=c-this.minimum_value/this.spread;if(c>=this.zero){d=this.graph_top+this.graph_height*(1-(f-this.zero))+1;d=this.graph_top+this.graph_height*(1-this.zero)-1}else{d=this.graph_top+this.graph_height*(1-(f-this.zero))+1;d=this.graph_top+this.graph_height*(1-this.zero)-1}break;default:d=0.0;d=0.0}}});Bluff.Bar=new JS.Class(Bluff.Base,{bar_spacing:0.9,draw:function(){this.center_labels_over_point=(Bluff.keys(this.labels).length>this._5);this.callSuper();if(!this._a)return;this._1O()},_1O:function(){this._8=this._6/(this._5*this._2.length);var n=(this._8*(1-this.bar_spacing))/2;this._0.stroke_opacity=0.0;var m=new Bluff.BarConversion();m.graph_height=this._3;m.graph_top=this._7;if(this.minimum_value>=0){m.mode=1}else{if(this.maximum_value<=0){m.mode=2}else{m.mode=3;m.spread=this._i;m.minimum_value=this.minimum_value;m.zero=-this.minimum_value/this._i}}Bluff.each(this._9,function(j,k){var l=this._2[this.klass.DATA_VALUES_INDEX];Bluff.each(j,function(c,d){var f=this._1+(this._8*(k+d+((this._2.length-1)*d)))+n;var g=f+this._8*this.bar_spacing;var h=[];m.getLeftYRightYscaled(c,h);this._0.fill=j;this._0.rectangle(f,h,g,h);this._E(f,h,g-f,h-h,j,j,l);var i=this._1+(this._2.length*this._8*d)+(this._2.length*this._8/2.0);this._c(i-(this.center_labels_over_point?this._8/2.0:0.0),d)},this)},this);if(this.center_labels_over_point)this._c(this._l,this._5)}});Bluff.Line=new JS.Class(Bluff.Base,{baseline_value:null,baseline_color:null,line_width:null,dot_radius:null,hide_dots:null,hide_lines:null,initialize:function©{if(arguments.length>3)throw'Wrong number of arguments';if(arguments.length===1||(typeof arguments!=='number'&&typeof arguments!=='string'))this.callSuper(c,null);else this.callSuper();this.hide_dots=this.hide_lines=false;this.baseline_color='red';this.baseline_value=null},draw:function(){this.callSuper();if(!this._a)return;this.x_increment=(this._5>1)?(this._6/(this._5-1)):this._6;var m;if(this._S!==undefined){m=this._7+(this._3-this._S*this._3);this._0.push();this._0.stroke=this.baseline_color;this._0.fill_opacity=0.0;this._0.stroke_width=3.0;this._0.line(this._1,m,this._1+this._6,m);this._0.pop()}Bluff.each(this._9,function(i,j){var k=null,l=null;var n=this._2[this.klass.DATA_VALUES_INDEX];this._1P=this._1Q(i);Bluff.each(i,function(c,d){var f=this._1+(this.x_increment*d);if(typeof c!=='number')return;this._c(f,d);var g=this._7+(this._3-c*this._3);this._0.stroke=i;this._0.fill=i;this._0.stroke_opacity=1.0;this._0.stroke_width=this.line_width||this._Q(this._j/(this._9[this.klass.DATA_VALUES_INDEX].length*6),3.0);var h=this.dot_radius||this._Q(this._j/(this._9[this.klass.DATA_VALUES_INDEX].length*2),7.0);if(!this.hide_lines&&k!==null&&l!==null){this._0.line(k,l,f,g)}else if(this._1P){this._0.circle(f,g,f-h,g)}if(!this.hide_dots)this._0.circle(f,g,f-h,g);this._E(f-h,g-h,2*h,2*h,i,i,n);k=f;l=g},this)},this)},_13:function(){this.maximum_value=Math.max(this.maximum_value,this.baseline_value);this.callSuper();if(this.baseline_value!==null)this._S=this.baseline_value/this.maximum_value},_1Q:function(d){var f=0;Bluff.each(d,function©{if(c!==undefined)f+=1});return f===1}});Bluff.Dot=new JS.Class(Bluff.Base,{draw:function(){this.has_left_labels=true;this.callSuper();if(!this._a)return;var k=1.0;this._F=this._3/this._5;this._18=this._F*k/this._9.length;this._0.stroke_opacity=0.0;var l=Bluff.array_new(this._5,0),n=Bluff.array_new(this._5,this._1),m=(this._F*(1-k))/2;Bluff.each(this._9,function(i,j){Bluff.each(i,function(c,d){var f=this._1+(c*this._6)-Math.round(this._18/6.0);var g=this._7+(this._F*d)+m+Math.round(this._18/2.0);if(j===0){this._0.stroke=this.marker_color;this._0.stroke_width=1.0;this._0.opacity=0.1;this._0.line(this._1,g,this._1+this._6,g)}this._0.fill=i;this._0.stroke='transparent';this._0.circle(f,g,f+Math.round(this._18/3.0),g);var h=this._7+(this._F*d+this._F/2)+m;this._c(h,d)},this)},this)},_M:function(){if(this.hide_line_markers)return;this._0.stroke_antialias=false;this._0.stroke_width=1;var c=5;var d=this._17(this.maximum_value/c);for(var f=0;f<=c;f++){var g=(this._l-this._1)/c,h=this._l-(g*f)-1,i=f-c,j=Math.abs(i)*d;this._0.stroke=this.marker_color;this._0.line(h,this._g,h,this._g+0.5*this.klass.LABEL_MARGIN);if(!this.hide_line_numbers){this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.stroke='transparent';this._0.pointsize=this._e(this.marker_font_size);this._0.gravity='center';this._0.annotate_scaled(0,0,h,this._g+(this.klass.LABEL_MARGIN*2.0),j,this._b)}this._0.stroke_antialias=true}},_c:function(c,d){if(this.labels&&!this._q){this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.stroke=‘transparent’;this._0.font_weight=‘normal’;this._0.pointsize=this._e(this.marker_font_size);this._0.gravity=‘east’;this._0.annotate_scaled(1,1,this._1-this.klass.LABEL_MARGIN*2.0,c,this.labels,this._b);this._q=true}}});Bluff.Net=new JS.Class(Bluff.Base,{hide_dots:null,line_width:null,dot_radius:null,initialize:function(){this.callSuper();this.hide_dots=false;this.hide_line_numbers=true},draw:function(){this.callSuper();if(!this._a)return;this._v=this._3/2.0;this._w=this._1+(this._6/2.0);this._x=this._7+(this._3/2.0)-10;this._R=this._6/(this._5-1);var s=this.dot_radius||this._Q(this._j/(this._9[this.klass.DATA_VALUES_INDEX].length*2.5),7.0);this._0.stroke_opacity=1.0;this._0.stroke_width=this.line_width||this._Q(this._j/(this._9[this.klass.DATA_VALUES_INDEX].length*4),3.0);var r;if(this._S!==undefined){r=this._7+(this._3-this._S*this._3);this._0.push();this._0.stroke_color=this.baseline_color;this._0.fill_opacity=0.0;this._0.stroke_width=5;this._0.line(this._1,r,this._1+this._6,r);this._0.pop()}Bluff.each(this._9,function(o){var p=null,q=null;Bluff.each(o,function(c,d){if(c===undefined)return;var f=d*Math.PI*2/this._5,g=c*this._v,h=this._w+Math.sin(f)*g,i=this._x-Math.cos(f)*g,j=(d+1 Generated by RDoc 6.3.2.
Based on Darkfish by Michael Granger.
5)
'px';n.style.height=(this._h*Math.abs(h)5)
'px';n.style.fontSize=0;n.style.overflow='hidden';Bluff.Event.observe(n,'mouseover',function©{Bluff.Tooltip.show(i,j,k)});Bluff.Event.observe(n,'mouseout',function©{Bluff.Tooltip.hide()});l.appendChild(n)},circle:function(c,d,f,g,h,i){var j=Math.sqrt(Math.pow(f-c,2)+Math.pow(g-d,2));this._4.fillStyle=this.fill;this._4.beginPath();var k=(h||0)*Math.PI/180;var l=(i||360)*Math.PI/180;if(h!==undefined&&i!==undefined){this._4.moveTo(this._f*(c+j*Math.cos(l)),this._h*(d+j*Math.sin(l)));this._4.lineTo(this._f*c,this._h*d);this._4.lineTo(this._f*(c+j*Math.cos(k)),this._h*(d+j*Math.sin(k)))}this._4.arc(this._f*c,this._h*d,this._f*j,k,l,false);this._4.fill()},line:function(c,d,f,g){this._4.strokeStyle=this.stroke;this._4.lineWidth=this.stroke_width;this._4.beginPath();this._4.moveTo(this._f*c,this._h*d);this._4.lineTo(this._f*f,this._h*g);this._4.stroke()},polyline:function©{this._4.fillStyle=this.fill;this._4.globalAlpha=this.fill_opacity||1;try{this._4.strokeStyle=this.stroke}catch(e){}var d=c.shift(),f=c.shift();this._4.beginPath();this._4.moveTo(this._f*d,this._h*f);while(c.length>0){d=c.shift();f=c.shift();this._4.lineTo(this._f*d,this._h*f)}this._4.fill()},rectangle:function(c,d,f,g){var h;if(c>f){h=c;c=f;f=h}if(d>g){h=d;d=g;g=h}try{this._4.fillStyle=this.fill;this._4.fillRect(this._f*c,this._h*d,this._f*(f-c),this._h*(g-d))}catch(e){}try{this._4.strokeStyle=this.stroke;if(this.stroke!=='transparent')this._4.strokeRect(this._f*c,this._h*d,this._f*(f-c),this._h*(g-d))}catch(e){}},_1Z:function(c,d){var f=this._H©.width;switch(this.gravity){case'west':return 0;case'east':return d-f;case'north':case'south':case'center':return(d-f)/2}},_20:function(c,d){var f=this._H©.height;switch(this.gravity){case'north':return 0;case'south':return d-f;case'west':case'east':case'center':return(d-f)/2}},_1o:function(){var c=this._n.parentNode;if(c.className===this.klass.WRAPPER_CLASS)return c;c=document.createElement('div');c.className=this.klass.WRAPPER_CLASS;c.style.position='relative';c.style.border='none';c.style.padding='0 0 0 0';this._n.parentNode.insertBefore(c,this._n);c.appendChild(this._n);return c},_T:function(c,d){var f=this._21(d);f.style.fontFamily=this.font;f.style.fontSize=(typeof c==='number')?c+'px':c;return f},_21:function©{var d=document.createElement('div');d.className=this.klass.TEXT_CLASS;d.style.position='absolute';d.appendChild(document.createTextNode©);this._1o().appendChild(d);return d},_U:function©{c.parentNode.removeChild©;if(c.className===this.klass.TARGET_CLASS)Bluff.Event.stopObserving©},_H:function©{var d=c.style.display;return(d&&d!=='none')?{width:c.offsetWidth,height:c.offsetHeight}:{width:c.clientWidth,height:c.clientHeight}}});Bluff.Event={_V:[],_1p:(window.attachEvent&&navigator.userAgent.indexOf('Opera')===-1),observe:function(d,f,g,h){var i=Bluff.map(this._1q(d,f),function©{return c._22});if(Bluff.index(i,g)!==-1)return;var j=function©{g.call(h||null,d,Bluff.Event._23©)};this._V.push({_W:d,_1c:f,_22:g,_1r:j});if(d.addEventListener)d.addEventListener(f,j,false);else d.attachEvent('on'+f,j)},stopObserving:function(d){var f=d?this._1q(d):this._V;Bluff.each(f,function©{if(c._W.removeEventListener)c._W.removeEventListener(c._1c,c._1r,false);else c._W.detachEvent('on'+c._1c,c._1r)})},_1q:function(d,f){var g=[];Bluff.each(this._V,function©{if(d&&c._W!==d)return;if(f&&c._1c!==f)return;g.push©});return g},_23:function©{if(!this._1p)return c;if(!c)return false;if(c._24)return c;c._24=true;var d=this._25©;c.target=c.srcElement;c.pageX=d.x;c.pageY=d.y;return c},_25:function©{var d=document.documentElement,f=document.body||{scrollLeft:0,scrollTop:0};return{x:c.pageX||(c.clientX+(d.scrollLeft||f.scrollLeft)-(d.clientLeft||0)),y:c.pageY||(c.clientY+(d.scrollTop||f.scrollTop)-(d.clientTop||0))}}};if(Bluff.Event._1p)window.attachEvent('onunload',function(){Bluff.Event.stopObserving();Bluff.Event._V=null});if(navigator.userAgent.indexOf('AppleWebKit/')>-1)window.addEventListener('unload',function(){},false);Bluff.Tooltip=new JS.Singleton({LEFT_OFFSET:20,TOP_OFFSET:-6,DATA_LENGTH:8,CLASS_NAME:'bluff-tooltip',setup:function(){this._o=document.createElement('div');this._o.className=this.CLASS_NAME;this._o.style.position='absolute';this.hide();document.body.appendChild(this._o);Bluff.Event.observe(document.body,'mousemove',function(c,d){this._o.style.left=(d.pageX+this.LEFT_OFFSET)+'px';this._o.style.top=(d.pageY+this.TOP_OFFSET)+'px'},this)},show:function(c,d,f){f=Number(String(f).substr(0,this.DATA_LENGTH));this._o.innerHTML='<span class=“color” style=“background: 'd
';”> </span> <span class=“label”>'c
'</span> <span class=“data”>'f
'</span>';this._o.style.display=''},hide:function(){this._o.style.display='none'}});Bluff.Event.observe(window,'load',Bluff.Tooltip.method('setup'));Bluff.TableReader=new JS.Class({NUMBER_FORMAT:/-?(0|d*)(.d+)?(e?d+)?/i,initialize:function(c,d){this._26=(typeof c==='string')?document.getElementById©:c;this._1s=!!d},get_data:function(){if(!this._2)this._1t();return this._2},get_labels:function(){if(!this._1d)this._1t();return this._1d},get_title:function(){return this._27},get_series:function©{if(this._2)return this._2;return this._2={points:[]}},_1t:function(){this._I=this._p=0;this._J=this._K=0;this._2=;this._1d={};this._s=[];this._t=;this._1u(this._26);if((this._s.length>1&&this._t.length===1)||this._s.length<this._t.length){if(!this._1s)this._1v()}else{if(this._1s)this._1v()}Bluff.each(this._t,function(c,d){this.get_series(d-this._K).name=c},this);Bluff.each(this._s,function(c,d){this._1d=c},this)},_1u:function©{this._28©;var d,f=c.childNodes,g=f.length;for(d=0;d