From fe5957ce1f24df491967eb2fdb1bc5c5ee90a900 Mon Sep 17 00:00:00 2001 From: Alexey Polyakov Date: Mon, 13 Jul 2026 22:25:53 +0300 Subject: [PATCH] render context fixes --- dist/iguanachart.js | 29 +++++++++++++------ dist/iguanachart.min.js | 2 +- .../lib/charting/01-1-chartwidgetlayer.js | 17 +++++++---- .../lib/charting/01-2-chartarealayer.js | 12 ++++++-- 4 files changed, 41 insertions(+), 19 deletions(-) diff --git a/dist/iguanachart.js b/dist/iguanachart.js index 18959b5..8c473da 100755 --- a/dist/iguanachart.js +++ b/dist/iguanachart.js @@ -2580,6 +2580,7 @@ iChart.indicators = { this.xIndex = null; this.xPoint = null; this.yPoint = null; + this.isRenderAfterInitCanvas = false; if(typeof settings != "undefined") { for (var widget in settings) { @@ -2597,9 +2598,8 @@ iChart.indicators = { iChart.Charting.ChartWidgetLayer.prototype.clear = function () { - if(!this.context) { - console.log("ERROR: No context for render"); - return 0; + if (!this.context) { + return; } var context = this.context; @@ -2617,9 +2617,9 @@ iChart.indicators = { if (!context) { - if(!this.context) { - console.log("ERROR: No context for render"); - return 0; + if (!this.context) { + this.isRenderAfterInitCanvas = true; + return; } context = this.context; var canvasSize = getElementSize(context.canvas); @@ -2668,6 +2668,11 @@ iChart.indicators = { { this.context = iChart.getContext(this.canvas); this.offset = this.chart._containerSize.offset; + + if (this.isRenderAfterInitCanvas) { + this.isRenderAfterInitCanvas = false; + this.render(); + } } }; @@ -3329,6 +3334,7 @@ iChart.indicators = { this.prevY = null; this.selected = null; this.unfinished = null; + this.isRenderAfterInitCanvas = false; /* $(chart.container).off('mousedown.overlay').unbind('mouseup.overlay').unbind('mousemove.overlay'); @@ -3939,9 +3945,9 @@ iChart.indicators = { if (!context) { - if(!this.context) { - console.log("ERROR: No context for render"); - return 0; + if (!this.context) { + this.isRenderAfterInitCanvas = true; + return; } context = this.context; var canvasSize = getElementSize(context.canvas); @@ -4233,6 +4239,11 @@ iChart.indicators = { { this.context = iChart.getContext(this.canvas); this.offset = this.chart._containerSize.offset; + + if (this.isRenderAfterInitCanvas) { + this.isRenderAfterInitCanvas = false; + this.render(); + } } }; })(); diff --git a/dist/iguanachart.min.js b/dist/iguanachart.min.js index f5cb154..3b12753 100644 --- a/dist/iguanachart.min.js +++ b/dist/iguanachart.min.js @@ -1 +1 @@ -function formatDate(t,e){var i=new Date,e=i.getTime(),t=new Date(e+864e5*+t);return i.setTime(t.getTime()),iChart.formatDateTime(i,"dd.MM.yyyy")+(e?" 23:59":"")}function getElementSize(t){return{width:void 0===t.width?t.offsetWidth:t.width/window.devicePixelRatio,height:void 0===t.height?t.offsetHeight:t.height/window.devicePixelRatio}}function _(t,e){if(void 0!==_.data)return _.data[t]||(i18n[t]?(_.data[t]=i18n[t],_.data[t]):e)}function translateGetPluralForm(t,e,i){var a=parseInt(e)==e,r=2;if("ru"==i||"uk"==i)if(a){i=1<(""+e).length&&(""+e).substr(-2,1);if("1"==i)r=3;else switch((""+e).substr(-1)){case"1":r=1;break;case"2":case"3":case"4":r=2;break;default:case"0":case"5":case"6":case"7":case"8":case"9":r=3}}else r=2;else r=1',closeClass:"uk-icon-close",escClose:!0,overlayClose:!1,fixed:!0,position:null,persist:!1,draggable:!1,modal:!0,onOpen:null,onShow:null,onClose:null},a.modal.impl={d:{},init:function(t,e){var i=this;if(!i.d.data){if(n.ieQuirks=n.msie&&!n.boxModel,i.o=a.extend({},a.modal.defaults,e),i.zIndex=i.o.zIndex,i.occb=!1,"object"==typeof t)t=t instanceof a?t:a(t),i.d.placeholder=!1,0").attr("id","simplemodal-placeholder").css({display:"none"})),i.d.placeholder=!0,i.display=t.css("display"),i.o.persist||(i.d.orig=t.clone(!0)));else{if("string"!=typeof t&&"number"!=typeof t)return alert("SimpleModal Error: Unsupported data type: "+typeof t),i;t=a("
").html(t)}i.create(t),t=null,i.open(),a.isFunction(i.o.onShow)&&i.o.onShow.apply(i,[i.d])}return i},create:function(t){var e=this;e.getDimensions(),e.o.modal&&n.ie6&&(e.d.iframe=a('').css(a.extend(e.o.iframeCss,{display:"none",opacity:0,position:"fixed",height:h[0],width:h[1],zIndex:e.o.zIndex,top:0,left:0})).appendTo(e.o.appendTo)),e.d.overlay=a("
").attr("id",e.o.overlayId).addClass("simplemodal-overlay").css(a.extend(e.o.overlayCss,{display:"none",opacity:e.o.opacity/100,height:e.o.modal?i[0]:0,width:e.o.modal?i[1]:0,position:"fixed",left:0,top:0,zIndex:e.o.zIndex+1})).appendTo(e.o.appendTo),e.d.container=a("
").attr("id",e.o.containerId).addClass("simplemodal-container").css(a.extend({position:e.o.fixed?"fixed":"absolute"},e.o.containerCss,{display:"none",zIndex:e.o.zIndex+2})).append(e.o.close&&e.o.closeHTML?a(e.o.closeHTML).addClass(e.o.closeClass):"").appendTo(e.o.appendTo),e.d.title=a("
").attr("id",e.o.titleId).addClass("simplemodal-title").css(a.extend({},e.o.titleCss)).append(e.o.title).appendTo(e.d.container),e.d.wrap=a("
").attr("tabIndex",-1).addClass("simplemodal-wrap").appendTo(e.d.container),e.d.data=t.attr("id",t.attr("id")||e.o.dataId).addClass("simplemodal-data").css(a.extend(e.o.dataCss,{display:"none"})).appendTo("body"),t=null,e.setContainerDimensions(),e.d.data.appendTo(e.d.wrap),e.o.draggable&&"function"==typeof e.d.container.draggable&&e.d.container.draggable({handle:e.d.title,snap:!1}),(n.ie6||n.ieQuirks)&&e.fixIE()},bindEvents:function(){var e=this;a("."+e.o.closeClass).bind("click.simplemodal",function(t){t.preventDefault(),e.close()}),e.o.modal&&e.o.close&&e.o.overlayClose&&e.d.overlay.bind("click.simplemodal",function(t){t.preventDefault(),e.close()}),r.bind("keydown.simplemodal",function(t){e.o.modal&&9===t.keyCode?e.watchTab(t):e.o.close&&e.o.escClose&&27===t.keyCode&&(t.preventDefault(),e.close())}),s.bind("resize.simplemodal orientationchange.simplemodal",function(){e.getDimensions(),e.o.autoResize?e.setContainerDimensions():e.o.autoPosition&&e.setPosition(),n.ie6||n.ieQuirks?e.fixIE():e.o.modal&&(e.d.iframe&&e.d.iframe.css({height:h[0],width:h[1]}),e.d.overlay.css({height:i[0],width:i[1]}))})},unbindEvents:function(){a("."+this.o.closeClass).unbind("click.simplemodal"),r.unbind("keydown.simplemodal"),s.unbind(".simplemodal"),this.d.overlay.unbind("click.simplemodal")},fixIE:function(){var t=this,m=t.o.position;a.each([t.d.iframe||null,t.o.modal?t.d.overlay:null,"fixed"===t.d.container.css("position")?t.d.container:null],function(t,e){var i,a,r,s,n,o,h,l,c,d,p,u,g;e&&(i="document.body.clientHeight",a="document.body.clientWidth",p="document.body.scrollHeight",r="document.body.scrollLeft",s="document.body.scrollTop",n="document.body.scrollWidth",o="document.documentElement.clientHeight",h="document.documentElement.clientWidth",l="document.documentElement.scrollLeft",c="document.documentElement.scrollTop",(d=e[0].style).position="absolute",t<2?(d.removeExpression("height"),d.removeExpression("width"),d.setExpression("height",p+" > "+i+" ? "+p+" : "+i+' + "px"'),d.setExpression("width",n+" > "+a+" ? "+n+" : "+a+' + "px"')):(m&&m.constructor===Array?(g=-1===(t=m[0]?"number"==typeof m[0]?m[0].toString():m[0].replace(/px/,""):e.css("top").replace(/px/,"")).indexOf("%")?t+" + (t = "+c+" ? "+c+" : "+s+') + "px"':parseInt(t.replace(/%/,""))+" * (("+o+" || "+i+") / 100) + (t = "+c+" ? "+c+" : "+s+') + "px"',m[1]&&(u=-1===(p="number"==typeof m[1]?m[1].toString():m[1].replace(/px/,"")).indexOf("%")?p+" + (t = "+l+" ? "+l+" : "+r+') + "px"':parseInt(p.replace(/%/,""))+" * (("+h+" || "+a+") / 100) + (t = "+l+" ? "+l+" : "+r+') + "px"')):(g="("+o+" || "+i+") / 2 - (this.offsetHeight / 2) + (t = "+c+" ? "+c+" : "+s+') + "px"',u="("+h+" || "+a+") / 2 - (this.offsetWidth / 2) + (t = "+l+" ? "+l+" : "+r+') + "px"'),d.removeExpression("top"),d.removeExpression("left"),d.setExpression("top",g),d.setExpression("left",u)))})},focus:function(t){var e=this,t=t&&-1!==a.inArray(t,["first","last"])?t:"first",i=a(":input:enabled:visible:"+t,e.d.wrap);setTimeout(function(){(0").css({"border-collapse":"collapse",position:"relative",width:+e.columns*(+e.size+2)+"px",margin:0,padding:0,border:0,outline:0,"text-decoration":"none","font-size":"100%","list-style":"none"}),r=0;r"),n=0;n",{class:"palette-item"}).attr("data-color",e.palette[r*e.columns+n]).css({width:e.size,height:e.size,"background-color":e.palette[r*e.columns+n]});s.append(o)}a.append(s)}a.on("click","td",function(){e.value=h(this).data("color"),e.change.call(e)}),this.append(a).css({position:"relative","line-height":0,"border-width":0,display:"inline-block"}),this.data("palette",e)}};h.fn.palette=function(i){var a,t;return void 0===i||"object"==typeof i?this.each(function(t){var e=h(this);return l.init.call(e,i,t),e}):"string"==typeof i?(a=Array.prototype.slice.call(arguments,1),l[i]&&"function"==typeof l[i]?a.length?this.each(function(t){var e=h(this);return l[i].call(e,a),e}):(t=h(this).eq(0),l[i].call(t,a)):console.error("Method should be function")):console.error("Options should be object, string or undefined")}}(jQuery),"undefined"==typeof tzOffsetMoscow&&(tzOffsetMoscow=10800),"undefined"==typeof LANG_NAME&&(LANG_NAME="en"),"undefined"==typeof IGUANACHART_THEME&&(IGUANACHART_THEME="White"),"undefined"==typeof MOBILE_BROWSER_DETECTED&&(MOBILE_BROWSER_DETECTED=!1),Date.parse=function(t){var e,i;return t?(t instanceof Date?t:(e=t.match(/^\s*([0-9]{4})-([0-9]{2})-([0-9]{2})[\s|T]{0,1}(?:\s*(\d\d{0,1}):?(\d\d{0,1})(?::?(\d\d{0,1}))?(?:\.([0-9]{0,3}))?)?\s*$/))?(i=new Date(e[1],e[2]-1,e[3]),void 0!==e[4]&&void 0!==e[5]&&i.setHours(e[4],e[5],e[6]||0,e[7]||0),i):(e=t.match(new RegExp("^\\s*([0-9]{1,2})(?:.|-|/|\\s)([0-9]{1,2})(?:.|-|/|\\s)([0-9]{4})(?:\\s*([0-9]{1,2}):?([0-9]{1,2})(?::?([0-9]{1,2}))?)?\\s*$")))?(i=new Date(e[3],e[2]-1,e[1]),void 0!==e[4]&&void 0!==e[5]&&i.setHours(e[4],e[5],e[6]||0),i):new Date(t)).getTime():null},"undefined"==typeof _t&&(_.data={},_t=function(t,e,i){var a="",r=!1,s="object"==typeof i&&void 0!==i.QTY&&-1!=e.indexOf("||");return void 0!==(a=_(t,e))&&a!=e||(a=e,r=!0),s&&(a=translateGetPluralForm(a,i.QTY,r?"ru":LANG_NAME)),"object"==typeof i&&$.each(i,function(t,e){a=a.replace(new RegExp("%"+t+"%","g"),e)})," "+a+" "}),void 0===String.prototype.hashCode&&(String.prototype.hashCode=function(){var t,e,i=0;if(0!=this.length)for(t=0,e=this.length;t=this.length))for(var i=e=e<0?Math.max(0,this.length+e):e;i=t?r-t+s:0,t=new Array(r+1).join("0"),r=i+a;return(e||"")+(s?r=t+r:r+=t).substr(0,n+=s?t.length:0)+(n=e)return a;if(t[r]e)return-1;if(t[r]<=e)return r;for(;a<=r;){if(a===r)return a;if(a===r-1)return t[r]<=e?r:a;t[i=Math.floor((a+r)/2)]>e?r=i-1:a=i}return i},iChart.Charting.getNearestNotNullIndex=function(t,e){for(var i,a=i=e;;){if($.isArray(t[a])){if(null!=t[a][0])return a}else if(null!=t[a])return a;if($.isArray(t[i])){if(null!=t[i][0])return i}else if(null!=t[i])return i;if(0t.length-1)return!1}},iChart.Charting.initCanvas=function(t,e,i,a){if(t){var r=Math.max(window.devicePixelRatio||1,1);if(i*=r,a*=r,e){if(e.width===i&&e.height===a)return e;if("undefined"==typeof FlashCanvas)return e.width=i,e.height=a,e.getContext("2d").scaled=0,e;$(e).remove()}r=document.createElement("canvas");if(r.style.left=0,r.style.position="absolute",r.style.top=0,$(r).unbind("selectstart"),$(r).attr("unselectable","on").css("user-select","none").on("selectstart",!1),t.appendChild(r),void 0===r.getContext){if("undefined"==typeof FlashCanvas)return alert(_t("87550","Ваш браузер не поддерживается.")),null;FlashCanvas.initElement(r)}return r.width=i,r.height=a,r}console.log("No chart container. Abort")},iChart.Charting.pointToPointDistanceSquared=function(t,e){var i=t.x-e.x,t=t.y-e.y;return i*i+t*t},iChart.Charting.pointToSegmentDistanceSquared=function(t,e,i){var a,r=(e.x-t[0].x)*(t[1].x-t[0].x)+(e.y-t[0].y)*(t[1].y-t[0].y);return r<0?i?1/0:iChart.Charting.pointToPointDistanceSquared(e,t[0]):(a=iChart.Charting.pointToPointDistanceSquared(t[1],t[0]))=r.innerOffset.left&&i.left<=r.innerOffset.left+r.innerWidth)||a.x,a.y=(a[n].y=i.top>=r.innerOffset.top&&i.top<=r.innerOffset.top+r.innerHeight)||a.y);a.x&&a.y&&(0===(r=this.chart.areas[0]).xSeries.length||(s=r.getXIndex(i.left-r.innerOffset.left))r.viewport.x.bounded.max||(this.xIndex=Math.max(r.viewport.x.bounded.min,Math.min(r.viewport.x.bounded.max,Math.round(s))),this.xPoint=Math.round(this.area.getXPositionByIndex(this.xIndex)),this.yPoint=this.prevY,t.save(),t.translate(.5,.5),this.drawCrossLines(t),t.restore()))},iChart.Charting.ChartWidgetLayer.prototype.drawCrossLines=function(t,e,i){for(var a=this.chart.areas,r=this.chart.chartOptions.legendAlign,s=0;s=n.innerOffset.top&&this.yPoint<=n.innerOffset.top+n.innerHeight&&(t.setLineDash&&t.setLineDash([4,3]),t.moveTo(n.offset.left,this.yPoint),t.lineTo(n.offset.left+n.innerWidth,this.yPoint)),t.stroke(),t.closePath(),t.restore(),this.yPoint>=n.innerOffset.top&&this.yPoint<=n.innerOffset.top+n.innerHeight&&(g=(g=n.getYValue(this.yPoint-n.offset.top))<100?iChart.formatNumber(g,{decimalPlaces:null,decimalPrecision:6,scale:0}):iChart.formatNumber(g,{decimalPlaces:2,decimalPrecision:null,scale:0}),h=n.offset.left+n.innerWidth,p=this.yPoint,t.fillStyle=this.chart.chartOptions.labelColor,t.fillRect(h+8,p-8,t.measureText(g).width+10,15),t.beginPath(),t.moveTo(h+9,p-9),t.lineTo(h+9,p+8),t.lineTo(h,p),t.lineTo(h+9,p-9),t.lineTo(h+9,p+8),t.closePath(),t.fill(),t.font="normal 10px Verdana,Tahoma,Geneva,Arial,Sans-serif",t.textAlign="left",t.textBaseline="top",t.fillStyle=this.chart.chartOptions.labelFontColor,t.fillText(g,h+8,p-6))),t.save();var o,h,l,c,d,p=new Date(1e3*n.xSeries[this.xIndex]);0!=s||n.isLayer||(l=iChart.formatDateTime(p,this.chart.dateFormat).split("\n"),c=t.measureText(l[0]+" "+l[1]).width,t.fillStyle=this.chart.chartOptions.labelColor,t.fillRect(this.xPoint-Math.round(c/2)-4,n.offset.top+n.innerHeight+2,c+4,12),t.fillStyle=this.chart.chartOptions.labelFontColor,t.font="normal 8px Verdana,Tahoma,Geneva,Arial,Sans-serif",t.textAlign="left",t.textBaseline="top",t.fillText(l[0]+" "+l[1],this.xPoint-Math.round(c/2),n.offset.top+n.innerHeight+3)),n.isLayer||(t.fillStyle=this.chart.chartOptions.backgroundColor,"top"===r?t.fillRect(n.offset.left,o,100,15):t.fillRect(n.offset.left,o+n.innerHeight-15,100,15),t.font="normal 10px Verdana,Tahoma,Geneva,Arial,Sans-serif",t.textAlign="left",t.textBaseline="top",d=iChart.formatDateTime(p,"dd.MM.yyyy"+(this.chart.showTime()?" HH:mm":"")),n.textOffset+=t.measureText(d).width+20,t.fillStyle=this.chart.chartOptions.labelColor,"top"===r?t.fillText(d,n.offset.left,o):t.fillText(d,n.offset.left,o+n.innerHeight-12));for(var u=0;u=m.innerOffset.top&&this.yPoint<=m.innerOffset.top+m.innerHeight&&(a=m.ySeries[0],p=!0,s=(r=this.chart.chartOptions.floatingLegendFontSize)/2,t.font="normal "+r+"px Verdana,Tahoma,Geneva,Arial,Sans-serif",t.textAlign="left",t.textBaseline="top",n=m.ySeries[0].points[this.xIndex],h="HLOC"==a.kind?(o=t.measureText(_t("21962","open:")+n[2]).width,h=t.measureText(_t("21963","close:")+n[3]).width,l=t.measureText(_t("21964","low:")+n[1]).width,d=t.measureText(_t("21965","high:")+n[0]).width,o=Math.max(o,h,l,d)+10,4*(r+2)+s):(o=t.measureText(a.name+": "+iChart.formatNumber(n[a.closeValueIndex],a.formatProvider)).width+10,r+2+s),l=m.getYPosition(n[a.closeValueIndex])+m.innerOffset.top,d=9*((p=this.xPoint>(m.offset.left+m.innerWidth)/2?!1:p)?1:-1),p=p?this.xPoint+d:this.xPoint-o+d,u=0,(c=l-20)+h>m.innerOffset.top+m.innerHeight&&(u=c+h-(m.innerOffset.top+m.innerHeight)),t.fillStyle=this.chart.chartOptions.floatingLegendBorderColor,t.beginPath(),t.moveTo(this.xPoint+d,l-9),t.lineTo(this.xPoint+d,l+8),t.lineTo(this.xPoint,l),t.lineTo(this.xPoint+d,l-9),t.lineTo(this.xPoint+d,l+8),t.closePath(),t.fill(),t.lineWidth=1,t.strokeStyle=this.chart.chartOptions.floatingLegendBorderColor,t.beginPath(),t.moveTo(p+5,c-u),t.lineTo(p+o-5,c-u),t.quadraticCurveTo(p+o,c-u,p+o,c-u+5),t.lineTo(p+o,c-u+h-5),t.quadraticCurveTo(p+o,c-u+h,p+o-5,c-u+h),t.lineTo(p+5,c-u+h),t.quadraticCurveTo(p,c-u+h,p,c-u+h-5),t.lineTo(p,c-u+5),t.quadraticCurveTo(p,c-u,p+5,c-u),t.closePath(),t.stroke(),t.fillStyle=this.chart.chartOptions.floatingLegendBackground,t.fill(),t.fillStyle=this.chart.chartOptions.floatingLegendTextColor,"HLOC"==a.kind?(g=c-u+s,t.fillText(_t("21962","open:")+n[2],p,g),t.fillText(_t("21963","close:")+n[3],p,g+r+2),t.fillText(_t("21964","low:")+n[1],p,g+2*r+2),t.fillText(_t("21965","high:")+n[0],p,g+3*r+2)):(g=c-u+s,t.fillText(a.name+": "+iChart.formatNumber(n[a.closeValueIndex],a.formatProvider),p,g)))}t.restore()}}(),!function(){"use strict";iChart.Charting.ChartAreaLayer=function(t){this.$deleteButton=$("",{class:"m-chart-instrument-delete",text:"✕",title:_t("87551","Удалить инструмент")}).hide().appendTo(t.container),this.$settingsButton=$("").hide(),this.$settingsButton.attr("title",_t("87552","Свойства")),this.$settingsButton.appendTo(t.container),this.canvas=null,this.chart=t,this.defaultCursor="default",this.drag=null,this.history=[],this.hover=null,this.controlsHover=null,this.prevX=null,this.prevY=null,this.selected=null,this.unfinished=null},iChart.Charting.ChartAreaLayer.prototype.clear=function(t){if(t=!!t,this.history.length){if(t)this.$deleteButton.hide().removeClass("on"),this.$settingsButton.hide(),this.history=[];else for(var e=this.history,i=0;i=e))for(var a=1;a=e)return r[1]}},iChart.Charting.ChartAreaLayer.prototype.onMouseDown=function(t){},iChart.Charting.ChartAreaLayer.prototype.onMouseMove=function(t){},iChart.Charting.ChartAreaLayer.prototype.onMouseUp=function(t){},iChart.Charting.ChartAreaLayer.prototype.remove=function(t){t=this.history.indexOf(t);-1!==t&&(this.$deleteButton.unbind("mousedown").hide().removeClass("on"),this.$settingsButton.unbind("mousedown").hide(),this.history.splice(t,1),this.render(),this.syncHash())},iChart.Charting.ChartAreaLayer.prototype.removeSelected=function(t){null===this.selected||t?this.remove(t):this.remove(this.selected)},iChart.Charting.ChartAreaLayer.prototype.render=function(t){if(!t){if(!this.context)return console.log("ERROR: No context for render"),0;var e=getElementSize((t=this.context).canvas);t.clearRect(0,0,e.width,e.height)}t.save(),t.translate(this.area.innerOffset.left+.5,this.area.innerOffset.top+.5),t.beginPath(),t.moveTo(0,this.area.innerHeight),t.lineTo(this.area.innerWidth,this.area.innerHeight),t.lineTo(this.area.innerWidth,0),t.lineTo(0,0),t.closePath(),t.clip(),void 0!==t.busyPoints&&(t.busyPoints={}),this.history.sort(function(t,e){return t.selected?1:t.inHover&&e.selected?-1:!t.inHover||e.inHover||e.selected?void 0:1});for(var i=0;i",{class:"m-chart-instrument-delete",text:"✕",title:_t("87551","Удалить инструмент")}).hide().appendTo(t.container),this.$settingsButton=$("").hide(),this.$settingsButton.attr("title",_t("87552","Свойства")),this.$settingsButton.appendTo(t.container),this.canvas=null,this.chart=t,this.defaultCursor="default",this.drag=null,this.history=[],this.hover=null,this.controlsHover=null,this.prevX=null,this.prevY=null,this.selected=null,this.unfinished=null,this.isRenderAfterInitCanvas=!1,$(t.container).off("mousedown.overlay").unbind("mouseup.overlay").unbind("mousemove.overlay"),$(t.container).on("mousedown.overlay",$.proxy(this.onMouseDown,this)).on("mouseup.overlay",$.proxy(this.onMouseUp,this)).on("mousemove.overlay",$.proxy(this.onMouseMove,this)),t=(0==this.chart.env.dataSource.dataSettings.useHash?this.chart.env.dataSource.dataSettings:document.location).hash,this.deserialize(iChart.parseQueryString((t||"#").substr(1)))},iChart.Charting.ChartDrawingLayer.prototype.clear=function(t){if(t=!!t,this.history.length){if(t)this.$deleteButton.hide().removeClass("on"),this.$settingsButton.hide(),this.history=[];else for(var e=this.history,i=0;i=e))for(var a=1;a=e)return r[1]}},iChart.Charting.ChartDrawingLayer.prototype.onMouseDown=function(t){if(void 0!==this.offset){var e=Math.round(t.pageX-this.offset.left-this.area.innerOffset.left),i=Math.round(t.pageY-this.offset.top-this.area.innerOffset.top),a=1e3*this.area.getXValue(e),r=this.area.getYValue(i);if($(window).data("mouseValueX",a),$(window).data("mouseValueY",r),this.chart.isComparison&&!isNaN(r)&&(s=iChart.Charting.getNearestNotNullIndex(this.chart.areas[0].ySeries[0].points,this.chart.areas[0].viewport.x.bounded.min),r=(s=this.chart.areas[0].ySeries[0].points[s][3])+s/100*r),!isNaN(a)&&!isNaN(r))if(null!==this.unfinished)this.finalizePoint(a,r),this.selected.onInsert();else if(0!==this.history.length&&null===this.drag){var s=this.elementAt(e,i);if(s&&s.value&&"function"==typeof s.value.onMouseDown&&s.value.onMouseDown(t,e,i),void 0===s)this.setSelected(null);else if(s.value.controlEnable){if(s.mode.toString().match(new RegExp("^m_","i"))){a=s.mode.toString().match(new RegExp(/^m_(\d)/i));s.value.maps[a[1]].click()}else{if(s.mode.toString().match(new RegExp("^c_","i")))return r=s.mode.toString().match(new RegExp(/^c_(\d)/i)),void s.value.controls[r[1]].click();s.mode.toString().match(new RegExp("^a_","i"))}this.setSelected(s.value),s.hasSettings,this.drag={},this.drag.element=this.selected,this.drag.mode=s.mode,this.drag.x=e,this.drag.y=i,this.chart.selection&&this.chart.selection.disable()}}}},iChart.Charting.ChartDrawingLayer.prototype.onMouseMove=function(t){if(void 0!==this.offset){var e=Math.round(t.pageX-this.offset.left-this.area.innerOffset.left),t=Math.round(t.pageY-this.offset.top-this.area.innerOffset.top);if(e!==this.prevX||t!==this.prevY){this.prevX=e,this.prevY=t;var i,a,r=1e3*this.area.getXValue(e),s=this.area.getYValue(t);if(this.prevValueX=r,this.prevValueY=s,this.chart.isComparison&&!isNaN(s)&&(i=iChart.Charting.getNearestNotNullIndex(this.chart.areas[0].ySeries[0].points,this.chart.areas[0].viewport.x.bounded.min),s=(i=this.chart.areas[0].ySeries[0].points[i][3])+i/100*s),isNaN(r)||isNaN(s))this.setHover(null),this.chart.container.style.cursor=this.defaultCursor;else{if(null===this.unfinished)return null!==this.drag?(isNaN(parseInt(this.drag.mode))||(void 0!==this.drag.element.moveCursor?this.chart.container.style.cursor=this.drag.element.moveCursor:this.chart.container.style.cursor="move"),i=e-this.drag.x,a=t-this.drag.y,0==i&&0==a?void 0:(i=this.getMarkers(i,a),this.drag.element.onDrag(i.markers),void(i.outside?void 0!==this.drag.element.markers&&(delete this.drag.element.markers,this.render()):(this.drag.element.markers=i.markers,this.render())))):void(void 0===(a=this.elementAt(e,t))?(this.setHover(null),this.setControlsHover(null),this.chart.container.style.cursor=this.defaultCursor):a.mode.toString().match(new RegExp("^c_","i"))?(this.chart.container.style.cursor="pointer",this.setControlsHover(a)):a.mode.toString().match(new RegExp("^a_","i"))?(this.setHover(null),this.setControlsHover(a),this.chart.container.style.cursor=this.defaultCursor):a.mode.toString().match(new RegExp("^m_","i"))?(a.mode.toString().match(new RegExp(/^m_(\d)/i)),this.setControlsHover(a),this.chart.container.style.cursor="pointer"):(this.setHover(a.value,e,t),this.setControlsHover(a),void 0!==a.value.hoverCursor||void 0!==a.value.hoverPointCursor?0=(s=i.maps[a])[0].x&&t<=s[1].x&&e>=s[0].y&&e<=s[1].y)return"m_"+a;for(a=0;a=(s=i.controls[a])[0].x&&t<=s[1].x&&e>=s[0].y&&e<=s[1].y)return"c_"+a;if(void 0!==i.elementArea){var o=i.elementArea;if(t>=o[0].x&&t<=o[1].x&&e>=o[0].y&&e<=o[1].y)return"a_0"}}return-1},iChart.Charting.ChartElement.prototype.remove=function(){this.onRemove(),this.layer.remove(this),delete this.layer,delete this.testContext},iChart.Charting.ChartElement.prototype.setTestSegments=function(){this.testContext.segments=[this.testContext.points],this.testContext.controls=[]}}(),!function(){"use strict";iChart.Charting.ChartChannel=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Channel",this.drawType="manually",this.maxPointCount=3,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartChannel,iChart.Charting.ChartElement),iChart.Charting.ChartChannel.prototype.drawInternal=function(t,e){e.length<2||(this.initDrawSettings(t,this.settings),t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke(),e.length<3)||(t.beginPath(),t.moveTo(e[2].x,e[2].y),t.lineTo(e[1].x+(e[2].x-e[0].x),e[1].y+(e[2].y-e[0].y)),t.stroke(),t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.lineTo(e[1].x+(e[2].x-e[0].x),e[1].y+(e[2].y-e[0].y)),t.lineTo(e[2].x,e[2].y),t.fill())},iChart.Charting.ChartChannel.prototype.setTestSegments=function(){this.testContext.segments=[this.testContext.points,[this.testContext.points[2],{x:this.testContext.points[1].x+(this.testContext.points[2].x-this.testContext.points[0].x),y:this.testContext.points[1].y+(this.testContext.points[2].y-this.testContext.points[0].y)}]]}}(),!function(){"use strict";iChart.Charting.ChartEllipse=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Ellipse",this.drawType="manually",this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartEllipse,iChart.Charting.ChartElement),iChart.Charting.ChartEllipse.prototype.drawInternal=function(t,e){var i,a,r;e.length<2||(i=Math.abs(e[1].y-e[0].y),r=Math.abs(e[1].x-e[0].x),i<=4)||r<=4||(a=(e[0].x+e[1].x)/2,e=(e[0].y+e[1].y)/2,r=2*r/3,this.initDrawSettings(t,this.settings),t.beginPath(),t.moveTo(a,e-i/2),t.bezierCurveTo(a-r,e-i/2,a-r,e+i/2,a,e+i/2),t.bezierCurveTo(a+r,e+i/2,a+r,e-i/2,a,e-i/2),t.fill(),t.stroke())},iChart.Charting.ChartEllipse.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[1].y}],[{x:this.testContext.points[0].x,y:this.testContext.points[1].y},this.testContext.points[1]],[this.testContext.points[1],{x:this.testContext.points[1].x,y:this.testContext.points[0].y}],[{x:this.testContext.points[1].x,y:this.testContext.points[0].y},this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartFibonacciArc=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="FibonacciArc",this.drawType="manually",this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartFibonacciArc,iChart.Charting.ChartElement),iChart.Charting.ChartFibonacciArc.prototype.drawInternal=function(t,e){if(!(e.length<2)){t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke();var i=Math.sqrt(iChart.Charting.pointToPointDistanceSquared(e[0],e[1]));if(!(i<=4))for(var a=[.382,.5,.618],r=0;re[1].y),t.stroke()}}}(),!function(){"use strict";iChart.Charting.ChartFibonacciCorrection=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="FibonacciCorrection",this.drawType="manually",this.percentages=[0,.382,.5,.618,.786,1,1.272,1.618],this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartFibonacciCorrection,iChart.Charting.ChartElement),iChart.Charting.ChartFibonacciCorrection.prototype.drawInternal=function(t,e){if(!(e.length<2)){t.save(),t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke();var i=e[1].y-e[0].y;if(!(Math.abs(i)<=4))for(var a=0;a=e[1].y,this===this.layer.selected&&(t.beginPath(),t.arc(e[0].x,e[0].y,i/4,0,r?2*Math.PI-a:a,r),t.stroke()),"function"==typeof t.strokeText&&(t.font="normal 15px Tahoma",t.fillStyle=t.strokeStyle,t.translate(-.5,-.5),r?(t.textBaseline="top",t.fillText(Math.round(180*a/Math.PI)+"°",e[0].x+18,e[0].y+3)):(t.textBaseline="bottom",t.fillText("-"+Math.round(180*a/Math.PI)+"°",e[0].x+18,e[0].y-3)),t.translate(.5,.5)))},iChart.Charting.ChartTrend.prototype.setTestSegments=function(){var t=Math.sqrt(iChart.Charting.pointToPointDistanceSquared(this.testContext.points[0],this.testContext.points[1]));this.testContext.segments=[this.testContext.points,[this.testContext.points[0],{x:this.testContext.points[0].x+t,y:this.testContext.points[0].y}]]}}(),!function(){"use strict";iChart.Charting.ChartTriangle=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Triangle",this.drawType="manually",this.maxPointCount=3,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartTriangle,iChart.Charting.ChartElement),iChart.Charting.ChartTriangle.prototype.drawInternal=function(t,e){e.length<2||(t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke(),e.length<3)||(t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.lineTo(e[2].x,e[2].y),t.lineTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.fill(),t.stroke())},iChart.Charting.ChartTriangle.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],this.testContext.points[1]],[this.testContext.points[1],this.testContext.points[2]],[this.testContext.points[2],this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartVerticalLine=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="VerticalLine",this.drawType="manually",this.maxPointCount=1,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartVerticalLine,iChart.Charting.ChartElement),iChart.Charting.ChartVerticalLine.prototype.drawInternal=function(t,e){e.length<1||(t.save(),t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,0),t.lineTo(e[0].x,getElementSize(t.canvas).height),t.stroke(),t.restore())},iChart.Charting.ChartVerticalLine.prototype.setTestSegments=function(){this.testContext.segments=[[{x:this.testContext.points[0].x,y:this.layer.area.innerOffset.top},{x:this.testContext.points[0].x,y:this.layer.area.innerOffset.top+this.layer.area.innerHeight}]]}}(),!function(){"use strict";iChart.Charting.ChartMark=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Mark",this.drawType="manually",this.maxPointCount=1,this.hasSettings=!0,this.hasPopupSettings=!0,this.settings={mark:"smileUp"},this.img={},this.img.up=new Image,this.img.up.src=this.layer.chart.env.lib_path+"/images/icon-up.png",this.img.left=new Image,this.img.left.src=this.layer.chart.env.lib_path+"/images/icon-left.png",this.img.leftUp=new Image,this.img.leftUp.src=this.layer.chart.env.lib_path+"/images/icon-leftUp.png",this.img.rightUp=new Image,this.img.rightUp.src=this.layer.chart.env.lib_path+"/images/icon-rightUp.png",this.img.smileUp=new Image,this.img.smileUp.src=this.layer.chart.env.lib_path+"/images/icon-smileUp.png",this.img.exclamation=new Image,this.img.exclamation.src=this.layer.chart.env.lib_path+"/images/icon-exclamation.png",this.img.buy=new Image,this.img.buy.src=this.layer.chart.env.lib_path+"/images/icon-buy.png",this.img.down=new Image,this.img.down.src=this.layer.chart.env.lib_path+"/images/icon-down.png",this.img.right=new Image,this.img.right.src=this.layer.chart.env.lib_path+"/images/icon-right.png",this.img.leftDown=new Image,this.img.leftDown.src=this.layer.chart.env.lib_path+"/images/icon-leftDown.png",this.img.rightDown=new Image,this.img.rightDown.src=this.layer.chart.env.lib_path+"/images/icon-rightDown.png",this.img.smileDown=new Image,this.img.smileDown.src=this.layer.chart.env.lib_path+"/images/icon-smileDown.png",this.img.question=new Image,this.img.question.src=this.layer.chart.env.lib_path+"/images/icon-question.png",this.img.sell=new Image,this.img.sell.src=this.layer.chart.env.lib_path+"/images/icon-sell.png",$("#elementSettings").remove()},inheritPrototype(iChart.Charting.ChartMark,iChart.Charting.ChartElement),iChart.Charting.ChartMark.prototype.drawInternal=function(t,e){var i;e.length<1||null!=this.settings&&(i=this.settings,i=this.img[i.mark],t.save(),t.translate(-.5,-.5),t.drawImage(i,e[0].x-i.width/2,e[0].y-i.height/2,i.width,i.height),t.restore(),$(".Mark-select").hide())},iChart.Charting.ChartMark.prototype.drawPopupSettings=function(t,e){$("#elementSettings").remove(),$('
').appendTo($(this.layer.chart.container));var i=e.x-$("#elementSettings.mark").width()+8,a=($("#elementSettings").css({left:this.layer.area.innerOffset.left+i,top:this.layer.area.innerOffset.top+e.y+15}),this);return $("#elementSettings .chartTool").off("mousedown").on("mousedown",function(t){t.stopPropagation(),t=$(this).data("settings"),a.setSettings(t),a.layer.render(),$("#elementSettings").remove()}),!1},iChart.Charting.ChartMark.prototype.drawPoints=function(t,e){},iChart.Charting.ChartMark.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[0].y}]]}}(),!function(){"use strict";iChart.Charting.ChartLabel=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Label",this.drawType="manually",this.maxPointCount=1,this.hasSettings=!0,this.hasPopupSettings=!0,this.settings=0,this.settings={text:"",size:12},this.sizes=[12,15,19],$("#elementSettings").remove()},inheritPrototype(iChart.Charting.ChartLabel,iChart.Charting.ChartElement),iChart.Charting.ChartLabel.prototype.drawString=function(t,e,i,a,r,s,n,o){var h=e.split("\n");n=n||0,o=o||"Arial,Helvetica,sans-serif",r=r||this.sizes[0],s=s||"#000000",t.save(),t.font=r+"px "+o,t.fillStyle=s,t.translate(i,a),t.rotate(n*Math.PI/180);for(var l=0;l
Размер шрифта:
[X]
').prependTo($(this.layer.chart.container).parent()),$("#elementSettings.label").css({"margin-left":e.x+2,"margin-top":e.y+2}),this);return $("#elementSettings .save").unbind("mousedown").mousedown(function(t){t.stopPropagation();t={text:$("#elementSettings.label textarea").val(),size:$("#elementSettings.label #elementSize").val()};$("#elementSettings.label textarea").val().length?o.setSettings(t):i(),$("#elementSettings.label").remove()}),$("#elementSettings.label .close").unbind("mousedown").mousedown(function(t){t.stopPropagation(),o.settings.text.length||i(),$("#elementSettings.label").remove()}),!1},iChart.Charting.ChartLabel.prototype.setTestSegments=function(){for(var t=this.layer.context,e=this.settings,i=e.size,a=(t.font=i+"px Arial,Helvetica,sans-serif",t.fillStyle="#000000",0),r=0,s=e.text.split("\n"),n=0;na&&(a=t.measureText(s[n]).width,r+=i);this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x+a,y:this.testContext.points[0].y}],[{x:this.testContext.points[0].x+a,y:this.testContext.points[0].y},{x:this.testContext.points[0].x+a,y:this.testContext.points[0].y+r}],[{x:this.testContext.points[0].x+a,y:this.testContext.points[0].y+r},{x:this.testContext.points[0].x,y:this.testContext.points[0].y+r}],[{x:this.testContext.points[0].x,y:this.testContext.points[0].y+r},this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartArrow=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Arrow",this.drawType="manually",this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartArrow,iChart.Charting.ChartElement),iChart.Charting.ChartArrow.prototype.drawInternal=function(t,e){var i,a,r,s,n;e.length<2||(t.save(),this.initDrawSettings(t,this.settings),i=e[0].x,a=e[0].y,r=e[1].y,e=e[1].x,s=2*(5+t.lineWidth),t.lineWidth,n=Math.atan2(r-a,e-i),t.beginPath(),t.moveTo(e,r),t.lineTo(e-s*Math.cos(n-Math.PI/6),r-s*Math.sin(n-Math.PI/6)),t.lineTo(e-s*Math.cos(n+Math.PI/6),r-s*Math.sin(n+Math.PI/6)),t.lineTo(e,r),t.lineTo(e-s*Math.cos(n-Math.PI/6),r-s*Math.sin(n-Math.PI/6)),t.fillStyle=t.strokeStyle,t.fill(),t.stroke(),t.beginPath(),t.moveTo(i,a),t.lineTo((e-s*Math.cos(n-Math.PI/6)+e-s*Math.cos(n+Math.PI/6))/2,(r-s*Math.sin(n-Math.PI/6)+r-s*Math.sin(n+Math.PI/6))/2),t.stroke(),t.restore())}}(),!function(){"use strict";iChart.Charting.ChartPolygon=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Polygon",this.drawType="manually",this.maxPointCount=4,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartPolygon,iChart.Charting.ChartElement),iChart.Charting.ChartPolygon.prototype.drawInternal=function(t,e){var i;e.length<2||(t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke(),e.length<3)||(t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.lineTo(e[2].x,e[2].y),e.length<4||(i=this.settings,t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke(),t.beginPath(),t.strokeStyle=i.strokeStyle2,t.lineTo(e[2].x,e[2].y),t.lineTo(e[3].x,e[3].y),t.stroke(),t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.lineTo(e[2].x,e[2].y),t.lineTo(e[3].x,e[3].y)),t.fill())},iChart.Charting.ChartPolygon.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],this.testContext.points[1]],[this.testContext.points[2],this.testContext.points[3]]]}}(),!function(){"use strict";iChart.Charting.ChartTrade=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Trade",this.drawType="manually",this.maxPointCount=1,this.hasSettings=!0,this.controlEnable=!1,this.id=0},inheritPrototype(iChart.Charting.ChartTrade,iChart.Charting.ChartElement),iChart.Charting.ChartTrade.prototype.drawInternal=function(t,e){e.length<1||(t.save(),t.beginPath(),t.arc(e[0].x,e[0].y,5,0,2*Math.PI,!0),1==this.settings.type_id||3==this.settings.type_id?t.fillStyle="#00ff00":t.fillStyle="#ff0000",t.inHover&&(t.fillStyle="#0000ff",t.stokeStyle="#000"),t.fill(),t.closePath(),""!==this.settings.qb&&(t.beginPath(),t.strokeStyle=t.fillStyle,t.moveTo(e[0].x+5,e[0].y),t.lineTo(getElementSize(t.canvas).width,e[0].y),t.closePath(),t.stroke()),2==this.settings.mode&&this.drawTradeLable(t,e[0].x,e[0].y,this.settings),t.globalAlpha=.3,t.lineWidth=1,t.stokeStyle="#eee",t.restore())},iChart.Charting.ChartTrade.prototype.drawTradeLable=function(t,e,i,a){for(var r=parseFloat(a.price),r=getTradeLabelText(a,r=r<100?iChart.formatNumber(r,{decimalPlaces:null,decimalPrecision:6,scale:0}):iChart.formatNumber(r,{decimalPlaces:2,decimalPrecision:null,scale:0})),s=(t.save(),t.font="normal 11px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.busyPoints=t.busyPoints||{},t.setLineDash&&t.setLineDash([5]),e+20),n=70,o=t.measureText(r).width+10,h=s+o,l=0,n=70;n<=this.layer.area.innerHeight;n+=30){for(var l=1,c=$.map(t.busyPoints,function(t,e){return t.y==n?t:null}),d=0;d=c[d].minX||h<=c[d].maxX&&h>=c[d].minX||e<=c[d].minX&&h>=c[d].maxX)&&(l=0);if(l)break}t.beginPath(),t.strokeStyle="#C5C5C5",t.fillStyle="rgba(238,238,238,0.5)",t.rect(s,n-10,o,20),t.fill(),t.moveTo(e,i+(i
');t=$("
"+(1===t.type_id?_t("4916","Покупка"):_t("4917","Продажа"))+"
"+_t("1510","Дата")+": "+(1440<=this.layer.chart._dataSettings.timeframe?t.date_time.substr(0,10):t.date_time)+"
"+_t("3728","Сделок")+": "+t.count+"
"+_t("1444","Количество")+": "+iChart.formatNumber(parseFloat(t.volume),{decimalPlaces:0,decimalPrecision:null,scale:0})+"
"+_t("1446","Сумма")+": "+(t.summ<100?iChart.formatNumber(parseFloat(t.summ),{decimalPlaces:null,decimalPrecision:6,scale:0}):iChart.formatNumber(parseFloat(t.summ),{decimalPlaces:2,decimalPrecision:null,scale:0}))+"
"+_t("1445","Цена")+": "+(t.price<100?iChart.formatNumber(parseFloat(t.price),{decimalPlaces:null,decimalPrecision:6,scale:0}):iChart.formatNumber(parseFloat(t.price),{decimalPlaces:2,decimalPrecision:null,scale:0}))+"
"+(0===parseFloat(t.profit)?"":0":"")+"
");$("[chart-element-tooltip] .qtip-content").html(t),$("[chart-element-tooltip]").css({top:Math.max(e-$("[chart-element-tooltip]").height()-12,0)+"px",left:i+12+"px"}).show()},iChart.Charting.ChartTrade.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[0].y}]]}}(),!function(){"use strict";iChart.Charting.ChartBubble=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Bubble",this.drawType="manually",this.maxPointCount=3,this.hasSettings=!0,this.hasPopupSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings,{text:""})},inheritPrototype(iChart.Charting.ChartBubble,iChart.Charting.ChartElement),iChart.Charting.ChartBubble.prototype.onInsert=function(){this.selected=!0;var t=this.getCoordinates(null,this.points);t.length<2||(this.settings.width=t[1].x-t[0].x,this.settings.height=t[1].y-t[0].y)},iChart.Charting.ChartBubble.prototype.drawInternal=function(t,e){e.length<2||(void 0!==this.markers?(e[1].x,e[0].x,e[1].y,e[0].y,this.settings.width=e[1].x-e[0].x,this.settings.height=e[1].y-e[0].y):this.settings.width&&this.settings.height&&(this.points[1].x=1e3*this.layer.area.getXValue(e[0].x+this.settings.width),this.points[1].y=this.layer.area.getYValue(e[0].y+this.settings.height),e[1].x=this.layer.area.getXPositionByValue(this.points[1].x/1e3),e[1].y=this.layer.area.getYPosition(this.points[1].y)),this.initDrawSettings(t,this.settings),this.drawBubble(t,e))},iChart.Charting.ChartBubble.prototype.drawBubble=function(t,e){var i,a,r,s=Math.abs(e[0].x-e[1].x),n=Math.abs(e[0].y-e[1].y),o=e[0].x2*u&&Math.abs(e[0].y-e[1].y)>2*u&&(e[2].xMath.min(e[0].x,e[1].x)&&e[2].yMath.min(e[0].y,e[1].y)||(Math.abs(e[0].x-e[2].x)Math.min(e[0].x,e[1].x)&&e[2].xMath.min(e[0].y,e[1].y)&&e[2].yMath.abs((l[0].y-e[2].y)*(h?1:-1)))?p=!0:d=!0,d?(a=Math.abs(l[0].y-e[2].y)*Math.sin(Math.PI/12),c=parseInt(s/6),r=parseInt(s-2*u),i=ae[1].x-u||!o&&Math.max(l[1].x,l[2].x)>e[0].x-u)&&(l[1].x=l[0].x-u,l[2].x=l[1].x-i)):p&&(a=Math.abs(l[0].x-e[2].x)*Math.sin(Math.PI/12),c=parseInt(n/6),r=parseInt(n-2*u),i=ae[1].y-u||!h&&Math.max(l[1].y,l[2].y)>e[0].y-u)&&(l[1].y=l[0].y-u,l[2].y=l[1].y-i)))),t.moveTo(e[0].x+(o?u:-u),e[0].y),d&&l[0].y==e[0].y&&(t.lineTo(o?Math.min(l[1].x,l[2].x):Math.max(l[1].x,l[2].x),l[1].y),t.lineTo(e[2].x,e[2].y),t.lineTo(o?Math.max(l[1].x,l[2].x):Math.min(l[1].x,l[2].x),l[2].y)),t.lineTo(e[1].x-(o?u:-u),e[0].y),t.quadraticCurveTo(e[1].x,e[0].y,e[1].x,e[0].y+(h?u:-u)),p&&l[0].x==e[1].x&&(t.lineTo(l[1].x,h?Math.min(l[1].y,l[2].y):Math.max(l[1].y,l[2].y)),t.lineTo(e[2].x,e[2].y),t.lineTo(l[1].x,h?Math.max(l[1].y,l[2].y):Math.min(l[1].y,l[2].y))),t.lineTo(e[1].x,e[1].y-(h?u:-u)),t.quadraticCurveTo(e[1].x,e[1].y,e[1].x-(o?u:-u),e[1].y),d&&l[0].y==e[1].y&&(t.lineTo(o?Math.max(l[1].x,l[2].x):Math.min(l[1].x,l[2].x),l[2].y),t.lineTo(e[2].x,e[2].y),t.lineTo(o?Math.min(l[1].x,l[2].x):Math.max(l[1].x,l[2].x),l[1].y)),t.lineTo(e[0].x+(o?u:-u),e[1].y),t.quadraticCurveTo(e[0].x,e[1].y,e[0].x,e[1].y-(h?u:-u)),p&&l[0].x==e[0].x&&(t.lineTo(l[1].x,h?Math.max(l[1].y,l[2].y):Math.min(l[1].y,l[2].y)),t.lineTo(e[2].x,e[2].y),t.lineTo(l[1].x,h?Math.min(l[1].y,l[2].y):Math.max(l[1].y,l[2].y))),t.lineTo(e[0].x,e[0].y+(h?u:-u)),t.quadraticCurveTo(e[0].x,e[0].y,e[0].x+(o?u:-u),e[0].y),t.closePath(),t.fill(),t.stroke(),this.drawText(t,e,u,""),t.restore()},iChart.Charting.ChartBubble.prototype.drawText=function(t,e,i,a){var r=Math.abs(e[0].x-e[1].x)-parseInt(2*i/3)-10,s=Math.abs(e[0].y-e[1].y)-parseInt(2*i/3)-10,n=Math.min(e[0].x,e[1].x)+parseInt(i/3)+5,e=Math.min(e[0].y,e[1].y)+parseInt(i/3)+5,i=this.settings;if(this.selected){var o=e,h=n+this.layer.area.innerOffset.left;$("#chart-bubble-text").is(":visible")?this.settings.text=$("#chart-bubble-text").val():(0==$("#chart-element-bubble").length&&$(this.layer.chart.container).append('
'),$("#chart-bubble-text").val("").focus().val(this.settings.text)),$("#chart-bubble-text").css({font:"normal "+this.settings.fontSize+"px/"+(parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5))+"px "+this.settings.fontFamaly,background:"rgba(230,230,230,.0)",color:this.settings.fontColor,overflow:"hidden",border:"0px solid red",width:r+"px",height:s+"px"}),$("#chart-element-bubble").css({top:o+"px",left:h-2+"px"}).show(),$("#chart-bubble-text").width(r-2).height(s-2),$("#chart-element-bubble").off("click mousedown drag dragstart").on("click mousedown drag dragstart",function(t){t.stopPropagation()})}else{a=i.text,t.save(),t.beginPath(),t.fillStyle=this.settings.fontColor,t.font="normal "+this.settings.fontSize+"px "+this.settings.fontFamaly,t.textAlign="left",t.textBaseline="top",t.rect(n,e,r,s),t.clip(),t.translate(n,e);for(var l=(a=a.replace(/\n/g," [%br%] ")).split(/\s/),c=l.length,d="",p=0+Math.round(parseInt(this.settings.fontSize)/10),u=parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5),g=0;g'),$("#chart-bubble-text").css({font:"normal "+this.settings.fontSize+"px/"+(parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5))+"px "+this.settings.fontFamaly,background:"rgba(230,230,230,.0)",color:this.settings.fontColor,overflow:"hidden",border:"0px solid red"})),$("#chart-bubble-text").val("").focus().val(this.settings.text)},iChart.Charting.ChartBubble.prototype.onBlur=function(t){var e=this.settings;e.text=$("#chart-bubble-text").val(),this.setSettings(e),$("#chart-element-bubble").css({top:"-12000px",left:"-12000px"}).remove()},iChart.Charting.ChartBubble.prototype.onHover=function(t){this.selected&&(this.settings.text=$("#chart-bubble-text").val())},iChart.Charting.ChartBubble.prototype.onOut=function(t){this.selected&&(this.settings.text=$("#chart-bubble-text").val())},iChart.Charting.ChartBubble.prototype.onRemove=function(){$("#chart-element-bubble").css({top:"-12000px",left:"-12000px"}).hide()},iChart.Charting.ChartBubble.prototype.drawCheckPoint=function(t,e,i,a){t.strokeText(a,e,i),t.beginPath(),t.save(),t.strokeStyle="rgba(50,50,50,.4)",t.arc(e,i,40,0,2*Math.PI,!0),t.stroke(),t.beginPath(),t.lineWidth="3",t.arc(e,i,1,0,2*Math.PI,!0),t.stroke(),t.restore()},iChart.Charting.ChartBubble.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[1].y}],[{x:this.testContext.points[0].x,y:this.testContext.points[1].y},this.testContext.points[1]],[this.testContext.points[1],{x:this.testContext.points[1].x,y:this.testContext.points[0].y}],[{x:this.testContext.points[1].x,y:this.testContext.points[0].y},this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartText=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Text",this.drawType="manually",this.maxPointCount=2,this.hasSettings=!0,this.hasPopupSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings,{text:""})},inheritPrototype(iChart.Charting.ChartText,iChart.Charting.ChartElement),iChart.Charting.ChartText.prototype.onInsert=function(){this.selected=!0;var t=this.getCoordinates(null,this.points);t.length<2||(this.settings.width=t[1].x-t[0].x,this.settings.height=t[1].y-t[0].y)},iChart.Charting.ChartText.prototype.drawInternal=function(t,e){e.length<2||(void 0!==this.markers?(e[1].x,e[0].x,e[1].y,e[0].y,this.settings.width=e[1].x-e[0].x,this.settings.height=e[1].y-e[0].y):this.settings.width&&this.settings.height&&(this.points[1].x=1e3*this.layer.area.getXValue(e[0].x+this.settings.width),this.points[1].y=this.layer.area.getYValue(e[0].y+this.settings.height),e[1].x=this.layer.area.getXPositionByValue(this.points[1].x/1e3),e[1].y=this.layer.area.getYPosition(this.points[1].y)),this.initDrawSettings(t,this.settings),this.drawLabel(t,e))},iChart.Charting.ChartText.prototype.drawLabel=function(t,e){var i=Math.abs(e[0].x-e[1].x),a=Math.abs(e[0].y-e[1].y),r=e[0].x'),$("#chart-bubble-text").val("").focus().val(this.settings.text)),$("#chart-bubble-text").css({font:"normal "+this.settings.fontSize+"px/"+(parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5))+"px "+this.settings.fontFamaly,background:"rgba(230,230,230,.0)",color:this.settings.fontColor,overflow:"hidden",border:"0px solid red",width:r+"px",height:s+"px"}),$("#chart-element-bubble").css({top:+o+"px",left:h-1+"px"}).show(),$("#chart-bubble-text").width(r-2).height(s-2),$("#chart-element-bubble").off("click mousedown drag dragstart").on("click mousedown drag dragstart",function(t){t.stopPropagation()})}else{a=i.text,t.save(),t.beginPath(),t.fillStyle=this.settings.fontColor,t.font="normal "+this.settings.fontSize+"px "+this.settings.fontFamaly,t.textAlign="left",t.textBaseline="top",t.rect(n,e,r,s),t.clip(),t.translate(n,e);for(var l=(a=a.replace(/\n/g," [%br%] ")).split(/\s/),c=l.length,d="",p=0+Math.round(parseInt(this.settings.fontSize)/10),u=parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5),g=0;g'),$("#chart-bubble-text").css({font:"normal "+this.settings.fontSize+"px/"+(parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5))+"px "+this.settings.fontFamaly,background:"rgba(230,230,230,.0)",color:this.settings.fontColor,overflow:"hidden",border:"0px solid red"})),$("#chart-bubble-text").val("").focus().val(this.settings.text)},iChart.Charting.ChartText.prototype.onBlur=function(t){var e=this.settings;e.text=$("#chart-bubble-text").val(),this.setSettings(e),$("#chart-element-bubble").css({top:"-12000px",left:"-12000px"}).remove()},iChart.Charting.ChartText.prototype.onHover=function(t){this.selected&&(this.settings.text=$("#chart-bubble-text").val())},iChart.Charting.ChartText.prototype.onOut=function(t){this.selected&&(this.settings.text=$("#chart-bubble-text").val())},iChart.Charting.ChartText.prototype.onRemove=function(){$("#chart-element-bubble").css({top:"-12000px",left:"-12000px"}).hide()},iChart.Charting.ChartText.prototype.drawCheckPoint=function(t,e,i,a){t.strokeText(a,e,i),t.beginPath(),t.save(),t.strokeStyle="rgba(50,50,50,.4)",t.arc(e,i,40,0,2*Math.PI,!0),t.stroke(),t.beginPath(),t.lineWidth="3",t.arc(e,i,1,0,2*Math.PI,!0),t.stroke(),t.restore()},iChart.Charting.ChartText.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[1].y}],[{x:this.testContext.points[0].x,y:this.testContext.points[1].y},this.testContext.points[1]],[this.testContext.points[1],{x:this.testContext.points[1].x,y:this.testContext.points[0].y}],[{x:this.testContext.points[1].x,y:this.testContext.points[0].y},this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartOrder=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Order",this.drawType="auto",this.hoverCursor="row-resize",this.moveCursor="row-resize",this.maxPointCount=1,this.hasSettings=!0,this.controlEnable=!1,this.storageEnable=!1,this.settings={},this.positionAbsolute=!0},inheritPrototype(iChart.Charting.ChartOrder,iChart.Charting.ChartElement),iChart.Charting.ChartOrder.prototype.drawInternal=function(t,e){if(!(e.length<1)){this.settings.fillStyle=this.settings.fillStyle||"#3AAE3E";var i=this.layer.chart.areas[0].xSeries[this.layer.chart.areas[0].xSeries.length-this.layer.chart.chartOptions.futureAmount-1],i=(this.points[0].x=1e3*i,e[0].x=this.layer.area.getXPositionByValue(i),this.settings.fillStyle),a=getElementSize(t.canvas).width;if(this.selected||t.inHover)t.save(),t.beginPath(),t.strokeStyle=i,t.moveTo(0,e[0].y),t.lineTo(a,e[0].y),t.stroke(),t.restore(),this.drawLable(t,i,this.settings.textColor,e[0].x,e[0].y,this.settings.text);else{t.save(),t.strokeStyle=i,t.lineWidth=1,t.beginPath();for(var r=0;r<=a;r+=20)t.moveTo(r,e[0].y),t.lineTo(r+12,e[0].y);t.stroke(),t.restore()}}},iChart.Charting.ChartOrder.prototype.drawExtended=function(t){var e,i,a;!this.selected||(e=this.getCoordinates(t,this.points)).length<1||(i=iChart.formatNumber(this.points[0].y,{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),this.layer.chart.renderer.drawLable(t,this.settings.fillStyle,0,this.layer.area.innerWidth,e[0].y,i),void 0!==this.markers&&(e=this.getCoordinates(t,this.markers),i=iChart.formatNumber(this.markers[0].y,{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),a=t.inHover?void 0!==this.settings.fillStyleHover?this.settings.fillStyleHover:iChart.Charting.ChartOrder.lightColor(this.settings.fillStyle):this.settings.fillStyle,this.layer.chart.renderer.drawLable(t,a,0,this.layer.area.innerWidth,e[0].y,i)))},iChart.Charting.ChartOrder.prototype.drawLable=function(t,e,i,a,r,s){e=e||"#333333",i=i||"#FFFFFF",t.save(),t.font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=e,t.lineWidth="2";var e=t.measureText(s).width,a=getElementSize(t.canvas).width-120,n=(t.beginPath(),t.moveTo(a-e-5,r+5),t.lineTo(a-e-5,r-5),t.quadraticCurveTo(a-e-5,r-10,a-e,r-10),t.lineTo(a,r-10),t.quadraticCurveTo(5+a,r-10,5+a,r-5),t.lineTo(5+a,r+5),t.quadraticCurveTo(5+a,r+10,a,r+10),t.lineTo(a-e,r+10),t.quadraticCurveTo(a-e-5,r+10,a-e-5,r+5),t.closePath(),t.save(),this.layer.chart.chartOptions.shadowColor);this.selected?(t.shadowColor=n,t.shadowBlur=20,t.shadowOffsetX=15,t.shadowOffsetY=15):t.inHover&&(t.shadowColor=n,t.shadowBlur=10,t.shadowOffsetX=5,t.shadowOffsetY=5),t.fill(),t.restore(),this.drawCancelButton(t,a,r-10),t.fillStyle=i,t.fillText(s,a-e,r),t.restore()},iChart.Charting.ChartOrder.prototype.drawCancelButton=function(t,e,i){t.beginPath(),t.moveTo(e,i),t.strokeStyle="#FFFFFF",t.lineWidth=2,t.lineTo(e,i+20),t.stroke(),t.lineTo(e+15,i+20),t.quadraticCurveTo(e+20,i+20,e+20,i+15),t.lineTo(e+20,i+5),t.quadraticCurveTo(e+20,i,e+15,i),t.closePath(),t.fillStyle="#e53935",t.fill(),t.beginPath(),t.moveTo(e+5,i+5),t.lineTo(e+15,i+15),t.moveTo(e+5,i+15),t.lineTo(e+15,i+5),t.stroke(),t.closePath()},iChart.Charting.ChartOrder.prototype.drawTestSegments=function(t){if(void 0!==this.testContext){for(var e in t.save(),t.beginPath(),t.fillStyle="rgba(0,0,0,0.75)",this.testContext.segments){e=this.testContext.segments[e];t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke()}t.closePath(),t.restore()}},iChart.Charting.ChartOrder.prototype.setTestSegments=function(){var t,e;this.selected?((e=this.layer.context).font="normal 13px Arial,Helvetica,sans-serif",e.textAlign="left",e.textBaseline="middle",t=e.measureText(this.settings.text).width,e=getElementSize(e.canvas).width-120,this.testContext.segments=[[{x:e-t,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y-4}],[{x:e,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y+4}],[{x:e,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y+4}],[{x:e-t,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y-4}],[{x:e-t,y:this.testContext.points[0].y},{x:e,y:this.testContext.points[0].y}],[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}]]):this.testContext&&(this.testContext.segments=[[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}]])},iChart.Charting.ChartOrder.prototype.onDrag=function(t){"function"==typeof this.settings.restriction&&this.settings.restriction.call(this,t)},iChart.Charting.ChartOrder.prototype.onSelect=function(t){iChart.Charting.ChartElement.prototype.onSelect.call(this,t),this.setTestSegments()},iChart.Charting.ChartOrder.prototype.onBlur=function(){this.setTestSegments()},iChart.Charting.ChartOrder.prototype.onDrop=function(){"function"==typeof this.settings.onDrop&&this.settings.onDrop.call(this)},iChart.Charting.ChartOrder.prototype.onHover=function(){clearTimeout(this.layer.chart.env.timers.orderClose),this.cancelControl(1)},iChart.Charting.ChartOrder.prototype.onOut=function(){clearTimeout(this.layer.chart.env.timers.orderClose);var t=this;this.layer.chart.env.timers.orderClose=setTimeout(function(){t.cancelControl(0)},300)},iChart.Charting.ChartOrder.prototype.cancelControl=function(t){var e,i;"function"==typeof this.settings.onCancel&&(t?($("#ichartOrderCancelCtrl").hide(),i=getElementSize((t=this.layer.context).canvas).width-120,t=this.getCoordinates(t,this.points),$("#ichartOrderCancelCtrl").length||$("",{id:"ichartOrderCancelCtrl",style:"color:transparent",class:"m-chart-instrument-delete",text:"✕",title:_t("2958","Снять")}).hide().appendTo(this.layer.chart.container),e=this,$("#ichartOrderCancelCtrl").unbind("click").bind("click",function(t){"function"==typeof e.settings.onCancel&&e.settings.onCancel.call(e),$("#ichartOrderCancelCtrl").hide()}).bind("mouseover",function(){clearTimeout(e.layer.chart.env.timers.orderClose)}).bind("mouseleave",function(){clearTimeout(e.layer.chart.env.timers.orderClose),e.layer.chart.env.timers.orderClose=setTimeout(function(){e.cancelControl(0)},1e3)}),t=t[0].y-8,i=2+i,$("#ichartOrderCancelCtrl").css({top:t,left:i}).show()):$("#ichartOrderCancelCtrl").hide())},iChart.Charting.ChartOrder.lightColor=function(t){t=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split(/,\s*/);for(var e=0;e<3;e++)t[e]=parseInt(t[e])+40;return"rgba("+t.join(", ")+")"},iChart.Charting.ChartOrder.prototype.onMouseDown=function(t){"function"==typeof this.settings.onSelect&&this.settings.onSelect.call(this,t)}}(),!function(){"use strict";iChart.Charting.ChartVisualtrade=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Visualtrade",this.drawType="auto",this.hoverCursor=MOBILE_BROWSER_DETECTED?"move":"url('"+this.layer.chart.env.lib_path+"/styles/cursors/red_vertical_cursor.cur'), move",this.moveCursor=MOBILE_BROWSER_DETECTED?"move":"url('"+this.layer.chart.env.lib_path+"/styles/cursors/red_vertical_cursor.cur'), move",this.maxPointCount=5,this.hasSettings=!0,this.controlEnable=!0,this.storageEnable=!1,this.settings={redColor:"#bc353d",greenColor:"#7fcc1a",blueColor:"#4684c6",greyColor:"#999999",offset:40},this.drawSingle=!0},inheritPrototype(iChart.Charting.ChartVisualtrade,iChart.Charting.ChartElement),iChart.Charting.ChartVisualtrade.prototype.setSettings=function(t){this.settings=$.extend(this.settings,t),this.settings.onDrop=function(t){var e;isNaN(parseInt(t))||(0==(t=parseInt(t)-1)?$(jNTChartTrading).trigger("priceExternalUpdate",["price",iChart.roundToPrecision(this.points[0].y,this.layer.chart.env.userSettings.currentSecurity.min_step)]):1==t?"sell_at"==(e=this.getControlValue("order_type"))||"sell"==e?$(jNTChartTrading).trigger("priceExternalUpdate",["tp",iChart.roundToPrecision(this.points[1].y,this.layer.chart.env.userSettings.currentSecurity.min_step)]):$(jNTChartTrading).trigger("priceExternalUpdate",["sl",iChart.roundToPrecision(this.points[1].y,this.layer.chart.env.userSettings.currentSecurity.min_step)]):2==t&&("sell_at"==(e=this.getControlValue("order_type"))||"sell"==e?$(jNTChartTrading).trigger("priceExternalUpdate",["sl",iChart.roundToPrecision(this.points[2].y,this.layer.chart.env.userSettings.currentSecurity.min_step)]):$(jNTChartTrading).trigger("priceExternalUpdate",["tp",iChart.roundToPrecision(this.points[2].y,this.layer.chart.env.userSettings.currentSecurity.min_step)])))},this.priceControl={width:180,height:30},this.elementArea={top:70,bottom:47,left:10,right:10},this.points[0].fActive=1,this.points[1].fActive=0,this.points[2].fActive=0,this.points[0].enable=1,this.points[1].enable=!!this.settings.stoplossEnable,this.points[2].enable=!!this.settings.takeprofitEnable,this.points[1].fHover=0,this.points[2].fHover=0,this.controls={1:{enabled:!1,element:this,x:10,y:10,w:100,h:17,click:function(){this.element.switchControl(this)},type:"order_type",label:_t("4018","Продать"),value:"sell_at",active:!1},2:{enabled:!1,element:this,x:10,y:33,w:100,h:17,click:function(){this.element.switchControl(this)},type:"order_type",label:_t("4875","Продать по рынку"),value:"sell",active:!1},3:{enabled:!1,element:this,x:120,y:10,w:100,h:17,click:function(){this.element.switchControl(this)},type:"order_type",label:_t("4019","Купить"),value:"buy_at",active:!1},4:{enabled:!1,element:this,x:120,y:33,w:100,h:17,click:function(){this.element.switchControl(this)},type:"order_type",label:_t("5452","Купить по рынку"),value:"buy",active:!1},5:{enabled:!1,element:this,x:120,y:-27,w:100,h:17,click:function(){var t=this.element.getControlValue("order_type"),e=iChart.roundToPrecision(this.element.points[0].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step),i=0;"buy_at"!=t&&"buy"!=t&&"sell_at"!=t&&"sell"!=t||(i=Math.min(iChart.roundToPrecision(this.element.points[1].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step),iChart.roundToPrecision(this.element.points[2].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step)),Math.max(iChart.roundToPrecision(this.element.points[1].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step),iChart.roundToPrecision(this.element.points[2].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step)),e==i&&(i=null))},type:"action",label:_t("614","Ok"),value:"ok",active:!1},6:{enabled:!1,element:this,x:10,y:-27,w:100,h:17,click:function(){this.element.remove()},type:"action",label:_t("1403","Отмена"),value:"cancel",active:!1},7:{enabled:!0,element:this,click:function(){jNTChartTrading.close(),this.element.layer.chart.env.removeVisualTrade()},type:"close",value:"stoploss"},8:{enabled:!0,element:this,click:function(){jNTChartTrading.close(),this.element.layer.chart.env.removeVisualTrade()},type:"close",value:"takeprofit"},9:{enabled:!0,element:this,active:!0,click:function(){this.element.points[0].fActive=0,jNTChartTrading.close(),this.element.layer.chart.env.removeVisualTrade()},type:"close",value:"price"}};for(var e=0;e
');var a=this.settings.pointFormatter.call(this.settings);a&&($("[chart-element-tooltip] .qtip-content").html(a),$("[chart-element-tooltip]").css({top:e-$("[chart-element-tooltip]").height()+"px",left:i+12+"px"}).show())},iChart.Charting.ChartEvent.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[0].y}]]}}(),!function(){"use strict";iChart.Charting.ChartLevel=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Level",this.drawType="auto",this.hoverCursor=MOBILE_BROWSER_DETECTED?"move":"url('"+this.layer.chart.env.lib_path+"/styles/cursors/red_vertical_cursor.cur'), move",this.moveCursor=MOBILE_BROWSER_DETECTED?"move":"url('"+this.layer.chart.env.lib_path+"/styles/cursors/red_vertical_cursor.cur'), move",this.maxPointCount=1,this.hasSettings=!0,this.controlEnable=!0,this.storageEnable=!1,this.settings={text:"",color:"#ED1ACE",textColor:"red",inactiveHoverColor:"#4684c6",inactiveColor:"#AAAAAA",offset:40,width:150,height:30},this.drawSingle=!0},inheritPrototype(iChart.Charting.ChartLevel,iChart.Charting.ChartElement),iChart.Charting.ChartLevel.prototype.setSettings=function(t){this.points[0].fActive=1,this.points[0].fHover=0,this.settings.onDrop=function(t){isNaN(parseInt(t))||(parseInt(t),t={event:"drop",element:this,value:this.points[0].y},this.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t]))},this.controls={0:{active:!0,enabled:!1,element:this,click:function(){var t={event:"close",element:this,value:this.points[0].y};this.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t]),this.element.setTestSegments(),this.element.layer.render()},type:"close",value:"element"}},this.maps={0:{element:this,click:function(){this.element.points[0].fActive=1,this.element.setTestSegments();var t={event:"click",element:this.element,value:this.element.points[0].y};this.element.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t])},hoverIn:function(){this.element.points[0].fHover=1,this.element.layer.render();var t={event:"hoverIn",element:this.element,value:this.element.points[0].y};this.element.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t])},hoverOut:function(){this.element.points[0].fHover=0,this.element.layer.render();var t={event:"hoverOut",element:this.element,value:this.element.points[0].y};this.element.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t])},type:"element",value:"element"}},this.settings=$.extend(this.settings,t)},iChart.Charting.ChartLevel.prototype.drawInternal=function(t,e){if(!(e.length<1)){var i=this.layer.chart.env.viewData.chart.areas[0].getXPositionByIndex(this.layer.chart.env.viewData.chart.areas[0].xSeries.length-1-this.layer.chart.env.viewData.chart.chartOptions.futureAmount)+this.settings.offset,i=Math.min(i,this.layer.chart.env.viewData.chart.areas[0].getXPositionByIndex(this.layer.chart.env.viewData.chart.areas[0].xSeries.length-1)),i=this.layer.chart.env.viewData.chart.areas[0].getXValue(i);for(r in this.points[0].x=1e3*i,e[0].x=this.layer.area.getXPositionByValue(i),this.controls){var a=this.controls[r];a.enabled&&this.drawControl(t,e,a)}t.fillStyle="rgba(255,255,255,1)";for(var r=e.length-1;0<=r;r--)3<=r||(this.drawPriceBox(t,e,r),this.drawLabel(t,e,r))}},iChart.Charting.ChartLevel.prototype.drawPoints=function(t,e){},iChart.Charting.ChartLevel.prototype.drawExtended=function(t){var e,i;if(i=void 0!==this.markers?(e=this.getCoordinates(t,this.markers),this.markers):(e=this.getCoordinates(t,this.points),this.points),!(e.length<1))for(var a,r=0;ri||(e.save(),e.beginPath(),e.arc(t.x,t.y,5,0,2*Math.PI,!0),e.fillStyle="#607d8b",e.fill(),e.arc(t.x,t.y,2,0,2*Math.PI,!0),e.fillStyle="#ffffff",e.fill(),e.closePath(),e.restore())})},iChart.Charting.ChartPosition.prototype.drawLable=function(t,e,i,a,r,s){e=e||"#333333",i=i||"#FFFFFF",t.save(),t.font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=e,t.lineWidth="1";var e=t.measureText(s.positionText+s.profitText).width,n=getElementSize(t.canvas).width,n=(a=n-120)-e;t.beginPath(),t.moveTo(a-e-5,r+5),t.lineTo(a-e-5,r-5),t.quadraticCurveTo(a-e-5,r-10,a-e,r-10),t.lineTo(a,r-10),t.quadraticCurveTo(5+a,r-10,5+a,r-5),t.lineTo(5+a,r+5),t.quadraticCurveTo(5+a,r+10,a,r+10),t.lineTo(a-e,r+10),t.quadraticCurveTo(a-e-5,r+10,a-e-5,r+5),t.closePath(),t.fill(),s.profitText&&(t.fillStyle=i,t.fillText(s.positionText,a-e,r),e=t.measureText(s.profitText).width,t.fillStyle=s.profitColor,t.beginPath(),t.moveTo(a-e,r+5),t.lineTo(a-e,r-5),t.lineTo(a-e,r-10),t.lineTo(a,r-10),t.quadraticCurveTo(5+a,r-10,5+a,r-5),t.lineTo(5+a,r+5),t.quadraticCurveTo(5+a,r+10,a,r+10),t.lineTo(a-e,r+10),t.lineTo(a-e,r+10),t.closePath(),t.fill(),this.drawCancelButton(t,a,r-10),t.font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=i,t.fillText(s.profitText,a-e,r)),t.restore(),this.drawTrades(t,n,this.settings)},iChart.Charting.ChartPosition.prototype.drawCancelButton=function(t,e,i){t.beginPath(),t.moveTo(e,i),t.strokeStyle="#FFFFFF",t.lineWidth=2,t.lineTo(e,i+20),t.stroke(),t.lineTo(e+15,i+20),t.quadraticCurveTo(e+20,i+20,e+20,i+15),t.lineTo(e+20,i+5),t.quadraticCurveTo(e+20,i,e+15,i),t.closePath(),t.fillStyle="#e53935",t.fill(),t.beginPath(),t.moveTo(e+5,i+5),t.lineTo(e+15,i+15),t.moveTo(e+5,i+15),t.lineTo(e+15,i+5),t.stroke(),t.closePath(),t.restore()},iChart.Charting.ChartPosition.prototype.drawPoints=function(t,e){},iChart.Charting.ChartPosition.prototype.drawTestSegments=function(t){if(void 0!==this.testContext){for(var e in t.save(),t.beginPath(),t.fillStyle="rgba(0,0,0,0.75)",this.testContext.segments){e=this.testContext.segments[e];t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke()}t.closePath(),t.restore()}},iChart.Charting.ChartPosition.prototype.setTestSegments=function(){var t,e;this.selected?((e=this.layer.context).font="normal 13px Arial,Helvetica,sans-serif",e.textAlign="left",e.textBaseline="middle",t=e.measureText(this.settings.text).width,e=getElementSize(e.canvas).width-120,this.testContext.segments=[[{x:e-t,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y-4}],[{x:e,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y+4}],[{x:e,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y+4}],[{x:e-t,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y-4}],[{x:e-t,y:this.testContext.points[0].y},{x:e,y:this.testContext.points[0].y}],[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}]]):this.testContext&&(this.testContext.segments=[[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}]])},iChart.Charting.ChartPosition.prototype.onDrag=function(t){"function"==typeof this.settings.restriction&&this.settings.restriction.call(this,t)},iChart.Charting.ChartPosition.prototype.onSelect=function(t){iChart.Charting.ChartElement.prototype.onSelect.call(this,t),this.setTestSegments()},iChart.Charting.ChartPosition.prototype.onBlur=function(){this.setTestSegments()},iChart.Charting.ChartPosition.prototype.onDrop=function(){"function"==typeof this.settings.onDrop&&this.settings.onDrop.call(this)},iChart.Charting.ChartPosition.prototype.onHover=function(){clearTimeout(this.layer.chart.env.timers.positionClose),this.cancelControl(1)},iChart.Charting.ChartPosition.prototype.onOut=function(){clearTimeout(this.layer.chart.env.timers.positionClose);var t=this;this.layer.chart.env.timers.orderClose=setTimeout(function(){t.cancelControl(0)},300)},iChart.Charting.ChartPosition.prototype.cancelControl=function(t){var e,i;"function"==typeof this.settings.onCancel&&(t?($("#ichartPositionCancelCtrl").hide(),i=getElementSize((t=this.layer.context).canvas).width-120,t=this.getCoordinates(t,this.points),$("#ichartPositionCancelCtrl").length||$("",{id:"ichartPositionCancelCtrl",style:"color:transparent",class:"m-chart-instrument-delete",text:"✕",title:_t("15807","Закрыть позицию по рынку")}).hide().appendTo(this.layer.chart.container),e=this,$("#ichartPositionCancelCtrl").unbind("click").bind("click",function(t){"function"==typeof e.settings.onCancel&&e.settings.onCancel.call(e),$("#ichartOrderCancelCtrl").hide()}).bind("mouseover",function(){clearTimeout(e.layer.chart.env.timers.positionClose)}).bind("mouseleave",function(){clearTimeout(e.layer.chart.env.timers.positionClose),e.layer.chart.env.timers.positionClose=setTimeout(function(){e.cancelControl(0)},1e3)}),t=t[0].y-8,i=2+i,$("#ichartPositionCancelCtrl").css({top:t,left:i}).show()):$("#ichartPositionCancelCtrl").hide())},iChart.Charting.ChartPosition.lightColor=function(t){t=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split(/,\s*/);for(var e=0;e<3;e++)t[e]=parseInt(t[e])+40;return"rgba("+t.join(", ")+")"}}(),!function(){"use strict";iChart.Charting.ChartTradePanel=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="TradePanel",this.drawType="auto",this.hoverCursor=this.selected?"row-resize":"pointer",this.moveCursor=this.selected?"row-resize":"pointer",this.maxPointCount=1,this.hasSettings=!0,this.controlEnable=!1,this.storageEnable=!1,this.settings={},this.positionAbsolute=!0},inheritPrototype(iChart.Charting.ChartTradePanel,iChart.Charting.ChartElement),iChart.Charting.ChartTradePanel.prototype.drawInternal=function(t,e){var i;e.length<1||(this.hoverCursor=this.selected?"row-resize":"pointer",this.moveCursor=this.selected?"row-resize":"pointer",this.settings.autoInit&&(this.selected=!0,(this.layer.selected=this).settings.autoInit=!1),this.layer.history.sort(function(t,e){return t&&"TradePanel"==t.elementType&&t.selected?1:-1}),(this.selected&&!this.layer.selected||this.selected&&this.id!=this.layer.selected.id)&&(this.selected=!1),e[0].x=this.layer.area.getXPositionByValue(void 0),i=(this.markers||this.points)[0].y,"limit"==this.settings.type?this.settings.fillStyle=jNTChartTrading.order.operation_type<3?"#7cb342":"#e53935":"sl"==this.settings.type?this.settings.fillStyle="#e53935":"tp"==this.settings.type&&(this.settings.fillStyle="#7cb342"),this.settings.fillStyle=this.selected?this.settings.fillStyle:"rgba(238, 238, 238, 0.3)",this.settings.fillStyle=!this.selected&&t.inHover?"rgba(238, 238, 238, 1)":this.settings.fillStyle,this.settings.textColor=this.selected?"#FFFFFF":this.layer.chart.chartOptions.labelColor,this.settings.text=jNTChartTrading.order.operation_type<3?this.settings.buyText:this.settings.sellText,this.settings.price=_s(i,_d(this.settings.min_step)),this.settings.quantity=_s(this.settings.quantity),i=(0<(i=100*(this.settings.price/this.settings.ltp-1))?"+":"")+_s(i,2)+"%",this.settings.text=this.settings.text.replace("%quantity%",this.settings.quantity.trim()),this.settings.text=this.settings.text.replace("%price%",this.settings.price.trim()),this.settings.text=this.settings.text.replace("%percent%",i),this.settings.sendingOrder&&(this.settings.text=_t("15808","Выставляем новый приказ ..."),this.settings.fillStyle="rgba(119,119,119,1)",this.settings.textColor="#ffffff"),i=this.layer.chart.areas[0].xSeries[this.layer.chart.areas[0].xSeries.length-this.layer.chart.chartOptions.futureAmount-1],this.points[0].x=1e3*i,e[0].x=this.layer.area.getXPositionByValue(i)+50,i=this.settings.fillStyle,(this.selected||t.inHover)&&(t.save(),t.beginPath(),t.strokeStyle=i,t.moveTo(0,e[0].y),t.lineTo(getElementSize(t.canvas).width,e[0].y),t.stroke(),t.restore()),this.drawLable(t,i,this.settings.textColor,e[0].x,e[0].y,this.settings.text))},iChart.Charting.ChartTradePanel.prototype.drawExtended=function(t){var e,i,a;!this.selected||(e=this.getCoordinates(t,this.points)).length<1||(i=iChart.formatNumber(this.points[0].y,{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),this.layer.chart.renderer.drawLable(t,this.settings.fillStyle,0,this.layer.area.innerWidth,e[0].y,i),void 0!==this.markers&&(e=this.getCoordinates(t,this.markers),i=iChart.formatNumber(this.markers[0].y,{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),a=t.inHover?void 0!==this.settings.fillStyleHover?this.settings.fillStyleHover:iChart.Charting.ChartTradePanel.lightColor(this.settings.fillStyle):this.settings.fillStyle,this.layer.chart.renderer.drawLable(t,a,0,this.layer.area.innerWidth,e[0].y,i)))},iChart.Charting.ChartTradePanel.prototype.drawLable=function(t,e,i,a,r,s){t.save(),t.font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=this.settings.fillStyle,t.strokeStyle="#eeeeee",t.lineWidth="1";var n=t.measureText(s).width,o=(a+=n,t.beginPath(),t.moveTo(a-n-5,r+5),t.lineTo(a-n-5,r-5),t.quadraticCurveTo(a-n-5,r-10,a-n,r-10),t.lineTo(a,r-10),t.lineTo(a+8,r),t.lineTo(a,r+10),t.lineTo(a-n,r+10),t.quadraticCurveTo(a-n-5,r+10,a-n-5,r+5),t.closePath(),t.save(),this.layer.chart.chartOptions.shadowColor);this.selected?(t.shadowColor=o,t.shadowBlur=10,t.shadowOffsetX=5,t.shadowOffsetY=5,t.fill(),t.lineWidth="3",t.strokeStyle=t.fillStyle,t.beginPath(),t.moveTo(a+10,r-10),t.lineTo(a+18,r),t.lineTo(a+10,r+10),t.moveTo(a+10,r-10),t.closePath(),t.stroke()):t.inHover?(t.shadowColor=o,t.shadowBlur=5,t.shadowOffsetX=2,t.shadowOffsetY=2,t.fill()):t.stroke(),t.restore(),t.fillStyle=this.settings.textColor,t.fillText(s,a-n,r),t.restore()},iChart.Charting.ChartTradePanel.prototype.drawPoints=function(t,e){},iChart.Charting.ChartTradePanel.prototype.drawTestSegments=function(t){if(void 0!==this.testContext){for(var e in t.save(),t.beginPath(),t.fillStyle="rgba(0,0,0,0.75)",this.testContext.segments){e=this.testContext.segments[e];t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke()}t.closePath(),t.restore()}},iChart.Charting.ChartTradePanel.prototype.setTestSegments=function(){var t,e;this.testContext&&((t=this.layer.context).font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t=t.measureText(this.settings.text).width,e=this.layer.area.getXPositionByValue(this.points[0].x/1e3)+t+50,this.testContext.segments=[[{x:e-t,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y-4}],[{x:e,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y+4}]])},iChart.Charting.ChartTradePanel.prototype.onDrag=function(t){"function"==typeof this.settings.restriction&&this.settings.restriction.call(this,t),"function"==typeof this.settings.onDrag&&this.settings.onDrag.call(this,t)},iChart.Charting.ChartTradePanel.prototype.onSelect=function(t){iChart.Charting.ChartElement.prototype.onSelect.call(this,t)},iChart.Charting.ChartTradePanel.prototype.onBlur=function(){},iChart.Charting.ChartTradePanel.prototype.onDrop=function(){"function"==typeof this.settings.onDrop&&this.settings.onDrop.call(this)},iChart.Charting.ChartTradePanel.lightColor=function(t){t=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split(/,\s*/);for(var e=0;e<3;e++)t[e]=parseInt(t[e])+40;return"rgba("+t.join(", ")+")"},iChart.Charting.ChartTradePanel.prototype.onMouseDown=function(t){"function"==typeof this.settings.onSelect&&this.settings.onSelect.call(this,t)}}(),!function(){"use strict";iChart.Charting.ChartTrendorder=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Trendorder",this.drawType="auto",this.hoverCursor="row-resize",this.moveCursor="row-resize",this.hoverPointCursor="move",this.movePointCursor="move",this.maxPointCount=2,this.hasSettings=!0,this.controlEnable=!0,this.storageEnable=!1,this.drawSingle=!0,this.freezed=!0,this.settings={text:"",textHeight:13,fillStyle:"#f44336",textColor:"#FFFFFF",mode:"line"},this.positionAbsolute=!0},inheritPrototype(iChart.Charting.ChartTrendorder,iChart.Charting.ChartElement),iChart.Charting.ChartTrendorder.prototype.setSettings=function(t){this.settings=$.extend(this.settings,t),void 0===t.price2?(this.points[0]={x:t.date,y:t.price},this.points[1]={x:t.date,y:t.price}):(this.points[0]={x:t.date,y:t.price},this.points[1]={x:t.date2,y:t.price2},t=this.getFloatCoords(),this.trendLineSettings={points:this.getBorderPoints(t)})},iChart.Charting.ChartTrendorder.prototype.calcPointsPosition=function(t,e){e=e||150;var i,a,r,s=this.getCoordinates(this.layer.context,this.points),n=this.getBorderPoints(s),n=(n[0].x+n[1].x)/2;ta.height||t[0].x<0||t[0].x>a.width?(e=iChart.getLineEquation(t[0],t[1],0),i=iChart.getLineEquation(t[0],t[1],a.width)):((e=iChart.getLineEquation(t[0],t[1],0)).y<0?(e.y=0,e.x=(e.y-e.b)/e.k):e.y>a.height&&(e.y=a.height,e.x=(e.y-e.b)/e.k),(i=iChart.getLineEquation(t[0],t[1],a.width)).y<0?(i.y=0,i.x=(i.y-i.b)/i.k):i.y>a.height&&(i.y=getElementSize(this.layer.canvas).height,i.x=(i.y-i.b)/i.k)),[e,i]},iChart.Charting.ChartTrendorder.prototype.drawTrendMode=function(t,e){i=void 0!==this.markers?this.markers:(this.selected||this.freezed||(console.trace(),this.moveForward()),this.points),this.trendLineSettings={points:this.getBorderPoints(this.getFloatCoords(i))};var i=this.getOpenCoords(e),a=(t.save(),t.beginPath(),t.setLineDash([8,3]),this.settings.fillStyle);t.strokeStyle=a,t.moveTo(i.x,i.y),t.lineTo(this.trendLineSettings.points[0].x,this.trendLineSettings.points[0].y),t.stroke(),t.restore(),t.save(),t.lineWidth=4,t.strokeStyle=this.settings.fillStyle,t.beginPath(),t.moveTo(i.x,i.y),t.lineTo(this.trendLineSettings.points[1].x,this.trendLineSettings.points[1].y),t.stroke(),t.restore(),this.settings.newOrderParams=this.getOrderParams(e),this.selected?(this.drawPoint(t,e[0].x,e[0].y,a,4),this.drawPoint(t,e[1].x,e[1].y,a,4),this.drawLableTrend(t,e)):t.inHover&&this.drawLableTrend(t,e)},iChart.Charting.ChartTrendorder.prototype.findYForward=function(t){for(var e=iChart.Charting.indexOfFirstElementGreaterThanOrEqualTo(this.layer.chart.areas[0].xSeries,this.settings.date/1e3),i=this.layer.area.getXIndexByValue(t/1e3),a=60*this.layer.chart.env.dataSource.dataSettings.timeframe,r={x:this.settings.date,y:this.settings.price},s={x:this.settings.date2,y:this.settings.price2},n=0,o=e+1;o<=i;o++){var h,l=this.layer.chart.areas[0].xSeries[o]-this.layer.chart.areas[0].xSeries[o-1];1=t[1].x-e?t[0].x=t[1].x-e:this.points[1].x!=t[1].x&&t[1].x<=t[0].x+e&&(t[1].x=t[0].x+e),"function"==typeof this.settings.restriction&&this.settings.restriction.call(this,t)},iChart.Charting.ChartTrendorder.prototype.onSelect=function(t){iChart.Charting.ChartElement.prototype.onSelect.call(this,t),this.getTestContext(!0)},iChart.Charting.ChartTrendorder.prototype.onBlur=function(){this.settings.mode,this.getTestContext(!0)},iChart.Charting.ChartTrendorder.prototype.onDrop=function(){"trend"==this.settings.mode&&console.log("newOrderParams",this.settings.newOrderParams),"function"==typeof this.settings.onDrop&&this.settings.onDrop.call(this)},iChart.Charting.ChartTrendorder.prototype.onHover=function(t,e){clearTimeout(this.layer.chart.env.timers.orderClose),this.cancelControl(1)},iChart.Charting.ChartTrendorder.prototype.onOut=function(){clearTimeout(this.layer.chart.env.timers.orderClose);var t=this;this.layer.chart.env.timers.orderClose=setTimeout(function(){t.cancelControl(0)},300)},iChart.Charting.ChartTrendorder.prototype.cancelControl=function(t){var e,i,a,r;"function"==typeof this.settings.onCancel&&(t?($("#ichartOrderCancelCtrl").hide(),e=getElementSize((t=this.layer.context).canvas).width-120,t=this.getCoordinates(t,this.points),$("#ichartOrderCancelCtrl").length||$("",{id:"ichartOrderCancelCtrl",style:"color:transparent",class:"m-chart-instrument-delete",text:"✕",title:_t("2958","Снять")}).hide().appendTo(this.layer.chart.container),i=this,$("#ichartOrderCancelCtrl").unbind("click").bind("click",function(t){"function"==typeof i.settings.onCancel&&i.settings.onCancel.call(i),$("#ichartOrderCancelCtrl").hide()}).bind("mouseover",function(){clearTimeout(i.layer.chart.env.timers.orderClose)}).bind("mouseleave",function(){clearTimeout(i.layer.chart.env.timers.orderClose),i.layer.chart.env.timers.orderClose=setTimeout(function(){i.cancelControl(0)},1e3)}),"line"==this.settings.mode?(a=t[0].y-8,r=2+e):this.trendLabelSettings&&(a=this.trendLabelSettings.labelCoords.right.y-10-10*Math.sin(this.trendLabelSettings.alpha),r=this.trendLabelSettings.labelCoords.right.x-10-10*Math.cos(this.trendLabelSettings.alpha)),$("#ichartOrderCancelCtrl").css({top:a,left:r}).show()):$("#ichartOrderCancelCtrl").hide())},iChart.Charting.ChartTrendorder.prototype.onMouseDown=function(t,e,i){"trend"!=this.settings.mode||this.selected||this.calcPointsPosition(e,150),"function"==typeof this.settings.onSelect&&this.settings.onSelect.call(this,t)},iChart.Charting.ChartTrendorder.lightColor=function(t){}}(),!function(){"use strict";iChart.Charting.ChartHorizontalRange=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="HorizontalRange",this.drawType="manually",this.maxPointCount=2,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartHorizontalRange,iChart.Charting.ChartElement),iChart.Charting.ChartHorizontalRange.prototype.drawInternal=function(t,e){var i,a;e.length<2||(i=getElementSize(t.canvas).width,a=this.layer.area.getXValue(i-200),this.points[0].x=1e3*a,e[0].x=i-200,this.points[1].x=1e3*a,e[1].x=i-200,t.save(),t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(0,e[0].y),t.lineTo(i,e[0].y),t.stroke(),t.moveTo(0,e[1].y),t.lineTo(i,e[1].y),t.stroke(),t.moveTo(0,e[0].y),t.lineTo(i,e[0].y),t.lineTo(i,e[1].y),t.lineTo(0,e[1].y),t.lineTo(0,e[0].y),t.fill(),t.restore())},iChart.Charting.ChartHorizontalRange.prototype.drawExtended=function(t){var e,i,a;!this.settings.drawLabel||(e=this.getCoordinates(t,this.points)).length<2||(i=this.settings,a=this.layer.chart.renderer.formatNumber(this.layer.area.getYValue(e[0].y),{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),this.layer.chart.renderer.drawLable(t,i.strokeStyle,0,this.layer.area.innerWidth,e[0].y,a))},iChart.Charting.ChartHorizontalRange.prototype.setTestSegments=function(){this.testContext.segments=[[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}],[{x:this.layer.area.innerOffset.left,y:this.testContext.points[1].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[1].y}]]}}(),!function(T){"use strict";iChart.Charting.Crosshair=function(t){this.$chart=t.$chart,this.container=null,this.areas=null,this.dots=null,this.hidden=!0,this.pageX=null,this.pageY=null,this.pointMap=void 0,this.yLabel=null},iChart.Charting.Crosshair.prototype.hide=function(){if(!this.hidden){for(var t=0;t=c.innerOffset.left&&a.left<=c.innerOffset.left+c.innerWidth)||r.x,r.y=(r[o].y=a.top>=c.innerOffset.top&&a.top<=c.innerOffset.top+c.innerHeight)||r.y);if(r.x&&r.y){if(void 0===this.pointMap){if(0===(c=this.areas[0]).xSeries.length)return void this.hide();var h=c.getXIndex(a.left-c.innerOffset.left);if(hc.viewport.x.bounded.max)return void this.hide();h=Math.max(c.viewport.x.bounded.min,Math.min(c.viewport.x.bounded.max,Math.round(h))),a.left=c.innerOffset.left+Math.round(c.getXPositionByIndex(h));for(o=0;o"+f+""))}c.isLayer?T.grep(this.areas,function(t){return t.name===c.parentName})[0].tooltip.innerHTML+="   "+p.join("   "):c.tooltip.innerHTML=p.join("   ")}}}else{if(void 0===(n=this.pointMap[a.left]))return void this.hide();a.left=n.offset;for(o=0;o=c.innerOffset.top&&x<=c.innerOffset.top+c.innerHeight?(l.style.display="",l.style.left=a.left-4+"px",l.style.top=x-4+"px"):l.style.display="none")):l.style.display="none"}for(o=0;o",{class:"m-chart-d"}).css({"background-color":r,display:"none"}).insertAfter(this.$chart).get(0)).areaIndex=t,r.seriesIndex=a.index,r.seriesIndex2=i,r.yValueIndex=a.dotIndex||0,this.dots.push(r))}}},iChart.Charting.Crosshair.prototype._initPointMap=function(t){for(var e=0;e",{class:"m-chart-h"}).css({display:"none",left:a.innerOffset.left+"px",width:a.innerWidth+"px"}).insertAfter(this.$chart).get(0),a.vertical=T("
",{class:"m-chart-v"}).css({display:"none",top:a.innerOffset.top+"px",height:a.innerHeight+"px"}).insertAfter(this.$chart).get(0)),void 0===t.pointMap){if(a.viewport.x.bounded.min<=a.viewport.x.bounded.max){var r,s=[],n=Math.min(a.viewport.x.bounded.max,a.xSeries.length-1-a.chart.chartOptions.futureAmount);a.isLayer||(r=new Date(1e3*a.xSeries[n]),s.push(iChart.formatDateTime(r,"dd.MM.yyyy"+(this.showTime?" HH:mm":""))));for(var o=0;o"+p+""))}a.isLayer?T.grep(this.areas,function(t){return t.name===a.parentName})[0].tooltipInnerHtml+="   "+s.join("   "):a.tooltipInnerHtml=s.join("   ")}}else for(var u in t.pointMap)if(t.pointMap.hasOwnProperty(u)){void 0===(f=t.pointMap[u]).tooltips&&(f.tooltips=new Array(this.areas.length)),(s=[]).push(f.x);for(o=0;o"+m[c].v+"")}a.tooltipInnerHtml=s.join("   "),f.offset=u,f.tooltips[e]=a.tooltipInnerHtml}a.isLayer?(r=T.grep(this.areas,function(t){return t.name===a.parentName})[0],T(r.tooltip).html(r.tooltipInnerHtml||"")):("top"==a.chart.chartOptions.tooltipPosition?i=a.innerOffset.top-20:"bottom"==a.chart.chartOptions.tooltipPosition&&(i=a.innerOffset.top-38+a.innerHeight),a.tooltip=T("
",{class:"m-chart-t"}).css({left:a.innerOffset.left+"px",top:i+"px",background:a.chart.chartOptions.backgroundColor}).html(a.tooltipInnerHtml||"").insertAfter(this.$chart).get(0))}}if(void 0!==t.pointMap){this.pointMap=new Array(this.chartWidth);for(e=0;e",{class:"m-chart-y"}).css({background:t.chart.chartOptions.backgroundColor,display:"none",left:t.innerOffset.left+t.innerWidth-(t.chart.chartOptions.yLabelsOutside?0:50)+"px",position:"absolute",margin:"0 0 0 5px"}).insertAfter(this.$chart).get(0))},iChart.Charting.Crosshair.prototype._isEmptyPoint=function(t){if(void 0!==t)for(var e=0;e=i.area.offset.left&&t<=i.area.offset.left+i.area.outerWidth&&e>=i.area.offset.top&&e<=i.area.offset.top+i.area.outerHeight)return i.insideX=t>=i.area.innerOffset.left&&t<=i.area.innerOffset.left+i.area.innerWidth,i.insideY=e>=i.area.innerOffset.top&&e<=i.area.innerOffset.top+i.area.innerHeight,i.insideX||i.insideY?i:null;return null},iChart.Charting.Chart.prototype.getSeriesCollection=function(){for(var t=[],e=0;es.viewport.x.min&&s.loadMissingData(),s.indicatorsApply()},e))},iChart.Charting.Chart.prototype.indicatorsApply=function(){if(void 0!==this.env.TA){var o={};if(this.areas)for(var t=0;t",{class:"m-chart-warnings"}).appendTo(this.container):e.show(),e.text(t.join("\r\n"))):e.hide()},iChart.Charting.Chart.prototype.showTime=function(){return parseInt(this._dataSettings.timeframe,10)%1440!=0},iChart.Charting.Chart.prototype.toBase64=function(t){return this.toBase64withSize(t).string},iChart.Charting.Chart.prototype.toBase64withSize=function(t){var e=document.createElement("canvas");if(e.id="iChart-chart",e.style.left=0,e.style.position="absolute",e.style.top=-getElementSize(this.canvas).height,document.body.appendChild(e),void 0===e.getContext){if("undefined"==typeof FlashCanvas)return void alert(_t("87550","Ваш браузер не поддерживается."));FlashCanvas.initElement(e)}e.width=this.canvas.width,e.height=this.canvas.height;var i=iChart.getContext(e),i=(this.render({context:i,forceRecalc:!1,resetViewport:!1,testForIntervalChange:!1}),this.overlay.render(i),this.renderer.renderLegends(i),e.toDataURL(t)),t=($(e).remove(),";base64,");return{string:i.substring(i.indexOf(t)+t.length),height:e.height,width:e.width}},iChart.Charting.Chart.prototype.update=function(t){var e=$.extend(!0,{},this._dataSettings),i=(e.intervalMode="ClosedRay",t&&(e.intervalMode="OpenRay"),e.count=this.dataCountMin,this.areas[0].xSeries);0!==i.length&&(e.date_from=iChart.formatDateTime(new Date(1e3*i[i.length-this.chartOptions.futureAmount-1]),"dd.MM.yyyy HH:mm"),e.date_to=e.date_from,e.start=e.date_from),delete e.end,this.requestData(e,!1,!1,t)},iChart.Charting.Chart.prototype.updateData=function(t,e,i){if("ClosedRay"!==e.intervalMode&&"OpenRay"!==e.intervalMode)throw new Error("Interval mode '"+e.intervalMode+"' is invalid.");var a;return e.count<0?(t.xSeries.length<-e.count?this._dataStart=null:this._dataStart=new Date(1e3*t.xSeries[0]),i&&(this._dataEnd=iChart.parseDateTime(e.start))):(i&&(this._dataStart=iChart.parseDateTime(e.start)),t.xSeries.lengththis.historyEnd.getTime())&&(this.historyEnd=a),i?this._setData(t,e):0!==t.xSeries.length?(a=this._mergeData(t,e),e.count<0&&!a?this._dataStart=null:0a[0]&&0=t.xSeries[0];)d--;a[d]!=t.xSeries[0]&&d!=c&&(p=1),a.splice(d-=p,t.xSeries.length);for(l=0;ly.length)throw new Error("Y series count mismatch while merging chart data, expected "+s.length+", got "+y.length+".");for(n=0;nthis.viewport.x.max&&(r=this.viewport.x.min,this.viewport.x.min=this.viewport.x.max,this.viewport.x.max=r),0!=i&&null!==this.viewport.y.min&&null!==this.viewport.y.max&&(this.viewport.y.min=(this.viewport.areaName===a.name?this.viewport:s).y.min-i,this.viewport.y.max=(this.viewport.areaName===a.name?this.viewport:s).y.max-i)):t.position1.insideX?this._zoomInternal(a,(t.x2-t.x1)/a.innerWidth,"x",t.anchorX,null):t.position1.insideY&&this._zoomInternal(a,(t.y2-t.y1)/a.innerHeight,"y",null,t.anchorY),this._fixViewportBounds();break;case"zoom":var r=a.getXIndex((t.x1t.y2?t.y1:t.y2)-a.innerOffset.top),this.viewport.y.max=a.getYValue((t.y1>t.y2?t.y2:t.y1)-a.innerOffset.top);break;case"wait":break;default:throw new Error("Selection mode '"+t.mode+"' is invalid.")}this.viewport.areaName=a.name,this.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0}),this.loadMissingData(),"pan"==t.mode&&!a.isScroller&&this.chartOptions.inertialScrolling&&this.env.scrollTo(t)}}else this.chartOptions.showCurrentLabel=!this.chartOptions.showCurrentLabel,this.env.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{showCurrentLabel:this.chartOptions.showCurrentLabel}]),this.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0})},iChart.Charting.Chart.prototype._setData=function(t,e){if(this.areas)for(var i=0;i",{class:"m-chart-legend-color"}).css({"background-color":S}).html(" ")).add($("",{class:"m-chart-legend-name"}).css({color:S}).text(T.name)),S=T.name,A=$("
").append(A).html();4===T.valuesPerPoint?(T.dotIndex=3,this.isComparison?T.labels=[[3,A]]:T.labels=[[2,A+"O:"],[0,"H:"],[1,"L:"],[3,"C:"]]):2==T.valuesPerPoint?T.labels=[[1,A+_t("2589","Мин:")],[0,_t("2590","Макс:")]]:T.labels=[[0,A,S]]}if(a.axisX.showLabels=!0,a.enabled=!0,a.xSeries=t.xSeries,a.ySeries=n,this.areas.push(a),r.axisX.showLabels=!0,r.enabled=0!==this.chartOptions.scrollerHeight,r.xSeries=t.xSeries,r.ySeries=o,r.enabled&&this.areas.push(r),!this.isComparison){if(s.enabled=!0,s.enabled){s.enabled=!1;for(i=0;ithis.areas[0].ySeries[0].points[i][1])&&(e=this.areas[0].ySeries[0].points[i][1]);for(var a=(t-e)/50,r={},i=Math.floor(this.areas[0].viewport.x.min);i<=Math.ceil(this.areas[0].viewport.x.max);i++)void(r[i]=0)!==this.areas[2].ySeries&&(this.areas[2].ySeries[0].points[i]&&this.areas[0].ySeries[0].points[i]&&this.areas[0].ySeries[0].points[i][0]-this.areas[0].ySeries[0].points[i][1]!=0?r[i]=this.areas[2].ySeries[0].points[i][0]/(this.areas[0].ySeries[0].points[i][0]-this.areas[0].ySeries[0].points[i][1])*a:this.areas[2].ySeries[0].points[i]&&this.areas[0].ySeries[0].points[i]&&this.areas[0].ySeries[0].points[i][0]-this.areas[0].ySeries[0].points[i][1]==0&&(r[i]=this.areas[2].ySeries[0].points[i][0]));for(var s=[],n=[],o=t;et.xSeries.max||(new Date,new Date(1e3*t.xSeries[t.xSeries.min]),this.showTime()?this.dateFormat="HH:mm\r\nd MMM":this.dateFormat="d MMM\r\nyyyy")},iChart.Charting.Chart.prototype._testForIntervalChange=function(t){var e,i,a,r,s;this._dataSettings&&(e=this.areas[0],i=this._dataSettings.start,a=this._dataSettings.end,r=e.xSeries[e.viewport.x.bounded.min],s=e.xSeries[e.viewport.x.bounded.max],this._dataSettings.start=r&&(e.viewport.x.bounded.min!==e.xSeries.min||this._dataStart)?new Date(1e3*r):null,this._dataSettings.end=s&&(e.viewport.x.bounded.max!==e.xSeries.max||this._dataEnd)?new Date(1e3*s):null,void 0!==i)&&(!this._dataSettings.start!=!i||!this._dataSettings.end!=!a||this._dataSettings.start&&this._dataSettings.start.getTime()!==i.getTime()||this._dataSettings.end&&this._dataSettings.end.getTime()!==a.getTime())&&(this.onDataSettingsChange.call(this,t),this.onIntervalChange.call(this,this._dataSettings.start,this._dataSettings.end))},iChart.Charting.Chart.prototype._zoomInternal=function(t,e,i,a,r){if(!t){for(var s=0;s=this.chartOptions.maxZoom||e<0||0==this.chartOptions.maxZoom)&&(this.viewport.x.min+=e*(a-this.viewport.x.min)),"x"!==i&&(this.viewport.y.min+=e*(r-this.viewport.y.min),this.viewport.y.max-=e*(this.viewport.y.max-r))):(this.viewport.areaName!==t.name&&(this.viewport.y.min=null,this.viewport.y.max=null),this.viewport.areaName=t.name,null===this.viewport.x.min&&(this.viewport.x.min=t.scrollerViewport.x.bounded.min),null===this.viewport.x.max&&(this.viewport.x.max=t.scrollerViewport.x.bounded.max),n=(this.viewport.x.max-this.viewport.x.min)/10,a=0r||1==a)&&(this.viewport.x.min+=a*n,this.viewport.x.max+=a*n)),this.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0}),this.loadMissingData()}}(),!function(){"use strict";iChart.Charting.ChartArea=function(t){var e;this.axisX={},this.axisX.paddingLeft=0,this.axisX.paddingRight=0,this.axisX.pointPadding=.5,this.axisY={},this.axisY.PaddingTop=0,this.axisY.PaddingBottom=0,this.chart=t.chart,this.ignoreViewport=!!t.ignoreViewport,this.innerHeight=0,this.innerWidth=0,this.innerOffset={},this.innerOffset.left=0,this.innerOffset.top=0,this.isLayer=!!t.parentName,this.isScroller=!!t.isScroller,this.margin={},this.margin.bottom=0,this.name=t.name,this.offset={},this.offset.left=0,this.offset.top=0,this.onCalculateViewport=t.onCalculateViewport||$.noop,this.outerHeight=0,this.outerWidth=0,this.padding={},this.padding.top=0,this.padding.right=0,this.padding.bottom=0,this.padding.left=0,this.parentName=t.parentName,this.rotate=!!t.rotate,this.scrollerViewport=null,this.showAxes=void 0===t.showAxes||!!t.showAxes,this.showLabels=void 0===t.showLabels||!!t.showLabels,this.showLegend=void 0===t.showLegend||!!t.showLegend,this.showWatermark=void 0===t.showWatermark||!!t.showWatermark,this.viewport={},this.viewport.x={},this.viewport.x.bounded={},this.viewport.y={},this.xSeries=null,this.ySeries=[],this.isScroller&&($(this.chart.container).find("div.m-chart-scrollerOverlay").remove(),this.$scrollerOverlay=$("
").css({position:"absolute","z-index":1}).appendTo(this.chart.container),this.$scrollerOverlayRight=$("
").hide().css({}).appendTo(this.$scrollerOverlay),this.$scrollerOverlayCenter=$("
").hide().css({position:"absolute","z-index":1}).appendTo(this.$scrollerOverlay),this.$scrollerOverlayCenterR=$("
",{text:"|",class:"js-scrollerHandler m-chart-scrollerOverlayHandle"}).hide().css({}).appendTo(this.$scrollerOverlay),this.$scrollerOverlayCenterR.hover(function(){$(this).data("iChart-hover",!0)},function(){$(this).removeData("iChart-hover")}).attr("unselectable","on").css("user-select","none").on("selectstart",!1),this.$scrollerOverlayCenterL=$("
",{text:"|",class:"js-scrollerHandler m-chart-scrollerOverlayHandle"}).hide().css({}).appendTo(this.$scrollerOverlay),this.$scrollerOverlayCenterL.hover(function(){$(this).data("iChart-hover",!0)},function(){$(this).removeData("iChart-hover")}).attr("unselectable","on").css("user-select","none").on("selectstart",!1),this.$scrollerOverlayLeft=$("
").hide().css({}).appendTo(this.$scrollerOverlay),$(this.chart.container).find("div.m-chart-scrollforward").remove(),(e=this).$scrollForward=$("
").hide().appendTo(this.$scrollerOverlay).click(function(){e.chart.env.scrollForward()}))},iChart.Charting.ChartArea.prototype.calculateInnerDimensions=function(t){var e;this.isScroller?(this.scrollerViewport=this._calculateViewport(t),this.viewport=this._calculateViewport()):this.viewport=this._calculateViewport(t),this.viewport&&(this.innerOffset.left=this.offset.left+this.padding.left,this.innerOffset.top=this.offset.top+this.padding.top,this.innerWidth=this.outerWidth-this.padding.left-this.padding.right,this.innerHeight=this.outerHeight-this.padding.top-this.padding.bottom,this.rotate?(this.axisX.length=this.innerHeight,this.axisY.length=this.innerWidth):(this.axisX.length=this.innerWidth,this.axisY.length=this.innerHeight),t=this.axisX.paddingLeft*(this.viewport.x.max-this.viewport.x.min+2*this.axisX.pointPadding)/(this.axisX.length-2*this.axisX.paddingLeft),e=this.axisX.paddingRight*(this.viewport.x.max-this.viewport.x.min+2*this.axisX.pointPadding)/(this.axisX.length-2*this.axisX.paddingRight),this.axisX.min=this.viewport.x.min-this.axisX.pointPadding-t,this.axisX.max=this.viewport.x.max+this.axisX.pointPadding+e,this.axisX.pointWidth=Math.min(Math.max(0,Math.floor(.4*this.axisX.length/(this.viewport.x.max-this.viewport.x.min+1))),50),t=this.axisY.paddingTop*(this.viewport.y.max-this.viewport.y.min)/(this.axisY.length-2*this.axisY.paddingTop),e=this.axisY.paddingBottom*(this.viewport.y.max-this.viewport.y.min)/(this.axisY.length-2*this.axisY.paddingBottom),this.axisY.min=this.viewport.y.min-e,this.axisY.max=this.viewport.y.max+t,this.axisX.scale=this.axisX.length/(this.axisX.max-this.axisX.min),this.axisY.scale=this.axisY.min===this.axisY.max?0:this.axisY.length/(this.axisY.max-this.axisY.min),this.axisY.zeroPosition=Math.round(this.getYPosition(0,!1)),this.isScroller)&&(e=Math.round(this.getXPositionByIndex(this.scrollerViewport.x.bounded.min)),t=Math.round(this.getXPositionByIndex(this.scrollerViewport.x.bounded.max)),this.$scrollerOverlayLeft.show().width(e).height(this.innerHeight).css({left:this.innerOffset.left+"px",top:this.innerOffset.top+"px"}),this.$scrollerOverlayCenter.show().width(t-e).height(this.innerHeight).css({left:this.innerOffset.left+e+"px",top:this.innerOffset.top+"px"}),this.$scrollerOverlayCenterL.show().css({left:this.innerOffset.left+e-5+"px",top:this.innerOffset.top+this.innerHeight/2-11+"px"}),this.$scrollerOverlayCenterR.show().css({left:this.innerOffset.left+t-5+"px",top:this.innerOffset.top+this.innerHeight/2-11+"px"}),this.$scrollerOverlayRight.show().width(this.innerWidth-t).height(this.innerHeight).css({left:this.innerOffset.left+t+"px",top:this.innerOffset.top+"px"}),this.scrollerViewport.x.bounded.maxthis.xSeries.max?NaN:tthis.xSeries[this.xSeries.max]?t>this.xSeries[this.xSeries.max]?this.xSeries.max+(t-this.xSeries[this.xSeries.max])/(this.xSeries[this.xSeries.max]-this.xSeries[this.xSeries.max-1]):NaN:-1===(e=iChart.Charting.indexOfFirstElementGreaterThanOrEqualTo(this.xSeries,t))?NaN:(e!==this.xSeries.min&&(e-=(this.xSeries[e]-t)/(this.xSeries[e]-this.xSeries[e-1])),e)},iChart.Charting.ChartArea.prototype.getXIndexByValue2=function(t){var e;return!$.isNumeric(t)||this.xSeries.min>this.xSeries.max?NaN:tthis.xSeries[this.xSeries.max]?this.xSeries.max:-1===(e=iChart.Charting.indexOfFirstElementGreaterThanOrEqualTo(this.xSeries,t))?NaN:(e!==this.xSeries.min&&(e-=(this.xSeries[e]-t)/(this.xSeries[e]-this.xSeries[e-1])),e)},iChart.Charting.ChartArea.prototype.getXPositionByValue=function(t){t=this.getXIndexByValue(t);return isNaN(t)?NaN:this.getXPositionByIndex(t)},iChart.Charting.ChartArea.prototype.getXValue=function(t){var t=this.getXIndex(t),e=Math.floor(t),i=Math.ceil(t);if(!(ithis.xSeries.max?this.xSeries[this.xSeries.max]+(t-this.xSeries.max)*(this.xSeries[this.xSeries.max]-this.xSeries[this.xSeries.max-1]):e===i?this.xSeries[e]:this.xSeries[e]+(t-e)*(this.xSeries[i]-this.xSeries[e])},iChart.Charting.ChartArea.prototype.getYMinMax=function(t,e){for(var i={isStartedFromZero:!1,min:null,max:null},a=0;a=1e3*this.xSeries[t]&&d.points[o].x<=1e3*this.xSeries[e]||d.positionAbsolute)p=!0;else if(d.points[o].xthis.xSeries[this.xSeries.length-1]){p=!1;break}if(p)for(var u,o=0;o",{class:"m-chart-area-close",text:"×",title:_t("5428","Скрыть")}).appendTo(this.chart.container),this.$closeButton.on("click",$.proxy(this.onClose,this))),this.$closeButton.css({top:this.offset.top+"px"}))},iChart.Charting.ChartArea.prototype._calculateViewport=function(t){var e,i,a;return 0===this.xSeries.length?null:((e={x:{}}).x.bounded={},e.y={},this.ignoreViewport||!t?(e.x.min=this.xSeries.min,e.x.bounded.min=this.xSeries.min):null===t.x.min?(-1===(i=(a=this.chart._dataSettings.start)?iChart.Charting.indexOfFirstElementGreaterThanOrEqualTo(this.xSeries,Math.round(a.getTime()/1e3)):0)&&(console.warn("Start date/time '"+a.toString()+"' is outside the bounds of the data."),i=0),e.x.min=i,e.x.bounded.min=i):(e.x.min=t.x.min,e.x.bounded.min=Math.max(this.xSeries.min,Math.floor(t.x.min))),this.ignoreViewport||!t?(e.x.max=this.xSeries.max,e.x.bounded.max=this.xSeries.max):null===t.x.max?this.chart._dataSettings.end?(a=this.chart._dataSettings.end,-1===(i=iChart.Charting.indexOfLastElementLessThanOrEqualTo(this.xSeries,Math.round(a.getTime()/1e3)))&&(console.error("End date/time '"+a.toString()+"' is outside the bounds of the data."),i=this.xSeries.length-1),e.x.max=i,e.x.bounded.max=i):(e.x.max=this.xSeries.max,e.x.bounded.max=this.xSeries.max):(e.x.max=t.x.max,e.x.bounded.max=Math.min(this.xSeries.max,Math.ceil(t.x.max))),this.ignoreViewport||!t?(e.y.min=this.ySeries.bounds.min,e.y.max=this.ySeries.bounds.max):(e.y.min=t.y.min,e.y.max=t.y.max,null!==e.y.min&&null!==e.y.max||(e.x.bounded.min===this.xSeries.min&&e.x.bounded.max===this.xSeries.max?(null===t.y.min&&(e.y.min=this.ySeries.bounds.min),null===t.y.max&&(e.y.max=this.ySeries.bounds.max)):(a=this.getYMinMax(e.x.bounded.min,e.x.bounded.max),null===t.y.min&&(e.y.min=a.min),null===t.y.max&&(e.y.max=a.max)))),this.ySeries.bounds.isStartedFromZero&&(null!==e.y.min&&0this.labelValue?this.labelColor=i="#7cb342":i=this.chart.chartOptions.labelColor||"#333",this.labelValue=o,r&&s?this.drawLable(e,i,"#FFFFFF",a,n,t,{bidY:r,offerY:s}):this.drawLable(e,i,"#FFFFFF",a,n,t)},iChart.Charting.ChartRenderer.prototype.drawLable=function(t,e,i,a,r,s,n){e=e||"#333333",i=i||"#FFFFFF",t.save(),t.font="normal 11px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=e,t.strokeStyle=e,t.fillRect(a+8,r-8,t.measureText(s).width+10,15),t.beginPath(),t.moveTo(a+8,r-8),t.lineTo(a+8,r+7),t.lineTo(a,r),t.lineTo(a+8,r-8),t.lineTo(a+8,r+7),t.closePath(),t.fill(),t.fillStyle=i,t.fillText(s,a+8,r),t.translate(.5,.5),t.beginPath(),t.lineWidth=1,t.moveTo(0,r),t.lineTo(a,r),t.stroke(),t.closePath(),n&&(t.beginPath(),t.fillStyle="#f44336",t.moveTo(a-4,n.bidY-4),t.lineTo(a-4,n.bidY+3),t.lineTo(a,n.bidY),t.lineTo(a-4,n.bidY-4),t.lineTo(a-4,n.bidY+3),t.fill(),t.closePath(),t.beginPath(),t.fillStyle="#7cb342",t.moveTo(a-4,n.offerY-4),t.lineTo(a-4,n.offerY+3),t.lineTo(a,n.offerY),t.lineTo(a-4,n.offerY-4),t.lineTo(a-4,n.offerY+3),t.fill(),t.closePath()),t.restore()},iChart.Charting.ChartRenderer.prototype.renderAxes=function(t,e){e.save(),e.translate(.5,.5),e.strokeStyle=this.chart.chartOptions.axisColor,e.beginPath(),e.moveTo(0,0),e.lineTo(t.axisX.length,0),e.lineTo(t.axisX.length,t.axisY.length),e.lineTo(0,t.axisY.length),e.closePath(),e.stroke(),e.restore()},iChart.Charting.ChartRenderer.prototype.renderChart=function(t){var e=getElementSize(t.canvas);t.clearRect(0,0,e.width,e.height),t.fillStyle=this.chart.chartOptions.backgroundColor,t.fillRect(0,0,e.width,e.height);for(var i=0;ii.viewport.x.bounded.max)){t.save(),t.translate(i.innerOffset.left,i.innerOffset.top-3),t.fillStyle="#000000",t.font="11px Tahoma",t.textAlign="left",t.textBaseline="bottom";for(var a=new Date(1e3*i.xSeries[i.viewport.x.bounded.max]),a=iChart.formatDateTime(a,this.chart.showTime()?"dd.MM.yyyy HH:mm":"dd.MM.yyyy"),r=(t.fillText(a,0,0),t.measureText(a)),s=(t.translate(r.width+7,0),i.ySeries.slice(0)),n=0;nt.viewport.x.bounded.max)){"HLOC"===e.kind&&(this.chart.isComparison?e.chartType="Line":t.isScroller?e.chartType="Area":e.chartType=this.chart.chartOptions.chartType),i.fillStyle=e.color,i.strokeStyle=e.color,"HLOC"===e.kind?("Line"===e.chartType?(i.lineWidth=this.chart.chartOptions.lineWidth,(r=$.extend([],this.chart.chartOptions.seriesColors)).splice(0,0,this.chart.chartOptions.lineColor),i.fillStyle=i.strokeStyle=r[a%r.length]):e.width?i.lineWidth=e.width:i.lineWidth=1,"Column"===e.chartType&&(i.fillStyle=t.chart.chartOptions.volumeStyle,i.strokeStyle=t.chart.chartOptions.volumeStyle)):"Volume"===e.kind?"Column"===e.chartType&&(i.fillStyle=t.chart.chartOptions.volumeStyle,i.strokeStyle=t.chart.chartOptions.volumeStyle):e.width&&"Column"!==e.chartType?i.lineWidth=e.width:"Area"===e.chartType||"Line"===e.chartType?i.lineWidth=2:i.lineWidth=1;for(var r,a="Area"===e.chartType||"Candlestick"===e.chartType||"Column"===e.chartType&&0===t.axisX.pointWidth||"Line"===e.chartType||"Stock"===e.chartType,s=(a&&i.beginPath(),{}),n=t.viewport.x.bounded.min;n<=t.viewport.x.bounded.max;++n)this.renderPoint(t,e,n,i,s);a&&i.stroke(),"Area"===e.chartType&&(r=t.getXPositionByIndex(Math.min(e.points.length-this.chart.chartOptions.futureAmount-1,t.viewport.x.bounded.max)),i.fillStyle=this.chart.chartOptions.areaColor,i.lineTo(r,Math.round(t.getYPosition(t.axisY.min))),i.lineTo(t.getXPositionByIndex(t.viewport.x.bounded.min),Math.round(t.getYPosition(t.axisY.min))),i.closePath(),i.fill())}},iChart.Charting.ChartRenderer.prototype.renderSeriesCollection=function(t,e){e.save(),e.translate(.5,.5),e.beginPath(),e.moveTo(1,1),e.lineTo(1,t.axisY.length-1),e.lineTo(t.axisX.length-1,t.axisY.length-1),e.lineTo(t.axisX.length-1,1),e.closePath(),e.clip();for(var i=0;i=-t.axisY.length;l-=4)e.moveTo(n,l),e.lineTo(n,l+3);else"solid"===this.chart.chartOptions.gridStyle&&(e.moveTo(n,0),e.lineTo(n,-t.axisY.length));e.stroke()}}e.restore()},iChart.Charting.ChartRenderer.prototype.renderYLabel=function(t,e,i,a){var i=this.formatNumber(e,{decimalPrecision:this.chart.labelPrecision,scale:i}),r=Math.round(t.getYPosition(e,!1));if(this.chart.chartOptions.showAxes&&(a.strokeStyle=this.chart.chartOptions.axisColor,a.beginPath(),a.moveTo(0,r),a.lineTo(5,r),a.stroke()),this.chart.chartOptions.showLabels&&(a.fillStyle=this.chart.chartOptions.labelColor,this.chart.chartOptions.yLabelsOutside?a.fillText(i,8,r):a.fillText(i,10*-Math.ceil(a.measureText(i).width/10),r-5)),a.beginPath(),0===e)a.strokeStyle=this.chart.chartOptions.axisColor,a.moveTo(0,r),a.lineTo(-t.axisX.length,r);else if(a.strokeStyle=this.chart.chartOptions.gridColor,"dashed"===this.chart.chartOptions.gridStyle)for(var s=-4;s>=-t.axisX.length;s-=4)a.moveTo(s,r),a.lineTo(s+3,r);else"solid"===this.chart.chartOptions.gridStyle&&(a.moveTo(0,r),a.lineTo(-t.axisX.length,r));a.stroke()},iChart.Charting.ChartRenderer.prototype.renderYLabels=function(t,e){var i;if(e.save(),e.translate(t.axisX.length,.5),e.font=this.chart.chartOptions.labelFont,e.textAlign="left",e.textBaseline="middle",0<(i=this.chart.chartOptions.yLabelsOutside?(t.axisY.max-t.axisY.min)/(t.axisY.length/20):(t.axisY.max-t.axisY.min)/(t.axisY.length/(t.axisY.length/4)))){for(var a=0;i<1;)--a,i*=10;for(;10<=i;)++a,i/=10;for(var r=[1,1.5,2,2.5,3,4,5,7.5],s=0;r[s]=t.axisY.min;)this.renderYLabel(t,c,n,e),c-=i,l=!0;l||this.renderYLabel(t,(t.axisY.max+t.axisY.min)/2,n,e),e.restore()}}(),!function(){"use strict";iChart.Charting.ChartSelection=function(t){this.$container=$(t),this.$selection=$("
",{class:"m-chart-selection"}).appendTo(this.$container),this.$container.off("mouseup.selection").off("mousedown.selection").off("mousemove.selection"),$(this.$container).on("mouseup.selection",this,function(t){t.data.disabled||t.data.selection&&(t.data.selection=!1,t.data.$selection.hide(),t.data.recalculateContainerPosition(),t.data.x2=t.pageX-t.data.containerOffset.left,t.data.y2=t.pageY-t.data.containerOffset.top,0<=t.data.x2)&&t.data.x2<=t.data.containerWidth&&0<=t.data.y2&&t.data.y2<=t.data.containerHeight&&t.data.moveend&&t.data.moveend(t.data)}),this.$container.on("mousedown.selection",this,function(t){t.data.disabled||1!=t.which||(iChart.animateId&&cancelAnimationFrame(iChart.animateId),t.data.selection=!0,t.data.recalculateContainerPosition(),t.data.x1=t.pageX-t.data.containerOffset.left,t.data.y1=t.pageY-t.data.containerOffset.top,t.data.timeStampLast=t.timeStamp,t.data.timeStamp=t.timeStamp,t.data.xPrev=t.data.x1,t.data.yPrev=t.data.y1,t.data.movestart&&t.data.movestart(t.data))}),this.$container.on("mousemove.selection",this,function(t){var e,i;t.data.disabled||t.data.selection&&(e=t.pageX,i=t.pageY,void 0===e&&(e=t.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=t.clientY+document.body.scrollTop+document.documentElement.scrollTop),e=Math.round(e-t.data.containerOffset.left),i=Math.round(i-t.data.containerOffset.top),t.data.x2===e&&t.data.y2===i||(t.data.xPrev=t.data.x2,t.data.yPrev=t.data.y2,t.data.x2=e,t.data.y2=i,t.data.timeStampLast=t.data.timeStamp,t.data.timeStamp=t.timeStamp,t.data.xSpeed=Math.abs(t.data.xPrev-e)/(t.data.timeStamp-t.data.timeStampLast),0<=t.data.x2&&t.data.x2<=t.data.containerWidth&&0<=t.data.y2&&t.data.y2<=t.data.containerHeight&&(i=!0,i=t.data.move?t.data.move(t.data):i)&&t.data.$selection.css({display:"",left:self.x1=h.chart.chartOptions.maxZoom&&(h.chart.viewport.x.min=a,h.chart.viewport.x.max=r,h.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0}),h.chart.loadMissingData()))}}})},iChart.Charting.ChartTouches.prototype.disabled=!1,iChart.Charting.ChartTouches.prototype.startTouchIndexes=[],iChart.Charting.ChartTouches.prototype.lastGesture=null}(),!function(){"use strict";iChart.Charting.Prediction=function(t,e){return this.data=t,this.chart=e,this.style={patternend:{strokeStyle:"rgb(153,153,153)",lineWidth:1,lineDash:[7,2]},rectangle:{up:{strokeStyle:"rgb(0,137,0)",lineWidth:1,lineDash:[5,2],fillStyle:"rgba(0,137,0,.3)"},down:{strokeStyle:"rgb(255,2,27)",lineWidth:1,lineDash:[5,2],fillStyle:"rgba(255,2,27,.3)"}},polygon:{strokeStyle:"rgb(102,178,139)",strokeStyle2:"rgb(72,118,177)",lineWidth:3,fillStyle:"rgba(82,175,201,.2)"},fibonacci:{correction:{strokeStyle:"rgb(119,119,119)"},arrow:{strokeStyle:"rgb(251,0,251)",lineWidth:1},line:{strokeStyle:"rgb(204,204,204)",lineWidth:1}},arrow:{down:{strokeStyle:"rgb(219,132,61)",lineWidth:3},up:{strokeStyle:"rgb(15,156,0)",lineWidth:3}},line:{simple:{strokeStyle:"rgb(153,153,153)"},resistance:{strokeStyle:"rgb(102,178,139)",lineWidth:2},support:{strokeStyle:"rgb(72,118,177)",lineWidth:2},patternend:{strokeStyle:"rgb(153,153,153)",lineWidth:1,lineDash:[7,2]}},label:{size:15}},this},iChart.Charting.Prediction.prototype.draw=function(){switch(this.data.patterntype){case"ChartPattern":this.ChartPattern();break;case"FibonacciPattern":this.FibonacciPattern();break;case"KeyLevelsPattern":this.KeyLevelsPattern();break;default:return}this.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!1})},iChart.Charting.Prediction.prototype.getTimeRange=function(){switch(this.data.patterntype){case"ChartPattern":return[1e3*(e=Math.min(this.data.resistancex0,this.data.supportx0)),1e3*(i=null!=this.data.predictiontimefrom?this.data.predictiontimeto:parseInt(this.data.patternendtime)+60*this.data.interval*7)];case"FibonacciPattern":var t=this.data.timeA,e=t=0
'),$.templates("iChart_topToolBarTmpl",'
1m
5m
3M
YTD
1Y
5Y
'),$.templates("indicatorsCurrentTmpl",'{{for userData}}
{{:name}} {{if params}}{{* window.i=0;}}({{props params}}{{* if (i>0) { }}, {{* } }}{{>prop}}{{* i++;}}{{/props}}){{/if}}
{{/for}}'),$.templates("indicatorsListTmpl",''),$.templates("indicatorsDropdownTmpl",'
{{include tmpl="indicatorsCurrentTmpl"/}}
{{include tmpl="indicatorsListTmpl"/}}
'),$.templates("indicatorDialogTmpl",''),$.templates("captureDialogTmpl",'"),$.templates("themeConfigSelectorTmpl",'"),$.templates("themeConfigTmpl",'"),$.templates("themeConfigOptionsTmpl",'
'+_t("13643","Фон")+'
'+_t("13644","Линии осей")+'
'+_t("13645","Цвет осей")+'
'+_t("13646","Цвет меток")+'
'+_t("87207","Цвет текста лейблов")+'
'+_t("13647","Цвет сетки")+'
'+_t("13648","Цвет текста подложки")+'
'+_t("13649","Цвет области")+'
'+_t("13650","Цвет границы области")+'
'+_t("13651","Цвет объемов")+'
'+_t("13652","Цвет фона скроллера")+'
'+_t("13653","Цвет скроллера")+'
'+_t("15810","Цвет теней")+'
'+_t("3103","Свеча вверх")+'
'+_t("3104","Свеча вниз")+'
'+_t("13654","Обводка свечи")+'
'+_t("13655","Обводка свечи вверх")+'
'+_t("13656","Обводка свечи вниз")+'
'+_t("13657","Тень свечи")+'
'+_t("13658","Цвет тени свечи")+'
'+_t("13659","Бар вверх")+'
'+_t("13660","Бар вниз")+'
'+_t("13661","Толщина бара")+'
'+_t("1365","Линия")+'
'+_t("13662","Толщина линии")+'
'),$.templates("iChart_intervalsTmpl",'
{{for intervals}}{{:name}}{{/for}}
'),$.templates("iChart_textPopupSettingsTmpl",'");var iChartDataSource={data:{},dataSettings:{useHash:!1,date_from:formatDate(-90),date_to:formatDate(0),graphicIndicators:"",timeframe:1440,hash:"",id:"AAPL.US",interval:"D1",compareIds:"",compareStocks:"",compareTickets:"",start:"",end:""},host:"",url:"/api",getUrl:function(t){var e={id:t.id,compareIds:t.compareIds,compareStocks:t.compareStocks,compareTickets:t.compareTickets,count:t.count,timeframe:iChart.getChartTimeframe(t.interval),date_from:t.date_from,date_to:t.date_to,interval:t.interval,intervalMode:t.intervalMode,type:t.type,demo:t.demo},t=(t.isTheoreticalData&&(e.isTheoreticalData=t.isTheoreticalData),e.hash=e.id.toString()+(e.date_from?Date.parse(e.date_from).toString():"")+Date.parse(e.date_to).toString()+JSON.stringify(e).hashCode(),{q:JSON.stringify({cmd:"getHloc",params:e})});return iChartDataSource.host+iChartDataSource.url+"?"+iChart.toQueryString(t)},onRequestCallback:function(r,t){if(!t.id)return 0;t.demo="undefined"!=typeof jNTUserinfo&&jNTUserinfo.isDemo?1:0;var s=t,n=this,o=this.chart;this.chart.wrapper.trigger("iguanaChartEvents",["chartDataRequest",iChartDataSource.getUrl(t)]),this.chart.ajaxDataRequest=$.ajax({url:iChartDataSource.getUrl(t),dataType:"text json",error:function(t,e,i){clearTimeout(o.timers.loading),o.wrapper.trigger("iguanaChartEvents",["clearLoader"]),o.viewData.chart.setSelectionMode("pan"),console.log("Error: "+e),r({success:!1})},success:function(t,e,i){var a;o.wrapper.trigger("iguanaChartEvents",["chartDataReceived",t]),t.info&&t.info[o.dataSource.dataSettings.id]?(a=t.info[o.dataSource.dataSettings.id],o.userSettings.currentSecurity={id:a.nt_ticker,short_name:a.short_name,default_ticker:a.default_ticker,nt_ticker:a.nt_ticker,firstDate:a.firstDate,currency:a.currency,min_step:a.min_step},o.viewData.chart.chartOptions.watermarkText=a.nt_ticker,o.viewData.chart.chartOptions.watermarkSubText=a.short_name,t=n.dataAdapter(t,s),clearTimeout(o.timers.loading),o.wrapper.trigger("iguanaChartEvents",["clearLoader"]),o.viewData.chart.setSelectionMode("pan"),0==t.success&&console.log("ERROR:",t.d.Message),r(t||{warnings:[_t("2125","Ошибка: пустой ответ.")],success:!1}),o.response=t.d,o.wrapper.trigger("iguanaChartEvents",["chartDataReady",t]),o.dataRequestCounter++,o.fixViewport(),o.updateUnlocked=!0):(t.hloc={},t=n.dataAdapter(t,s),clearTimeout(o.timers.loading),o.wrapper.trigger("iguanaChartEvents",["clearLoader"]),o.viewData.chart.setSelectionMode("pan"),0==t.success&&console.log("ERROR:",t.d.Message),r(t||{warnings:[_t("2125","Ошибка: пустой ответ.")],success:!1}),o.response=t.d,o.dataRequestCounter++,o.userSettings.currentSecurity.firstDate=o.getDefaultDateFrom(o.viewData.chart._dataSettings.interval,!1),o.viewData.chart._dataSettings.date_from=o.getDefaultDateFrom(o.viewData.chart._dataSettings.interval,!0),o.setDatePeriod(o.viewData.chart._dataSettings.interval,o.viewData.chart._dataSettings.date_from,o.viewData.chart._dataSettings.date_to),a=iChart.parseDateTime(o.viewData.chart._dataSettings.date_from),t=iChart.parseDateTime(o.viewData.chart._dataSettings.date_to),o.checkPeriodInterval(o.viewData.chart._dataSettings.interval),o.checkDateInterval(a,t),o.updateUnlocked=!0,o.fixViewport(),o.wrapper.trigger("iguanaChartEvents",["noDataInRequestResponse"]))}})},preInitCallback:function(t,e){if((e=void 0===e?{}:e).ticker=e.ticker||this.chart.dataSource.dataSettings.id||"SBER",e.f_history=void 0===e.f_history?0:e.f_history,this.chart.userSettings=$.extend(!0,{},$iguanaChart.defaultSettings,e.userSettings),e.hash){this.chart.dataSource.dataSettings.hash=e.hash;var i,a=iChart.parseQueryString(e.hash.substr(1));for(i in this.chart.dataSource.dataSettings)a[i]&&(this.chart.dataSource.dataSettings[i]=a[i]);var r,s=[];for(r in a)r.match(new RegExp("^i[0-9]","i"))&&(s[r.charAt(0)+r.substr(1)]=a[r]);s.length&&(this.chart.dataSource.dataSettings.graphicIndicators=iChart.toQueryString(s)),e.ticker=a.id,e.interval=a.interval}this.chart.userSettings.currentSecurity={id:e.ticker,short_name:e.ticker,default_ticker:e.ticker,nt_ticker:e.ticker,firstDate:"",currency:"",min_step:""},this.chart.dataSource.dataSettings.useHash=!1,this.chart.dataSource.dataSettings.id=e.ticker,this.chart.dataSource.dataSettings.intervalRestriction="",e.chartOptions.watermarkText=e.ticker,e.chartOptions.watermarkSubText=e.ticker,void 0!==e.type&&(e.chartOptions.chartType=e.type),t(e.chartOptions)}},APO,APO,PPO,PPO;IguanaChart=function(t){"use strict";var o=this;this.name=t.name||"chart",this.container=t.container||"#iChart-chart-container",this.wrapper=t.wrapper,this.lib_path=t.lib_path||"/dist/iguanacharts/",this.toQueryString=function(t){var e,i=[];for(e in t){var a=t[e];if(void 0!==a&&""!==a)if($.isArray(a))for(var r=0;r";for(r in this.viewData.indicators)"TA_LIB"==this.viewData.indicators[r].type&&(s+='");var n='
'+_t("12834","Индикатор")+" "+(t+1)+'
";this.uiGraphIndicatorsWindow2.element.find(".js-chartTADialogContainer").append(n),a=this.uiGraphIndicatorsWindow2.element.find(".js-chartTADialog-i"+t+"-settings")}$(".iChart-indicator-description, .iChart-indicator-parameters, .iChart-indicator-colors, .iChart-indicator-width",a).remove();for(var n=this.viewData.indicators[e.name]||{description:"",parameters:[]},o=($("
",{class:"iChart-indicator-description"}).html(n.description).appendTo(a),n.parameters),h=0;h",{class:"iChart-indicator-parameters uk-form",text:o[h].Name+": "}).appendTo(a);$("",{name:l,type:"text",value:o[h].Value,class:"uk-form-small"}).css({width:"50px"}).appendTo(c)}var d=$("
",{class:"iChart-indicator-colors",id:"iChart-indicator-colors"}).appendTo(a),p=$("
",{class:"iChart-indicator-width",id:"iChart-indicator-width"}).appendTo(a),u=t;if(this.viewData.indicators[e.name])for(var g,m=0;m",{type:"hidden",class:"iChart-indicator-color iChart-indicator-color-"+u+m,id:"iChart-indicator-color-"+u+m,indicator:e.name,colorIndex:u+"-"+m,"ui-pos":u<2?"bottom":"top"}).val(g).appendTo(d),this.initInsrMinicolors($(".iChart-indicator-color-"+u+m)),g=2,this.userSettings.chartSettings.indicatorsWidth[e.name]&&this.userSettings.chartSettings.indicatorsWidth[e.name][u]&&this.userSettings.chartSettings.indicatorsWidth[e.name][u][m]&&(g=this.userSettings.chartSettings.indicatorsWidth[e.name][u][m]),g=$('').appendTo(p),$('').appendTo(p),this.initIndicatorWidthMenu(g,$(".indicatorMenuHolder-"+u+m+"[data-chartName='"+this.name+"']").html()));i&&this.update()},this.setIndicators=function(t){var n;window.localStorage.setItem("userSettingsGraphicIndicators",t),this.dataSource.dataSettings.graphicIndicators=t,this.setScheduleUpdateState(0),this.TA.removeIndicator(),void 0!==o.TA&&(n=iChart.parseQueryString(this.dataSource.dataSettings.graphicIndicators),$.each(n,function(t,e){var i={};if(e&&t.match(/^i[0-9]+$/)&&o.viewData.indicators[e]&&"TA_LIB"==o.viewData.indicators[e].type){for(var a=t.match(/^i([0-9]+)$/)[1],r=0;r").animate({width:a},{duration:t,step:function(t,e){o.viewData.chart.viewport.x.min=a-t,o.viewData.chart.viewport.x.max=o.viewData.chart.viewport.x.min+i,o.viewData.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0})}})},this.scrollForward=function(){this.viewData.chart.viewport.x.min=this.viewData.chart.areas[0].viewport.x.min,this.viewData.chart.viewport.x.max=this.viewData.chart.areas[0].viewport.x.max;var i=this.viewData.chart.viewport.x.max-this.viewData.chart.viewport.x.min,t=this.viewData.chart.areas[0].xSeries.length-1-this.viewData.chart.chartOptions.futureAmount,e=$("

").css({width:this.viewData.chart.viewport.x.max}),a=t-this.viewData.chart.viewport.x.max+1500;e.animate({width:t},{duration:a,step:function(t,e){o.viewData.chart.viewport.x.max=t,o.viewData.chart.viewport.x.min=t-i,o.viewData.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0})},complete:function(){o.viewData.chart.onDataSettingsChange.call(o.viewData.chart),o.wrapper.trigger("iguanaChartEvents",["hashChanged"])}})},this.scrollTo=function(e){var t=e.xSpeed;if(t<.05)return!1;var i=1e3+100*t,a=t,r=-a/i,s=this,n=this.viewData.chart.viewport.x.min,o=this.viewData.chart.viewport.x.max;iChart.animate({duration:i,timing:function(t){return t},draw:function(t){!isNaN(t)&&0e.x2?(s.viewData.chart.viewport.x.min=n+t,s.viewData.chart.viewport.x.max=o+t):e.x1=r.getTime()&&t.getTime()r.getTime()+6e4*this.viewData.chart._dataSettings.timeframe&&(i=this.getLastPoint(),a={hloc:{},vl:{},xSeries:{}},(r=[])[0]=e.ltp,r[1]=e.ltp,r[2]=e.ltp,r[3]=e.ltp,a.hloc[Object.keys(i.xSeries)[0]]=[r],a.vl[Object.keys(i.xSeries)[0]]=[e.vol],r=(t.getTime()-t.getTime()%(6e4*this.viewData.chart._dataSettings.timeframe))/1e3-getTimeOffsetServer(tzOffsetMoscow),a.xSeries[Object.keys(i.xSeries)[0]]=[r],this.addPoint(a)))},this.getLastPoint=function(){var i,a,r,s,t;if(void 0!==this.viewData.chart&&this.viewData.chart.areas&&this.viewData.chart.canvas)return i=this.viewData.chart.areas[0].ySeries[0].points.length-this.viewData.chart.chartOptions.futureAmount-1,a=this.viewData.chart.areas[0].ySeries[0].name,r={},s={},(t={})[a]=[this.viewData.chart.areas[0].xSeries[i]],$.each(this.viewData.chart.areas,function(t,e){$.each(e.ySeries,function(t,e){0<=$.inArray(e.kind,["HLOC","Volume"])&&("HLOC"==e.kind&&(r[a]=[e.points[i]]),"Volume"==e.kind)&&(s[a]=[e.points[i]])})}),{hloc:r,vl:s,xSeries:t}},this.getLastPointX=function(){var t;return!(void 0===this.viewData.chart||!this.viewData.chart.areas||!this.viewData.chart.canvas)&&(t=this.viewData.chart.areas[0].ySeries[0].points.length-this.viewData.chart.chartOptions.futureAmount-1,this.viewData.chart.areas[0].xSeries[t])},this.addTransactions=function(t,e){if(void 0!==this.viewData.chart){t:for(var i=0;ithis.viewData.chart.viewport.x.max&&(this.viewData.chart.viewport.x.max=30),this.viewData.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!1}))},this.switchTrading=function(){this.userSettings.chartSettings.tradingToolsEnable=this.userSettings.chartSettings.tradingToolsEnable?0:1,window.localStorage.setItem("userSettingsTradingToolsEnable",this.userSettings.chartSettings.tradingToolsEnable),$(this.container).trigger("iguanaChartEvents",["chartTradingTools",this.userSettings.chartSettings.tradingToolsEnable])},this.tradingToolsControl=function(){this.userSettings.chartSettings.tradingToolsEnable},this.addEvents=function(t){t=t||[];for(var e=0;e(t[e]=this.getPeriodByInterval(e),t),{}));const s=[];t.forEach(t=>{let e=intervalNames(t);var i=intervalShortNames(r[t]);i&&(e=e+" > "+i),s.push({text:e,value:t,restriction:r[t]})}),t.includes(a)||(a=t[0]),this.dataSource.dataSettings.interval=a;e={restriction:r,dataSource:s,value:a,text:intervalNames(a),selectedCandleMode:this.dataSource.dataSettings.candleMode,candleModes:iChart.candleModes};return(i||JSON.stringify(this.dataSource.dataSettings.intervalRestriction)!==JSON.stringify(r)&&a===this.dataSource.dataSettings.interval)&&(this.dataSource.dataSettings.intervalRestriction=r,$(this.container).trigger("iguanaChartEvents",["intervalRestriction",e])),e},this.checkPeriodInterval=function(t,e){void 0===e&&(e=!0);var i=new Date,a=new Date,e=$(t).val();switch(e){case"D1":break;case"D7":a.setDate(i.getDate()-7);break;case"M1":a.setMonth(i.getMonth()-1);break;case"M3":a.setMonth(i.getMonth()-3);break;case"M6":a.setMonth(i.getMonth()-6);break;case"Y1":a.setFullYear(i.getFullYear()-1);break;case"Y5":a.setFullYear(i.getFullYear()-5);break;default:a.setMonth(i.getMonth()-3)}e?($("#date_to").val(iChart.formatDateTime(i,"dd.MM.yyyy")),$("#date_from").val(iChart.formatDateTime(a,"dd.MM.yyyy"))):(t=(Date.parse($("#date_to").val())-Date.parse($("#date_from").val()))/1e3,"D1"==$("#interval").val()&&t<86400?$("#date_from").val(iChart.formatDateTime(new Date(Date.parse($("#date_from").val()).getTime()-6048e5),"dd.MM.yyyy")):"D7"==$("#interval").val()&&t<604800&&$("#date_from").val(iChart.formatDateTime(new Date(Date.parse($("#date_from").val()).getTime()-12096e5),"dd.MM.yyyy")))},this.checkPeriod=function(t){var e=iChart.parseDateTime(this.dataSource.dataSettings.date_to),i=new Date(e),a=t.match(/([D,M,Y])(\d+)/);if(a)switch(a[1]){case"D":i.setDate(e.getDate()-+a[2]);break;case"M":i.setMonth(e.getMonth()-+a[2]);break;case"Y":i.setFullYear(e.getFullYear()-+a[2]);break;case"YTD":i.setDate(1),i.setMonth(0),i.setFullYear(e.getFullYear())}else t="D1";t?(this.dataSource.dataSettings.date_from=iChart.formatDateTime(i,"dd.MM.yyyy"),this.dataSource.dataSettings.date_to=iChart.formatDateTime(e,"dd.MM.yyyy")):(t=(iChart.parseDateTime(this.dataSource.dataSettings.date_from).getTime()-iChart.parseDateTime(this.dataSource.dataSettings.date_to).getTime())/1e3,"D1"==this.dataSource.dataSettings.interval&&t<86400?this.dataSource.dataSettings.date_from=iChart.formatDateTime(new Date(iChart.parseDateTime(this.dataSource.dataSettings.date_from).getTime()-6048e5),"dd.MM.yyyy"):"D7"==this.dataSource.dataSettings.interval&&t<604800&&(this.dataSource.dataSettings.date_from=iChart.formatDateTime(new Date(iChart.parseDateTime(this.dataSource.dataSettings.date_from).getTime()-12096e5),"dd.MM.yyyy"))),this.checkDateInterval(iChart.parseDateTime(this.dataSource.dataSettings.date_from),iChart.parseDateTime(this.dataSource.dataSettings.date_to))},this.setInterval=function(t){var e="M1";switch(t){case"I1":e="D1";break;case"I5":e="D3";break;case"I15":e="D7";break;case"H1":e="D14";break;case"D1":e="M6";break;case"D7":e="Y1"}var i=new Date(1e3*this.getLastPointX());i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setDate(i.getDate()+1),this.dataSource.dataSettings.date_to=i,this.dataSource.dataSettings.interval=t,this.dataSource.dataSettings.timeframe=iChart.getChartTimeframe(t),this.checkPeriod(e),this.updateForce()},this.setHashValue=function(t,e){i=(0==this.dataSource.dataSettings.useHash?this.dataSource.dataSettings:document.location).hash;var i,a=iChart.parseQueryString(i.substr(1)),t=(a[t]=e,"#"+iChart.toQueryString(a));t!==i&&(0==this.dataSource.dataSettings.useHash?this.dataSource.dataSettings.hash=t:document.location.hash=t,$(this.container).trigger("iguanaChartEvents",["hashChanged",t]))},this.setHashValues=function(t){e=(0==this.dataSource.dataSettings.useHash?this.dataSource.dataSettings:document.location).hash;var e,i,a=iChart.parseQueryString(e.substr(1));for(i in t)t.hasOwnProperty(i)&&(a[i]=t[i]);var r="#"+iChart.toQueryString(a);r===e||$.isEmptyObject(a)||(0==this.dataSource.dataSettings.useHash?this.dataSource.dataSettings.hash=r:document.location.hash=r,$(this.container).trigger("iguanaChartEvents",["hashChanged",r]))},this.initInsrMinicolors=function(t){var e=t.val();$(t).minicolors({animationSpeed:50,animationEasing:"swing",change:null,changeDelay:0,control:"hue",defaultValue:e,hide:null,hideSpeed:100,inline:!1,letterCase:"lowercase",opacity:!1,position:t.attr("ui-pos")+" left",show:null,showSpeed:100,theme:"default"}).change(function(){var t=$(this).attr("colorIndex").split("-")[0],e=$(this).attr("colorIndex").split("-")[1],i=$(this).attr("indicator");$.isArray(o.userSettings.chartSettings.indicatorsColor)&&(o.userSettings.chartSettings.indicatorsColor={}),o.userSettings.chartSettings.indicatorsColor[i]||(o.userSettings.chartSettings.indicatorsColor[i]=[]),o.userSettings.chartSettings.indicatorsColor[i][t]||(o.userSettings.chartSettings.indicatorsColor[i][t]=Array(o.viewData.indicators[i].output)),o.userSettings.chartSettings.indicatorsColor[i][t][e]=$(this).val()})},this.initIndicatorWidthMenu=function(t,e){$(t).qtip({style:{classes:"qtip-light uk-tooltip-custom"},position:{at:"left bottom",my:"top left",effect:!1},content:{text:e},hide:{fixed:!0,delay:300,effect:function(){$(this).slideUp(500)}},show:{solo:!0,effect:function(){$(this).slideDown(500)}},events:{show:function(t,e){}}})},this.setIndicatorWidth=function(t){var e=$(t).parent().attr("widthIndex").split("-")[0],i=$(t).parent().attr("widthIndex").split("-")[1],a=$(t).parent().attr("indicator");$.isArray(this.userSettings.chartSettings.indicatorsWidth)&&(this.userSettings.chartSettings.indicatorsWidth={}),this.userSettings.chartSettings.indicatorsWidth[a]||(this.userSettings.chartSettings.indicatorsWidth[a]=[]),this.userSettings.chartSettings.indicatorsWidth[a][e]||(this.userSettings.chartSettings.indicatorsWidth[a][e]=Array(this.viewData.indicators[a].output)),$(".indicatorWidthSelector-"+e+i+"[data-chartName='"+this.name+"']").attr("data-style",$(t).attr("data-style")),this.userSettings.chartSettings.indicatorsWidth[a][e][i]=$(t).attr("data-style")},this.getIndicatorParameters=function(t){var e={};if(void 0!==this.viewData.indicators[t])for(var i=0;i",{type:"hidden",class:"iChart-indicator-color iChart-indicator-color-"+s+o,id:"iChart-indicator-color-"+s+o,indicator:t.value,colorIndex:s+"-"+o,"ui-pos":s<2?"bottom":"top"}).val(n).appendTo(i),this.chart.initInsrMinicolors(i.find(".iChart-indicator-color-"+s+o)),n=2,this.chart.userSettings.chartSettings.indicatorsWidth[t.value]&&this.chart.userSettings.chartSettings.indicatorsWidth[t.value][s]&&this.chart.userSettings.chartSettings.indicatorsWidth[t.value][s][o]&&(n=this.chart.userSettings.chartSettings.indicatorsWidth[t.value][s][o]),n=$('').appendTo(a),$('

').appendTo(a),this.chart.initIndicatorWidthMenu(n,a.find(".indicatorMenuHolder-"+s+o+"[data-chartName='"+this.chart.name+"']").html()));$(document).off("click",".js-set-params-indicator").on("click",".js-set-params-indicator",function(t){var e=h.chart.deserializeIndicators(h.chart.dataSource.dataSettings.graphicIndicators),i=$(".js-iChartTools-indicators-params input").serializeArray(),a=!0;i.forEach(function(t){h.checkValidParameters(t,iChart.indicators[e[r].name])?e[r].params[t.name]=t.value:a=!1}),a&&(e=h.chart.serializeIndicators(e),h.chart.setIndicators(e),$.modal.impl.close())}),this.chart.wrapper.append(e),$(".iChartDialog").modal({modal:!1,zIndex:1500,title:_t("17398","Настройки индикатора")})},this.checkValidParameters=function(e,t){var i=!0;return t.parameters.forEach(function(t){t.Code===e.name&&(i=h.getResultErrorOnMaxMinValue(e,t,i))}),i},this.getResultErrorOnMaxMinValue=function(t,e,i){return void 0!==e.MinValue&&parseInt(t.value)",{class:"uk-button "+t.class,text:t.title});i.append(t)})),a.find(".js-themeConfigOptions").empty().append(this.renderThemeConfigOptions()),a.find(".js-themeConfigSelector").empty().append(this.renderThemeConfigSelector()),a.data("chartOptions",$.extend(!0,{},this.chart.wrapper.iguanaChart("chartOptions"))),this.chart.wrapper.find(".js-themeConfig").remove(),this.chart.wrapper.append(a),this.chart.wrapper.find(".js-themeConfig"));return r.modal({modal:!1,draggable:!0,maxWidth:600,zIndex:1500,title:_t("13754","Настройки вида"),onClose:e}),r.on("click",".js-chartOptions",function(){switch($(this).attr("data-value")){case"ok":h.chart.wrapper.trigger("iguanaChartEvents",["hashChanged"]),h.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",iChart.Charting.ChartOptions.getThemeOptions(h.chart.viewData.chart.chartOptions)]),h.chart.userSettings.chartSettings.defaultTheme=0,h.setUiStateForThemeConfig(!1),$.modal.impl.d.data&&$.modal.impl.close(!1);break;case"cancel":e()}}),r.on("click",".js-themeSelect",function(){return h.chart.wrapper.iguanaChart("setTheme",$(this).data("theme")),a.find(".js-themeConfigOptions").empty().append(h.renderThemeConfigOptions()),!1}),r.on("click",".js-themeSaveAs",function(){return UIkit.modal.prompt(_t("5228","Название")+":","",function(t){t&&(t={name:t,settings:iChart.Charting.ChartOptions.getThemeOptions(h.chart.viewData.chart.chartOptions)},$iguanaChart.thems.push($.extend({custom:!0},t)),t=JSON.stringify(t),h.chart.wrapper.trigger("iguanaChartEvents",["themeSave",t]),a.find(".js-themeConfigSelector").empty().append(h.renderThemeConfigSelector()))}),!1}),r.on("click",".js-themeDelete",function(t){var i=$(this).data("name"),e=$.grep($iguanaChart.thems,function(t,e){return t.name==i?t.i=e:null})[0];return $iguanaChart.thems.splice(e,1),r.find('.js-themeSelect[data-theme="'+i+'"]').remove(),h.chart.wrapper.trigger("iguanaChartEvents",["themeDelete",i]),t.stopPropagation(),!1}),r},this.renderThemeConfigSelector=function(){return $($.render.themeConfigSelectorTmpl({themes:$iguanaChart.thems}))},this.renderThemeConfigOptions=function(){function i(t,e){var i=$(this).val(),a=i,r=$(this).attr("data-option");i.match(/^rgb.*/)||(a=iChart.hexToRGB(i,e)),h.chart.wrapper.iguanaChart("chartOptions",r,a),$(".js-colorSelector[data-option='"+r+"']").css({"background-color":a}),$(this).minicolors("value",i),$(this).minicolors("opacity",e)}function a(){var t=this.value,e=iChart.hexToRGB(t,1),i=this.element.attr("data-option");h.chart.wrapper.iguanaChart("chartOptions",i,e),$(".js-colorSelector[data-option='"+i+"']").css({"background-color":e}),this.element.parent().find(".js-colorPicker").minicolors("value",t)}var t=$($.render.themeConfigOptionsTmpl({chartOptions:h.chart.viewData.chart.chartOptions}));t.find(".js-widthSlector").each(function(){var i=$(this),t=i.find(".menuHolder").html();i.qtip({style:{classes:"qtip-light uk-tooltip-custom"},position:{at:"center right",my:"left center",effect:!1},content:{text:t},hide:{fixed:!0,delay:300,effect:function(){$(this).slideUp(500)}},show:{solo:!0,effect:function(){$(this).slideDown(500)}},events:{show:function(t,e){$(this).find(".js-widthSlectorWrapper").each(function(){var e=$(this);e.off().on("click",".js-lineWidth",function(){var t=$(this).attr("data-style");h.chart.wrapper.iguanaChart("chartOptions",e.attr("data-option"),t),i.find(".js-widthSlectorValue").attr("data-style",t)})})}}})});return t.find(".js-colorSelector").each(function(){var t=$(this),e=t.find(".menuHolder").html();t.qtip({style:{classes:"qtip-light uk-tooltip-custom"},position:{at:"center right",my:"left center",effect:!1,viewport:$("html"),adjust:{method:"shift none"}},content:{text:e},hide:{fixed:!0,delay:300},show:{solo:!0},events:{show:function(t,e){$(t.currentTarget).find(".js-colorPicker").each(function(){h.addMinicolors(this,t.currentTarget,i,a)})}}})}),t.find(".js-checkbox").on("click",".js-flag",function(){h.chart.wrapper.iguanaChart("chartOptions",$(this).attr("data-option"),$(this).prop("checked"))}),t},this.initMinicolors=function(t,e){e="function"==typeof e?e:function(){};var i=$(t),a=!!i.first().attr("data-opacity"),i=(i.first().attr("data-opacity"),i.first().val()||"rgba(82, 175, 201, 0.5)");$(t).minicolors({animationSpeed:50,animationEasing:"swing",change:e,changeDelay:0,control:"hue",defaultValue:i,hide:null,hideSpeed:100,inline:!0,letterCase:"lowercase",opacity:a,position:"bottom left",show:null,showSpeed:100,theme:"default"}),$(t).minicolors("value",i)},this.initColorPalette=function(t,e){e="function"==typeof e?e:function(){},$(t).find(".js-colorPalette").each(function(){null==$(this).data("palette")&&$(this).palette({palette:"basic",columns:2,size:13,change:e})})},this.addMinicolors=function(t,e,i,a){var r;$(t).hasClass("minicolors-input")?(r=$(t).val(),$(t).minicolors("value",r)):(this.initMinicolors(t,i),this.initColorPalette(e,a))},this.renderTopToolBar=function(){var t=$($.render.iChart_topToolBarTmpl());this.$topToolBarContainer.append(t),this.renderIndicators()},this.initStatesControls=function(){var t=this.chart.viewData.chart.chartOptions.chartType,t=(this.setUiStateForChartType(t),!!this.chart.viewData.chart.chartOptions.showVolumeByPrice),t=(this.setUiStateForShowVolumeByPrice(t),h.chart.viewData.chart.chartOptions.showVolume),t=(this.setUiStateForShowVolume(t),h.chart.viewData.chart.chartOptions.percentMode);this.setUiStateForPercentMode(t),this.setUiStateForDataInterval(h.chart.dataSource.dataSettings.interval)},this.bindUiControls=function(){this.$uiContainer.off("click",".js-chart-ui-control").on("click",".js-chart-ui-control",function(t){var e=$(this),i=e.data("property"),e=e.data("value"),i="uiSet_"+i;"function"==typeof h[i]&&h[i](e)}),this.$uiContainer.on("show.uk.dropdown",'.js-chart-ui-control[data-property="fillStyle"]',function(){var t=$(this);$(this).find(".js-colorPicker").each(function(){h.addMinicolors(this,t.find(".js-chart-ui-control-holder"),h.onMinicolorsChange,h.onPaletteChange)})}),this.$uiContainer.on("show.uk.dropdown",'.js-chart-ui-control[data-property="strokeStyle"]',function(){var t=$(this);$(this).find(".js-colorPicker").each(function(){h.addMinicolors(this,t.find(".js-chart-ui-control-holder"),h.onMinicolorsChange,h.onPaletteChange)})})},this.uiSet_chartType=function(t){this.chart.viewData.chart.setChartType(t),this.setUiStateForChartType(t),this.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{chartType:t}])},this.uiSet_showVolumeByPrice=function(t){this.chart.VolumeByPrice_onClick();var e=!!this.chart.viewData.chart.chartOptions.showVolumeByPrice;this.setUiStateForShowVolumeByPrice(e),this.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{showVolumeByPrice:e}])},this.uiSet_showVolume=function(t){this.chart.VolumeByDate_onClick();var e=h.chart.viewData.chart.chartOptions.showVolume;this.setUiStateForShowVolume(e),this.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{showVolume:e}])},this.uiSet_percentMode=function(t){var e=this.chart.percentMode_onClick();this.setUiStateForPercentMode(e),this.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{percentMode:e}])},this.uiSet_themeConfig=function(){$.modal.impl.d.data?($.modal.impl.close(),this.setUiStateForThemeConfig(!1)):(this.renderThemeConfigDialog(),this.setUiStateForThemeConfig(!0))},this.uiSet_instrumentLine=function(t){var e=$.extend({},this.chart.userSettings.chartSettings.contextSettings,this.chart.viewData.chart.chartOptions.elementStyle[t]);this.chart.wrapper.iguanaChart("toolStart",t,e),this.setUiStateForInstrumentLine(t,1),this.onSelectInstrument({settings:e})},this.uiSet_instrumentForm=function(t){var e=$.extend({},this.chart.userSettings.chartSettings.contextSettings,this.chart.viewData.chart.chartOptions.elementStyle[t]);this.chart.wrapper.iguanaChart("toolStart",t,e),this.setUiStateForInstrumentForm(t,1),this.onSelectInstrument({settings:e})},this.uiSet_instrumentText=function(t){var e=$.extend({},this.chart.userSettings.chartSettings.contextSettings,this.chart.viewData.chart.chartOptions.elementStyle[t]);this.chart.wrapper.iguanaChart("toolStart",t,e),this.setUiStateForInstrumentText(t,1),this.onSelectInstrument({settings:e})},this.uiSet_clearInstruments=function(){this.chart.removeAllInstruments_onClick()},this.uiSet_lineWidthSelector=function(t){this.chart.setLineWidthToCanvas(t),this.setUiStateForLineWidth(t)},this.uiSet_dataInterval=function(t){var e=t.split("|");this.chart.setDateRange(e[0],e[1]),this.setUiStateForDataInterval(t)},this.uiSet_captureImage=function(){var t=this.chart.viewData.chart.toBase64withSize("image/png"),e=($.modal.impl.d.data&&$.modal.impl.close(),$(".iChartDialog").remove(),$($.render.captureDialogTmpl()));e.find(".js-iChartTools-capture").attr("src","data:image/png;base64, "+t.string).attr("height",t.height).attr("width",t.width),e.on("click",".js-set-params-indicator",function(){h.saveScreenOnDisk()}),this.chart.wrapper.append(e);e=t.width||120,t=0<(t=t.height)?t:150;$(".iChartDialog").modal({modal:!1,zIndex:1500,close:!0,minWidth:e,minHeight:t,title:_t("1724","Скачать картинку")})},this.saveScreenOnDisk=function(){var t=document.createElement("a");t.href=$(".iChartDialog").find(".js-iChartTools-capture").attr("src"),t.download="tn-screen.png",t.click()},this.onMinicolorsChange=function(t,e){var i=$(this).val(),a=i,r=$(this).attr("data-option");i.match(/^rgb.*/)||(a=iChart.hexToRGB(i,e)),h.chart.userSettings.chartSettings.contextSettings[r]=a,h.setUiStateForColorSelector(r,a),$(this).minicolors("value",a),h.chart.setStyleToCanvas(a,r)},this.onPaletteChange=function(){var t=this.value,e=this.element.attr("data-option"),i=t;t.match(/^rgb.*/)||(i=iChart.hexToRGB(t,1)),h.chart.userSettings.chartSettings.contextSettings[e]=i,h.setUiStateForColorSelector(e,i),this.element.parent().find(".js-colorPicker").minicolors("value",i),h.chart.setStyleToCanvas(i,e)},this.setUiStateForChartType=function(t,e){t&&(e=this.getUiStateForChartType(t)),this.$uiContainer.find('.js-chart-ui-control-state[data-property="chartType"]').removeClass("sprite-icon-line sprite-icon-candle sprite-icon-bars").addClass(e)},this.getUiStateForChartType=function(t){var e="sprite-icon-line";switch(t){case"Candlestick":e="sprite-icon-candle";break;case"Stock":e="sprite-icon-bars";break;case"Line":e="sprite-icon-line"}return e},this.setUiStateForShowVolumeByPrice=function(t){t?this.$uiContainer.find('.js-chart-ui-control-state[data-property="showVolumeByPrice"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="showVolumeByPrice"]').removeClass("active")},this.setUiStateForShowVolume=function(t){"inside"==t||"outside"==t?this.$uiContainer.find('.js-chart-ui-control-state[data-property="showVolume"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="showVolume"]').removeClass("active")},this.setUiStateForPercentMode=function(t){t?this.$uiContainer.find('.js-chart-ui-control-state[data-property="percentMode"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="percentMode"]').removeClass("active")},this.setUiStateForThemeConfig=function(t){t?this.$uiContainer.find('.js-chart-ui-control-state[data-property="themeConfig"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="themeConfig"]').removeClass("active")},this.setUiStateForLineWidth=function(t){this.$uiContainer.find('.js-chart-ui-control-state[data-property="lineWidthSelector"]').removeClass("sprite-icon-1px sprite-icon-2px sprite-icon-3px sprite-icon-4px sprite-icon-5px sprite-icon-8px sprite-icon-10px").addClass("sprite-icon-"+t+"px")},this.setUiStateForColorSelector=function(t,e){e.match(/^rgb.*/)||(e=iChart.hexToRGB(e,1)),this.$uiContainer.find('.js-chart-ui-control-state[data-property="'+t+'"]').css({"background-color":e}),this.$uiContainer.find('.js-chart-ui-control[data-property="'+t+'"] .js-colorPicker').val(e)},this.setUiStateForInstrumentLine=function(t,e){e=!!e;var i="";switch(t){case"Line":i="sprite-icon-free-line";break;case"HorizontalLine":i="sprite-icon-h-line";break;case"VerticalLine":i="sprite-icon-v-line";break;case"Channel":i="sprite-icon-channel";break;case"Trend":i="sprite-icon-angle-trend";break;case"Arrow":i="sprite-icon-arrow-line"}e?this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentLine"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentLine"]').removeClass("active"),t&&this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentLine"] i.sprite').removeClass("sprite-icon-free-line sprite-icon-h-line sprite-icon-v-line sprite-icon-channel sprite-icon-angle-trend sprite-icon-arrow-line").addClass(i)},this.setUiStateForInstrumentForm=function(t,e){e=!!e;var i="";switch(t){case"Polygon":i="sprite-icon-f-poligon";break;case"Rectangle":i="sprite-icon-f-square";break;case"Triangle":i="sprite-icon-f-triangle";break;case"Ellipse":i="sprite-icon-f-ellipse";break;case"FibonacciArc":i="sprite-icon-f-fibonacci-arcs";break;case"FibonacciFan":i="sprite-icon-f-fibonacci-fan";break;case"FibonacciCorrection":i="sprite-icon-f-fibonacci-correction";break;case"HorizontalRange":i="sprite-icon-h-line-double"}e?this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentForm"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentForm"]').removeClass("active"),t&&this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentForm"] i.sprite').removeClass("sprite-icon-f-poligon sprite-icon-f-square sprite-icon-f-triangle").removeClass("sprite-icon-f-ellipse sprite-icon-f-fibonacci-arcs sprite-icon-f-fibonacci-fan sprite-icon-f-fibonacci-correction").addClass(i)},this.setUiStateForInstrumentText=function(t,e){(e=!!e)?this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentText"][data-value="'+t+'"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentText"]').removeClass("active")},this.onSelectInstrument=function(t){t.settings&&(t.settings.lineWidth&&this.setUiStateForLineWidth(t.settings.lineWidth),t.settings.fillStyle&&this.setUiStateForColorSelector("fillStyle",t.settings.fillStyle),t.settings.strokeStyle)&&this.setUiStateForColorSelector("strokeStyle",t.settings.strokeStyle)},this.setUiStateForDataInterval=function(t){this.$uiContainer.find('.js-chart-ui-control[data-property="dataInterval"]').removeClass("active"),t&&this.$uiContainer.find('.js-chart-ui-control[data-property="dataInterval"][data-value="'+t+'"]').addClass("active")}}}(),!function(h){($iguanaChart={defaultTheme:{},thems:[{name:"White",settings:{backgroundColor:"#ffffff",axisColor:"#999999",showAxes:!1,labelColor:"#595959",labelFontColor:"#ffffff",gridColor:"#cccccc",gridStyle:"dashed",watermarkColor:"rgba(238,238,238,1)",watermarkFont:"bold 40px Verdana",watermarkSubFont:"bold 25px Verdana",candleUp:"#66B85C",candleDown:"#C75757",candleBorder:!0,candleBorderUp:"#66B85C",candleBorderDown:"#C75757",candleWick:!0,candleWickStyle:"#595959",stockUp:"#66B85C",stockDown:"#C75757",stockWidth:1,lineColor:"#595959",lineWidth:1,areaColor:"#eff6fb",areaLineColor:"#cccccc",volumeStyle:"rgba(119, 119, 119, 0.3)",scrollerOverlayColor:"rgba(0,0,0, 0.1)",scrollerHandlerColor:"rgba(255,255,255, 1)",shadowColor:"#999999"}},{name:"Dark",settings:{backgroundColor:"#1e222d",axisColor:"#2a2e39",showAxes:!1,labelColor:"#595959",labelFontColor:"#ffffff",gridColor:"#2a2e39",gridStyle:"dashed",watermarkColor:"#2a2e39",watermarkFont:"bold 40px Roboto",watermarkSubFont:"bold 25px Roboto",candleUp:"#26a69a",candleDown:"#ef5350",candleBorder:!0,candleBorderUp:"#26a69a",candleBorderDown:"#ef5350",candleWick:!0,candleWickStyle:"#595959",stockUp:"#26a69a",stockDown:"#ef5350",stockWidth:1,lineColor:"#787b86",lineWidth:1,areaColor:"rgba(33,150,243,.12)",areaLineColor:"rgba(33,150,243,.12)",volumeStyle:"rgba(33,150,243,.12)",scrollerOverlayColor:"rgba(0,0,0, 0.1)",scrollerHandlerColor:"#787b86",shadowColor:"#2a2e39"}}],defaultSettings:{chartSettings:{contextSettings:{fillStyle:"rgba(82,175,201,.2)",strokeStyle:"rgba(82,175,201,1)",lineWidth:1,fontFamaly:"Arial,Helvetica,sans-serif",fontColor:"#444444",fontSize:"14"},indicatorsColor:{},indicatorsWidth:{},showTransactionsMode:0,tradingToolsEnable:0,autochartistEnable:0,defaultTheme:1},currentSecurity:{id:"",short_name:"",default_ticker:"",nt_ticker:"",firstDate:"",currency:"",min_step:""}},getTemplate:function(t,e){return'
'}}).init=function(e,i){e.dataSource.preInit(function(t){e.initChart(t),void 0!==i.events&&e.addEvents(i.events)},i)},$iguanaChart.optionsStore=function(){var t=JSON.parse(window.localStorage.getItem("chartsStore")||"{}");h.isPlainObject(arguments[0])&&!h.isEmptyObject(arguments[0])?t=h.extend(t,data):"string"==typeof arguments[0]&&(t[arguments[0]]=arguments[1]),window.localStorage.setItem("chartsStore",JSON.stringify(t))},$iguanaChart.optionsRestore=function(t){var e=JSON.parse(window.localStorage.getItem("chartsStore")||"{}");return t?e[t]:e};var r={init:function(t,e){var r=this;if(r.data("iguanaChart")){var i,a=r.data("iguanaChart");for(i in a.timers)clearTimeout(a.timers[i]);a.ajaxDataRequest.abort(),a.viewData.chart._dataLoading=!1}else{var e="chart"+e+"_"+(new Date).getTime(),s=e+"_container",n=$iguanaChart.getTemplate(s,e),o=t.lib_path||"",e=new IguanaChart({name:e,container:"#"+s,wrapper:r,lib_path:o,dataSource:h.extend(!0,{},t.dataSource)});r.html(n).data("iguanaChart",e).on("iguanaChartEvents",function(t,e,i){switch(e){case"chartDataReceived":var a=r.data("tmLoader");clearTimeout(a),r.find(".chart-loader-wrapper").css({opacity:"0.0",height:0,left:"-2000px",transition:"opacity .75s ease-in-out, height 0s ease-in-out .75s, left 0s ease-in-out .75s"});break;case"chartDataRequest":a=r.data("tmLoader");clearTimeout(a),a=setTimeout(function(){r.find(".chart-loader-wrapper").css({opacity:"1.0",height:"100%",left:0,transition:"opacity .0s ease-in-out, height 0s ease-in-out .0s"})},750),r.data("tmLoader",a)}})}$iguanaChart.init(r.data("iguanaChart"),t),this.trigger("iguanaChartEvents",["initComplete",t])},setType:function(t){var e=this.data("iguanaChart");e.viewData.chart&&e.viewData.chart.setChartType(t),e.setHashValue("type",t),this.trigger("iguanaChartEvents",["setType",t])},setTheme:function(t){var e=t[0],t=h.grep($iguanaChart.thems,function(t){return t.name==e?t:null})[0];if(void 0===t)throw new Error('Theme "'+e+'" is not exist.');var i=this.data("iguanaChart").viewData.chart;h.extend(i.chartOptions,t.settings),r.render.call(this),this.trigger("iguanaChartEvents",["setTheme",e])},render:function(t){h.isArray(t)||(t=[]);var e,i=this.data("iguanaChart"),a=void 0===t[0]||!!t[0],r=void 0!==t[1]&&!!t[1],t=void 0!==t[2]&&!!t[2];i.viewData.chart&&((e=i.viewData.chart).render({forceRecalc:a,resetViewport:r,testForIntervalChange:t}),h(i.container).find(".js-scrollerOverlay").css({background:e.chartOptions.scrollerOverlayColor}),h(i.container).find(".js-scrollerHandler").css({background:e.chartOptions.scrollerHandlerColor}))},chartOptions:function(t){var e=this.data("iguanaChart").viewData.chart;if(void 0===t[0])return e.chartOptions;"object"==typeof t[0]?h.extend(!0,e.chartOptions,t[0]):"string"==typeof t[0]&&void 0!==t[1]&&(e.chartOptions[t[0]]=t[1]),r.render.call(this)},events:function(t){var e=this.data("iguanaChart");e.clearEvents(),void 0!==t[0]&&e.addEvents(t[0]),r.render.call(this)},toolStart:function(t){var e=this.data("iguanaChart").viewData.chart;return e.overlay&&e.overlay.start(t[0]).setSettings(t[1]),!1},addPoint:function(t){this.data("iguanaChart").addPoint(t[0])},destroy:function(){if(this.data("iguanaChart")){var t,e=this.data("iguanaChart");for(t in e.timers)clearTimeout(e.timers[t]),e.ajaxDataRequest.abort()}}};h.fn.iguanaChart=function(i){var a,t;return void 0===i||"object"==typeof i?this.each(function(t){var e=h(this);return r.init.call(e,i,t),e}):"string"==typeof i?(a=Array.prototype.slice.call(arguments,1),r[i]&&"function"==typeof r[i]?a.length?this.each(function(t){var e=h(this);return r[i].call(e,a),e}):(t=h(this).eq(0),r[i].call(t,a)):console.error("Method should be function")):console.error("Options should be object, string or undefined")}}(jQuery),TA={TICKER:0,PER:1,DATE:2,TIME:3,OPEN:4,HIGH:5,LOW:6,CLOSE:7,VOL:8,FULLDATE:9,FULLTIME:10,DATESTRING:11,TA_COMPATIBILITY_DEFAULT:0},TA.TA_GLOBALS_COMPATIBILITY=TA.TA_COMPATIBILITY_DEFAULT,TA.MATypes={SMA:0,EMA:1,WMA:2,DEMA:3,TEMA:4,TRIMA:5,KAMA:6,MAMA:7,T3:8},TA.TA_IS_ZERO=function(t){return-1e-8 0.0 ) ad += (((close-low)-(high-close))/tmp)*(dataShape[today][TA.VOL]); today++; }",fastk=TA.PER_TO_K(this.Settings.FastPeriod),one_minus_fastk=1-fastk,slowk=TA.PER_TO_K(this.Settings.SlowPeriod),one_minus_slowk=1-slowk;for(eval(CALCULATE_AD),fastEMA=ad,slowEMA=ad;today "+a+" ) "+a+" = tempReal2; tempReal2 = Math.abs("+e+"-"+i+"); if( tempReal2 > "+a+" ) "+a+" = tempReal2;"}if(this.SetSettings(settings),startIdx=startIdx||0,endIdx=endIdx||dataShape.length-1,startIdx<0)throw"TA_OUT_OF_RANGE_START_INDEX";if(endIdx<0||endIdx=dataShape.length)throw _t("","Ошибка расчета ADX");if(outReal.length<=dataShape.length)for(;outReal.length!=dataShape.length;)outReal.unshift(0)}}return outReal},TA.ADX.getValue=function(t,e,i){},TA.ADX._lookback=function(){return 2*this.Settings.TimePeriod-1},TA.ADX._S=function(t,e,i,a){},TA.ADX.initChart=function(t,e,i){TA.INDICATOR_TEMPLATE.initChart.apply(this,arguments)},TA.ADX.SetSettings(TA.ADX.DefaultSettings),APO=TA.INDICATOR_TEMPLATE?TA.INDICATOR_TEMPLATE.Create():{},APO.name="APO",APO.type="line",APO.DefaultSettings={FastPeriod:12,SlowPeriod:26,MAType:TA.MATypes.SMA,CandleValueIdx:TA.CLOSE},APO.Settings={},APO._S=function(t,e,i,a){},APO.initChart=function(t,e,i){INDICATOR_TEMPLATE&&INDICATOR_TEMPLATE.initChart.apply(this,arguments)},APO.SetSettings(APO.DefaultSettings),APO._lookback=function(t,e,i){if(t){if(t<2||1e5 "+a+" ) "+a+" = tempReal2; tempReal2 = Math.abs("+e+"-"+i+"); if( tempReal2 > "+a+" ) "+a+" = tempReal2;"}if(this.SetSettings(settings),startIdx<0)throw"TA_OUT_OF_RANGE_START_INDEX";if(endIdx<0||endIdxd&&(d=i[c][TA.HIGH]);r.push(d)}if(o "+a+" ) "+a+" = tempReal2; tempReal2 = Math.abs("+e+"-"+i+"); if( tempReal2 > "+a+" ) "+a+" = tempReal2;"}if(this.SetSettings(settings),startIdx<0)throw"TA_OUT_OF_RANGE_START_INDEX";if(endIdx<0||endIdxthis.Settings.Maximum&&(d=this.Settings.Acceleration=this.Settings.Maximum),r=0this.Settings.Maximum)?this.Settings.Maximum:d)*(p-u))?c:u)&&(u=h)):u<=o?(r=1,h<(u=c<(u=p)?c:u)&&(u=h),g[n++]=u,h<(u=c<(u+=(d=this.Settings.Acceleration)*((p=o)-u))?c:u)&&(u=h)):(g[n++]=u,(u=(u+=(d=hthis.Settings.Maximum)?this.Settings.Maximum:d)*(p-u))>1)+1)*(o+1)),l=(d=(c=t-a)+o)+o,s=r=0,o=d;c<=o;o--)r+=s+=u=i[o][this.Settings.CandleValueIdx];for(n=0,o=++d;o<=l;o++)r+=n+=u=i[o][this.Settings.CandleValueIdx];for(h=0,u=i[c++][this.Settings.CandleValueIdx],g[h++]=r*p,l++;l<=e;)r-=s,s=(s-=u)+(u=i[d++][this.Settings.CandleValueIdx]),r+=n,n=(n-=u)+(u=i[l++][this.Settings.CandleValueIdx]),r+=u,u=i[c++][this.Settings.CandleValueIdx],g[h++]=r*p}else{for(p=1/(p=(o=this.Settings.TimePeriod>>1)*(o+1)),l=(d=(c=t-a)+o-1)+o,s=r=0,o=d;c<=o;o--)r+=s+=u=i[o][this.Settings.CandleValueIdx];for(n=0,o=++d;o<=l;o++)r+=n+=u=i[o][this.Settings.CandleValueIdx];for(h=0,u=i[c++][this.Settings.CandleValueIdx],g[h++]=r*p,l++;l<=e;)r-=s,s=(s-=u)+(u=i[d++][this.Settings.CandleValueIdx]),r+=n-=u,n+=u=i[l++][this.Settings.CandleValueIdx],r+=u,u=i[c++][this.Settings.CandleValueIdx],g[h++]=r*p}return g},TA.INDICATOR_TEMPLATE?TA.TYPPRICE=TA.INDICATOR_TEMPLATE.Create():TA.TYPPRICE={},TA.TYPPRICE.name="TYPPRICE",TA.TYPPRICE.type="line",TA.TYPPRICE.DefaultSettings={},TA.TYPPRICE.Settings={},TA.TYPPRICE._lookback=function(){return 0},TA.TYPPRICE.calculate=function(t,e,i,a){var r,s,n=[];if(t<0)throw"TA_OUT_OF_RANGE_START_INDEX";if(e<0||e").get(0),t=iChart.getContext(t),i=t.createLinearGradient(0,0,80,0),a=(i.addColorStop(1,"#016D06"),i.addColorStop(.5,"#FF9B08"),i.addColorStop(0,"#FF1608"),t.fillStyle=i,t.fillRect(0,0,80,1),t.getImageData(0,0,80,1)),r=[],s=0;s",{class:"m-chart-legend-color"}).css({"background-color":s}).html(" ")).add($("",{class:"m-chart-legend-name"}).css({color:s}).text(t.name+r+i));return[[0,$("
").append(n).html(),t.name+r+i]]},iChart.Charting.TA.prototype.BBANDS=function(t,e,i){if(t){var t="BBANDS",i=i||this.getDefaultParams(t),a=this.getData(),r=TA[t].justifyCalculate(0,a.length-1,a,i),s=this.createSeries(t,e);s[0].labels=this.getLabels(s[0],i," Upper"),s[0].params=i;for(var n=0;n=e[0].x;d--){var o={index:d,time:t[d][TA.FULLTIME],h:t[d][TA.HIGH],l:t[d][TA.LOW],o:t[d][TA.OPEN],c:t[d][TA.CLOSE],av1:(t[d][TA.OPEN]+t[d][TA.CLOSE])/2,av2:(t[d][TA.HIGH]+t[d][TA.LOW])/2},p=iChart.getThirdPoint({x:e[0].x,y:e[0].y},{x:e[1].x,y:e[1].y},d);o.dh=Math.abs(p.y-o.h),o.dl=Math.abs(p.y-o.l),o.do=Math.abs(p.y-o.o),o.dc=Math.abs(p.y-o.c),o.dav1=Math.abs(p.y-o.av1),o.dav2=Math.abs(p.y-o.av2),d==e[2].x||d==e[3].x?(h.push(o),n=$.extend({},o),l=!0,d--):$.isEmptyObject(n)?(n=$.extend({},o),o[s]/cn[s]&&!l&&n[s]/cn[s]&&l&&.15m[0][2]&&(y=e.x),f=Math.floor(Math.max(f,v)),t=Math.ceil(Math.min(t,y,this.chart.areas[0].xSeries.length-1,v?i.length+15:i.length+30)),!1),x=[],T=!1,S=[];if(n){for(var A=m[3][2];f<=A;A--){var w=iChart.getThirdPoint({x:m[1][2],y:m[1][1]},{x:m[3][2],y:m[3][1]},A),P=((C=Math.max(i[A][TA.OPEN],i[A][TA.CLOSE])P.y&&(T=!0)}x[1]=iChart.getThirdPoint({x:m[1][2],y:m[1][1]},{x:m[3][2],y:m[3][1]},t),x[1].time=1e3*this.chart.areas[0].xSeries[t],x[2]={x:m[1][2],y:m[1][1],time:m[1][0]},x[3]={x:m[3][2],y:m[3][1],time:m[3][0]},S[1]=iChart.getThirdPoint({x:m[0][2],y:m[0][1]},{x:m[2][2],y:m[2][1]},t),S[1].time=1e3*this.chart.areas[0].xSeries[t],S[2]={x:m[0][2],y:m[0][1],time:m[0][0]},S[3]={x:m[2][2],y:m[2][1],time:m[2][0]}}else{for(A=m[3][2];f<=A;A--){w=iChart.getThirdPoint({x:m[0][2],y:m[0][1]},{x:m[2][2],y:m[2][1]},A),P=(C||(w.time=i[A][TA.FULLTIME],x[0]=w),(Math.max(i[A][TA.OPEN],i[A][TA.CLOSE])P.y?!0:T)||(P.time=i[A][TA.FULLTIME],S[0]=P)}x[1]=iChart.getThirdPoint({x:m[0][2],y:m[0][1]},{x:m[2][2],y:m[2][1]},t),x[1].time=1e3*this.chart.areas[0].xSeries[t],x[2]={x:m[0][2],y:m[0][1],time:m[0][0]},x[3]={x:m[2][2],y:m[2][1],time:m[2][0]},S[1]=iChart.getThirdPoint({x:m[1][2],y:m[1][1]},{x:m[3][2],y:m[3][1]},t),S[1].time=1e3*this.chart.areas[0].xSeries[t],S[2]={x:m[1][2],y:m[1][1],time:m[1][0]},S[3]={x:m[3][2],y:m[3][1],time:m[3][0]}}u(i,x),u(i,S);return{extremeSupports:g(i,x,"support","l",.05),extremeResist:g(i,S,"resist","h",.05),supportPoints:x,resistPoints:S,points:m,lastPoint:{x:i.length-1,y:i[i.length-1][TA.CLOSE],time:i[i.length-1][TA.FULLTIME]}}}return!1},iChart.Charting.TA.prototype.autoResistSupport=function(t,e){t=!!t;var i=this.analyseResistSupport(8,e);if(i){this.clearResistSupport();if((2',closeClass:"uk-icon-close",escClose:!0,overlayClose:!1,fixed:!0,position:null,persist:!1,draggable:!1,modal:!0,onOpen:null,onShow:null,onClose:null},a.modal.impl={d:{},init:function(t,e){var i=this;if(!i.d.data){if(n.ieQuirks=n.msie&&!n.boxModel,i.o=a.extend({},a.modal.defaults,e),i.zIndex=i.o.zIndex,i.occb=!1,"object"==typeof t)t=t instanceof a?t:a(t),i.d.placeholder=!1,0").attr("id","simplemodal-placeholder").css({display:"none"})),i.d.placeholder=!0,i.display=t.css("display"),i.o.persist||(i.d.orig=t.clone(!0)));else{if("string"!=typeof t&&"number"!=typeof t)return alert("SimpleModal Error: Unsupported data type: "+typeof t),i;t=a("
").html(t)}i.create(t),t=null,i.open(),a.isFunction(i.o.onShow)&&i.o.onShow.apply(i,[i.d])}return i},create:function(t){var e=this;e.getDimensions(),e.o.modal&&n.ie6&&(e.d.iframe=a('').css(a.extend(e.o.iframeCss,{display:"none",opacity:0,position:"fixed",height:h[0],width:h[1],zIndex:e.o.zIndex,top:0,left:0})).appendTo(e.o.appendTo)),e.d.overlay=a("
").attr("id",e.o.overlayId).addClass("simplemodal-overlay").css(a.extend(e.o.overlayCss,{display:"none",opacity:e.o.opacity/100,height:e.o.modal?i[0]:0,width:e.o.modal?i[1]:0,position:"fixed",left:0,top:0,zIndex:e.o.zIndex+1})).appendTo(e.o.appendTo),e.d.container=a("
").attr("id",e.o.containerId).addClass("simplemodal-container").css(a.extend({position:e.o.fixed?"fixed":"absolute"},e.o.containerCss,{display:"none",zIndex:e.o.zIndex+2})).append(e.o.close&&e.o.closeHTML?a(e.o.closeHTML).addClass(e.o.closeClass):"").appendTo(e.o.appendTo),e.d.title=a("
").attr("id",e.o.titleId).addClass("simplemodal-title").css(a.extend({},e.o.titleCss)).append(e.o.title).appendTo(e.d.container),e.d.wrap=a("
").attr("tabIndex",-1).addClass("simplemodal-wrap").appendTo(e.d.container),e.d.data=t.attr("id",t.attr("id")||e.o.dataId).addClass("simplemodal-data").css(a.extend(e.o.dataCss,{display:"none"})).appendTo("body"),t=null,e.setContainerDimensions(),e.d.data.appendTo(e.d.wrap),e.o.draggable&&"function"==typeof e.d.container.draggable&&e.d.container.draggable({handle:e.d.title,snap:!1}),(n.ie6||n.ieQuirks)&&e.fixIE()},bindEvents:function(){var e=this;a("."+e.o.closeClass).bind("click.simplemodal",function(t){t.preventDefault(),e.close()}),e.o.modal&&e.o.close&&e.o.overlayClose&&e.d.overlay.bind("click.simplemodal",function(t){t.preventDefault(),e.close()}),r.bind("keydown.simplemodal",function(t){e.o.modal&&9===t.keyCode?e.watchTab(t):e.o.close&&e.o.escClose&&27===t.keyCode&&(t.preventDefault(),e.close())}),s.bind("resize.simplemodal orientationchange.simplemodal",function(){e.getDimensions(),e.o.autoResize?e.setContainerDimensions():e.o.autoPosition&&e.setPosition(),n.ie6||n.ieQuirks?e.fixIE():e.o.modal&&(e.d.iframe&&e.d.iframe.css({height:h[0],width:h[1]}),e.d.overlay.css({height:i[0],width:i[1]}))})},unbindEvents:function(){a("."+this.o.closeClass).unbind("click.simplemodal"),r.unbind("keydown.simplemodal"),s.unbind(".simplemodal"),this.d.overlay.unbind("click.simplemodal")},fixIE:function(){var t=this,m=t.o.position;a.each([t.d.iframe||null,t.o.modal?t.d.overlay:null,"fixed"===t.d.container.css("position")?t.d.container:null],function(t,e){var i,a,r,s,n,o,h,l,c,d,p,u,g;e&&(i="document.body.clientHeight",a="document.body.clientWidth",p="document.body.scrollHeight",r="document.body.scrollLeft",s="document.body.scrollTop",n="document.body.scrollWidth",o="document.documentElement.clientHeight",h="document.documentElement.clientWidth",l="document.documentElement.scrollLeft",c="document.documentElement.scrollTop",(d=e[0].style).position="absolute",t<2?(d.removeExpression("height"),d.removeExpression("width"),d.setExpression("height",p+" > "+i+" ? "+p+" : "+i+' + "px"'),d.setExpression("width",n+" > "+a+" ? "+n+" : "+a+' + "px"')):(m&&m.constructor===Array?(g=-1===(t=m[0]?"number"==typeof m[0]?m[0].toString():m[0].replace(/px/,""):e.css("top").replace(/px/,"")).indexOf("%")?t+" + (t = "+c+" ? "+c+" : "+s+') + "px"':parseInt(t.replace(/%/,""))+" * (("+o+" || "+i+") / 100) + (t = "+c+" ? "+c+" : "+s+') + "px"',m[1]&&(u=-1===(p="number"==typeof m[1]?m[1].toString():m[1].replace(/px/,"")).indexOf("%")?p+" + (t = "+l+" ? "+l+" : "+r+') + "px"':parseInt(p.replace(/%/,""))+" * (("+h+" || "+a+") / 100) + (t = "+l+" ? "+l+" : "+r+') + "px"')):(g="("+o+" || "+i+") / 2 - (this.offsetHeight / 2) + (t = "+c+" ? "+c+" : "+s+') + "px"',u="("+h+" || "+a+") / 2 - (this.offsetWidth / 2) + (t = "+l+" ? "+l+" : "+r+') + "px"'),d.removeExpression("top"),d.removeExpression("left"),d.setExpression("top",g),d.setExpression("left",u)))})},focus:function(t){var e=this,t=t&&-1!==a.inArray(t,["first","last"])?t:"first",i=a(":input:enabled:visible:"+t,e.d.wrap);setTimeout(function(){(0").css({"border-collapse":"collapse",position:"relative",width:+e.columns*(+e.size+2)+"px",margin:0,padding:0,border:0,outline:0,"text-decoration":"none","font-size":"100%","list-style":"none"}),r=0;r"),n=0;n",{class:"palette-item"}).attr("data-color",e.palette[r*e.columns+n]).css({width:e.size,height:e.size,"background-color":e.palette[r*e.columns+n]});s.append(o)}a.append(s)}a.on("click","td",function(){e.value=h(this).data("color"),e.change.call(e)}),this.append(a).css({position:"relative","line-height":0,"border-width":0,display:"inline-block"}),this.data("palette",e)}};h.fn.palette=function(i){var a,t;return void 0===i||"object"==typeof i?this.each(function(t){var e=h(this);return l.init.call(e,i,t),e}):"string"==typeof i?(a=Array.prototype.slice.call(arguments,1),l[i]&&"function"==typeof l[i]?a.length?this.each(function(t){var e=h(this);return l[i].call(e,a),e}):(t=h(this).eq(0),l[i].call(t,a)):console.error("Method should be function")):console.error("Options should be object, string or undefined")}}(jQuery),"undefined"==typeof tzOffsetMoscow&&(tzOffsetMoscow=10800),"undefined"==typeof LANG_NAME&&(LANG_NAME="en"),"undefined"==typeof IGUANACHART_THEME&&(IGUANACHART_THEME="White"),"undefined"==typeof MOBILE_BROWSER_DETECTED&&(MOBILE_BROWSER_DETECTED=!1),Date.parse=function(t){var e,i;return t?(t instanceof Date?t:(e=t.match(/^\s*([0-9]{4})-([0-9]{2})-([0-9]{2})[\s|T]{0,1}(?:\s*(\d\d{0,1}):?(\d\d{0,1})(?::?(\d\d{0,1}))?(?:\.([0-9]{0,3}))?)?\s*$/))?(i=new Date(e[1],e[2]-1,e[3]),void 0!==e[4]&&void 0!==e[5]&&i.setHours(e[4],e[5],e[6]||0,e[7]||0),i):(e=t.match(new RegExp("^\\s*([0-9]{1,2})(?:.|-|/|\\s)([0-9]{1,2})(?:.|-|/|\\s)([0-9]{4})(?:\\s*([0-9]{1,2}):?([0-9]{1,2})(?::?([0-9]{1,2}))?)?\\s*$")))?(i=new Date(e[3],e[2]-1,e[1]),void 0!==e[4]&&void 0!==e[5]&&i.setHours(e[4],e[5],e[6]||0),i):new Date(t)).getTime():null},"undefined"==typeof _t&&(_.data={},_t=function(t,e,i){var a="",r=!1,s="object"==typeof i&&void 0!==i.QTY&&-1!=e.indexOf("||");return void 0!==(a=_(t,e))&&a!=e||(a=e,r=!0),s&&(a=translateGetPluralForm(a,i.QTY,r?"ru":LANG_NAME)),"object"==typeof i&&$.each(i,function(t,e){a=a.replace(new RegExp("%"+t+"%","g"),e)})," "+a+" "}),void 0===String.prototype.hashCode&&(String.prototype.hashCode=function(){var t,e,i=0;if(0!=this.length)for(t=0,e=this.length;t=this.length))for(var i=e=e<0?Math.max(0,this.length+e):e;i=t?r-t+s:0,t=new Array(r+1).join("0"),r=i+a;return(e||"")+(s?r=t+r:r+=t).substr(0,n+=s?t.length:0)+(n=e)return a;if(t[r]e)return-1;if(t[r]<=e)return r;for(;a<=r;){if(a===r)return a;if(a===r-1)return t[r]<=e?r:a;t[i=Math.floor((a+r)/2)]>e?r=i-1:a=i}return i},iChart.Charting.getNearestNotNullIndex=function(t,e){for(var i,a=i=e;;){if($.isArray(t[a])){if(null!=t[a][0])return a}else if(null!=t[a])return a;if($.isArray(t[i])){if(null!=t[i][0])return i}else if(null!=t[i])return i;if(0t.length-1)return!1}},iChart.Charting.initCanvas=function(t,e,i,a){if(t){var r=Math.max(window.devicePixelRatio||1,1);if(i*=r,a*=r,e){if(e.width===i&&e.height===a)return e;if("undefined"==typeof FlashCanvas)return e.width=i,e.height=a,e.getContext("2d").scaled=0,e;$(e).remove()}r=document.createElement("canvas");if(r.style.left=0,r.style.position="absolute",r.style.top=0,$(r).unbind("selectstart"),$(r).attr("unselectable","on").css("user-select","none").on("selectstart",!1),t.appendChild(r),void 0===r.getContext){if("undefined"==typeof FlashCanvas)return alert(_t("87550","Ваш браузер не поддерживается.")),null;FlashCanvas.initElement(r)}return r.width=i,r.height=a,r}console.log("No chart container. Abort")},iChart.Charting.pointToPointDistanceSquared=function(t,e){var i=t.x-e.x,t=t.y-e.y;return i*i+t*t},iChart.Charting.pointToSegmentDistanceSquared=function(t,e,i){var a,r=(e.x-t[0].x)*(t[1].x-t[0].x)+(e.y-t[0].y)*(t[1].y-t[0].y);return r<0?i?1/0:iChart.Charting.pointToPointDistanceSquared(e,t[0]):(a=iChart.Charting.pointToPointDistanceSquared(t[1],t[0]))=r.innerOffset.left&&i.left<=r.innerOffset.left+r.innerWidth)||a.x,a.y=(a[n].y=i.top>=r.innerOffset.top&&i.top<=r.innerOffset.top+r.innerHeight)||a.y);a.x&&a.y&&(0===(r=this.chart.areas[0]).xSeries.length||(s=r.getXIndex(i.left-r.innerOffset.left))r.viewport.x.bounded.max||(this.xIndex=Math.max(r.viewport.x.bounded.min,Math.min(r.viewport.x.bounded.max,Math.round(s))),this.xPoint=Math.round(this.area.getXPositionByIndex(this.xIndex)),this.yPoint=this.prevY,t.save(),t.translate(.5,.5),this.drawCrossLines(t),t.restore()))},iChart.Charting.ChartWidgetLayer.prototype.drawCrossLines=function(t,e,i){for(var a=this.chart.areas,r=this.chart.chartOptions.legendAlign,s=0;s=n.innerOffset.top&&this.yPoint<=n.innerOffset.top+n.innerHeight&&(t.setLineDash&&t.setLineDash([4,3]),t.moveTo(n.offset.left,this.yPoint),t.lineTo(n.offset.left+n.innerWidth,this.yPoint)),t.stroke(),t.closePath(),t.restore(),this.yPoint>=n.innerOffset.top&&this.yPoint<=n.innerOffset.top+n.innerHeight&&(g=(g=n.getYValue(this.yPoint-n.offset.top))<100?iChart.formatNumber(g,{decimalPlaces:null,decimalPrecision:6,scale:0}):iChart.formatNumber(g,{decimalPlaces:2,decimalPrecision:null,scale:0}),h=n.offset.left+n.innerWidth,p=this.yPoint,t.fillStyle=this.chart.chartOptions.labelColor,t.fillRect(h+8,p-8,t.measureText(g).width+10,15),t.beginPath(),t.moveTo(h+9,p-9),t.lineTo(h+9,p+8),t.lineTo(h,p),t.lineTo(h+9,p-9),t.lineTo(h+9,p+8),t.closePath(),t.fill(),t.font="normal 10px Verdana,Tahoma,Geneva,Arial,Sans-serif",t.textAlign="left",t.textBaseline="top",t.fillStyle=this.chart.chartOptions.labelFontColor,t.fillText(g,h+8,p-6))),t.save();var o,h,l,c,d,p=new Date(1e3*n.xSeries[this.xIndex]);0!=s||n.isLayer||(l=iChart.formatDateTime(p,this.chart.dateFormat).split("\n"),c=t.measureText(l[0]+" "+l[1]).width,t.fillStyle=this.chart.chartOptions.labelColor,t.fillRect(this.xPoint-Math.round(c/2)-4,n.offset.top+n.innerHeight+2,c+4,12),t.fillStyle=this.chart.chartOptions.labelFontColor,t.font="normal 8px Verdana,Tahoma,Geneva,Arial,Sans-serif",t.textAlign="left",t.textBaseline="top",t.fillText(l[0]+" "+l[1],this.xPoint-Math.round(c/2),n.offset.top+n.innerHeight+3)),n.isLayer||(t.fillStyle=this.chart.chartOptions.backgroundColor,"top"===r?t.fillRect(n.offset.left,o,100,15):t.fillRect(n.offset.left,o+n.innerHeight-15,100,15),t.font="normal 10px Verdana,Tahoma,Geneva,Arial,Sans-serif",t.textAlign="left",t.textBaseline="top",d=iChart.formatDateTime(p,"dd.MM.yyyy"+(this.chart.showTime()?" HH:mm":"")),n.textOffset+=t.measureText(d).width+20,t.fillStyle=this.chart.chartOptions.labelColor,"top"===r?t.fillText(d,n.offset.left,o):t.fillText(d,n.offset.left,o+n.innerHeight-12));for(var u=0;u=m.innerOffset.top&&this.yPoint<=m.innerOffset.top+m.innerHeight&&(a=m.ySeries[0],p=!0,s=(r=this.chart.chartOptions.floatingLegendFontSize)/2,t.font="normal "+r+"px Verdana,Tahoma,Geneva,Arial,Sans-serif",t.textAlign="left",t.textBaseline="top",n=m.ySeries[0].points[this.xIndex],h="HLOC"==a.kind?(o=t.measureText(_t("21962","open:")+n[2]).width,h=t.measureText(_t("21963","close:")+n[3]).width,l=t.measureText(_t("21964","low:")+n[1]).width,d=t.measureText(_t("21965","high:")+n[0]).width,o=Math.max(o,h,l,d)+10,4*(r+2)+s):(o=t.measureText(a.name+": "+iChart.formatNumber(n[a.closeValueIndex],a.formatProvider)).width+10,r+2+s),l=m.getYPosition(n[a.closeValueIndex])+m.innerOffset.top,d=9*((p=this.xPoint>(m.offset.left+m.innerWidth)/2?!1:p)?1:-1),p=p?this.xPoint+d:this.xPoint-o+d,u=0,(c=l-20)+h>m.innerOffset.top+m.innerHeight&&(u=c+h-(m.innerOffset.top+m.innerHeight)),t.fillStyle=this.chart.chartOptions.floatingLegendBorderColor,t.beginPath(),t.moveTo(this.xPoint+d,l-9),t.lineTo(this.xPoint+d,l+8),t.lineTo(this.xPoint,l),t.lineTo(this.xPoint+d,l-9),t.lineTo(this.xPoint+d,l+8),t.closePath(),t.fill(),t.lineWidth=1,t.strokeStyle=this.chart.chartOptions.floatingLegendBorderColor,t.beginPath(),t.moveTo(p+5,c-u),t.lineTo(p+o-5,c-u),t.quadraticCurveTo(p+o,c-u,p+o,c-u+5),t.lineTo(p+o,c-u+h-5),t.quadraticCurveTo(p+o,c-u+h,p+o-5,c-u+h),t.lineTo(p+5,c-u+h),t.quadraticCurveTo(p,c-u+h,p,c-u+h-5),t.lineTo(p,c-u+5),t.quadraticCurveTo(p,c-u,p+5,c-u),t.closePath(),t.stroke(),t.fillStyle=this.chart.chartOptions.floatingLegendBackground,t.fill(),t.fillStyle=this.chart.chartOptions.floatingLegendTextColor,"HLOC"==a.kind?(g=c-u+s,t.fillText(_t("21962","open:")+n[2],p,g),t.fillText(_t("21963","close:")+n[3],p,g+r+2),t.fillText(_t("21964","low:")+n[1],p,g+2*r+2),t.fillText(_t("21965","high:")+n[0],p,g+3*r+2)):(g=c-u+s,t.fillText(a.name+": "+iChart.formatNumber(n[a.closeValueIndex],a.formatProvider),p,g)))}t.restore()}}(),!function(){"use strict";iChart.Charting.ChartAreaLayer=function(t){this.$deleteButton=$("",{class:"m-chart-instrument-delete",text:"✕",title:_t("87551","Удалить инструмент")}).hide().appendTo(t.container),this.$settingsButton=$("").hide(),this.$settingsButton.attr("title",_t("87552","Свойства")),this.$settingsButton.appendTo(t.container),this.canvas=null,this.chart=t,this.defaultCursor="default",this.drag=null,this.history=[],this.hover=null,this.controlsHover=null,this.prevX=null,this.prevY=null,this.selected=null,this.unfinished=null,this.isRenderAfterInitCanvas=!1},iChart.Charting.ChartAreaLayer.prototype.clear=function(t){if(t=!!t,this.history.length){if(t)this.$deleteButton.hide().removeClass("on"),this.$settingsButton.hide(),this.history=[];else for(var e=this.history,i=0;i=e))for(var a=1;a=e)return r[1]}},iChart.Charting.ChartAreaLayer.prototype.onMouseDown=function(t){},iChart.Charting.ChartAreaLayer.prototype.onMouseMove=function(t){},iChart.Charting.ChartAreaLayer.prototype.onMouseUp=function(t){},iChart.Charting.ChartAreaLayer.prototype.remove=function(t){t=this.history.indexOf(t);-1!==t&&(this.$deleteButton.unbind("mousedown").hide().removeClass("on"),this.$settingsButton.unbind("mousedown").hide(),this.history.splice(t,1),this.render(),this.syncHash())},iChart.Charting.ChartAreaLayer.prototype.removeSelected=function(t){null===this.selected||t?this.remove(t):this.remove(this.selected)},iChart.Charting.ChartAreaLayer.prototype.render=function(t){if(!t){if(!this.context)return void(this.isRenderAfterInitCanvas=!0);var e=getElementSize((t=this.context).canvas);t.clearRect(0,0,e.width,e.height)}t.save(),t.translate(this.area.innerOffset.left+.5,this.area.innerOffset.top+.5),t.beginPath(),t.moveTo(0,this.area.innerHeight),t.lineTo(this.area.innerWidth,this.area.innerHeight),t.lineTo(this.area.innerWidth,0),t.lineTo(0,0),t.closePath(),t.clip(),void 0!==t.busyPoints&&(t.busyPoints={}),this.history.sort(function(t,e){return t.selected?1:t.inHover&&e.selected?-1:!t.inHover||e.inHover||e.selected?void 0:1});for(var i=0;i",{class:"m-chart-instrument-delete",text:"✕",title:_t("87551","Удалить инструмент")}).hide().appendTo(t.container),this.$settingsButton=$("").hide(),this.$settingsButton.attr("title",_t("87552","Свойства")),this.$settingsButton.appendTo(t.container),this.canvas=null,this.chart=t,this.defaultCursor="default",this.drag=null,this.history=[],this.hover=null,this.controlsHover=null,this.prevX=null,this.prevY=null,this.selected=null,this.unfinished=null,this.isRenderAfterInitCanvas=!1,$(t.container).off("mousedown.overlay").unbind("mouseup.overlay").unbind("mousemove.overlay"),$(t.container).on("mousedown.overlay",$.proxy(this.onMouseDown,this)).on("mouseup.overlay",$.proxy(this.onMouseUp,this)).on("mousemove.overlay",$.proxy(this.onMouseMove,this)),t=(0==this.chart.env.dataSource.dataSettings.useHash?this.chart.env.dataSource.dataSettings:document.location).hash,this.deserialize(iChart.parseQueryString((t||"#").substr(1)))},iChart.Charting.ChartDrawingLayer.prototype.clear=function(t){if(t=!!t,this.history.length){if(t)this.$deleteButton.hide().removeClass("on"),this.$settingsButton.hide(),this.history=[];else for(var e=this.history,i=0;i=e))for(var a=1;a=e)return r[1]}},iChart.Charting.ChartDrawingLayer.prototype.onMouseDown=function(t){if(void 0!==this.offset){var e=Math.round(t.pageX-this.offset.left-this.area.innerOffset.left),i=Math.round(t.pageY-this.offset.top-this.area.innerOffset.top),a=1e3*this.area.getXValue(e),r=this.area.getYValue(i);if($(window).data("mouseValueX",a),$(window).data("mouseValueY",r),this.chart.isComparison&&!isNaN(r)&&(s=iChart.Charting.getNearestNotNullIndex(this.chart.areas[0].ySeries[0].points,this.chart.areas[0].viewport.x.bounded.min),r=(s=this.chart.areas[0].ySeries[0].points[s][3])+s/100*r),!isNaN(a)&&!isNaN(r))if(null!==this.unfinished)this.finalizePoint(a,r),this.selected.onInsert();else if(0!==this.history.length&&null===this.drag){var s=this.elementAt(e,i);if(s&&s.value&&"function"==typeof s.value.onMouseDown&&s.value.onMouseDown(t,e,i),void 0===s)this.setSelected(null);else if(s.value.controlEnable){if(s.mode.toString().match(new RegExp("^m_","i"))){a=s.mode.toString().match(new RegExp(/^m_(\d)/i));s.value.maps[a[1]].click()}else{if(s.mode.toString().match(new RegExp("^c_","i")))return r=s.mode.toString().match(new RegExp(/^c_(\d)/i)),void s.value.controls[r[1]].click();s.mode.toString().match(new RegExp("^a_","i"))}this.setSelected(s.value),s.hasSettings,this.drag={},this.drag.element=this.selected,this.drag.mode=s.mode,this.drag.x=e,this.drag.y=i,this.chart.selection&&this.chart.selection.disable()}}}},iChart.Charting.ChartDrawingLayer.prototype.onMouseMove=function(t){if(void 0!==this.offset){var e=Math.round(t.pageX-this.offset.left-this.area.innerOffset.left),t=Math.round(t.pageY-this.offset.top-this.area.innerOffset.top);if(e!==this.prevX||t!==this.prevY){this.prevX=e,this.prevY=t;var i,a,r=1e3*this.area.getXValue(e),s=this.area.getYValue(t);if(this.prevValueX=r,this.prevValueY=s,this.chart.isComparison&&!isNaN(s)&&(i=iChart.Charting.getNearestNotNullIndex(this.chart.areas[0].ySeries[0].points,this.chart.areas[0].viewport.x.bounded.min),s=(i=this.chart.areas[0].ySeries[0].points[i][3])+i/100*s),isNaN(r)||isNaN(s))this.setHover(null),this.chart.container.style.cursor=this.defaultCursor;else{if(null===this.unfinished)return null!==this.drag?(isNaN(parseInt(this.drag.mode))||(void 0!==this.drag.element.moveCursor?this.chart.container.style.cursor=this.drag.element.moveCursor:this.chart.container.style.cursor="move"),i=e-this.drag.x,a=t-this.drag.y,0==i&&0==a?void 0:(i=this.getMarkers(i,a),this.drag.element.onDrag(i.markers),void(i.outside?void 0!==this.drag.element.markers&&(delete this.drag.element.markers,this.render()):(this.drag.element.markers=i.markers,this.render())))):void(void 0===(a=this.elementAt(e,t))?(this.setHover(null),this.setControlsHover(null),this.chart.container.style.cursor=this.defaultCursor):a.mode.toString().match(new RegExp("^c_","i"))?(this.chart.container.style.cursor="pointer",this.setControlsHover(a)):a.mode.toString().match(new RegExp("^a_","i"))?(this.setHover(null),this.setControlsHover(a),this.chart.container.style.cursor=this.defaultCursor):a.mode.toString().match(new RegExp("^m_","i"))?(a.mode.toString().match(new RegExp(/^m_(\d)/i)),this.setControlsHover(a),this.chart.container.style.cursor="pointer"):(this.setHover(a.value,e,t),this.setControlsHover(a),void 0!==a.value.hoverCursor||void 0!==a.value.hoverPointCursor?0=(s=i.maps[a])[0].x&&t<=s[1].x&&e>=s[0].y&&e<=s[1].y)return"m_"+a;for(a=0;a=(s=i.controls[a])[0].x&&t<=s[1].x&&e>=s[0].y&&e<=s[1].y)return"c_"+a;if(void 0!==i.elementArea){var o=i.elementArea;if(t>=o[0].x&&t<=o[1].x&&e>=o[0].y&&e<=o[1].y)return"a_0"}}return-1},iChart.Charting.ChartElement.prototype.remove=function(){this.onRemove(),this.layer.remove(this),delete this.layer,delete this.testContext},iChart.Charting.ChartElement.prototype.setTestSegments=function(){this.testContext.segments=[this.testContext.points],this.testContext.controls=[]}}(),!function(){"use strict";iChart.Charting.ChartChannel=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Channel",this.drawType="manually",this.maxPointCount=3,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartChannel,iChart.Charting.ChartElement),iChart.Charting.ChartChannel.prototype.drawInternal=function(t,e){e.length<2||(this.initDrawSettings(t,this.settings),t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke(),e.length<3)||(t.beginPath(),t.moveTo(e[2].x,e[2].y),t.lineTo(e[1].x+(e[2].x-e[0].x),e[1].y+(e[2].y-e[0].y)),t.stroke(),t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.lineTo(e[1].x+(e[2].x-e[0].x),e[1].y+(e[2].y-e[0].y)),t.lineTo(e[2].x,e[2].y),t.fill())},iChart.Charting.ChartChannel.prototype.setTestSegments=function(){this.testContext.segments=[this.testContext.points,[this.testContext.points[2],{x:this.testContext.points[1].x+(this.testContext.points[2].x-this.testContext.points[0].x),y:this.testContext.points[1].y+(this.testContext.points[2].y-this.testContext.points[0].y)}]]}}(),!function(){"use strict";iChart.Charting.ChartEllipse=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Ellipse",this.drawType="manually",this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartEllipse,iChart.Charting.ChartElement),iChart.Charting.ChartEllipse.prototype.drawInternal=function(t,e){var i,a,r;e.length<2||(i=Math.abs(e[1].y-e[0].y),r=Math.abs(e[1].x-e[0].x),i<=4)||r<=4||(a=(e[0].x+e[1].x)/2,e=(e[0].y+e[1].y)/2,r=2*r/3,this.initDrawSettings(t,this.settings),t.beginPath(),t.moveTo(a,e-i/2),t.bezierCurveTo(a-r,e-i/2,a-r,e+i/2,a,e+i/2),t.bezierCurveTo(a+r,e+i/2,a+r,e-i/2,a,e-i/2),t.fill(),t.stroke())},iChart.Charting.ChartEllipse.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[1].y}],[{x:this.testContext.points[0].x,y:this.testContext.points[1].y},this.testContext.points[1]],[this.testContext.points[1],{x:this.testContext.points[1].x,y:this.testContext.points[0].y}],[{x:this.testContext.points[1].x,y:this.testContext.points[0].y},this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartFibonacciArc=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="FibonacciArc",this.drawType="manually",this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartFibonacciArc,iChart.Charting.ChartElement),iChart.Charting.ChartFibonacciArc.prototype.drawInternal=function(t,e){if(!(e.length<2)){t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke();var i=Math.sqrt(iChart.Charting.pointToPointDistanceSquared(e[0],e[1]));if(!(i<=4))for(var a=[.382,.5,.618],r=0;re[1].y),t.stroke()}}}(),!function(){"use strict";iChart.Charting.ChartFibonacciCorrection=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="FibonacciCorrection",this.drawType="manually",this.percentages=[0,.382,.5,.618,.786,1,1.272,1.618],this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartFibonacciCorrection,iChart.Charting.ChartElement),iChart.Charting.ChartFibonacciCorrection.prototype.drawInternal=function(t,e){if(!(e.length<2)){t.save(),t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke();var i=e[1].y-e[0].y;if(!(Math.abs(i)<=4))for(var a=0;a=e[1].y,this===this.layer.selected&&(t.beginPath(),t.arc(e[0].x,e[0].y,i/4,0,r?2*Math.PI-a:a,r),t.stroke()),"function"==typeof t.strokeText&&(t.font="normal 15px Tahoma",t.fillStyle=t.strokeStyle,t.translate(-.5,-.5),r?(t.textBaseline="top",t.fillText(Math.round(180*a/Math.PI)+"°",e[0].x+18,e[0].y+3)):(t.textBaseline="bottom",t.fillText("-"+Math.round(180*a/Math.PI)+"°",e[0].x+18,e[0].y-3)),t.translate(.5,.5)))},iChart.Charting.ChartTrend.prototype.setTestSegments=function(){var t=Math.sqrt(iChart.Charting.pointToPointDistanceSquared(this.testContext.points[0],this.testContext.points[1]));this.testContext.segments=[this.testContext.points,[this.testContext.points[0],{x:this.testContext.points[0].x+t,y:this.testContext.points[0].y}]]}}(),!function(){"use strict";iChart.Charting.ChartTriangle=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Triangle",this.drawType="manually",this.maxPointCount=3,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartTriangle,iChart.Charting.ChartElement),iChart.Charting.ChartTriangle.prototype.drawInternal=function(t,e){e.length<2||(t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke(),e.length<3)||(t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.lineTo(e[2].x,e[2].y),t.lineTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.fill(),t.stroke())},iChart.Charting.ChartTriangle.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],this.testContext.points[1]],[this.testContext.points[1],this.testContext.points[2]],[this.testContext.points[2],this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartVerticalLine=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="VerticalLine",this.drawType="manually",this.maxPointCount=1,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartVerticalLine,iChart.Charting.ChartElement),iChart.Charting.ChartVerticalLine.prototype.drawInternal=function(t,e){e.length<1||(t.save(),t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,0),t.lineTo(e[0].x,getElementSize(t.canvas).height),t.stroke(),t.restore())},iChart.Charting.ChartVerticalLine.prototype.setTestSegments=function(){this.testContext.segments=[[{x:this.testContext.points[0].x,y:this.layer.area.innerOffset.top},{x:this.testContext.points[0].x,y:this.layer.area.innerOffset.top+this.layer.area.innerHeight}]]}}(),!function(){"use strict";iChart.Charting.ChartMark=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Mark",this.drawType="manually",this.maxPointCount=1,this.hasSettings=!0,this.hasPopupSettings=!0,this.settings={mark:"smileUp"},this.img={},this.img.up=new Image,this.img.up.src=this.layer.chart.env.lib_path+"/images/icon-up.png",this.img.left=new Image,this.img.left.src=this.layer.chart.env.lib_path+"/images/icon-left.png",this.img.leftUp=new Image,this.img.leftUp.src=this.layer.chart.env.lib_path+"/images/icon-leftUp.png",this.img.rightUp=new Image,this.img.rightUp.src=this.layer.chart.env.lib_path+"/images/icon-rightUp.png",this.img.smileUp=new Image,this.img.smileUp.src=this.layer.chart.env.lib_path+"/images/icon-smileUp.png",this.img.exclamation=new Image,this.img.exclamation.src=this.layer.chart.env.lib_path+"/images/icon-exclamation.png",this.img.buy=new Image,this.img.buy.src=this.layer.chart.env.lib_path+"/images/icon-buy.png",this.img.down=new Image,this.img.down.src=this.layer.chart.env.lib_path+"/images/icon-down.png",this.img.right=new Image,this.img.right.src=this.layer.chart.env.lib_path+"/images/icon-right.png",this.img.leftDown=new Image,this.img.leftDown.src=this.layer.chart.env.lib_path+"/images/icon-leftDown.png",this.img.rightDown=new Image,this.img.rightDown.src=this.layer.chart.env.lib_path+"/images/icon-rightDown.png",this.img.smileDown=new Image,this.img.smileDown.src=this.layer.chart.env.lib_path+"/images/icon-smileDown.png",this.img.question=new Image,this.img.question.src=this.layer.chart.env.lib_path+"/images/icon-question.png",this.img.sell=new Image,this.img.sell.src=this.layer.chart.env.lib_path+"/images/icon-sell.png",$("#elementSettings").remove()},inheritPrototype(iChart.Charting.ChartMark,iChart.Charting.ChartElement),iChart.Charting.ChartMark.prototype.drawInternal=function(t,e){var i;e.length<1||null!=this.settings&&(i=this.settings,i=this.img[i.mark],t.save(),t.translate(-.5,-.5),t.drawImage(i,e[0].x-i.width/2,e[0].y-i.height/2,i.width,i.height),t.restore(),$(".Mark-select").hide())},iChart.Charting.ChartMark.prototype.drawPopupSettings=function(t,e){$("#elementSettings").remove(),$('
').appendTo($(this.layer.chart.container));var i=e.x-$("#elementSettings.mark").width()+8,a=($("#elementSettings").css({left:this.layer.area.innerOffset.left+i,top:this.layer.area.innerOffset.top+e.y+15}),this);return $("#elementSettings .chartTool").off("mousedown").on("mousedown",function(t){t.stopPropagation(),t=$(this).data("settings"),a.setSettings(t),a.layer.render(),$("#elementSettings").remove()}),!1},iChart.Charting.ChartMark.prototype.drawPoints=function(t,e){},iChart.Charting.ChartMark.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[0].y}]]}}(),!function(){"use strict";iChart.Charting.ChartLabel=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Label",this.drawType="manually",this.maxPointCount=1,this.hasSettings=!0,this.hasPopupSettings=!0,this.settings=0,this.settings={text:"",size:12},this.sizes=[12,15,19],$("#elementSettings").remove()},inheritPrototype(iChart.Charting.ChartLabel,iChart.Charting.ChartElement),iChart.Charting.ChartLabel.prototype.drawString=function(t,e,i,a,r,s,n,o){var h=e.split("\n");n=n||0,o=o||"Arial,Helvetica,sans-serif",r=r||this.sizes[0],s=s||"#000000",t.save(),t.font=r+"px "+o,t.fillStyle=s,t.translate(i,a),t.rotate(n*Math.PI/180);for(var l=0;l
Размер шрифта:
[X]
').prependTo($(this.layer.chart.container).parent()),$("#elementSettings.label").css({"margin-left":e.x+2,"margin-top":e.y+2}),this);return $("#elementSettings .save").unbind("mousedown").mousedown(function(t){t.stopPropagation();t={text:$("#elementSettings.label textarea").val(),size:$("#elementSettings.label #elementSize").val()};$("#elementSettings.label textarea").val().length?o.setSettings(t):i(),$("#elementSettings.label").remove()}),$("#elementSettings.label .close").unbind("mousedown").mousedown(function(t){t.stopPropagation(),o.settings.text.length||i(),$("#elementSettings.label").remove()}),!1},iChart.Charting.ChartLabel.prototype.setTestSegments=function(){for(var t=this.layer.context,e=this.settings,i=e.size,a=(t.font=i+"px Arial,Helvetica,sans-serif",t.fillStyle="#000000",0),r=0,s=e.text.split("\n"),n=0;na&&(a=t.measureText(s[n]).width,r+=i);this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x+a,y:this.testContext.points[0].y}],[{x:this.testContext.points[0].x+a,y:this.testContext.points[0].y},{x:this.testContext.points[0].x+a,y:this.testContext.points[0].y+r}],[{x:this.testContext.points[0].x+a,y:this.testContext.points[0].y+r},{x:this.testContext.points[0].x,y:this.testContext.points[0].y+r}],[{x:this.testContext.points[0].x,y:this.testContext.points[0].y+r},this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartArrow=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Arrow",this.drawType="manually",this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartArrow,iChart.Charting.ChartElement),iChart.Charting.ChartArrow.prototype.drawInternal=function(t,e){var i,a,r,s,n;e.length<2||(t.save(),this.initDrawSettings(t,this.settings),i=e[0].x,a=e[0].y,r=e[1].y,e=e[1].x,s=2*(5+t.lineWidth),t.lineWidth,n=Math.atan2(r-a,e-i),t.beginPath(),t.moveTo(e,r),t.lineTo(e-s*Math.cos(n-Math.PI/6),r-s*Math.sin(n-Math.PI/6)),t.lineTo(e-s*Math.cos(n+Math.PI/6),r-s*Math.sin(n+Math.PI/6)),t.lineTo(e,r),t.lineTo(e-s*Math.cos(n-Math.PI/6),r-s*Math.sin(n-Math.PI/6)),t.fillStyle=t.strokeStyle,t.fill(),t.stroke(),t.beginPath(),t.moveTo(i,a),t.lineTo((e-s*Math.cos(n-Math.PI/6)+e-s*Math.cos(n+Math.PI/6))/2,(r-s*Math.sin(n-Math.PI/6)+r-s*Math.sin(n+Math.PI/6))/2),t.stroke(),t.restore())}}(),!function(){"use strict";iChart.Charting.ChartPolygon=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Polygon",this.drawType="manually",this.maxPointCount=4,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartPolygon,iChart.Charting.ChartElement),iChart.Charting.ChartPolygon.prototype.drawInternal=function(t,e){var i;e.length<2||(t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke(),e.length<3)||(t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.lineTo(e[2].x,e[2].y),e.length<4||(i=this.settings,t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke(),t.beginPath(),t.strokeStyle=i.strokeStyle2,t.lineTo(e[2].x,e[2].y),t.lineTo(e[3].x,e[3].y),t.stroke(),t.beginPath(),t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.lineTo(e[2].x,e[2].y),t.lineTo(e[3].x,e[3].y)),t.fill())},iChart.Charting.ChartPolygon.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],this.testContext.points[1]],[this.testContext.points[2],this.testContext.points[3]]]}}(),!function(){"use strict";iChart.Charting.ChartTrade=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Trade",this.drawType="manually",this.maxPointCount=1,this.hasSettings=!0,this.controlEnable=!1,this.id=0},inheritPrototype(iChart.Charting.ChartTrade,iChart.Charting.ChartElement),iChart.Charting.ChartTrade.prototype.drawInternal=function(t,e){e.length<1||(t.save(),t.beginPath(),t.arc(e[0].x,e[0].y,5,0,2*Math.PI,!0),1==this.settings.type_id||3==this.settings.type_id?t.fillStyle="#00ff00":t.fillStyle="#ff0000",t.inHover&&(t.fillStyle="#0000ff",t.stokeStyle="#000"),t.fill(),t.closePath(),""!==this.settings.qb&&(t.beginPath(),t.strokeStyle=t.fillStyle,t.moveTo(e[0].x+5,e[0].y),t.lineTo(getElementSize(t.canvas).width,e[0].y),t.closePath(),t.stroke()),2==this.settings.mode&&this.drawTradeLable(t,e[0].x,e[0].y,this.settings),t.globalAlpha=.3,t.lineWidth=1,t.stokeStyle="#eee",t.restore())},iChart.Charting.ChartTrade.prototype.drawTradeLable=function(t,e,i,a){for(var r=parseFloat(a.price),r=getTradeLabelText(a,r=r<100?iChart.formatNumber(r,{decimalPlaces:null,decimalPrecision:6,scale:0}):iChart.formatNumber(r,{decimalPlaces:2,decimalPrecision:null,scale:0})),s=(t.save(),t.font="normal 11px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.busyPoints=t.busyPoints||{},t.setLineDash&&t.setLineDash([5]),e+20),n=70,o=t.measureText(r).width+10,h=s+o,l=0,n=70;n<=this.layer.area.innerHeight;n+=30){for(var l=1,c=$.map(t.busyPoints,function(t,e){return t.y==n?t:null}),d=0;d=c[d].minX||h<=c[d].maxX&&h>=c[d].minX||e<=c[d].minX&&h>=c[d].maxX)&&(l=0);if(l)break}t.beginPath(),t.strokeStyle="#C5C5C5",t.fillStyle="rgba(238,238,238,0.5)",t.rect(s,n-10,o,20),t.fill(),t.moveTo(e,i+(i
');t=$("
"+(1===t.type_id?_t("4916","Покупка"):_t("4917","Продажа"))+"
"+_t("1510","Дата")+": "+(1440<=this.layer.chart._dataSettings.timeframe?t.date_time.substr(0,10):t.date_time)+"
"+_t("3728","Сделок")+": "+t.count+"
"+_t("1444","Количество")+": "+iChart.formatNumber(parseFloat(t.volume),{decimalPlaces:0,decimalPrecision:null,scale:0})+"
"+_t("1446","Сумма")+": "+(t.summ<100?iChart.formatNumber(parseFloat(t.summ),{decimalPlaces:null,decimalPrecision:6,scale:0}):iChart.formatNumber(parseFloat(t.summ),{decimalPlaces:2,decimalPrecision:null,scale:0}))+"
"+_t("1445","Цена")+": "+(t.price<100?iChart.formatNumber(parseFloat(t.price),{decimalPlaces:null,decimalPrecision:6,scale:0}):iChart.formatNumber(parseFloat(t.price),{decimalPlaces:2,decimalPrecision:null,scale:0}))+"
"+(0===parseFloat(t.profit)?"":0":"")+"
");$("[chart-element-tooltip] .qtip-content").html(t),$("[chart-element-tooltip]").css({top:Math.max(e-$("[chart-element-tooltip]").height()-12,0)+"px",left:i+12+"px"}).show()},iChart.Charting.ChartTrade.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[0].y}]]}}(),!function(){"use strict";iChart.Charting.ChartBubble=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Bubble",this.drawType="manually",this.maxPointCount=3,this.hasSettings=!0,this.hasPopupSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings,{text:""})},inheritPrototype(iChart.Charting.ChartBubble,iChart.Charting.ChartElement),iChart.Charting.ChartBubble.prototype.onInsert=function(){this.selected=!0;var t=this.getCoordinates(null,this.points);t.length<2||(this.settings.width=t[1].x-t[0].x,this.settings.height=t[1].y-t[0].y)},iChart.Charting.ChartBubble.prototype.drawInternal=function(t,e){e.length<2||(void 0!==this.markers?(e[1].x,e[0].x,e[1].y,e[0].y,this.settings.width=e[1].x-e[0].x,this.settings.height=e[1].y-e[0].y):this.settings.width&&this.settings.height&&(this.points[1].x=1e3*this.layer.area.getXValue(e[0].x+this.settings.width),this.points[1].y=this.layer.area.getYValue(e[0].y+this.settings.height),e[1].x=this.layer.area.getXPositionByValue(this.points[1].x/1e3),e[1].y=this.layer.area.getYPosition(this.points[1].y)),this.initDrawSettings(t,this.settings),this.drawBubble(t,e))},iChart.Charting.ChartBubble.prototype.drawBubble=function(t,e){var i,a,r,s=Math.abs(e[0].x-e[1].x),n=Math.abs(e[0].y-e[1].y),o=e[0].x2*u&&Math.abs(e[0].y-e[1].y)>2*u&&(e[2].xMath.min(e[0].x,e[1].x)&&e[2].yMath.min(e[0].y,e[1].y)||(Math.abs(e[0].x-e[2].x)Math.min(e[0].x,e[1].x)&&e[2].xMath.min(e[0].y,e[1].y)&&e[2].yMath.abs((l[0].y-e[2].y)*(h?1:-1)))?p=!0:d=!0,d?(a=Math.abs(l[0].y-e[2].y)*Math.sin(Math.PI/12),c=parseInt(s/6),r=parseInt(s-2*u),i=ae[1].x-u||!o&&Math.max(l[1].x,l[2].x)>e[0].x-u)&&(l[1].x=l[0].x-u,l[2].x=l[1].x-i)):p&&(a=Math.abs(l[0].x-e[2].x)*Math.sin(Math.PI/12),c=parseInt(n/6),r=parseInt(n-2*u),i=ae[1].y-u||!h&&Math.max(l[1].y,l[2].y)>e[0].y-u)&&(l[1].y=l[0].y-u,l[2].y=l[1].y-i)))),t.moveTo(e[0].x+(o?u:-u),e[0].y),d&&l[0].y==e[0].y&&(t.lineTo(o?Math.min(l[1].x,l[2].x):Math.max(l[1].x,l[2].x),l[1].y),t.lineTo(e[2].x,e[2].y),t.lineTo(o?Math.max(l[1].x,l[2].x):Math.min(l[1].x,l[2].x),l[2].y)),t.lineTo(e[1].x-(o?u:-u),e[0].y),t.quadraticCurveTo(e[1].x,e[0].y,e[1].x,e[0].y+(h?u:-u)),p&&l[0].x==e[1].x&&(t.lineTo(l[1].x,h?Math.min(l[1].y,l[2].y):Math.max(l[1].y,l[2].y)),t.lineTo(e[2].x,e[2].y),t.lineTo(l[1].x,h?Math.max(l[1].y,l[2].y):Math.min(l[1].y,l[2].y))),t.lineTo(e[1].x,e[1].y-(h?u:-u)),t.quadraticCurveTo(e[1].x,e[1].y,e[1].x-(o?u:-u),e[1].y),d&&l[0].y==e[1].y&&(t.lineTo(o?Math.max(l[1].x,l[2].x):Math.min(l[1].x,l[2].x),l[2].y),t.lineTo(e[2].x,e[2].y),t.lineTo(o?Math.min(l[1].x,l[2].x):Math.max(l[1].x,l[2].x),l[1].y)),t.lineTo(e[0].x+(o?u:-u),e[1].y),t.quadraticCurveTo(e[0].x,e[1].y,e[0].x,e[1].y-(h?u:-u)),p&&l[0].x==e[0].x&&(t.lineTo(l[1].x,h?Math.max(l[1].y,l[2].y):Math.min(l[1].y,l[2].y)),t.lineTo(e[2].x,e[2].y),t.lineTo(l[1].x,h?Math.min(l[1].y,l[2].y):Math.max(l[1].y,l[2].y))),t.lineTo(e[0].x,e[0].y+(h?u:-u)),t.quadraticCurveTo(e[0].x,e[0].y,e[0].x+(o?u:-u),e[0].y),t.closePath(),t.fill(),t.stroke(),this.drawText(t,e,u,""),t.restore()},iChart.Charting.ChartBubble.prototype.drawText=function(t,e,i,a){var r=Math.abs(e[0].x-e[1].x)-parseInt(2*i/3)-10,s=Math.abs(e[0].y-e[1].y)-parseInt(2*i/3)-10,n=Math.min(e[0].x,e[1].x)+parseInt(i/3)+5,e=Math.min(e[0].y,e[1].y)+parseInt(i/3)+5,i=this.settings;if(this.selected){var o=e,h=n+this.layer.area.innerOffset.left;$("#chart-bubble-text").is(":visible")?this.settings.text=$("#chart-bubble-text").val():(0==$("#chart-element-bubble").length&&$(this.layer.chart.container).append('
'),$("#chart-bubble-text").val("").focus().val(this.settings.text)),$("#chart-bubble-text").css({font:"normal "+this.settings.fontSize+"px/"+(parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5))+"px "+this.settings.fontFamaly,background:"rgba(230,230,230,.0)",color:this.settings.fontColor,overflow:"hidden",border:"0px solid red",width:r+"px",height:s+"px"}),$("#chart-element-bubble").css({top:o+"px",left:h-2+"px"}).show(),$("#chart-bubble-text").width(r-2).height(s-2),$("#chart-element-bubble").off("click mousedown drag dragstart").on("click mousedown drag dragstart",function(t){t.stopPropagation()})}else{a=i.text,t.save(),t.beginPath(),t.fillStyle=this.settings.fontColor,t.font="normal "+this.settings.fontSize+"px "+this.settings.fontFamaly,t.textAlign="left",t.textBaseline="top",t.rect(n,e,r,s),t.clip(),t.translate(n,e);for(var l=(a=a.replace(/\n/g," [%br%] ")).split(/\s/),c=l.length,d="",p=0+Math.round(parseInt(this.settings.fontSize)/10),u=parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5),g=0;g
'),$("#chart-bubble-text").css({font:"normal "+this.settings.fontSize+"px/"+(parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5))+"px "+this.settings.fontFamaly,background:"rgba(230,230,230,.0)",color:this.settings.fontColor,overflow:"hidden",border:"0px solid red"})),$("#chart-bubble-text").val("").focus().val(this.settings.text)},iChart.Charting.ChartBubble.prototype.onBlur=function(t){var e=this.settings;e.text=$("#chart-bubble-text").val(),this.setSettings(e),$("#chart-element-bubble").css({top:"-12000px",left:"-12000px"}).remove()},iChart.Charting.ChartBubble.prototype.onHover=function(t){this.selected&&(this.settings.text=$("#chart-bubble-text").val())},iChart.Charting.ChartBubble.prototype.onOut=function(t){this.selected&&(this.settings.text=$("#chart-bubble-text").val())},iChart.Charting.ChartBubble.prototype.onRemove=function(){$("#chart-element-bubble").css({top:"-12000px",left:"-12000px"}).hide()},iChart.Charting.ChartBubble.prototype.drawCheckPoint=function(t,e,i,a){t.strokeText(a,e,i),t.beginPath(),t.save(),t.strokeStyle="rgba(50,50,50,.4)",t.arc(e,i,40,0,2*Math.PI,!0),t.stroke(),t.beginPath(),t.lineWidth="3",t.arc(e,i,1,0,2*Math.PI,!0),t.stroke(),t.restore()},iChart.Charting.ChartBubble.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[1].y}],[{x:this.testContext.points[0].x,y:this.testContext.points[1].y},this.testContext.points[1]],[this.testContext.points[1],{x:this.testContext.points[1].x,y:this.testContext.points[0].y}],[{x:this.testContext.points[1].x,y:this.testContext.points[0].y},this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartText=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Text",this.drawType="manually",this.maxPointCount=2,this.hasSettings=!0,this.hasPopupSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings,{text:""})},inheritPrototype(iChart.Charting.ChartText,iChart.Charting.ChartElement),iChart.Charting.ChartText.prototype.onInsert=function(){this.selected=!0;var t=this.getCoordinates(null,this.points);t.length<2||(this.settings.width=t[1].x-t[0].x,this.settings.height=t[1].y-t[0].y)},iChart.Charting.ChartText.prototype.drawInternal=function(t,e){e.length<2||(void 0!==this.markers?(e[1].x,e[0].x,e[1].y,e[0].y,this.settings.width=e[1].x-e[0].x,this.settings.height=e[1].y-e[0].y):this.settings.width&&this.settings.height&&(this.points[1].x=1e3*this.layer.area.getXValue(e[0].x+this.settings.width),this.points[1].y=this.layer.area.getYValue(e[0].y+this.settings.height),e[1].x=this.layer.area.getXPositionByValue(this.points[1].x/1e3),e[1].y=this.layer.area.getYPosition(this.points[1].y)),this.initDrawSettings(t,this.settings),this.drawLabel(t,e))},iChart.Charting.ChartText.prototype.drawLabel=function(t,e){var i=Math.abs(e[0].x-e[1].x),a=Math.abs(e[0].y-e[1].y),r=e[0].x
'),$("#chart-bubble-text").val("").focus().val(this.settings.text)),$("#chart-bubble-text").css({font:"normal "+this.settings.fontSize+"px/"+(parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5))+"px "+this.settings.fontFamaly,background:"rgba(230,230,230,.0)",color:this.settings.fontColor,overflow:"hidden",border:"0px solid red",width:r+"px",height:s+"px"}),$("#chart-element-bubble").css({top:+o+"px",left:h-1+"px"}).show(),$("#chart-bubble-text").width(r-2).height(s-2),$("#chart-element-bubble").off("click mousedown drag dragstart").on("click mousedown drag dragstart",function(t){t.stopPropagation()})}else{a=i.text,t.save(),t.beginPath(),t.fillStyle=this.settings.fontColor,t.font="normal "+this.settings.fontSize+"px "+this.settings.fontFamaly,t.textAlign="left",t.textBaseline="top",t.rect(n,e,r,s),t.clip(),t.translate(n,e);for(var l=(a=a.replace(/\n/g," [%br%] ")).split(/\s/),c=l.length,d="",p=0+Math.round(parseInt(this.settings.fontSize)/10),u=parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5),g=0;g
'),$("#chart-bubble-text").css({font:"normal "+this.settings.fontSize+"px/"+(parseInt(this.settings.fontSize)+Math.round(parseInt(this.settings.fontSize)/5))+"px "+this.settings.fontFamaly,background:"rgba(230,230,230,.0)",color:this.settings.fontColor,overflow:"hidden",border:"0px solid red"})),$("#chart-bubble-text").val("").focus().val(this.settings.text)},iChart.Charting.ChartText.prototype.onBlur=function(t){var e=this.settings;e.text=$("#chart-bubble-text").val(),this.setSettings(e),$("#chart-element-bubble").css({top:"-12000px",left:"-12000px"}).remove()},iChart.Charting.ChartText.prototype.onHover=function(t){this.selected&&(this.settings.text=$("#chart-bubble-text").val())},iChart.Charting.ChartText.prototype.onOut=function(t){this.selected&&(this.settings.text=$("#chart-bubble-text").val())},iChart.Charting.ChartText.prototype.onRemove=function(){$("#chart-element-bubble").css({top:"-12000px",left:"-12000px"}).hide()},iChart.Charting.ChartText.prototype.drawCheckPoint=function(t,e,i,a){t.strokeText(a,e,i),t.beginPath(),t.save(),t.strokeStyle="rgba(50,50,50,.4)",t.arc(e,i,40,0,2*Math.PI,!0),t.stroke(),t.beginPath(),t.lineWidth="3",t.arc(e,i,1,0,2*Math.PI,!0),t.stroke(),t.restore()},iChart.Charting.ChartText.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[1].y}],[{x:this.testContext.points[0].x,y:this.testContext.points[1].y},this.testContext.points[1]],[this.testContext.points[1],{x:this.testContext.points[1].x,y:this.testContext.points[0].y}],[{x:this.testContext.points[1].x,y:this.testContext.points[0].y},this.testContext.points[0]]]}}(),!function(){"use strict";iChart.Charting.ChartOrder=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Order",this.drawType="auto",this.hoverCursor="row-resize",this.moveCursor="row-resize",this.maxPointCount=1,this.hasSettings=!0,this.controlEnable=!1,this.storageEnable=!1,this.settings={},this.positionAbsolute=!0},inheritPrototype(iChart.Charting.ChartOrder,iChart.Charting.ChartElement),iChart.Charting.ChartOrder.prototype.drawInternal=function(t,e){if(!(e.length<1)){this.settings.fillStyle=this.settings.fillStyle||"#3AAE3E";var i=this.layer.chart.areas[0].xSeries[this.layer.chart.areas[0].xSeries.length-this.layer.chart.chartOptions.futureAmount-1],i=(this.points[0].x=1e3*i,e[0].x=this.layer.area.getXPositionByValue(i),this.settings.fillStyle),a=getElementSize(t.canvas).width;if(this.selected||t.inHover)t.save(),t.beginPath(),t.strokeStyle=i,t.moveTo(0,e[0].y),t.lineTo(a,e[0].y),t.stroke(),t.restore(),this.drawLable(t,i,this.settings.textColor,e[0].x,e[0].y,this.settings.text);else{t.save(),t.strokeStyle=i,t.lineWidth=1,t.beginPath();for(var r=0;r<=a;r+=20)t.moveTo(r,e[0].y),t.lineTo(r+12,e[0].y);t.stroke(),t.restore()}}},iChart.Charting.ChartOrder.prototype.drawExtended=function(t){var e,i,a;!this.selected||(e=this.getCoordinates(t,this.points)).length<1||(i=iChart.formatNumber(this.points[0].y,{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),this.layer.chart.renderer.drawLable(t,this.settings.fillStyle,0,this.layer.area.innerWidth,e[0].y,i),void 0!==this.markers&&(e=this.getCoordinates(t,this.markers),i=iChart.formatNumber(this.markers[0].y,{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),a=t.inHover?void 0!==this.settings.fillStyleHover?this.settings.fillStyleHover:iChart.Charting.ChartOrder.lightColor(this.settings.fillStyle):this.settings.fillStyle,this.layer.chart.renderer.drawLable(t,a,0,this.layer.area.innerWidth,e[0].y,i)))},iChart.Charting.ChartOrder.prototype.drawLable=function(t,e,i,a,r,s){e=e||"#333333",i=i||"#FFFFFF",t.save(),t.font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=e,t.lineWidth="2";var e=t.measureText(s).width,a=getElementSize(t.canvas).width-120,n=(t.beginPath(),t.moveTo(a-e-5,r+5),t.lineTo(a-e-5,r-5),t.quadraticCurveTo(a-e-5,r-10,a-e,r-10),t.lineTo(a,r-10),t.quadraticCurveTo(5+a,r-10,5+a,r-5),t.lineTo(5+a,r+5),t.quadraticCurveTo(5+a,r+10,a,r+10),t.lineTo(a-e,r+10),t.quadraticCurveTo(a-e-5,r+10,a-e-5,r+5),t.closePath(),t.save(),this.layer.chart.chartOptions.shadowColor);this.selected?(t.shadowColor=n,t.shadowBlur=20,t.shadowOffsetX=15,t.shadowOffsetY=15):t.inHover&&(t.shadowColor=n,t.shadowBlur=10,t.shadowOffsetX=5,t.shadowOffsetY=5),t.fill(),t.restore(),this.drawCancelButton(t,a,r-10),t.fillStyle=i,t.fillText(s,a-e,r),t.restore()},iChart.Charting.ChartOrder.prototype.drawCancelButton=function(t,e,i){t.beginPath(),t.moveTo(e,i),t.strokeStyle="#FFFFFF",t.lineWidth=2,t.lineTo(e,i+20),t.stroke(),t.lineTo(e+15,i+20),t.quadraticCurveTo(e+20,i+20,e+20,i+15),t.lineTo(e+20,i+5),t.quadraticCurveTo(e+20,i,e+15,i),t.closePath(),t.fillStyle="#e53935",t.fill(),t.beginPath(),t.moveTo(e+5,i+5),t.lineTo(e+15,i+15),t.moveTo(e+5,i+15),t.lineTo(e+15,i+5),t.stroke(),t.closePath()},iChart.Charting.ChartOrder.prototype.drawTestSegments=function(t){if(void 0!==this.testContext){for(var e in t.save(),t.beginPath(),t.fillStyle="rgba(0,0,0,0.75)",this.testContext.segments){e=this.testContext.segments[e];t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke()}t.closePath(),t.restore()}},iChart.Charting.ChartOrder.prototype.setTestSegments=function(){var t,e;this.selected?((e=this.layer.context).font="normal 13px Arial,Helvetica,sans-serif",e.textAlign="left",e.textBaseline="middle",t=e.measureText(this.settings.text).width,e=getElementSize(e.canvas).width-120,this.testContext.segments=[[{x:e-t,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y-4}],[{x:e,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y+4}],[{x:e,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y+4}],[{x:e-t,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y-4}],[{x:e-t,y:this.testContext.points[0].y},{x:e,y:this.testContext.points[0].y}],[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}]]):this.testContext&&(this.testContext.segments=[[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}]])},iChart.Charting.ChartOrder.prototype.onDrag=function(t){"function"==typeof this.settings.restriction&&this.settings.restriction.call(this,t)},iChart.Charting.ChartOrder.prototype.onSelect=function(t){iChart.Charting.ChartElement.prototype.onSelect.call(this,t),this.setTestSegments()},iChart.Charting.ChartOrder.prototype.onBlur=function(){this.setTestSegments()},iChart.Charting.ChartOrder.prototype.onDrop=function(){"function"==typeof this.settings.onDrop&&this.settings.onDrop.call(this)},iChart.Charting.ChartOrder.prototype.onHover=function(){clearTimeout(this.layer.chart.env.timers.orderClose),this.cancelControl(1)},iChart.Charting.ChartOrder.prototype.onOut=function(){clearTimeout(this.layer.chart.env.timers.orderClose);var t=this;this.layer.chart.env.timers.orderClose=setTimeout(function(){t.cancelControl(0)},300)},iChart.Charting.ChartOrder.prototype.cancelControl=function(t){var e,i;"function"==typeof this.settings.onCancel&&(t?($("#ichartOrderCancelCtrl").hide(),i=getElementSize((t=this.layer.context).canvas).width-120,t=this.getCoordinates(t,this.points),$("#ichartOrderCancelCtrl").length||$("",{id:"ichartOrderCancelCtrl",style:"color:transparent",class:"m-chart-instrument-delete",text:"✕",title:_t("2958","Снять")}).hide().appendTo(this.layer.chart.container),e=this,$("#ichartOrderCancelCtrl").unbind("click").bind("click",function(t){"function"==typeof e.settings.onCancel&&e.settings.onCancel.call(e),$("#ichartOrderCancelCtrl").hide()}).bind("mouseover",function(){clearTimeout(e.layer.chart.env.timers.orderClose)}).bind("mouseleave",function(){clearTimeout(e.layer.chart.env.timers.orderClose),e.layer.chart.env.timers.orderClose=setTimeout(function(){e.cancelControl(0)},1e3)}),t=t[0].y-8,i=2+i,$("#ichartOrderCancelCtrl").css({top:t,left:i}).show()):$("#ichartOrderCancelCtrl").hide())},iChart.Charting.ChartOrder.lightColor=function(t){t=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split(/,\s*/);for(var e=0;e<3;e++)t[e]=parseInt(t[e])+40;return"rgba("+t.join(", ")+")"},iChart.Charting.ChartOrder.prototype.onMouseDown=function(t){"function"==typeof this.settings.onSelect&&this.settings.onSelect.call(this,t)}}(),!function(){"use strict";iChart.Charting.ChartVisualtrade=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Visualtrade",this.drawType="auto",this.hoverCursor=MOBILE_BROWSER_DETECTED?"move":"url('"+this.layer.chart.env.lib_path+"/styles/cursors/red_vertical_cursor.cur'), move",this.moveCursor=MOBILE_BROWSER_DETECTED?"move":"url('"+this.layer.chart.env.lib_path+"/styles/cursors/red_vertical_cursor.cur'), move",this.maxPointCount=5,this.hasSettings=!0,this.controlEnable=!0,this.storageEnable=!1,this.settings={redColor:"#bc353d",greenColor:"#7fcc1a",blueColor:"#4684c6",greyColor:"#999999",offset:40},this.drawSingle=!0},inheritPrototype(iChart.Charting.ChartVisualtrade,iChart.Charting.ChartElement),iChart.Charting.ChartVisualtrade.prototype.setSettings=function(t){this.settings=$.extend(this.settings,t),this.settings.onDrop=function(t){var e;isNaN(parseInt(t))||(0==(t=parseInt(t)-1)?$(jNTChartTrading).trigger("priceExternalUpdate",["price",iChart.roundToPrecision(this.points[0].y,this.layer.chart.env.userSettings.currentSecurity.min_step)]):1==t?"sell_at"==(e=this.getControlValue("order_type"))||"sell"==e?$(jNTChartTrading).trigger("priceExternalUpdate",["tp",iChart.roundToPrecision(this.points[1].y,this.layer.chart.env.userSettings.currentSecurity.min_step)]):$(jNTChartTrading).trigger("priceExternalUpdate",["sl",iChart.roundToPrecision(this.points[1].y,this.layer.chart.env.userSettings.currentSecurity.min_step)]):2==t&&("sell_at"==(e=this.getControlValue("order_type"))||"sell"==e?$(jNTChartTrading).trigger("priceExternalUpdate",["sl",iChart.roundToPrecision(this.points[2].y,this.layer.chart.env.userSettings.currentSecurity.min_step)]):$(jNTChartTrading).trigger("priceExternalUpdate",["tp",iChart.roundToPrecision(this.points[2].y,this.layer.chart.env.userSettings.currentSecurity.min_step)])))},this.priceControl={width:180,height:30},this.elementArea={top:70,bottom:47,left:10,right:10},this.points[0].fActive=1,this.points[1].fActive=0,this.points[2].fActive=0,this.points[0].enable=1,this.points[1].enable=!!this.settings.stoplossEnable,this.points[2].enable=!!this.settings.takeprofitEnable,this.points[1].fHover=0,this.points[2].fHover=0,this.controls={1:{enabled:!1,element:this,x:10,y:10,w:100,h:17,click:function(){this.element.switchControl(this)},type:"order_type",label:_t("4018","Продать"),value:"sell_at",active:!1},2:{enabled:!1,element:this,x:10,y:33,w:100,h:17,click:function(){this.element.switchControl(this)},type:"order_type",label:_t("4875","Продать по рынку"),value:"sell",active:!1},3:{enabled:!1,element:this,x:120,y:10,w:100,h:17,click:function(){this.element.switchControl(this)},type:"order_type",label:_t("4019","Купить"),value:"buy_at",active:!1},4:{enabled:!1,element:this,x:120,y:33,w:100,h:17,click:function(){this.element.switchControl(this)},type:"order_type",label:_t("5452","Купить по рынку"),value:"buy",active:!1},5:{enabled:!1,element:this,x:120,y:-27,w:100,h:17,click:function(){var t=this.element.getControlValue("order_type"),e=iChart.roundToPrecision(this.element.points[0].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step),i=0;"buy_at"!=t&&"buy"!=t&&"sell_at"!=t&&"sell"!=t||(i=Math.min(iChart.roundToPrecision(this.element.points[1].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step),iChart.roundToPrecision(this.element.points[2].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step)),Math.max(iChart.roundToPrecision(this.element.points[1].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step),iChart.roundToPrecision(this.element.points[2].y,this.element.layer.chart.env.userSettings.currentSecurity.min_step)),e==i&&(i=null))},type:"action",label:_t("614","Ok"),value:"ok",active:!1},6:{enabled:!1,element:this,x:10,y:-27,w:100,h:17,click:function(){this.element.remove()},type:"action",label:_t("1403","Отмена"),value:"cancel",active:!1},7:{enabled:!0,element:this,click:function(){jNTChartTrading.close(),this.element.layer.chart.env.removeVisualTrade()},type:"close",value:"stoploss"},8:{enabled:!0,element:this,click:function(){jNTChartTrading.close(),this.element.layer.chart.env.removeVisualTrade()},type:"close",value:"takeprofit"},9:{enabled:!0,element:this,active:!0,click:function(){this.element.points[0].fActive=0,jNTChartTrading.close(),this.element.layer.chart.env.removeVisualTrade()},type:"close",value:"price"}};for(var e=0;e
');var a=this.settings.pointFormatter.call(this.settings);a&&($("[chart-element-tooltip] .qtip-content").html(a),$("[chart-element-tooltip]").css({top:e-$("[chart-element-tooltip]").height()+"px",left:i+12+"px"}).show())},iChart.Charting.ChartEvent.prototype.setTestSegments=function(){this.testContext.segments=[[this.testContext.points[0],{x:this.testContext.points[0].x,y:this.testContext.points[0].y}]]}}(),!function(){"use strict";iChart.Charting.ChartLevel=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Level",this.drawType="auto",this.hoverCursor=MOBILE_BROWSER_DETECTED?"move":"url('"+this.layer.chart.env.lib_path+"/styles/cursors/red_vertical_cursor.cur'), move",this.moveCursor=MOBILE_BROWSER_DETECTED?"move":"url('"+this.layer.chart.env.lib_path+"/styles/cursors/red_vertical_cursor.cur'), move",this.maxPointCount=1,this.hasSettings=!0,this.controlEnable=!0,this.storageEnable=!1,this.settings={text:"",color:"#ED1ACE",textColor:"red",inactiveHoverColor:"#4684c6",inactiveColor:"#AAAAAA",offset:40,width:150,height:30},this.drawSingle=!0},inheritPrototype(iChart.Charting.ChartLevel,iChart.Charting.ChartElement),iChart.Charting.ChartLevel.prototype.setSettings=function(t){this.points[0].fActive=1,this.points[0].fHover=0,this.settings.onDrop=function(t){isNaN(parseInt(t))||(parseInt(t),t={event:"drop",element:this,value:this.points[0].y},this.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t]))},this.controls={0:{active:!0,enabled:!1,element:this,click:function(){var t={event:"close",element:this,value:this.points[0].y};this.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t]),this.element.setTestSegments(),this.element.layer.render()},type:"close",value:"element"}},this.maps={0:{element:this,click:function(){this.element.points[0].fActive=1,this.element.setTestSegments();var t={event:"click",element:this.element,value:this.element.points[0].y};this.element.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t])},hoverIn:function(){this.element.points[0].fHover=1,this.element.layer.render();var t={event:"hoverIn",element:this.element,value:this.element.points[0].y};this.element.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t])},hoverOut:function(){this.element.points[0].fHover=0,this.element.layer.render();var t={event:"hoverOut",element:this.element,value:this.element.points[0].y};this.element.layer.chart.env.wrapper.trigger("iguanaChartEvents",["instrument",t])},type:"element",value:"element"}},this.settings=$.extend(this.settings,t)},iChart.Charting.ChartLevel.prototype.drawInternal=function(t,e){if(!(e.length<1)){var i=this.layer.chart.env.viewData.chart.areas[0].getXPositionByIndex(this.layer.chart.env.viewData.chart.areas[0].xSeries.length-1-this.layer.chart.env.viewData.chart.chartOptions.futureAmount)+this.settings.offset,i=Math.min(i,this.layer.chart.env.viewData.chart.areas[0].getXPositionByIndex(this.layer.chart.env.viewData.chart.areas[0].xSeries.length-1)),i=this.layer.chart.env.viewData.chart.areas[0].getXValue(i);for(r in this.points[0].x=1e3*i,e[0].x=this.layer.area.getXPositionByValue(i),this.controls){var a=this.controls[r];a.enabled&&this.drawControl(t,e,a)}t.fillStyle="rgba(255,255,255,1)";for(var r=e.length-1;0<=r;r--)3<=r||(this.drawPriceBox(t,e,r),this.drawLabel(t,e,r))}},iChart.Charting.ChartLevel.prototype.drawPoints=function(t,e){},iChart.Charting.ChartLevel.prototype.drawExtended=function(t){var e,i;if(i=void 0!==this.markers?(e=this.getCoordinates(t,this.markers),this.markers):(e=this.getCoordinates(t,this.points),this.points),!(e.length<1))for(var a,r=0;ri||(e.save(),e.beginPath(),e.arc(t.x,t.y,5,0,2*Math.PI,!0),e.fillStyle="#607d8b",e.fill(),e.arc(t.x,t.y,2,0,2*Math.PI,!0),e.fillStyle="#ffffff",e.fill(),e.closePath(),e.restore())})},iChart.Charting.ChartPosition.prototype.drawLable=function(t,e,i,a,r,s){e=e||"#333333",i=i||"#FFFFFF",t.save(),t.font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=e,t.lineWidth="1";var e=t.measureText(s.positionText+s.profitText).width,n=getElementSize(t.canvas).width,n=(a=n-120)-e;t.beginPath(),t.moveTo(a-e-5,r+5),t.lineTo(a-e-5,r-5),t.quadraticCurveTo(a-e-5,r-10,a-e,r-10),t.lineTo(a,r-10),t.quadraticCurveTo(5+a,r-10,5+a,r-5),t.lineTo(5+a,r+5),t.quadraticCurveTo(5+a,r+10,a,r+10),t.lineTo(a-e,r+10),t.quadraticCurveTo(a-e-5,r+10,a-e-5,r+5),t.closePath(),t.fill(),s.profitText&&(t.fillStyle=i,t.fillText(s.positionText,a-e,r),e=t.measureText(s.profitText).width,t.fillStyle=s.profitColor,t.beginPath(),t.moveTo(a-e,r+5),t.lineTo(a-e,r-5),t.lineTo(a-e,r-10),t.lineTo(a,r-10),t.quadraticCurveTo(5+a,r-10,5+a,r-5),t.lineTo(5+a,r+5),t.quadraticCurveTo(5+a,r+10,a,r+10),t.lineTo(a-e,r+10),t.lineTo(a-e,r+10),t.closePath(),t.fill(),this.drawCancelButton(t,a,r-10),t.font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=i,t.fillText(s.profitText,a-e,r)),t.restore(),this.drawTrades(t,n,this.settings)},iChart.Charting.ChartPosition.prototype.drawCancelButton=function(t,e,i){t.beginPath(),t.moveTo(e,i),t.strokeStyle="#FFFFFF",t.lineWidth=2,t.lineTo(e,i+20),t.stroke(),t.lineTo(e+15,i+20),t.quadraticCurveTo(e+20,i+20,e+20,i+15),t.lineTo(e+20,i+5),t.quadraticCurveTo(e+20,i,e+15,i),t.closePath(),t.fillStyle="#e53935",t.fill(),t.beginPath(),t.moveTo(e+5,i+5),t.lineTo(e+15,i+15),t.moveTo(e+5,i+15),t.lineTo(e+15,i+5),t.stroke(),t.closePath(),t.restore()},iChart.Charting.ChartPosition.prototype.drawPoints=function(t,e){},iChart.Charting.ChartPosition.prototype.drawTestSegments=function(t){if(void 0!==this.testContext){for(var e in t.save(),t.beginPath(),t.fillStyle="rgba(0,0,0,0.75)",this.testContext.segments){e=this.testContext.segments[e];t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke()}t.closePath(),t.restore()}},iChart.Charting.ChartPosition.prototype.setTestSegments=function(){var t,e;this.selected?((e=this.layer.context).font="normal 13px Arial,Helvetica,sans-serif",e.textAlign="left",e.textBaseline="middle",t=e.measureText(this.settings.text).width,e=getElementSize(e.canvas).width-120,this.testContext.segments=[[{x:e-t,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y-4}],[{x:e,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y+4}],[{x:e,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y+4}],[{x:e-t,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y-4}],[{x:e-t,y:this.testContext.points[0].y},{x:e,y:this.testContext.points[0].y}],[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}]]):this.testContext&&(this.testContext.segments=[[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}]])},iChart.Charting.ChartPosition.prototype.onDrag=function(t){"function"==typeof this.settings.restriction&&this.settings.restriction.call(this,t)},iChart.Charting.ChartPosition.prototype.onSelect=function(t){iChart.Charting.ChartElement.prototype.onSelect.call(this,t),this.setTestSegments()},iChart.Charting.ChartPosition.prototype.onBlur=function(){this.setTestSegments()},iChart.Charting.ChartPosition.prototype.onDrop=function(){"function"==typeof this.settings.onDrop&&this.settings.onDrop.call(this)},iChart.Charting.ChartPosition.prototype.onHover=function(){clearTimeout(this.layer.chart.env.timers.positionClose),this.cancelControl(1)},iChart.Charting.ChartPosition.prototype.onOut=function(){clearTimeout(this.layer.chart.env.timers.positionClose);var t=this;this.layer.chart.env.timers.orderClose=setTimeout(function(){t.cancelControl(0)},300)},iChart.Charting.ChartPosition.prototype.cancelControl=function(t){var e,i;"function"==typeof this.settings.onCancel&&(t?($("#ichartPositionCancelCtrl").hide(),i=getElementSize((t=this.layer.context).canvas).width-120,t=this.getCoordinates(t,this.points),$("#ichartPositionCancelCtrl").length||$("",{id:"ichartPositionCancelCtrl",style:"color:transparent",class:"m-chart-instrument-delete",text:"✕",title:_t("15807","Закрыть позицию по рынку")}).hide().appendTo(this.layer.chart.container),e=this,$("#ichartPositionCancelCtrl").unbind("click").bind("click",function(t){"function"==typeof e.settings.onCancel&&e.settings.onCancel.call(e),$("#ichartOrderCancelCtrl").hide()}).bind("mouseover",function(){clearTimeout(e.layer.chart.env.timers.positionClose)}).bind("mouseleave",function(){clearTimeout(e.layer.chart.env.timers.positionClose),e.layer.chart.env.timers.positionClose=setTimeout(function(){e.cancelControl(0)},1e3)}),t=t[0].y-8,i=2+i,$("#ichartPositionCancelCtrl").css({top:t,left:i}).show()):$("#ichartPositionCancelCtrl").hide())},iChart.Charting.ChartPosition.lightColor=function(t){t=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split(/,\s*/);for(var e=0;e<3;e++)t[e]=parseInt(t[e])+40;return"rgba("+t.join(", ")+")"}}(),!function(){"use strict";iChart.Charting.ChartTradePanel=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="TradePanel",this.drawType="auto",this.hoverCursor=this.selected?"row-resize":"pointer",this.moveCursor=this.selected?"row-resize":"pointer",this.maxPointCount=1,this.hasSettings=!0,this.controlEnable=!1,this.storageEnable=!1,this.settings={},this.positionAbsolute=!0},inheritPrototype(iChart.Charting.ChartTradePanel,iChart.Charting.ChartElement),iChart.Charting.ChartTradePanel.prototype.drawInternal=function(t,e){var i;e.length<1||(this.hoverCursor=this.selected?"row-resize":"pointer",this.moveCursor=this.selected?"row-resize":"pointer",this.settings.autoInit&&(this.selected=!0,(this.layer.selected=this).settings.autoInit=!1),this.layer.history.sort(function(t,e){return t&&"TradePanel"==t.elementType&&t.selected?1:-1}),(this.selected&&!this.layer.selected||this.selected&&this.id!=this.layer.selected.id)&&(this.selected=!1),e[0].x=this.layer.area.getXPositionByValue(void 0),i=(this.markers||this.points)[0].y,"limit"==this.settings.type?this.settings.fillStyle=jNTChartTrading.order.operation_type<3?"#7cb342":"#e53935":"sl"==this.settings.type?this.settings.fillStyle="#e53935":"tp"==this.settings.type&&(this.settings.fillStyle="#7cb342"),this.settings.fillStyle=this.selected?this.settings.fillStyle:"rgba(238, 238, 238, 0.3)",this.settings.fillStyle=!this.selected&&t.inHover?"rgba(238, 238, 238, 1)":this.settings.fillStyle,this.settings.textColor=this.selected?"#FFFFFF":this.layer.chart.chartOptions.labelColor,this.settings.text=jNTChartTrading.order.operation_type<3?this.settings.buyText:this.settings.sellText,this.settings.price=_s(i,_d(this.settings.min_step)),this.settings.quantity=_s(this.settings.quantity),i=(0<(i=100*(this.settings.price/this.settings.ltp-1))?"+":"")+_s(i,2)+"%",this.settings.text=this.settings.text.replace("%quantity%",this.settings.quantity.trim()),this.settings.text=this.settings.text.replace("%price%",this.settings.price.trim()),this.settings.text=this.settings.text.replace("%percent%",i),this.settings.sendingOrder&&(this.settings.text=_t("15808","Выставляем новый приказ ..."),this.settings.fillStyle="rgba(119,119,119,1)",this.settings.textColor="#ffffff"),i=this.layer.chart.areas[0].xSeries[this.layer.chart.areas[0].xSeries.length-this.layer.chart.chartOptions.futureAmount-1],this.points[0].x=1e3*i,e[0].x=this.layer.area.getXPositionByValue(i)+50,i=this.settings.fillStyle,(this.selected||t.inHover)&&(t.save(),t.beginPath(),t.strokeStyle=i,t.moveTo(0,e[0].y),t.lineTo(getElementSize(t.canvas).width,e[0].y),t.stroke(),t.restore()),this.drawLable(t,i,this.settings.textColor,e[0].x,e[0].y,this.settings.text))},iChart.Charting.ChartTradePanel.prototype.drawExtended=function(t){var e,i,a;!this.selected||(e=this.getCoordinates(t,this.points)).length<1||(i=iChart.formatNumber(this.points[0].y,{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),this.layer.chart.renderer.drawLable(t,this.settings.fillStyle,0,this.layer.area.innerWidth,e[0].y,i),void 0!==this.markers&&(e=this.getCoordinates(t,this.markers),i=iChart.formatNumber(this.markers[0].y,{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),a=t.inHover?void 0!==this.settings.fillStyleHover?this.settings.fillStyleHover:iChart.Charting.ChartTradePanel.lightColor(this.settings.fillStyle):this.settings.fillStyle,this.layer.chart.renderer.drawLable(t,a,0,this.layer.area.innerWidth,e[0].y,i)))},iChart.Charting.ChartTradePanel.prototype.drawLable=function(t,e,i,a,r,s){t.save(),t.font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=this.settings.fillStyle,t.strokeStyle="#eeeeee",t.lineWidth="1";var n=t.measureText(s).width,o=(a+=n,t.beginPath(),t.moveTo(a-n-5,r+5),t.lineTo(a-n-5,r-5),t.quadraticCurveTo(a-n-5,r-10,a-n,r-10),t.lineTo(a,r-10),t.lineTo(a+8,r),t.lineTo(a,r+10),t.lineTo(a-n,r+10),t.quadraticCurveTo(a-n-5,r+10,a-n-5,r+5),t.closePath(),t.save(),this.layer.chart.chartOptions.shadowColor);this.selected?(t.shadowColor=o,t.shadowBlur=10,t.shadowOffsetX=5,t.shadowOffsetY=5,t.fill(),t.lineWidth="3",t.strokeStyle=t.fillStyle,t.beginPath(),t.moveTo(a+10,r-10),t.lineTo(a+18,r),t.lineTo(a+10,r+10),t.moveTo(a+10,r-10),t.closePath(),t.stroke()):t.inHover?(t.shadowColor=o,t.shadowBlur=5,t.shadowOffsetX=2,t.shadowOffsetY=2,t.fill()):t.stroke(),t.restore(),t.fillStyle=this.settings.textColor,t.fillText(s,a-n,r),t.restore()},iChart.Charting.ChartTradePanel.prototype.drawPoints=function(t,e){},iChart.Charting.ChartTradePanel.prototype.drawTestSegments=function(t){if(void 0!==this.testContext){for(var e in t.save(),t.beginPath(),t.fillStyle="rgba(0,0,0,0.75)",this.testContext.segments){e=this.testContext.segments[e];t.moveTo(e[0].x,e[0].y),t.lineTo(e[1].x,e[1].y),t.stroke()}t.closePath(),t.restore()}},iChart.Charting.ChartTradePanel.prototype.setTestSegments=function(){var t,e;this.testContext&&((t=this.layer.context).font="normal 13px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t=t.measureText(this.settings.text).width,e=this.layer.area.getXPositionByValue(this.points[0].x/1e3)+t+50,this.testContext.segments=[[{x:e-t,y:this.testContext.points[0].y-4},{x:e,y:this.testContext.points[0].y-4}],[{x:e,y:this.testContext.points[0].y+4},{x:e-t,y:this.testContext.points[0].y+4}]])},iChart.Charting.ChartTradePanel.prototype.onDrag=function(t){"function"==typeof this.settings.restriction&&this.settings.restriction.call(this,t),"function"==typeof this.settings.onDrag&&this.settings.onDrag.call(this,t)},iChart.Charting.ChartTradePanel.prototype.onSelect=function(t){iChart.Charting.ChartElement.prototype.onSelect.call(this,t)},iChart.Charting.ChartTradePanel.prototype.onBlur=function(){},iChart.Charting.ChartTradePanel.prototype.onDrop=function(){"function"==typeof this.settings.onDrop&&this.settings.onDrop.call(this)},iChart.Charting.ChartTradePanel.lightColor=function(t){t=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split(/,\s*/);for(var e=0;e<3;e++)t[e]=parseInt(t[e])+40;return"rgba("+t.join(", ")+")"},iChart.Charting.ChartTradePanel.prototype.onMouseDown=function(t){"function"==typeof this.settings.onSelect&&this.settings.onSelect.call(this,t)}}(),!function(){"use strict";iChart.Charting.ChartTrendorder=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="Trendorder",this.drawType="auto",this.hoverCursor="row-resize",this.moveCursor="row-resize",this.hoverPointCursor="move",this.movePointCursor="move",this.maxPointCount=2,this.hasSettings=!0,this.controlEnable=!0,this.storageEnable=!1,this.drawSingle=!0,this.freezed=!0,this.settings={text:"",textHeight:13,fillStyle:"#f44336",textColor:"#FFFFFF",mode:"line"},this.positionAbsolute=!0},inheritPrototype(iChart.Charting.ChartTrendorder,iChart.Charting.ChartElement),iChart.Charting.ChartTrendorder.prototype.setSettings=function(t){this.settings=$.extend(this.settings,t),void 0===t.price2?(this.points[0]={x:t.date,y:t.price},this.points[1]={x:t.date,y:t.price}):(this.points[0]={x:t.date,y:t.price},this.points[1]={x:t.date2,y:t.price2},t=this.getFloatCoords(),this.trendLineSettings={points:this.getBorderPoints(t)})},iChart.Charting.ChartTrendorder.prototype.calcPointsPosition=function(t,e){e=e||150;var i,a,r,s=this.getCoordinates(this.layer.context,this.points),n=this.getBorderPoints(s),n=(n[0].x+n[1].x)/2;ta.height||t[0].x<0||t[0].x>a.width?(e=iChart.getLineEquation(t[0],t[1],0),i=iChart.getLineEquation(t[0],t[1],a.width)):((e=iChart.getLineEquation(t[0],t[1],0)).y<0?(e.y=0,e.x=(e.y-e.b)/e.k):e.y>a.height&&(e.y=a.height,e.x=(e.y-e.b)/e.k),(i=iChart.getLineEquation(t[0],t[1],a.width)).y<0?(i.y=0,i.x=(i.y-i.b)/i.k):i.y>a.height&&(i.y=getElementSize(this.layer.canvas).height,i.x=(i.y-i.b)/i.k)),[e,i]},iChart.Charting.ChartTrendorder.prototype.drawTrendMode=function(t,e){i=void 0!==this.markers?this.markers:(this.selected||this.freezed||(console.trace(),this.moveForward()),this.points),this.trendLineSettings={points:this.getBorderPoints(this.getFloatCoords(i))};var i=this.getOpenCoords(e),a=(t.save(),t.beginPath(),t.setLineDash([8,3]),this.settings.fillStyle);t.strokeStyle=a,t.moveTo(i.x,i.y),t.lineTo(this.trendLineSettings.points[0].x,this.trendLineSettings.points[0].y),t.stroke(),t.restore(),t.save(),t.lineWidth=4,t.strokeStyle=this.settings.fillStyle,t.beginPath(),t.moveTo(i.x,i.y),t.lineTo(this.trendLineSettings.points[1].x,this.trendLineSettings.points[1].y),t.stroke(),t.restore(),this.settings.newOrderParams=this.getOrderParams(e),this.selected?(this.drawPoint(t,e[0].x,e[0].y,a,4),this.drawPoint(t,e[1].x,e[1].y,a,4),this.drawLableTrend(t,e)):t.inHover&&this.drawLableTrend(t,e)},iChart.Charting.ChartTrendorder.prototype.findYForward=function(t){for(var e=iChart.Charting.indexOfFirstElementGreaterThanOrEqualTo(this.layer.chart.areas[0].xSeries,this.settings.date/1e3),i=this.layer.area.getXIndexByValue(t/1e3),a=60*this.layer.chart.env.dataSource.dataSettings.timeframe,r={x:this.settings.date,y:this.settings.price},s={x:this.settings.date2,y:this.settings.price2},n=0,o=e+1;o<=i;o++){var h,l=this.layer.chart.areas[0].xSeries[o]-this.layer.chart.areas[0].xSeries[o-1];1=t[1].x-e?t[0].x=t[1].x-e:this.points[1].x!=t[1].x&&t[1].x<=t[0].x+e&&(t[1].x=t[0].x+e),"function"==typeof this.settings.restriction&&this.settings.restriction.call(this,t)},iChart.Charting.ChartTrendorder.prototype.onSelect=function(t){iChart.Charting.ChartElement.prototype.onSelect.call(this,t),this.getTestContext(!0)},iChart.Charting.ChartTrendorder.prototype.onBlur=function(){this.settings.mode,this.getTestContext(!0)},iChart.Charting.ChartTrendorder.prototype.onDrop=function(){"trend"==this.settings.mode&&console.log("newOrderParams",this.settings.newOrderParams),"function"==typeof this.settings.onDrop&&this.settings.onDrop.call(this)},iChart.Charting.ChartTrendorder.prototype.onHover=function(t,e){clearTimeout(this.layer.chart.env.timers.orderClose),this.cancelControl(1)},iChart.Charting.ChartTrendorder.prototype.onOut=function(){clearTimeout(this.layer.chart.env.timers.orderClose);var t=this;this.layer.chart.env.timers.orderClose=setTimeout(function(){t.cancelControl(0)},300)},iChart.Charting.ChartTrendorder.prototype.cancelControl=function(t){var e,i,a,r;"function"==typeof this.settings.onCancel&&(t?($("#ichartOrderCancelCtrl").hide(),e=getElementSize((t=this.layer.context).canvas).width-120,t=this.getCoordinates(t,this.points),$("#ichartOrderCancelCtrl").length||$("",{id:"ichartOrderCancelCtrl",style:"color:transparent",class:"m-chart-instrument-delete",text:"✕",title:_t("2958","Снять")}).hide().appendTo(this.layer.chart.container),i=this,$("#ichartOrderCancelCtrl").unbind("click").bind("click",function(t){"function"==typeof i.settings.onCancel&&i.settings.onCancel.call(i),$("#ichartOrderCancelCtrl").hide()}).bind("mouseover",function(){clearTimeout(i.layer.chart.env.timers.orderClose)}).bind("mouseleave",function(){clearTimeout(i.layer.chart.env.timers.orderClose),i.layer.chart.env.timers.orderClose=setTimeout(function(){i.cancelControl(0)},1e3)}),"line"==this.settings.mode?(a=t[0].y-8,r=2+e):this.trendLabelSettings&&(a=this.trendLabelSettings.labelCoords.right.y-10-10*Math.sin(this.trendLabelSettings.alpha),r=this.trendLabelSettings.labelCoords.right.x-10-10*Math.cos(this.trendLabelSettings.alpha)),$("#ichartOrderCancelCtrl").css({top:a,left:r}).show()):$("#ichartOrderCancelCtrl").hide())},iChart.Charting.ChartTrendorder.prototype.onMouseDown=function(t,e,i){"trend"!=this.settings.mode||this.selected||this.calcPointsPosition(e,150),"function"==typeof this.settings.onSelect&&this.settings.onSelect.call(this,t)},iChart.Charting.ChartTrendorder.lightColor=function(t){}}(),!function(){"use strict";iChart.Charting.ChartHorizontalRange=function(t){iChart.Charting.ChartElement.prototype.constructor.call(this,t),this.elementType="HorizontalRange",this.drawType="manually",this.maxPointCount=2,this.hasSettings=!0,this.settings=$.extend({},t.chart.env.userSettings.chartSettings.contextSettings)},inheritPrototype(iChart.Charting.ChartHorizontalRange,iChart.Charting.ChartElement),iChart.Charting.ChartHorizontalRange.prototype.drawInternal=function(t,e){var i,a;e.length<2||(i=getElementSize(t.canvas).width,a=this.layer.area.getXValue(i-200),this.points[0].x=1e3*a,e[0].x=i-200,this.points[1].x=1e3*a,e[1].x=i-200,t.save(),t.beginPath(),this.initDrawSettings(t,this.settings),t.moveTo(0,e[0].y),t.lineTo(i,e[0].y),t.stroke(),t.moveTo(0,e[1].y),t.lineTo(i,e[1].y),t.stroke(),t.moveTo(0,e[0].y),t.lineTo(i,e[0].y),t.lineTo(i,e[1].y),t.lineTo(0,e[1].y),t.lineTo(0,e[0].y),t.fill(),t.restore())},iChart.Charting.ChartHorizontalRange.prototype.drawExtended=function(t){var e,i,a;!this.settings.drawLabel||(e=this.getCoordinates(t,this.points)).length<2||(i=this.settings,a=this.layer.chart.renderer.formatNumber(this.layer.area.getYValue(e[0].y),{decimalPrecision:this.layer.chart.labelPrecision,scale:0}),this.layer.chart.renderer.drawLable(t,i.strokeStyle,0,this.layer.area.innerWidth,e[0].y,a))},iChart.Charting.ChartHorizontalRange.prototype.setTestSegments=function(){this.testContext.segments=[[{x:this.layer.area.innerOffset.left,y:this.testContext.points[0].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[0].y}],[{x:this.layer.area.innerOffset.left,y:this.testContext.points[1].y},{x:this.layer.area.innerOffset.left+this.layer.area.innerWidth,y:this.testContext.points[1].y}]]}}(),!function(T){"use strict";iChart.Charting.Crosshair=function(t){this.$chart=t.$chart,this.container=null,this.areas=null,this.dots=null,this.hidden=!0,this.pageX=null,this.pageY=null,this.pointMap=void 0,this.yLabel=null},iChart.Charting.Crosshair.prototype.hide=function(){if(!this.hidden){for(var t=0;t=c.innerOffset.left&&a.left<=c.innerOffset.left+c.innerWidth)||r.x,r.y=(r[o].y=a.top>=c.innerOffset.top&&a.top<=c.innerOffset.top+c.innerHeight)||r.y);if(r.x&&r.y){if(void 0===this.pointMap){if(0===(c=this.areas[0]).xSeries.length)return void this.hide();var h=c.getXIndex(a.left-c.innerOffset.left);if(hc.viewport.x.bounded.max)return void this.hide();h=Math.max(c.viewport.x.bounded.min,Math.min(c.viewport.x.bounded.max,Math.round(h))),a.left=c.innerOffset.left+Math.round(c.getXPositionByIndex(h));for(o=0;o"+f+""))}c.isLayer?T.grep(this.areas,function(t){return t.name===c.parentName})[0].tooltip.innerHTML+="   "+p.join("   "):c.tooltip.innerHTML=p.join("   ")}}}else{if(void 0===(n=this.pointMap[a.left]))return void this.hide();a.left=n.offset;for(o=0;o=c.innerOffset.top&&x<=c.innerOffset.top+c.innerHeight?(l.style.display="",l.style.left=a.left-4+"px",l.style.top=x-4+"px"):l.style.display="none")):l.style.display="none"}for(o=0;o",{class:"m-chart-d"}).css({"background-color":r,display:"none"}).insertAfter(this.$chart).get(0)).areaIndex=t,r.seriesIndex=a.index,r.seriesIndex2=i,r.yValueIndex=a.dotIndex||0,this.dots.push(r))}}},iChart.Charting.Crosshair.prototype._initPointMap=function(t){for(var e=0;e",{class:"m-chart-h"}).css({display:"none",left:a.innerOffset.left+"px",width:a.innerWidth+"px"}).insertAfter(this.$chart).get(0),a.vertical=T("
",{class:"m-chart-v"}).css({display:"none",top:a.innerOffset.top+"px",height:a.innerHeight+"px"}).insertAfter(this.$chart).get(0)),void 0===t.pointMap){if(a.viewport.x.bounded.min<=a.viewport.x.bounded.max){var r,s=[],n=Math.min(a.viewport.x.bounded.max,a.xSeries.length-1-a.chart.chartOptions.futureAmount);a.isLayer||(r=new Date(1e3*a.xSeries[n]),s.push(iChart.formatDateTime(r,"dd.MM.yyyy"+(this.showTime?" HH:mm":""))));for(var o=0;o"+p+""))}a.isLayer?T.grep(this.areas,function(t){return t.name===a.parentName})[0].tooltipInnerHtml+="   "+s.join("   "):a.tooltipInnerHtml=s.join("   ")}}else for(var u in t.pointMap)if(t.pointMap.hasOwnProperty(u)){void 0===(f=t.pointMap[u]).tooltips&&(f.tooltips=new Array(this.areas.length)),(s=[]).push(f.x);for(o=0;o"+m[c].v+"")}a.tooltipInnerHtml=s.join("   "),f.offset=u,f.tooltips[e]=a.tooltipInnerHtml}a.isLayer?(r=T.grep(this.areas,function(t){return t.name===a.parentName})[0],T(r.tooltip).html(r.tooltipInnerHtml||"")):("top"==a.chart.chartOptions.tooltipPosition?i=a.innerOffset.top-20:"bottom"==a.chart.chartOptions.tooltipPosition&&(i=a.innerOffset.top-38+a.innerHeight),a.tooltip=T("
",{class:"m-chart-t"}).css({left:a.innerOffset.left+"px",top:i+"px",background:a.chart.chartOptions.backgroundColor}).html(a.tooltipInnerHtml||"").insertAfter(this.$chart).get(0))}}if(void 0!==t.pointMap){this.pointMap=new Array(this.chartWidth);for(e=0;e",{class:"m-chart-y"}).css({background:t.chart.chartOptions.backgroundColor,display:"none",left:t.innerOffset.left+t.innerWidth-(t.chart.chartOptions.yLabelsOutside?0:50)+"px",position:"absolute",margin:"0 0 0 5px"}).insertAfter(this.$chart).get(0))},iChart.Charting.Crosshair.prototype._isEmptyPoint=function(t){if(void 0!==t)for(var e=0;e=i.area.offset.left&&t<=i.area.offset.left+i.area.outerWidth&&e>=i.area.offset.top&&e<=i.area.offset.top+i.area.outerHeight)return i.insideX=t>=i.area.innerOffset.left&&t<=i.area.innerOffset.left+i.area.innerWidth,i.insideY=e>=i.area.innerOffset.top&&e<=i.area.innerOffset.top+i.area.innerHeight,i.insideX||i.insideY?i:null;return null},iChart.Charting.Chart.prototype.getSeriesCollection=function(){for(var t=[],e=0;es.viewport.x.min&&s.loadMissingData(),s.indicatorsApply()},e))},iChart.Charting.Chart.prototype.indicatorsApply=function(){if(void 0!==this.env.TA){var o={};if(this.areas)for(var t=0;t",{class:"m-chart-warnings"}).appendTo(this.container):e.show(),e.text(t.join("\r\n"))):e.hide()},iChart.Charting.Chart.prototype.showTime=function(){return parseInt(this._dataSettings.timeframe,10)%1440!=0},iChart.Charting.Chart.prototype.toBase64=function(t){return this.toBase64withSize(t).string},iChart.Charting.Chart.prototype.toBase64withSize=function(t){var e=document.createElement("canvas");if(e.id="iChart-chart",e.style.left=0,e.style.position="absolute",e.style.top=-getElementSize(this.canvas).height,document.body.appendChild(e),void 0===e.getContext){if("undefined"==typeof FlashCanvas)return void alert(_t("87550","Ваш браузер не поддерживается."));FlashCanvas.initElement(e)}e.width=this.canvas.width,e.height=this.canvas.height;var i=iChart.getContext(e),i=(this.render({context:i,forceRecalc:!1,resetViewport:!1,testForIntervalChange:!1}),this.overlay.render(i),this.renderer.renderLegends(i),e.toDataURL(t)),t=($(e).remove(),";base64,");return{string:i.substring(i.indexOf(t)+t.length),height:e.height,width:e.width}},iChart.Charting.Chart.prototype.update=function(t){var e=$.extend(!0,{},this._dataSettings),i=(e.intervalMode="ClosedRay",t&&(e.intervalMode="OpenRay"),e.count=this.dataCountMin,this.areas[0].xSeries);0!==i.length&&(e.date_from=iChart.formatDateTime(new Date(1e3*i[i.length-this.chartOptions.futureAmount-1]),"dd.MM.yyyy HH:mm"),e.date_to=e.date_from,e.start=e.date_from),delete e.end,this.requestData(e,!1,!1,t)},iChart.Charting.Chart.prototype.updateData=function(t,e,i){if("ClosedRay"!==e.intervalMode&&"OpenRay"!==e.intervalMode)throw new Error("Interval mode '"+e.intervalMode+"' is invalid.");var a;return e.count<0?(t.xSeries.length<-e.count?this._dataStart=null:this._dataStart=new Date(1e3*t.xSeries[0]),i&&(this._dataEnd=iChart.parseDateTime(e.start))):(i&&(this._dataStart=iChart.parseDateTime(e.start)),t.xSeries.lengththis.historyEnd.getTime())&&(this.historyEnd=a),i?this._setData(t,e):0!==t.xSeries.length?(a=this._mergeData(t,e),e.count<0&&!a?this._dataStart=null:0a[0]&&0=t.xSeries[0];)d--;a[d]!=t.xSeries[0]&&d!=c&&(p=1),a.splice(d-=p,t.xSeries.length);for(l=0;ly.length)throw new Error("Y series count mismatch while merging chart data, expected "+s.length+", got "+y.length+".");for(n=0;nthis.viewport.x.max&&(r=this.viewport.x.min,this.viewport.x.min=this.viewport.x.max,this.viewport.x.max=r),0!=i&&null!==this.viewport.y.min&&null!==this.viewport.y.max&&(this.viewport.y.min=(this.viewport.areaName===a.name?this.viewport:s).y.min-i,this.viewport.y.max=(this.viewport.areaName===a.name?this.viewport:s).y.max-i)):t.position1.insideX?this._zoomInternal(a,(t.x2-t.x1)/a.innerWidth,"x",t.anchorX,null):t.position1.insideY&&this._zoomInternal(a,(t.y2-t.y1)/a.innerHeight,"y",null,t.anchorY),this._fixViewportBounds();break;case"zoom":var r=a.getXIndex((t.x1t.y2?t.y1:t.y2)-a.innerOffset.top),this.viewport.y.max=a.getYValue((t.y1>t.y2?t.y2:t.y1)-a.innerOffset.top);break;case"wait":break;default:throw new Error("Selection mode '"+t.mode+"' is invalid.")}this.viewport.areaName=a.name,this.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0}),this.loadMissingData(),"pan"==t.mode&&!a.isScroller&&this.chartOptions.inertialScrolling&&this.env.scrollTo(t)}}else this.chartOptions.showCurrentLabel=!this.chartOptions.showCurrentLabel,this.env.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{showCurrentLabel:this.chartOptions.showCurrentLabel}]),this.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0})},iChart.Charting.Chart.prototype._setData=function(t,e){if(this.areas)for(var i=0;i",{class:"m-chart-legend-color"}).css({"background-color":S}).html(" ")).add($("",{class:"m-chart-legend-name"}).css({color:S}).text(T.name)),S=T.name,A=$("
").append(A).html();4===T.valuesPerPoint?(T.dotIndex=3,this.isComparison?T.labels=[[3,A]]:T.labels=[[2,A+"O:"],[0,"H:"],[1,"L:"],[3,"C:"]]):2==T.valuesPerPoint?T.labels=[[1,A+_t("2589","Мин:")],[0,_t("2590","Макс:")]]:T.labels=[[0,A,S]]}if(a.axisX.showLabels=!0,a.enabled=!0,a.xSeries=t.xSeries,a.ySeries=n,this.areas.push(a),r.axisX.showLabels=!0,r.enabled=0!==this.chartOptions.scrollerHeight,r.xSeries=t.xSeries,r.ySeries=o,r.enabled&&this.areas.push(r),!this.isComparison){if(s.enabled=!0,s.enabled){s.enabled=!1;for(i=0;ithis.areas[0].ySeries[0].points[i][1])&&(e=this.areas[0].ySeries[0].points[i][1]);for(var a=(t-e)/50,r={},i=Math.floor(this.areas[0].viewport.x.min);i<=Math.ceil(this.areas[0].viewport.x.max);i++)void(r[i]=0)!==this.areas[2].ySeries&&(this.areas[2].ySeries[0].points[i]&&this.areas[0].ySeries[0].points[i]&&this.areas[0].ySeries[0].points[i][0]-this.areas[0].ySeries[0].points[i][1]!=0?r[i]=this.areas[2].ySeries[0].points[i][0]/(this.areas[0].ySeries[0].points[i][0]-this.areas[0].ySeries[0].points[i][1])*a:this.areas[2].ySeries[0].points[i]&&this.areas[0].ySeries[0].points[i]&&this.areas[0].ySeries[0].points[i][0]-this.areas[0].ySeries[0].points[i][1]==0&&(r[i]=this.areas[2].ySeries[0].points[i][0]));for(var s=[],n=[],o=t;et.xSeries.max||(new Date,new Date(1e3*t.xSeries[t.xSeries.min]),this.showTime()?this.dateFormat="HH:mm\r\nd MMM":this.dateFormat="d MMM\r\nyyyy")},iChart.Charting.Chart.prototype._testForIntervalChange=function(t){var e,i,a,r,s;this._dataSettings&&(e=this.areas[0],i=this._dataSettings.start,a=this._dataSettings.end,r=e.xSeries[e.viewport.x.bounded.min],s=e.xSeries[e.viewport.x.bounded.max],this._dataSettings.start=r&&(e.viewport.x.bounded.min!==e.xSeries.min||this._dataStart)?new Date(1e3*r):null,this._dataSettings.end=s&&(e.viewport.x.bounded.max!==e.xSeries.max||this._dataEnd)?new Date(1e3*s):null,void 0!==i)&&(!this._dataSettings.start!=!i||!this._dataSettings.end!=!a||this._dataSettings.start&&this._dataSettings.start.getTime()!==i.getTime()||this._dataSettings.end&&this._dataSettings.end.getTime()!==a.getTime())&&(this.onDataSettingsChange.call(this,t),this.onIntervalChange.call(this,this._dataSettings.start,this._dataSettings.end))},iChart.Charting.Chart.prototype._zoomInternal=function(t,e,i,a,r){if(!t){for(var s=0;s=this.chartOptions.maxZoom||e<0||0==this.chartOptions.maxZoom)&&(this.viewport.x.min+=e*(a-this.viewport.x.min)),"x"!==i&&(this.viewport.y.min+=e*(r-this.viewport.y.min),this.viewport.y.max-=e*(this.viewport.y.max-r))):(this.viewport.areaName!==t.name&&(this.viewport.y.min=null,this.viewport.y.max=null),this.viewport.areaName=t.name,null===this.viewport.x.min&&(this.viewport.x.min=t.scrollerViewport.x.bounded.min),null===this.viewport.x.max&&(this.viewport.x.max=t.scrollerViewport.x.bounded.max),n=(this.viewport.x.max-this.viewport.x.min)/10,a=0r||1==a)&&(this.viewport.x.min+=a*n,this.viewport.x.max+=a*n)),this.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0}),this.loadMissingData()}}(),!function(){"use strict";iChart.Charting.ChartArea=function(t){var e;this.axisX={},this.axisX.paddingLeft=0,this.axisX.paddingRight=0,this.axisX.pointPadding=.5,this.axisY={},this.axisY.PaddingTop=0,this.axisY.PaddingBottom=0,this.chart=t.chart,this.ignoreViewport=!!t.ignoreViewport,this.innerHeight=0,this.innerWidth=0,this.innerOffset={},this.innerOffset.left=0,this.innerOffset.top=0,this.isLayer=!!t.parentName,this.isScroller=!!t.isScroller,this.margin={},this.margin.bottom=0,this.name=t.name,this.offset={},this.offset.left=0,this.offset.top=0,this.onCalculateViewport=t.onCalculateViewport||$.noop,this.outerHeight=0,this.outerWidth=0,this.padding={},this.padding.top=0,this.padding.right=0,this.padding.bottom=0,this.padding.left=0,this.parentName=t.parentName,this.rotate=!!t.rotate,this.scrollerViewport=null,this.showAxes=void 0===t.showAxes||!!t.showAxes,this.showLabels=void 0===t.showLabels||!!t.showLabels,this.showLegend=void 0===t.showLegend||!!t.showLegend,this.showWatermark=void 0===t.showWatermark||!!t.showWatermark,this.viewport={},this.viewport.x={},this.viewport.x.bounded={},this.viewport.y={},this.xSeries=null,this.ySeries=[],this.isScroller&&($(this.chart.container).find("div.m-chart-scrollerOverlay").remove(),this.$scrollerOverlay=$("
").css({position:"absolute","z-index":1}).appendTo(this.chart.container),this.$scrollerOverlayRight=$("
").hide().css({}).appendTo(this.$scrollerOverlay),this.$scrollerOverlayCenter=$("
").hide().css({position:"absolute","z-index":1}).appendTo(this.$scrollerOverlay),this.$scrollerOverlayCenterR=$("
",{text:"|",class:"js-scrollerHandler m-chart-scrollerOverlayHandle"}).hide().css({}).appendTo(this.$scrollerOverlay),this.$scrollerOverlayCenterR.hover(function(){$(this).data("iChart-hover",!0)},function(){$(this).removeData("iChart-hover")}).attr("unselectable","on").css("user-select","none").on("selectstart",!1),this.$scrollerOverlayCenterL=$("
",{text:"|",class:"js-scrollerHandler m-chart-scrollerOverlayHandle"}).hide().css({}).appendTo(this.$scrollerOverlay),this.$scrollerOverlayCenterL.hover(function(){$(this).data("iChart-hover",!0)},function(){$(this).removeData("iChart-hover")}).attr("unselectable","on").css("user-select","none").on("selectstart",!1),this.$scrollerOverlayLeft=$("
").hide().css({}).appendTo(this.$scrollerOverlay),$(this.chart.container).find("div.m-chart-scrollforward").remove(),(e=this).$scrollForward=$("
").hide().appendTo(this.$scrollerOverlay).click(function(){e.chart.env.scrollForward()}))},iChart.Charting.ChartArea.prototype.calculateInnerDimensions=function(t){var e;this.isScroller?(this.scrollerViewport=this._calculateViewport(t),this.viewport=this._calculateViewport()):this.viewport=this._calculateViewport(t),this.viewport&&(this.innerOffset.left=this.offset.left+this.padding.left,this.innerOffset.top=this.offset.top+this.padding.top,this.innerWidth=this.outerWidth-this.padding.left-this.padding.right,this.innerHeight=this.outerHeight-this.padding.top-this.padding.bottom,this.rotate?(this.axisX.length=this.innerHeight,this.axisY.length=this.innerWidth):(this.axisX.length=this.innerWidth,this.axisY.length=this.innerHeight),t=this.axisX.paddingLeft*(this.viewport.x.max-this.viewport.x.min+2*this.axisX.pointPadding)/(this.axisX.length-2*this.axisX.paddingLeft),e=this.axisX.paddingRight*(this.viewport.x.max-this.viewport.x.min+2*this.axisX.pointPadding)/(this.axisX.length-2*this.axisX.paddingRight),this.axisX.min=this.viewport.x.min-this.axisX.pointPadding-t,this.axisX.max=this.viewport.x.max+this.axisX.pointPadding+e,this.axisX.pointWidth=Math.min(Math.max(0,Math.floor(.4*this.axisX.length/(this.viewport.x.max-this.viewport.x.min+1))),50),t=this.axisY.paddingTop*(this.viewport.y.max-this.viewport.y.min)/(this.axisY.length-2*this.axisY.paddingTop),e=this.axisY.paddingBottom*(this.viewport.y.max-this.viewport.y.min)/(this.axisY.length-2*this.axisY.paddingBottom),this.axisY.min=this.viewport.y.min-e,this.axisY.max=this.viewport.y.max+t,this.axisX.scale=this.axisX.length/(this.axisX.max-this.axisX.min),this.axisY.scale=this.axisY.min===this.axisY.max?0:this.axisY.length/(this.axisY.max-this.axisY.min),this.axisY.zeroPosition=Math.round(this.getYPosition(0,!1)),this.isScroller)&&(e=Math.round(this.getXPositionByIndex(this.scrollerViewport.x.bounded.min)),t=Math.round(this.getXPositionByIndex(this.scrollerViewport.x.bounded.max)),this.$scrollerOverlayLeft.show().width(e).height(this.innerHeight).css({left:this.innerOffset.left+"px",top:this.innerOffset.top+"px"}),this.$scrollerOverlayCenter.show().width(t-e).height(this.innerHeight).css({left:this.innerOffset.left+e+"px",top:this.innerOffset.top+"px"}),this.$scrollerOverlayCenterL.show().css({left:this.innerOffset.left+e-5+"px",top:this.innerOffset.top+this.innerHeight/2-11+"px"}),this.$scrollerOverlayCenterR.show().css({left:this.innerOffset.left+t-5+"px",top:this.innerOffset.top+this.innerHeight/2-11+"px"}),this.$scrollerOverlayRight.show().width(this.innerWidth-t).height(this.innerHeight).css({left:this.innerOffset.left+t+"px",top:this.innerOffset.top+"px"}),this.scrollerViewport.x.bounded.maxthis.xSeries.max?NaN:tthis.xSeries[this.xSeries.max]?t>this.xSeries[this.xSeries.max]?this.xSeries.max+(t-this.xSeries[this.xSeries.max])/(this.xSeries[this.xSeries.max]-this.xSeries[this.xSeries.max-1]):NaN:-1===(e=iChart.Charting.indexOfFirstElementGreaterThanOrEqualTo(this.xSeries,t))?NaN:(e!==this.xSeries.min&&(e-=(this.xSeries[e]-t)/(this.xSeries[e]-this.xSeries[e-1])),e)},iChart.Charting.ChartArea.prototype.getXIndexByValue2=function(t){var e;return!$.isNumeric(t)||this.xSeries.min>this.xSeries.max?NaN:tthis.xSeries[this.xSeries.max]?this.xSeries.max:-1===(e=iChart.Charting.indexOfFirstElementGreaterThanOrEqualTo(this.xSeries,t))?NaN:(e!==this.xSeries.min&&(e-=(this.xSeries[e]-t)/(this.xSeries[e]-this.xSeries[e-1])),e)},iChart.Charting.ChartArea.prototype.getXPositionByValue=function(t){t=this.getXIndexByValue(t);return isNaN(t)?NaN:this.getXPositionByIndex(t)},iChart.Charting.ChartArea.prototype.getXValue=function(t){var t=this.getXIndex(t),e=Math.floor(t),i=Math.ceil(t);if(!(ithis.xSeries.max?this.xSeries[this.xSeries.max]+(t-this.xSeries.max)*(this.xSeries[this.xSeries.max]-this.xSeries[this.xSeries.max-1]):e===i?this.xSeries[e]:this.xSeries[e]+(t-e)*(this.xSeries[i]-this.xSeries[e])},iChart.Charting.ChartArea.prototype.getYMinMax=function(t,e){for(var i={isStartedFromZero:!1,min:null,max:null},a=0;a=1e3*this.xSeries[t]&&d.points[o].x<=1e3*this.xSeries[e]||d.positionAbsolute)p=!0;else if(d.points[o].xthis.xSeries[this.xSeries.length-1]){p=!1;break}if(p)for(var u,o=0;o",{class:"m-chart-area-close",text:"×",title:_t("5428","Скрыть")}).appendTo(this.chart.container),this.$closeButton.on("click",$.proxy(this.onClose,this))),this.$closeButton.css({top:this.offset.top+"px"}))},iChart.Charting.ChartArea.prototype._calculateViewport=function(t){var e,i,a;return 0===this.xSeries.length?null:((e={x:{}}).x.bounded={},e.y={},this.ignoreViewport||!t?(e.x.min=this.xSeries.min,e.x.bounded.min=this.xSeries.min):null===t.x.min?(-1===(i=(a=this.chart._dataSettings.start)?iChart.Charting.indexOfFirstElementGreaterThanOrEqualTo(this.xSeries,Math.round(a.getTime()/1e3)):0)&&(console.warn("Start date/time '"+a.toString()+"' is outside the bounds of the data."),i=0),e.x.min=i,e.x.bounded.min=i):(e.x.min=t.x.min,e.x.bounded.min=Math.max(this.xSeries.min,Math.floor(t.x.min))),this.ignoreViewport||!t?(e.x.max=this.xSeries.max,e.x.bounded.max=this.xSeries.max):null===t.x.max?this.chart._dataSettings.end?(a=this.chart._dataSettings.end,-1===(i=iChart.Charting.indexOfLastElementLessThanOrEqualTo(this.xSeries,Math.round(a.getTime()/1e3)))&&(console.error("End date/time '"+a.toString()+"' is outside the bounds of the data."),i=this.xSeries.length-1),e.x.max=i,e.x.bounded.max=i):(e.x.max=this.xSeries.max,e.x.bounded.max=this.xSeries.max):(e.x.max=t.x.max,e.x.bounded.max=Math.min(this.xSeries.max,Math.ceil(t.x.max))),this.ignoreViewport||!t?(e.y.min=this.ySeries.bounds.min,e.y.max=this.ySeries.bounds.max):(e.y.min=t.y.min,e.y.max=t.y.max,null!==e.y.min&&null!==e.y.max||(e.x.bounded.min===this.xSeries.min&&e.x.bounded.max===this.xSeries.max?(null===t.y.min&&(e.y.min=this.ySeries.bounds.min),null===t.y.max&&(e.y.max=this.ySeries.bounds.max)):(a=this.getYMinMax(e.x.bounded.min,e.x.bounded.max),null===t.y.min&&(e.y.min=a.min),null===t.y.max&&(e.y.max=a.max)))),this.ySeries.bounds.isStartedFromZero&&(null!==e.y.min&&0this.labelValue?this.labelColor=i="#7cb342":i=this.chart.chartOptions.labelColor||"#333",this.labelValue=o,r&&s?this.drawLable(e,i,"#FFFFFF",a,n,t,{bidY:r,offerY:s}):this.drawLable(e,i,"#FFFFFF",a,n,t)},iChart.Charting.ChartRenderer.prototype.drawLable=function(t,e,i,a,r,s,n){e=e||"#333333",i=i||"#FFFFFF",t.save(),t.font="normal 11px Arial,Helvetica,sans-serif",t.textAlign="left",t.textBaseline="middle",t.fillStyle=e,t.strokeStyle=e,t.fillRect(a+8,r-8,t.measureText(s).width+10,15),t.beginPath(),t.moveTo(a+8,r-8),t.lineTo(a+8,r+7),t.lineTo(a,r),t.lineTo(a+8,r-8),t.lineTo(a+8,r+7),t.closePath(),t.fill(),t.fillStyle=i,t.fillText(s,a+8,r),t.translate(.5,.5),t.beginPath(),t.lineWidth=1,t.moveTo(0,r),t.lineTo(a,r),t.stroke(),t.closePath(),n&&(t.beginPath(),t.fillStyle="#f44336",t.moveTo(a-4,n.bidY-4),t.lineTo(a-4,n.bidY+3),t.lineTo(a,n.bidY),t.lineTo(a-4,n.bidY-4),t.lineTo(a-4,n.bidY+3),t.fill(),t.closePath(),t.beginPath(),t.fillStyle="#7cb342",t.moveTo(a-4,n.offerY-4),t.lineTo(a-4,n.offerY+3),t.lineTo(a,n.offerY),t.lineTo(a-4,n.offerY-4),t.lineTo(a-4,n.offerY+3),t.fill(),t.closePath()),t.restore()},iChart.Charting.ChartRenderer.prototype.renderAxes=function(t,e){e.save(),e.translate(.5,.5),e.strokeStyle=this.chart.chartOptions.axisColor,e.beginPath(),e.moveTo(0,0),e.lineTo(t.axisX.length,0),e.lineTo(t.axisX.length,t.axisY.length),e.lineTo(0,t.axisY.length),e.closePath(),e.stroke(),e.restore()},iChart.Charting.ChartRenderer.prototype.renderChart=function(t){var e=getElementSize(t.canvas);t.clearRect(0,0,e.width,e.height),t.fillStyle=this.chart.chartOptions.backgroundColor,t.fillRect(0,0,e.width,e.height);for(var i=0;ii.viewport.x.bounded.max)){t.save(),t.translate(i.innerOffset.left,i.innerOffset.top-3),t.fillStyle="#000000",t.font="11px Tahoma",t.textAlign="left",t.textBaseline="bottom";for(var a=new Date(1e3*i.xSeries[i.viewport.x.bounded.max]),a=iChart.formatDateTime(a,this.chart.showTime()?"dd.MM.yyyy HH:mm":"dd.MM.yyyy"),r=(t.fillText(a,0,0),t.measureText(a)),s=(t.translate(r.width+7,0),i.ySeries.slice(0)),n=0;nt.viewport.x.bounded.max)){"HLOC"===e.kind&&(this.chart.isComparison?e.chartType="Line":t.isScroller?e.chartType="Area":e.chartType=this.chart.chartOptions.chartType),i.fillStyle=e.color,i.strokeStyle=e.color,"HLOC"===e.kind?("Line"===e.chartType?(i.lineWidth=this.chart.chartOptions.lineWidth,(r=$.extend([],this.chart.chartOptions.seriesColors)).splice(0,0,this.chart.chartOptions.lineColor),i.fillStyle=i.strokeStyle=r[a%r.length]):e.width?i.lineWidth=e.width:i.lineWidth=1,"Column"===e.chartType&&(i.fillStyle=t.chart.chartOptions.volumeStyle,i.strokeStyle=t.chart.chartOptions.volumeStyle)):"Volume"===e.kind?"Column"===e.chartType&&(i.fillStyle=t.chart.chartOptions.volumeStyle,i.strokeStyle=t.chart.chartOptions.volumeStyle):e.width&&"Column"!==e.chartType?i.lineWidth=e.width:"Area"===e.chartType||"Line"===e.chartType?i.lineWidth=2:i.lineWidth=1;for(var r,a="Area"===e.chartType||"Candlestick"===e.chartType||"Column"===e.chartType&&0===t.axisX.pointWidth||"Line"===e.chartType||"Stock"===e.chartType,s=(a&&i.beginPath(),{}),n=t.viewport.x.bounded.min;n<=t.viewport.x.bounded.max;++n)this.renderPoint(t,e,n,i,s);a&&i.stroke(),"Area"===e.chartType&&(r=t.getXPositionByIndex(Math.min(e.points.length-this.chart.chartOptions.futureAmount-1,t.viewport.x.bounded.max)),i.fillStyle=this.chart.chartOptions.areaColor,i.lineTo(r,Math.round(t.getYPosition(t.axisY.min))),i.lineTo(t.getXPositionByIndex(t.viewport.x.bounded.min),Math.round(t.getYPosition(t.axisY.min))),i.closePath(),i.fill())}},iChart.Charting.ChartRenderer.prototype.renderSeriesCollection=function(t,e){e.save(),e.translate(.5,.5),e.beginPath(),e.moveTo(1,1),e.lineTo(1,t.axisY.length-1),e.lineTo(t.axisX.length-1,t.axisY.length-1),e.lineTo(t.axisX.length-1,1),e.closePath(),e.clip();for(var i=0;i=-t.axisY.length;l-=4)e.moveTo(n,l),e.lineTo(n,l+3);else"solid"===this.chart.chartOptions.gridStyle&&(e.moveTo(n,0),e.lineTo(n,-t.axisY.length));e.stroke()}}e.restore()},iChart.Charting.ChartRenderer.prototype.renderYLabel=function(t,e,i,a){var i=this.formatNumber(e,{decimalPrecision:this.chart.labelPrecision,scale:i}),r=Math.round(t.getYPosition(e,!1));if(this.chart.chartOptions.showAxes&&(a.strokeStyle=this.chart.chartOptions.axisColor,a.beginPath(),a.moveTo(0,r),a.lineTo(5,r),a.stroke()),this.chart.chartOptions.showLabels&&(a.fillStyle=this.chart.chartOptions.labelColor,this.chart.chartOptions.yLabelsOutside?a.fillText(i,8,r):a.fillText(i,10*-Math.ceil(a.measureText(i).width/10),r-5)),a.beginPath(),0===e)a.strokeStyle=this.chart.chartOptions.axisColor,a.moveTo(0,r),a.lineTo(-t.axisX.length,r);else if(a.strokeStyle=this.chart.chartOptions.gridColor,"dashed"===this.chart.chartOptions.gridStyle)for(var s=-4;s>=-t.axisX.length;s-=4)a.moveTo(s,r),a.lineTo(s+3,r);else"solid"===this.chart.chartOptions.gridStyle&&(a.moveTo(0,r),a.lineTo(-t.axisX.length,r));a.stroke()},iChart.Charting.ChartRenderer.prototype.renderYLabels=function(t,e){var i;if(e.save(),e.translate(t.axisX.length,.5),e.font=this.chart.chartOptions.labelFont,e.textAlign="left",e.textBaseline="middle",0<(i=this.chart.chartOptions.yLabelsOutside?(t.axisY.max-t.axisY.min)/(t.axisY.length/20):(t.axisY.max-t.axisY.min)/(t.axisY.length/(t.axisY.length/4)))){for(var a=0;i<1;)--a,i*=10;for(;10<=i;)++a,i/=10;for(var r=[1,1.5,2,2.5,3,4,5,7.5],s=0;r[s]=t.axisY.min;)this.renderYLabel(t,c,n,e),c-=i,l=!0;l||this.renderYLabel(t,(t.axisY.max+t.axisY.min)/2,n,e),e.restore()}}(),!function(){"use strict";iChart.Charting.ChartSelection=function(t){this.$container=$(t),this.$selection=$("
",{class:"m-chart-selection"}).appendTo(this.$container),this.$container.off("mouseup.selection").off("mousedown.selection").off("mousemove.selection"),$(this.$container).on("mouseup.selection",this,function(t){t.data.disabled||t.data.selection&&(t.data.selection=!1,t.data.$selection.hide(),t.data.recalculateContainerPosition(),t.data.x2=t.pageX-t.data.containerOffset.left,t.data.y2=t.pageY-t.data.containerOffset.top,0<=t.data.x2)&&t.data.x2<=t.data.containerWidth&&0<=t.data.y2&&t.data.y2<=t.data.containerHeight&&t.data.moveend&&t.data.moveend(t.data)}),this.$container.on("mousedown.selection",this,function(t){t.data.disabled||1!=t.which||(iChart.animateId&&cancelAnimationFrame(iChart.animateId),t.data.selection=!0,t.data.recalculateContainerPosition(),t.data.x1=t.pageX-t.data.containerOffset.left,t.data.y1=t.pageY-t.data.containerOffset.top,t.data.timeStampLast=t.timeStamp,t.data.timeStamp=t.timeStamp,t.data.xPrev=t.data.x1,t.data.yPrev=t.data.y1,t.data.movestart&&t.data.movestart(t.data))}),this.$container.on("mousemove.selection",this,function(t){var e,i;t.data.disabled||t.data.selection&&(e=t.pageX,i=t.pageY,void 0===e&&(e=t.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=t.clientY+document.body.scrollTop+document.documentElement.scrollTop),e=Math.round(e-t.data.containerOffset.left),i=Math.round(i-t.data.containerOffset.top),t.data.x2===e&&t.data.y2===i||(t.data.xPrev=t.data.x2,t.data.yPrev=t.data.y2,t.data.x2=e,t.data.y2=i,t.data.timeStampLast=t.data.timeStamp,t.data.timeStamp=t.timeStamp,t.data.xSpeed=Math.abs(t.data.xPrev-e)/(t.data.timeStamp-t.data.timeStampLast),0<=t.data.x2&&t.data.x2<=t.data.containerWidth&&0<=t.data.y2&&t.data.y2<=t.data.containerHeight&&(i=!0,i=t.data.move?t.data.move(t.data):i)&&t.data.$selection.css({display:"",left:self.x1=h.chart.chartOptions.maxZoom&&(h.chart.viewport.x.min=a,h.chart.viewport.x.max=r,h.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0}),h.chart.loadMissingData()))}}})},iChart.Charting.ChartTouches.prototype.disabled=!1,iChart.Charting.ChartTouches.prototype.startTouchIndexes=[],iChart.Charting.ChartTouches.prototype.lastGesture=null}(),!function(){"use strict";iChart.Charting.Prediction=function(t,e){return this.data=t,this.chart=e,this.style={patternend:{strokeStyle:"rgb(153,153,153)",lineWidth:1,lineDash:[7,2]},rectangle:{up:{strokeStyle:"rgb(0,137,0)",lineWidth:1,lineDash:[5,2],fillStyle:"rgba(0,137,0,.3)"},down:{strokeStyle:"rgb(255,2,27)",lineWidth:1,lineDash:[5,2],fillStyle:"rgba(255,2,27,.3)"}},polygon:{strokeStyle:"rgb(102,178,139)",strokeStyle2:"rgb(72,118,177)",lineWidth:3,fillStyle:"rgba(82,175,201,.2)"},fibonacci:{correction:{strokeStyle:"rgb(119,119,119)"},arrow:{strokeStyle:"rgb(251,0,251)",lineWidth:1},line:{strokeStyle:"rgb(204,204,204)",lineWidth:1}},arrow:{down:{strokeStyle:"rgb(219,132,61)",lineWidth:3},up:{strokeStyle:"rgb(15,156,0)",lineWidth:3}},line:{simple:{strokeStyle:"rgb(153,153,153)"},resistance:{strokeStyle:"rgb(102,178,139)",lineWidth:2},support:{strokeStyle:"rgb(72,118,177)",lineWidth:2},patternend:{strokeStyle:"rgb(153,153,153)",lineWidth:1,lineDash:[7,2]}},label:{size:15}},this},iChart.Charting.Prediction.prototype.draw=function(){switch(this.data.patterntype){case"ChartPattern":this.ChartPattern();break;case"FibonacciPattern":this.FibonacciPattern();break;case"KeyLevelsPattern":this.KeyLevelsPattern();break;default:return}this.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!1})},iChart.Charting.Prediction.prototype.getTimeRange=function(){switch(this.data.patterntype){case"ChartPattern":return[1e3*(e=Math.min(this.data.resistancex0,this.data.supportx0)),1e3*(i=null!=this.data.predictiontimefrom?this.data.predictiontimeto:parseInt(this.data.patternendtime)+60*this.data.interval*7)];case"FibonacciPattern":var t=this.data.timeA,e=t=0
'),$.templates("iChart_topToolBarTmpl",'
1m
5m
3M
YTD
1Y
5Y
'),$.templates("indicatorsCurrentTmpl",'{{for userData}}
{{:name}} {{if params}}{{* window.i=0;}}({{props params}}{{* if (i>0) { }}, {{* } }}{{>prop}}{{* i++;}}{{/props}}){{/if}}
{{/for}}'),$.templates("indicatorsListTmpl",''),$.templates("indicatorsDropdownTmpl",'
{{include tmpl="indicatorsCurrentTmpl"/}}
{{include tmpl="indicatorsListTmpl"/}}
'),$.templates("indicatorDialogTmpl",''),$.templates("captureDialogTmpl",'"),$.templates("themeConfigSelectorTmpl",'"),$.templates("themeConfigTmpl",'"),$.templates("themeConfigOptionsTmpl",'
'+_t("13643","Фон")+'
'+_t("13644","Линии осей")+'
'+_t("13645","Цвет осей")+'
'+_t("13646","Цвет меток")+'
'+_t("87207","Цвет текста лейблов")+'
'+_t("13647","Цвет сетки")+'
'+_t("13648","Цвет текста подложки")+'
'+_t("13649","Цвет области")+'
'+_t("13650","Цвет границы области")+'
'+_t("13651","Цвет объемов")+'
'+_t("13652","Цвет фона скроллера")+'
'+_t("13653","Цвет скроллера")+'
'+_t("15810","Цвет теней")+'
'+_t("3103","Свеча вверх")+'
'+_t("3104","Свеча вниз")+'
'+_t("13654","Обводка свечи")+'
'+_t("13655","Обводка свечи вверх")+'
'+_t("13656","Обводка свечи вниз")+'
'+_t("13657","Тень свечи")+'
'+_t("13658","Цвет тени свечи")+'
'+_t("13659","Бар вверх")+'
'+_t("13660","Бар вниз")+'
'+_t("13661","Толщина бара")+'
'+_t("1365","Линия")+'
'+_t("13662","Толщина линии")+'
'),$.templates("iChart_intervalsTmpl",'
{{for intervals}}{{:name}}{{/for}}
'),$.templates("iChart_textPopupSettingsTmpl",'");var iChartDataSource={data:{},dataSettings:{useHash:!1,date_from:formatDate(-90),date_to:formatDate(0),graphicIndicators:"",timeframe:1440,hash:"",id:"AAPL.US",interval:"D1",compareIds:"",compareStocks:"",compareTickets:"",start:"",end:""},host:"",url:"/api",getUrl:function(t){var e={id:t.id,compareIds:t.compareIds,compareStocks:t.compareStocks,compareTickets:t.compareTickets,count:t.count,timeframe:iChart.getChartTimeframe(t.interval),date_from:t.date_from,date_to:t.date_to,interval:t.interval,intervalMode:t.intervalMode,type:t.type,demo:t.demo},t=(t.isTheoreticalData&&(e.isTheoreticalData=t.isTheoreticalData),e.hash=e.id.toString()+(e.date_from?Date.parse(e.date_from).toString():"")+Date.parse(e.date_to).toString()+JSON.stringify(e).hashCode(),{q:JSON.stringify({cmd:"getHloc",params:e})});return iChartDataSource.host+iChartDataSource.url+"?"+iChart.toQueryString(t)},onRequestCallback:function(r,t){if(!t.id)return 0;t.demo="undefined"!=typeof jNTUserinfo&&jNTUserinfo.isDemo?1:0;var s=t,n=this,o=this.chart;this.chart.wrapper.trigger("iguanaChartEvents",["chartDataRequest",iChartDataSource.getUrl(t)]),this.chart.ajaxDataRequest=$.ajax({url:iChartDataSource.getUrl(t),dataType:"text json",error:function(t,e,i){clearTimeout(o.timers.loading),o.wrapper.trigger("iguanaChartEvents",["clearLoader"]),o.viewData.chart.setSelectionMode("pan"),console.log("Error: "+e),r({success:!1})},success:function(t,e,i){var a;o.wrapper.trigger("iguanaChartEvents",["chartDataReceived",t]),t.info&&t.info[o.dataSource.dataSettings.id]?(a=t.info[o.dataSource.dataSettings.id],o.userSettings.currentSecurity={id:a.nt_ticker,short_name:a.short_name,default_ticker:a.default_ticker,nt_ticker:a.nt_ticker,firstDate:a.firstDate,currency:a.currency,min_step:a.min_step},o.viewData.chart.chartOptions.watermarkText=a.nt_ticker,o.viewData.chart.chartOptions.watermarkSubText=a.short_name,t=n.dataAdapter(t,s),clearTimeout(o.timers.loading),o.wrapper.trigger("iguanaChartEvents",["clearLoader"]),o.viewData.chart.setSelectionMode("pan"),0==t.success&&console.log("ERROR:",t.d.Message),r(t||{warnings:[_t("2125","Ошибка: пустой ответ.")],success:!1}),o.response=t.d,o.wrapper.trigger("iguanaChartEvents",["chartDataReady",t]),o.dataRequestCounter++,o.fixViewport(),o.updateUnlocked=!0):(t.hloc={},t=n.dataAdapter(t,s),clearTimeout(o.timers.loading),o.wrapper.trigger("iguanaChartEvents",["clearLoader"]),o.viewData.chart.setSelectionMode("pan"),0==t.success&&console.log("ERROR:",t.d.Message),r(t||{warnings:[_t("2125","Ошибка: пустой ответ.")],success:!1}),o.response=t.d,o.dataRequestCounter++,o.userSettings.currentSecurity.firstDate=o.getDefaultDateFrom(o.viewData.chart._dataSettings.interval,!1),o.viewData.chart._dataSettings.date_from=o.getDefaultDateFrom(o.viewData.chart._dataSettings.interval,!0),o.setDatePeriod(o.viewData.chart._dataSettings.interval,o.viewData.chart._dataSettings.date_from,o.viewData.chart._dataSettings.date_to),a=iChart.parseDateTime(o.viewData.chart._dataSettings.date_from),t=iChart.parseDateTime(o.viewData.chart._dataSettings.date_to),o.checkPeriodInterval(o.viewData.chart._dataSettings.interval),o.checkDateInterval(a,t),o.updateUnlocked=!0,o.fixViewport(),o.wrapper.trigger("iguanaChartEvents",["noDataInRequestResponse"]))}})},preInitCallback:function(t,e){if((e=void 0===e?{}:e).ticker=e.ticker||this.chart.dataSource.dataSettings.id||"SBER",e.f_history=void 0===e.f_history?0:e.f_history,this.chart.userSettings=$.extend(!0,{},$iguanaChart.defaultSettings,e.userSettings),e.hash){this.chart.dataSource.dataSettings.hash=e.hash;var i,a=iChart.parseQueryString(e.hash.substr(1));for(i in this.chart.dataSource.dataSettings)a[i]&&(this.chart.dataSource.dataSettings[i]=a[i]);var r,s=[];for(r in a)r.match(new RegExp("^i[0-9]","i"))&&(s[r.charAt(0)+r.substr(1)]=a[r]);s.length&&(this.chart.dataSource.dataSettings.graphicIndicators=iChart.toQueryString(s)),e.ticker=a.id,e.interval=a.interval}this.chart.userSettings.currentSecurity={id:e.ticker,short_name:e.ticker,default_ticker:e.ticker,nt_ticker:e.ticker,firstDate:"",currency:"",min_step:""},this.chart.dataSource.dataSettings.useHash=!1,this.chart.dataSource.dataSettings.id=e.ticker,this.chart.dataSource.dataSettings.intervalRestriction="",e.chartOptions.watermarkText=e.ticker,e.chartOptions.watermarkSubText=e.ticker,void 0!==e.type&&(e.chartOptions.chartType=e.type),t(e.chartOptions)}},APO,APO,PPO,PPO;IguanaChart=function(t){"use strict";var o=this;this.name=t.name||"chart",this.container=t.container||"#iChart-chart-container",this.wrapper=t.wrapper,this.lib_path=t.lib_path||"/dist/iguanacharts/",this.toQueryString=function(t){var e,i=[];for(e in t){var a=t[e];if(void 0!==a&&""!==a)if($.isArray(a))for(var r=0;r";for(r in this.viewData.indicators)"TA_LIB"==this.viewData.indicators[r].type&&(s+='");var n='
'+_t("12834","Индикатор")+" "+(t+1)+'
";this.uiGraphIndicatorsWindow2.element.find(".js-chartTADialogContainer").append(n),a=this.uiGraphIndicatorsWindow2.element.find(".js-chartTADialog-i"+t+"-settings")}$(".iChart-indicator-description, .iChart-indicator-parameters, .iChart-indicator-colors, .iChart-indicator-width",a).remove();for(var n=this.viewData.indicators[e.name]||{description:"",parameters:[]},o=($("
",{class:"iChart-indicator-description"}).html(n.description).appendTo(a),n.parameters),h=0;h",{class:"iChart-indicator-parameters uk-form",text:o[h].Name+": "}).appendTo(a);$("",{name:l,type:"text",value:o[h].Value,class:"uk-form-small"}).css({width:"50px"}).appendTo(c)}var d=$("
",{class:"iChart-indicator-colors",id:"iChart-indicator-colors"}).appendTo(a),p=$("
",{class:"iChart-indicator-width",id:"iChart-indicator-width"}).appendTo(a),u=t;if(this.viewData.indicators[e.name])for(var g,m=0;m",{type:"hidden",class:"iChart-indicator-color iChart-indicator-color-"+u+m,id:"iChart-indicator-color-"+u+m,indicator:e.name,colorIndex:u+"-"+m,"ui-pos":u<2?"bottom":"top"}).val(g).appendTo(d),this.initInsrMinicolors($(".iChart-indicator-color-"+u+m)),g=2,this.userSettings.chartSettings.indicatorsWidth[e.name]&&this.userSettings.chartSettings.indicatorsWidth[e.name][u]&&this.userSettings.chartSettings.indicatorsWidth[e.name][u][m]&&(g=this.userSettings.chartSettings.indicatorsWidth[e.name][u][m]),g=$('').appendTo(p),$('').appendTo(p),this.initIndicatorWidthMenu(g,$(".indicatorMenuHolder-"+u+m+"[data-chartName='"+this.name+"']").html()));i&&this.update()},this.setIndicators=function(t){var n;window.localStorage.setItem("userSettingsGraphicIndicators",t),this.dataSource.dataSettings.graphicIndicators=t,this.setScheduleUpdateState(0),this.TA.removeIndicator(),void 0!==o.TA&&(n=iChart.parseQueryString(this.dataSource.dataSettings.graphicIndicators),$.each(n,function(t,e){var i={};if(e&&t.match(/^i[0-9]+$/)&&o.viewData.indicators[e]&&"TA_LIB"==o.viewData.indicators[e].type){for(var a=t.match(/^i([0-9]+)$/)[1],r=0;r").animate({width:a},{duration:t,step:function(t,e){o.viewData.chart.viewport.x.min=a-t,o.viewData.chart.viewport.x.max=o.viewData.chart.viewport.x.min+i,o.viewData.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0})}})},this.scrollForward=function(){this.viewData.chart.viewport.x.min=this.viewData.chart.areas[0].viewport.x.min,this.viewData.chart.viewport.x.max=this.viewData.chart.areas[0].viewport.x.max;var i=this.viewData.chart.viewport.x.max-this.viewData.chart.viewport.x.min,t=this.viewData.chart.areas[0].xSeries.length-1-this.viewData.chart.chartOptions.futureAmount,e=$("

").css({width:this.viewData.chart.viewport.x.max}),a=t-this.viewData.chart.viewport.x.max+1500;e.animate({width:t},{duration:a,step:function(t,e){o.viewData.chart.viewport.x.max=t,o.viewData.chart.viewport.x.min=t-i,o.viewData.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!0})},complete:function(){o.viewData.chart.onDataSettingsChange.call(o.viewData.chart),o.wrapper.trigger("iguanaChartEvents",["hashChanged"])}})},this.scrollTo=function(e){var t=e.xSpeed;if(t<.05)return!1;var i=1e3+100*t,a=t,r=-a/i,s=this,n=this.viewData.chart.viewport.x.min,o=this.viewData.chart.viewport.x.max;iChart.animate({duration:i,timing:function(t){return t},draw:function(t){!isNaN(t)&&0e.x2?(s.viewData.chart.viewport.x.min=n+t,s.viewData.chart.viewport.x.max=o+t):e.x1=r.getTime()&&t.getTime()r.getTime()+6e4*this.viewData.chart._dataSettings.timeframe&&(i=this.getLastPoint(),a={hloc:{},vl:{},xSeries:{}},(r=[])[0]=e.ltp,r[1]=e.ltp,r[2]=e.ltp,r[3]=e.ltp,a.hloc[Object.keys(i.xSeries)[0]]=[r],a.vl[Object.keys(i.xSeries)[0]]=[e.vol],r=(t.getTime()-t.getTime()%(6e4*this.viewData.chart._dataSettings.timeframe))/1e3-getTimeOffsetServer(tzOffsetMoscow),a.xSeries[Object.keys(i.xSeries)[0]]=[r],this.addPoint(a)))},this.getLastPoint=function(){var i,a,r,s,t;if(void 0!==this.viewData.chart&&this.viewData.chart.areas&&this.viewData.chart.canvas)return i=this.viewData.chart.areas[0].ySeries[0].points.length-this.viewData.chart.chartOptions.futureAmount-1,a=this.viewData.chart.areas[0].ySeries[0].name,r={},s={},(t={})[a]=[this.viewData.chart.areas[0].xSeries[i]],$.each(this.viewData.chart.areas,function(t,e){$.each(e.ySeries,function(t,e){0<=$.inArray(e.kind,["HLOC","Volume"])&&("HLOC"==e.kind&&(r[a]=[e.points[i]]),"Volume"==e.kind)&&(s[a]=[e.points[i]])})}),{hloc:r,vl:s,xSeries:t}},this.getLastPointX=function(){var t;return!(void 0===this.viewData.chart||!this.viewData.chart.areas||!this.viewData.chart.canvas)&&(t=this.viewData.chart.areas[0].ySeries[0].points.length-this.viewData.chart.chartOptions.futureAmount-1,this.viewData.chart.areas[0].xSeries[t])},this.addTransactions=function(t,e){if(void 0!==this.viewData.chart){t:for(var i=0;ithis.viewData.chart.viewport.x.max&&(this.viewData.chart.viewport.x.max=30),this.viewData.chart.render({forceRecalc:!0,resetViewport:!1,testForIntervalChange:!1}))},this.switchTrading=function(){this.userSettings.chartSettings.tradingToolsEnable=this.userSettings.chartSettings.tradingToolsEnable?0:1,window.localStorage.setItem("userSettingsTradingToolsEnable",this.userSettings.chartSettings.tradingToolsEnable),$(this.container).trigger("iguanaChartEvents",["chartTradingTools",this.userSettings.chartSettings.tradingToolsEnable])},this.tradingToolsControl=function(){this.userSettings.chartSettings.tradingToolsEnable},this.addEvents=function(t){t=t||[];for(var e=0;e(t[e]=this.getPeriodByInterval(e),t),{}));const s=[];t.forEach(t=>{let e=intervalNames(t);var i=intervalShortNames(r[t]);i&&(e=e+" > "+i),s.push({text:e,value:t,restriction:r[t]})}),t.includes(a)||(a=t[0]),this.dataSource.dataSettings.interval=a;e={restriction:r,dataSource:s,value:a,text:intervalNames(a),selectedCandleMode:this.dataSource.dataSettings.candleMode,candleModes:iChart.candleModes};return(i||JSON.stringify(this.dataSource.dataSettings.intervalRestriction)!==JSON.stringify(r)&&a===this.dataSource.dataSettings.interval)&&(this.dataSource.dataSettings.intervalRestriction=r,$(this.container).trigger("iguanaChartEvents",["intervalRestriction",e])),e},this.checkPeriodInterval=function(t,e){void 0===e&&(e=!0);var i=new Date,a=new Date,e=$(t).val();switch(e){case"D1":break;case"D7":a.setDate(i.getDate()-7);break;case"M1":a.setMonth(i.getMonth()-1);break;case"M3":a.setMonth(i.getMonth()-3);break;case"M6":a.setMonth(i.getMonth()-6);break;case"Y1":a.setFullYear(i.getFullYear()-1);break;case"Y5":a.setFullYear(i.getFullYear()-5);break;default:a.setMonth(i.getMonth()-3)}e?($("#date_to").val(iChart.formatDateTime(i,"dd.MM.yyyy")),$("#date_from").val(iChart.formatDateTime(a,"dd.MM.yyyy"))):(t=(Date.parse($("#date_to").val())-Date.parse($("#date_from").val()))/1e3,"D1"==$("#interval").val()&&t<86400?$("#date_from").val(iChart.formatDateTime(new Date(Date.parse($("#date_from").val()).getTime()-6048e5),"dd.MM.yyyy")):"D7"==$("#interval").val()&&t<604800&&$("#date_from").val(iChart.formatDateTime(new Date(Date.parse($("#date_from").val()).getTime()-12096e5),"dd.MM.yyyy")))},this.checkPeriod=function(t){var e=iChart.parseDateTime(this.dataSource.dataSettings.date_to),i=new Date(e),a=t.match(/([D,M,Y])(\d+)/);if(a)switch(a[1]){case"D":i.setDate(e.getDate()-+a[2]);break;case"M":i.setMonth(e.getMonth()-+a[2]);break;case"Y":i.setFullYear(e.getFullYear()-+a[2]);break;case"YTD":i.setDate(1),i.setMonth(0),i.setFullYear(e.getFullYear())}else t="D1";t?(this.dataSource.dataSettings.date_from=iChart.formatDateTime(i,"dd.MM.yyyy"),this.dataSource.dataSettings.date_to=iChart.formatDateTime(e,"dd.MM.yyyy")):(t=(iChart.parseDateTime(this.dataSource.dataSettings.date_from).getTime()-iChart.parseDateTime(this.dataSource.dataSettings.date_to).getTime())/1e3,"D1"==this.dataSource.dataSettings.interval&&t<86400?this.dataSource.dataSettings.date_from=iChart.formatDateTime(new Date(iChart.parseDateTime(this.dataSource.dataSettings.date_from).getTime()-6048e5),"dd.MM.yyyy"):"D7"==this.dataSource.dataSettings.interval&&t<604800&&(this.dataSource.dataSettings.date_from=iChart.formatDateTime(new Date(iChart.parseDateTime(this.dataSource.dataSettings.date_from).getTime()-12096e5),"dd.MM.yyyy"))),this.checkDateInterval(iChart.parseDateTime(this.dataSource.dataSettings.date_from),iChart.parseDateTime(this.dataSource.dataSettings.date_to))},this.setInterval=function(t){var e="M1";switch(t){case"I1":e="D1";break;case"I5":e="D3";break;case"I15":e="D7";break;case"H1":e="D14";break;case"D1":e="M6";break;case"D7":e="Y1"}var i=new Date(1e3*this.getLastPointX());i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setDate(i.getDate()+1),this.dataSource.dataSettings.date_to=i,this.dataSource.dataSettings.interval=t,this.dataSource.dataSettings.timeframe=iChart.getChartTimeframe(t),this.checkPeriod(e),this.updateForce()},this.setHashValue=function(t,e){i=(0==this.dataSource.dataSettings.useHash?this.dataSource.dataSettings:document.location).hash;var i,a=iChart.parseQueryString(i.substr(1)),t=(a[t]=e,"#"+iChart.toQueryString(a));t!==i&&(0==this.dataSource.dataSettings.useHash?this.dataSource.dataSettings.hash=t:document.location.hash=t,$(this.container).trigger("iguanaChartEvents",["hashChanged",t]))},this.setHashValues=function(t){e=(0==this.dataSource.dataSettings.useHash?this.dataSource.dataSettings:document.location).hash;var e,i,a=iChart.parseQueryString(e.substr(1));for(i in t)t.hasOwnProperty(i)&&(a[i]=t[i]);var r="#"+iChart.toQueryString(a);r===e||$.isEmptyObject(a)||(0==this.dataSource.dataSettings.useHash?this.dataSource.dataSettings.hash=r:document.location.hash=r,$(this.container).trigger("iguanaChartEvents",["hashChanged",r]))},this.initInsrMinicolors=function(t){var e=t.val();$(t).minicolors({animationSpeed:50,animationEasing:"swing",change:null,changeDelay:0,control:"hue",defaultValue:e,hide:null,hideSpeed:100,inline:!1,letterCase:"lowercase",opacity:!1,position:t.attr("ui-pos")+" left",show:null,showSpeed:100,theme:"default"}).change(function(){var t=$(this).attr("colorIndex").split("-")[0],e=$(this).attr("colorIndex").split("-")[1],i=$(this).attr("indicator");$.isArray(o.userSettings.chartSettings.indicatorsColor)&&(o.userSettings.chartSettings.indicatorsColor={}),o.userSettings.chartSettings.indicatorsColor[i]||(o.userSettings.chartSettings.indicatorsColor[i]=[]),o.userSettings.chartSettings.indicatorsColor[i][t]||(o.userSettings.chartSettings.indicatorsColor[i][t]=Array(o.viewData.indicators[i].output)),o.userSettings.chartSettings.indicatorsColor[i][t][e]=$(this).val()})},this.initIndicatorWidthMenu=function(t,e){$(t).qtip({style:{classes:"qtip-light uk-tooltip-custom"},position:{at:"left bottom",my:"top left",effect:!1},content:{text:e},hide:{fixed:!0,delay:300,effect:function(){$(this).slideUp(500)}},show:{solo:!0,effect:function(){$(this).slideDown(500)}},events:{show:function(t,e){}}})},this.setIndicatorWidth=function(t){var e=$(t).parent().attr("widthIndex").split("-")[0],i=$(t).parent().attr("widthIndex").split("-")[1],a=$(t).parent().attr("indicator");$.isArray(this.userSettings.chartSettings.indicatorsWidth)&&(this.userSettings.chartSettings.indicatorsWidth={}),this.userSettings.chartSettings.indicatorsWidth[a]||(this.userSettings.chartSettings.indicatorsWidth[a]=[]),this.userSettings.chartSettings.indicatorsWidth[a][e]||(this.userSettings.chartSettings.indicatorsWidth[a][e]=Array(this.viewData.indicators[a].output)),$(".indicatorWidthSelector-"+e+i+"[data-chartName='"+this.name+"']").attr("data-style",$(t).attr("data-style")),this.userSettings.chartSettings.indicatorsWidth[a][e][i]=$(t).attr("data-style")},this.getIndicatorParameters=function(t){var e={};if(void 0!==this.viewData.indicators[t])for(var i=0;i",{type:"hidden",class:"iChart-indicator-color iChart-indicator-color-"+s+o,id:"iChart-indicator-color-"+s+o,indicator:t.value,colorIndex:s+"-"+o,"ui-pos":s<2?"bottom":"top"}).val(n).appendTo(i),this.chart.initInsrMinicolors(i.find(".iChart-indicator-color-"+s+o)),n=2,this.chart.userSettings.chartSettings.indicatorsWidth[t.value]&&this.chart.userSettings.chartSettings.indicatorsWidth[t.value][s]&&this.chart.userSettings.chartSettings.indicatorsWidth[t.value][s][o]&&(n=this.chart.userSettings.chartSettings.indicatorsWidth[t.value][s][o]),n=$('').appendTo(a),$('

').appendTo(a),this.chart.initIndicatorWidthMenu(n,a.find(".indicatorMenuHolder-"+s+o+"[data-chartName='"+this.chart.name+"']").html()));$(document).off("click",".js-set-params-indicator").on("click",".js-set-params-indicator",function(t){var e=h.chart.deserializeIndicators(h.chart.dataSource.dataSettings.graphicIndicators),i=$(".js-iChartTools-indicators-params input").serializeArray(),a=!0;i.forEach(function(t){h.checkValidParameters(t,iChart.indicators[e[r].name])?e[r].params[t.name]=t.value:a=!1}),a&&(e=h.chart.serializeIndicators(e),h.chart.setIndicators(e),$.modal.impl.close())}),this.chart.wrapper.append(e),$(".iChartDialog").modal({modal:!1,zIndex:1500,title:_t("17398","Настройки индикатора")})},this.checkValidParameters=function(e,t){var i=!0;return t.parameters.forEach(function(t){t.Code===e.name&&(i=h.getResultErrorOnMaxMinValue(e,t,i))}),i},this.getResultErrorOnMaxMinValue=function(t,e,i){return void 0!==e.MinValue&&parseInt(t.value)",{class:"uk-button "+t.class,text:t.title});i.append(t)})),a.find(".js-themeConfigOptions").empty().append(this.renderThemeConfigOptions()),a.find(".js-themeConfigSelector").empty().append(this.renderThemeConfigSelector()),a.data("chartOptions",$.extend(!0,{},this.chart.wrapper.iguanaChart("chartOptions"))),this.chart.wrapper.find(".js-themeConfig").remove(),this.chart.wrapper.append(a),this.chart.wrapper.find(".js-themeConfig"));return r.modal({modal:!1,draggable:!0,maxWidth:600,zIndex:1500,title:_t("13754","Настройки вида"),onClose:e}),r.on("click",".js-chartOptions",function(){switch($(this).attr("data-value")){case"ok":h.chart.wrapper.trigger("iguanaChartEvents",["hashChanged"]),h.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",iChart.Charting.ChartOptions.getThemeOptions(h.chart.viewData.chart.chartOptions)]),h.chart.userSettings.chartSettings.defaultTheme=0,h.setUiStateForThemeConfig(!1),$.modal.impl.d.data&&$.modal.impl.close(!1);break;case"cancel":e()}}),r.on("click",".js-themeSelect",function(){return h.chart.wrapper.iguanaChart("setTheme",$(this).data("theme")),a.find(".js-themeConfigOptions").empty().append(h.renderThemeConfigOptions()),!1}),r.on("click",".js-themeSaveAs",function(){return UIkit.modal.prompt(_t("5228","Название")+":","",function(t){t&&(t={name:t,settings:iChart.Charting.ChartOptions.getThemeOptions(h.chart.viewData.chart.chartOptions)},$iguanaChart.thems.push($.extend({custom:!0},t)),t=JSON.stringify(t),h.chart.wrapper.trigger("iguanaChartEvents",["themeSave",t]),a.find(".js-themeConfigSelector").empty().append(h.renderThemeConfigSelector()))}),!1}),r.on("click",".js-themeDelete",function(t){var i=$(this).data("name"),e=$.grep($iguanaChart.thems,function(t,e){return t.name==i?t.i=e:null})[0];return $iguanaChart.thems.splice(e,1),r.find('.js-themeSelect[data-theme="'+i+'"]').remove(),h.chart.wrapper.trigger("iguanaChartEvents",["themeDelete",i]),t.stopPropagation(),!1}),r},this.renderThemeConfigSelector=function(){return $($.render.themeConfigSelectorTmpl({themes:$iguanaChart.thems}))},this.renderThemeConfigOptions=function(){function i(t,e){var i=$(this).val(),a=i,r=$(this).attr("data-option");i.match(/^rgb.*/)||(a=iChart.hexToRGB(i,e)),h.chart.wrapper.iguanaChart("chartOptions",r,a),$(".js-colorSelector[data-option='"+r+"']").css({"background-color":a}),$(this).minicolors("value",i),$(this).minicolors("opacity",e)}function a(){var t=this.value,e=iChart.hexToRGB(t,1),i=this.element.attr("data-option");h.chart.wrapper.iguanaChart("chartOptions",i,e),$(".js-colorSelector[data-option='"+i+"']").css({"background-color":e}),this.element.parent().find(".js-colorPicker").minicolors("value",t)}var t=$($.render.themeConfigOptionsTmpl({chartOptions:h.chart.viewData.chart.chartOptions}));t.find(".js-widthSlector").each(function(){var i=$(this),t=i.find(".menuHolder").html();i.qtip({style:{classes:"qtip-light uk-tooltip-custom"},position:{at:"center right",my:"left center",effect:!1},content:{text:t},hide:{fixed:!0,delay:300,effect:function(){$(this).slideUp(500)}},show:{solo:!0,effect:function(){$(this).slideDown(500)}},events:{show:function(t,e){$(this).find(".js-widthSlectorWrapper").each(function(){var e=$(this);e.off().on("click",".js-lineWidth",function(){var t=$(this).attr("data-style");h.chart.wrapper.iguanaChart("chartOptions",e.attr("data-option"),t),i.find(".js-widthSlectorValue").attr("data-style",t)})})}}})});return t.find(".js-colorSelector").each(function(){var t=$(this),e=t.find(".menuHolder").html();t.qtip({style:{classes:"qtip-light uk-tooltip-custom"},position:{at:"center right",my:"left center",effect:!1,viewport:$("html"),adjust:{method:"shift none"}},content:{text:e},hide:{fixed:!0,delay:300},show:{solo:!0},events:{show:function(t,e){$(t.currentTarget).find(".js-colorPicker").each(function(){h.addMinicolors(this,t.currentTarget,i,a)})}}})}),t.find(".js-checkbox").on("click",".js-flag",function(){h.chart.wrapper.iguanaChart("chartOptions",$(this).attr("data-option"),$(this).prop("checked"))}),t},this.initMinicolors=function(t,e){e="function"==typeof e?e:function(){};var i=$(t),a=!!i.first().attr("data-opacity"),i=(i.first().attr("data-opacity"),i.first().val()||"rgba(82, 175, 201, 0.5)");$(t).minicolors({animationSpeed:50,animationEasing:"swing",change:e,changeDelay:0,control:"hue",defaultValue:i,hide:null,hideSpeed:100,inline:!0,letterCase:"lowercase",opacity:a,position:"bottom left",show:null,showSpeed:100,theme:"default"}),$(t).minicolors("value",i)},this.initColorPalette=function(t,e){e="function"==typeof e?e:function(){},$(t).find(".js-colorPalette").each(function(){null==$(this).data("palette")&&$(this).palette({palette:"basic",columns:2,size:13,change:e})})},this.addMinicolors=function(t,e,i,a){var r;$(t).hasClass("minicolors-input")?(r=$(t).val(),$(t).minicolors("value",r)):(this.initMinicolors(t,i),this.initColorPalette(e,a))},this.renderTopToolBar=function(){var t=$($.render.iChart_topToolBarTmpl());this.$topToolBarContainer.append(t),this.renderIndicators()},this.initStatesControls=function(){var t=this.chart.viewData.chart.chartOptions.chartType,t=(this.setUiStateForChartType(t),!!this.chart.viewData.chart.chartOptions.showVolumeByPrice),t=(this.setUiStateForShowVolumeByPrice(t),h.chart.viewData.chart.chartOptions.showVolume),t=(this.setUiStateForShowVolume(t),h.chart.viewData.chart.chartOptions.percentMode);this.setUiStateForPercentMode(t),this.setUiStateForDataInterval(h.chart.dataSource.dataSettings.interval)},this.bindUiControls=function(){this.$uiContainer.off("click",".js-chart-ui-control").on("click",".js-chart-ui-control",function(t){var e=$(this),i=e.data("property"),e=e.data("value"),i="uiSet_"+i;"function"==typeof h[i]&&h[i](e)}),this.$uiContainer.on("show.uk.dropdown",'.js-chart-ui-control[data-property="fillStyle"]',function(){var t=$(this);$(this).find(".js-colorPicker").each(function(){h.addMinicolors(this,t.find(".js-chart-ui-control-holder"),h.onMinicolorsChange,h.onPaletteChange)})}),this.$uiContainer.on("show.uk.dropdown",'.js-chart-ui-control[data-property="strokeStyle"]',function(){var t=$(this);$(this).find(".js-colorPicker").each(function(){h.addMinicolors(this,t.find(".js-chart-ui-control-holder"),h.onMinicolorsChange,h.onPaletteChange)})})},this.uiSet_chartType=function(t){this.chart.viewData.chart.setChartType(t),this.setUiStateForChartType(t),this.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{chartType:t}])},this.uiSet_showVolumeByPrice=function(t){this.chart.VolumeByPrice_onClick();var e=!!this.chart.viewData.chart.chartOptions.showVolumeByPrice;this.setUiStateForShowVolumeByPrice(e),this.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{showVolumeByPrice:e}])},this.uiSet_showVolume=function(t){this.chart.VolumeByDate_onClick();var e=h.chart.viewData.chart.chartOptions.showVolume;this.setUiStateForShowVolume(e),this.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{showVolume:e}])},this.uiSet_percentMode=function(t){var e=this.chart.percentMode_onClick();this.setUiStateForPercentMode(e),this.chart.wrapper.trigger("iguanaChartEvents",["chartOptionsChanged",{percentMode:e}])},this.uiSet_themeConfig=function(){$.modal.impl.d.data?($.modal.impl.close(),this.setUiStateForThemeConfig(!1)):(this.renderThemeConfigDialog(),this.setUiStateForThemeConfig(!0))},this.uiSet_instrumentLine=function(t){var e=$.extend({},this.chart.userSettings.chartSettings.contextSettings,this.chart.viewData.chart.chartOptions.elementStyle[t]);this.chart.wrapper.iguanaChart("toolStart",t,e),this.setUiStateForInstrumentLine(t,1),this.onSelectInstrument({settings:e})},this.uiSet_instrumentForm=function(t){var e=$.extend({},this.chart.userSettings.chartSettings.contextSettings,this.chart.viewData.chart.chartOptions.elementStyle[t]);this.chart.wrapper.iguanaChart("toolStart",t,e),this.setUiStateForInstrumentForm(t,1),this.onSelectInstrument({settings:e})},this.uiSet_instrumentText=function(t){var e=$.extend({},this.chart.userSettings.chartSettings.contextSettings,this.chart.viewData.chart.chartOptions.elementStyle[t]);this.chart.wrapper.iguanaChart("toolStart",t,e),this.setUiStateForInstrumentText(t,1),this.onSelectInstrument({settings:e})},this.uiSet_clearInstruments=function(){this.chart.removeAllInstruments_onClick()},this.uiSet_lineWidthSelector=function(t){this.chart.setLineWidthToCanvas(t),this.setUiStateForLineWidth(t)},this.uiSet_dataInterval=function(t){var e=t.split("|");this.chart.setDateRange(e[0],e[1]),this.setUiStateForDataInterval(t)},this.uiSet_captureImage=function(){var t=this.chart.viewData.chart.toBase64withSize("image/png"),e=($.modal.impl.d.data&&$.modal.impl.close(),$(".iChartDialog").remove(),$($.render.captureDialogTmpl()));e.find(".js-iChartTools-capture").attr("src","data:image/png;base64, "+t.string).attr("height",t.height).attr("width",t.width),e.on("click",".js-set-params-indicator",function(){h.saveScreenOnDisk()}),this.chart.wrapper.append(e);e=t.width||120,t=0<(t=t.height)?t:150;$(".iChartDialog").modal({modal:!1,zIndex:1500,close:!0,minWidth:e,minHeight:t,title:_t("1724","Скачать картинку")})},this.saveScreenOnDisk=function(){var t=document.createElement("a");t.href=$(".iChartDialog").find(".js-iChartTools-capture").attr("src"),t.download="tn-screen.png",t.click()},this.onMinicolorsChange=function(t,e){var i=$(this).val(),a=i,r=$(this).attr("data-option");i.match(/^rgb.*/)||(a=iChart.hexToRGB(i,e)),h.chart.userSettings.chartSettings.contextSettings[r]=a,h.setUiStateForColorSelector(r,a),$(this).minicolors("value",a),h.chart.setStyleToCanvas(a,r)},this.onPaletteChange=function(){var t=this.value,e=this.element.attr("data-option"),i=t;t.match(/^rgb.*/)||(i=iChart.hexToRGB(t,1)),h.chart.userSettings.chartSettings.contextSettings[e]=i,h.setUiStateForColorSelector(e,i),this.element.parent().find(".js-colorPicker").minicolors("value",i),h.chart.setStyleToCanvas(i,e)},this.setUiStateForChartType=function(t,e){t&&(e=this.getUiStateForChartType(t)),this.$uiContainer.find('.js-chart-ui-control-state[data-property="chartType"]').removeClass("sprite-icon-line sprite-icon-candle sprite-icon-bars").addClass(e)},this.getUiStateForChartType=function(t){var e="sprite-icon-line";switch(t){case"Candlestick":e="sprite-icon-candle";break;case"Stock":e="sprite-icon-bars";break;case"Line":e="sprite-icon-line"}return e},this.setUiStateForShowVolumeByPrice=function(t){t?this.$uiContainer.find('.js-chart-ui-control-state[data-property="showVolumeByPrice"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="showVolumeByPrice"]').removeClass("active")},this.setUiStateForShowVolume=function(t){"inside"==t||"outside"==t?this.$uiContainer.find('.js-chart-ui-control-state[data-property="showVolume"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="showVolume"]').removeClass("active")},this.setUiStateForPercentMode=function(t){t?this.$uiContainer.find('.js-chart-ui-control-state[data-property="percentMode"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="percentMode"]').removeClass("active")},this.setUiStateForThemeConfig=function(t){t?this.$uiContainer.find('.js-chart-ui-control-state[data-property="themeConfig"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="themeConfig"]').removeClass("active")},this.setUiStateForLineWidth=function(t){this.$uiContainer.find('.js-chart-ui-control-state[data-property="lineWidthSelector"]').removeClass("sprite-icon-1px sprite-icon-2px sprite-icon-3px sprite-icon-4px sprite-icon-5px sprite-icon-8px sprite-icon-10px").addClass("sprite-icon-"+t+"px")},this.setUiStateForColorSelector=function(t,e){e.match(/^rgb.*/)||(e=iChart.hexToRGB(e,1)),this.$uiContainer.find('.js-chart-ui-control-state[data-property="'+t+'"]').css({"background-color":e}),this.$uiContainer.find('.js-chart-ui-control[data-property="'+t+'"] .js-colorPicker').val(e)},this.setUiStateForInstrumentLine=function(t,e){e=!!e;var i="";switch(t){case"Line":i="sprite-icon-free-line";break;case"HorizontalLine":i="sprite-icon-h-line";break;case"VerticalLine":i="sprite-icon-v-line";break;case"Channel":i="sprite-icon-channel";break;case"Trend":i="sprite-icon-angle-trend";break;case"Arrow":i="sprite-icon-arrow-line"}e?this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentLine"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentLine"]').removeClass("active"),t&&this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentLine"] i.sprite').removeClass("sprite-icon-free-line sprite-icon-h-line sprite-icon-v-line sprite-icon-channel sprite-icon-angle-trend sprite-icon-arrow-line").addClass(i)},this.setUiStateForInstrumentForm=function(t,e){e=!!e;var i="";switch(t){case"Polygon":i="sprite-icon-f-poligon";break;case"Rectangle":i="sprite-icon-f-square";break;case"Triangle":i="sprite-icon-f-triangle";break;case"Ellipse":i="sprite-icon-f-ellipse";break;case"FibonacciArc":i="sprite-icon-f-fibonacci-arcs";break;case"FibonacciFan":i="sprite-icon-f-fibonacci-fan";break;case"FibonacciCorrection":i="sprite-icon-f-fibonacci-correction";break;case"HorizontalRange":i="sprite-icon-h-line-double"}e?this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentForm"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentForm"]').removeClass("active"),t&&this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentForm"] i.sprite').removeClass("sprite-icon-f-poligon sprite-icon-f-square sprite-icon-f-triangle").removeClass("sprite-icon-f-ellipse sprite-icon-f-fibonacci-arcs sprite-icon-f-fibonacci-fan sprite-icon-f-fibonacci-correction").addClass(i)},this.setUiStateForInstrumentText=function(t,e){(e=!!e)?this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentText"][data-value="'+t+'"]').addClass("active"):this.$uiContainer.find('.js-chart-ui-control-state[data-property="instrumentText"]').removeClass("active")},this.onSelectInstrument=function(t){t.settings&&(t.settings.lineWidth&&this.setUiStateForLineWidth(t.settings.lineWidth),t.settings.fillStyle&&this.setUiStateForColorSelector("fillStyle",t.settings.fillStyle),t.settings.strokeStyle)&&this.setUiStateForColorSelector("strokeStyle",t.settings.strokeStyle)},this.setUiStateForDataInterval=function(t){this.$uiContainer.find('.js-chart-ui-control[data-property="dataInterval"]').removeClass("active"),t&&this.$uiContainer.find('.js-chart-ui-control[data-property="dataInterval"][data-value="'+t+'"]').addClass("active")}}}(),!function(h){($iguanaChart={defaultTheme:{},thems:[{name:"White",settings:{backgroundColor:"#ffffff",axisColor:"#999999",showAxes:!1,labelColor:"#595959",labelFontColor:"#ffffff",gridColor:"#cccccc",gridStyle:"dashed",watermarkColor:"rgba(238,238,238,1)",watermarkFont:"bold 40px Verdana",watermarkSubFont:"bold 25px Verdana",candleUp:"#66B85C",candleDown:"#C75757",candleBorder:!0,candleBorderUp:"#66B85C",candleBorderDown:"#C75757",candleWick:!0,candleWickStyle:"#595959",stockUp:"#66B85C",stockDown:"#C75757",stockWidth:1,lineColor:"#595959",lineWidth:1,areaColor:"#eff6fb",areaLineColor:"#cccccc",volumeStyle:"rgba(119, 119, 119, 0.3)",scrollerOverlayColor:"rgba(0,0,0, 0.1)",scrollerHandlerColor:"rgba(255,255,255, 1)",shadowColor:"#999999"}},{name:"Dark",settings:{backgroundColor:"#1e222d",axisColor:"#2a2e39",showAxes:!1,labelColor:"#595959",labelFontColor:"#ffffff",gridColor:"#2a2e39",gridStyle:"dashed",watermarkColor:"#2a2e39",watermarkFont:"bold 40px Roboto",watermarkSubFont:"bold 25px Roboto",candleUp:"#26a69a",candleDown:"#ef5350",candleBorder:!0,candleBorderUp:"#26a69a",candleBorderDown:"#ef5350",candleWick:!0,candleWickStyle:"#595959",stockUp:"#26a69a",stockDown:"#ef5350",stockWidth:1,lineColor:"#787b86",lineWidth:1,areaColor:"rgba(33,150,243,.12)",areaLineColor:"rgba(33,150,243,.12)",volumeStyle:"rgba(33,150,243,.12)",scrollerOverlayColor:"rgba(0,0,0, 0.1)",scrollerHandlerColor:"#787b86",shadowColor:"#2a2e39"}}],defaultSettings:{chartSettings:{contextSettings:{fillStyle:"rgba(82,175,201,.2)",strokeStyle:"rgba(82,175,201,1)",lineWidth:1,fontFamaly:"Arial,Helvetica,sans-serif",fontColor:"#444444",fontSize:"14"},indicatorsColor:{},indicatorsWidth:{},showTransactionsMode:0,tradingToolsEnable:0,autochartistEnable:0,defaultTheme:1},currentSecurity:{id:"",short_name:"",default_ticker:"",nt_ticker:"",firstDate:"",currency:"",min_step:""}},getTemplate:function(t,e){return'
'}}).init=function(e,i){e.dataSource.preInit(function(t){e.initChart(t),void 0!==i.events&&e.addEvents(i.events)},i)},$iguanaChart.optionsStore=function(){var t=JSON.parse(window.localStorage.getItem("chartsStore")||"{}");h.isPlainObject(arguments[0])&&!h.isEmptyObject(arguments[0])?t=h.extend(t,data):"string"==typeof arguments[0]&&(t[arguments[0]]=arguments[1]),window.localStorage.setItem("chartsStore",JSON.stringify(t))},$iguanaChart.optionsRestore=function(t){var e=JSON.parse(window.localStorage.getItem("chartsStore")||"{}");return t?e[t]:e};var r={init:function(t,e){var r=this;if(r.data("iguanaChart")){var i,a=r.data("iguanaChart");for(i in a.timers)clearTimeout(a.timers[i]);a.ajaxDataRequest.abort(),a.viewData.chart._dataLoading=!1}else{var e="chart"+e+"_"+(new Date).getTime(),s=e+"_container",n=$iguanaChart.getTemplate(s,e),o=t.lib_path||"",e=new IguanaChart({name:e,container:"#"+s,wrapper:r,lib_path:o,dataSource:h.extend(!0,{},t.dataSource)});r.html(n).data("iguanaChart",e).on("iguanaChartEvents",function(t,e,i){switch(e){case"chartDataReceived":var a=r.data("tmLoader");clearTimeout(a),r.find(".chart-loader-wrapper").css({opacity:"0.0",height:0,left:"-2000px",transition:"opacity .75s ease-in-out, height 0s ease-in-out .75s, left 0s ease-in-out .75s"});break;case"chartDataRequest":a=r.data("tmLoader");clearTimeout(a),a=setTimeout(function(){r.find(".chart-loader-wrapper").css({opacity:"1.0",height:"100%",left:0,transition:"opacity .0s ease-in-out, height 0s ease-in-out .0s"})},750),r.data("tmLoader",a)}})}$iguanaChart.init(r.data("iguanaChart"),t),this.trigger("iguanaChartEvents",["initComplete",t])},setType:function(t){var e=this.data("iguanaChart");e.viewData.chart&&e.viewData.chart.setChartType(t),e.setHashValue("type",t),this.trigger("iguanaChartEvents",["setType",t])},setTheme:function(t){var e=t[0],t=h.grep($iguanaChart.thems,function(t){return t.name==e?t:null})[0];if(void 0===t)throw new Error('Theme "'+e+'" is not exist.');var i=this.data("iguanaChart").viewData.chart;h.extend(i.chartOptions,t.settings),r.render.call(this),this.trigger("iguanaChartEvents",["setTheme",e])},render:function(t){h.isArray(t)||(t=[]);var e,i=this.data("iguanaChart"),a=void 0===t[0]||!!t[0],r=void 0!==t[1]&&!!t[1],t=void 0!==t[2]&&!!t[2];i.viewData.chart&&((e=i.viewData.chart).render({forceRecalc:a,resetViewport:r,testForIntervalChange:t}),h(i.container).find(".js-scrollerOverlay").css({background:e.chartOptions.scrollerOverlayColor}),h(i.container).find(".js-scrollerHandler").css({background:e.chartOptions.scrollerHandlerColor}))},chartOptions:function(t){var e=this.data("iguanaChart").viewData.chart;if(void 0===t[0])return e.chartOptions;"object"==typeof t[0]?h.extend(!0,e.chartOptions,t[0]):"string"==typeof t[0]&&void 0!==t[1]&&(e.chartOptions[t[0]]=t[1]),r.render.call(this)},events:function(t){var e=this.data("iguanaChart");e.clearEvents(),void 0!==t[0]&&e.addEvents(t[0]),r.render.call(this)},toolStart:function(t){var e=this.data("iguanaChart").viewData.chart;return e.overlay&&e.overlay.start(t[0]).setSettings(t[1]),!1},addPoint:function(t){this.data("iguanaChart").addPoint(t[0])},destroy:function(){if(this.data("iguanaChart")){var t,e=this.data("iguanaChart");for(t in e.timers)clearTimeout(e.timers[t]),e.ajaxDataRequest.abort()}}};h.fn.iguanaChart=function(i){var a,t;return void 0===i||"object"==typeof i?this.each(function(t){var e=h(this);return r.init.call(e,i,t),e}):"string"==typeof i?(a=Array.prototype.slice.call(arguments,1),r[i]&&"function"==typeof r[i]?a.length?this.each(function(t){var e=h(this);return r[i].call(e,a),e}):(t=h(this).eq(0),r[i].call(t,a)):console.error("Method should be function")):console.error("Options should be object, string or undefined")}}(jQuery),TA={TICKER:0,PER:1,DATE:2,TIME:3,OPEN:4,HIGH:5,LOW:6,CLOSE:7,VOL:8,FULLDATE:9,FULLTIME:10,DATESTRING:11,TA_COMPATIBILITY_DEFAULT:0},TA.TA_GLOBALS_COMPATIBILITY=TA.TA_COMPATIBILITY_DEFAULT,TA.MATypes={SMA:0,EMA:1,WMA:2,DEMA:3,TEMA:4,TRIMA:5,KAMA:6,MAMA:7,T3:8},TA.TA_IS_ZERO=function(t){return-1e-8 0.0 ) ad += (((close-low)-(high-close))/tmp)*(dataShape[today][TA.VOL]); today++; }",fastk=TA.PER_TO_K(this.Settings.FastPeriod),one_minus_fastk=1-fastk,slowk=TA.PER_TO_K(this.Settings.SlowPeriod),one_minus_slowk=1-slowk;for(eval(CALCULATE_AD),fastEMA=ad,slowEMA=ad;today "+a+" ) "+a+" = tempReal2; tempReal2 = Math.abs("+e+"-"+i+"); if( tempReal2 > "+a+" ) "+a+" = tempReal2;"}if(this.SetSettings(settings),startIdx=startIdx||0,endIdx=endIdx||dataShape.length-1,startIdx<0)throw"TA_OUT_OF_RANGE_START_INDEX";if(endIdx<0||endIdx=dataShape.length)throw _t("","Ошибка расчета ADX");if(outReal.length<=dataShape.length)for(;outReal.length!=dataShape.length;)outReal.unshift(0)}}return outReal},TA.ADX.getValue=function(t,e,i){},TA.ADX._lookback=function(){return 2*this.Settings.TimePeriod-1},TA.ADX._S=function(t,e,i,a){},TA.ADX.initChart=function(t,e,i){TA.INDICATOR_TEMPLATE.initChart.apply(this,arguments)},TA.ADX.SetSettings(TA.ADX.DefaultSettings),APO=TA.INDICATOR_TEMPLATE?TA.INDICATOR_TEMPLATE.Create():{},APO.name="APO",APO.type="line",APO.DefaultSettings={FastPeriod:12,SlowPeriod:26,MAType:TA.MATypes.SMA,CandleValueIdx:TA.CLOSE},APO.Settings={},APO._S=function(t,e,i,a){},APO.initChart=function(t,e,i){INDICATOR_TEMPLATE&&INDICATOR_TEMPLATE.initChart.apply(this,arguments)},APO.SetSettings(APO.DefaultSettings),APO._lookback=function(t,e,i){if(t){if(t<2||1e5 "+a+" ) "+a+" = tempReal2; tempReal2 = Math.abs("+e+"-"+i+"); if( tempReal2 > "+a+" ) "+a+" = tempReal2;"}if(this.SetSettings(settings),startIdx<0)throw"TA_OUT_OF_RANGE_START_INDEX";if(endIdx<0||endIdxd&&(d=i[c][TA.HIGH]);r.push(d)}if(o "+a+" ) "+a+" = tempReal2; tempReal2 = Math.abs("+e+"-"+i+"); if( tempReal2 > "+a+" ) "+a+" = tempReal2;"}if(this.SetSettings(settings),startIdx<0)throw"TA_OUT_OF_RANGE_START_INDEX";if(endIdx<0||endIdxthis.Settings.Maximum&&(d=this.Settings.Acceleration=this.Settings.Maximum),r=0this.Settings.Maximum)?this.Settings.Maximum:d)*(p-u))?c:u)&&(u=h)):u<=o?(r=1,h<(u=c<(u=p)?c:u)&&(u=h),g[n++]=u,h<(u=c<(u+=(d=this.Settings.Acceleration)*((p=o)-u))?c:u)&&(u=h)):(g[n++]=u,(u=(u+=(d=hthis.Settings.Maximum)?this.Settings.Maximum:d)*(p-u))>1)+1)*(o+1)),l=(d=(c=t-a)+o)+o,s=r=0,o=d;c<=o;o--)r+=s+=u=i[o][this.Settings.CandleValueIdx];for(n=0,o=++d;o<=l;o++)r+=n+=u=i[o][this.Settings.CandleValueIdx];for(h=0,u=i[c++][this.Settings.CandleValueIdx],g[h++]=r*p,l++;l<=e;)r-=s,s=(s-=u)+(u=i[d++][this.Settings.CandleValueIdx]),r+=n,n=(n-=u)+(u=i[l++][this.Settings.CandleValueIdx]),r+=u,u=i[c++][this.Settings.CandleValueIdx],g[h++]=r*p}else{for(p=1/(p=(o=this.Settings.TimePeriod>>1)*(o+1)),l=(d=(c=t-a)+o-1)+o,s=r=0,o=d;c<=o;o--)r+=s+=u=i[o][this.Settings.CandleValueIdx];for(n=0,o=++d;o<=l;o++)r+=n+=u=i[o][this.Settings.CandleValueIdx];for(h=0,u=i[c++][this.Settings.CandleValueIdx],g[h++]=r*p,l++;l<=e;)r-=s,s=(s-=u)+(u=i[d++][this.Settings.CandleValueIdx]),r+=n-=u,n+=u=i[l++][this.Settings.CandleValueIdx],r+=u,u=i[c++][this.Settings.CandleValueIdx],g[h++]=r*p}return g},TA.INDICATOR_TEMPLATE?TA.TYPPRICE=TA.INDICATOR_TEMPLATE.Create():TA.TYPPRICE={},TA.TYPPRICE.name="TYPPRICE",TA.TYPPRICE.type="line",TA.TYPPRICE.DefaultSettings={},TA.TYPPRICE.Settings={},TA.TYPPRICE._lookback=function(){return 0},TA.TYPPRICE.calculate=function(t,e,i,a){var r,s,n=[];if(t<0)throw"TA_OUT_OF_RANGE_START_INDEX";if(e<0||e").get(0),t=iChart.getContext(t),i=t.createLinearGradient(0,0,80,0),a=(i.addColorStop(1,"#016D06"),i.addColorStop(.5,"#FF9B08"),i.addColorStop(0,"#FF1608"),t.fillStyle=i,t.fillRect(0,0,80,1),t.getImageData(0,0,80,1)),r=[],s=0;s",{class:"m-chart-legend-color"}).css({"background-color":s}).html(" ")).add($("",{class:"m-chart-legend-name"}).css({color:s}).text(t.name+r+i));return[[0,$("
").append(n).html(),t.name+r+i]]},iChart.Charting.TA.prototype.BBANDS=function(t,e,i){if(t){var t="BBANDS",i=i||this.getDefaultParams(t),a=this.getData(),r=TA[t].justifyCalculate(0,a.length-1,a,i),s=this.createSeries(t,e);s[0].labels=this.getLabels(s[0],i," Upper"),s[0].params=i;for(var n=0;n=e[0].x;d--){var o={index:d,time:t[d][TA.FULLTIME],h:t[d][TA.HIGH],l:t[d][TA.LOW],o:t[d][TA.OPEN],c:t[d][TA.CLOSE],av1:(t[d][TA.OPEN]+t[d][TA.CLOSE])/2,av2:(t[d][TA.HIGH]+t[d][TA.LOW])/2},p=iChart.getThirdPoint({x:e[0].x,y:e[0].y},{x:e[1].x,y:e[1].y},d);o.dh=Math.abs(p.y-o.h),o.dl=Math.abs(p.y-o.l),o.do=Math.abs(p.y-o.o),o.dc=Math.abs(p.y-o.c),o.dav1=Math.abs(p.y-o.av1),o.dav2=Math.abs(p.y-o.av2),d==e[2].x||d==e[3].x?(h.push(o),n=$.extend({},o),l=!0,d--):$.isEmptyObject(n)?(n=$.extend({},o),o[s]/cn[s]&&!l&&n[s]/cn[s]&&l&&.15m[0][2]&&(y=e.x),f=Math.floor(Math.max(f,v)),t=Math.ceil(Math.min(t,y,this.chart.areas[0].xSeries.length-1,v?i.length+15:i.length+30)),!1),x=[],T=!1,S=[];if(n){for(var A=m[3][2];f<=A;A--){var w=iChart.getThirdPoint({x:m[1][2],y:m[1][1]},{x:m[3][2],y:m[3][1]},A),P=((C=Math.max(i[A][TA.OPEN],i[A][TA.CLOSE])P.y&&(T=!0)}x[1]=iChart.getThirdPoint({x:m[1][2],y:m[1][1]},{x:m[3][2],y:m[3][1]},t),x[1].time=1e3*this.chart.areas[0].xSeries[t],x[2]={x:m[1][2],y:m[1][1],time:m[1][0]},x[3]={x:m[3][2],y:m[3][1],time:m[3][0]},S[1]=iChart.getThirdPoint({x:m[0][2],y:m[0][1]},{x:m[2][2],y:m[2][1]},t),S[1].time=1e3*this.chart.areas[0].xSeries[t],S[2]={x:m[0][2],y:m[0][1],time:m[0][0]},S[3]={x:m[2][2],y:m[2][1],time:m[2][0]}}else{for(A=m[3][2];f<=A;A--){w=iChart.getThirdPoint({x:m[0][2],y:m[0][1]},{x:m[2][2],y:m[2][1]},A),P=(C||(w.time=i[A][TA.FULLTIME],x[0]=w),(Math.max(i[A][TA.OPEN],i[A][TA.CLOSE])P.y?!0:T)||(P.time=i[A][TA.FULLTIME],S[0]=P)}x[1]=iChart.getThirdPoint({x:m[0][2],y:m[0][1]},{x:m[2][2],y:m[2][1]},t),x[1].time=1e3*this.chart.areas[0].xSeries[t],x[2]={x:m[0][2],y:m[0][1],time:m[0][0]},x[3]={x:m[2][2],y:m[2][1],time:m[2][0]},S[1]=iChart.getThirdPoint({x:m[1][2],y:m[1][1]},{x:m[3][2],y:m[3][1]},t),S[1].time=1e3*this.chart.areas[0].xSeries[t],S[2]={x:m[1][2],y:m[1][1],time:m[1][0]},S[3]={x:m[3][2],y:m[3][1],time:m[3][0]}}u(i,x),u(i,S);return{extremeSupports:g(i,x,"support","l",.05),extremeResist:g(i,S,"resist","h",.05),supportPoints:x,resistPoints:S,points:m,lastPoint:{x:i.length-1,y:i[i.length-1][TA.CLOSE],time:i[i.length-1][TA.FULLTIME]}}}return!1},iChart.Charting.TA.prototype.autoResistSupport=function(t,e){t=!!t;var i=this.analyseResistSupport(8,e);if(i){this.clearResistSupport();if((2