function Annotation(D,H,B,E,I,F){if(D==null){return }this.pageWidth=H;this.pageHeight=B;this.preview=false;this.annDelete=false;this.doubleByte=I;this.index=F;this.layerName=E;var A=document.getElementById("annotationCanvas");this.type=getValue(D,"annType");this.ordinal=parseInt(getValue(D,"annOrdinal"));var C=getValue(D,"annLayerID");if(C!="ANNOTATION_LAYER_ID"){this.layerName=C}this.box=new BoundingBox(parseInt(getValue(D,"annStartX")),parseInt(getValue(D,"annStartY")),parseInt(getValue(D,"annWidth")),parseInt(getValue(D,"annHeight")));this.lineColor=getValue(D,"lineColor");this.fillColor=getValue(D,"fillColor");this.opacity=1;fillTransparent=getValue(D,"fillTransparent");if(fillTransparent!=null){if(fillTransparent=="true"){this.opacity=0.5}}else{this.opacity=1}this.lineWidth=getValue(D,"lineWidth");if(this.lineWidth!=null){this.lineWidth=parseInt(this.lineWidth)}else{this.lineWidth=1}this.lineStyle=getValue(D,"lineStyle");this.rotationAngle=getValue(D,"rotationAngle");if(this.rotationAngle!=null){this.rotationAngle=parseInt(this.rotationAngle)}else{this.rotationAngle=0}var G=getValue(D,"pointArray");if(G!=null){this.pointArray=parsePointArray(G);this.fixBoundingBox()}this.fontName=getValue(D,"fontName");this.fontSize=getValue(D,"fontSize");this.fontBold=fixBooleanString(getValue(D,"fontBold"));this.fontItalic=fixBooleanString(getValue(D,"fontItalic"));this.fontStrike=fixBooleanString(getValue(D,"fontStrike"));this.fontUnderline=fixBooleanString(getValue(D,"fontUnderline"));this.fontColor=getValue(D,"fontColor");if(this.fontSize!=null){this.fontSize=parseInt(this.fontSize)}this.textString=getValue(D,"textString")}Annotation.prototype.copyFrom=function(F){var D=this;var C=F;D.pageWidth=C.getPageWidth();D.pageHeight=C.getPageHeight();D.preview=C.getPreview();D.annDelete=C.getDelete();D.doubleByte=C.getDoubleByte();D.index=C.getIndex();D.layerName=C.getLayerName();D.type=C.getType();D.ordinal=C.getOrdinal();D.layerName=C.getLayerName();var B=C.getBoundingBox();D.box=new BoundingBox(B.getX1(),B.getY1(),B.getWidth(),B.getHeight());D.lineColor=C.getLineColorRGB();D.fillColor=C.getFillColorRGB();D.opacity=C.getOpacity();D.lineWidth=C.getLineWidth();D.lineStyle=C.getLineStyle();D.rotationAngle=C.getRotationAngle();var E=C.getPointArray();C.pointArray=new Array();if(E!=null){for(var A=0;A<E.length;A+=1){C.pointArray.push(new Point(E[A].getX(),E[A].getY()))}}else{C.pointArray=null}D.fontName=C.getFontName();D.fontSize=C.getFontSize();D.fontBold=C.getFontBold();D.fontItalic=C.getFontItalic();D.fontStrike=C.getFontStrike();D.fontUnderline=C.getFontUnderline();D.fontColor=C.getFontColor();D.textString=C.getTextString();return D};Annotation.prototype.clone=function(){var A=new Annotation();A.copyFrom(this);return A};Annotation.prototype.getType=function(){return this.type};Annotation.prototype.getDelete=function(){return this.annDelete};Annotation.prototype.setDelete=function(A){this.annDelete=A};Annotation.prototype.getDoubleByte=function(){return this.doubleByte};Annotation.prototype.setDoubleByte=function(A){this.doubleByte=A};Annotation.prototype.fixCoordinates=function(){this.box=new BoundingBox(Math.round(this.box.getX1()/this.getWidthRatio()),Math.round(this.box.getY1()/this.getHeightRatio()),Math.round(this.box.getWidth()/this.getWidthRatio()),Math.round(this.box.getHeight()/this.getHeightRatio()));if(this.pointArray!=null){for(var A=0;A<this.pointArray.length;A+=1){this.pointArray[A].setX(Math.round(this.pointArray[A].getX()/this.getWidthRatio()));this.pointArray[A].setY(Math.round(this.pointArray[A].getY()/this.getHeightRatio()))}}};Annotation.prototype.fixBoundingBox=function(){if((this.pointArray!=null)&&(this.pointArray.length>1)){var E=this.pointArray[0].getX();var D=this.pointArray[0].getY();var B=this.pointArray[0].getX();var A=this.pointArray[0].getY();if(this.pointArray!=null){for(var H=0;H<this.pointArray.length;H+=1){if(this.pointArray[H].getX()<E){E=this.pointArray[H].getX()}if(this.pointArray[H].getY()<D){D=this.pointArray[H].getY()}if(this.pointArray[H].getX()>B){B=this.pointArray[H].getX()}if(this.pointArray[H].getY()>A){A=this.pointArray[H].getY()}}}var H=E;var G=D;var C=B-E;var I=A-D;if(this.type==annotationTypes.SANN_CIRCLE){if(rotateAngle==0){I=C}else{if(rotateAngle==90){C=I}else{if(rotateAngle==180){I=C*-1;G=A}else{if(rotateAngle==270){C=I*-1;H=B}}}}}this.box=new BoundingBox(H,G,C,I)}var F=this.getBoundingBox();var H=F.getX1();var G=F.getY1();var C=F.getWidth();var I=F.getHeight();if(C<0){C=C*-1;H=H-C}if(I<0){I=I*-1;G=G-I}this.box=new BoundingBox(H,G,C,I)};Annotation.prototype.rotatePointArray=function(B){if(pointArray==null){return null}for(var A=0;A<this.pointArray.length;A+=1){pointArray[A].unrotate(B,this.pageWidth,this.pageHeight)}};Annotation.prototype.getIndex=function(){return this.index};Annotation.prototype.setIndex=function(A){this.index=A};Annotation.prototype.getOrdinal=function(){return this.ordinal};Annotation.prototype.setOrdinal=function(A){this.ordinal=A};Annotation.prototype.getWidthRatio=function(){var A=document.getElementById("annotationCanvas");var B=A.width/this.pageWidth;if(((rotateAngle==90)||(rotateAngle==270))&&(this.getPreview()!=true)){B=A.height/this.pageWidth}return B};Annotation.prototype.getHeightRatio=function(){var A=document.getElementById("annotationCanvas");var B=A.height/this.pageHeight;if(((rotateAngle==90)||(rotateAngle==270))&&(this.getPreview()!=true)){B=A.width/this.pageHeight}return B};Annotation.prototype.getPageWidth=function(){return this.pageWidth};Annotation.prototype.setPageWidth=function(A){this.pageWidth=A};Annotation.prototype.getPageHeight=function(){return this.pageHeight};Annotation.prototype.setPageHeight=function(A){this.pageHeight=A};Annotation.prototype.getLayerName=function(){if(this.layerName==null){return"ANNOTATION_LAYER_ID"}else{return this.layerName}};Annotation.prototype.setLayerName=function(A){this.layerName=A};Annotation.prototype.getBoundingBox=function(){return this.box};Annotation.prototype.setBoundingBox=function(A){this.box=A};Annotation.prototype.getLineColor=function(){if((this.lineColor!=null)&&(this.lineColor!="NO_COLOR")){return parseColorString(this.lineColor)}else{return null}};Annotation.prototype.setLineColor=function(A){this.lineColor=A};Annotation.prototype.getFillColor=function(){if(this.fillColor!=null){return parseColorString(this.fillColor,this.opacity)}else{return null}};Annotation.prototype.setFillColor=function(A){this.fillColor=A};Annotation.prototype.getLineColorRGB=function(){if(this.lineColor!=null){return this.lineColor}else{return null}};Annotation.prototype.setLineColorRGB=function(A){this.lineColor=A};Annotation.prototype.getFillColorRGB=function(){if(this.fillColor!=null){return this.fillColor}else{return null}};Annotation.prototype.setFillColorRGB=function(A){this.fillColor=A};Annotation.prototype.getRotationAngle=function(){if(this.rotationAngle!=null){return this.rotationAngle}else{return 0}};Annotation.prototype.getLineWidth=function(){return this.lineWidth};Annotation.prototype.setLineWidth=function(A){this.lineWidth=A};Annotation.prototype.getLineStyle=function(){return this.lineStyle};Annotation.prototype.setLineStyle=function(A){this.lineStyle=A};Annotation.prototype.getOpacity=function(){return this.opacity};Annotation.prototype.getPointArray=function(){return this.pointArray};Annotation.prototype.setPointArray=function(A){this.pointArray=A};Annotation.prototype.getFontName=function(){return this.fontName};Annotation.prototype.setFontName=function(A){this.fontName=A};Annotation.prototype.getFontSize=function(){return this.fontSize};Annotation.prototype.setFontSize=function(A){this.fontSize=A};Annotation.prototype.getFontBold=function(){return this.fontBold};Annotation.prototype.setFontBold=function(A){this.fontBold=A};Annotation.prototype.getFontItalic=function(){return this.fontItalic};Annotation.prototype.setFontItalic=function(A){this.fontItalic=A};Annotation.prototype.getFontStrike=function(){return this.fontStrike};Annotation.prototype.setFontStrike=function(A){this.fontStrike=A};Annotation.prototype.getFontUnderline=function(){return this.fontUnderline};Annotation.prototype.setFontUnderline=function(A){this.fontUnderline=A};Annotation.prototype.getPreview=function(){return this.preview};Annotation.prototype.setPreview=function(A){this.preview=A};Annotation.prototype.getFontColor=function(){return this.fontColor};Annotation.prototype.setFontColor=function(A){this.fontColor=A};Annotation.prototype.getTextString=function(){return this.textString};Annotation.prototype.setTextString=function(A){this.textString=A};Annotation.prototype.move=function(C){var D=this.box;this.box=new BoundingBox(Math.round(C.getX()/this.getWidthRatio()),Math.round(C.getY()/this.getHeightRatio()),D.getWidth(),D.getHeight());var B=this.box.getX1()-D.getX1();var A=this.box.getY1()-D.getY1();this.movePointArray(B,A)};Annotation.prototype.stretchLine=function(B,E,D){var C=(polygonNubSize/2)/this.getWidthRatio();var A=Math.round(E/this.getWidthRatio());var F=Math.round(D/this.getHeightRatio());if(B==lineEnds.start){this.pointArray[0]=new Point(A,F)}else{if(B==lineEnds.end){this.pointArray[1]=new Point(A,F)}}};Annotation.prototype.stretch=function(K,E,C){var J=E/this.getWidthRatio();var I=C/this.getHeightRatio();var D=this.box;var B;var L;var H;var A;var G;var F;if(K==corners.upperLeft){B=J;L=I;H=D.getX2()-B;A=D.getY2()-L}else{if(K==corners.upperRight){B=D.getX1();L=I;H=J-B;A=D.getY2()-L}else{if(K==corners.lowerLeft){B=J;L=D.getY1();H=D.getX2()-B;A=I-L}else{if(K==corners.lowerRight){B=D.getX1();L=D.getY1();H=J-B;A=I-L}}}}if((H>0)&&(A>0)){this.box=new BoundingBox(B,L,H,A);this.stretchPointArray(D,this.box)}};Annotation.prototype.movePointArray=function(C,B){if(this.pointArray!=null){for(var A=0;A<this.pointArray.length;A+=1){this.pointArray[A].setX(Math.round(this.pointArray[A].getX()+C));this.pointArray[A].setY(Math.round(this.pointArray[A].getY()+B))}}};Annotation.prototype.stretchPointArray=function(G,B){var C=B.getX1();var F=B.getY1();var E=B.getWidth()/G.getWidth();var D=B.getHeight()/G.getHeight();if(this.pointArray!=null){for(var A=0;A<this.pointArray.length;A+=1){this.pointArray[A].setX(Math.round(C+((this.pointArray[A].getX()-G.getX1())*E)));this.pointArray[A].setY(Math.round(F+((this.pointArray[A].getY()-G.getY1())*D)))}}};Annotation.prototype.toXML=function(){var D="";var F=this.getType();if(F==annotationTypes.SANN_CIRCLE){F=annotationTypes.SANN_ELLIPSE}if(this.annDelete==true){return""}D+="<annObject>";D+="<annMeta>";D+="<annID>ANN_ID</annID>";D+="<annType>"+F+"</annType>";D+="<annLayerID>"+this.getLayerName()+"</annLayerID>";D+="<annOrdinal>"+this.getOrdinal()+"</annOrdinal>";D+="<annDelete>false</annDelete>";D+="<annHistory>";D+="<annCreateDate>1999-12-31T11:59:59-05:00</annCreateDate>";D+="<annCreateUser/>";D+="</annHistory>";D+="</annMeta>";D+="<annTransparent>false</annTransparent>";if((F==annotationTypes.SANN_EDIT)||(F==annotationTypes.SANN_BUBBLE)||(F==annotationTypes.SANN_POSTIT)||(F==annotationTypes.SANN_CLOUD_EDIT)){D+="<fontInfo>";D+="<fontName>"+this.getFontName()+"</fontName>";D+="<fontSize>"+this.getFontSize()+"</fontSize>";D+="<fontBold>"+this.getFontBold()+"</fontBold>";D+="<fontItalic>"+this.getFontItalic()+"</fontItalic>";D+="<fontStrike>"+this.getFontStrike()+"</fontStrike>";D+="<fontUnderline>"+this.getFontUnderline()+"</fontUnderline>";D+="<fontColor>"+this.getFontColor()+"</fontColor>";D+="</fontInfo>";D+="<textString>"+this.getTextString()+"</textString>"}if(((this.getFillColor()==null)&&(this.getLineColor()!=null))||(F==annotationTypes.SANN_POLYGON)){D+="<lineInfo>";D+="<lineStyle>Solid</lineStyle>";D+="<lineWidth>"+this.getLineWidth()+"</lineWidth>";if((F==annotationTypes.SANN_POLYGON)&&(this.getFillColor()!=null)){D+="<lineColor>NO_COLOR</lineColor>"}else{D+="<lineColor>"+this.getLineColorRGB()+"</lineColor>"}D+="<lineTransparent>false</lineTransparent>";if(this.getPointArray()!=null){D+="<pointArray>";D+=generatePointArrayString(this.getPointArray());D+="</pointArray>"}else{D+="<pointArray/>"}D+="</lineInfo>"}if(this.getFillColor()!=null){D+="<fillInfo>";D+="<fillColor>"+this.getFillColorRGB()+"</fillColor>";if(this.getOpacity()<1){D+="<fillTransparent>true</fillTransparent>";D+="<fillTransparentPercent />"}else{D+="<fillTransparent>false</fillTransparent>";D+="<fillTransparentPercent />"}D+="</fillInfo>"}D+="<rotationAngle>"+this.getRotationAngle()+"</rotationAngle>";var C=Math.round(this.getBoundingBox().getX1());var B=Math.round(this.getBoundingBox().getY1());var A=Math.round(this.getBoundingBox().getHeight());var E=Math.round(this.getBoundingBox().getWidth());if((F==annotationTypes.SANN_LINE)||(F==annotationTypes.SANN_ARROW)){var H=this.pointArray[0];var G=this.pointArray[1];if(H.getX()>G.getX()){E*=-1;C=H.getX()}if(H.getY()>G.getY()){A*=-1;B=H.getY()}}D+="<annStartX>"+C+"</annStartX>";D+="<annStartY>"+B+"</annStartY>";D+="<annHeight>"+A+"</annHeight>";D+="<annWidth>"+E+"</annWidth>";D+="</annObject>";return D};Annotation.prototype.findLineEndpoint=function(A,E,D){var J=(polygonNubSize/2)/E;var G=A.getX()/E;var F=A.getY()/D;var C=this.pointArray[0].getX();var B=this.pointArray[0].getY();var I=this.pointArray[1].getX();var H=this.pointArray[1].getY();if((G>=(C-J))&&(G<=(C+J))&&(F>=(B-J))&&(F<=(B+J))){return lineEnds.start}else{if((G>=(I-J))&&(G<=(I+J))&&(F>=(H-J))&&(F<=(H+J))){return lineEnds.end}else{return null}}};function PreviewAnnotation(G,D,H,A,E,F,I){var B=document.getElementById("annotationCanvas");this.pageWidth=B.width;this.pageHeight=B.height;this.type=G;this.box=D;this.lineColor=H;this.preview=true;this.annDelete=false;this.index=-1;var C=G.indexOf("Filled");if(C!=-1){this.fillColor=A;this.type=G.slice(6,G.length)}var J=G.indexOf("Highlight");if(J!=-1){this.fillColor=A;this.opacity=F;this.type=G.slice(9,G.length)}else{this.opacity=1}if(G==annotationTypes.SANN_CIRCLE){this.fillColor=A;this.box=new BoundingBox(D.getX1(),D.getY1(),D.getWidth(),D.getWidth())}if(G==annotationTypes.SANN_FREEHAND){this.type=annotationTypes.SANN_LINE}if(G==annotationTypes.SANN_FILLED_POLYGON){this.type=annotationTypes.SANN_POLYGON}if((G==annotationTypes.SANN_EDIT)||(G==annotationTypes.SANN_BUBBLE)||(G==annotationTypes.SANN_CLOUD_EDIT)||(G==annotationTypes.SANN_POSTIT)){this.textString="Text";this.fontName="Arial";this.fontSize="12";this.fontBold="false";this.fontItalic="false";this.fontStrike="false";this.fontUnderline="false";this.fontColor="ff0000"}if(E!=null){this.lineWidth=parseInt(E)}else{this.lineWidth=1}if(I!=null){this.pointArray=I}}PreviewAnnotation.prototype=Annotation.prototype;
