function TTECListaCoorPunto(C,B,A){this.Coor=C;this.Texto=B;this.Tag=A}function TTECListaCoor(A,D,C,B){this.Visor=A;this.Id=D;this.Datum=new TTECDatum(C);this.Tolerancia=(sinDefinir(B)?0:B);this.Lista=new Array()}TTECListaCoor.prototype.AddPunto=function(C,D,B,A){this.Lista[this.Lista.length]=new TTECListaCoorPunto(new TTECCoordenada(this.Datum,C,D),B,A)};TTECListaCoor.prototype.getCoor=function(B){if(this.Lista.length==0){return null}var C=B.DatumActual;B.DatumActual=this.Datum;var A=B.getX();var D=B.getY();B.DatumActual=C;return this.getBox(A-this.Tolerancia,D-this.Tolerancia,A+this.Tolerancia,D+this.Tolerancia)};TTECListaCoor.prototype.getBox=function(C,L,B,K){if(this.Lista.length==0){return null}var A=Math.min(C,B);var M=Math.min(L,K);var H=Math.max(C,B);var D=Math.max(L,K);var I=-1;var E=this.Lista.length;var J;if((H<this.Lista[0].Coor.getX())||(A>this.Lista[E-1].Coor.getX())){return null}if(A<this.Lista[0].Coor.getX()){I=0}else{I=this._buscarElementoEnX(A,H,0,E-1)}if(I==-1){return null}var F=new Array();for(var G=I;G>=0;G--){if(this.Lista[G].Coor.getX()<A){break}J=this.Lista[G].Coor.getY();if(J>=M&&J<=D){F[F.length]=this.Lista[G]}}for(var G=I+1;G<=E-1;G++){if(this.Lista[G].Coor.getX()>H){break}J=this.Lista[G].Coor.getY();if(J>=M&&J<=D){F[F.length]=this.Lista[G]}}return F};TTECListaCoor.prototype._buscarElementoEnX=function(G,D,B,F){var C;var E=-1;var A;while(B<=F){if(B==F){A=this.Lista[B].Coor.getX();if((A>=G)&&(A<=D)){E=B}else{E=-1}break}C=Math.round((B+F)/2);A=this.Lista[C].Coor.getX();if(A>=G&&A<=D){E=C;break}else{if(A>G){F=C-1}else{B=C+1}}}return E};TTECListaCoor.prototype.SortXY=function(D){if(sinDefinir(D)){D=true}this.__quickSortX(D,0,this.Lista.length-1);var C=this.Lista[0].Coor.getY();var E=0;var A=0;for(var B=0;B<this.Lista.length;B++){if(C!=this.Lista[B].Coor.getY()){if(E>1){this.__quickSortY(D,A,B-1)}E=0;A=B;C=this.Lista[B].Coor.getY()}E++}if(E>1){this.__quickSortY(D,A,this.Lista.length-1)}};TTECListaCoor.prototype.__quickSortX=function(F,B,G){var E=B;var C=G;var D;var A=this.Lista[Math.floor((E+C)/2)].Coor.getX();do{if(F){while((E<G)&&(A>this.Lista[E].Coor.getX())){E++}while((C>B)&&(A<this.Lista[C].Coor.getX())){C--}}else{while((E<G)&&(A<this.Lista[E].Coor.getX())){E++}while((C>B)&&(A>this.Lista[C].Coor.getX())){C--}}if(E<C){D=this.Lista[E];this.Lista[E]=this.Lista[C];this.Lista[C]=D}if(E<=C){E++;C--}}while(E<=C);if(B<C){this.__quickSortX(F,B,C)}if(E<G){this.__quickSortX(F,E,G)}};TTECListaCoor.prototype.__quickSortY=function(E,A,G){var D=A;var B=G;var C;var F=this.Lista[Math.floor((D+B)/2)].Coor.getY();do{if(E){while((D<G)&&(F>this.Lista[D].Coor.getY())){D++}while((B>A)&&(F<this.Lista[B].Coor.getY())){B--}}else{while((D<G)&&(F<this.Lista[D].Coor.getY())){D++}while((B>A)&&(F>this.Lista[B].Coor.getY())){B--}}if(D<B){C=this.Lista[D];this.Lista[D]=this.Lista[B];this.Lista[B]=C}if(D<=B){D++;B--}}while(D<=B);if(A<B){this.__quickSortY(E,A,B)}if(D<G){this.__quickSortY(E,D,G)}};function moverToolTip(B){var F=toolTipExp.style;if(B==""){F.visibility="hidden"}else{B.sort();var D="";var E="";for(var C=0;C<B.length;C++){if(E!=B[C]){D=D+B[C]+"<br>";E=B[C]}}toolTipExp.innerHTML=D;var A=mouseX+12;var H=mouseY+14;var G=2+(12*B.length);if((imageWidth-A)<80){A=mouseX-(80-(imageWidth-mouseX))}if((imageHeight-H)<G){H=mouseY-7-G}F.left=A+"px";F.top=H+"px";F.visibility="visible"}}
