var p_E=null;function formatTimestamp(timestamp){var date=new Date(timestamp*1000);if(parseInt(p_E.config.getProperty('interval'),10)<=86400){var hours=date.getHours().toString();if(hours.length==1){hours='0'+hours;}var minutes=date.getMinutes().toString();if(minutes.length==1){minutes='0'+minutes;}return '~'+hours+':'+minutes;}else{var day=date.getDate().toString();if(day.length==1){day='0'+day;}var month=(date.getMonth()+1).toString();if(month.length==1){month='0'+month;}var year=date.getFullYear().toString().substr(2);return '~'+day+'.'+month+'.'+year;}};function formatNumber(nStr){nStr+='';x=nStr.split('.');x1=x[0];x2=x.length>1?','+x[1]:'';var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,'$1'+'.'+'$2');}return x1+x2;};function p_g(p1x,p1y,p2x,p2y){var r=[p1x,p1y,p2x,p2y];var e=0;var c=0;var fx=0;var x=0;var y=0;for(var i=0;i<2;i++){for(var j=0;j<2;j++){e=(r[3]-r[1])/(r[2]-r[0]);if(e==Infinity||e===0){continue;}c=r[1]-(r[0]*e);x=r[i*2];y=r[i*2+1];if(j===0){if(x<0){fx=0*e+c;x=0;y=fx;}else if(x>p_E.size[0]){fx=p_E.size[0]*e+c;x=p_E.size[0];y=fx;}}else{if(y<0){x=(0-c)/e;y=0;}else if(y>p_E.size[1]){x=(p_E.size[1]-c)/e;y=p_E.size[1];}}if(j==0||p_p(x,y,0,0,p_E.size[0],p_E.size[1])){r[i*2]=x;r[i*2+1]=y;}}}for(i=0;i<4;i++){if(r[i]<0){r[i]= -1;}else if(r[i]>p_E.size[i%2]){r[i]=p_E.size[i%2]+1;}r[i]=parseInt(r[i],10);}return r;};function p_s(r1x,r1y,width1,height1,r2x,r2y,width2,height2){if((r1x<r2x+width2&&r2x<r1x+width1)||(r2x<r1x+width1&&r1x<r2x+width2)){if((r1y<r2y+height2&&r2y<r1y+height1)||(r2y<r1y+height1&&r1y<r2y+height2)){return true;}}return false;};function p_p(x,y,rx,ry,width,height){if(x>=rx&&x<=rx+width&&y>=ry&&y<=ry+height){return true;}return false;};function p_q(p1x,p1y,p2x,p2y,rx,ry,width,height){if(p_p(p1x,p1y,rx,ry,width,height)||p_p(p2x,p2y,rx,ry,width,height)){return true;}var e=(p2y-p1y)/(p2x-p1x);var c=p1y-(p1x*e);if(e==Infinity||isNaN(e)||Math.abs(p1x-p2x)<=1){var l1=p1y<ry?1: -1;var l2=p2y<ry?1: -1;if(p1x>=rx&&p1x<=rx+width&&p2x>=rx&&p2x<=rx+width&&l1!=l2){return true;}return false;}var fx=rx*e+c;if(fx>=ry&&fx<=ry+height){return true;}fx=(rx+width)*e+c;if(fx>=ry&&fx<=ry+height){return true;}return false;};function p_e(x,y,p1x,p1y,p2x,p2y,up,down){var dist=parseInt((p2x-p1x)/2,10);var mid=p1x+dist;if(Math.abs(mid-x)>Math.abs(dist)+5){return false;}var e=(p2y-p1y)/(p2x-p1x);var c=p1y-(p1x*e);if(Math.abs(dist)<=1||isNaN(e)||e==Infinity){if(p1y>p2y){var t=p1y;p1y=p2y;p2y=t;}if(y>=p1y&&y<=p2y){return true;}}if(typeof up=='undefined'||typeof down=='undefined'){up=5;down= -5;}var p=e*x+c;if(p-y>down&&p-y<up){return true;}return false;};function p_b(){};p_b.prototype.visible=false;p_b.prototype.config=null;p_b.prototype.options=null;p_b.prototype.handles=null;p_b.prototype.color='#6464FF';p_b.prototype.rgbColor=null;p_b.prototype.__construct=function(config){this.rgbColor=[100,100,255];this.config=config;this.visible=true;this.options=[];this.handles=[];this.addOption('color','Farbe','color','setColor','getColor');};p_b.prototype.setColor=function(color){this.color=color;this.rgbColor[0]=parseInt(color.substr(1,2),16);this.rgbColor[1]=parseInt(color.substr(3,2),16);this.rgbColor[2]=parseInt(color.substr(5,2),16);};p_b.prototype.getColor=function(){return this.color;};p_b.prototype.addOption=function(name,desc,value,set,get){var option={};if(name!==null){option.name=name;}option.value=value;if(desc!==null){option.desc=desc;}if(typeof get=='string'||value=='button'){option.set=set;option.get=get;}else{option.field=set;}this.options[this.options.length]=option;};p_b.prototype.getOptions=function(){return this.options;};function p_c(config,x,y,magnetic,dynamic){this.config=config;this.magnetic=magnetic;this.dynamic=dynamic;this.x=x;this.y=y;this.value=null;this.realValue=null;this.relativeValue=null;this.timestamp=this.config.p_ay(x);this.setTimestamp=function(timestamp){this.x=this.config.p_aA(timestamp);this.timestamp=timestamp;};this.calculateValues=function(){if(!this.config.valid){return;}if(this.config.getProperty('scale')=='relative'){this.relativeValue=this.value;this.realValue=((parseFloat(this.relativeValue)*this.config.relativeBaseValue)/100).toString();}else{this.realValue=this.value;this.relativeValue=((parseFloat(this.realValue)/this.config.relativeBaseValue)*100).toString();}};this.setValue=function(value){this.value=value;this.y=this.config.p_W(value);this.calculateValues();};this.setY=function(y){this.y=y;this.value=this.config.getValue(y);this.calculateValues();return true;};this.setX=function(x){var ts=this.config.p_ay(x);if(ts===null||typeof ts=='undefined'){return false;}this.x=x;this.timestamp=ts;return true;};this.setY(y);};function p_h(config,text,x,y){this.config=config;this.x=null;this.y=null;this.realX=null;this.realY=null;this.width=0;this.height=0;this.text='';this.element=null;this.id=null;this.alignment=['left','top'];this.size=9;this.visible=true;this.changed=false;this.oldHeight=0;this.setColor=function(text,background){this.element.style.color=text;if(background!==null){this.element.style.backgroundColor=background;}};this.hide=function(){if(!this.visible){return;}this.element.style.display='none';this.visible= !this.visible;};this.show=function(){if(this.visible){return;}this.element.style.display='block';this.visible= !this.visible;};this.getSize=function(){return this.size;};this.updateBounds=function(){this.width=this.element.clientWidth;this.height=this.element.clientHeight;this.changed=true;};this.setSize=function(size){size=parseInt(size,10);if(isNaN(size)||size<7){size=7;}else if(size>30){size=30;}this.size=size;this.element.style.fontSize=size+'pt';this.updateBounds();this.setPosition(this.x,this.y);};this.getCaption=function(){return this.text;};this.setCaption=function(text){this.element.innerHTML=text;if(this.text===''||this.text.length!=text.length){this.updateBounds();}this.setPosition(this.x,this.y);this.text=text;};this.setAlignment=function(x,y){this.alignment[0]=x;this.alignment[1]=y;this.changed=true;this.setPosition(this.x,this.y);};this.setPosition=function(x,y){var posX=0;var posY=0;var height=0;if(this.config!==null){height=this.config.height;}else if(p_E.config!==null){height=p_E.config.height;}if(height!=this.oldHeight){this.oldHeight=height;this.changed=true;}if(this.y!=y||this.changed){this.y=y;if(this.alignment[1]=='middle'){posY=(p_E.offset[1]+y-(this.height/2));this.element.style.top=posY+'px';this.element.style.bottom='';}else if(this.alignment[1]=='top'){posY=(p_E.offset[1]+y);this.element.style.top=posY+'px';this.element.style.bottom='';}else{if(this.config===null){posY=p_E.config.height-p_E.offset[1]-y;}else{posY=this.config.height-p_E.offset[1]-y;}this.element.style.bottom=posY+'px';this.element.style.top='';y-=this.height;}this.realY=y;}if(this.x!=x||this.changed){this.x=x;if(this.alignment[0]=='center'){posX=(p_E.offset[0]+x-(this.width/2));this.element.style.left=posX+'px';this.element.style.right='';}else if(this.alignment[0]=='left'){posX=(p_E.offset[0]+x);this.element.style.left=posX+'px';this.element.style.right='';}else{if(this.config===null){posX=p_E.config.width-p_E.offset[0]-x;}else{posX=this.config.width-p_E.offset[0]-x;}this.element.style.right=posX+'px';this.element.style.left='';x-=this.width;}this.realX=x;}this.changed=false;if(this.realX<0||this.realX>p_E.size[0]||this.realY<0||this.realY>p_E.size[1]){if(this.visible){this.hide();}}else{if(!this.visible){this.show();}}};this.destroy=function(){var container=document.getElementById(p_E.id+(this.config!==null?'_labels_'+this.config.id:''));container.removeChild(this.element);this.element=null;return null;};var container=document.getElementById(p_E.id+(this.config!==null?'_labels_'+this.config.id:''));this.element=document.createElement('div');this.element.id=p_E.labelId++;this.element.style.position='absolute';this.element.style.padding='2px';container.appendChild(this.element);this.setCaption(text);this.setPosition(x,y);};p_n.prototype=p_b.prototype;function p_n(config,index,x,y,symbol){this.__construct(config);this.label=null;this.symbol=null;this.symbolId=null;this.rotation=0;this.v2=(1/Math.sqrt(2));this.name="Symbol";this.type='symbol';this.setSymbol=function(symbol){this.symbolId=symbol;this.symbol=document.getElementById('symbol_'+symbol);};this.getSymbol=function(){return this.symbolId;};this.clone=function(){var obj=new p_n(this.config,0,0,0,'');obj.symbol=this.symbol;obj.symbolId=this.symbolId;obj.rotation=this.rotation;return obj;};this.draw=function(context){context.save();context.translate(this.handles[0].x,this.handles[0].y);context.rotate(-this.rotation);context.translate(-(this.symbol.width/2),-(this.symbol.height/2));context.drawImage(this.symbol,0,0);context.restore();};this.hasPoint=function(x,y){var w=this.symbol.width/2;var h=this.symbol.height/2;if(x>=this.handles[0].x+w&&x<=this.handles[0].x+w&&y>=this.handles[0].y-h&&y<=this.handles[0].y+h){return true;}return false;};this.moveHandle=function(h,index,x,y){if(h===0){this.handles[1].setX(this.handles[1].x+(x-this.handles[0].x));this.handles[1].setY(this.handles[1].y+(y-this.handles[0].y));this.handles[h].setX(x);this.handles[h].setY(y);}else{var oldRotation=this.rotation;var vx=x-this.handles[0].x;var vy=y-this.handles[0].y;var length=Math.sqrt(vx*vx+vy*vy);vx=(vx*(1/length));vy=(vy*(1/length));var cos=((vx*this.v2)+(vy*this.v2));this.rotation=Math.acos(cos);if((vx*this.v2-vy*this.v2)<0){this.rotation=Math.PI+(Math.PI-this.rotation);}if(this.rotation==Infinity||isNaN(this.rotation)){this.rotation=oldRotation;}else{this.handles[1].setX(this.handles[0].x+vx*40);this.handles[1].setY(this.handles[0].y+vy*40);}}};this.p_I=function(){var angle=this.rotation+(Math.PI/4);this.handles[1].setX(this.handles[0].x+Math.sin(angle)*40);this.handles[1].setY(this.handles[0].y+Math.cos(angle)*40);};this.destroy=function(){return null;};this.handles[0]=new p_c(config,x,y,true,false);this.handles[1]=new p_c(config,x,y,false,true);this.p_I();this.setSymbol(symbol);this.addOptions('symbol',null,'text','setSymbol','getSymbol');this.addOptions('angle',null,'float','rotation');};p_m.prototype=p_b.prototype;function p_m(config,index,x,y){this.__construct(config);this.label=null;this.name="Text";this.type='text';this.clone=function(){if(this.isInEditMode){this.setEditMode(false);}var obj=new p_m(this.config,0,0,0);obj.setSize(this.getSize());obj.setCaption(this.getCaption());return obj;};this.setColor=function(color){this.color=color;this.label.setColor(color,null);};this.setSize=function(size){this.label.setSize(size);};this.getSize=function(){return this.label.getSize();};this.setCaption=function(text){this.label.setCaption(text);};this.getCaption=function(){return this.label.getCaption();};this.setEditMode=function(enable){if(enable&&this.isInEditMode){return;}this.isInEditMode=enable;var theInput=null;if(enable){this.setCaption('<input id="objectTextHandler" type="text" onkeypress="p_E.p_aD(event, '+this.index+')" value="'+this.getCaption()+'" />');theInput=document.getElementById('objectTextHandler');theInput.focus();this.label.element.style.zIndex=10;if(theInput.createTextRange){var range=theInput.createTextRange();range.move("character",theInput.value.length);range.select();}else if(theInput.selectionStart){theInput.setSelectionRange(0,theInput.value.length);}}else{theInput=document.getElementById('objectTextHandler');this.setCaption(theInput.value);this.label.element.style.zIndex=1;}};this.draw=function(context){};this.hasPoint=function(x,y){var w=this.label.width/2;var h=this.label.height/2;if(x>=this.label.x-w&&x<=this.label.x+w&&y>=this.label.y-h&&y<=this.label.y+h){return true;}return false;};this.moveHandle=function(h,index,x,y){this.handles[h].setX(x);this.handles[h].setY(y);this.label.setPosition(this.handles[0].x,this.handles[0].y);};this.p_I=function(){this.label.updateBounds();this.label.setPosition(this.handles[0].x,this.handles[0].y);};this.destroy=function(){this.label=this.label.destroy();return null;};this.handles[0]=new p_c(config,x,y,true,false);this.label=new p_h(config,'Text',x,y);this.label.setAlignment('center','middle');this.setColor(this.color);this.label.element.style.zIndex=1;this.addOption('size','Schriftgr&ouml;sse','text','setSize','getSize');this.addOption('text',null,'text','setCaption','getCaption');};p_l.prototype=p_b.prototype;function p_l(config,index,x,y){this.__construct(config);this.width=0;this.height=0;this.x=0;this.y=0;this.name="Rechteck";this.type='rect';this.fill=false;this.clone=function(){var obj=new p_l(this.config,0,0,0);obj.width=this.width;obj.height=this.height;obj.x=this.x;obj.y=this.y;obj.fill=this.fill;return obj;};this.draw=function(context){context.strokeStyle="rgba("+this.rgbColor[0]+","+this.rgbColor[1]+","+this.rgbColor[2]+", 1)";if(this.fill){context.fillStyle="rgba("+this.rgbColor[0]+","+this.rgbColor[1]+","+this.rgbColor[2]+", 0.25)";context.fillRect(this.x,this.y,this.width,this.height);}context.strokeRect(this.x,this.y,this.width,this.height);};this.hasPoint=function(x,y){var inX=false;var inY=false;if(x>=this.x&&x<=this.x+this.width){if(Math.abs(this.y-y)<5||Math.abs(this.y+this.height-y)<5){return 1;}inX=true;}if(y>=this.y&&y<=this.y+this.height){if(Math.abs(this.x-x)<5||Math.abs(this.x+this.width-x)<5){return 1;}inY=true;}if(inX&&inY){return 0.5;}return false;};this.moveHandle=function(h,index,x,y){this.handles[h].setX(x);this.handles[h].setY(y);this.calculateSize();};this.calculateSize=function(){var width=this.handles[1].x-this.handles[0].x;var height=this.handles[1].y-this.handles[0].y;var x=0;var y=0;if(width<0){x=this.handles[1].x;width*= -1;}else{x=this.handles[0].x;}if(height<0){y=this.handles[1].y;height*= -1;}else{y=this.handles[0].y;}var line1=p_g(x,y,x+width,y);var line2=p_g(x,y+height,x+width,y+height);this.x=line1[0];this.y=line1[1];this.width=line1[2]-line1[0];this.height=line2[1]-line1[1];};this.p_I=function(){this.calculateSize();this.visible=p_s(this.x,this.y,this.width,this.height,0,0,p_E.size[0],p_E.size[1]);};this.destroy=function(){return null;};this.fill=p_E.hasFlag('fill');this.handles[0]=new p_c(config,x,y,true,false);this.handles[1]=new p_c(config,x,y,true,false);this.addOption('fill','F&uuml;llen','bool','fill');};p_i.prototype=p_b.prototype;function p_i(config,index,x,y){this.__construct(config);this.line1=null;this.line2=null;this.h=50;this.name="Trendkanal";this.type='channel';this.ray=false;this.ray2=false;this.height=0;this.fill=false;this.ray=false;this.setHeight=function(height){height=parseFloat(height,10);if(isNaN(height)){height=50;}this.height=height;};this.getHeight=function(){return this.height;};this.clone=function(){var obj=new p_i(this.config,0,0,0);obj.line1=this.line1;obj.line2=this.line2;obj.height=this.height;obj.fill=this.fill;obj.ray=this.ray;obj.ray2=this.ray2;return obj;};this.draw=function(context){context.strokeStyle="rgba("+this.rgbColor[0]+","+this.rgbColor[1]+","+this.rgbColor[2]+", 1)";if(this.fill){context.fillStyle="rgba("+this.rgbColor[0]+","+this.rgbColor[1]+","+this.rgbColor[2]+", 0.25)";}context.beginPath();context.moveTo(this.line1[0],this.line1[1]);context.lineTo(this.line1[2],this.line1[3]);context.stroke();context.beginPath();context.moveTo(this.line2[0],this.line2[1]);context.lineTo(this.line2[2],this.line2[3]);context.stroke();if(this.fill){context.beginPath();context.moveTo(this.line2[0],this.line2[1]);context.lineTo(this.line2[2],this.line2[3]);if(this.line2[2]!=this.line1[2]){if(this.line2[2]>this.line2[0]){if(this.line2[2]>this.line1[2]){context.lineTo(this.line2[2],this.line1[3]);}else{context.lineTo(this.line1[2],this.line2[3]);}}else{if(this.line2[2]>this.line1[2]){context.lineTo(this.line1[2],this.line2[3]);}else{context.lineTo(this.line2[2],this.line1[3]);}}}context.lineTo(this.line1[2],this.line1[3]);context.lineTo(this.line1[0],this.line1[1]);if(this.line2[0]!=this.line1[0]){if(this.line2[2]>this.line2[0]){if(this.line2[0]>this.line1[0]){context.lineTo(this.line1[0],this.line2[1]);}else{context.lineTo(this.line2[0],this.line1[1]);}}else{if(this.line2[0]>this.line1[0]){context.lineTo(this.line2[0],this.line1[1]);}else{context.lineTo(this.line1[0],this.line2[1]);}}}context.lineTo(this.line2[0],this.line2[1]);context.fill();}};this.hasPoint=function(x,y){var res=p_e(x,y,this.line1[0],this.line1[1],this.line1[2],this.line1[3],5,-5);if(res){return 1;}res=p_e(x,y,this.line2[0],this.line2[1],this.line2[2],this.line2[3],5,-5);if(res){return 1;}res=p_e(x,y,this.line1[0],this.line1[1],this.line1[2],this.line1[3],0,-this.h);if(res){return 0.5;}return false;};this.moveHandle=function(h,index,x,y){var dir=0;if(h<=3){dir=(h>=2? -1:1);this.handles[h].setX(x);this.handles[h].setY(y);this.handles[h+dir*2].setX(x);this.handles[h+dir*2].setY(y-(dir* -1)*this.h);}else{dir=(h==4?1: -1);var offset=(h==4?0:2);var change=(y-this.handles[h].y);this.h-=dir*change;this.handles[h].setX(x);this.handles[h].setY(y);var e=(this.handles[offset+1].y-this.handles[offset].y)/(this.handles[offset+1].x-this.handles[offset].x);var c=((this.handles[offset].y+change)-(this.handles[offset].x*e));this.handles[h==4?5:4].setX(x);this.handles[h==4?5:4].setY(x*e+c+this.h*(dir* -1));this.handles[offset].setY(this.handles[offset].x*e+c);this.handles[offset+1].setY(this.handles[offset+1].x*e+c);this.height=(this.handles[0].value-this.handles[2].value).toFixed(2);}this.calculate(h);};this.calculate=function(h){var e=(this.handles[1].y-this.handles[0].y)/(this.handles[1].x-this.handles[0].x);var c=this.handles[0].y-(this.handles[0].x*e);var x=this.handles[0].x;var y=this.handles[0].y;var x2=this.handles[1].x;var y2=this.handles[1].y;if(h<=3){this.handles[4].setX(this.handles[0].x+((this.handles[1].x-this.handles[0].x)/2));this.handles[5].setX(this.handles[0].x+((this.handles[3].x-this.handles[2].x)/2));}if(isNaN(e)||isNaN(c)||e==Infinity||c==Infinity){if(this.ray){y2=(this.handles[1].y<this.handles[0].y)?0:p_E.size[1];}if(this.ray2){y=(this.handles[1].y<this.handles[0].y)?p_E.size[1]:0;}this.handles[4].setY(this.handles[0].y+((this.handles[1].y-this.handles[0].y)/2));this.handles[5].setY(this.handles[2].y+((this.handles[3].y-this.handles[2].y)/2));}else{if(this.ray){if(this.handles[1].x<this.handles[0].x){x=p_E.size[0];}else{x2=p_E.size[0];}}if(this.ray2){if(this.handles[1].x<this.handles[0].x){x2=0;}else{x=0;}}y2=x2*e+c;y=x*e+c;this.handles[4].setY(this.handles[4].x*e+c);this.handles[5].setY(this.handles[5].x*e+c+this.h);}this.line1=p_g(x,y,x2,y2);this.line2=p_g(x,y+this.h,x2,y2+this.h);};this.p_I=function(){this.h=this.config.p_W(parseFloat(this.handles[0].value)-parseFloat(this.height))-this.handles[0].y;this.handles[2].y=this.handles[0].y+this.h;this.handles[2].x=this.handles[0].x;this.handles[3].y=this.handles[1].y+this.h;this.handles[3].x=this.handles[1].x;this.calculate(0);var lv1=p_q(this.line1[0],this.line1[1],this.line1[2],this.line1[3],p_E.offset[0],p_E.offset[1],p_E.size[0],p_E.size[1]);var lv2=p_q(this.line2[0],this.line2[1],this.line2[2],this.line2[3],0,0,p_E.size[0],p_E.size[1]);this.visible=lv1||lv2;};this.destroy=function(){return null;};this.fill=p_E.hasFlag('fill');this.ray=p_E.hasFlag('ray');this.ray2=false;for(var i=0;i<6;i++){this.handles[this.handles.length]=new p_c(config,x,y+(i==2||i==3?this.h:0),true,(i<=1?false:true));}this.height=config.getValue(this.handles[0].y)-config.getValue(this.handles[2].y);this.addOption('fill','F&uuml;llen','bool','fill');this.addOption('height',null,'float','setHeight','getHeight');this.addOption('ray','Rechts Verl&auml;ngern','bool','ray');this.addOption('ray2','Links Verl&auml;ngern','bool','ray2');this.calculate();};p_j.prototype=p_b.prototype;function p_j(config,index,x,y,isVertical){this.__construct(config);this.hide=false;this.point=0;this.name="Markierung"+(isVertical?'(Vertikal)':'(Horizontal)');this.type=(isVertical?'v':'h')+'line';this.isVertical=false;this.clone=function(){var obj=new p_j(config,0,0,0,this.isVertical);obj.point=this.point;obj.hide=this.hide;return obj;};this.draw=function(context){if(this.hide){return;}context.strokeStyle="rgba("+this.rgbColor[0]+","+this.rgbColor[1]+","+this.rgbColor[2]+", 1)";context.beginPath();if(this.isVertical){context.moveTo(this.point,0);context.lineTo(this.point,p_E.size[1]);}else{context.moveTo(0,this.point);context.lineTo(p_E.size[0],this.point);}context.stroke();};this.hasPoint=function(x,y){var res=false;if(this.isVertical){res=p_e(x,y,this.point,0,this.point,p_E.size[1]);}else{res=p_e(x,y,0,this.point,p_E.size[0],this.point);}return res;};this.moveHandle=function(h,index,x,y){this.handles[h].setX(x);this.handles[h].setY(y);this.calculatePosition(index);};this.calculatePosition=function(index){if((!isVertical&&(this.handles[0].y<0||this.handles[0].y>=p_E.size[1]))||(isVertical&&(index<0||index>=this.config.zones.length))){this.hide=true;this.label.hide();this.visible= !this.hide;return;}else{if(this.hide){this.label.show();}this.hide=false;}if(this.isVertical){this.point=parseInt(this.handles[0].x,10)+0.5;this.label.setPosition(this.point,p_E.size[1]);this.label.setCaption(this.config.zones[index].ftime);}else{this.point=parseInt(this.handles[0].y,10)+0.5;this.label.setPosition(p_E.size[0],this.point);this.label.setCaption(this.handles[0].value);}this.visible= !this.hide;};this.p_I=function(){var index=this.config.p_M(this.handles[0].x);this.label.updateBounds();this.calculatePosition(index);};this.destroy=function(){this.label=this.label.destroy();return null;};this.isVertical=isVertical;this.label=new p_h(config,'',x,y);this.label.setColor('#FFFFFF','#000000');if(this.isVertical){this.label.setAlignment('center','top');}else{this.label.setAlignment('left','middle');}this.handles[this.handles.length]=new p_c(config,x,y,true,false);this.calculatePosition(index);};BGOChartCurve.prototype=p_b.prototype;function BGOChartCurve(config,index,x,y){this.__construct(config);this.y=0;this.name="Trendkurve";this.type='curve';this.ray=false;this.clone=function(){var obj=new BGOChartCurve(this.config,0,0,0);return obj;};this.draw=function(context){var a0=this.handles[0].x,b0=this.handles[0].y;var a1=this.handles[0].x,b1=this.y;var a2=this.handles[1].x,b2=this.y;var a3=this.handles[1].x,b3=this.handles[1].y;context.strokeStyle="rgba("+this.rgbColor[0]+","+this.rgbColor[1]+","+this.rgbColor[2]+", 1)";context.beginPath();context.moveTo(a0,b0);context.bezierCurveTo(a1,b1,a2,b2,a3,b3);context.stroke();};this.hasPoint=function(x,y){var a0=this.handles[0].x,b0=this.handles[0].y;var a1=this.handles[0].x,b1=this.y;var a2=this.handles[1].x,b2=this.y;var a3=this.handles[1].x,b3=this.handles[1].y;var cx=this.handles[0].x,cx2=0;var cy=this.handles[0].y,cy2=0;var t=0;for(var i=0;i<10;i++){t=i/10;cx2=a0*Math.pow(1-t,3)+a1*3*t*Math.pow(1-t,2)+a2*3*Math.pow(t,2)*(1-t)+a3*Math.pow(t,3);cy2=b0*Math.pow(1-t,3)+b1*3*t*Math.pow(1-t,2)+b2*3*Math.pow(t,2)*(1-t)+b3*Math.pow(t,3);if(p_e(x,y,cx,cy,cx2,cy2)){return true;}cx=cx2;cy=cy2;}return false;};this.moveHandle=function(h,index,x,y){if(h!=2){this.handles[h].setX(x);}this.handles[h].setY(y);this.calculate();};this.calculate=function(){this.handles[2].setX(this.handles[0].x+(this.handles[1].x-this.handles[0].x)/2);var t=0.5;this.y=(this.handles[2].y-this.handles[1].y*Math.pow(t,3)-this.handles[0].y*Math.pow(1-t,3))/(3*t*Math.pow(1-t,2)+3*Math.pow(t,2)*(1-t));};this.p_I=function(){this.calculate();this.visible=true;};this.destroy=function(){return null;};this.handles[this.handles.length]=new p_c(config,x,y,true,false);this.handles[this.handles.length]=new p_c(config,x,y,true,false);this.handles[this.handles.length]=new p_c(config,x,y,true,false);};p_k.prototype=p_b.prototype;function p_k(config,index,x,y){this.__construct(config);this.line=null;this.name="Trendlinie";this.type='line';this.ray=false;this.clone=function(){var obj=new p_k(this.config,0,0,0);obj.line=this.line;obj.ray=this.ray;obj.ray2=this.ray2;return obj;};this.p_aI=function(){var channel=new p_i(this.config,this.config.p_M(this.handles[0].x),this.handles[0].x,this.handles[0].y);channel.ray=this.ray;channel.ray2=this.ray2;for(var i=0;i<4;i++){channel.handles[i].setX(this.handles[i%2].x);channel.handles[i].setY(this.handles[i%2].y);}channel.p_I();this.config.p_ab(this.index);var index=this.config.p_ah(channel);if(p_E.config==this.config){p_E.selectObject(index,5);}};this.draw=function(context){context.strokeStyle="rgba("+this.rgbColor[0]+","+this.rgbColor[1]+","+this.rgbColor[2]+", 1)";context.beginPath();context.moveTo(this.line[0],this.line[1]);context.lineTo(this.line[2],this.line[3]);context.stroke();};this.hasPoint=function(x,y){var res=p_e(x,y,this.line[0],this.line[1],this.line[2],this.line[3]);return res;};this.moveHandle=function(h,index,x,y){this.handles[h].setX(x);this.handles[h].setY(y);this.calculate(h);};this.calculate=function(h){var e=(this.handles[1].y-this.handles[0].y)/(this.handles[1].x-this.handles[0].x);var c=this.handles[0].y-(this.handles[0].x*e);var x=this.handles[0].x;var y=this.handles[0].y;var x2=this.handles[1].x;var y2=this.handles[1].y;if((x==x2&&y==y2)){if(this.ray){x2=p_E.size[0];}if(this.ray2){x=0;}}else if(isNaN(e)||isNaN(c)||e==Infinity||c==Infinity){if(this.ray){y2=(this.handles[1].y<this.handles[0].y)?0:p_E.size[1];}if(this.ray2){y=(this.handles[1].y<this.handles[0].y)?p_E.size[1]:0;}}else{if(this.ray){if(this.handles[1].x<this.handles[0].x){x=p_E.size[0];}else{x2=p_E.size[0];}}if(this.ray2){if(this.handles[1].x<this.handles[0].x){x2=0;}else{x=0;}}y2=x2*e+c;y=x*e+c;}this.line=p_g(x,y,x2,y2);};this.p_I=function(){this.calculate();this.visible=p_q(this.line[0],this.line[1],this.line[2],this.line[3],0,0,p_E.size[0],p_E.size[1]);};this.destroy=function(){return null;};this.ray=p_E.hasFlag('ray');this.ray2=false;this.handles[this.handles.length]=new p_c(config,x,y,true,false);this.handles[this.handles.length]=new p_c(config,x,y,true,false);this.addOption('ray','Rechts Verl&auml;ngern','bool','ray');this.addOption('ray2','Links Verl&auml;ngern','bool','ray2');this.addOption(null,'Kanal erzeugen','button','p_aI');this.calculate();};p_o.prototype=p_b.prototype;function p_o(config,index,x,y){this.__construct(config);this.line=null;this.lines=[];this.labels=[];this.values=[0.0,0.236,0.382,0.5,0.618,0.764,1,1.618,2,2.618,4.236];this.lineFlags="10111011000";this.direction=1;this.name='Retracement';this.type='retracement';this.clone=function(){var obj=new p_o(this.config,0,0,0);obj.lineFlags=this.lineFlags;return obj;};this.setLine=function(value,line){line--;if(value===true||value=='true'||value==1){value='1';}else{value='0';}this.lineFlags=this.lineFlags.substr(0,line)+value+this.lineFlags.substr(line+1,this.values.length-line);};this.getLine=function(line){return this.lineFlags.substr(line-1,1);};this.draw=function(context){context.strokeStyle="rgba("+this.rgbColor[0]+","+this.rgbColor[1]+","+this.rgbColor[2]+", 1)";for(var i=0;i<this.lines.length;i++){context.beginPath();context.moveTo(this.x,this.lines[i]);context.lineTo(p_E.size[0],this.lines[i]);context.stroke();}if(p_E.tool!='marker'&&p_E.tool!='zoom'){context.strokeStyle="rgba(255, 0, 0, 1)";context.beginPath();context.moveTo(this.line[0],this.line[1]);context.lineTo(this.line[2],this.line[3]);context.stroke();}};this.hasPoint=function(x,y){if(x<this.x||x>p_E.size[0]){return false;}for(var i=0;i<this.lines.length;i++){if(Math.abs(y-this.lines[i])<5){return true;}}return p_e(x,y,this.line[0],this.line[1],this.line[2],this.line[3]);};this.moveHandle=function(h,index,x,y){this.handles[h].setX(x);this.handles[h].setY(y);if(this.handles[0].x<this.handles[1].x){this.direction=1;}else{this.direction= -1;}this.calculate(h);};this.calculate=function(h){var e=(this.handles[1].y-this.handles[0].y)/(this.handles[1].x-this.handles[0].x);var c=this.handles[0].y-(this.handles[0].x*e);var height=parseFloat(this.handles[0].value)-parseFloat(this.handles[1].value);this.x=(this.handles[0].x<this.handles[1].x?this.handles[0].x:this.handles[1].x);if(this.x<0){this.x=0;}var x2=this.handles[1].x;var y2=this.handles[1].y;if(isNaN(e)||isNaN(c)||e==Infinity||c==Infinity){if(this.ray){y2=(this.handles[1].y<this.handles[0].y)?0:p_E.size[1];}}else{if(this.ray){x2=(this.handles[1].x<this.handles[0].x)?0:p_E.size[0];}y2=x2*e+c;}this.line=p_g(this.handles[0].x,this.handles[0].y,x2,y2);this.lines=[];var y=0;var value=0;for(var i=0;i<this.values.length;i++){y=(this.values[i]*height);if(this.direction!=1){y=parseFloat(this.handles[0].value)-y;}else{y=parseFloat(this.handles[1].value)+y;}if(isNaN(y)){continue;}value=y;y=parseInt(this.config.p_W(y),10)+0.5;if(y<0||y>p_E.size[1]||this.lineFlags.substr(i,1)=='0'){this.labels[i].hide();continue;}this.lines[this.lines.length]=y;this.labels[i].show();this.labels[i].setPosition(this.x,y);this.labels[i].setCaption((this.values[i]*100).toFixed(2)+'% - '+value.toFixed(this.config.pipPrecision));}};this.p_I=function(){this.calculate();};this.destroy=function(){for(var i=0;i<this.values.length;i++){this.labels[i].destroy();}return null;};this.handles[this.handles.length]=new p_c(config,x,y,true,false);this.handles[this.handles.length]=new p_c(config,x,y,true,false);for(var i=0;i<this.values.length;i++){this.labels[i]=new p_h(config,(this.values[i]*100).toFixed(2)+'%',0,0);this.labels[i].setAlignment('left','bottom');}for(i=0;i<this.values.length;i++){this.addOption(null,(this.values[i]*100).toFixed(2)+'%','bool','setLine','getLine');}this.addOption('lines',null,'text','lineFlags');this.calculate();};function p_B(id,name){this.id=id;this.name=name;this.color= -1;};function p_z(id){this.type=null;this.name=null;this.params=[];this.getParam=function(index){if(index>=0&&this.params.length>index){return this.params[index].value;}return null;};this.setParam=function(index,value){if(index>=0&&this.params.length>index){this.params[index].value=value;return true;}return false;};this.id=id;var data=Indicators.getIndicator(id);if(data){this.id=id;this.type='indicator';this.name=data.name;for(var i=0;i<3;i++){if(data['param'+i+'_name']){this.params[i]={};this.params[i].name=data['param'+i+'_name'];this.params[i].value=data['param'+i+'_default'];}}}else{this.type='information';this.name='Information';}};function p_f(instrumentsId,exchange){this.valid=false;this.savedId=0;this.token=0;this.id=p_E.configId++;this.changed=true;this.idsChanged=true;this.instrumentChanged=false;this.height=0;this.relativeBaseValue=0;this.valuePrecision=0;this.pipPrecision=0;this.showFuture=0;this.properties={};this.properties['instrumentsId']=instrumentsId;this.properties['instrumentsName']='Unknown';this.properties['exchange']=exchange?exchange: -2;this.properties['scale']='log';this.properties['type']=(instrumentsId=='1952625')?'line':'candle';this.properties['stepping']=86400;this.properties['interval']=29030400;this.properties['startDate']=0;this.properties['endDate']=0;this.properties['showHighLow']=0;this.properties['showVolume']=0;this.properties['title']='Profichart';this.properties['space']=30;this.xAxisMargin=[];this.yAxisMargin=[];this.xAxisBounds=[];this.yAxisBounds=[];this.tickWidth=null;this.zones=[];this.coordinates=[];this.exchanges=[];this.p_L=[];this.markers=[];this.indicators=[];this.relations=[];this.objects=[];this.setProperty=function(name,value){if(this.properties[name]!==null){this.properties[name]=value;this.changed=true;if(name=='instrumentsId'){this.idsChanged=true;this.instrumentChanged=true;}return true;}return false;};this.getProperty=function(name){if(this.properties[name]!==null){return this.properties[name];}return false;};this.p_ad=function(id,name){if(this.relations.length>=10){return false;}this.changed=true;this.idsChanged=true;this.relations[this.relations.length]=new p_B(id,name);return this.relations.length-1;};this.p_aX=function(index){if(typeof index!='number'||index<0||index>=this.relations.length){return false;}this.changed=true;this.idsChanged=true;this.relations[index]=null;for(var j=index;j<this.relations.length;j++){this.relations[j]=this.relations[j+1];}this.relations.splice(this.relations.length-1,1);return true;};this.p_at=function(id,param1,param2,param3){if(this.indicators.length>=10){return false;}this.changed=true;return this.p_aq(id,param1,param2,param3,'indicator');};this.p_ax=function(type){for(var i=0;i<this.indicators.length;i++){if(this.indicators[i].id==type){this.p_am(i);i--;}}};this.p_am=function(index){this.changed=true;return this.p_au(index);};this.p_aq=function(id,param1,param2,param3,type){var indicator=new p_z(id);if(type&&indicator.type!=type){return false;}this.changed=true;if(typeof param1!='undefined'&&param1!==null){indicator.setParam(0,param1);}if(typeof param1!='undefined'&&param1!==null){indicator.setParam(1,param2);}if(typeof param1!='undefined'&&param1!==null){indicator.setParam(2,param3);}this.indicators[this.indicators.length]=indicator;return this.indicators.length-1;};this.p_au=function(index){if(typeof index!='number'||index<0||index>=this.indicators.length){return false;}this.changed=true;this.indicators[index]=null;for(var j=index;j<this.indicators.length;j++){this.indicators[j]=this.indicators[j+1];}this.indicators.splice(this.indicators.length-1,1);return true;};this.p_ah=function(object){if(object===null||typeof object!='object'){return;}this.changed=true;this.objects[this.objects.length]=object;object.index=this.objects.length-1;return this.objects.length-1;};this.p_ab=function(index){if(typeof index!='number'||index<0||index>=this.objects.length){return false;}this.changed=true;this.objects[index]=this.objects[index].destroy();for(var j=index;j<this.objects.length;j++){this.objects[j]=this.objects[j+1];if(typeof this.objects[j]=='object'){this.objects[j].index=j;}}this.objects.splice(this.objects.length-1,1);return true;};this.getHeight=function(){if(this.height<=0){return p_E.size[1]+p_E.offset[1]+p_E.offset[3];}return this.height;};this.getQueryParams=function(){var query='exchange='+this.getProperty('exchange')+'&id='+this.getProperty('instrumentsId');query+='&t='+escape(Base64.encode(this.getProperty('title')));query+='&_noCache='+Math.round((new Date()).getTime()/1000);query+='&q='+escape(Base64.encode(p_E.config.getConfigString()));return query;};this.getConfigString=function(){var config='';config+=this.getProperty('scale')+',';config+=this.getProperty('type')+',';config+=this.getProperty('stepping')+',';config+=this.getProperty('showHighLow')+',';config+=this.getProperty('showVolume')+',';config+=this.getProperty('interval')+',';config+=this.getProperty('startDate')+',';config+=this.getProperty('endDate')+',';config+=this.getProperty('space')+';';var i=0;var j=0;var indicator=null;for(i=0;i<this.indicators.length;i++){indicator=this.indicators[i];config+=(indicator.type=='indicator'?'i':'a')+indicator.id+',';for(j=0;j<indicator.params.length;j++){config+=(j!==0?',':'')+indicator.params[j].value;}config+=';';}var relation=null;for(i=0;i<this.relations.length;i++){config+='r'+this.relations[i].id+';';}var object=null;var options=null;var value=null;for(i=0;i<this.objects.length;i++){object=this.objects[i];config+='o'+object.type+',';if(object.getOptions){options=object.getOptions();for(var o=0;o<options.length;o++){if(options[o].value=='button'|| !options[o].name){continue;}if(options[o].get){value=eval('object.'+options[o].get+'('+o+')');}else if(options[o].field){value=eval('object.'+options[o].field);}else{continue;}if(options[o].value=='text'&&typeof value=='string'){config+='e'+options[o].name+'|'+Base64.encode(value)+',';}else{config+='o'+options[o].name+'|'+value+',';}}}for(j=0;j<object.handles.length;j++){if(object.handles[j].dynamic){continue;}config+=(j!==0?',':'')+'h'+j+'|'+object.handles[j].timestamp+'|';if(this.getProperty('scale')=='relative'){config+=object.handles[j].relativeValue;}else{config+=object.handles[j].realValue;}}config+=';';}return config;};this.p_aa=function(config){config=Base64.decode(config);var parts=config.split(';');var pnames=['scale','type','stepping','showHighLow','showVolume','interval','startDate','endDate','space'];var i=0;var pvalues=parts[0].split(',');for(i=0;i<pvalues.length;i++){this.setProperty(pnames[i],pvalues[i]);}var parts2=null;var fields=null;var fieldname=null;var f=0;var j=0;var t=null;var name=null;var object=null;var options=null;for(i=1;i<parts.length;i++){fields=parts[i].split(',');t=fields[0].substr(0,1);name=fields[0].substr(1);fields.shift();if(t=='i'||t=='a'){this.p_aq(name,fields[0],fields[1],fields[2]);}else if(t=='r'){this.p_ad(name,'');}else if(t=='o'){object=p_E.p_av(this,name,'',0,0,0);if(object.getOptions){options=object.getOptions();}else{options=null;}for(f=0;f<fields.length;f++){parts2=fields[f].split('|');fieldname=parts2[0].substr(1);t=parts2[0].substr(0,1);if(t=='h'){object.handles[fieldname].setValue(parts2[2]);object.handles[fieldname].setTimestamp(parts2[1]);}else if((t=='o'||t=='e')&&options){for(j=0;j<options.length;j++){if(options[j].name==fieldname){value=parts2[1];if(t=='e'){value=Base64.decode(value);}if(options[j].value!='bool'&&options[j].value!='float'){value="'"+value+"'";}if(options[j].field){eval('object.'+options[j].field+' = '+value);}else if(options[j].set){eval('object.'+options[j].set+'('+value+','+j+')');}}}}}this.p_ah(object);}}this.changed=true;};this.p_W=function(value,absolute){var height=p_E.size[1]-this.yAxisMargin[0]-this.yAxisMargin[1];var y=0;if(this.getProperty('scale')=='log'){y=(1-(Math.log(value)-Math.log(this.yAxisBounds[0]))/(Math.log(this.yAxisBounds[1])-Math.log(this.yAxisBounds[0])))*height;}else{y=(1-((value-this.yAxisBounds[0])/(this.yAxisBounds[1]-this.yAxisBounds[0])))*height;}return(absolute===true?p_E.offset[1]:0)+this.yAxisMargin[0]+Math.round(y);};this.p_al=function(index,absolute){return(absolute?p_E.offset[0]:0)+this.xAxisMargin[1]+this.tickWidth*index;};this.p_aA=function(timestamp,absolute){var i=0;for(i=0;i<this.coordinates.length;i++){if(this.coordinates[i].time==timestamp){return(absolute?p_E.offset[0]:0)+this.coordinates[i].x;}}for(i=0;i<this.zones.length;i++){if(this.zones[i].time<=timestamp&&(i==this.zones.length-1||this.zones[i+1].time>timestamp)){return Math.round((absolute?p_E.offset[0]:0)+this.xAxisMargin[1]+i*this.tickWidth);}}return null;};this.p_M=function(x,absolute){var width=p_E.size[0]-this.xAxisMargin[0]-this.xAxisMargin[1];x-=(absolute?p_E.offset[0]:0)+this.xAxisMargin[1];return Math.round(x/(this.tickWidth));};this.p_ay=function(x){var index=this.p_M(x);if(index<0||index>=this.zones.length||isNaN(index)){return null;}return this.zones[index].time;};this.getValue=function(y,absolute){var height=p_E.size[1]-this.yAxisMargin[0]-this.yAxisMargin[1];y-=(absolute?p_E.offset[1]:0)+this.yAxisMargin[0];var value=0;if(this.getProperty('scale')=='log'){var log=Math.log(this.yAxisBounds[1])-((y/height)*(Math.log(this.yAxisBounds[1])-Math.log(this.yAxisBounds[0])));value=Math.pow(2.71828183,log);}else{value=this.yAxisBounds[1]-(y/height)*(this.yAxisBounds[1]-this.yAxisBounds[0]);}return value.toFixed(this.pipPrecision);};this.p_ag=function(index,x,y,distance){if(index<0||index>=this.zones.length||isNaN(index)){return[x,y,index];}var resultDist=(typeof distance=='undefined'||distance===null)?10:distance;var range=resultDist/this.tickWidth;var currentDist=0;var currentX=0;var currentY=0;var currentValue=0;var resultIndex=index;var resultY=y;var resultX=x;x=this.zones[index].x;var isLineChart=this.getProperty('type')=='line';var isRelative=(this.getProperty('scale')=='relative');resultDist=Math.pow(resultDist,2);var values=null;if(isLineChart){var values=['close'];}else{var values=['open','close','high','low'];}var z=0;for(var zd=0;zd<range;zd++){for(var d= -1;d<=1;d+=2){z=index+zd*d;if(z<0||z>=this.zones.length){continue;}for(var i=0;i<values.length;i++){currentX=this.zones[z].x;currentValue=this.zones[z][values[i]];if(isRelative){currentValue=(currentValue/this.relativeBaseValue)*100;}currentY=this.p_W(currentValue);currentDist=(currentY-y)*(currentY-y)+(currentX-x)*(currentX-x);if(currentDist<resultDist){resultY=currentY;resultIndex=z;resultX=currentX;resultDist=currentDist;}}}}return[resultX,resultY,resultIndex];};this.p_af=function(x){var index=this.p_M(x);if(index<0||index>=this.zones.length||isNaN(index)){return x;}return parseInt(this.zones[index].x,10);};this.p_aN=function(x,y){for(var i=this.markers.length-1;i>=0;i--){if(x>=this.markers[i].x1&&x<=this.markers[i].x2&&y>=this.markers[i].y1&&y<=this.markers[i].y2){return i;}}return null;};this.activate=function(){var configElement=document.getElementById(p_E.id+'_config_'+this.id);configElement.style.display='block';};this.deactivate=function(){var configElement=document.getElementById(p_E.id+'_config_'+this.id);configElement.style.display='none';};this.destroy=function(){for(var i=0;i<this.objects.length;i++){this.objects[i].destroy();}this.valid=false;var container=document.getElementById(p_E.id+'_configurations');var configDiv=document.getElementById(p_E.id+'_config_'+this.id);container.removeChild(configDiv);};var container=document.getElementById(p_E.id+'_configurations');var configDiv=document.createElement('div');configDiv.id=p_E.id+'_config_'+this.id;configDiv.style.display='none';var labelDiv=document.createElement('div');labelDiv.id=p_E.id+'_labels_'+this.id;labelDiv.style.display='none';var image=document.createElement('img');image.id=p_E.id+'_image_'+this.id;image.oncontextmenu=function(){return false;};if(this.id===0){container.innerHTML='';}configDiv.appendChild(image);configDiv.appendChild(labelDiv);container.appendChild(configDiv);if(image.addEventListener){image.addEventListener('load',function(){p_E.imageLoaded(image);},false);}else{image.attachEvent('onload',function(){p_E.imageLoaded(image);});}};p_d.prototype.instance=null;p_d.prototype.getInstance=function(){if(p_d.prototype.instance===null||typeof p_d.prototype.instance!='object'){p_d.prototype.instance=new p_d();}return p_d.prototype.instance;};function p_d(){if(p_d.prototype.instance!==null){return false;}p_d.prototype.instance=this;this.c=0;this.t=null;this.p_ak=62135600400;this.templates={};this.theme='';this.requestURL='';this.shortURL='';this.config=null;this.offset=[];this.size=[];this.id='';this.request=null;this.dst=false;this.flags={};this.labelId=0;this.configId=0;this.p_X=null;this.p_Z=null;this.p_U=null;this.p_T=null;this.p_ac=null;this.callbackTool=null;this.callbackBusy=null;this.p_ar=null;this.selection=null;this.selectionX=null;this.selectionY=null;this.cursorY=null;this.cursorX=null;this.cursorValue=null;this.cursorIndex=null;this.tool='marker';this.p_ap=null;this.p_aJ=0;this.p_F=null;this.p_Q=null;this.p_V=null;this.p_ae=0;this.p_ai=0;this.markerIndex=null;this.popupVisible=0;this.tooltipTimeout=null;this.selectionTimeout=null;this.selectionVisible=false;this.spacingVisible=false;this.spacingMove=false;this.spacingValue=0;this.creationTool='';this.creationParam='';this.creationSwitch=false;this.zoomXStart=null;this.zoomXLeft=null;this.zoomXRight=null;this.ruler=false;this.p_aj=null;this.p_P=null;this.p_R=null;this.p_G=null;this.p_S=null;this.p_N=null;this.canvasContext=null;this.fastCanvas=false;this.getHeight=function(){if(this.config===null||typeof this.config!='object'){return this.size[1]+this.offset[1]+this.offset[3];}return this.config.getHeight();};this.init=function(requestURL,id,x,y,w,h,x2,y2,dst){this.config=null;this.requestURL=requestURL;this.dst=dst==1?true:false;if(this.dst){this.p_ak+=3600;}this.id=id;this.offset[0]=parseInt(x,10);this.offset[1]=parseInt(y,10);this.offset[2]=parseInt(x2,10);this.offset[3]=parseInt(y2,10);this.size[0]=parseInt(w,10);this.size[1]=parseInt(h,10);p_be=id;p_bb=x;p_aY=y;p_aZ=w;p_ba=h;};this.start=function(){var id=this.id;this.p_S=document.getElementById(this.id+'_ch');this.p_N=document.getElementById(this.id+'_cv');this.p_H=document.getElementById(this.id+'_ct');this.p_S.style.display='none';this.p_H.style.display='none';this.p_N.style.display='none';this.p_P=new p_h(null,'',0,0);this.p_P.setAlignment('center','top');this.p_P.setColor('#FFFFFF','#000000');this.p_P.hide();this.p_R=new p_h(null,'',0,0);this.p_R.setAlignment('left','middle');this.p_R.setColor('#FFFFFF','#000000');this.p_R.hide();this.p_G=new p_h(null,'',0,0);this.p_G.setAlignment('left','middle');this.p_G.setColor('#FFFFFF','#000000');this.p_G.setSize(8);this.p_G.hide();this.p_G.element.style.zIndex=11;this.p_aj=document.getElementById(id+'_statusbar');var overlay=document.getElementById(id+'_overlay');if(document.addEventListener){document.addEventListener('mouseup',function(event){p_E.p_J('up',event);return false;},false);overlay.onmousemove=function(event){p_E.p_J('move',event);return false;};overlay.onmousedown=function(event){p_E.p_J('down',event);return false;};overlay.onmouseout=function(event){p_E.p_J('out',event);return false;};overlay.onmouseover=function(event){p_E.p_J('in',event);return false;};overlay.ondblclick=function(event){p_E.p_J('dblclick',event);return false;};overlay.oncontextmenu=function(e){return false;};}else{document.attachEvent('onmouseup',function(event){p_E.p_J('up',event);return false;});overlay.attachEvent('onmousemove',function(event){p_E.p_J('move',event);return false;});overlay.attachEvent('onmousedown',function(event){p_E.p_J('down',event);return false;});overlay.attachEvent('onmouseout',function(event){p_E.p_J('out',event);return false;});overlay.attachEvent('onmouseover',function(event){p_E.p_J('in',event);return false;});overlay.attachEvent('ondblclick',function(event){p_E.p_J('dblclick',event);return false;});overlay.attachEvent('oncontextmenu',function(event){return false;});}var canvas=document.createElement("canvas");canvas.width=this.size[0];canvas.height=this.size[1];canvas.style.height=this.size[1]+'px';canvas.style.width=this.size[0]+'px';canvas.style.position='absolute';canvas.style.left=this.offset[0]+'px';canvas.style.top=this.offset[1]+'px';canvas.style.zIndex=5;canvas.id=id+'_canvas';document.getElementById(id+'_canvas_container').appendChild(canvas);if(typeof G_vmlCanvasManager!=='undefined'){G_vmlCanvasManager.initElement(canvas);}if(typeof canvas!='undefined'&&typeof canvas.getContext!='undefined'&&canvas.getContext!==null){this.canvasContext=canvas.getContext("2d");}this.update(true);this.setCursor('crosshair');};this.clearData=function(){this.hideSelection();this.config.zones=[];this.markers=[];this.update(true);};this.parseData=function(text){this.config.coordinates=[];this.config.zones=[];this.config.markers=[];this.config.exchanges=[];var n=0;var lines=text.split("\n");var data='';var values=null;var pipPrecision=0;this.config.pipPrecision=0;if(text===null||text===''||lines.length===0){return false;}for(var i=0;i<lines.length;i++){if(lines[i]===''){continue;}else if(lines[i]=='markers'){data='markers';continue;}else if(lines[i]=='values'){data='values';continue;}else if(lines[i]=='info'){data='info';continue;}else if(lines[i]=='ad'){data='ad';continue;}else if(lines[i]=='coordinates'){data='coordinates';continue;}else if(lines[i]=='exchanges'){data='exchanges';continue;}else if(lines[i]=='relations'){data='relations';continue;}else if(data===''){return false;}if(data=='ad'){var adBox=document.getElementById(this.id+'_ad');var container=document.getElementById(this.id+'_ad_container');if(container){adBox.removeChild(container);}container=document.createElement('div');container.id=this.id+'_ad_container';if(lines[i]=="-"){container.innerHTML='';}else{container.innerHTML=Base64.decode(lines[i]);}adBox.appendChild(container);}else if(data=='relations'){values=lines[i].split("|");for(var j=0;j<this.config.relations.length;j++){if(this.config.relations[j].id==values[0]){this.config.relations[j].color=values[1];}}}else if(data=='exchanges'){values=lines[i].split("|");n=this.config.exchanges.length;this.config.exchanges[n]={};this.config.exchanges[n].id=parseInt(values[0],10);this.config.exchanges[n].name=values[1];}else if(data=='coordinates'){values=lines[i].split("|");n=this.config.coordinates.length;this.config.coordinates[n]={};this.config.coordinates[n].time=parseInt(values[0],10);this.config.coordinates[n].x=parseInt(values[1],10);}else if(data=='info'){values=lines[i].split("|");this.config.yAxisBounds[0]=parseFloat(values[1]);this.config.yAxisBounds[1]=parseFloat(values[2]);this.config.yAxisMargin[0]=parseInt(values[3],10);this.config.yAxisMargin[1]=parseInt(values[4],10);this.config.xAxisMargin[0]=parseInt(values[5],10);this.config.xAxisMargin[1]=parseInt(values[6],10);var changed=this.config.changed;this.config.setProperty('instrumentsName',Base64.decode(values[0]));this.config.setProperty('scale',values[7]);this.config.setProperty('stepping',parseInt(values[8],10));this.config.setProperty('type',values[9]);this.config.setProperty("exchange",parseInt(values[11]));this.config.changed=changed;this.config.relativeBaseValue=parseFloat(values[10]);this.config.showFuture=parseInt(values[12]);}else if(data=='values'){values=lines[i].split("|");n=this.config.zones.length;this.config.zones[n]={};this.config.zones[n].x=parseInt(values[0],10);this.config.zones[n].y=parseInt(values[1],10);this.config.zones[n].close=values[2];this.config.zones[n].open=values[3];this.config.zones[n].high=values[4];this.config.zones[n].low=values[5];this.config.zones[n].volume=values[6];this.config.zones[n].time=values[7];this.config.zones[n].ftime=values[8];if(values[2].indexOf('.')>0){pipPrecision=values[2].length-values[2].indexOf('.')-1;if(pipPrecision>this.config.pipPrecision){this.config.pipPrecision=pipPrecision;}}}else if(data=='markers'){values=lines[i].split("|");n=this.config.markers.length;this.config.markers[n]={};this.config.markers[n].x1=parseInt(values[0],10);this.config.markers[n].y1=parseInt(values[1],10);this.config.markers[n].x2=parseInt(values[2],10);this.config.markers[n].y2=parseInt(values[3],10);this.config.markers[n].title=values[4];this.config.markers[n].link=values[5];}}this.config.tickWidth=(this.size[0]-this.config.xAxisMargin[0]-this.config.xAxisMargin[1])/(this.config.zones.length-1);var height=this.size[1]-this.config.yAxisMargin[0]-this.config.yAxisMargin[1];var valueHeight=height/(this.config.yAxisBounds[1]-this.config.yAxisBounds[0]);this.config.valuePrecision=0;while(valueHeight>=1){valueHeight/=10;this.config.valuePrecision++;}if(this.config.zones.length>0){this.config.xAxisBounds[0]=this.config.zones[0].time;this.config.xAxisBounds[1]=this.config.zones[this.config.zones.length-1].time;}else{this.config.xAxisBounds[0]=0;this.config.xAxisBounds[1]=0;}this.config.valid=true;if(p_E.config.instrumentChanged){while(this.config.objects.length>0){this.config.p_ab(0);}p_E.config.instrumentChanged=false;}if(this.config.showFuture==1&&this.config.zones.length>0){var fX=this.config.zones[this.config.zones.length-1].x;var fT=parseInt(this.config.zones[this.config.zones.length-1].time,10);var stepping=parseInt(this.config.getProperty('stepping'));while(fX+this.config.tickWidth<this.size[0]){fX+=this.config.tickWidth;fT+=stepping;n=this.config.zones.length;this.config.zones[n]={};this.config.zones[n].x=fX;this.config.zones[n].y=0;this.config.zones[n].close=0;this.config.zones[n].open=0;this.config.zones[n].high=0;this.config.zones[n].low=0;this.config.zones[n].volume=0;this.config.zones[n].time=fT;this.config.zones[n].ftime=formatTimestamp(fT-p_E.p_ak);}}return true;};this.p_av=function(config,tool,param,index,x,y){var object=null;switch(tool){case 'line':object=new p_k(config,index,x,y);break;case 'curve':object=new BGOChartCurve(config,index,x,y);break;case 'channel':object=new p_i(config,index,x,y);break;case 'rect':object=new p_l(config,index,x,y);break;case 'vline':object=new p_j(config,index,x,y,true);break;case 'hline':object=new p_j(config,index,x,y,false);break;case 'retracement':case 'fibo':object=new p_o(config,index,x,y);break;case 'text':object=new p_m(config,index,x,y);properties=true;select=false;break;case 'symbol':object=new p_n(config,index,x,y,param);select=false;break;default:return null;}return object;};this.saveConfig=function(config,token){if(this.config===null||this.request!==null){return false;}if(p_E.callbackBusy!==null){p_E.callbackBusy(true,'Konfiguration wird gespeichert.');}var xhRequest=null;if(typeof XMLHttpRequest!='undefined'){xhRequest=new XMLHttpRequest();}else if(window.ActiveXObject){if(navigator.userAgent.toLowerCase().indexOf("msie 5")!= -1){xhRequest=new ActiveXObject("Microsoft.XMLHTTP");}else{xhRequest=new ActiveXObject("Msxml2.XMLHTTP");}}xhRequest.onreadystatechange=function(){if(xhRequest.readyState==4){if(p_E.callbackBusy!==null){p_E.callbackBusy(false);}var success=false;if(xhRequest.responseText!==null&&xhRequest.responseText!==''){var parts=xhRequest.responseText.split('\n');if(parts.length==2){p_E.config.savedId=parseInt(parts[0],10);p_E.config.token=parts[1];p_E.config.changed=false;p_E.config.idsChanged=false;success=true;}}if(p_E.p_ac!==null){p_E.p_ac(success,p_E.config.savedId,p_E.config.token);}}};xhRequest.open("POST",this.requestURL+'chart.php',true);xhRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');var request='output=save&'+this.config.getQueryParams();if((typeof config=='string'||typeof config=='number')&&typeof token=='string'){request+='&c='+config+'&tk='+token;}xhRequest.send(request);return true;};this.loadConfig=function(id,instrumentsId,exchange,replace){if(this.request!==null||(instrumentsId!==true&&typeof instrumentsId!='number'&&typeof instrumentsId!='string'&&this.config===null)){return false;}if(instrumentsId!==true&&typeof instrumentsId!='number'&&typeof instrumentsId!='string'){instrumentsId=this.config.getProperty("instrumentsId");}if(exchange!==true&&typeof exchange!='number'&&typeof exchange!='string'){if(this.config===null){exchange= -2;}else{exchange=this.config.getProperty("exchange");}}if(typeof replace=='undefined'||replace===null){replace=true;}if(p_E.callbackBusy!==null){p_E.callbackBusy(true,'Konfiguration wird geladen.');}var xhRequest=null;if(typeof XMLHttpRequest!='undefined'){xhRequest=new XMLHttpRequest();}else if(window.ActiveXObject){if(navigator.userAgent.toLowerCase().indexOf("msie 5")!= -1){xhRequest=new ActiveXObject("Microsoft.XMLHTTP");}else{xhRequest=new ActiveXObject("Msxml2.XMLHTTP");}}xhRequest.onreadystatechange=function(){var success=false;if(xhRequest.readyState==4){if(xhRequest.responseText!==null&&xhRequest.responseText!==''){var parts=xhRequest.responseText.split('\n');if(parts.length==4){if(instrumentsId===true){instrumentsId=parts[1];}if(exchange===true){exchange=parts[2];}if(p_E.p_T){p_E.p_T(true,parts[0],parts[1],parts[2],parts[3],id,replace);}else{var conf=new p_f(instrumentsId,exchange);conf.setProperty('title',parts[0]);conf.p_aa(parts[3]);conf.savedId=id;if(instrumentsId!=parts[1]){while(conf.objects.length>0){conf.p_ab(0);}}p_E.p_Y(conf,replace);}success=true;}}if(!success){if(p_E.callbackBusy!==null){p_E.callbackBusy(false);}if(p_E.p_T){p_E.p_T(success);}}}};xhRequest.open("GET",this.requestURL+'chart.php?output=config&c='+id,true);xhRequest.send();return true;};this.p_Y=function(config,replace){if(this.config){this.config.deactivate();}if(typeof replace=='undefined'||replace===null){replace=true;}var oldConfig=this.config;this.config=config;this.config.activate();if(replace&&oldConfig!==null){oldConfig.destroy();}if(!config.valid){this.reload();}else{this.update(true);}this.selectTool('marker');};this.p_K=function(text){return;if(this.config===null){return false;}if(!text||text.length<=0){this.p_aj.style.display='none';}else{this.p_aj.innerHTML=text;this.p_aj.style.display='block';}};this.cloneObject=function(index){if(this.config===null||this.popupVisible&1){return false;}if(index===null||index<0||index>=this.config.objects.length){return false;}var object=this.config.objects[index];var clone=object.clone();clone.setColor(object.getColor());for(var h=0;h<clone.handles.length;h++){clone.handles[h].setX(object.handles[h].x);clone.handles[h].setY(object.handles[h].y);}clone.p_I();index=this.config.p_ah(clone);this.selectObject(index,-1,this.cursorX,this.cursorY);};this.highlightObject=function(index,handle){if(this.config===null){return false;}if(typeof index!='number'||index<0||index>=this.config.objects.length){if(this.p_F!==null&&this.p_F>=0&&this.p_F<this.config.objects.length){if(this.config.objects[this.p_F].isInEditMode){this.config.objects[this.p_F].setEditMode(false);}}this.setCursor('crosshair');this.p_F=null;this.p_Q=null;this.p_K('');return false;}this.setCursor('pointer');if(this.p_F==index&&this.p_Q==handle&&this.p_V=='highlight'){return;}this.p_V='highlight';this.p_F=index;this.p_Q=handle;if(this.config.objects[index].type=="text"){this.p_K(this.config.objects[index].name+' - Doppelklick zum Editieren, Klicken und ziehen zum bewegen, Rechtsklick zum konfigurieren');}else{this.p_K(this.config.objects[index].name+' - Klicken und ziehen zum bewegen, Rechtsklick zum konfigurieren');}};this.selectObject=function(index,handle,offsetX,offsetY){if(this.config===null){return false;}if(typeof index!='number'||index<0||index>=this.config.objects.length){if(this.p_F!==null&&this.p_F>=0&&this.p_F<this.config.objects.length){if(this.config.objects[this.p_F].isInEditMode){this.config.objects[this.p_F].setEditMode(false);}}this.setCursor('crosshair');this.p_F=null;this.p_Q=null;this.p_K('');return false;}if(this.tool=='marker'){this.selectTool('move');}this.p_F=index;this.p_Q=handle;this.p_V='active';if(typeof offsetX=='undefined'||typeof offsetY=='undefined'){this.p_ae=0;this.p_ai=0;}else{this.p_ae=this.config.p_af(offsetX);this.p_ai=offsetY;}if(handle>=0&&this.hasFlag('magnet')&&this.config.objects[index].handles[handle].magnetic){this.setCursor('url(\'/img/profichart/magnetic.gif\'),default');}else{this.setCursor('move');}this.p_K(this.config.objects[index].name+' - wird bearbeitet');};this.p_as=function(index,i,value){if(this.config===null){return false;}if(this.popupVisible&1){this.popupVisible^=1;}if(typeof index!='number'||index<0||index>=this.config.objects.length){return;}if(i=='clone'){this.cloneObject(index);}else if(i=='remove'){this.config.p_ab(index);this.selectObject(null);}else{var options=this.config.objects[index].getOptions(index);if(i>=options.length||i<0){return;}switch(options[i].value){case 'int':value=parseInt(value,10);break;case 'float':value=parseFloat(value);break;case 'bool':if(value=='0'||value=='off'||value=='false'){value=false;}else if(value=='1'||value=='on'||value=='true'){value=true;}break;}if(options[i].field){eval('this.config.objects[index].'+options[i].field+' = '+value);}else{eval('this.config.objects[index].'+options[i].set+'(\''+value+'\','+i+')');}this.config.changed=true;this.config.objects[index].p_I();}this.update(true);};this.p_aH=function(index,x,y){if(this.config===null||this.p_ar===null){return false;}if(!(this.popupVisible&1)){this.popupVisible|=1;}this.setCursor('crosshair');var menu=[];menu[0]={};menu[0].type='button';menu[0].name='remove';menu[0].desc='L&ouml;schen';menu[0].value='';menu[1]={};menu[1].type='button';menu[1].name='clone';menu[1].desc='Kopieren';menu[1].value='';if(this.config.objects[index].getOptions){var options=this.config.objects[index].getOptions(index);var entry=null;var value=null;for(var i=0;i<options.length;i++){if(!options[i].desc){continue;}if(options[i].field){value=eval('this.config.objects[index].'+options[i].field);}else if(options[i].get){value=eval('this.config.objects[index].'+options[i].get+'('+i+')');}if(options[i].value=='bool'){if(value=='1'||value===true||value=='on'){value=true;}else{value=false;}}entry={};entry.type=options[i].value;entry.name=i;entry.desc=options[i].desc;entry.value=value;menu[menu.length]=entry;}}this.p_K(this.config.objects[index].name+' - wird bearbeitet');this.p_ar(x,y,index,this.config.objects[index].name,menu);};this.hideMarker=function(){if(!(this.popupsVisible&2)){return false;}this.popupsVisible^=2;if(this.popupsVisible&4){this.popupsVisible^=4;}if(!this.fastCanvas){this.p_S.style.display='block';this.p_N.style.display='block';this.p_H.style.display='block';}this.markerIndex=null;if(this.p_U!==null){this.p_U(null,null,null);}this.p_K('');this.setCursor('crosshair');if(this.tool=='marker'){this.p_an();}return true;};this.p_aF=function(index){clearTimeout(this.tooltipTimeout);if(this.config===null||this.p_U===null||index<0||index>=this.config.zones.length){return false;}if(!(this.popupsVisible&2)){this.popupsVisible|=2;}var p=this.config.pipPrecision;var zone=this.config.zones[index];var html='<table border="0" cellspacing="0" cellpadding="0" style="text-align: right;width: 100%">';html+='<tr><td style="text-align: left;">Open:</td><td>'+formatNumber(parseFloat(zone.open).toFixed(p))+'</tr>';html+='<tr><td style="text-align: left;">Close:</td><td>'+formatNumber(parseFloat(zone.close).toFixed(p))+'</tr>';html+='<tr><td style="text-align: left;">High:</td><td>'+formatNumber(parseFloat(zone.high).toFixed(p))+'</tr>';html+='<tr><td style="text-align: left;">Low:</td><td>'+formatNumber(parseFloat(zone.low).toFixed(p))+'</tr>';html+='<tr><td style="text-align: left;">Volumen:</td><td>'+formatNumber(zone.volume)+'</tr>';html+='</table>';this.p_U(this.cursorX,this.cursorY,html);return true;};this.p_aL=function(index){if(this.config===null||this.markerIndex==index||this.p_U===null||index<0||index>=this.config.markers.length){return false;}this.hideSelection();if(!(this.popupsVisible&2)){this.popupsVisible|=2;}if(!(this.popupsVisible&4)){this.popupsVisible|=4;}if(!this.fastCanvas){this.p_S.style.display='none';this.p_N.style.display='none';this.p_H.style.display='none';}this.update(true);var marker=this.config.markers[index];if(marker.link!==''){this.setCursor('pointer');}this.p_K('Artikelmarkierung - Klicken zum &ouml;ffnen');var x=marker.x2;var y=marker.y1+((marker.y2-marker.y1)/2);this.markerIndex=index;this.p_U(x,y,marker.title);return true;};this.setCursor=function(cursor){if(this.config===null){return false;}if((this.tool=='marker'||this.tool=='zoom')&&cursor=='crosshair'){cursor="url('/front/img/charts/detailchart/blank.cur'), crosshair;";}document.getElementById(this.id+'_overlay').style.cursor=cursor;};this.reload=function(){if(this.config===null||this.request!==null){return false;}this.request=true;this.hideSelection();if(p_E.callbackBusy!==null){p_E.callbackBusy(true,'Chart wird geladen.');}document.getElementById(this.id+'_canvas').style.display='none';document.getElementById(this.id+'_labels_'+this.config.id).style.display='none';if(this.config.changed){this.config.savedId=null;this.config.token=null;}var imageURL=this.requestURL+'chart.php?'+this.config.getQueryParams()+'&o=0&theme='+this.theme;if(this.config.idsChanged){imageURL+='&a=1';}this.config.changed=false;this.config.idsChanged=false;document.getElementById(this.id+'_image_'+this.config.id).src=imageURL;this.aborted=0;return false;};this.busyEffectFinished=function(){this.request=null;if(this.p_Z!==null&&this.config!==null){this.p_Z(this.config.valid);}};this.imageLoaded=function(element){if(!this.config||element.id!=this.id+'_image_'+this.config.id){return;}var xhRequest=null;if(typeof XMLHttpRequest!='undefined'){xhRequest=new XMLHttpRequest();}else if(window.ActiveXObject){if(navigator.userAgent.toLowerCase().indexOf("msie 5")!= -1){xhRequest=new ActiveXObject("Microsoft.XMLHTTP");}else{xhRequest=new ActiveXObject("Msxml2.XMLHTTP");}}xhRequest.onreadystatechange=function(){var chart=p_E;if(xhRequest.readyState==4){chart.config.height=document.getElementById(chart.id+'_image_'+chart.config.id).height;chart.config.width=document.getElementById(chart.id+'_image_'+chart.config.id).width;chart.parseData(xhRequest.responseText);document.getElementById(chart.id+'_canvas').style.display='block';document.getElementById(chart.id+'_labels_'+chart.config.id).style.display='block';chart.p_aV();if(chart.config.changed){chart.request=null;chart.reload();}else{if(p_E.callbackBusy!==null){p_E.callbackBusy(false);}}}};xhRequest.open("GET",this.requestURL+'chart.php?output=map&'+this.config.getQueryParams()+'&o=0',true);xhRequest.send();this.request=xhRequest;};this.toggleFlag=function(flag){if(this.config===null){return false;}if(this.flags[flag]!==true){this.flags[flag]=true;}else{this.flags[flag]=false;}return false;};this.hasFlag=function(flag){if(this.config===null){return false;}if(this.flags[flag]!==true){return false;}else{return true;}};this.selectTool=function(tool,param){if(this.config===null||this.popupVisible&1){return false;}if(p_E.callbackTool!==null){p_E.callbackTool(tool);}if(!this.fastCanvas&&this.hasMouse){if(tool=='marker'){this.p_S.style.display='block';this.p_N.style.display='block';this.p_H.style.display='block';}if(tool=='zoom'){this.p_N.style.display='block';}}if((this.tool=='marker'||this.tool=='zoom')&&tool!=this.tool){this.hideSelection();this.zoomXStart=null;}this.p_K('');this.tool=tool;this.p_ap=param;this.p_aJ=0;this.p_F=null;this.p_Q=null;this.update(true);this.setCursor('crosshair');return false;};this.hasMouse=false;this.p_aD=function(event,index){if(this.config===null||index<0||index>=this.config.objects.length){return;}var key=event.keyCode||event.which;if(key==13){this.config.objects[index].setEditMode(false);}};this.lcy=0;this.lcx=0;this.p_J=function(type,event){if(this.config===null||this.config.zones.length===0||this.popupVisible&1){return;}if(event.which==null){button=(event.button<2)?0:((event.button==4)?1:2);}else{button=(event.which<2)?0:((event.which==2)?1:2);}if(p_E.eventDebug===true&&type!='move'){alert('Type: '+type+'| Button: '+button+' ( '+event.button+'|'+event.which+')');}var leftclick=button==0;var x=0;var y=0;if(event.offsetY){x=event.offsetX;y=event.offsetY;}else{x=event.layerX;y=event.layerY;}if(type=='move'&&this.lcx==x&&this.lcy==y){return;}this.lcx=x;this.lcy=y;var outside=false;if(type=='in'){this.hasMouse=true;}else if(type=='out'){this.spacingMove=false;this.hasMouse=false;}if(!this.hasMouse||x<0||y<0||x>this.size[0]||y>this.size[1]){outside=true;}var index=this.config.p_M(x);if(isNaN(index)){outside=true;}if(index<0||index===null){index=0;}else if(index>=this.config.zones.length){index=this.config.zones.length-1;}if(!outside){if(this.zoomXStart!==null){x=this.config.p_af(x);}this.cursorX=x;this.cursorY=y;this.cursorValue=parseFloat(this.config.getValue(y)).toFixed(this.config.valuePrecision);this.cursorIndex=index;}if(this.tool=='marker'||this.tool=='zoom'){this.p_aS(type,outside,leftclick,index,x,y);return;}if(this.p_F!==null&&this.p_Q!==null&&this.p_V=='active'){if(type=='up'){this.selectObject(null);this.update(true);if(this.creationSwitch){this.creationSwitch=false;this.selectTool(this.creationTool,this.creationParam);}}else{if(type=='move'){this.update();return;}return;}}if(type=='out'){this.setCursor('crosshair');this.spacingVisible=false;this.highlightObject(null);this.update(true);return;}if(this.tool=='move'){if(this.spacingMove){var value=parseInt(this.size[0]-x,10);if(value<10){value=10;}if(type=='up'){this.spacingMove=false;this.config.setProperty('space',value);this.reload();}else if(type=='move'){this.spacingValue=value;this.update();}return;}var xdiff=0;var ydiff=0;var handles=0;var hoveredObject=null;var hoverValue=0;var newHoverValue=0;var hoverHandle= -1;for(var i=this.config.objects.length-1;i>=0;i--){if(!this.config.objects[i].visible){continue;}newHoverValue=0;hoverHandle= -1;for(var p=0;p<this.config.objects[i].handles.length;p++){xdiff=Math.abs(this.config.objects[i].handles[p].x-x);ydiff=Math.abs(this.config.objects[i].handles[p].y-y);if(xdiff<=4&&ydiff<=4){newHoverValue=1;hoverHandle=p;break;}}if(!newHoverValue){newHoverValue=this.config.objects[i].hasPoint(x,y);}if(newHoverValue!==false&&newHoverValue>hoverValue){hoveredObject=this.config.objects[i];hoverValue=newHoverValue;if(hoverValue==1||hoverValue===true){break;}}}if(hoveredObject!==null&&(hoverValue==1||this.tool=='move'||(type!='down'|| !leftclick))){this.spacingVisible=false;this.setCursor('crosshair');if(type=='dblclick'&&hoveredObject.type=='text'){hoveredObject.setEditMode(true);}if(type=='down'){if(leftclick){this.selectObject(hoveredObject.index,hoverHandle,x,y);}else{this.p_aH(hoveredObject.index,x,y);return;}}else{this.highlightObject(hoveredObject.index,hoverHandle);}this.update(true);return;}if(this.p_F!==null){if(this.p_V=='highlight'){this.highlightObject(null);}else{this.selectObject(null);}this.update(true);return;}if(this.config.showFuture==1&&Math.abs(x-(this.size[0]-parseInt(this.config.getProperty('space'),10)))<5){if(type=='down'){this.spacingMove=true;}if(!this.spacingVisible){this.setCursor('w-resize');this.spacingValue=parseInt(this.config.getProperty('space'),10);this.spacingVisible=true;this.update(true);}}else if(this.spacingVisible){this.setCursor('crosshair');this.spacingVisible=false;this.update(true);}}if(type=='down'){if(leftclick){if(this.tool=='move'){return;}if(this.hasFlag('magnet')){var snap=this.config.p_ag(index,x,y);x=snap[0];y=snap[1];}else{x=this.config.p_af(x);}var select=true;var properties=false;var object=this.p_av(this.config,this.tool,this.p_ap,index,x,y);if(object!==null){var objIndex=this.config.p_ah(object);this.creationSwitch=true;this.creationTool=this.tool;this.creationParam=this.p_ap;if(select){var h=object.handles.length>=2?1:0;if(object.handles[h].dynamic){h=0;}this.selectObject(objIndex,h);}this.update(true);}return;}else if(this.tool=='move'){this.selectTool('marker');}else{this.selectTool('move');}}};this.p_aS=function(type,outside,leftclick,index,x,y){if(type=='in'){if(this.ruler!==true&& !this.fastCanvas){if(this.tool=='marker'){this.p_S.style.display='block';this.p_H.style.display='block';}this.p_N.style.display='block';}return;}else if(type=='out'){if(this.ruler!==true){if(this.zoomXStart!==null){if(x<0){this.zoomXLeft=this.config.zones[0].x;}else if(x>this.size[0]){this.zoomXRight=this.config.zones[this.config.zones.length-1].x;}}if(!this.fastCanvas){this.p_S.style.display='none';this.p_N.style.display='none';this.p_H.style.display='none';}this.hideSelection();this.update(true);}return;}if(leftclick&&type=='up'){if(this.tool=='marker'){this.ruler=false;this.hideSelection();this.p_G.hide();this.update(true);}else{if(this.zoomXStart!==null){if(!this.fastCanvas){this.p_H.style.display='none';}var idx=this.config.p_M(this.zoomXLeft);var idx2=this.config.p_M(this.zoomXRight);this.zoomXStart=null;if(idx!=idx2&&idx>=0&&idx2>=0&&idx<this.config.zones.length&&idx2<this.config.zones.length){this.p_aP(this.config.zones[idx].time-this.p_ak,this.config.zones[idx2].time-this.p_ak);this.hideSelection();this.update(true);}}}}if(outside){return;}var zone=this.config.zones[index];if(type=='down'){if(this.tool=='marker'){if(leftclick){if(this.markerIndex!==null){var newWindow=window.open(this.config.markers[this.markerIndex].link,'_blank');newWindow.focus();return;}this.ruler=true;this.rulerX=x;this.rulerY=y;if(this.hasFlag('magnet')){var snap=this.config.p_ag(index,x,y);this.selectionX=snap[0];this.selectionY=snap[1];}else{this.selectionX=x;this.selectionY=y;}clearTimeout(this.selectionTimeout);clearTimeout(this.tooltipTimeout);if(this.popupsVisible&2){this.hideMarker();}this.p_an();}}else{if(leftclick){if(!this.fastCanvas){this.p_H.style.display='block';}this.zoomXStart=zone.x;}else{if(this.zoomXStart!==null){if(!this.fastCanvas){this.p_H.style.display='none';}this.zoomXStart=null;}else{if(!this.p_aR()){return;}this.hideSelection();}this.update(true);return;}}}if(this.zoomXStart!==null){if(x<this.zoomXStart){this.zoomXLeft=zone.x;this.zoomXRight=this.zoomXStart;}else{this.zoomXLeft=this.zoomXStart;this.zoomXRight=zone.x;}}if(this.ruler===true){if(type=='move'){if(this.hasFlag('magnet')){var snap=this.config.p_ag(index,x,y);this.rulerX=snap[0];this.rulerY=snap[1];}else{this.rulerX=x;this.rulerY=y;}this.hideRulerSelection();clearTimeout(this.selectionTimeout);this.selectionTimeout=setTimeout('p_E.p_aC()',200);}}else{if(type=='move'){if(this.zoomXStart===null){var marker=this.config.p_aN(x,y);if(marker!==null){this.p_aL(marker);return;}}if(this.popupsVisible&2){this.hideMarker();}if(this.selectionVisible){this.hideSelection();}clearTimeout(this.selectionTimeout);this.selectionTimeout=setTimeout('p_E.p_an()',200);}var newZone=false;if(this.tool=='marker'&&this.hasFlag('magnet')){var snap=this.config.p_ag(index,x,y);this.selectionX=snap[0];this.selectionY=snap[1];zone=this.config.zones[snap[2]];index=snap[2];}else{this.selectionX=x;this.selectionY=y;}if(!this.ruler&&this.tool=='marker'){clearTimeout(this.tooltipTimeout);var show=false;if(this.config.getProperty("type")=="candle"){var h=this.config.p_W(zone.high);var l=this.config.p_W(zone.low);if(y>=h-25&&y<=l+25){show=true;}}else if(Math.abs(zone.y-y)<=50){show=true;}if(show){this.tooltipTimeout=setTimeout('p_E.p_aF('+index+')',1000);}}if(this.selection===null||zone.x!=this.selection.x){this.selection=zone;newZone=true;}}this.update();};this.rto=null;this.forced=false;this.update=function(forced){if(forced){this.render(true);return;}if(this.rto===null){this.rto=setTimeout("p_E.render()",1);}};this.render=function(forced){if(this.p_V=='active'){var h=this.p_Q;var s=this.p_F;if(h!==null&&s!==null){var x=this.cursorX;var y=this.cursorY;var i=0;if(h== -1){x=this.config.p_al(this.cursorIndex);var yDiff=this.cursorY-this.p_ai;var xArray=[];var yArray=[];var res=false;var newCursorX=this.config.p_af(this.cursorX);var xDiff=(newCursorX-this.p_ae)/this.config.tickWidth;for(i=0;i<this.config.objects[s].handles.length;i++){xArray[i]=this.config.objects[s].handles[i].x;yArray[i]=this.config.objects[s].handles[i].y;}if(newCursorX!=this.p_ae){for(i=0;i<this.config.objects[s].handles.length;i++){x=this.config.p_af(xArray[i]+xDiff);x=this.config.p_al(this.config.p_M(xArray[i])+xDiff);res=this.config.objects[s].handles[i].setX(x);if(res===false){for(var j=0;j<i;j++){this.config.objects[s].handles[j].setX(xArray[j]);}break;}}if(res){this.p_ae=newCursorX;}}for(i=0;i<this.config.objects[s].handles.length;i++){this.config.objects[s].handles[i].setY(yArray[i]+yDiff);this.config.objects[s].p_I();}this.p_ai=this.cursorY;}else{var index=this.cursorIndex;if(this.config.objects[s].handles[h].magnetic){if(this.hasFlag('magnet')){var snap=this.config.p_ag(index,x,y);x=snap[0];y=snap[1];index=snap[2];}else{x=this.config.p_al(index);}}this.config.objects[s].moveHandle(h,index,x,y);}this.config.changed=true;}}if(this.fastCanvas||forced===true||(this.tool!='zoom'&&(this.tool!='marker'||this.ruler==true))){this.p_aQ();}if(!this.fastCanvas&&(this.tool=='zoom'||this.tool=='marker')){if(typeof this.cursorX=='number'){this.p_S.style.top=(this.selectionY+this.offset[1])+'px';this.p_N.style.left=(this.selectionX+this.offset[0])+'px';}if(this.zoomXStart!==null){this.p_H.style.left=(this.zoomXLeft+this.offset[0])+'px';this.p_H.style.width=(this.zoomXRight-this.zoomXLeft)+'px';}else if(this.selection!==null){var tw=Math.ceil(this.config.tickWidth);this.p_H.style.left=(this.selection.x-(tw/2)+this.offset[0])+'px';this.p_H.style.width=(tw)+'px';}else{this.p_H.style.width='0px';}}clearTimeout(this.rto);this.rto=null;};this.p_aQ=function(){if(this.config===null||this.config.valid!==true){return false;}if(this.canvasContext===null){var canvas=document.getElementById(this.id+'_canvas');if(typeof canvas!='undefined'&&typeof canvas.getContext!='undefined'&&canvas.getContext!==null){this.canvasContext=canvas.getContext("2d");}else{return;}}var context=this.canvasContext;context.clearRect(0,0,this.size[0],this.size[1]);if(this.config.objects.length>0){context.fillStyle="rgba(0, 0, 0, 1)";context.strokeStyle="rgba(0, 0, 0, 1)";}for(var i=0;i<this.config.objects.length;i++){if(!this.config.objects[i].visible){continue;}if(this.p_F==i){context.lineWidth=3;}this.config.objects[i].draw(context);if(this.p_F==i){context.lineWidth=1;context.strokeStyle="rgba(0, 0, 0, 1)";context.fillStyle="rgba(255, 255, 255, 1)";for(var j=0;j<this.config.objects[i].handles.length;j++){if(this.p_F==i&&this.p_Q==j){context.fillStyle="rgba(0, 0, 0, 1)";context.fillRect(this.config.objects[i].handles[j].x-4,this.config.objects[i].handles[j].y-4,8,8);context.fillStyle="rgba(255, 255, 255, 1)";}else{context.fillRect(this.config.objects[i].handles[j].x-4,this.config.objects[i].handles[j].y-4,8,8);context.strokeRect((this.config.objects[i].handles[j].x-4)+0.5,(this.config.objects[i].handles[j].y-4)+0.5,8,8);}}}}if(this.fastCanvas||this.ruler===true||this.spacingVisible){if(this.spacingVisible===true){var sx=(this.size[0]-this.spacingValue)+0.5;context.strokeStyle="rgba(0, 0, 0, 0.4)";context.beginPath();context.moveTo(sx,0.5);context.lineTo(sx,this.size[1]+0.5);context.stroke();}if(this.ruler===true){context.strokeStyle="rgba(0, 0, 0, 0.4)";context.beginPath();context.moveTo(this.selectionX+0.5,this.selectionY+0.5);context.lineTo(this.rulerX+0.5,this.rulerY+0.5);context.stroke();}if(this.zoomXStart!==null){context.fillStyle="rgba(0, 0, 0, 0.20)";context.fillRect(this.zoomXLeft,0,this.zoomXRight-this.zoomXLeft,this.size[1]);}if(this.selection!==null&& !(this.popupsVisible&4)){context.strokeStyle="rgba(0, 0, 0, 0.4)";if(this.tool=='marker'){context.beginPath();context.moveTo(0,this.selectionY+0.5);context.lineTo(this.size[0],this.selectionY+0.5);context.stroke();}context.beginPath();context.moveTo(this.selectionX+0.5,0);context.lineTo(this.selectionX+0.5,this.size[1]);context.stroke();if(this.tool=='marker'&&(this.zoomXStart===null||this.zoomXLeft-this.zoomXRight===0)){context.fillStyle="rgba(50, 50, 50, 0.20)";context.fillRect(this.selection.x-(this.config.tickWidth/2),0,this.config.tickWidth,this.size[1]);}}}};this.hideRulerSelection=function(){if(this.p_G.visible){this.p_G.hide();}};this.p_aC=function(){if(this.ruler!==true||this.config===null){return;}if(!this.p_G.visible){this.p_G.show();}var ticks=Math.abs(this.config.p_M(this.cursorX)-this.config.p_M(this.selectionX));var selectionValue=this.config.getValue(this.selectionY);var points=Math.abs(parseInt(Math.ceil((this.cursorValue-selectionValue)/Math.pow(10,-this.config.pipPrecision)),10));var percentage=Math.abs(((this.cursorValue/selectionValue)*100-100).toFixed(2));this.p_G.setPosition(this.cursorX+(this.cursorX>this.selectionX? -1:1)*5,this.cursorY);this.p_G.setCaption(ticks+' / '+points+' / '+percentage+'% / '+this.cursorValue);this.p_G.setAlignment(this.cursorX>this.selectionX?'right':'left','middle');};this.p_an=function(){if(this.config===null||this.selection===null){return false;}if(!this.selectionVisible){this.p_P.show();if(this.tool=='marker'){this.p_R.show();}}this.p_P.setCaption(this.selection.ftime);this.p_P.setPosition(this.selectionX,this.size[1]);if(this.tool=='marker'){var value=parseFloat(this.config.getValue(this.selectionY)).toFixed(this.config.valuePrecision);this.p_R.setCaption(value);this.p_R.setPosition(this.size[0],this.selectionY);}this.selectionVisible=true;};this.hideSelection=function(){if(this.config===null){return false;}if(this.selectionVisible){this.p_P.hide();this.p_R.hide();}this.selectionVisible=false;this.selection=null;clearTimeout(this.selectionTimeout);clearTimeout(this.tooltipTimeout);};this.setCallbackBusy=function(callback){this.callbackBusy=callback;};this.setCallbackTool=function(callback){this.callbackTool=callback;};this.p_aU=function(callback){this.p_T=callback;};this.p_aK=function(callback){this.p_ac=callback;};this.p_aM=function(callback){this.p_ar=callback;};this.p_aW=function(callback){this.p_Z=callback;};this.p_bd=function(callback){this.p_X=callback;};this.p_aO=function(callback){this.p_U=callback;};this.p_aV=function(){if(this.config===null){return false;}var isRelative=(this.config.getProperty('scale')=='relative');var handles=0;var index=0;for(var i=0;i<this.config.objects.length;i++){for(var p=0;p<this.config.objects[i].handles.length;p++){if(this.config.objects[i].handles[p].realValue===null){this.config.objects[i].handles[p].calculateValues();}this.config.objects[i].handles[p].setTimestamp(this.config.objects[i].handles[p].timestamp);if(isRelative){this.config.objects[i].handles[p].setValue(this.config.objects[i].handles[p].relativeValue);}else{this.config.objects[i].handles[p].setValue(this.config.objects[i].handles[p].realValue);}}this.config.objects[i].p_I();}this.update(true);};this.p_aR=function(){if(this.config===null||this.config.p_L.length===0){return false;}var n=this.config.p_L.length-2;if(n<0){this.config.p_L=[];this.config.setProperty('startDate',0);this.config.setProperty('endDate',0);}else{this.config.setProperty('startDate',this.config.p_L[n][0]);this.config.setProperty('endDate',this.config.p_L[n][1]);this.config.p_L.splice(n+1,1);}if(this.p_X!==null){this.p_X();}this.reload();return true;};this.p_az=function(){if(this.config===null){return false;}this.config.p_L=[];};this.p_aP=function(from,to){if(this.config===null){return false;}var n=this.config.p_L.length;this.config.p_L[n]=[];this.config.p_L[n][0]=from;this.config.p_L[n][1]=to;this.config.setProperty('startDate',from);this.config.setProperty('endDate',to);if(this.p_X!==null){this.p_X(from,to);}this.reload();return true;};};p_E=p_d.prototype.getInstance();p_E.fastCanvas=window.CanvasRenderingContext2D||/WebKit/.test(navigator.userAgent);

