OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
docroot
/
showcase
/
js
/
SVG
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/31/2022 06:53:36 AM
rwxr-xr-x
📄
SVGAll.js
43.74 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
app2.css
6.71 KB
08/14/2022 11:05:26 AM
rw-r--r--
📄
appanimate.js
7.62 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
appcharts.js
33.33 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
appcontroller.js
20.15 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
appmodel.js
1.41 KB
08/14/2022 11:05:26 AM
rw-r--r--
📄
arundata2.js
1.33 KB
08/14/2022 11:05:26 AM
rw-r--r--
📄
charts_svg.js
622 bytes
08/14/2022 11:05:26 AM
rw-r--r--
📄
d3.v2.js
234.06 KB
08/14/2022 11:05:26 AM
rw-r--r--
📄
d3.v3.js
253.25 KB
08/14/2022 11:05:25 AM
rw-r--r--
📄
spec.js
3.77 KB
08/14/2022 11:05:25 AM
rw-r--r--
Editing: SVGAll.js
Close
LOG_PROD=2;LOG_INFO=3;LOG_DEBUG=4;LOG_TRACE=5;LOG_MODE=5;function appcolors(b){var a=["#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#cccccc","#0011cc","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262"];return a[b]}function cubSvg(){this.containerid;this.layout}function cubAxis(){this.Scale;this.Axis;this.props;this.z;this.data}function cubChart(){this.chart;this.data;this.spec;this.path;this.position}function eventResponse(){this.chartno;this.data;this.eventname}function page(a){this.svgpage=initSVG(a);this.data=a.data;this.charts=new Array();this.axes=new Array();this.axespos=new Array();this.nthaxis=0;this.nthchart=0}function cublog(a,b){if(LOG_MODE>=a){console.log(b)}}function initSVG(a){var b=new cubSvg();if(typeof a=="undefined"){}b.layout=a.layout;b.containerid=a.containerid;d3.select(b.containerid).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("visibility","hidden");var c=d3.select(b.containerid).select(".myChart").append("svg").attr("width",b.layout.width).attr("height",b.layout.height).attr("class","svgchart").attr("transform","translate("+b.layout.top+","+b.layout.left+")");b.svg=c.append("svg:g");defineFilters(b.svg);return b}function defineFilters(d){var c=d.append("svg:defs").append("svg:filter").attr("id","rxdropshadow");c.append("svg:feGaussianBlur").attr("stdDeviation",3);c.append("svg:feOffset").attr("result","offsetblur").attr("dx","5").attr("dy","0");c.append("svg:feComponentTransfer").append("svg:feFuncA").attr("type","linear").attr("slope","0.25");var b=c.append("svg:feMerge");b.append("svg:feMergeNode");b.append("svg:feMergeNode").attr("in","SourceGraphic");var c=d.append("svg:defs").append("svg:filter").attr("id","rx3dblureffect").attr("x","0").attr("y","0");c.append("svg:feGaussianBlur").attr("stdDeviation",3).attr("in","SourceGraphic");var c=d.append("svg:defs").append("svg:filter").attr("id","rx3dfilter").attr("filterUnits","userSpaceOnUse").attr("x","0").attr("y","0").attr("width","1400").attr("height","620");c.append("svg:feGaussianBlur").attr("in","SourceAlpha").attr("stdDeviation",4).attr("result","blur");c.append("svg:feOffset").attr("in","blur").attr("result","offsetBlur").attr("dx","4").attr("dy","4");var e=c.append("svg:feSpecularLighting").attr("in","blur").attr("surfaceScale","5").attr("specularConstant","0.75").attr("specularExponent","20").attr("lighting-color","#bbb").attr("result","specOut");e.append("svg:fePointLight").attr("x","-5000").attr("y","-10000").attr("z","20000");c.append("svg:feComposite").attr("in","specOut").attr("in2","SourceAlpha").attr("operator","in").attr("result","specOut");c.append("svg:feComposite").attr("in","SourceGraphic").attr("in2","specOut").attr("operator","arithmetic").attr("k1","0").attr("k2","1").attr("k3","1").attr("k4","0").attr("result","litPaint");var b=c.append("svg:feMerge");b.append("svg:feMergeNode").attr("in","offsetBlur");b.append("svg:feMergeNode").attr("in","litPaint");var a=d.append("svg:defs").append("svg:linearGradient").attr("id","rxlineargradient").attr("x1","0%").attr("y1","0%").attr("x2","0%").attr("y2","100%");a.append("svg:stop").attr("offset","0%").attr("style","stop-color:rgb(255,255,0);stop-opacity:1");a.append("svg:stop").attr("offset","100%").attr("style","stop-color:rgb(255,0,0);stop-opacity:1")}function initAxis(axisSpec,parentsvg,mycolor,page){var axis=new cubAxis();var isXaxis=false;var isYaxis=false;var isleftorient=0;if(typeof axisSpec=="undefined"){console.error("Error: Invalid axispec!")}axis.props=axisSpec;var data=axis.props.data;if(typeof data=="undefined"){data=page.data}if(typeof axis.props.scale!="undefined"){axis.Scale=axis.props.scale}else{if(axis.props.axistype=="date"){axis.Scale=d3.time.scale().range([0,axis.props.layout.width])}else{if(axis.props.axistype=="numeric"){axis.Scale=d3.scale.linear().range([axis.props.layout.height,0])}else{axis.Scale=d3.scale.ordinal().rangeBands([0,axis.props.layout.width])}}}if(typeof axis.props.brush!="undefined"){axis.Axis=d3.svg.brush().x(axis.Scale).on("brush",brushing);isYaxis=true}else{axis.Axis=d3.svg.axis().scale(axis.Scale).orient(axis.props.AxisOrient);if(typeof axisSpec.axisFormat!="undefined"){axis.Axis.tickFormat(d3.format(axis.props.axisFormat))}if(axis.props.axistype=="numeric"&&typeof axis.props.numTicks=="number"){axis.Axis.ticks(axis.props.numTicks)}}if(typeof axis.props.axistype!="undefined"){if(axis.props.axistype=="numeric"){isYaxis=true;var max=d3.max(data.map(function(d){return eval(axis.props.col)}));if(max%10>0){max+=max/10}axis.Scale.domain([0,max])}else{if(axis.props.axistype=="date"){axis.Scale.domain(d3.extent(data.map(function(d){return eval(axis.props.col)})))}else{axis.Scale.domain(data.map(function(d){return eval(axis.props.col)}))}}}else{axis.Scale.domain(data.map(function(d){return eval(axis.props.col)}))}var svgaxis=parentsvg.append("g");if(typeof axis.props.brush!="undefined"){svgaxis.attr("class","y brush");svgaxis.attr("name",axis.props.name);svgaxis.call(axis.Axis).datum(data).selectAll("rect").attr("height",axis.props.layout.height);svgaxis.attr("transform","translate("+(axis.props.layout.left)+","+(axis.props.layout.top)+")");return axis}else{svgaxis.attr("class","x axis")}if(axis.props.AxisOrient=="bottom"){svgaxis.attr("transform","translate("+(axis.props.layout.left)+","+(axis.props.layout.height+axis.props.layout.top)+")");isXaxis=true}else{if(axis.props.AxisOrient=="top"){svgaxis.attr("transform","translate("+axis.props.layout.left+","+axis.props.layout.top+")");isXaxis=true;istoporient=1}else{if(axis.props.AxisOrient=="right"){svgaxis.attr("transform","translate("+(axis.props.layout.left+axis.props.layout.width+10)+","+axis.props.layout.top+")")}else{isleftorient=1;axis.Axis.tickSize(-axis.props.layout.width);svgaxis.attr("transform","translate("+(axis.props.layout.left)+","+axis.props.layout.top+")")}}}svgaxis.attr("name",axis.props.name);if(isXaxis){svgaxis.attr("class",axis.props.aclass+" xaxis")}else{svgaxis.attr("class",axis.props.aclass+" yaxis")}svgaxis.call(axis.Axis);if(typeof axis.props.rotate!="undefined"&&axis.props.rotate!=0){var angle=axis.props.rotate;parentsvg.selectAll("."+axis.props.aclass+" text").attr("transform",function(d){return"translate("+this.getBBox().height*-1+","+this.getBBox().height+")rotate("+angle+")"})}if(isXaxis){var xtitle=svgaxis.append("text").attr("transform","rotate("+isXaxis?-0:-90+")").attr("class","xAxisTitle").style("text-anchor","end").text(axis.props.title).attr("x",axis.props.layout.width).attr("dy","1.91em").attr("dx",-(axis.props.layout.width-40));var xtip=xtitle.append("title").text(axis.props.title).attr("x",7).attr("dy",".31em")}else{var ytitle=svgaxis.append("text").attr("class","yAxisTitle").text(axis.props.title).style("text-anchor","end").attr("transform","rotate(-90)").attr("y",(isleftorient?-1:1)*(axis.props.layout.left+0)).attr("dy",".91em").attr("dx",-(axis.props.layout.height/2));var ytip=ytitle.append("title").text(axis.props.title).attr("x",7).attr("dy",".31em")}if(typeof axis.props.showTicks=="undefined"||axis.props.showTicks==true){if(typeof axis.props.showMark!="undefined"&&axis.props.showMark==false){svgaxis.selectAll(".xaxis g").select("line").style("display","none")}if(typeof axis.props.showTickLabels!="undefined"&&axis.props.showTickLabels==false){svgaxis.selectAll("g").select("text").style("display","none")}else{var xrule=svgaxis.selectAll("g");var txt=xrule.select("text");txt.each(function(i,d){txt[0][d].actualVal=txt[0][d].textContent;if(typeof(i)=="string"&&axis.props.numChar&&axis.props.numChar>0){txt[0][d].textContent=txt[0][d].textContent.substring(0,axis.props.numChar)}});var ttl=xrule.append("title");ttl.attr("class","title1").style("fill","red").style("stroke","red").style("stroke-width",3);ttl.each(function(i,d){ttl[0][d].textContent=txt[0][d].actualVal})}}else{svgaxis.selectAll(".xaxis g").select("line").style("display","none");svgaxis.selectAll("g").select("text").style("display","none")}axis.svgaxis=svgaxis;return axis}function make_x_axis(a,b){return d3.svg.axis().scale(a).orient(b).ticks(8)}function plot_chart(e,d){var b=new cubChart();var a=appcolors(e.nthchart);var f=e.axes;var c=e.svgpage.svg;b.data=d.data;b.spec=d;b.position=e.nthchart;if(d.type=="line"){b.chart=myLineChart(b,e,c,a)}else{if(d.type=="area"){b.chart=myAreaChart(b,e,c,a)}else{if(d.type=="barea"){b.chart=myBrushAreaChart(b,e,c,a)}else{if(d.type=="bar"){b.chart=myBarChart(b,e,c,a)}else{if(d.type=="step"){b.chart=myStepChart(b,e,c,a)}else{if(d.type=="bubble"){b.chart=myBubbleChart(b,e,c,a)}else{if(d.type=="pie"){b.chart=myPieChart(b,e,c,a)}else{if(d.type=="column"){b.chart=myColumnChart(b,e,c,a)}else{if(d.type=="stack"){b.chart=myStackBarChart(b,e,c,a)}else{if(d.type=="pillar"){b.chart=myPillarChart(b,e,c,a)}else{if(d.type=="custom"){b.chart=myCustomChart(b,e,c,a)}else{if(d.type=="tube"){b.chart=myTubeChart(b,e,c,a)}else{if(d.type=="custompie"){b.chart=myTubeChart(b,e,c,a)}else{if(d.type=="testbar"){b.chart=myTestBarChart(b,e,c,a)}else{if(d.type=="diff"){b.chart=myDiffChart(b,e,c,a)}else{if(d.type=="groupbar"){b.chart=myGroupBarChart(b,e,c,a)}}}}}}}}}}}}}}}}e.charts[e.nthchart++]=b;if(b&&b.chart){plot_chart_legends(e,b)}return b}function plot_axis(d,a){var c=d.nthaxis;var b=d.svgpage.svg;d.axes[c]=initAxis(a,b,appcolors(c),d);d.axespos[a.name]=c;d.nthaxis++}function plot_chart_legends(c,r){if(r.spec.type=="pie"){plot_pie_legends(c,r)}else{var p={w:120,h:120,top:0,right:0,bottom:0,left:0};var l={layout:p,containerid:".svgLegend"};var m=new cubSvg();m.layout=l.layout;m.containerid=l.containerid;var a=d3.select("#"+r.spec.divId).select(m.containerid).append("svg").attr("width",100).attr("height",20).attr("transform","translate("+c.svgpage.layout.top+","+c.svgpage.layout.left+")");var j=r.chart;var i=r.spec.title;var b=i.substring(0,10);var e=j.style("fill");if((e==undefined)||(e=="none")||(e=="#ffffff")){e=j.style("stroke")}var x=a.append("svg:circle").attr("spclass",j.attr("class")).style("fill",e).style("stroke",e).attr("cx",10).attr("cy",10).attr("r",function(s){return 5});var k=a.append("svg:text").text(b).attr("x",20).attr("y",15).attr("class","legend");var t=k.append("svg:title").attr("transform","translate("+r.spec.layout.left+","+r.spec.layout.top+")").text(i).attr("x",7).attr("dy",".31em");enable_legend_showhide(x,j)}var v=d3.select("#"+r.spec.divId).select(".myChart").select(".svgLegend");if(v[0][0]=="undefined"||v[0][0]==null){return}var o=d3.select("#"+r.spec.divId).select(".myChart").select(".svgchart");if(o[0][0]=="undefined"||o[0][0]==null){return}var n=r.spec.layout.height;var y=o[0][0].offsetLeft;var q=o[0][0].offsetTop;var u=o[0][0].offsetHeight;var h=o[0][0].offsetWidth;var w=v[0][0].offsetHeight;var g=v[0][0].offsetWidth;var f=r.spec.legendpos;if(f=="right"){v.style("top",(w>u)?q:(q+(u/2)-(w/2)+"px")).style("left",y+h+"px").style("width","100px").style("max-height",u+"px").style("overflow-x","hidden").style("overflow-y","auto");o.style("left",(y+100)+"px")}else{if(f=="left"){v.style("top",(w>u)?q:(q+(u/2)-(w/2)+"px")).style("left",y-100+"px").style("width","100px").style("max-height",u+"px").style("overflow-x","hidden").style("overflow-y","auto");o.style("left",(y+100)+"px").style("margin-left","100px")}else{if(f=="top"){v.style("top",q+"px").style("left",y+(h/2)-(g/2)+"px")}else{if(f=="bottom"){v.style("top",(q+(u))+"px").style("left",y+(h/2)-(g/2)+"px")}else{v.style("top",q+"px").style("left",y+(h/2)-(g/2)+"px")}}}}return}function enable_legend_showhide(a,b){a.on("click",function(e,c){legend_clicked(e,c,a,b,this)})}function legend_clicked(l,h,f,g,r){var n=d3.select(r.parentNode);var m=d3.mouse(r);var o=n.append("g");var b=g.attr("class");var e=d3.select(g[0].parentNode);var k=e.attr("class");var q=e.attr("prevclass");var c=g.attr("type");var p=e.attr("type");if(c=="pie"){var j=r.attributes[1].textContent;if(b!="hidden"){f.style("fill","white");g.attr("class","hidden")}else{if(b=="hidden"){g.attr("class",f.attr("spclass"));if(g.style("stroke")==undefined||g.style("stroke")=="none"){f.style("fill",g.attr("fill"))}else{f.style("fill",g.style("stroke"))}}}}else{if(p=="line"||p=="area"){if(k!="hidden"){e.attr("class","hidden")}else{if(k=="hidden"){e.attr("class",q)}}}}if(b!="hidden"){f.style("fill","white");g.attr("class","hidden")}else{if(b=="hidden"){g.attr("class",f.attr("spclass"));if(g.style("stroke")==undefined||g.style("stroke")=="none"){f.style("fill",g.style("fill"))}else{f.style("fill",g.style("stroke"))}}}}function touchlegend(){d3.event.preventDefault();var a=svg.selectAll("circle.touchlegend").data(d3.touches(svg.node()),function(b){return b.identifier}).attr("cx",function(b){return b[0]}).attr("cy",function(b){return b[1]});a.enter().append("circle").attr("class","touchlegend").attr("cx",function(b){return b[0]}).attr("cy",function(b){return b[1]}).style("fill",function(b){return color(b.identifier)}).attr("r",0.000001).transition().duration(500).ease("elastic").attr("r",48);a.exit().attr("class",null).transition().attr("r",0.000001).remove()}function plot_pie_legends(f,e){var c={w:120,h:120,top:0,right:0,bottom:0,left:0};var d={layout:c,containerid:".svgLegend"};var a=new cubSvg();a.layout=d.layout;a.containerid=d.containerid;var b=d3.select(a.containerid).append("svg").attr("width",120).attr("height",100).attr("transform","translate("+f.svgpage.layout.top+","+f.svgpage.layout.left+")");var g=e.spec.layout.legendpos;var i=e.chart[0];var h;i.forEach(function(o,l){var k=o.attributes[1].nodeValue;var j=b.append("svg:circle").attr("spclass",o.attributes[0].nodeValue).attr("label",o.textContent).style("fill",k).style("stroke",k).attr("cx",10).attr("cy",(l+1)*25).attr("r",function(p){return 5});var m=b.append("svg:text").text(o.textContent.substring(0,10)).attr("x",20).attr("y",(l+1)*25).attr("class","legend");var n=m.append("svg:title").attr("transform","translate("+e.spec.layout.left+","+e.spec.layout.top+")").text(o.textContent).attr("x",7).attr("dy",".31em");h=d3.select(".slice"+o.textContent);enable_legend_showhide(j,h)})}function brushing(){console.log("BRUSHING")}function myStackBarChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var g=parentsvg.append("g").attr("fmt",chart.fmt);var i=0;g.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").selectAll(".a"+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.num+")").attr("class","a"+chart.gclass).attr("type",chart.type).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2.33}).attr("y",function(d){return ys(eval(chart.ycol1))}).attr("width",function(d){return 15}).attr("height",function(d){return eval(chart.layout.height)-ys(eval(chart.ycol1))}).style("fill",appcolors(i)).style("stroke",appcolors(i++));if(typeof chart.ycol2!="undefined"){g.append("g").attr("transform","translate("+(chart.layout.left+20)+","+chart.layout.top+")").selectAll(".b"+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.num+")").attr("class","b"+chart.gclass).attr("type",chart.type).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2.33}).attr("y",function(d){return ys(eval(chart.ycol2))}).attr("width",function(d){return 15}).attr("height",function(d){return eval(chart.layout.height)-ys(eval(chart.ycol2))}).style("fill",appcolors(i)).style("stroke",appcolors(i++))}if(typeof chart.ycol3!="undefined"){g.append("g").attr("transform","translate("+(chart.layout.left+40)+","+chart.layout.top+")").selectAll(".c"+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.num+")").attr("class","c"+chart.gclass).attr("type",chart.type).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2.33}).attr("y",function(d){return ys(eval(chart.ycol3))}).attr("width",function(d){return 18}).attr("height",function(d){return eval(chart.layout.height)-ys(eval(chart.ycol3))}).style("fill",appcolors(i)).style("stroke",appcolors(i++))}return g}function myBubbleChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var graph=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("fmt",chart.fmt).selectAll("."+chart.gclass).data(data).enter().append("circle").attr("clip-path","url(#clip"+chart.position+")").attr("class",chart.gclass).attr("type",chart.type).attr("fill",mycolor).attr("cx",function(d){return xs(eval(chart.xcol))}).attr("cy",function(d){return ys(eval(chart.ycol))}).attr("r",function(d){return 7});if((typeof chartobj.spec.cw!="undefined")){if(chartobj.spec.cw=="auto"){graph.attr("r",8)}else{graph.attr("r",function(d){return eval(chartobj.spec.cw)})}}else{graph.attr("r",7)}return graph}function myStackBarChart1(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var g=parentsvg.append("g");g.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").selectAll("."+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.num+")").attr("class",chart.gclass).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("y",function(d){return ys(eval(chart.ycol1))}).attr("width",function(d){return 15}).attr("height",function(d){return eval(chart.layout.height)-ys(eval(chart.ycol1))}).style("fill","DarkGreen").style("stroke","Black");g.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").selectAll("."+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.num+")").attr("class",chart.gclass).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("y",function(d){return ys(eval(chart.ycol2))}).attr("width",function(d){return 15}).attr("height",function(d){return eval(chart.layout.height)-ys(eval(chart.ycol2))}).style("fill","GoldenRod").style("stroke","Black");return g}function myTubeChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var color=d3.scale.category20c();var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var g=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("fmt",chart.fmt);g.selectAll(".tubebar").data(data).enter().append("rect").attr("class","tubebar").attr("type",chart.type).attr("fill",mycolor).attr("opacity","0.2").attr("x",0).attr("y",function(d){return ys(eval(chart.ycol))}).attr("width",function(d){return chart.layout.width}).attr("height",ys.rangeBand()-2);g.selectAll("."+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.position+")").attr("class",chart.gclass).attr("type",chart.type).attr("fill",mycolor).attr("opacity","1").attr("x",0).attr("y",function(d){return ys(eval(chart.ycol))+4}).attr("width",function(d){return xs(eval(chart.xcol))}).attr("height",ys.rangeBand()-8);g.selectAll(".ttxt").data(data).enter().append("text").attr("class","ttxt").attr("class","whitetext").attr("type",chart.type).attr("dx",function(d){return xs(eval(chart.xcol))-25}).attr("dy",function(d){return ys(eval(chart.ycol))+ys.rangeBand()/2+4}).text(function(d,i){return eval(chart.xcol)});return g}function myColumnChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var color=d3.scale.category20c();var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var g=parentsvg.append("g");g.attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("fmt",chart.fmt).selectAll("rect").data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.position+")").attr("class",chart.gclass).attr("type",chart.type).attr("fill",mycolor).attr("x",0).attr("y",function(d){return ys(eval(chart.ycol))}).attr("width",function(d){return xs(eval(chart.xcol))}).attr("height",ys.rangeBand()-2);g.selectAll(".ttxt").data(data).enter().append("text").attr("class","ttxt").attr("class","whitetext").attr("type",chart.type).attr("dx",function(d){return xs(eval(chart.xcol))-25}).attr("dy",function(d){return ys(eval(chart.ycol))+ys.rangeBand()/2+4}).text(function(d,i){return eval(chart.xcol)});return g}function myStepChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var bar=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("fmt",chart.fmt).selectAll("."+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.position+")").attr("class",chart.gclass).attr("type",chart.type).attr("fill",mycolor).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("y",function(d){return ys(eval(chart.ycol))}).attr("width",function(d){return 8}).attr("height",function(d){return 1});if((typeof chartobj.spec.cw!="undefined")){if(chartobj.spec.cw=="auto"){bar.attr("width",xs.rangeBand()-8)}else{bar.attr("width",chartobj.spec.cw).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2-(chartobj.spec.cw/2)})}}return bar}function myTestBarChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var shadow=parentsvg.append("defs").append("filter").attr("id","dropshadow").attr("height","130%");shadow.append("feGaussianBlur").attr("in","SourceAlpha").attr("stdDeviation","3");shadow.append("feOffset").attr("dx","2").attr("dy","2").attr("result","offsetblur");var bar=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("fmt",chart.fmt).attr("chartno",chart.chartno).attr("callback",chart.callback).selectAll("."+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.position+")").attr("xcol",chart.xcol).attr("ycol",chart.ycol).attr("class",chart.gclass).attr("type",chart.type).attr("fill",function(d,i){return appcolors(i)}).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("y",function(d){return ys(eval(chart.ycol))}).attr("width",function(d){return 8}).attr("height",function(d){return eval(chart.layout.height)-ys(eval(chart.ycol))});if((typeof chartobj.spec.cw!="undefined")){if(chartobj.spec.cw=="auto"){bar.attr("width",xs.rangeBand()-8)}else{bar.attr("width",chartobj.spec.cw).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2-(chartobj.spec.cw/2)})}}return bar}function myBarChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var bar=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("chartno",chart.chartno).attr("callback",chart.callback).attr("fmt",chart.fmt).selectAll("."+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.position+")").attr("xcol",chart.xcol).attr("ycol",chart.ycol).attr("class",chart.gclass).attr("type",chart.type).attr("fill",mycolor).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("y",function(d){return ys(eval(chart.ycol))}).attr("width",function(d){return 8}).attr("height",function(d){return eval(chart.layout.height)-ys(eval(chart.ycol))});if((typeof chartobj.spec.cw!="undefined")){if(chartobj.spec.cw=="auto"){bar.attr("width",xs.rangeBand()-8)}else{bar.attr("width",chartobj.spec.cw).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2-(chartobj.spec.cw/2)})}}return bar}function myPillarChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var bar=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("chartno",chart.chartno).attr("callback",chart.callback).attr("fmt",chart.fmt).selectAll("."+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.position+")").attr("xcol",chart.xcol).attr("ycol",chart.ycol).attr("class",chart.gclass).attr("type",chart.type).attr("fill",function(d,i){return appcolors(i)}).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2-50}).attr("y",function(d){return chart.layout.height-25}).attr("rx","10").attr("ry","40").attr("filter","url(#rxdropshadow)").attr("width",function(d){return 100}).attr("height",function(d){return 25});var bar=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("chartno",chart.chartno).attr("callback",chart.callback).attr("fmt",chart.fmt).selectAll("."+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.position+")").attr("xcol",chart.xcol).attr("ycol",chart.ycol).attr("class",chart.gclass).attr("type",chart.type).attr("fill",function(d,i){return appcolors(i)}).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("y",function(d){return ys(eval(chart.ycol))}).attr("rx","10").attr("ry","10").attr("filter","url(#rxdropshadow)").attr("height",function(d){return 0}).attr("width",function(d){return 8});var barwidth=8;if((typeof chartobj.spec.cw!="undefined")){if(chartobj.spec.cw=="auto"){bar.attr("width",xs.rangeBand()-8);barwidth=xs.rangeBand()-8}else{bar.attr("width",chartobj.spec.cw).attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2-(chartobj.spec.cw/2)});barwidth=chartobj.spec.cw}}bar.transition().ease("linear").duration(500).attr("height",function(d){return eval(chart.layout.height)-ys(eval(chart.ycol))});parentsvg.selectAll(".ttxt").data(data).enter().append("text").attr("class","ttxt").attr("class","whitetext").attr("type",chart.type).attr("dx",function(d){return xs(eval(chart.xcol))+xs.rangeBand()-barwidth/3}).attr("dy",function(d){return ys(eval(chart.ycol))+50}).text(function(d,i){return parseInt(eval(chart.ycol))});return bar}function drawDataXGridLine(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var xgrid=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").selectAll(".xgridline").data(data).enter().append("rect").attr("class","xgridline").attr("x",function(d,i){return xs(eval(chart.xcol))}).attr("y",function(d){return 0}).attr("width",function(d){return 0.5}).attr("height",function(d){return chart.layout.height});delete arr;return xgrid}function drawDataYGridLine(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var ygrid=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").selectAll(".ygridline").data(data).enter().append("rect").attr("class","ygridline").attr("x",function(d,i){return 0}).attr("y",function(d,i){return ys(eval(chart.ycol))}).attr("width",function(d){return chart.layout.width}).attr("height",function(d){return 0.5});delete arr;return ygrid}function drawXGridLine(g,b,i){var h=g.spec;var c=g.spec.data;var a=i;var e=h.layout.width/a;var d=new Array(a);var f=b.append("g").attr("transform","translate("+h.layout.left+","+h.layout.top+")").selectAll(".xgridline").data(d).enter().append("rect").attr("class","xgridline").attr("x",function(k,j){return e*(j+1)}).attr("y",function(j){return 0}).attr("width",function(j){return 0.5}).attr("height",function(j){return h.layout.height});delete d;return f}function drawYGridLine(g,b,i){var h=g.spec;var c=g.spec.data;var a=i;var f=h.layout.height/a;var d=new Array(a);var e=b.append("g").attr("transform","translate("+h.layout.left+","+h.layout.top+")").selectAll(".ygridline").data(d).enter().append("rect").attr("class","ygridline").attr("x",function(k,j){return 0}).attr("y",function(k,j){return f*(j)}).attr("width",function(j){return h.layout.width}).attr("height",function(j){return 0.5});delete d;return e}function myAreaChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var gph=d3.svg.area().interpolate("monotone").x(function(d){return xs(eval(chart.xcol))}).y0(chart.layout.height).y1(function(d){return ys(eval(chart.ycol))});chartobj.path=gph;var g=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("class",chart.gclass).attr("type",chart.type).attr("fmt",chart.fmt);var line=g.append("path").datum(data).attr("clip-path","url(#clip"+chart.position+")").attr("xcol",chart.xcol).attr("ycol",chart.ycol).attr("d",gph).attr("stroke",mycolor).attr("fill",mycolor).attr("class",chart.gclass);var stroke=g.style("stroke");if(stroke=="none"){stroke=mycolor}var circle=g.selectAll(".xcirc").data(data).enter().append("circle").attr("clip-path","url(#clip"+chart.position+")").attr("xcol",chart.xcol).attr("ycol",chart.ycol).attr("class","xcirc").attr("fill","white").attr("stroke",stroke).attr("cx",function(d){return xs(eval(chart.xcol))}).attr("cy",function(d){return ys(eval(chart.ycol))}).attr("r",function(d){return 3});return circle}function myBrushAreaChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var gph=d3.svg.area().interpolate("monotone").x(function(d){return xs(eval(chart.xcol))}).y0(chart.layout.height).y1(function(d){return ys(eval(chart.ycol))});chartobj.path=gph;return parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("class",chart.gclass).append("path").datum(data).attr("clip-path","url(#clip"+chart.position+")").attr("xcol",chart.xcol).attr("ycol",chart.ycol).attr("d",gph).attr("fill",mycolor).attr("class",chart.gclass)}function myLineChart(chartobj,page,parentsvg,mycolor){var chart=chartobj.spec;var data=chartobj.spec.data;var axes=page.axes;var axespos=page.axespos;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var gph=d3.svg.line().interpolate("monotone").x(function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).y(function(d){return ys(eval(chart.ycol))});chartobj.path=gph;console.log("Now Drawing LINE ..."+data);var g=parentsvg.append("g").attr("transform","translate("+(chart.layout.left)+","+chart.layout.top+")").attr("chartno",chart.chartno).attr("callback",chart.callback).attr("fmt",chart.fmt).attr("type",chart.type);var line=g.attr("class",chart.gclass).append("path").datum(data).attr("clip-path","url(#clip"+chart.position+")").attr("xcol",chart.xcol).attr("ycol",chart.ycol).attr("d",gph).attr("class",chart.gclass).attr("prevclass",chart.gclass).attr("type",chart.type).attr("stroke",mycolor).attr("fill","none");var stroke=g.style("stroke");if(stroke=="none"){stroke=mycolor}var circle=g.selectAll(".xcirc").data(data).enter().append("circle").attr("clip-path","url(#clip"+chart.position+")").attr("xcol",chart.xcol).attr("ycol",chart.ycol).attr("class","xcirc").attr("fill","white").attr("stroke",stroke).attr("cx",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("cy",function(d){return ys(eval(chart.ycol))}).attr("r",function(d){return 3});return circle}function myBulletChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var chart=chartobj.spec;var data=chartobj.spec.data;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;var bar=parentsvg.append("g").attr("transform","translate("+chart.layout.left+","+chart.layout.top+")").attr("fmt",chart.fmt).selectAll("."+chart.gclass).data(data).enter().append("rect").attr("clip-path","url(#clip"+chart.position+")").attr("class",chart.gclass).attr("type",chart.type).attr("fill",mycolor).attr("x",function(d){return xs(eval(chart.xcol))}).attr("y",function(d){return ys(eval(chart.ycol))}).attr("width",function(d){return 8}).attr("height",function(d){return eval(chart.layout.height)-ys(eval(chart.ycol))});if((typeof chartobj.spec.cw!="undefined")){if(chartobj.spec.cw=="auto"){bar.attr("width",xs.rangeBand()-8)}else{bar.attr("width",chartobj.spec.cw)}}return bar}function myCustomPieChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var data=chartobj.spec.data;var color=["#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#cccccc","#0011cc","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262"];var chart=chartobj.spec;if(typeof chart.color!="undefined"){color=chart.color}if(typeof chart.inr=="undefined"){chart.inr=0}if(typeof chart.outr=="undefined"){var r=chart.layout.width<chart.layout.height?chart.layout.width:chart.layout.height;chart.outr=r/2}var vis=parentsvg.append("svg:g").attr("test","vjpiechart").data([data]).append("svg:g").attr("transform","translate("+(chart.outr+chart.layout.left)+","+(chart.outr+chart.layout.top)+")");var arc=d3.svg.arc().innerRadius(chart.inr).outerRadius(chart.outr);var pie=d3.layout.pie().value(function(d){return eval(chart.ycol)});var arcs=vis.selectAll("g.slice").data(pie).enter().append("svg:g").attr("class","slice");arcs.append("svg:path").attr("fill",function(d,i){return color[i]}).attr("d",arc);if((typeof chart.label=="undefined")){var t=arcs.append("svg:text").attr("transform",function(d){var r=1.1*chart.outr;var c=arc.centroid(d),x=c[0],y=c[1],h=Math.sqrt(x*x+y*y);return"translate("+(x/h*r)+","+(y/h*r)+")"}).attr("text-anchor","middle").attr("font","8px").text(function(d,i){return data[i][0]});var t=vis.append("svg:text").attr("transform",function(d){return"translate("+arc.centroid(d)+")"}).attr("text-anchor","middle").text(function(d,i){return chart.title})}return vis}function myPieChart(chartobj,page,parentsvg,mycolor){var axes=page.axes;var axespos=page.axespos;var data=chartobj.spec.data;var chart=chartobj.spec;var x=page.axespos[chart.xscale.name];var y=page.axespos[chart.yscale.name];if(typeof chart.color!="undefined"){color=chart.color}if(typeof chart.inr=="undefined"){chart.inr=0}if(typeof chart.outr=="undefined"){var r=chart.layout.width<chart.layout.height?chart.layout.width:chart.layout.height;chart.outr=r/2}var vis=parentsvg.append("svg:g").attr("test","vjpiechart").data([data]).append("svg:g").attr("transform","translate("+(chart.outr+chart.layout.left)+","+(chart.outr+chart.layout.top)+")").style("stroke",function(d,i){return appcolors[i]}).attr("type",chart.type);var arc=d3.svg.arc().innerRadius(chart.inr).outerRadius(chart.outr);var pie=d3.layout.pie().value(function(d){return eval(chart.ycol)});var arcs=vis.selectAll("g.slice").data(pie).enter().append("svg:g").attr("class",function(d,i){return"slice"+data[i][0]}).attr("fill",function(d,i){return appcolors[i]}).style("stroke",function(d,i){return appcolors[i]}).attr("type",chart.type);arcs.append("svg:path").attr("fill",function(d,i){return appcolors(i)}).style("stroke",function(d,i){return appcolors[i]}).attr("d",arc);if((typeof chart.label=="undefined")){var t=arcs.append("svg:text").attr("transform",function(d){var r=1.1*chart.outr;var c=arc.centroid(d),x=c[0],y=c[1],h=Math.sqrt(x*x+y*y);return"translate("+(x/h*r)+","+(y/h*r)+")"}).attr("text-anchor","middle").attr("font","8px").text(function(d,i){return data[i][0]});var t=vis.append("svg:text").attr("transform",function(d){return"translate("+arc.centroid(d)+")"}).attr("text-anchor","middle").text(function(d,i){return chart.title})}return arcs}function myCustomChart(chartobj,page,parentsvg,mycolor){var chart=chartobj.spec;var data=chartobj.spec.data;var axes=page.axes;var axespos=page.axespos;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;chart.position="099";var gph=d3.svg.line().interpolate("monotone").x(function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).y(function(d){return ys(eval(chart.ycol))+30});chartobj.path=gph;console.log("Now Drawing LINE ..."+data);var g=parentsvg.append("g").attr("transform","translate("+(chart.layout.left)+","+chart.layout.top+")");g.selectAll(".ttxt").data(data).enter().append("text").attr("class","ttxt").attr("class",function(d,i){return i%3?"txtgreen":"txtred"}).attr("dx",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("dy",function(d){return +4+ys(eval(chart.ycol))}).text(function(d,i){return"("+Math.floor((ys(eval(chart.ycol))/3))+"%)"});g.selectAll(".xttxt").data(data).enter().append("svg:image").attr("id","tile-ww").attr("patternUnits","userSpaceOnUse").attr("xlink:href",function(d,i){return i%3?"/up.png":"/down.png"}).attr("class","xttxt").attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("y",function(d){return +4+ys(eval(chart.ycol))}).attr("width",16).attr("height",16);return g}function myDiffChart(chartobj,page,parentsvg,mycolor){var chart=chartobj.spec;var data=chartobj.spec.data;var axes=page.axes;var axespos=page.axespos;var x=axespos[chart.xscale.name];var y=axespos[chart.yscale.name];var xs=axes[x].Scale;var ys=axes[y].Scale;chart.position="099";var gph=d3.svg.line().interpolate("monotone").x(function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).y(function(d){return ys(eval(chart.ycol))+30});chartobj.path=gph;console.log("Now Drawing LINE ..."+data);var g=parentsvg.append("g").attr("transform","translate("+(chart.layout.left)+","+chart.layout.top+")");g.selectAll(".ttxt").data(data).enter().append("text").attr("class","ttxt").attr("class",function(d,i){return i%3?"txtgreen":"txtred"}).attr("dx",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("dy",function(d){return -40+ys(eval(chart.ycol))}).text(function(d,i){return""+eval(chart.text)+"%"});g.selectAll(".xttxt").data(data).enter().append("svg:image").attr("id","tile-ww").attr("patternUnits","userSpaceOnUse").attr("xlink:href",function(d,i){return(eval(chart.text)>0)?"/up.png":"/down.png"}).attr("class","xttxt").attr("x",function(d){return xs(eval(chart.xcol))+xs.rangeBand()/2}).attr("y",function(d){return -37+ys(eval(chart.ycol))}).attr("width",16).attr("height",16);return g}function animate1(chobj){obj=chobj.chart;obj.on("mouseover",function(d,i){d3.select(this).transition().duration(500).attr("height",function(d){console.log((chartobj.height-chartobj.yScale(eval(chartobj.ycol)))/100000);return(chartobj.height-chartobj.yScale(eval(chartobj.ycol)))})}).on("mouseout",function(d,i){d3.select(this).transition().duration(500).attr("height",function(d){return 2})})}function animate2(chobj){toolTip(chobj);return;obj.on("click",function(d,i){var a=d3.select(this.parentNode);var b=a.select("#val");b.remove();var pos=d3.mouse(this);var grp=a.append("g").attr("id","val");var addDel="Add";var datanode=d3.select(this).attr("ycol");var newclass=d3.select(this).attr("class");if(newclass.indexOf("nofill")>0){newclass=newclass.replace("-nofill","");addDel="Del"}else{newclass=newclass+"-nofill";addDel="Add"}d3.select(this).attr("class",newclass);var er=new eventResponse();er.chart=obj;er.chartno=d3.select(this.parentNode).attr("chartno");er.data=d;er.rowindex=i;er.colindex=datanode;er.operation=addDel;er.eventname=this.event;var callback=d3.select(this.parentNode).attr("callback");if(callback!="undefined"){eval(callback)(er)}})}function toolTip(chobj){var obj=chobj.chart;if(typeof obj=="undefined"){return}obj.on("mouseover",function(d,i){d3.select(this).transition().duration(300).attr("r","8");var p=d3.select("#"+chobj.spec.divId).select(".myChart").select(".tipsy");p.style("visibility","visible");var xtitle=chobj.spec.xscale.title;var ytitle=chobj.spec.title;var xt_text=eval(chobj.spec.xscale.col);var yt_text=eval(chobj.spec.ycol);p.html('<div class="tipsy-arrow"></div><div class="tipsy-inner"></div>').select(".tipsy-inner").html(xtitle+" : "+xt_text+"<br>"+ytitle+" : "+formatToolTipValue(yt_text.toString(),chobj.spec.fmt));var arrowClass=p.select(".tipsy-arrow");var svg=d3.select("#"+chobj.spec.divId).select(".myChart").select(".svgchart")[0][0];var svgLeft=svg.offsetLeft,svgTop=svg.offsetTop,svgHeight=svg.offsetHeight,svgWidth=svg.offsetWidth;var mouseLeft=d3.event.pageX,mouseTop=d3.event.pageY;var tooltipHeight=p[0][0].clientHeight,tooltipWidth=p[0][0].clientWidth;var top=0,left=0,pad=20;if((svgLeft+tooltipWidth/2<mouseLeft)&&(mouseTop+tooltipHeight+pad<svgTop+svgHeight)){p.attr("class","tipsy tipsy-n");arrowClass.attr("class","tipsy-arrow tipsy-arrow-n");top=mouseTop+pad;left=mouseLeft-tooltipWidth/2}else{if((svgLeft+tooltipWidth/2<mouseLeft)&&(mouseTop-tooltipHeight-pad>svgTop)){p.attr("class","tipsy tipsy-s");arrowClass.attr("class","tipsy-arrow tipsy-arrow-s");top=mouseTop-tooltipHeight-pad;left=mouseLeft-tooltipWidth/2}else{if(mouseTop+tooltipHeight/2>svgTop){if(svgLeft+tooltipWidth+pad<mouseLeft){p.attr("class","tipsy tipsy-e");arrowClass.attr("class","tipsy-arrow tipsy-arrow-e");top=mouseTop-tooltipHeight/2;left=mouseLeft-tooltipWidth-pad}else{if(mouseLeft+tooltipWidth<svgLeft+svgWidth){p.attr("class","tipsy tipsy-w");arrowClass.attr("class","tipsy-arrow tipsy-arrow-w");top=mouseTop-tooltipHeight/2;left=mouseLeft+pad}}}}}p.style("left",left+"px");p.style("top",top+"px")}).on("mouseout",function(d,i){if(d3.select(this).attr("class").indexOf("nofill")<0){d3.select(this).transition().duration(300).attr("r","3")}var a=d3.select(this.parentNode);var b=d3.select("#"+chobj.spec.divId).select(".myChart").select(".tipsy");b.style("visibility","hidden")}).on("click",function(d,i){var a=d3.select(this.parentNode);var b=a.select("#val");b.remove();var pos=d3.mouse(this);var grp=a.append("g").attr("id","val");var addDel="Add";var datanode=d3.select(this).attr("ycol");var newclass=d3.select(this).attr("class");if(newclass.indexOf("nofill")>0){newclass=newclass.replace("-nofill","");addDel="Del"}else{newclass=newclass+"-nofill";addDel="Add"}d3.select(this).attr("class",newclass);var er=new eventResponse();er.chart=obj;er.chartno=d3.select(this.parentNode).attr("chartno");er.data=d;er.rowindex=i;er.colindex=datanode;er.operation=addDel;er.eventname=this.event;var callback=d3.select(this.parentNode).attr("callback");if(callback!="undefined"){eval(callback)(er)}})}function formatToolTipValue(b,g){if(typeof g=="undefined"||g.length<1){return b}var e=",";var c=".";var f=g.indexOf("p");var j="";if(f>=0){j=g.substr(f+1,1)}var d=g.indexOf("P");var h="";if(d>=0){h=g.substr(d+1,1)}var i=g.indexOf("S");var a="";if(i>=0){a=g.substr(i+1,1)}if(g.charAt(1)=="e"){e=".";c=","}b=formatMeasureValues(b,h,a,j,c,e);return b}function formatMeasureValues(f,p,o,l,k,q){var e=f,l=isNaN(l=Math.abs(l))?2:l,k=k==undefined?",":k,q=q==undefined?".":q,r=e<0?"-":"",h=parseInt(e=Math.abs(+e||0).toFixed(l))+"",g=(g=h.length)>3?g%3:0;return p+""+r+(g?h.substr(0,g)+q:"")+h.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+q)+(l?k+Math.abs(e-h).toFixed(l).slice(2):"")+o}function drawSvgChart(Data,divId,Title,Width,Height,Ndim,Nmeas,MeasFormats,Dimensions,Measures,dispObj,rptId){var URL="/svgspec/svgspec_"+rptId+".txt";$.ajax({async:true,url:URL,cache:false,success:function(result){eval(result)},failure:function(result){$("div#"+divId).html("<br><center><span class=notice>No SVG chart defined for this asset.</span></center>")},error:function(result){$("div#"+divId).html("<br><center><span class=notice>No SVG chart defined for this asset.</span></center>")}})};