UNPKG

equation-admin-template

Version:

Booststrap 4 admin template made by equation

1,260 lines 366 kB
(function() { var d; window.AmCharts ? d = window.AmCharts : (d = {}, window.AmCharts = d, d.themes = {}, d.maps = {}, d.inheriting = {}, d.charts = [], d.onReadyArray = [], d.useUTC = !1, d.updateRate = 60, d.uid = 0, d.lang = {}, d.translations = {}, d.mapTranslations = {}, d.windows = {}, d.initHandlers = [], d.amString = "am", d.pmString = "pm"); d.Class = function(a) { var b = function() { arguments[0] !== d.inheriting && (this.events = {}, this.construct.apply(this, arguments)) }; a.inherits ? (b.prototype = new a.inherits(d.inheriting), b.base = a.inherits.prototype, delete a.inherits) : (b.prototype.createEvents = function() { for (var a = 0; a < arguments.length; a++) this.events[arguments[a]] = [] }, b.prototype.listenTo = function(a, b, c) { this.removeListener(a, b, c); a.events[b].push({ handler: c, scope: this }) }, b.prototype.addListener = function(a, b, c) { this.removeListener(this, a, b); a && this.events[a] && this.events[a].push({ handler: b, scope: c }) }, b.prototype.removeListener = function(a, b, c) { if (a && a.events && (a = a.events[b])) for (b = a.length - 1; 0 <= b; b--) a[b].handler === c && a.splice(b, 1) }, b.prototype.fire = function(a) { for (var b = this.events[a.type], c = 0; c < b.length; c++) { var d = b[c]; d.handler.call(d.scope, a) } }); for (var c in a) b.prototype[c] = a[c]; return b }; d.addChart = function(a) { window.requestAnimationFrame ? d.animationRequested || (d.animationRequested = !0, window.requestAnimationFrame(d.update)) : d.updateInt || (d.updateInt = setInterval(function() { d.update() }, Math.round(1E3 / d.updateRate))); d.charts.push(a) }; d.removeChart = function(a) { for (var b = d.charts, c = b.length - 1; 0 <= c; c--) b[c] == a && b.splice(c, 1); 0 === b.length && (d.requestAnimation && (window.cancelAnimationFrame(d.requestAnimation), d.animationRequested = !1), d.updateInt && (clearInterval(d.updateInt), d.updateInt = NaN)) }; d.isModern = !0; d.getIEVersion = function() { var a = 0, b, c; "Microsoft Internet Explorer" == navigator.appName && (b = navigator.userAgent, c = /MSIE ([0-9]{1,}[.0-9]{0,})/, null !== c.exec(b) && (a = parseFloat(RegExp.$1))); return a }; d.applyLang = function(a, b) { var c = d.translations; b.dayNames = d.extend({}, d.dayNames); b.shortDayNames = d.extend({}, d.shortDayNames); b.monthNames = d.extend({}, d.monthNames); b.shortMonthNames = d.extend({}, d.shortMonthNames); b.amString = "am"; b.pmString = "pm"; c && (c = c[a]) && (d.lang = c, b.langObj = c, c.monthNames && (b.dayNames = d.extend({}, c.dayNames), b.shortDayNames = d.extend({}, c.shortDayNames), b.monthNames = d.extend({}, c.monthNames), b.shortMonthNames = d.extend({}, c.shortMonthNames)), c.am && (b.amString = c.am), c.pm && (b.pmString = c.pm)); d.amString = b.amString; d.pmString = b.pmString }; d.IEversion = d.getIEVersion(); 9 > d.IEversion && 0 < d.IEversion && (d.isModern = !1, d.isIE = !0); d.dx = 0; d.dy = 0; if (document.addEventListener || window.opera) d.isNN = !0, d.isIE = !1, d.dx = .5, d.dy = .5; document.attachEvent && (d.isNN = !1, d.isIE = !0, d.isModern || (d.dx = 0, d.dy = 0)); window.chrome && (d.chrome = !0); d.handleMouseUp = function(a) { for (var b = d.charts, c = 0; c < b.length; c++) { var e = b[c]; e && e.handleReleaseOutside && e.handleReleaseOutside(a) } }; d.handleMouseMove = function(a) { for (var b = d.charts, c = 0; c < b.length; c++) { var e = b[c]; e && e.handleMouseMove && e.handleMouseMove(a) } }; d.handleWheel = function(a) { for (var b = d.charts, c = 0; c < b.length; c++) { var e = b[c]; if (e && e.mouseIsOver) { (e.mouseWheelScrollEnabled || e.mouseWheelZoomEnabled) && e.handleWheel && e.handleWheel(a); break } } }; d.resetMouseOver = function() { for (var a = d.charts, b = 0; b < a.length; b++) { var c = a[b]; c && (c.mouseIsOver = !1) } }; d.ready = function(a) { d.onReadyArray.push(a) }; d.handleLoad = function() { d.isReady = !0; for (var a = d.onReadyArray, b = 0; b < a.length; b++) { var c = a[b]; isNaN(d.processDelay) ? c() : setTimeout(c, d.processDelay * b) } }; d.addInitHandler = function(a, b) { d.initHandlers.push({ method: a, types: b }) }; d.callInitHandler = function(a) { var b = d.initHandlers; if (d.initHandlers) for (var c = 0; c < b.length; c++) { var e = b[c]; e.types ? d.isInArray(e.types, a.type) && e.method(a) : e.method(a) } }; d.getUniqueId = function() { d.uid++; return "AmChartsEl-" + d.uid }; d.isNN && (document.addEventListener("mousemove", d.handleMouseMove), document.addEventListener("mouseup", d.handleMouseUp, !0), window.addEventListener("load", d.handleLoad, !0), window.addEventListener("DOMMouseScroll", d.handleWheel, !0), document.addEventListener("mousewheel", d.handleWheel, !0)); d.isIE && (document.attachEvent("onmousemove", d.handleMouseMove), document.attachEvent("onmouseup", d.handleMouseUp), window.attachEvent("onload", d.handleLoad), document.attachEvent("onmousewheel", d.handleWheel)); d.clear = function() { var a = d.charts; if (a) for (var b = a.length - 1; 0 <= b; b--) a[b].clear(); d.updateInt && clearInterval(d.updateInt); d.requestAnimation && window.cancelAnimationFrame(d.requestAnimation); d.charts = []; d.isNN && (document.removeEventListener("mousemove", d.handleMouseMove, !0), document.removeEventListener("mouseup", d.handleMouseUp, !0), window.removeEventListener("load", d.handleLoad, !0), window.removeEventListener("DOMMouseScroll", d.handleWheel, !0), document.removeEventListener("mousewheel", d.handleWheel, !0)); d.isIE && (document.detachEvent("onmousemove", d.handleMouseMove), document.detachEvent("onmouseup", d.handleMouseUp), window.detachEvent("onload", d.handleLoad)) }; d.makeChart = function(a, b, c) { var e = b.type, h = b.theme; d.isString(h) && (h = d.themes[h], b.theme = h); var f; switch (e) { case "serial": f = new d.AmSerialChart(h); break; case "xy": f = new d.AmXYChart(h); break; case "pie": f = new d.AmPieChart(h); break; case "radar": f = new d.AmRadarChart(h); break; case "gauge": f = new d.AmAngularGauge(h); break; case "funnel": f = new d.AmFunnelChart(h); break; case "map": f = new d.AmMap(h); break; case "stock": f = new d.AmStockChart(h); break; case "gantt": f = new d.AmGanttChart(h) } d.extend(f, b); d.isReady ? isNaN(c) ? f.write(a) : setTimeout(function() { d.realWrite(f, a) }, c) : d.ready(function() { isNaN(c) ? f.write(a) : setTimeout(function() { d.realWrite(f, a) }, c) }); return f }; d.realWrite = function(a, b) { a.write(b) }; d.updateCount = 0; d.validateAt = Math.round(d.updateRate / 10); d.update = function() { var a = d.charts; d.updateCount++; var b = !1; d.updateCount == d.validateAt && (b = !0, d.updateCount = 0); if (a) for (var c = a.length - 1; 0 <= c; c--) a[c].update && a[c].update(), b && (a[c].autoResize ? a[c].validateSize && a[c].validateSize() : a[c].premeasure && a[c].premeasure()); window.requestAnimationFrame && (d.requestAnimation = window.requestAnimationFrame(d.update)) }; d.bezierX = 3; d.bezierY = 6; "complete" == document.readyState && d.handleLoad() })(); (function() { var d = window.AmCharts; d.toBoolean = function(a, b) { if (void 0 === a) return b; switch (String(a).toLowerCase()) { case "true": case "yes": case "1": return !0; case "false": case "no": case "0": case null: return !1; default: return !!a } }; d.removeFromArray = function(a, b) { var c; if (void 0 !== b && void 0 !== a) for (c = a.length - 1; 0 <= c; c--) a[c] == b && a.splice(c, 1) }; d.getPath = function() { var a = document.getElementsByTagName("script"); if (a) for (var b = 0; b < a.length; b++) { var c = a[b].src; if (-1 !== c.search(/\/(amcharts|ammap)\.js/)) return c.replace(/\/(amcharts|ammap)\.js.*/, "/") } }; d.normalizeUrl = function(a) { return "" !== a && -1 === a.search(/\/$/) ? a + "/" : a }; d.isAbsolute = function(a) { return 0 === a.search(/^http[s]?:|^\//) }; d.isInArray = function(a, b) { for (var c = 0; c < a.length; c++) if (a[c] == b) return !0; return !1 }; d.getDecimals = function(a) { var b = 0; isNaN(a) || (a = String(a), -1 != a.indexOf("e-") ? b = Number(a.split("-")[1]) : -1 != a.indexOf(".") && (b = a.split(".")[1].length)); return b }; d.wordwrap = function(a, b, c, e) { var h, f, g, k; a += ""; if (1 > b) return a; h = -1; for (a = (k = a.split(/\r\n|\n|\r/)).length; ++h < a; k[h] += g) { g = k[h]; for (k[h] = ""; g.length > b; k[h] += d.trim(g.slice(0, f)) + ((g = g.slice(f)).length ? c : "")) f = 2 == e || (f = g.slice(0, b + 1).match(/\S*(\s)?$/))[1] ? b : f.input.length - f[0].length || 1 == e && b || f.input.length + (f = g.slice(b).match(/^\S*/))[0].length; g = d.trim(g) } return k.join(c) }; d.trim = function(a) { return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "") }; d.wrappedText = function(a, b, c, e, h, f, g, k) { var l = d.text(a, b, c, e, h, f, g); if (l) { var m = l.getBBox(); if (m.width > k) { var n = "\n"; d.isModern || (n = "<br>"); k = Math.floor(k / (m.width / b.length)); 2 < k && (k -= 2); b = d.wordwrap(b, k, n, !0); l.remove(); l = d.text(a, b, c, e, h, f, g) } } return l }; d.getStyle = function(a, b) { var c = ""; if (document.defaultView && document.defaultView.getComputedStyle) try { c = document.defaultView.getComputedStyle(a, "").getPropertyValue(b) } catch (e) {} else a.currentStyle && (b = b.replace(/\-(\w)/g, function(a, b) { return b.toUpperCase() }), c = a.currentStyle[b]); return c }; d.removePx = function(a) { if (void 0 !== a) return Number(a.substring(0, a.length - 2)) }; d.getURL = function(a, b) { if (a) if ("_self" != b && b) if ("_top" == b && window.top) window.top.location.href = a; else if ("_parent" == b && window.parent) window.parent.location.href = a; else if ("_blank" == b) window.open(a); else { var c = document.getElementsByName(b)[0]; c ? c.src = a : (c = d.windows[b]) ? c.opener && !c.opener.closed ? c.location.href = a : d.windows[b] = window.open(a) : d.windows[b] = window.open(a) } else window.location.href = a }; d.ifArray = function(a) { return a && "object" == typeof a && 0 < a.length ? !0 : !1 }; d.callMethod = function(a, b) { var c; for (c = 0; c < b.length; c++) { var e = b[c]; if (e) { if (e[a]) e[a](); var d = e.length; if (0 < d) { var f; for (f = 0; f < d; f++) { var g = e[f]; if (g && g[a]) g[a]() } } } } }; d.toNumber = function(a) { return "number" == typeof a ? a : Number(String(a).replace(/[^0-9\-.]+/g, "")) }; d.toColor = function(a) { if ("" !== a && void 0 !== a) if (-1 != a.indexOf(",")) { a = a.split(","); var b; for (b = 0; b < a.length; b++) { var c = a[b].substring(a[b].length - 6, a[b].length); a[b] = "#" + c } } else a = a.substring(a.length - 6, a.length), a = "#" + a; return a }; d.toCoordinate = function(a, b, c) { var e; void 0 !== a && (a = String(a), c && c < b && (b = c), e = Number(a), -1 != a.indexOf("!") && (e = b - Number(a.substr(1))), -1 != a.indexOf("%") && (e = b * Number(a.substr(0, a.length - 1)) / 100)); return e }; d.fitToBounds = function(a, b, c) { a < b && (a = b); a > c && (a = c); return a }; d.isDefined = function(a) { return void 0 === a ? !1 : !0 }; d.stripNumbers = function(a) { return a.replace(/[0-9]+/g, "") }; d.roundTo = function(a, b) { if (0 > b) return a; var c = Math.pow(10, b); return Math.round(a * c) / c }; d.toFixed = function(a, b) { var c = String(Math.round(a * Math.pow(10, b))); if (0 < b) { var e = c.length; if (e < b) { var d; for (d = 0; d < b - e; d++) c = "0" + c } e = c.substring(0, c.length - b); "" === e && (e = 0); return e + "." + c.substring(c.length - b, c.length) } return String(c) }; d.formatDuration = function(a, b, c, e, h, f) { var g = d.intervals, k = f.decimalSeparator; if (a >= g[b].contains) { var l = a - Math.floor(a / g[b].contains) * g[b].contains; "ss" == b ? (l = d.formatNumber(l, f), 1 == l.split(k)[0].length && (l = "0" + l)) : l = d.roundTo(l, f.precision); ("mm" == b || "hh" == b) && 10 > l && (l = "0" + l); c = l + "" + e[b] + "" + c; a = Math.floor(a / g[b].contains); b = g[b].nextInterval; return d.formatDuration(a, b, c, e, h, f) } "ss" == b && (a = d.formatNumber(a, f), 1 == a.split(k)[0].length && (a = "0" + a)); ("mm" == b || "hh" == b) && 10 > a && (a = "0" + a); c = a + "" + e[b] + "" + c; if (g[h].count > g[b].count) for (a = g[b].count; a < g[h].count; a++) b = g[b].nextInterval, "ss" == b || "mm" == b || "hh" == b ? c = "00" + e[b] + "" + c : "DD" == b && (c = "0" + e[b] + "" + c); ":" == c.charAt(c.length - 1) && (c = c.substring(0, c.length - 1)); return c }; d.formatNumber = function(a, b, c, e, h) { a = d.roundTo(a, b.precision); isNaN(c) && (c = b.precision); var f = b.decimalSeparator; b = b.thousandsSeparator; var g; g = 0 > a ? "-" : ""; a = Math.abs(a); var k = String(a), l = !1; - 1 != k.indexOf("e") && (l = !0); 0 <= c && !l && (k = d.toFixed(a, c)); var m = ""; if (l) m = k; else { var k = k.split("."), l = String(k[0]), n; for (n = l.length; 0 <= n; n -= 3) m = n != l.length ? 0 !== n ? l.substring(n - 3, n) + b + m : l.substring(n - 3, n) + m : l.substring(n - 3, n); void 0 !== k[1] && (m = m + f + k[1]); void 0 !== c && 0 < c && "0" != m && (m = d.addZeroes(m, f, c)) } m = g + m; "" === g && !0 === e && 0 !== a && (m = "+" + m); !0 === h && (m += "%"); return m }; d.addZeroes = function(a, b, c) { a = a.split(b); void 0 === a[1] && 0 < c && (a[1] = "0"); return a[1].length < c ? (a[1] += "0", d.addZeroes(a[0] + b + a[1], b, c)) : void 0 !== a[1] ? a[0] + b + a[1] : a[0] }; d.scientificToNormal = function(a) { var b; a = String(a).split("e"); var c; if ("-" == a[1].substr(0, 1)) { b = "0."; for (c = 0; c < Math.abs(Number(a[1])) - 1; c++) b += "0"; b += a[0].split(".").join("") } else { var e = 0; b = a[0].split("."); b[1] && (e = b[1].length); b = a[0].split(".").join(""); for (c = 0; c < Math.abs(Number(a[1])) - e; c++) b += "0" } return b }; d.toScientific = function(a, b) { if (0 === a) return "0"; var c = Math.floor(Math.log(Math.abs(a)) * Math.LOG10E), e = String(e).split(".").join(b); return String(e) + "e" + c }; d.randomColor = function() { return "#" + ("00000" + (16777216 * Math.random() << 0).toString(16)).substr(-6) }; d.hitTest = function(a, b, c) { var e = !1, h = a.x, f = a.x + a.width, g = a.y, k = a.y + a.height, l = d.isInRectangle; e || (e = l(h, g, b)); e || (e = l(h, k, b)); e || (e = l(f, g, b)); e || (e = l(f, k, b)); e || !0 === c || (e = d.hitTest(b, a, !0)); return e }; d.isInRectangle = function(a, b, c) { return a >= c.x - 5 && a <= c.x + c.width + 5 && b >= c.y - 5 && b <= c.y + c.height + 5 ? !0 : !1 }; d.isPercents = function(a) { if (-1 != String(a).indexOf("%")) return !0 }; d.formatValue = function(a, b, c, e, h, f, g, k) { if (b) { void 0 === h && (h = ""); var l; for (l = 0; l < c.length; l++) { var m = c[l], n = b[m]; void 0 !== n && (n = f ? d.addPrefix(n, k, g, e) : d.formatNumber(n, e), a = a.replace(new RegExp("\\[\\[" + h + "" + m + "\\]\\]", "g"), n)) } } return a }; d.formatDataContextValue = function(a, b) { if (a) { var c = a.match(/\[\[.*?\]\]/g), e; for (e = 0; e < c.length; e++) { var d = c[e], d = d.substr(2, d.length - 4); void 0 !== b[d] && (a = a.replace(new RegExp("\\[\\[" + d + "\\]\\]", "g"), b[d])) } } return a }; d.massReplace = function(a, b) { for (var c in b) if (b.hasOwnProperty(c)) { var e = b[c]; void 0 === e && (e = ""); a = a.replace(c, e) } return a }; d.cleanFromEmpty = function(a) { return a.replace(/\[\[[^\]]*\]\]/g, "") }; d.addPrefix = function(a, b, c, e, h) { var f = d.formatNumber(a, e), g = "", k, l, m; if (0 === a) return "0"; 0 > a && (g = "-"); a = Math.abs(a); if (1 < a) for (k = b.length - 1; - 1 < k; k--) { if (a >= b[k].number && (l = a / b[k].number, m = Number(e.precision), 1 > m && (m = 1), c = d.roundTo(l, m), m = d.formatNumber(c, { precision: -1, decimalSeparator: e.decimalSeparator, thousandsSeparator: e.thousandsSeparator }), !h || l == c)) { f = g + "" + m + "" + b[k].prefix; break } } else for (k = 0; k < c.length; k++) if (a <= c[k].number) { l = a / c[k].number; m = Math.abs(Math.floor(Math.log(l) * Math.LOG10E)); l = d.roundTo(l, m); f = g + "" + l + "" + c[k].prefix; break } return f }; d.remove = function(a) { a && a.remove() }; d.getEffect = function(a) { ">" == a && (a = "easeOutSine"); "<" == a && (a = "easeInSine"); "elastic" == a && (a = "easeOutElastic"); return a }; d.getObjById = function(a, b) { var c, e; for (e = 0; e < a.length; e++) { var d = a[e]; if (d.id == b) { c = d; break } } return c }; d.applyTheme = function(a, b, c) { b || (b = d.theme); try { b = JSON.parse(JSON.stringify(b)) } catch (e) {} b && b[c] && d.extend(a, b[c]) }; d.isString = function(a) { return "string" == typeof a ? !0 : !1 }; d.extend = function(a, b, c) { var e; a || (a = {}); for (e in b) c ? a.hasOwnProperty(e) || (a[e] = b[e]) : a[e] = b[e]; return a }; d.copyProperties = function(a, b) { for (var c in a) a.hasOwnProperty(c) && "events" != c && void 0 !== a[c] && "function" != typeof a[c] && "cname" != c && (b[c] = a[c]) }; d.processObject = function(a, b, c, e) { if (!1 === a instanceof b && (a = e ? d.extend(new b(c), a) : d.extend(a, new b(c), !0), a.listeners)) for (var h in a.listeners) b = a.listeners[h], a.addListener(b.event, b.method); return a }; d.fixNewLines = function(a) { var b = RegExp("\\n", "g"); a && (a = a.replace(b, "<br />")); return a }; d.fixBrakes = function(a) { if (d.isModern) { var b = RegExp("<br>", "g"); a && (a = a.replace(b, "\n")) } else a = d.fixNewLines(a); return a }; d.deleteObject = function(a, b) { if (a) { if (void 0 === b || null === b) b = 20; if (0 !== b) if ("[object Array]" === Object.prototype.toString.call(a)) for (var c = 0; c < a.length; c++) d.deleteObject(a[c], b - 1), a[c] = null; else if (a && !a.tagName) try { for (c in a.theme = null, a) a[c] && ("object" == typeof a[c] && d.deleteObject(a[c], b - 1), "function" != typeof a[c] && (a[c] = null)) } catch (e) {} } }; d.bounce = function(a, b, c, e, d) { return (b /= d) < 1 / 2.75 ? 7.5625 * e * b * b + c : b < 2 / 2.75 ? e * (7.5625 * (b -= 1.5 / 2.75) * b + .75) + c : b < 2.5 / 2.75 ? e * (7.5625 * (b -= 2.25 / 2.75) * b + .9375) + c : e * (7.5625 * (b -= 2.625 / 2.75) * b + .984375) + c }; d.easeInOutQuad = function(a, b, c, e, d) { b /= d / 2; if (1 > b) return e / 2 * b * b + c; b--; return -e / 2 * (b * (b - 2) - 1) + c }; d.easeInSine = function(a, b, c, e, d) { return -e * Math.cos(b / d * (Math.PI / 2)) + e + c }; d.easeOutSine = function(a, b, c, e, d) { return e * Math.sin(b / d * (Math.PI / 2)) + c }; d.easeOutElastic = function(a, b, c, e, d) { a = 1.70158; var f = 0, g = e; if (0 === b) return c; if (1 == (b /= d)) return c + e; f || (f = .3 * d); g < Math.abs(e) ? (g = e, a = f / 4) : a = f / (2 * Math.PI) * Math.asin(e / g); return g * Math.pow(2, -10 * b) * Math.sin(2 * (b * d - a) * Math.PI / f) + e + c }; d.fixStepE = function(a) { a = a.toExponential(0).split("e"); var b = Number(a[1]); 9 == Number(a[0]) && b++; return d.generateNumber(1, b) }; d.generateNumber = function(a, b) { var c = "", e; e = 0 > b ? Math.abs(b) - 1 : Math.abs(b); var d; for (d = 0; d < e; d++) c += "0"; return 0 > b ? Number("0." + c + String(a)) : Number(String(a) + c) }; d.setCN = function(a, b, c, e) { if (a.addClassNames && b && (b = b.node) && c) { var d = b.getAttribute("class"); a = a.classNamePrefix + "-"; e && (a = ""); d ? b.setAttribute("class", d + " " + a + c) : b.setAttribute("class", a + c) } }; d.removeCN = function(a, b, c) { b && (b = b.node) && c && (b = b.classList) && b.remove(a.classNamePrefix + "-" + c) }; d.parseDefs = function(a, b) { for (var c in a) { var e = typeof a[c]; if (0 < a[c].length && "object" == e) for (var h = 0; h < a[c].length; h++) e = document.createElementNS(d.SVG_NS, c), b.appendChild(e), d.parseDefs(a[c][h], e); else "object" == e ? (e = document.createElementNS(d.SVG_NS, c), b.appendChild(e), d.parseDefs(a[c], e)) : b.setAttribute(c, a[c]) } } })(); (function() { var d = window.AmCharts; d.AxisBase = d.Class({ construct: function(a) { this.createEvents("clickItem", "rollOverItem", "rollOutItem"); this.titleDY = this.y = this.x = this.dy = this.dx = 0; this.axisThickness = 1; this.axisColor = "#000000"; this.axisAlpha = 1; this.gridCount = this.tickLength = 5; this.gridAlpha = .15; this.gridThickness = 1; this.gridColor = "#000000"; this.dashLength = 0; this.labelFrequency = 1; this.showLastLabel = this.showFirstLabel = !0; this.fillColor = "#FFFFFF"; this.fillAlpha = 0; this.labelsEnabled = !0; this.labelRotation = 0; this.autoGridCount = !0; this.offset = 0; this.guides = []; this.visible = !0; this.counter = 0; this.guides = []; this.ignoreAxisWidth = this.inside = !1; this.minHorizontalGap = 75; this.minVerticalGap = 35; this.titleBold = !0; this.minorGridEnabled = !1; this.minorGridAlpha = .07; this.autoWrap = !1; this.titleAlign = "middle"; this.labelOffset = 0; this.bcn = "axis-"; this.centerLabels = !1; this.firstDayOfWeek = 1; this.centerLabelOnFullPeriod = this.markPeriodChange = this.boldPeriodBeginning = !0; this.periods = [{ period: "fff", count: 1 }, { period: "fff", count: 5 }, { period: "fff", count: 10 }, { period: "fff", count: 50 }, { period: "fff", count: 100 }, { period: "fff", count: 500 }, { period: "ss", count: 1 }, { period: "ss", count: 5 }, { period: "ss", count: 10 }, { period: "ss", count: 30 }, { period: "mm", count: 1 }, { period: "mm", count: 5 }, { period: "mm", count: 10 }, { period: "mm", count: 30 }, { period: "hh", count: 1 }, { period: "hh", count: 3 }, { period: "hh", count: 6 }, { period: "hh", count: 12 }, { period: "DD", count: 1 }, { period: "DD", count: 2 }, { period: "DD", count: 3 }, { period: "DD", count: 4 }, { period: "DD", count: 5 }, { period: "WW", count: 1 }, { period: "MM", count: 1 }, { period: "MM", count: 2 }, { period: "MM", count: 3 }, { period: "MM", count: 6 }, { period: "YYYY", count: 1 }, { period: "YYYY", count: 2 }, { period: "YYYY", count: 5 }, { period: "YYYY", count: 10 }, { period: "YYYY", count: 50 }, { period: "YYYY", count: 100 }]; this.dateFormats = [{ period: "fff", format: "NN:SS.QQQ" }, { period: "ss", format: "JJ:NN:SS" }, { period: "mm", format: "JJ:NN" }, { period: "hh", format: "JJ:NN" }, { period: "DD", format: "MMM DD" }, { period: "WW", format: "MMM DD" }, { period: "MM", format: "MMM" }, { period: "YYYY", format: "YYYY" }]; this.nextPeriod = { fff: "ss", ss: "mm", mm: "hh", hh: "DD", DD: "MM", MM: "YYYY" }; d.applyTheme(this, a, "AxisBase") }, zoom: function(a, b) { this.start = a; this.end = b; this.dataChanged = !0; this.draw() }, fixAxisPosition: function() { var a = this.position; "H" == this.orientation ? ("left" == a && (a = "bottom"), "right" == a && (a = "top")) : ("bottom" == a && (a = "left"), "top" == a && (a = "right")); this.position = a }, init: function() { this.createBalloon() }, draw: function() { var a = this.chart; this.prevBY = this.prevBX = NaN; this.allLabels = []; this.counter = 0; this.destroy(); this.fixAxisPosition(); this.setBalloonBounds(); this.labels = []; var b = a.container, c = b.set(); a.gridSet.push(c); this.set = c; b = b.set(); a.axesLabelsSet.push(b); this.labelsSet = b; this.axisLine = new this.axisRenderer(this); this.autoGridCount ? ("V" == this.orientation ? (a = this.height / this.minVerticalGap, 3 > a && (a = 3)) : a = this.width / this.minHorizontalGap, this.gridCountR = Math.max(a, 1)) : this.gridCountR = this.gridCount; this.axisWidth = this.axisLine.axisWidth; this.addTitle() }, setOrientation: function(a) { this.orientation = a ? "H" : "V" }, addTitle: function() { var a = this.title; this.titleLabel = null; if (a) { var b = this.chart, c = this.titleColor; void 0 === c && (c = b.color); var e = this.titleFontSize; isNaN(e) && (e = b.fontSize + 1); a = d.text(b.container, a, c, b.fontFamily, e, this.titleAlign, this.titleBold); d.setCN(b, a, this.bcn + "title"); this.titleLabel = a } }, positionTitle: function() { var a = this.titleLabel; if (a) { var b, c, e = this.labelsSet, h = {}; 0 < e.length() ? h = e.getBBox() : (h.x = 0, h.y = 0, h.width = this.width, h.height = this.height, d.VML && (h.y += this.y, h.x += this.x)); e.push(a); var e = h.x, f = h.y; d.VML && (f -= this.y, e -= this.x); var g = h.width, h = h.height, k = this.width, l = this.height, m = 0, n = a.getBBox().height / 2, q = this.inside, p = this.titleAlign; switch (this.position) { case "top": b = "left" == p ? -1 : "right" == p ? k : k / 2; c = f - 10 - n; break; case "bottom": b = "left" == p ? -1 : "right" == p ? k : k / 2; c = f + h + 10 + n; break; case "left": b = e - 10 - n; q && (b -= 5); m = -90; c = ("left" == p ? l + 1 : "right" == p ? -1 : l / 2) + this.titleDY; break; case "right": b = e + g + 10 + n, q && (b += 7), c = ("left" == p ? l + 2 : "right" == p ? -2 : l / 2) + this.titleDY, m = -90 } this.marginsChanged ? (a.translate(b, c), this.tx = b, this.ty = c) : a.translate(this.tx, this.ty); this.marginsChanged = !1; isNaN(this.titleRotation) || (m = this.titleRotation); 0 !== m && a.rotate(m) } }, pushAxisItem: function(a, b) { var c = this, e = a.graphics(); 0 < e.length() && (b ? c.labelsSet.push(e) : c.set.push(e)); if (e = a.getLabel()) c.labelsSet.push(e), e.click(function(b) { c.handleMouse(b, a, "clickItem") }).touchend(function(b) { c.handleMouse(b, a, "clickItem") }).mouseover(function(b) { c.handleMouse(b, a, "rollOverItem") }).mouseout(function(b) { c.handleMouse(b, a, "rollOutItem") }) }, handleMouse: function(a, b, c) { this.fire({ type: c, value: b.value, serialDataItem: b.serialDataItem, axis: this, target: b.label, chart: this.chart, event: a }) }, addGuide: function(a) { for (var b = this.guides, c = !1, e = b.length, h = 0; h < b.length; h++) b[h] == a && (c = !0, e = h); a = d.processObject(a, d.Guide, this.theme); a.id || (a.id = "guideAuto" + e + "_" + (new Date).getTime()); c || b.push(a) }, removeGuide: function(a) { var b = this.guides, c; for (c = 0; c < b.length; c++) b[c] == a && b.splice(c, 1) }, handleGuideOver: function(a) { clearTimeout(this.chart.hoverInt); var b = a.graphics.getBBox(), c = this.x + b.x + b.width / 2, b = this.y + b.y + b.height / 2, e = a.fillColor; void 0 === e && (e = a.lineColor); this.chart.showBalloon(a.balloonText, e, !0, c, b) }, handleGuideOut: function() { this.chart.hideBalloon() }, addEventListeners: function(a, b) { var c = this; a.mouseover(function() { c.handleGuideOver(b) }); a.touchstart(function() { c.handleGuideOver(b) }); a.mouseout(function() { c.handleGuideOut(b) }) }, getBBox: function() { var a; this.labelsSet && (a = this.labelsSet.getBBox()); a ? d.VML || (a = { x: a.x + this.x, y: a.y + this.y, width: a.width, height: a.height }) : a = { x: 0, y: 0, width: 0, height: 0 }; return a }, destroy: function() { d.remove(this.set); d.remove(this.labelsSet); var a = this.axisLine; a && d.remove(a.axisSet); d.remove(this.grid0) }, chooseMinorFrequency: function(a) { for (var b = 10; 0 < b; b--) if (a / b == Math.round(a / b)) return a / b }, parseDatesDraw: function() { var a, b = this.chart, c = this.showFirstLabel, e = this.showLastLabel, h, f = "", g = d.extractPeriod(this.minPeriod), k = d.getPeriodDuration(g.period, g.count), l, m, n, q, p, t = this.firstDayOfWeek, r = this.boldPeriodBeginning; a = this.minorGridEnabled; var w, y = this.gridAlpha, x, u = this.choosePeriod(0), A = u.period, u = u.count, z = d.getPeriodDuration(A, u); z < k && (A = g.period, u = g.count, z = k); g = A; "WW" == g && (g = "DD"); this.stepWidth = this.getStepWidth(this.timeDifference); var B = Math.ceil(this.timeDifference / z) + 5, D = l = d.resetDateToMin(new Date(this.startTime - z), A, u, t).getTime(); if (g == A && 1 == u && this.centerLabelOnFullPeriod || this.autoWrap || this.centerLabels) n = z * this.stepWidth, this.autoWrap && !this.centerLabels && (n = -n); this.cellWidth = k * this.stepWidth; q = Math.round(l / z); k = -1; q / 2 == Math.round(q / 2) && (k = -2, l -= z); q = this.firstTime; var C = 0, K = 0; a && 1 < u && (w = this.chooseMinorFrequency(u), x = d.getPeriodDuration(A, w), "DD" == A && (x += d.getPeriodDuration("hh")), "fff" == A && (x = 1)); if (0 < this.gridCountR) for (B - 5 - k > this.autoRotateCount && !isNaN(this.autoRotateAngle) && (this.labelRotationR = this.autoRotateAngle), a = k; a <= B; a++) { p = q + z * (a + Math.floor((D - q) / z)) - C; "DD" == A && (p += 36E5); p = d.resetDateToMin(new Date(p), A, u, t).getTime(); "MM" == A && (h = (p - l) / z, 1.5 <= (p - l) / z && (p = p - (h - 1) * z + d.getPeriodDuration("DD", 3), p = d.resetDateToMin(new Date(p), A, 1).getTime(), C += z)); h = (p - this.startTime) * this.stepWidth; if ("radar" == b.type) { if (h = this.axisWidth - h, 0 > h || h > this.axisWidth) continue } else this.rotate ? "date" == this.type && "middle" == this.gridPosition && (K = -z * this.stepWidth / 2) : "date" == this.type && (h = this.axisWidth - h); f = !1; this.nextPeriod[g] && (f = this.checkPeriodChange(this.nextPeriod[g], 1, p, l, g)); l = !1; f && this.markPeriodChange ? (f = this.dateFormatsObject[this.nextPeriod[g]], this.twoLineMode && (f = this.dateFormatsObject[g] + "\n" + f, f = d.fixBrakes(f)), l = !0) : f = this.dateFormatsObject[g]; r || (l = !1); this.currentDateFormat = f; f = d.formatDate(new Date(p), f, b); if (a == k && !c || a == B && !e) f = " "; this.labelFunction && (f = this.labelFunction(f, new Date(p), this, A, u, m).toString()); this.boldLabels && (l = !0); m = new this.axisItemRenderer(this, h, f, !1, n, K, !1, l); this.pushAxisItem(m); m = l = p; if (!isNaN(w)) for (h = 1; h < u; h += w) this.gridAlpha = this.minorGridAlpha, f = p + x * h, f = d.resetDateToMin(new Date(f), A, w, t).getTime(), f = new this.axisItemRenderer(this, (f - this.startTime) * this.stepWidth, void 0, void 0, void 0, void 0, void 0, void 0, void 0, !0), this.pushAxisItem(f); this.gridAlpha = y } }, choosePeriod: function(a) { var b = d.getPeriodDuration(this.periods[a].period, this.periods[a].count), c = this.periods; return this.timeDifference < b && 0 < a ? c[a - 1] : Math.ceil(this.timeDifference / b) <= this.gridCountR ? c[a] : a + 1 < c.length ? this.choosePeriod(a + 1) : c[a] }, getStepWidth: function(a) { var b; this.startOnAxis ? (b = this.axisWidth / (a - 1), 1 == a && (b = this.axisWidth)) : b = this.axisWidth / a; return b }, timeZoom: function(a, b) { this.startTime = a; this.endTime = b }, minDuration: function() { var a = d.extractPeriod(this.minPeriod); return d.getPeriodDuration(a.period, a.count) }, checkPeriodChange: function(a, b, c, e, h) { c = new Date(c); var f = new Date(e), g = this.firstDayOfWeek; e = b; "DD" == a && (b = 1); c = d.resetDateToMin(c, a, b, g).getTime(); b = d.resetDateToMin(f, a, b, g).getTime(); return "DD" == a && "hh" != h && c - b < d.getPeriodDuration(a, e) - d.getPeriodDuration("hh", 1) ? !1 : c != b ? !0 : !1 }, generateDFObject: function() { this.dateFormatsObject = {}; var a; for (a = 0; a < this.dateFormats.length; a++) { var b = this.dateFormats[a]; this.dateFormatsObject[b.period] = b.format } }, hideBalloon: function() { this.balloon && this.balloon.hide && this.balloon.hide(); this.prevBY = this.prevBX = NaN }, formatBalloonText: function(a) { return a }, showBalloon: function(a, b, c, e) { var d = this.offset; switch (this.position) { case "bottom": b = this.height + d; break; case "top": b = -d; break; case "left": a = -d; break; case "right": a = this.width + d } c || (c = this.currentDateFormat); if ("V" == this.orientation) { if (0 > b || b > this.height) return; if (isNaN(b)) { this.hideBalloon(); return } b = this.adjustBalloonCoordinate(b, e); e = this.coordinateToValue(b) } else { if (0 > a || a > this.width) return; if (isNaN(a)) { this.hideBalloon(); return } a = this.adjustBalloonCoordinate(a, e); e = this.coordinateToValue(a) } var f; if (d = this.chart.chartCursor) f = d.index; if (this.balloon && void 0 !== e && this.balloon.enabled) { if (this.balloonTextFunction) { if ("date" == this.type || !0 === this.parseDates) e = new Date(e); e = this.balloonTextFunction(e) } else this.balloonText ? e = this.formatBalloonText(this.balloonText, f, c) : isNaN(e) || (e = this.formatValue(e, c)); if (a != this.prevBX || b != this.prevBY) this.balloon.setPosition(a, b), this.prevBX = a, this.prevBY = b, e && this.balloon.showBalloon(e) } }, adjustBalloonCoordinate: function(a) { return a }, createBalloon: function() { var a = this.chart, b = a.chartCursor; b && (b = b.cursorPosition, "mouse" != b && (this.stickBalloonToCategory = !0), "start" == b && (this.stickBalloonToStart = !0), "ValueAxis" == this.cname && (this.stickBalloonToCategory = !1)); this.balloon && (this.balloon.destroy && this.balloon.destroy(), d.extend(this.balloon, a.balloon, !0)) }, setBalloonBounds: function() { var a = this.balloon; if (a) { var b = this.chart; a.cornerRadius = 0; a.shadowAlpha = 0; a.borderThickness = 1; a.borderAlpha = 1; a.adjustBorderColor = !1; a.showBullet = !1; this.balloon = a; a.chart = b; a.mainSet = b.plotBalloonsSet; a.pointerWidth = this.tickLength; if (this.parseDates || "date" == this.type) a.pointerWidth = 0; a.className = this.id; b = "V"; "V" == this.orientation && (b = "H"); this.stickBalloonToCategory || (a.animationDuration = 0); var c, e, d, f, g = this.inside, k = this.width, l = this.height; switch (this.position) { case "bottom": c = 0; e = k; g ? (d = 0, f = l) : (d = l, f = l + 1E3); break; case "top": c = 0; e = k; g ? (d = 0, f = l) : (d = -1E3, f = 0); break; case "left": d = 0; f = l; g ? (c = 0, e = k) : (c = -1E3, e = 0); break; case "right": d = 0, f = l, g ? (c = 0, e = k) : (c = k, e = k + 1E3) } a.drop || (a.pointerOrientation = b); a.setBounds(c, d, e, f) } } }) })(); (function() { var d = window.AmCharts; d.ValueAxis = d.Class({ inherits: d.AxisBase, construct: function(a) { this.cname = "ValueAxis"; this.createEvents("axisChanged", "logarithmicAxisFailed", "axisZoomed", "axisIntZoomed"); d.ValueAxis.base.construct.call(this, a); this.dataChanged = !0; this.stackType = "none"; this.position = "left"; this.unitPosition = "right"; this.includeAllValues = this.recalculateToPercents = this.includeHidden = this.includeGuidesInMinMax = this.integersOnly = !1; this.durationUnits = { DD: "d. ", hh: ":", mm: ":", ss: "" }; this.scrollbar = !1; this.baseValue = 0; this.radarCategoriesEnabled = !0; this.axisFrequency = 1; this.gridType = "polygons"; this.useScientificNotation = !1; this.axisTitleOffset = 10; this.pointPosition = "axis"; this.minMaxMultiplier = 1; this.logGridLimit = 2; this.totalTextOffset = this.treatZeroAs = 0; this.minPeriod = "ss"; this.relativeStart = 0; this.relativeEnd = 1; d.applyTheme(this, a, this.cname) }, updateData: function() { 0 >= this.gridCountR && (this.gridCountR = 1); this.totals = []; this.data = this.chart.chartData; var a = this.chart; "xy" != a.type && (this.stackGraphs("smoothedLine"), this.stackGraphs("line"), this.stackGraphs("column"), this.stackGraphs("step")); this.recalculateToPercents && this.recalculate(); this.synchronizationMultiplier && this.synchronizeWith ? (d.isString(this.synchronizeWith) && (this.synchronizeWith = a.getValueAxisById(this.synchronizeWith)), this.synchronizeWith && (this.synchronizeWithAxis(this.synchronizeWith), this.foundGraphs = !0)) : (this.foundGraphs = !1, this.getMinMax(), 0 === this.start && this.end == this.data.length - 1 && isNaN(this.minZoom) && isNaN(this.maxZoom) && (this.fullMin = this.min, this.fullMax = this.max, "date" != this.type && this.strictMinMax && (isNaN(this.minimum) || (this.fullMin = this.minimum), isNaN(this.maximum) || (this.fullMax = this.maximum)), this.logarithmic && (this.fullMin = this.logMin, 0 === this.fullMin && (this.fullMin = this.treatZeroAs)), "date" == this.type && (this.minimumDate ||