var TsOfcChart=Class.create({initialize:function(C,B,A){this.chartId=C;this.dataURL=B;this.type=null;this.title=null;this.seriesname=null;this.seriesList=null;this.data=null;this.bgImage="http://www.tailsweep.com/images/tailsweep_watermark2.png";this.maxXLabels=25;this.tip=null;this.isOFCEmbedded=false;this.seriesColors=A||["#0099CC","#0066CC","#0033CC","#0000CC"];this.getData(this.dataURL)},embedOFC:function(){swfobject.embedSWF("/swf/open-flash-chart2-dz-embedded-font.swf",this.chartId,"660","300","9.0.0",null,{"get-data":"window['"+this.chartId+"'].ofcInit",id:this.chartId},{wmode:"transparent"},null,function(A){this.swfLoaded(A)}.bind(this))},ofcInit:function(){this.idOFCEmbedded=true;return this.data},swfLoaded:function(A){if(A.success){this.ofcChart=A.ref}},getData:function(A){new Ajax.Request(A,{method:"get",onComplete:this.handleAjaxResponse.bind(this)});return false},handleAjaxResponse:function(A){var D=null;try{var C=A.responseText.evalJSON();this.loadJSON(C)}catch(B){alert(B)}},loadJSON:function(A){this.title=A.title;this.seriesname=A.seriesName;this.seriesList=A.seriesList;this.type=A.type;this.tip=A.tip;this.yMax=A.yMax;if(this.type==="line"){this.data=this.getLineChart()}else{if(this.type==="bar"){this.data=this.getBarChart()}else{if(this.type==="pie"){this.data=this.getPieChart()}}}if(!this.isOFCEmbedded){this.embedOFC()}else{this.ofcChart.load(this.data)}},getLineChart:function(){var L='{"title":{"text":"'+this.title+'","style": "{font-size: 20px; color:#666666; font-family: Verdana; text-align: center;}"},';L+='"elements":[';var G=0;var I=this.seriesList[0].series.length;for(var D=0;D<this.seriesList.length;D++){var E=this.seriesList[D].series;var B="#x_label#<br>#val#";if(this.seriesList[D].tip){B=this.seriesList[D].tip}L+='{"on-show":{"type":""},"type":"area","alpha":0.7,"colour":"'+this.seriesColors[D]+'","text":"'+this.seriesList[D].name+'","fill-alpha": 0.1,"fill": "'+this.seriesColors[D]+'","font-size": 10,"dot-style": {"type": "hollow-dot","dot-size": 4,"halo-size": 0,"tip":"'+B+'","colour": "'+this.seriesColors[D]+'"},';L+='"values":[';for(var F=0;F<E.length;F++){var J=parseInt(E[F].value);if(isNaN(J)){J=null}L+=J;if(J>G){G=J}if(F<(E.length-1)){L+=","}}L+="]}";if(D<(this.seriesList.length-1)){L+=","}}L+="],";L+='"x_axis":{"min":0, "max":'+I+',"visible-steps":0, "steps":'+I+',"stroke":1,"tick_height":5,"offset":10,"colour":"#aaaaaa","grid-colour":"#cccccc","labels": {"rotate":320,';L+='"labels":[';var A=parseInt(I/this.maxXLabels);var K=0;if(E){for(var F=0;F<E.length;F++){K++;var H=E[F].label;L+='{"x":'+F+',"text":"'+H+'",';if(A==0||K==A){L+='"visible":true,';K=0}else{L+='"visible":false,'}L+='"justify":"left"}';if(F<(E.length-1)){L+=","}}}L+="]";L+="}},";var C=this.getOfcMax(G);if(this.yMax>0){C=this.yMax}L+='"y_axis":{"stroke":2, "tick_height":5,"tick_length":3,"colour":"#cccccc","grid-colour": "#cccccc","offset":0,"min":0,"max":"';L+=C;L+='","visible-steps":10, "steps":"'+this.getOfcYsteps(C)+'"';L+='},"bg_colour":"#ffffff","bg_image":"'+this.bgImage+'","bg_image_x":"center","bg_image_y":"middle"}';return L},getBarChart:function(){var I='{"title":{"text":"'+this.title+'","style": "{font-size: 20px; color:#666666; font-family: Verdana; text-align: center;}"},';I+='"elements":[';for(var C=0;C<this.seriesList.length;C++){var A="#x_label#<br>#val#";if(this.seriesList[C].tip){A=this.seriesList[C].tip}var D=this.seriesList[C].series;I+='{"on-show":{"type":""},"type":"bar","tip":"'+A+'","barwidth":0.9,"alpha":0.7,"colour":"'+this.seriesColors[C]+'","text":"'+this.seriesList[C].name+'","font-size": 10,"fill-alpha":0.2,';I+='"values":[';var F=0;for(var E=0;E<D.length;E++){var H=parseInt(D[E].value);I+=D[E].value;if(H>F){F=H}if(E<(D.length-1)){I+=","}}I+="]}";if(C<(this.seriesList.length-1)){I+=","}}I+="],";I+='"x_axis":{"visible-steps": 10, "steps":"2","stroke":2,"tick_height":5,"offset":10,"colour":"#aaaaaa","grid-colour":"#cccccc","labels": {"steps":"2", "rotate":320,';I+='"labels":[';if(D){for(var E=0;E<D.length;E++){var G=D[E].label;I+='"'+G+'"';if(E<(D.length-1)){I+=","}}}I+="]}},";var B=this.getOfcMax(F);I+='"y_axis":{"stroke":2, "tick_height":5,"tick_length":3,"colour":"#cccccc","grid-colour": "#cccccc","offset":0,"min":0,"max":"';I+=B;I+='","steps":"'+this.getOfcYsteps(B)+'"';I+='},"bg_colour":"#ffffff","bg_image":"'+this.bgImage+'","bg_image_x":"center","bg_image_y":"middle"}';return I},getPieChart:function(){var D='{"title":{"text":"'+this.title+'","style": "{font-size: 20px; color:#666666; font-family: Verdana; text-align: center;}"},';D+='"elements":[';for(var A=0;A<this.seriesList.length;A++){var C=this.seriesList[A].series;D+='{"type":"pie","animate": [ { "type": "fade" }, { "type": "bounce", "distance": 10 }],"tip":"'+this.seriesList[A].tip+'","alpha":0.7,"colours":'+this.seriesColors.toJSON()+',"text":"'+this.seriesList[A].name+'","font-size": 10,"fill-alpha":0.2,';D+='"values":[';for(var B=0;B<C.length;B++){var E=parseInt(C[B].value);D+='{"value":'+C[B].value+', "label":"'+C[B].label+'"}';if(B<(C.length-1)){D+=","}}D+='],"radius": 100}';if(A<(this.seriesList.length-1)){D+=","}}D+="],";D+='"bg_colour":"#ffffff","bg_image":"'+this.bgImage+'","bg_image_x":"center","bg_image_y":"middle"}';return D},getOfcYsteps:function(A){var B=1;if(A>200000){B=50000}else{if(A>20000){B=10000}else{if(A>2000){B=1000}else{if(A>200){B=100}else{if(A>20){B=10}else{if(A>1){B=1}else{if(A>0.5){B=0.1}}}}}}}return B},getOfcMax:function(C){var A=parseInt(C);if(A<1){return 1}var B=Math.pow(10,(""+A).length-1);A=A-(A%B)+B;return A}});