keigan 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,380 @@
1
+ /*html, body, div, span, applet, object, iframe,
2
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
3
+ a, abbr, acronym, address, big, cite, code,
4
+ del, dfn, em, font, img, ins, kbd, q, s, samp,
5
+ small, strike, strong, sub, sup, tt, var,
6
+ b, u, i, center,
7
+ dl, dt, dd, ol, ul, li,
8
+ fieldset, form, label, legend,
9
+ table, caption, tbody, tfoot, thead, tr, th, td {
10
+ margin: 0;
11
+ padding: 0;
12
+ border: 0;
13
+ outline: 0;
14
+ font-size: 100%;
15
+ vertical-align: baseline;
16
+ background: transparent;
17
+ }*/
18
+
19
+ * {
20
+ margin:0;
21
+ padding:0;
22
+ }
23
+
24
+ body {
25
+ margin: 0px;
26
+ padding: 0px;
27
+ font-family: helvetica, Arial, sans-serif;
28
+ font-size: 16px;
29
+ color: #7F7F81;
30
+ background-color:#666666;
31
+ }
32
+
33
+ h1, h2, h3 {
34
+ margin: 0;
35
+ padding: 0;
36
+ font-weight: normal;
37
+ }
38
+
39
+ h1 {
40
+ font-size: 2.5em;
41
+ }
42
+
43
+ h2 {
44
+ font-size: 1.8em;
45
+ }
46
+
47
+ h3 {
48
+ font-size: 1.6em;
49
+ }
50
+
51
+ p, ul, ol {
52
+ margin-top: 0;
53
+ line-height: 180%;
54
+ }
55
+
56
+ /*ul, ol {
57
+ }*/
58
+
59
+ a {
60
+ text-decoration: none;
61
+ color: #5D9800;
62
+ }
63
+
64
+ a:hover {
65
+ text-decoration: underline;
66
+ }
67
+
68
+ img.border {
69
+ border: 6px solid #E1F1F6;
70
+ }
71
+
72
+ img.alignleft {
73
+ float: left;
74
+ margin-right: 25px;
75
+ }
76
+
77
+ img.alignright {
78
+ float: right;
79
+ }
80
+
81
+ img.aligncenter {
82
+ margin: 0px auto;
83
+ }
84
+
85
+ #wrapper {
86
+ width: 100%;
87
+ margin:0px;
88
+ }
89
+
90
+ /* Header */
91
+
92
+ #header {
93
+ width: 100%;
94
+ height: 65px;
95
+ margin: 0 auto;
96
+ background-color: #666666;
97
+ }
98
+
99
+ #header-left {
100
+ margin: 15px 0 0 15px;
101
+ float: left;
102
+ }
103
+
104
+ #header-right {
105
+ margin: 13px 15px 0 0;
106
+ float: right;
107
+ }
108
+
109
+ #header-right a:link, #header-right a:visited {
110
+ font-size: 30px;
111
+ text-decoration: none;
112
+ text-transform: lowercase;
113
+ color: #FFFFFF;
114
+ }
115
+
116
+ #header-right a:hover, #header-right a:active {
117
+ border-bottom: 2px solid #fff;
118
+ }
119
+
120
+ /* Menu */
121
+
122
+ #menu {
123
+ width: 980px;
124
+ /*height: 46px;*/
125
+ margin: 0 auto;
126
+ padding: 5px 0px 0px 0px;
127
+ }
128
+
129
+ #menu ul {
130
+ margin: 0;
131
+ padding: 0px 0px 0px 4px;
132
+ list-style: none;
133
+ line-height: normal;
134
+ }
135
+
136
+ #menu li {
137
+ float: left;
138
+ }
139
+
140
+ #menu a {
141
+ display: block;
142
+ float: left;
143
+ height: 24px;
144
+ padding: 4px 30px 0px 30px;
145
+ text-decoration: none;
146
+ text-transform: lowercase;
147
+ font-size: 16px;
148
+ font-weight: normal;
149
+ color: #FFFFFF;
150
+ border: none;
151
+ }
152
+
153
+ #menu a:hover, #menu a:active {
154
+ border-bottom: 2px solid #fff;
155
+ }
156
+
157
+ /* Page */
158
+
159
+ #page {
160
+ /*width: 1000px;*/
161
+ margin: 0 auto;
162
+ padding: 0;
163
+ background-color:#FFFFFF;
164
+
165
+ }
166
+
167
+ #page ul, ol{
168
+ padding-left: 30px;
169
+ }
170
+
171
+ /* Content */
172
+
173
+ #content {
174
+ /*float: right;*/
175
+ /*width: 1000px;*/
176
+ width: 100%;
177
+ margin:auto;
178
+ padding: 20px 50px 0px 30px;
179
+ background-color: #FFFFFF;
180
+ }
181
+
182
+ #content h2 {
183
+ padding-top:10px;
184
+ color: orange;
185
+ }
186
+
187
+ #content h3 {
188
+ padding-top:10px;
189
+ }
190
+
191
+ .post {
192
+ padding-top: 20px;
193
+ padding-bottom: 10px;
194
+ }
195
+
196
+ .post .title {
197
+ margin: 0px;
198
+ padding-bottom: 10px;
199
+ letter-spacing: -1px;
200
+ }
201
+
202
+ .archives .title {
203
+ margin: 0px;
204
+ }
205
+
206
+ .archives .title a {
207
+ color: #E6700E;
208
+ text-decoration: none;
209
+ border: none;
210
+ }
211
+
212
+ .post .title a {
213
+ color: #E6700E;
214
+ text-decoration: none;
215
+ border: none;
216
+ }
217
+
218
+ .post .meta {
219
+ border-top: 1px solid #CCC2A9;
220
+ border-bottom: 1px solid #CCC2A9;
221
+ padding: 5px 0px;
222
+ text-align: left;
223
+ font-size: 11px;
224
+ font-style: italic;
225
+ }
226
+
227
+ .date {
228
+ height: 63px;
229
+ width: 39px;
230
+ margin: 6px;
231
+ padding: 8px 5px 0px 5px;
232
+ background: #fff url(/images/datebg_new.png) repeat-x 0 0;
233
+ color: #030303;
234
+ font-size:13px;
235
+ text-align: center;
236
+ line-height: 1.3em;
237
+ float: right;
238
+ /*font-family: "Lucida Grande";
239
+ font-family: palatino, "times new roman", serif;*/
240
+ }
241
+
242
+ .date .day {
243
+ font-size: 30px;
244
+ /*font-family: "Lucida Grande";
245
+ font-family: palatino, "times new roman", serif;*/
246
+ color:#FFFFFF;
247
+ }
248
+
249
+ .date .month {
250
+ text-transform: lowercase;
251
+ /*font-family: "Lucida Grande";
252
+ font-family: palatino, "times new roman", serif;*/
253
+ color:#FFFFFF;
254
+ }
255
+
256
+ .date .year {
257
+ line-height: 2.0em;
258
+ /*font-family: "Lucida Grande";
259
+ font-family: palatino, "times new roman", serif;*/
260
+ }
261
+
262
+ .post .meta a {
263
+ }
264
+
265
+ .post .entry {
266
+ text-align: justify;
267
+ margin-bottom: 25px;
268
+ padding: 10px 0px 10px 0px;
269
+ }
270
+
271
+ .post .entry p {
272
+ font-size:;
273
+ }
274
+
275
+ .links {
276
+ display: block;
277
+ width: 96px;
278
+ padding: 2px 0px 2px 0px;
279
+ background: #A53602;
280
+ text-align: center;
281
+ text-transform: uppercase;
282
+ font-size: 10px;
283
+ color: #FFFFFF;
284
+ }
285
+
286
+ /* Footer */
287
+
288
+ #footer-wrapper {
289
+ overflow: hidden;
290
+ padding: 0px 0px 0px 0px;
291
+ background-color:#666666;
292
+ }
293
+
294
+ #footer {
295
+ clear: both;
296
+ width: 980px;
297
+ height: 100px;
298
+ margin: 0px auto 0px auto;
299
+
300
+ }
301
+
302
+ #footer p {
303
+ margin: 0;
304
+ padding: 30px 0px 0px 0px;
305
+ line-height: normal;
306
+ font-size: 10px;
307
+ text-transform: uppercase;
308
+ text-align: center;
309
+ color: #FFFFFF;
310
+ }
311
+
312
+ #footer-wrapper a {
313
+ color: #FFFFFF;
314
+ }
315
+
316
+
317
+ #three-columns {
318
+ width: 900px;
319
+ margin: 0px auto 30px auto;
320
+ padding: 50px 0px 30px 0px;
321
+ }
322
+
323
+ #three-columns ul {
324
+ margin: 0px;
325
+ padding: 0px;
326
+ list-style: none;
327
+ }
328
+
329
+ #three-columns li {
330
+ padding: 4px 0px 6px 0px;
331
+ border-bottom: 1px solid #29231F;
332
+ }
333
+
334
+ #three-columns h2 {
335
+ padding: 0px 0px 20px 0px;
336
+ font-size: 28px;
337
+ color: #B0A792;
338
+ }
339
+
340
+ #column1 {
341
+ float: left;
342
+ width: 280px;
343
+ margin-right: 30px;
344
+ }
345
+
346
+ #column2 {
347
+ float: left;
348
+ width: 280px;
349
+ }
350
+
351
+ #column3 {
352
+ float: right;
353
+ width: 280px;
354
+ }
355
+
356
+
357
+ table,th, td
358
+ {
359
+ border: 1px solid white;
360
+ }
361
+ /*
362
+ th
363
+ {
364
+ color: #BC9358;
365
+ }
366
+
367
+ td
368
+ {
369
+ color: #A4C260;
370
+ }*/
371
+
372
+ #dashboard-left {
373
+ width: 45%;
374
+ float: left;
375
+ }
376
+
377
+ #dashboard-right {
378
+ width: 45%;
379
+ float: right;
380
+ }
@@ -0,0 +1 @@
1
+ Bluff={VERSION:'0.3.6',array:function(c){if(c.length===undefined)return[c];var d=[],f=c.length;while(f--)d[f]=c[f];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],g)}},index:function(c,d){for(var f=0,g=c.length;f<g;f++){if(c[f]===d)return f}return-1},keys:function(c){var d=[],f;for(f in c)d.push(f);return d},map:function(d,f,g){var h=[];this.each(d,function(c){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],g)},sum:function(c){var d=0,f=c.length;while(f--)d+=c[f];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(c);d=d||this.klass.DEFAULT_TARGET_WIDTH;var f;if(typeof d!=='number'){f=d.split('x');this._j=parseFloat(f[0]);this._t=parseFloat(f[1])}else{this._j=parseFloat(d);this._t=this._j*0.75}this.initialize_ivars();this._1j();this.theme_keynote();this._10={}},initialize_ivars:function(){this._b=800;this._L=800*(this._t/this._j);this._5=0;this.marker_count=null;this.maximum_value=this.minimum_value=null;this._c=false;this._1=[];this.labels={};this._u={};this.sort=true;this.title=null;this._a=this._j/this._b;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._1C=[];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(c){this.top_margin=this.left_margin=this.right_margin=this.bottom_margin=c},set_font:function(c){this.font=c;this._0.font=this.font},add_color:function(c){this.colors.push(c)},replace_colors:function(c){this.colors=c||[];this._w=0},set_theme:function(c){this._1j();this._k={colors:['black','white'],additional_line_colors:[],marker_color:'white',font_color:'black',background_colors:null,background_image:null};for(var d in c)this._k[d]=c[d];this.colors=this._k.colors;this.marker_color=this._k.marker_color;this.font_color=this._k.font_color||this.marker_color;this._1C=this._k.additional_line_colors;this._M()},set_background:function(c){if(c.colors)this._k.background_colors=c.colors;if(c.image)this._k.background_image=c.image;this._M()},theme_keynote:function(){this._11='#6886B4';this._12='#FDD84E';this._v='#72AE6E';this._D='#D1695E';this._13='#8A6EAF';this._E='#EFAA43';this._F='white';this.colors=[this._12,this._11,this._v,this._D,this._13,this._E,this._F];this.set_theme({colors:this.colors,marker_color:'white',font_color:'white',background_colors:['black','#4a465a']})},theme_37signals:function(){this._v='#339933';this._13='#cc99cc';this._11='#336699';this._12='#FFF804';this._D='#ff0000';this._E='#cf5910';this._G='black';this.colors=[this._12,this._11,this._v,this._D,this._13,this._E,this._G];this.set_theme({colors:this.colors,marker_color:'black',font_color:'black',background_colors:['#d1edf5','white']})},theme_rails_keynote:function(){this._v='#00ff00';this._14='#333333';this._E='#ff5d00';this._D='#f61100';this._F='white';this._15='#999999';this._G='black';this.colors=[this._v,this._14,this._E,this._D,this._F,this._15,this._G];this.set_theme({colors:this.colors,marker_color:'white',font_color:'white',background_colors:['#0083a3','#0083a3']})},theme_odeo:function(){this._14='#202020';this._F='white';this._1D='#a21764';this._v='#8ab438';this._15='#999999';this._1E='#3a5b87';this._G='black';this.colors=[this._14,this._F,this._1E,this._1D,this._v,this._15,this._G];this.set_theme({colors:this.colors,marker_color:'white',font_color:'white',background_colors:['#ff47a4','#ff1f81']})},theme_pastel:function(){this.colors=['#a9dada','#aedaa9','#daaea9','#dadaa9','#a9a9da','#daaeda','#dadada'];this.set_theme({colors:this.colors,marker_color:'#aea9a9',font_color:'black',background_colors:'white'})},theme_greyscale:function(){this.colors=['#282828','#383838','#686868','#989898','#c8c8c8','#e8e8e8'];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._1.push([f,g,(h||this._1F())]);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._1k(c)?c:this.maximum_value;if(this.maximum_value>=0)this._c=true;this.minimum_value=this._1G(c)?c:this.minimum_value;if(this.minimum_value<0)this._c=true},this)},draw:function(){if(this.stacked)this._1H();this._1I();this._x(function(){this._0.rectangle(this.left_margin,this.top_margin,this._b-this.right_margin,this._L-this.bottom_margin);this._0.rectangle(this._2,this._7,this._l,this._g)})},clear:function(){this._M()},on:function(c,d,f){var g=this._10[c]=this._10[c]||[];g.push([d,f])},trigger:function(d,f){var g=this._10[d];if(!g)return;Bluff.each(g,function(c){c[0].call(c[1],f)})},_1I:function(){if(!this._c)return this._1J();this._16();this._1K();if(this.sort)this._1L();this._1M();this._N();this._1N();this._1O()},_16:function(g){if(this._9===null||g===true){this._9=[];if(!this._c)return;this._1l();Bluff.each(this._1,function(d){var f=[];Bluff.each(d[this.klass.DATA_VALUES_INDEX],function(c){if(c===null||c===undefined)f.push(null);else f.push((c-this.minimum_value)/this._i)},this);this._9.push([d[this.klass.DATA_LABEL_INDEX],f,d[this.klass.DATA_COLOR_INDEX]])},this)}},_1l:function(){this._i=this.maximum_value-this.minimum_value;this._i=this._i>0?this._i:1;var c=Math.round(Math.LOG10E*Math.log(this._i));this._1m=Math.pow(10,3-c)},_1K:function(){this._O=this.hide_line_markers?0:this._P(this.marker_font_size);this._1n=this.hide_title?0:this._P(this.title_font_size);this._1o=this.hide_legend?0:this._P(this.legend_font_size);var c,d,f,g,h,i,j;if(this.hide_line_markers){this._2=this.left_margin;this._17=this.right_margin;this._1p=this.bottom_margin}else{d=0;if(this.has_left_labels){c='';for(j in this.labels){c=c.length>this.labels[j].length?c:this.labels[j]}d=this._H(this.marker_font_size,c)*1.25}else{d=this._H(this.marker_font_size,this._Q(this.maximum_value))}f=this.hide_line_numbers&&!this.has_left_labels?0.0:d+this.klass.LABEL_MARGIN*2;this._2=this.left_margin+f+(this.y_axis_label===null?0.0:this._O+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._H(this.marker_font_size,this.labels[g])/2:0;this._17=this.right_margin+h;this._1p=this.bottom_margin+this._O+this.klass.LABEL_MARGIN}this._l=this._b-this._17;this._6=this._b-this._2-this._17;this._7=this.top_margin+(this.hide_title?this.title_margin:this._1n+this.title_margin)+(this.hide_legend?this.legend_margin:this._1o+this.legend_margin);i=(this.x_axis_label===null)?0.0:this._O+this.klass.LABEL_MARGIN;this._g=this._L-this._1p-i;this._3=this._g-this._7},_1N:function(){if(this.x_axis_label){var c=this._g+this.klass.LABEL_MARGIN*2+this._O;this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.stroke='transparent';this._0.pointsize=this._d(this.marker_font_size);this._0.gravity='north';this._0.annotate_scaled(this._b,1.0,0.0,c,this.x_axis_label,this._a);this._x(function(){this._0.line(0.0,c,this._b,c)})}},_N:function(){if(this.hide_line_markers)return;if(this.y_axis_increment===null){if(this.marker_count===null){Bluff.each([3,4,5,6,7],function(c){if(!this.marker_count&&this._i%c===0)this.marker_count=c},this);this.marker_count=this.marker_count||4}this._18=(this._i>0)?this._19(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._1l();this._16(true);this.marker_count=Math.round(this._i/this.y_axis_increment);this._18=this.y_axis_increment}this._1P=this._3/(this._i/this._18);var d,f,g,h;for(d=0,f=this.marker_count;d<=f;d++){g=this._7+this._3-d*this._1P;this._0.stroke=this.marker_color;this._0.stroke_width=1;this._0.line(this._2,g,this._l,g);h=d*this._18+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._d(this.marker_font_size);this._0.gravity='east';this._0.annotate_scaled(this._2-this.klass.LABEL_MARGIN,1.0,0.0,g,this._Q(h),this._a)}}},_1q:function(c){return(this._b-c)/2},_1M:function(){if(this.hide_legend)return;this._I=Bluff.map(this._1,function(c){return c[this.klass.DATA_LABEL_INDEX]},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._I,function(c){var d=j.length-1;var f=this._0.get_type_metrics(c);var g=f.width+i*2.7;j[d].push(g);if(Bluff.sum(j[d])>(this._b*0.9))j.push([j[d].pop()])},this);var k=this._1q(Bluff.sum(j[0]));var m=this.hide_title?this.top_margin+this.title_margin:this.top_margin+this.title_margin+this._1n;this._x(function(){this._0.stroke_width=1;this._0.line(0,m,this._b,m)});Bluff.each(this._I,function(c,d){this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.pointsize=this._d(this.legend_font_size);this._0.stroke='transparent';this._0.font_weight='normal';this._0.gravity='west';this._0.annotate_scaled(this._b,1.0,k+(i*1.7),m,c,this._a);this._0.stroke='transparent';this._0.fill=this._1[d][this.klass.DATA_COLOR_INDEX];this._0.rectangle(k,m-i/2.0,k+i,m+i/2.0);this._0.pointsize=this.legend_font_size;var f=this._0.get_type_metrics(c);var g=f.width+(i*2.7),h;j[0].shift();if(j[0].length==0){this._x(function(){this._0.line(0.0,m,this._b,m)});j.shift();if(j.length>0)k=this._1q(Bluff.sum(j[0]));h=Math.max(this._1o,i)+this.legend_margin;if(j.length>0){m+=h;this._7+=h;this._3=this._g-this._7}}else{k+=g}},this);this._w=0},_1O: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._d(this.title_font_size);this._0.font_weight='bold';this._0.gravity='north';this._0.annotate_scaled(this._b,1.0,0,this.top_margin,this.title,this._a)},_e:function(c,d){if(this.hide_line_markers)return;var f;if(this.labels[d]&&!this._u[d]){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._d(this.marker_font_size);this._0.gravity='north';this._0.annotate_scaled(1.0,1.0,c,f,this.labels[d],this._a);this._u[d]=true;this._x(function(){this._0.stroke_width=1;this._0.line(0.0,f,this._b,f)})}},_y:function(d,f,g,h,i,j,k,m){if(!this.tooltips)return;var n=this._0.tooltip(d,f,g,h,i,j,k);Bluff.Event.observe(n,'click',function(){var c={series:i,label:this.labels[m],value:k,color:j};this.trigger('click:datapoint',c)},this)},_1J: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._d(80);this._0.gravity='center';this._0.annotate_scaled(this._b,this._L/2,0,10,this.no_data_message,this._a)},_M:function(){var c=this._k.background_colors;switch(true){case c instanceof Array:this._1Q.apply(this,c);break;case typeof c==='string':this._1R(c);break;default:this._1S(this._k.background_image);break}},_1R:function(c){this._0.render_solid_background(this._j,this._t,c)},_1Q:function(c,d){this._0.render_gradiated_background(this._j,this._t,c,d)},_1S:function(c){},_1j:function(){this._w=0;this._u={};this._k={};this._0.scale(this._a,this._a)},_2k:function(c){return this._a*c},_d:function(c){var d=c*this._a;return d},_R:function(c,d){return(c>d)?d:c},_1k:function(c,d){return c>this.maximum_value},_1G:function(c,d){return c<this.minimum_value},_1r:function(c,d){return c},_2l:function(c,d){return c},_19:function(c){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(c)*d},_1L:function(){var f=this._1T,g=this.klass.DATA_VALUES_INDEX;this._9.sort(function(c,d){return f(d[g])-f(c[g])});this._1.sort(function(c,d){return f(d[g])-f(c[g])})},_1T:function(d){var f=0;Bluff.each(d,function(c){f+=(c||0)});return f},_1H:function(){var g=[],h=this._5;while(h--)g[h]=0;Bluff.each(this._1,function(f){Bluff.each(f[this.klass.DATA_VALUES_INDEX],function(c,d){g[d]+=c},this);f[this.klass.DATA_VALUES_INDEX]=Bluff.array(g)},this)},_x:function(c){if(this.klass.DEBUG){this._0.fill='transparent';this._0.stroke='turquoise';c.call(this)}},_1F:function(){var c=this._w;this._w=(this._w+1)%this.colors.length;return this.colors[c]},_Q:function(c){var d=this.klass.THOUSAND_SEPARATOR,f=(this._i%this.marker_count==0||this.y_axis_increment!==null)?String(Math.round(c)):String(Math.floor(c*this._1m)/this._1m);var g=f.split('.');g[0]=g[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,'$1'+d);return g.join('.')},_P:function(c){return this._0.caps_height(c)},_H:function(c,d){return this._0.text_width(c,d)}});Bluff.Area=new JS.Class(Bluff.Base,{draw:function(){this.callSuper();if(!this._c)return;this._S=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[this.klass.DATA_VALUES_INDEX],function(c,d){var f=this._2+(this._S*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._2);i.push(this._g-1);i.push(f);i.push(g)}this._e(f,d);j=f;k=g},this);i.push(this._l);i.push(this._g-1);i.push(this._2);i.push(this._g-1);this._0.fill=h[this.klass.DATA_COLOR_INDEX];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[0]=this.graph_top+this.graph_height*(1-c)+1;d[1]=this.graph_top+this.graph_height-1;break;case 2:d[0]=this.graph_top+1;d[1]=this.graph_top+this.graph_height*(1-c)-1;break;case 3:f=c-this.minimum_value/this.spread;if(c>=this.zero){d[0]=this.graph_top+this.graph_height*(1-(f-this.zero))+1;d[1]=this.graph_top+this.graph_height*(1-this.zero)-1}else{d[0]=this.graph_top+this.graph_height*(1-(f-this.zero))+1;d[1]=this.graph_top+this.graph_height*(1-this.zero)-1}break;default:d[0]=0.0;d[1]=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._c)return;this._T()},_T:function(){this._8=this._6/(this._5*this._1.length);var n=(this._8*(1-this.bar_spacing))/2;this._0.stroke_opacity=0.0;var l=new Bluff.BarConversion();l.graph_height=this._3;l.graph_top=this._7;if(this.minimum_value>=0){l.mode=1}else{if(this.maximum_value<=0){l.mode=2}else{l.mode=3;l.spread=this._i;l.minimum_value=this.minimum_value;l.zero=-this.minimum_value/this._i}}Bluff.each(this._9,function(j,k){var m=this._1[k][this.klass.DATA_VALUES_INDEX];Bluff.each(j[this.klass.DATA_VALUES_INDEX],function(c,d){var f=this._2+(this._8*(k+d+((this._1.length-1)*d)))+n;var g=f+this._8*this.bar_spacing;var h=[];l.getLeftYRightYscaled(c,h);this._0.fill=j[this.klass.DATA_COLOR_INDEX];this._0.rectangle(f,h[0],g,h[1]);this._y(f,h[0],g-f,h[1]-h[0],j[this.klass.DATA_LABEL_INDEX],j[this.klass.DATA_COLOR_INDEX],m[d],d);var i=this._2+(this._1.length*this._8*d)+(this._1.length*this._8/2.0);this._e(i-(this.center_labels_over_point?this._8/2.0:0.0),d)},this)},this);if(this.center_labels_over_point)this._e(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(c){if(arguments.length>3)throw'Wrong number of arguments';if(arguments.length===1||(typeof arguments[1]!=='number'&&typeof arguments[1]!=='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._c)return;this.x_increment=(this._5>1)?(this._6/(this._5-1)):this._6;var l;if(this._U!==undefined){l=this._7+(this._3-this._U*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._2,l,this._2+this._6,l);this._0.pop()}Bluff.each(this._9,function(i,j){var k=null,m=null;var n=this._1[j][this.klass.DATA_VALUES_INDEX];this._1U=this._1V(i);Bluff.each(i[this.klass.DATA_VALUES_INDEX],function(c,d){var f=this._2+(this.x_increment*d);if(typeof c!=='number')return;this._e(f,d);var g=this._7+(this._3-c*this._3);this._0.stroke=i[this.klass.DATA_COLOR_INDEX];this._0.fill=i[this.klass.DATA_COLOR_INDEX];this._0.stroke_opacity=1.0;this._0.stroke_width=this.line_width||this._R(this._j/(this._9[0][this.klass.DATA_VALUES_INDEX].length*6),3.0);var h=this.dot_radius||this._R(this._j/(this._9[0][this.klass.DATA_VALUES_INDEX].length*2),7.0);if(!this.hide_lines&&k!==null&&m!==null){this._0.line(k,m,f,g)}else if(this._1U){this._0.circle(f,g,f-h,g)}if(!this.hide_dots)this._0.circle(f,g,f-h,g);this._y(f-h,g-h,2*h,2*h,i[this.klass.DATA_LABEL_INDEX],i[this.klass.DATA_COLOR_INDEX],n[d],d);k=f;m=g},this)},this)},_16:function(){this.maximum_value=Math.max(this.maximum_value,this.baseline_value);this.callSuper();if(this.baseline_value!==null)this._U=this.baseline_value/this.maximum_value},_1V:function(d){var f=0;Bluff.each(d[this.klass.DATA_VALUES_INDEX],function(c){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._c)return;var k=1.0;this._J=this._3/this._5;this._1a=this._J*k/this._9.length;this._0.stroke_opacity=0.0;var m=Bluff.array_new(this._5,0),n=Bluff.array_new(this._5,this._2),l=(this._J*(1-k))/2;Bluff.each(this._9,function(i,j){Bluff.each(i[this.klass.DATA_VALUES_INDEX],function(c,d){var f=this._2+(c*this._6)-Math.round(this._1a/6.0);var g=this._7+(this._J*d)+l+Math.round(this._1a/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._2,g,this._2+this._6,g)}this._0.fill=i[this.klass.DATA_COLOR_INDEX];this._0.stroke='transparent';this._0.circle(f,g,f+Math.round(this._1a/3.0),g);var h=this._7+(this._J*d+this._J/2)+l;this._e(h,d)},this)},this)},_N:function(){if(this.hide_line_markers)return;this._0.stroke_antialias=false;this._0.stroke_width=1;var c=5;var d=this._19(this.maximum_value/c);for(var f=0;f<=c;f++){var g=(this._l-this._2)/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._d(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._a)}this._0.stroke_antialias=true}},_e:function(c,d){if(this.labels[d]&&!this._u[d]){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._d(this.marker_font_size);this._0.gravity='east';this._0.annotate_scaled(1,1,this._2-this.klass.LABEL_MARGIN*2.0,c,this.labels[d],this._a);this._u[d]=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._c)return;this._z=this._3/2.0;this._A=this._2+(this._6/2.0);this._B=this._7+(this._3/2.0)-10;this._S=this._6/(this._5-1);var s=this.dot_radius||this._R(this._j/(this._9[0][this.klass.DATA_VALUES_INDEX].length*2.5),7.0);this._0.stroke_opacity=1.0;this._0.stroke_width=this.line_width||this._R(this._j/(this._9[0][this.klass.DATA_VALUES_INDEX].length*4),3.0);var r;if(this._U!==undefined){r=this._7+(this._3-this._U*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._2,r,this._2+this._6,r);this._0.pop()}Bluff.each(this._9,function(o){var p=null,q=null;Bluff.each(o[this.klass.DATA_VALUES_INDEX],function(c,d){if(c===undefined)return;var f=d*Math.PI*2/this._5,g=c*this._z,h=this._A+Math.sin(f)*g,i=this._B-Math.cos(f)*g,j=(d+1<o[this.klass.DATA_VALUES_INDEX].length)?d+1:0,k=j*Math.PI*2/this._5,m=o[this.klass.DATA_VALUES_INDEX][j]*this._z,n=this._A+Math.sin(k)*m,l=this._B-Math.cos(k)*m;this._0.stroke=o[this.klass.DATA_COLOR_INDEX];this._0.fill=o[this.klass.DATA_COLOR_INDEX];this._0.line(h,i,n,l);if(!this.hide_dots)this._0.circle(h,i,h-s,i)},this)},this)},_N:function(){if(this.hide_line_markers)return;this._z=this._3/2.0;this._A=this._2+(this._6/2.0);this._B=this._7+(this._3/2.0)-10;var c,d;for(var f=0,g=this._5;f<g;f++){c=f*Math.PI*2/this._5;this._0.stroke=this.marker_color;this._0.stroke_width=1;this._0.line(this._A,this._B,this._A+Math.sin(c)*this._z,this._B-Math.cos(c)*this._z);d=this.labels[f]?this.labels[f]:'000';this._e(this._A,this._B,c*360/(2*Math.PI),this._z,d)}},_e:function(c,d,f,g,h){var i=1.1,j=c,k=d,m=f*Math.PI/180,n=j+(g*i*Math.sin(m)),l=k-(g*i*Math.cos(m));this._0.fill=this.marker_color;if(this.font)this._0.font=this.font;this._0.pointsize=this._d(20);this._0.stroke='transparent';this._0.font_weight='bold';this._0.gravity='center';this._0.annotate_scaled(0,0,n,l,h,this._a)}});Bluff.Pie=new JS.Class(Bluff.Base,{extend:{TEXT_OFFSET_PERCENTAGE:0.08},zero_degreee:null,hide_labels_less_than:null,initialize_ivars:function(){this.callSuper();this.zero_degree=0.0;this.hide_labels_less_than=0.0},draw:function(){this.hide_line_markers=true;this.callSuper();if(!this._c)return;var j=this._3,k=(Math.min(this._6,this._3)/2.0)*0.8,m=this._2+(this._6-j)/2.0,n=this._2+(this._6/2.0),l=this._7+(this._3/2.0)-10,o=this._1W(),p=this.zero_degree,q=this.klass.DATA_VALUES_INDEX;if(this.sort)this._1.sort(function(a,b){return a[q][0]-b[q][0]});Bluff.each(this._1,function(c,d){if(c[this.klass.DATA_VALUES_INDEX][0]>0){this._0.fill=c[this.klass.DATA_COLOR_INDEX];var f=(c[this.klass.DATA_VALUES_INDEX][0]/o)*360;this._0.circle(n,l,n+k,l,p,p+f+0.5);var g=p+((p+f)-p)/2,h=Math.round((c[this.klass.DATA_VALUES_INDEX][0]/o)*100.0),i;if(h>=this.hide_labels_less_than){i=this._Q(c[this.klass.DATA_VALUES_INDEX][0]);this._e(n,l,g,k+(k*this.klass.TEXT_OFFSET_PERCENTAGE),i,c,d)}p+=f}},this)},_e:function(c,d,f,g,h,i,j){var k=20.0,m=c,n=d,l=g+k,o=l*0.15,p=m+((l+o)*Math.cos(f*Math.PI/180)),q=n+(l*Math.sin(f*Math.PI/180));this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.pointsize=this._d(this.marker_font_size);this._0.font_weight='bold';this._0.gravity='center';this._0.annotate_scaled(0,0,p,q,h,this._a);this._y(p-20,q-20,40,40,i[this.klass.DATA_LABEL_INDEX],i[this.klass.DATA_COLOR_INDEX],h,j)},_1W:function(){var d=0;Bluff.each(this._1,function(c){d+=c[this.klass.DATA_VALUES_INDEX][0]},this);return d}});Bluff.SideBar=new JS.Class(Bluff.Base,{bar_spacing:0.9,draw:function(){this.has_left_labels=true;this.callSuper();if(!this._c)return;this._T()},_T:function(){this._V=this._3/this._5;this._8=this._V/this._9.length;this._0.stroke_opacity=0.0;var q=Bluff.array_new(this._5,0),s=Bluff.array_new(this._5,this._2),r=(this._8*(1-this.bar_spacing))/2;Bluff.each(this._9,function(l,o){var p=this._1[o][this.klass.DATA_VALUES_INDEX];Bluff.each(l[this.klass.DATA_VALUES_INDEX],function(c,d){var f=this._2+(this._6-c*this._6-q[d]),g=this._2+this._6-q[d],h=g-f,i=s[d]-1,j=this._7+(this._V*d)+(this._8*o)+r,k=i+h,m=j+this._8*this.bar_spacing;q[d]+=(c*this._6);this._0.stroke='transparent';this._0.fill=l[this.klass.DATA_COLOR_INDEX];this._0.rectangle(i,j,k,m);this._y(i,j,k-i,m-j,l[this.klass.DATA_LABEL_INDEX],l[this.klass.DATA_COLOR_INDEX],p[d],d);var n=this._7+(this._V*d+this._V/2);this._e(n,d)},this)},this)},_N:function(){if(this.hide_line_markers)return;this._0.stroke_antialias=false;this._0.stroke_width=1;var c=5;var d=this._19(this._i/c),f,g,h,i;for(var j=0;j<=c;j++){f=(this._l-this._2)/c;g=this._l-(f*j)-1;h=j-c;i=Math.abs(h)*d+this.minimum_value;this._0.stroke=this.marker_color;this._0.line(g,this._g,g,this._7);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._d(this.marker_font_size);this._0.gravity='center';this._0.annotate_scaled(0,0,g,this._g+(this.klass.LABEL_MARGIN*2.0),this._Q(i),this._a)}}},_e:function(c,d){if(this.labels[d]&&!this._u[d]){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._d(this.marker_font_size);this._0.gravity='east';this._0.annotate_scaled(1,1,this._2-this.klass.LABEL_MARGIN*2.0,c,this.labels[d],this._a);this._u[d]=true}}});Bluff.Spider=new JS.Class(Bluff.Base,{hide_text:null,hide_axes:null,transparent_background:null,initialize:function(c,d,f){this.callSuper(c,f);this._1X=d;this.hide_legend=true},draw:function(){this.hide_line_markers=true;this.callSuper();if(!this._c)return;var c=this._3,d=this._3/2.0,f=this._2+(this._6-c)/2.0,g=this._2+(this._6/2.0),h=this._7+(this._3/2.0)-25;this._1Y=d/this._1X;var i=this._1Z(),j=0.0,k=(2*Math.PI)/this._1.length,m=0.0;if(!this.hide_axes)this._20(g,h,d,k);this._21(g,h,k)},_1s:function(c){return c*this._1Y},_e:function(c,d,f,g,h){var i=50,j=c,k=d+0,m=j+((g+i)*Math.cos(f)),n=k+((g+i)*Math.sin(f));this._0.fill=this.marker_color;if(this.font)this._0.font=this.font;this._0.pointsize=this._d(this.legend_font_size);this._0.stroke='transparent';this._0.font_weight='bold';this._0.gravity='center';this._0.annotate_scaled(0,0,m,n,h,this._a)},_20:function(g,h,i,j,k){if(this.hide_axes)return;var m=0.0;Bluff.each(this._1,function(c){this._0.stroke=k||c[this.klass.DATA_COLOR_INDEX];this._0.stroke_width=5.0;var d=i*Math.cos(m);var f=i*Math.sin(m);this._0.line(g,h,g+d,h+f);if(!this.hide_text)this._e(g,h,m,i,c[this.klass.DATA_LABEL_INDEX]);m+=j},this)},_21:function(d,f,g,h){var i=[],j=0.0;Bluff.each(this._1,function(c){i.push(d+this._1s(c[this.klass.DATA_VALUES_INDEX][0])*Math.cos(j));i.push(f+this._1s(c[this.klass.DATA_VALUES_INDEX][0])*Math.sin(j));j+=g},this);this._0.stroke_width=1.0;this._0.stroke=h||this.marker_color;this._0.fill=h||this.marker_color;this._0.fill_opacity=0.4;this._0.polyline(i)},_1Z:function(){var d=0.0;Bluff.each(this._1,function(c){d+=c[this.klass.DATA_VALUES_INDEX][0]},this);return d}});Bluff.Base.StackedMixin=new JS.Module({_1b:function(){var g={};Bluff.each(this._1,function(f){Bluff.each(f[this.klass.DATA_VALUES_INDEX],function(c,d){if(!g[d])g[d]=0.0;g[d]+=c},this)},this);for(var h in g){if(g[h]>this.maximum_value)this.maximum_value=g[h]}this.minimum_value=0}});Bluff.StackedArea=new JS.Class(Bluff.Base,{include:Bluff.Base.StackedMixin,last_series_goes_on_bottom:null,draw:function(){this._1b();this.callSuper();if(!this._c)return;this._S=this._6/(this._5-1);this._0.stroke='transparent';var n=Bluff.array_new(this._5,0);var l=null;var o=this.last_series_goes_on_bottom?'reverse_each':'each';Bluff[o](this._9,function(h){var i=l;l=[];Bluff.each(h[this.klass.DATA_VALUES_INDEX],function(c,d){var f=this._2+(this._S*d);var g=this._7+(this._3-c*this._3-n[d]);n[d]+=(c*this._3);l.push(f);l.push(g);this._e(f,d)},this);var j,k,m;if(i){j=Bluff.array(l);for(k=i.length/2-1;k>=0;k--){j.push(i[2*k]);j.push(i[2*k+1])}j.push(l[0]);j.push(l[1])}else{j=Bluff.array(l);j.push(this._l);j.push(this._g-1);j.push(this._2);j.push(this._g-1);j.push(l[0]);j.push(l[1])}this._0.fill=h[this.klass.DATA_COLOR_INDEX];this._0.polyline(j)},this)}});Bluff.StackedBar=new JS.Class(Bluff.Base,{include:Bluff.Base.StackedMixin,bar_spacing:0.9,draw:function(){this._1b();this.callSuper();if(!this._c)return;this._8=this._6/this._5;var l=(this._8*(1-this.bar_spacing))/2;this._0.stroke_opacity=0.0;var o=Bluff.array_new(this._5,0);Bluff.each(this._9,function(k,m){var n=this._1[m][this.klass.DATA_VALUES_INDEX];Bluff.each(k[this.klass.DATA_VALUES_INDEX],function(c,d){var f=this._2+(this._8*d)+(this._8*this.bar_spacing/2.0);this._e(f,d);if(c==0)return;var g=this._2+(this._8*d)+l;var h=this._7+(this._3-c*this._3-o[d])+1;var i=g+this._8*this.bar_spacing;var j=this._7+this._3-o[d]-1;o[d]+=(c*this._3);this._0.fill=k[this.klass.DATA_COLOR_INDEX];this._0.rectangle(g,h,i,j);this._y(g,h,i-g,j-h,k[this.klass.DATA_LABEL_INDEX],k[this.klass.DATA_COLOR_INDEX],n[d],d)},this)},this)}});Bluff.AccumulatorBar=new JS.Class(Bluff.StackedBar,{draw:function(){if(this._1.length!==1)throw'Incorrect number of datasets';var g=[],h=0,i=[];Bluff.each(this._1[0][this.klass.DATA_VALUES_INDEX],function(d){var f=-Infinity;Bluff.each(i,function(c){f=Math.max(f,c)});i.push((h>0)?(d+f):d);g.push(i[h]-d);h+=1},this);this.data("Accumulator",g);this.callSuper()}});Bluff.SideStackedBar=new JS.Class(Bluff.SideBar,{include:Bluff.Base.StackedMixin,bar_spacing:0.9,draw:function(){this.has_left_labels=true;this._1b();this.callSuper()},_T:function(){this._8=this._3/this._5;var q=Bluff.array_new(this._5,0),s=Bluff.array_new(this._5,this._2),r=(this._8*(1-this.bar_spacing))/2;Bluff.each(this._9,function(l,o){var p=this._1[o][this.klass.DATA_VALUES_INDEX];Bluff.each(l[this.klass.DATA_VALUES_INDEX],function(c,d){var f=this._2+(this._6-c*this._6-q[d])+1;var g=this._2+this._6-q[d]-1;var h=g-f;this._0.fill=l[this.klass.DATA_COLOR_INDEX];var i=s[d],j=this._7+(this._8*d)+r,k=i+h,m=j+this._8*this.bar_spacing;s[d]+=h;q[d]+=(c*this._6-2);this._0.rectangle(i,j,k,m);this._y(i,j,k-i,m-j,l[this.klass.DATA_LABEL_INDEX],l[this.klass.DATA_COLOR_INDEX],p[d],d);var n=this._7+(this._8*d)+(this._8*this.bar_spacing/2.0);this._e(n,d)},this)},this)},_1k:function(c,d){d=d||0;return this._1r(c,d)>this.maximum_value},_1r:function(d,f){var g=0;Bluff.each(this._1,function(c){g+=c[this.klass.DATA_VALUES_INDEX][f]},this);return g}});Bluff.Mini.Legend=new JS.Module({hide_mini_legend:false,_1c:function(){if(this.hide_mini_legend)return;this._I=Bluff.map(this._1,function(c){return c[this.klass.DATA_LABEL_INDEX]},this);var d=this._d(this._1.length*this._1t()+this.top_margin+this.bottom_margin);this._22=this._L;this._23=this._b;switch(this.legend_position){case'right':this._t=Math.max(this._t,d);this._j+=this._24()+this.left_margin;break;default:this._t+=d;break}this._M()},_1t:function(){return this._P(this.legend_font_size)*1.7},_24:function(){var d=0;Bluff.each(this._I,function(c){d=Math.max(this._H(this.legend_font_size,c),d)},this);return this._d(d+40*1.7)},_1d:function(){if(this.hide_mini_legend)return;var f=40.0,g=10.0,h=100.0,i=40.0;if(this.font)this._0.font=this.font;this._0.pointsize=this.legend_font_size;var j,k;switch(this.legend_position){case'right':j=this._23+this.left_margin;k=this.top_margin+i;break;default:j=h,k=this._22+i;break}this._x(function(){this._0.line(0.0,k,this._b,k)});Bluff.each(this._I,function(c,d){this._0.fill=this.font_color;if(this.font)this._0.font=this.font;this._0.pointsize=this._d(this.legend_font_size);this._0.stroke='transparent';this._0.font_weight='normal';this._0.gravity='west';this._0.annotate_scaled(this._b,1.0,j+(f*1.7),k,this._25(c),this._a);this._0.stroke='transparent';this._0.fill=this._1[d][this.klass.DATA_COLOR_INDEX];this._0.rectangle(j,k-f/2.0,j+f,k+f/2.0);k+=this._1t()},this);this._w=0},_25:function(c){var d=String(c);while(this._H(this._d(this.legend_font_size),d)>(this._j-this.legend_left_margin-this.right_margin)&&(d.length>1))d=d.substr(0,d.length-1);return d+(d.length<String(c).length?"...":'')}});Bluff.Mini.Bar=new JS.Class(Bluff.Bar,{include:Bluff.Mini.Legend,initialize_ivars:function(){this.callSuper();this.hide_legend=true;this.hide_title=true;this.hide_line_numbers=true;this.marker_font_size=50.0;this.minimum_value=0.0;this.maximum_value=0.0;this.legend_font_size=60.0},draw:function(){this._1c();this.callSuper();this._1d()}});Bluff.Mini.Pie=new JS.Class(Bluff.Pie,{include:Bluff.Mini.Legend,initialize_ivars:function(){this.callSuper();this.hide_legend=true;this.hide_title=true;this.hide_line_numbers=true;this.marker_font_size=60.0;this.legend_font_size=60.0},draw:function(){this._1c();this.callSuper();this._1d()}});Bluff.Mini.SideBar=new JS.Class(Bluff.SideBar,{include:Bluff.Mini.Legend,initialize_ivars:function(){this.callSuper();this.hide_legend=true;this.hide_title=true;this.hide_line_numbers=true;this.marker_font_size=50.0;this.legend_font_size=50.0},draw:function(){this._1c();this.callSuper();this._1d()}});Bluff.Renderer=new JS.Class({extend:{WRAPPER_CLASS:'bluff-wrapper',TEXT_CLASS:'bluff-text',TARGET_CLASS:'bluff-tooltip-target'},font:'Arial, Helvetica, Verdana, sans-serif',gravity:'north',initialize:function(c){this._n=document.getElementById(c);this._4=this._n.getContext('2d')},scale:function(c,d){this._f=c;this._h=d||c},caps_height:function(c){var d=this._W(c,'X'),f=this._K(d).height;this._X(d);return f},text_width:function(c,d){var f=this._W(c,d);var g=this._K(f).width;this._X(f);return g},get_type_metrics:function(c){var d=this._W(this.pointsize,c);document.body.appendChild(d);var f=this._K(d);this._X(d);return f},clear:function(c,d){this._n.width=c;this._n.height=d;this._4.clearRect(0,0,c,d);var f=this._1u(),g=f.childNodes,h=g.length;f.style.width=c+'px';f.style.height=d+'px';while(h--){if(g[h].tagName.toLowerCase()!=='canvas'){Bluff.Event.stopObserving(g[h]);this._X(g[h])}}},push:function(){this._4.save()},pop:function(){this._4.restore()},render_gradiated_background:function(c,d,f,g){this.clear(c,d);var h=this._4.createLinearGradient(0,0,0,d);h.addColorStop(0,f);h.addColorStop(1,g);this._4.fillStyle=h;this._4.fillRect(0,0,c,d)},render_solid_background:function(c,d,f){this.clear(c,d);this._4.fillStyle=f;this._4.fillRect(0,0,c,d)},annotate_scaled:function(c,d,f,g,h,i){var j=(c*i)>=1?(c*i):1;var k=(d*i)>=1?(d*i):1;var h=this._W(this.pointsize,h);h.style.color=this.fill;h.style.cursor='default';h.style.fontWeight=this.font_weight;h.style.textAlign='center';h.style.left=(this._f*f+this._26(h,j))+'px';h.style.top=(this._h*g+this._27(h,k))+'px'},tooltip:function(d,f,g,h,i,j,k){if(g<0)d+=g;if(h<0)f+=h;var m=this._n.parentNode,n=document.createElement('div');n.className=this.klass.TARGET_CLASS;n.style.cursor='default';n.style.position='absolute';n.style.left=(this._f*d-3)+'px';n.style.top=(this._h*f-3)+'px';n.style.width=(this._f*Math.abs(g)+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(c){Bluff.Tooltip.show(i,j,k)});Bluff.Event.observe(n,'mouseout',function(c){Bluff.Tooltip.hide()});m.appendChild(n);return n},circle:function(c,d,f,g,h,i){var j=Math.sqrt(Math.pow(f-c,2)+Math.pow(g-d,2));var k=0,m=2*Math.PI;this._4.fillStyle=this.fill;this._4.beginPath();if(h!==undefined&&i!==undefined&&Math.abs(Math.floor(i-h))!==360){k=h*Math.PI/180;m=i*Math.PI/180;this._4.moveTo(this._f*(c+j*Math.cos(m)),this._h*(d+j*Math.sin(m)));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,m,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(c){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){}},_26:function(c,d){var f=this._K(c).width;switch(this.gravity){case'west':return 0;case'east':return d-f;case'north':case'south':case'center':return(d-f)/2}},_27:function(c,d){var f=this._K(c).height;switch(this.gravity){case'north':return 0;case'south':return d-f;case'west':case'east':case'center':return(d-f)/2}},_1u: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},_W:function(c,d){var f=this._28(d);f.style.fontFamily=this.font;f.style.fontSize=(typeof c==='number')?c+'px':c;return f},_28:function(c){var d=document.createElement('div');d.className=this.klass.TEXT_CLASS;d.style.position='absolute';d.appendChild(document.createTextNode(c));this._1u().appendChild(d);return d},_X:function(c){c.parentNode.removeChild(c);if(c.className===this.klass.TARGET_CLASS)Bluff.Event.stopObserving(c)},_K:function(c){var d=c.style.display;return(d&&d!=='none')?{width:c.offsetWidth,height:c.offsetHeight}:{width:c.clientWidth,height:c.clientHeight}}});Bluff.Event={_Y:[],_1v:(window.attachEvent&&navigator.userAgent.indexOf('Opera')===-1),observe:function(d,f,g,h){var i=Bluff.map(this._1w(d,f),function(c){return c._29});if(Bluff.index(i,g)!==-1)return;var j=function(c){g.call(h||null,d,Bluff.Event._2a(c))};this._Y.push({_Z:d,_1e:f,_29:g,_1x:j});if(d.addEventListener)d.addEventListener(f,j,false);else d.attachEvent('on'+f,j)},stopObserving:function(d){var f=d?this._1w(d):this._Y;Bluff.each(f,function(c){if(c._Z.removeEventListener)c._Z.removeEventListener(c._1e,c._1x,false);else c._Z.detachEvent('on'+c._1e,c._1x)})},_1w:function(d,f){var g=[];Bluff.each(this._Y,function(c){if(d&&c._Z!==d)return;if(f&&c._1e!==f)return;g.push(c)});return g},_2a:function(c){if(!this._1v)return c;if(!c)return false;if(c._2b)return c;c._2b=true;var d=this._2c(c);c.target=c.srcElement;c.pageX=d.x;c.pageY=d.y;return c},_2c:function(c){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._1v)window.attachEvent('onunload',function(){Bluff.Event.stopObserving();Bluff.Event._Y=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+';">&nbsp;</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|[1-9]\d*)(\.\d+)?(e[\+\-]?\d+)?/i,initialize:function(c,d){this._1f=d||{};this._2d=this._1f.orientation||'auto';this._2e=(typeof c==='string')?document.getElementById(c):c},get_data:function(){if(!this._1)this._1y();return this._1},get_labels:function(){if(!this._1g)this._1y();return this._1g},get_title:function(){return this._2f},get_series:function(c){if(this._1[c])return this._1[c];return this._1[c]={points:[]}},_1y:function(){this._C=this._m=0;this._p=this._q=0;this._1=[];this._1g={};this._r=[];this._s=[];this._1h=[];this._1i=[];this._1z(this._2e);this._2g();this._2h();Bluff.each(this._s,function(c,d){this.get_series(d-this._q).name=c},this);Bluff.each(this._r,function(c,d){this._1g[d-this._p]=c},this)},_1z:function(c){this._2i(c);var d,f=c.childNodes,g=f.length;for(d=0;d<g;d++)this._1z(f[d])},_2i:function(c){if(!c.tagName)return;var d=this._1A(c.innerHTML),f,g;switch(c.tagName.toUpperCase()){case'TR':if(!this._c)this._p=this._C;this._C+=1;this._m=0;break;case'TD':if(!this._c)this._q=this._m;this._c=true;this._m+=1;d=d.match(this.NUMBER_FORMAT);if(d===null){this.get_series(f).points[g]=null}else{f=this._m-this._q-1;g=this._C-this._p-1;this.get_series(f).points[g]=parseFloat(d[0])}break;case'TH':this._m+=1;if(this._2j(c)){this._1i.push(this._m);this._1h.push(this._C)}if(this._m===1&&this._C===1)this._r[0]=this._s[0]=d;else if(c.scope==="row"||this._m===1)this._r[this._C-1]=d;else this._s[this._m-1]=d;break;case'CAPTION':this._2f=d;break}},_2j:function(c){if(!this._1f.except)return false;var d=this._1A(c.innerHTML),f=(c.className||'').split(/\s+/),g=[].concat(this._1f.except);if(Bluff.index(g,d)>=0)return true;var h=f.length;while(h--){if(Bluff.index(g,f[h])>=0)return true}return false},_2g:function(){var d=this._1i.length,f;while(d--){f=this._1i[d];if(f<=this._q)continue;this._s.splice(f-1,1);if(f>=this._q)this._1.splice(f-1-this._q,1)}var d=this._1h.length,f;while(d--){f=this._1h[d];if(f<=this._p)continue;this._r.splice(f-1,1);Bluff.each(this._1,function(c){if(f>=this._p)c.points.splice(f-1-this._p,1)},this)}},_2h:function(){switch(this._2d){case'auto':if((this._r.length>1&&this._s.length===1)||this._r.length<this._s.length){this._1B()}break;case'rows':this._1B();break}},_1B:function(){var h=this._1,i;this._1=[];Bluff.each(h,function(f,g){Bluff.each(f.points,function(c,d){this.get_series(d).points[g]=c},this)},this);i=this._r;this._r=this._s;this._s=i;i=this._p;this._p=this._q;this._q=i},_1A:function(c){return c.replace(/<\/?[^>]+>/gi,'')},extend:{Mixin:new JS.Module({data_from_table:function(d,f){var g=new Bluff.TableReader(d,f),h=g.get_data();Bluff.each(h,function(c){this.data(c.name,c.points)},this);this.labels=g.get_labels();this.title=g.get_title()||this.title}})}});Bluff.Base.include(Bluff.TableReader.Mixin);