Your IP : 216.73.216.247


Current Path : /home/nicholsonsmith/public_html/media/com_admintools/js/
Upload File :
Current File : /home/nicholsonsmith/public_html/media/com_admintools/js/jqplot.pieRenderer.min.js

/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com
 jsDate | (c) 2010-2013 Chris Leonello
 */
(function (e)
{
	e.jqplot.PieRenderer = function ()
	{
		e.jqplot.LineRenderer.call(this)
	};
	e.jqplot.PieRenderer.prototype = new e.jqplot.LineRenderer();
	e.jqplot.PieRenderer.prototype.constructor = e.jqplot.PieRenderer;
	e.jqplot.PieRenderer.prototype.init = function (q, u)
	{
		this.diameter = null;
		this.padding = 20;
		this.sliceMargin = 0;
		this.fill = true;
		this.shadowOffset = 2;
		this.shadowAlpha = 0.07;
		this.shadowDepth = 5;
		this.highlightMouseOver = true;
		this.highlightMouseDown = false;
		this.highlightColors = [];
		this.dataLabels = "percent";
		this.showDataLabels = false;
		this.dataLabelFormatString = null;
		this.dataLabelThreshold = 3;
		this.dataLabelPositionFactor = 0.52;
		this.dataLabelNudge = 2;
		this.dataLabelCenterOn = true;
		this.startAngle = 0;
		this.tickRenderer = e.jqplot.PieTickRenderer;
		this._drawData = true;
		this._type = "pie";
		if (q.highlightMouseDown && q.highlightMouseOver == null)
		{
			q.highlightMouseOver = false
		}
		e.extend(true, this, q);
		if (this.sliceMargin < 0)
		{
			this.sliceMargin = 0
		}
		this._diameter = null;
		this._radius = null;
		this._sliceAngles = [];
		this._highlightedPoint = null;
		if (this.highlightColors.length == 0)
		{
			for (var s = 0; s < this.seriesColors.length; s++)
			{
				var r = e.jqplot.getColorComponents(this.seriesColors[s]);
				var o = [r[0], r[1], r[2]];
				var t = o[0] + o[1] + o[2];
				for (var p = 0; p < 3; p++)
				{
					o[p] = (t > 570) ? o[p] * 0.8 : o[p] + 0.3 * (255 - o[p]);
					o[p] = parseInt(o[p], 10)
				}
				this.highlightColors.push("rgb(" + o[0] + "," + o[1] + "," + o[2] + ")")
			}
		}
		this.highlightColorGenerator = new e.jqplot.ColorGenerator(this.highlightColors);
		u.postParseOptionsHooks.addOnce(m);
		u.postInitHooks.addOnce(g);
		u.eventListenerHooks.addOnce("jqplotMouseMove", b);
		u.eventListenerHooks.addOnce("jqplotMouseDown", a);
		u.eventListenerHooks.addOnce("jqplotMouseUp", l);
		u.eventListenerHooks.addOnce("jqplotClick", f);
		u.eventListenerHooks.addOnce("jqplotRightClick", n);
		u.postDrawHooks.addOnce(i)
	};
	e.jqplot.PieRenderer.prototype.setGridData = function (t)
	{
		var p = [];
		var u = [];
		var o = this.startAngle / 180 * Math.PI;
		var s = 0;
		this._drawData = false;
		for (var r = 0; r < this.data.length; r++)
		{
			if (this.data[r][1] != 0)
			{
				this._drawData = true
			}
			p.push(this.data[r][1]);
			u.push([this.data[r][0]]);
			if (r > 0)
			{
				p[r] += p[r - 1]
			}
			s += this.data[r][1]
		}
		var q = Math.PI * 2 / p[p.length - 1];
		for (var r = 0; r < p.length; r++)
		{
			u[r][1] = p[r] * q;
			u[r][2] = this.data[r][1] / s
		}
		this.gridData = u
	};
	e.jqplot.PieRenderer.prototype.makeGridData = function (t, u)
	{
		var p = [];
		var v = [];
		var s = 0;
		var o = this.startAngle / 180 * Math.PI;
		this._drawData = false;
		for (var r = 0; r < t.length; r++)
		{
			if (this.data[r][1] != 0)
			{
				this._drawData = true
			}
			p.push(t[r][1]);
			v.push([t[r][0]]);
			if (r > 0)
			{
				p[r] += p[r - 1]
			}
			s += t[r][1]
		}
		var q = Math.PI * 2 / p[p.length - 1];
		for (var r = 0; r < p.length; r++)
		{
			v[r][1] = p[r] * q;
			v[r][2] = t[r][1] / s
		}
		return v
	};
	function h(o)
	{
		return Math.sin((o - (o - Math.PI) / 8 / Math.PI) / 2)
	}

	function j(u, t, o, v, r)
	{
		var w = 0;
		var q = t - u;
		var s = Math.abs(q);
		var p = o;
		if (v == false)
		{
			p += r
		}
		if (p > 0 && s > 0.01 && s < 6.282)
		{
			w = parseFloat(p) / 2 / h(q)
		}
		return w
	}

	e.jqplot.PieRenderer.prototype.drawSlice = function (B, z, y, u, w)
	{
		if (this._drawData)
		{
			var p = this._radius;
			var A = this.fill;
			var x = this.lineWidth;
			var s = this.sliceMargin;
			if (this.fill == false)
			{
				s += this.lineWidth
			}
			B.save();
			B.translate(this._center[0], this._center[1]);
			var D = j(z, y, this.sliceMargin, this.fill, this.lineWidth);
			var o = D * Math.cos((z + y) / 2);
			var C = D * Math.sin((z + y) / 2);
			if ((y - z) <= Math.PI)
			{
				p -= D
			}
			else
			{
				p += D
			}
			B.translate(o, C);
			if (w)
			{
				for (var v = 0, t = this.shadowDepth; v < t; v++)
				{
					B.save();
					B.translate(this.shadowOffset * Math.cos(this.shadowAngle / 180 * Math.PI), this.shadowOffset * Math.sin(this.shadowAngle / 180 * Math.PI));
					q(p)
				}
				for (var v = 0, t = this.shadowDepth; v < t; v++)
				{
					B.restore()
				}
			}
			else
			{
				q(p)
			}
			B.restore()
		}
		function q(r)
		{
			if (y > 6.282 + this.startAngle)
			{
				y = 6.282 + this.startAngle;
				if (z > y)
				{
					z = 6.281 + this.startAngle
				}
			}
			if (z >= y)
			{
				return
			}
			B.beginPath();
			B.fillStyle = u;
			B.strokeStyle = u;
			B.lineWidth = x;
			B.arc(0, 0, r, z, y, false);
			B.lineTo(0, 0);
			B.closePath();
			if (A)
			{
				B.fill()
			}
			else
			{
				B.stroke()
			}
		}
	};
	e.jqplot.PieRenderer.prototype.draw = function (B, z, E, o)
	{
		var W;
		var H = (E != undefined) ? E : {};
		var t = 0;
		var s = 0;
		var N = 1;
		var L = new e.jqplot.ColorGenerator(this.seriesColors);
		if (E.legendInfo && E.legendInfo.placement == "insideGrid")
		{
			var J = E.legendInfo;
			switch (J.location)
			{
				case"nw":
					t = J.width + J.xoffset;
					break;
				case"w":
					t = J.width + J.xoffset;
					break;
				case"sw":
					t = J.width + J.xoffset;
					break;
				case"ne":
					t = J.width + J.xoffset;
					N = -1;
					break;
				case"e":
					t = J.width + J.xoffset;
					N = -1;
					break;
				case"se":
					t = J.width + J.xoffset;
					N = -1;
					break;
				case"n":
					s = J.height + J.yoffset;
					break;
				case"s":
					s = J.height + J.yoffset;
					N = -1;
					break;
				default:
					break
			}
		}
		var K = (H.shadow != undefined) ? H.shadow : this.shadow;
		var A = (H.fill != undefined) ? H.fill : this.fill;
		var C = B.canvas.width;
		var I = B.canvas.height;
		var Q = C - t - 2 * this.padding;
		var X = I - s - 2 * this.padding;
		var M = Math.min(Q, X);
		var Y = M;
		this._sliceAngles = [];
		var v = this.sliceMargin;
		if (this.fill == false)
		{
			v += this.lineWidth
		}
		var q;
		var G = 0;
		var R, aa, Z, ab;
		var D = this.startAngle / 180 * Math.PI;
		for (var W = 0, V = z.length; W < V; W++)
		{
			aa = (W == 0) ? D : z[W - 1][1] + D;
			Z = z[W][1] + D;
			this._sliceAngles.push([aa, Z]);
			q = j(aa, Z, this.sliceMargin, this.fill, this.lineWidth);
			if (Math.abs(Z - aa) > Math.PI)
			{
				G = Math.max(q, G)
			}
		}
		if (this.diameter != null && this.diameter > 0)
		{
			this._diameter = this.diameter - 2 * G
		}
		else
		{
			this._diameter = Y - 2 * G
		}
		if (this._diameter < 6)
		{
			e.jqplot.log("Diameter of pie too small, not rendering.");
			return
		}
		var S = this._radius = this._diameter / 2;
		this._center = [(C - N * t) / 2 + N * t + G * Math.cos(D), (I - N * s) / 2 + N * s + G * Math.sin(D)];
		if (this.shadow)
		{
			for (var W = 0, V = z.length; W < V; W++)
			{
				ab = "rgba(0,0,0," + this.shadowAlpha + ")";
				this.renderer.drawSlice.call(this, B, this._sliceAngles[W][0], this._sliceAngles[W][1], ab, true)
			}
		}
		for (var W = 0; W < z.length; W++)
		{
			this.renderer.drawSlice.call(this, B, this._sliceAngles[W][0], this._sliceAngles[W][1], L.next(), false);
			if (this.showDataLabels && z[W][2] * 100 >= this.dataLabelThreshold)
			{
				var F, U = (this._sliceAngles[W][0] + this._sliceAngles[W][1]) / 2, T;
				if (this.dataLabels == "label")
				{
					F = this.dataLabelFormatString || "%s";
					T = e.jqplot.sprintf(F, z[W][0])
				}
				else
				{
					if (this.dataLabels == "value")
					{
						F = this.dataLabelFormatString || "%d";
						T = e.jqplot.sprintf(F, this.data[W][1])
					}
					else
					{
						if (this.dataLabels == "percent")
						{
							F = this.dataLabelFormatString || "%d%%";
							T = e.jqplot.sprintf(F, z[W][2] * 100)
						}
						else
						{
							if (this.dataLabels.constructor == Array)
							{
								F = this.dataLabelFormatString || "%s";
								T = e.jqplot.sprintf(F, this.dataLabels[W])
							}
						}
					}
				}
				var p = (this._radius) * this.dataLabelPositionFactor + this.sliceMargin + this.dataLabelNudge;
				var P = this._center[0] + Math.cos(U) * p + this.canvas._offsets.left;
				var O = this._center[1] + Math.sin(U) * p + this.canvas._offsets.top;
				var u = e('<div class="jqplot-pie-series jqplot-data-label" style="position:absolute;">' + T + "</div>").insertBefore(o.eventCanvas._elem);
				if (this.dataLabelCenterOn)
				{
					P -= u.width() / 2;
					O -= u.height() / 2
				}
				else
				{
					P -= u.width() * Math.sin(U / 2);
					O -= u.height() / 2
				}
				P = Math.round(P);
				O = Math.round(O);
				u.css({left: P, top: O})
			}
		}
	};
	e.jqplot.PieAxisRenderer = function ()
	{
		e.jqplot.LinearAxisRenderer.call(this)
	};
	e.jqplot.PieAxisRenderer.prototype = new e.jqplot.LinearAxisRenderer();
	e.jqplot.PieAxisRenderer.prototype.constructor = e.jqplot.PieAxisRenderer;
	e.jqplot.PieAxisRenderer.prototype.init = function (o)
	{
		this.tickRenderer = e.jqplot.PieTickRenderer;
		e.extend(true, this, o);
		this._dataBounds = {min: 0, max: 100};
		this.min = 0;
		this.max = 100;
		this.showTicks = false;
		this.ticks = [];
		this.showMark = false;
		this.show = false
	};
	e.jqplot.PieLegendRenderer = function ()
	{
		e.jqplot.TableLegendRenderer.call(this)
	};
	e.jqplot.PieLegendRenderer.prototype = new e.jqplot.TableLegendRenderer();
	e.jqplot.PieLegendRenderer.prototype.constructor = e.jqplot.PieLegendRenderer;
	e.jqplot.PieLegendRenderer.prototype.init = function (o)
	{
		this.numberRows = null;
		this.numberColumns = null;
		e.extend(true, this, o)
	};
	e.jqplot.PieLegendRenderer.prototype.draw = function ()
	{
		var r = this;
		if (this.show)
		{
			var B = this._series;
			this._elem = e(document.createElement("table"));
			this._elem.addClass("jqplot-table-legend");
			var E = {position: "absolute"};
			if (this.background)
			{
				E.background = this.background
			}
			if (this.border)
			{
				E.border = this.border
			}
			if (this.fontSize)
			{
				E.fontSize = this.fontSize
			}
			if (this.fontFamily)
			{
				E.fontFamily = this.fontFamily
			}
			if (this.textColor)
			{
				E.textColor = this.textColor
			}
			if (this.marginTop != null)
			{
				E.marginTop = this.marginTop
			}
			if (this.marginBottom != null)
			{
				E.marginBottom = this.marginBottom
			}
			if (this.marginLeft != null)
			{
				E.marginLeft = this.marginLeft
			}
			if (this.marginRight != null)
			{
				E.marginRight = this.marginRight
			}
			this._elem.css(E);
			var I = false, A = false, o, y;
			var C = B[0];
			var p = new e.jqplot.ColorGenerator(C.seriesColors);
			if (C.show)
			{
				var J = C.data;
				if (this.numberRows)
				{
					o = this.numberRows;
					if (!this.numberColumns)
					{
						y = Math.ceil(J.length / o)
					}
					else
					{
						y = this.numberColumns
					}
				}
				else
				{
					if (this.numberColumns)
					{
						y = this.numberColumns;
						o = Math.ceil(J.length / this.numberColumns)
					}
					else
					{
						o = J.length;
						y = 1
					}
				}
				var H, G;
				var q, w, v;
				var x, z, F;
				var D = 0;
				var u, t;
				for (H = 0; H < o; H++)
				{
					q = e(document.createElement("tr"));
					q.addClass("jqplot-table-legend");
					if (A)
					{
						q.prependTo(this._elem)
					}
					else
					{
						q.appendTo(this._elem)
					}
					for (G = 0; G < y; G++)
					{
						if (D < J.length)
						{
							x = this.labels[D] || J[D][0].toString();
							F = p.next();
							if (!A)
							{
								if (H > 0)
								{
									I = true
								}
								else
								{
									I = false
								}
							}
							else
							{
								if (H == o - 1)
								{
									I = false
								}
								else
								{
									I = true
								}
							}
							z = (I) ? this.rowSpacing : "0";
							w = e(document.createElement("td"));
							w.addClass("jqplot-table-legend jqplot-table-legend-swatch");
							w.css({textAlign: "center", paddingTop: z});
							u = e(document.createElement("div"));
							u.addClass("jqplot-table-legend-swatch-outline");
							t = e(document.createElement("div"));
							t.addClass("jqplot-table-legend-swatch");
							t.css({backgroundColor: F, borderColor: F});
							w.append(u.append(t));
							v = e(document.createElement("td"));
							v.addClass("jqplot-table-legend jqplot-table-legend-label");
							v.css("paddingTop", z);
							if (this.escapeHtml)
							{
								v.text(x)
							}
							else
							{
								v.html(x)
							}
							if (A)
							{
								v.prependTo(q);
								w.prependTo(q)
							}
							else
							{
								w.appendTo(q);
								v.appendTo(q)
							}
							I = true
						}
						D++
					}
				}
			}
		}
		return this._elem
	};
	e.jqplot.PieRenderer.prototype.handleMove = function (q, p, t, s, r)
	{
		if (s)
		{
			var o = [s.seriesIndex, s.pointIndex, s.data];
			r.target.trigger("jqplotDataMouseOver", o);
			if (r.series[o[0]].highlightMouseOver && !(o[0] == r.plugins.pieRenderer.highlightedSeriesIndex && o[1] == r.series[o[0]]._highlightedPoint))
			{
				r.target.trigger("jqplotDataHighlight", o);
				d(r, o[0], o[1])
			}
		}
		else
		{
			if (s == null)
			{
				k(r)
			}
		}
	};
	function c(s, r, p)
	{
		p = p || {};
		p.axesDefaults = p.axesDefaults || {};
		p.legend = p.legend || {};
		p.seriesDefaults = p.seriesDefaults || {};
		var o = false;
		if (p.seriesDefaults.renderer == e.jqplot.PieRenderer)
		{
			o = true
		}
		else
		{
			if (p.series)
			{
				for (var q = 0; q < p.series.length; q++)
				{
					if (p.series[q].renderer == e.jqplot.PieRenderer)
					{
						o = true
					}
				}
			}
		}
		if (o)
		{
			p.axesDefaults.renderer = e.jqplot.PieAxisRenderer;
			p.legend.renderer = e.jqplot.PieLegendRenderer;
			p.legend.preDraw = true;
			p.seriesDefaults.pointLabels = {show: false}
		}
	}

	function g(r, q, o)
	{
		for (var p = 0; p < this.series.length; p++)
		{
			if (this.series[p].renderer.constructor == e.jqplot.PieRenderer)
			{
				if (this.series[p].highlightMouseOver)
				{
					this.series[p].highlightMouseDown = false
				}
			}
		}
	}

	function m(o)
	{
		for (var p = 0; p < this.series.length; p++)
		{
			this.series[p].seriesColors = this.seriesColors;
			this.series[p].colorGenerator = e.jqplot.colorGenerator
		}
	}

	function d(t, r, q)
	{
		var p = t.series[r];
		var o = t.plugins.pieRenderer.highlightCanvas;
		o._ctx.clearRect(0, 0, o._ctx.canvas.width, o._ctx.canvas.height);
		p._highlightedPoint = q;
		t.plugins.pieRenderer.highlightedSeriesIndex = r;
		p.renderer.drawSlice.call(p, o._ctx, p._sliceAngles[q][0], p._sliceAngles[q][1], p.highlightColorGenerator.get(q), false)
	}

	function k(q)
	{
		var o = q.plugins.pieRenderer.highlightCanvas;
		o._ctx.clearRect(0, 0, o._ctx.canvas.width, o._ctx.canvas.height);
		for (var p = 0; p < q.series.length; p++)
		{
			q.series[p]._highlightedPoint = null
		}
		q.plugins.pieRenderer.highlightedSeriesIndex = null;
		q.target.trigger("jqplotDataUnhighlight")
	}

	function b(s, r, v, u, t)
	{
		if (u)
		{
			var q = [u.seriesIndex, u.pointIndex, u.data];
			var p = jQuery.Event("jqplotDataMouseOver");
			p.pageX = s.pageX;
			p.pageY = s.pageY;
			t.target.trigger(p, q);
			if (t.series[q[0]].highlightMouseOver && !(q[0] == t.plugins.pieRenderer.highlightedSeriesIndex && q[1] == t.series[q[0]]._highlightedPoint))
			{
				var o = jQuery.Event("jqplotDataHighlight");
				o.which = s.which;
				o.pageX = s.pageX;
				o.pageY = s.pageY;
				t.target.trigger(o, q);
				d(t, q[0], q[1])
			}
		}
		else
		{
			if (u == null)
			{
				k(t)
			}
		}
	}

	function a(r, q, u, t, s)
	{
		if (t)
		{
			var p = [t.seriesIndex, t.pointIndex, t.data];
			if (s.series[p[0]].highlightMouseDown && !(p[0] == s.plugins.pieRenderer.highlightedSeriesIndex && p[1] == s.series[p[0]]._highlightedPoint))
			{
				var o = jQuery.Event("jqplotDataHighlight");
				o.which = r.which;
				o.pageX = r.pageX;
				o.pageY = r.pageY;
				s.target.trigger(o, p);
				d(s, p[0], p[1])
			}
		}
		else
		{
			if (t == null)
			{
				k(s)
			}
		}
	}

	function l(q, p, t, s, r)
	{
		var o = r.plugins.pieRenderer.highlightedSeriesIndex;
		if (o != null && r.series[o].highlightMouseDown)
		{
			k(r)
		}
	}

	function f(r, q, u, t, s)
	{
		if (t)
		{
			var p = [t.seriesIndex, t.pointIndex, t.data];
			var o = jQuery.Event("jqplotDataClick");
			o.which = r.which;
			o.pageX = r.pageX;
			o.pageY = r.pageY;
			s.target.trigger(o, p)
		}
	}

	function n(s, r, v, u, t)
	{
		if (u)
		{
			var q = [u.seriesIndex, u.pointIndex, u.data];
			var o = t.plugins.pieRenderer.highlightedSeriesIndex;
			if (o != null && t.series[o].highlightMouseDown)
			{
				k(t)
			}
			var p = jQuery.Event("jqplotDataRightClick");
			p.which = s.which;
			p.pageX = s.pageX;
			p.pageY = s.pageY;
			t.target.trigger(p, q)
		}
	}

	function i()
	{
		if (this.plugins.pieRenderer && this.plugins.pieRenderer.highlightCanvas)
		{
			this.plugins.pieRenderer.highlightCanvas.resetCanvas();
			this.plugins.pieRenderer.highlightCanvas = null
		}
		this.plugins.pieRenderer = {highlightedSeriesIndex: null};
		this.plugins.pieRenderer.highlightCanvas = new e.jqplot.GenericCanvas();
		var p = e(this.targetId + " .jqplot-data-label");
		if (p.length)
		{
			e(p[0]).before(this.plugins.pieRenderer.highlightCanvas.createElement(this._gridPadding, "jqplot-pieRenderer-highlight-canvas", this._plotDimensions, this))
		}
		else
		{
			this.eventCanvas._elem.before(this.plugins.pieRenderer.highlightCanvas.createElement(this._gridPadding, "jqplot-pieRenderer-highlight-canvas", this._plotDimensions, this))
		}
		var o = this.plugins.pieRenderer.highlightCanvas.setContext();
		this.eventCanvas._elem.bind("mouseleave", {plot: this}, function (q)
		{
			k(q.data.plot)
		})
	}

	e.jqplot.preInitHooks.push(c);
	e.jqplot.PieTickRenderer = function ()
	{
		e.jqplot.AxisTickRenderer.call(this)
	};
	e.jqplot.PieTickRenderer.prototype = new e.jqplot.AxisTickRenderer();
	e.jqplot.PieTickRenderer.prototype.constructor = e.jqplot.PieTickRenderer
})(akeeba.jQuery);