function handleResponse(_1,_2){
var _3=_2[0];
var _4=currentCallbackId;
if(_4){
try{
Maps["map"].resetDisplay();
_4(_3);
}
catch(ex){
Logger.error("EView Map Error: "+ex.message+": "+ex.message.description);
setMessageArea("error","EView Map Error",ex.message+": "+ex.message.description);
}
}
}
function registerCallback(_5){
currentCallbackId=_5;
}
function MapObject(_6,_7,_8,_9,_a,_b,_c,_d){
Object.extend(this,new ControlObject(_6,"Map",_7,_8,_9,_a));
this.index=0;
this.name=_6;
this.divId="MapDiv_"+_6;
this.imageId="MapImage_"+_6;
this.vectorDivId="LineDiv_"+_6;
this.containerDivId="MapControlDiv_"+this.controlName;
this.parentId=null;
this.dragBoxColor="Black";
if(_b!=null){
this.dragBoxColor=_b;
}
this.dragLineWidth=3;
if(_c!=null){
this.dragLineWidth=_c;
}
this.imageSizeFactor=1;
this.imageWidth=_9;
this.imageHeight=_a;
this.imageLeft=_7;
this.imageTop=_8;
this.containerLeft=0;
this.containerTop=0;
this.overSized=false;
if(_d!=null){
this.overSized=_d;
}
if(this.overSized){
this.imageSizeFactor=3;
this.imageWidth=_9*this.imageSizeFactor;
this.imageHeight=_a*this.imageSizeFactor;
this.imageLeft=0-_9;
this.imageTop=0-_a;
}
this.imgUrl="";
this.cursor="pointer";
this.drawBox=false;
this.dragImage=false;
this.drawShape=false;
this.showLoading=true;
this.actionType="DragRectangle";
this.clientAction="DragRectangle";
this.mode="ZoomIn";
this.moveFunction=null;
this.windowObject=mapWindow;
this.pageID="";
this.enableClientPostBack=false;
this.toolsSupportingClientPostBack="";
this.divObject=null;
this.imageObject=null;
this.vectorObject=null;
this.loadingObject=null;
this.containerObject=null;
this.setObjects=function(){
this.divObject=document.getElementById(this.divId);
this.imageObject=document.getElementById(this.imageId);
this.vectorObject.divObject=document.getElementById(this.vectorObject.divId);
this.containerObject=document.getElementById(this.containerDivId);
this.index=mapCount;
this.pageLeft=parseInt(this.divObject.style.left);
this.pageTop=parseInt(this.divObject.style.top);
box=calcElementPosition(this.containerDivId);
this.containerLeft=box.left;
this.containerTop=box.top;
MapNames[mapCount]=this.controlName;
mapCount++;
};
this.resize=function(_e,_f){
this.width=_e;
this.height=_f;
var _10=this.containerObject;
if(_10!=null){
_10.style.width=_e+"px";
_10.style.height=_f+"px";
this.imageWidth=_e*this.imageSizeFactor;
this.imageHeight=_f*this.imageSizeFactor;
if(this.imageSizeFactor>1){
this.divObject.style.left=(0-_e)+"px";
this.divObject.style.top=(0-_f)+"px";
this.imageLeft=0-_e;
this.imageTop=0-_f;
}else{
this.divObject.style.left="0px";
this.divObject.style.top="0px";
this.imageLeft=0;
this.imageTop=0;
}
this.divObject.style.width=this.imageWidth+"px";
this.divObject.style.height=this.imageWidth+"px";
var div=document.getElementById(this.vectorDivId);
div.style.width=_10.style.width;
div.style.height=_10.style.height;
var _12=this.imageObject.src;
var _13=this.imageObject.title;
this.divObject.innerHTML="<img id=\""+this.imageId+"\" alt=\""+_13+"\"  title=\""+_13+"\" src=\""+_12+"\" width=\""+this.imageWidth+"\" height=\""+this.imageHeight+"\" hspace=\"0\" vspace=\"0\" border=\"0\">";
this.imageObject=document.images[this.imageId];
this.pageLeft=parseInt(this.divObject.style.left);
this.pageTop=parseInt(this.divObject.style.top);
box=calcElementPosition(this.containerDivId);
this.containerLeft=box.left;
this.containerTop=box.top;
if(this.loadingObject!=null){
this.loadingObject.calcPosition();
}
}
};
this.resetDisplay=function(){
this.loadingObject.hide();
this.vectorObject.clear();
this.vectorObject.draw();
this.divObject.style.cursor=this.cursor;
};
this.showLoading=function(){
this.loadingObject.calcPosition();
this.loadingObject.show();
};
this.hideLoading=function(){
this.loadingObject.hide();
};
this.createDivs=function(_14,_15,_16){
var d=this.divId;
var di="MapImage_"+this.controlName;
var _19=this.imageWidth;
var _1a=this.imageHeight;
var s="";
if((_15==null)||(_15=="")){
s+="<table cellspacing=0 cellpadding=0 width="+this.width+"><tr><td id=\"MapCell_"+this.controlName+"\">";
}
s+="<div id=\"MapControlDiv_"+this.controlName+"\" style=\" position: relative; width: "+this.width+"px; height: "+this.height+"px; overflow:hidden;\">\n";
s+="<div id=\""+d+"\" style=\"position: absolute; left: "+this.imageLeft+"px; top: "+this.imageTop+"px; background-color: White; width: "+_19+"px; height: "+_1a+"px; overflow:hidden;\"  >\n";
s+="\t<img id=\""+di+"\" alt=\""+_16+"\"  title=\""+_16+"\" src=\""+_14+"\" width=\""+_19+"\" height=\""+_1a+"\" hspace=\"0\" vspace=\"0\" border=\"0\">\n";
s+="</div>\n";
var _1c="LineDiv_"+this.controlName;
s+="<div id=\""+_1c+"\" style=\"background-color:transparent; position:absolute; left:0px; top:0px; visibility: hidden; overflow:hidden; width:"+this.width+"px; height:"+this.height+"px;\"></div>";
this.loadingObject=new LoadingObject(loadBannerFile,loadBannerWidth,loadBannerHeight,this);
s+=this.loadingObject.createDivs();
s+="</div>\n";
if((_15==null)||(_15=="")){
s+="</td></tr></table>";
document.writeln(s);
}else{
var obj=document.getElementById(_15);
obj.innerHTML=s;
}
this.vectorObject=new VectorObject(_1c);
var v=this.vectorObject;
this.vectorObject.vectordiv=document.getElementById(_1c);
this.vectorObject.linesidth=this.dragLineWidth;
this.vectorObject.divColor=this.dragBoxColor;
this.vectorObject.pixelObject=new PixelObject(this.controlName,this.left,this.top,this.width,this.height);
this.vectorObject.xyCoord=new CoordsObject();
this.setObjects();
};
this.setTool=function(_1f,_20,_21,_22,_23,_24,_25){
this.show();
this.divObject.onclick=null;
this.divObject.onmousedown=MapMouseDown;
this.divObject.onmouseup=MapMouseUp;
this.divObject.onmousemove=MapMouseMove;
this.divObject.style.cursor=_22;
this.cursor=_22;
this.actionType=_21;
this.mode=_1f;
var v=this.vectorObject;
v.mode=_23;
if(_23>-1){
v.clear();
v.draw();
showLayer(v.divId);
if(_21.toLowerCase()=="dragshape"){
v.divObject.onclick=null;
v.divObject.onmousedown=MapMouseDown;
}else{
v.divObject.onmousedown=null;
this.divObject.onmousedown=null;
v.divObject.onmouseup=MapMouseUp;
}
v.divObject.style.cursor=_22;
v.vectorCount=0;
var tb=document.getElementById(vectortoolbar);
if(tb!=null){
tb.style.visibility=_24;
}
}else{
hideLayer(this.vectorObject.divId);
}
this.drawBox=false;
this.dragImage=false;
var m=this.controlName+"_mode";
this.mode=_1f;
if(this.loadingObject!=null){
if(_20==null){
_20=true;
}
this.loadingObject.showLoading[_1f]=_20;
}
window.status=_25;
};
this.updateMapImage=function(_29){
if(_29!=null){
this.imageObject.src=_29;
}
};
this.getMapImage=function(){
return this.imageObject.src;
};
this.hide=function(){
hideLayer("MapControlDiv_"+this.controlName);
};
this.show=function(){
showLayer("MapControlDiv_"+this.controlName);
};
this.getContainerRectangle=function(){
var box=calcElementPosition(this.containerDivId);
this.containerLeft=box.left;
this.containerTop=box.top;
return box;
};
}
function getSelectedMapObject(e){
var m=null;
var d=(isNav&&e!=null)?e.target:window.event.srcElement;
var _2e=Maps[MapNames[0]].name;
if((d!=null)&&(d.tagName!=null)){
if(d.tagName.indexOf("DIV")==-1){
d=d.offsetParent;
}else{
if(d.id.indexOf("LineDiv_")!=-1){
_2e=d.id.substring(8);
}else{
if(d.tagName=="TR"){
_2e=d.parentNode.parentNode.id;
}else{
if(d.tagName=="TD"){
_2e=d.parentNode.parentNode.parentNode.id;
}else{
if(d.tagName=="TBODY"){
_2e=d.parentNode.id;
}else{
if(d.tagName=="TABLE"){
_2e=d.id;
}else{
_2e=d.id.substring(7);
}
}
}
}
}
}
if(Maps[_2e]==null){
m=lastmap;
}else{
m=Maps[_2e];
}
var box=calcElementPosition(m.divId);
m.pageLeft=box.left;
m.pageTop=box.top;
box=calcElementPosition(m.containerDivId);
m.containerLeft=box.left;
m.containerTop=box.top;
m.width=box.width;
m.height=box.height;
divObj=document.getElementById(m.divId);
lastmap=m;
box=null;
}
return m;
}
function getMapObjectByXY(x,y){
var mm=null;
for(var i=0;i<MapNames.length;i++){
var m=Maps[MapNames[i]];
var box=calcElementPosition(m.divId);
var _36=box.left+box.width;
var _37=box.top+box.height;
if((x>=box.left)&&(x<=_36)&&(y>=box.top)&&(y<=_37)){
mm=m;
}
box=null;
}
return mm;
}
function MapDragImage(_38,_39,_3a,_3b,_3c){
registerCallback(_3c);
var _3d="move";
if((_3b!=null)&&(_3b!="")){
_3d=_3b;
}
map=Maps[_38];
if(map!=null){
map.setTool(_39,_3a,"DragImage",_3d,-1,"hidden","");
}
}
function MapDragRectangle(_3e,_3f,_40,_41,_42){
registerCallback(_42);
var _43="crosshair";
if((_41!=null)&&(_41!="")){
_43=_41;
}
map=Maps[_3e];
if(map!=null){
map.setTool(_3f,_40,"DragRectangle",_43,-1,"hidden","");
}
}
function MapPoint(_44,_45,_46,_47,_48){
registerCallback(_48);
var _49="pointer";
if((_47!=null)&&(_47!="")){
_49=_47;
}
map=Maps[_44];
if(map!=null){
map.setTool(_45,_46,"Point",_49,-1,"hidden","");
}
}
function MapLine(_4a,_4b,_4c,_4d,_4e){
registerCallback(_4e);
var _4f="crosshair";
if((_4d!=null)&&(_4d!="")){
_4f=_4d;
}
map=Maps[_4a];
if(map!=null){
map.setTool(_4b,_4c,"ClickShape",_4f,0,"hidden","Line - Click to start line. Move cursor to change line and angle. Click again to finish line.");
}
}
function MapPolyline(_50,_51,_52,_53,_54){
registerCallback(_54);
var _55="crosshair";
if((_53!=null)&&(_53!="")){
_55=_53;
}
map=Maps[_50];
if(map!=null){
map.setTool(_51,_52,"ClickShape",_55,1,"hidden",getLang("gui.map.polyline.help"));
}
}
function MapPolygon(_56,_57,_58,_59,_5a){
registerCallback(_5a);
var _5b="crosshair";
if((_59!=null)&&(_59!="")){
_5b=_59;
}
map=Maps[_56];
if(map!=null){
map.setTool(_57,_58,"ClickShape",_5b,2,"hidden",getLang("gui.map.polygon.help"));
}
}
function MapCircle(_5c,_5d,_5e,_5f,_60){
registerCallback(_60);
var _61="crosshair";
if((_5f!=null)&&(_5f!="")){
_61=_5f;
}
map=Maps[_5c];
if(map!=null){
map.setTool(_5d,_5e,"ClickShape",_61,3,"hidden","Circle - Click for center of circle. Move cursor to resize circle. Click again to complete circle.");
}
}
function MapDragCircle(_62,_63,_64,_65,_66){
registerCallback(_66);
var _67="crosshair";
if((_65!=null)&&(_65!="")){
_67=_65;
}
map=Maps[_62];
if(map!=null){
map.setTool(_63,_64,"DragShape",_67,3,"hidden",getLang("gui.map.circle.help"));
}
}
function MapOval(_68,_69,_6a,_6b,_6c){
registerCallback(_6c);
var _6d="crosshair";
if((_6b!=null)&&(_6b!="")){
_6d=_6b;
}
map=Maps[_68];
if(map!=null){
map.setTool(_69,_6a,"ClickShape",_6d,4,"hidden","Oval - Click for start of oval. Move cursor to resize oval. Click again to complete oval.");
}
}
function MapDragOval(_6e,_6f,_70,_71,_72){
registerCallback(_72);
var _73="crosshair";
if((_71!=null)&&(_71!="")){
_73=_71;
}
map=Maps[_6e];
if(map!=null){
map.setTool(_6f,_70,"DragShape",_73,4,"hidden","");
}
}
function MapBox(_74,_75,_76,_77,_78){
registerCallback(_78);
var _79="crosshair";
if((_77!=null)&&(_77!="")){
_79=_77;
}
map=Maps[_74];
if(map!=null){
map.setTool(_75,_76,"ClickShape",_79,5,"hidden","Box - Click for start of box. Move cursor to resize box. Click again to complete box.");
}
}
function MapDragBox(_7a,_7b,_7c,_7d,_7e){
registerCallback(_7e);
var _7f="crosshair";
if((_7d!=null)&&(_7d!="")){
_7f=_7d;
}
map=Maps[_7a];
if(map!=null){
map.setTool(_7b,_7c,"DragShape",_7f,5,"hidden",getLang("gui.map.box.help"));
}
}
function MapMouseDown(e){
if(!windowDragging){
map=getSelectedMapObject(e);
getXY(e);
if(Position.within($("dialogue"),mouseX,mouseY)){
return false;
}
switch(map.actionType){
case "DragImage":
if(isLeftButton(e)){
map.drawBox=false;
map.drawShape=false;
if(!map.dragImage){
map.dragImage=true;
x1=mouseX;
y1=mouseY;
x2=x1+1;
y2=y1+1;
map.divObject.onmouseup=MapMouseUp;
map.divObject.onmousemove=MapMouseMove;
}
}
break;
case "DragRectangle":
if(isLeftButton(e)){
map.dragImage=false;
map.drawShape=false;
if(!map.drawBox){
map.drawBox=true;
x1=mouseX;
y1=mouseY;
x2=x1+1;
y2=y1+1;
if(dragbox!=null){
dragbox.divObject.onmousemove=MapMouseMove;
dragbox.divObject.onmouseup=MapMouseUp;
dragbox.update(x1,y1,x2,y2,map.dragBoxColor);
dragbox.show();
}
map.divObject.onmouseup=MapMouseUp;
map.divObject.onmousemove=MapMouseMove;
}
}
break;
case "Point":
if(isLeftButton(e)){
map.divObject.style.cursor="wait";
zleft=mouseX-map.containerLeft;
ztop=mouseY-map.containerTop;
map.xMin=zleft;
map.yMin=ztop;
postBack(map.controlName,"point");
}
break;
case "DragShape":
map.dragImage=false;
map.drawShape=true;
map.drawBox=false;
map.divObject.onclick=null;
map.divObject.ondblclick=null;
map.divObject.onmouseup=MapMouseUp;
map.vectorObject.vectordiv.onclick=null;
map.vectorObject.vectordiv.ondblclick=null;
map.vectorObject.vectordiv.onmousemove=MapMouseMove;
map.vectorObject.vectordiv.onmouseup=MapMouseUp;
map.divObject.onmousemove=MapMouseMove;
controlType="map";
map.vectorObject.pixelObject.x1=mouseX-map.containerLeft;
map.vectorObject.pixelObject.y1=mouseY-map.containerTop;
map.vectorObject.vectorCount=1;
map.vectorObject.pixelObject.lastX=map.vectorObject.pixelObject.x1;
map.vectorObject.pixelObject.lastY=map.vectorObject.pixelObject.y1;
map.vectorObject.pixelObject.x2=map.vectorObject.pixelObject.x1;
map.vectorObject.pixelObject.y2=map.vectorObject.pixelObject.y1;
break;
}
}
return false;
}
function MapMouseMove(e){
getXY(e);
enableModifiers();
if(!windowDragging){
switch(map.actionType){
case "DragImage":
if(map.dragImage){
x2=mouseX;
y2=mouseY;
var _82=map.containerLeft;
var _83=map.containerTop;
if(x2<_82){
x2=_82;
}
if(x2>_82+map.width){
x2=_82+map.width;
}
if(y2<_83){
y2=_83;
}
if(y2>_83+map.height){
y2=_83+map.height;
}
xMove=x2-x1;
yMove=y2-y1;
moveLayer(map.divId,map.imageLeft+xMove,map.imageTop+yMove);
}
break;
case "DragRectangle":
if(map.drawBox){
x2=mouseX;
y2=mouseY;
var _82=map.containerLeft;
var _83=map.containerTop;
if(x2<_82){
x2=_82;
}
if(x2>_82+map.width){
x2=_82+map.width;
}
if(y2<_83){
y2=_83;
}
if(y2>_83+map.height){
y2=_83+map.height;
}
if(dragbox!=null){
dragbox.clip(map.dragLineWidth);
}else{
Logger.error("dragBox is null, please initialise");
}
}
break;
case "ClickShape":
case "DragShape":
if(map.drawShape){
var vo=map.vectorObject;
var pix=vo.pixelObject;
var _86=vo.xyCoord;
pix.x2=mouseX-map.containerLeft;
pix.y2=mouseY-map.containerTop;
switch(vo.mode){
case 0:
vo.clear();
vo.line(pix.x1,pix.y1,pix.x2,pix.y2);
vo.draw();
break;
case 1:
var n=_86.x.length-1;
vo.clear();
if(vo.vectorCount>1){
vo.polyline(_86.x,_86.y);
vo.line(pix.x2,pix.y2,_86.x[n],_86.y[n]);
}else{
if(vo.vectorCount>0){
vo.line(pix.x1,pix.y1,pix.x2,pix.y2);
}
}
vo.draw();
break;
case 2:
var n=vo.vectorCount;
if(vo.vectorCount>0){
if(vo.vectorCount==1){
vo.clear();
vo.line(_86.x[0],_86.y[0],pix.x2,pix.y2);
vo.draw();
}else{
if(vo.vectorCount>0){
var _88=new Array();
var _89=new Array();
_88=_86.x;
_89=_86.y;
_88[n]=pix.x2;
_89[n]=pix.y2;
vo.clear();
vo.polygon(_88,_89);
vo.draw();
}
}
}
vo.draw();
break;
case 3:
var _8a=Math.abs(pix.x2-pix.x1);
var _8b=Math.abs(pix.y2-pix.y1);
var _8c;
if((_8a==0)||(_8b==0)){
_8c=(_8a==0)?_8b:_8a;
}else{
_8c=Math.sqrt((_8a*_8a)+(_8b*_8b));
}
vo.clear();
vo.circle(pix.x1,pix.y1,_8c,true);
vo.draw();
break;
case 4:
var _8a=Math.abs(pix.x2-pix.x1);
var _8b=Math.abs(pix.y2-pix.y1);
var _8d=(pix.x1<pix.x2)?pix.x1:pix.x2;
var _8e=(pix.y1<pix.y2)?pix.y1:pix.y2;
vo.clear();
vo.oval(_8d,_8e,_8a,_8b);
vo.draw();
break;
case 5:
var _8a=Math.abs(pix.x2-pix.x1);
var _8b=Math.abs(pix.y2-pix.y1);
var _8d=(pix.x1<pix.x2)?pix.x1:pix.x2;
var _8e=(pix.y2<pix.y1)?pix.y2:pix.y1;
vo.clear();
vo.box(_8d,_8e,(_8d+_8a),(_8e+_8b));
vo.draw();
break;
}
break;
}
}
if(map.moveFunction!=null){
var m=getMapObjectByXY(mouseX,mouseY);
if(m!=null){
map.moveFunction(m);
}
}
}
return false;
}
function MapMouseUp(e){
switch(map.actionType){
case "DragImage":
if(map.dragImage){
getXY(e);
map.divObject.onmouseup=null;
map.divObject.onmousemove=MapMouseMove;
var _91=x2-x1;
var _92=y2-y1;
var _93;
var _94;
var _95;
var _96;
var _97="";
_93=Math.round(map.width/2);
_94=Math.round(map.height/2);
_95=_93-_91;
_96=_94-_92;
map.xMin=_95;
map.yMin=_96;
var _98=transformPoint(0,0);
var _99=transformPoint(_91,_92);
var _9a=_98[0]-_99[0];
var _9b=_99[1]-_98[1];
var _9c=new eview.Extent(mapProperties.extent.minx,mapProperties.extent.miny,mapProperties.extent.maxx,mapProperties.extent.maxy);
_9c.offset(_9a,_9b);
redlineFinished.fire(_9c);
map.dragImage=false;
}
break;
case "DragRectangle":
if(map.drawBox){
map.drawBox=false;
map.divObject.style.cursor="wait";
getXY(e);
map.divObject.onmouseup=null;
map.divObject.onmousemove=MapMouseMove;
if(dragbox!=null){
dragbox.hide();
dragbox.clip(map.dragLineWidth);
dragbox.divObject.onmousemove=null;
dragbox.divObject.onmouseup=null;
}
zleft-=map.containerLeft;
zright-=map.containerLeft;
zbottom-=map.containerTop;
ztop-=map.containerTop;
map.xMin=zleft;
map.yMin=ztop;
map.xMax=zright;
map.yMax=zbottom;
map.divObject.style.cursor=map.cursor;
}
break;
case "DragShape":
map.divObject.style.cursor="wait";
map.drawShape=false;
var _9d=false;
var _9e="line";
var pix=map.vectorObject.pixelObject;
switch(map.vectorObject.mode){
case 3:
var p1=transformPoint(pix.x1,map.imageHeight-pix.y1);
var p2=transformPoint(pix.x2,map.imageHeight-pix.y2);
var _a2=Math.abs(p2[0]-p1[0]);
var _a3=Math.abs(p2[1]-p1[1]);
var _a4;
if((_a2==0)||(_a3==0)){
_a4=(_a2==0)?_a3:_a2;
}else{
_a4=Math.sqrt((_a2*_a2)+(_a3*_a3));
}
if(_a4==0){
_a4=calcDistance(0,0,0,3);
}
circle=new eview.Circle(p1[0],p1[1],_a4.toFixed(10));
coordString=p1[0]+":"+p1[1]+":"+_a4;
_9e="circle";
redlineFinished.fire(circle);
break;
case 4:
var _a2=Math.abs(pix.x2-pix.x1);
var _a3=Math.abs(pix.y2-pix.y1);
var _a5=(pix.x1<pix.x2)?pix.x1:pix.x2;
var _a6=(pix.y1<pix.y2)?pix.y1:pix.y2;
var _93=_a5+(_a2/2);
var _94=_a6+(_a3/2);
coordString=_93+":"+_94+":"+_a2+":"+_a3;
_9e="oval";
break;
case 5:
var _a2=Math.abs(pix.x2-pix.x1);
var _a3=Math.abs(pix.y2-pix.y1);
var _a5=(pix.x1<pix.x2)?pix.x1:pix.x2;
var _a6=(pix.y2<pix.y1)?pix.y2:pix.y1;
var _a7=(_a6+_a3);
var _a8=_a5+_a2;
_a6=map.imageHeight-_a6;
_a7=map.imageHeight-_a7;
var _99=transformPoint(_a5,_a7);
var _a9=transformPoint(_a8,_a6);
coordString=_a5+":"+_a6+"|"+(_a5+_a2)+":"+(_a6+_a3);
_9e="rectangle";
var _9c=new eview.Extent(_99[0],_99[1],_a9[0],_a9[1]);
redlineFinished.fire(_9c);
break;
}
map.vectorObject.vectorCount=0;
map.vectorObject.xyCoord.x=new Array();
map.vectorObject.xyCoord.y=new Array();
map.divObject.ondblclick=null;
map.vectorObject.vectordiv.onmousemove=MapMouseMove;
map.vectorObject.vectordiv.ondblclick=null;
map.divObject.onmousemove=MapMouseMove;
map.divObject.onmouseup=null;
pix.lastX=-9999;
pix.lastY=-9999;
var m=map.controlName+"_mode";
if(checkForFormElement(map.document,docFormID,"PostBackMode")){
map.document.forms[docFormID].PostBackMode.value=map.document.forms[docFormID].elements[m].value;
}
map.coords=coordString;
map.divObject.style.cursor=map.cursor;
break;
case "ClickShape":
map=getSelectedMapObject(e);
map.dragImage=false;
map.drawShape=true;
map.drawBox=false;
var vo=map.vectorObject;
var pix=vo.pixelObject;
var _ac=vo.xyCoord;
getXY(e);
if(vo.vectorCount==0){
vo.vectordiv.onmousemove=MapMouseMove;
controlType="map";
}
var _ad=(isNav)?e.modifiers&Event.CONTROL_MASK:window.event.ctrlKey;
pix.x2=mouseX-map.containerLeft;
pix.y2=mouseY-map.containerTop;
if(((pix.lastX==pix.x2)&&(pix.lastY==pix.y2))||(_ad)){
MapDoubleClick(e);
}else{
if(vo.vectorCount==0){
pix.x1=mouseX-map.containerLeft;
pix.y1=mouseY-map.containerTop;
_ac.x=new Array();
_ac.y=new Array();
_ac.x[0]=pix.x1;
_ac.y[0]=pix.y1;
}else{
switch(vo.mode){
case 0:
vo.clear();
vo.line(pix.x1,pix.y1,pix.x2,pix.y2);
vo.draw();
jumpToFinish=true;
break;
case 1:
var n=_ac.x.length;
_ac.x[n]=pix.x2;
_ac.y[n]=pix.y2;
vo.clear();
vo.polyline(_ac.x,_ac.y);
vo.draw();
break;
case 2:
var n=_ac.x.length;
_ac.x[n]=pix.x2;
_ac.y[n]=pix.y2;
var _af=new Array();
var _b0=new Array();
var s="";
_af=_ac.x;
_b0=_ac.y;
vo.clear();
if(vo.vectorCount>2){
vo.polygon(_af,_b0);
}else{
vo.polyline(_af,_b0);
}
vo.draw();
break;
case 3:
var _a2=Math.abs(pix.x2-pix.x1);
var _a3=Math.abs(pix.y2-pix.y1);
var _a4;
if((_a2==0)||(_a3==0)){
_a4=(_a2==0)?_a3:_a2;
}else{
_a4=Math.sqrt((_a2*_a2)+(_a3*_a3));
}
vo.clear();
vo.circle(pix.x1,pix.y1,_a4,true);
vo.draw();
jumpToFinish=true;
break;
case 4:
var _a2=Math.abs(pix.x2-pix.x1);
var _a3=Math.abs(pix.y2-pix.y1);
var _a5=(pix.x1<pix.x2)?pix.x1:pix.x2;
var _a6=(pix.y2<pix.y1)?pix.y2:pix.y1;
vo.clear();
vo.oval(_a5,_a6,_a2,_a3);
vo.draw();
jumpToFinish=true;
break;
case 5:
var _a2=Math.abs(pix.x2-pix.x1);
var _a3=Math.abs(pix.y2-pix.y1);
var _a5=(pix.x1<pix.x2)?pix.x1:pix.x2;
var _a6=(pix.y2<pix.y1)?pix.y2:pix.y1;
vo.clear();
vo.box(_a5,_a6,(_a5+_a2),(_a6+_a3));
vo.draw();
jumpToFinish=true;
break;
}
}
vo.vectorCount++;
pix.lastX=pix.x2;
pix.lastY=pix.y2;
if(jumpToFinish){
MapDoubleClick(e);
}
}
break;
}
disableModifiers();
return false;
}
function MapDoubleClick(e){
var vo=map.vectorObject;
var pix=vo.pixelObject;
var _b5=vo.xyCoord;
map.divObject.style.cursor="wait";
var _b6=false;
var _b7="line";
switch(vo.mode){
case 0:
coordString=pix.x1+","+pix.y1+" "+pix.x2+","+pix.y2;
_b6=true;
break;
case 1:
var _b8="PolyLine:\n";
var _b9="";
for(var i=0;i<_b5.x.length;i++){
_b8+="["+(i+1)+"] "+_b5.x[i]+", "+_b5.y[i]+"\n";
if(i>0){
_b9+=" ";
}
var _bb=transformPoint(_b5.x[i],map.imageHeight-_b5.y[i]);
_b9+=_bb[0]+","+_bb[1];
}
_b6=true;
_b7="polyline";
polyline=new eview.Line(_b9);
redlineFinished.fire(polyline);
break;
case 2:
var n=_b5.x.length-1;
var m=n-1;
if((_b5.x[m]==_b5.x[n])&&(_b5.y[m]==_b5.y[n])){
_b5.x.length=n;
_b5.y.length=n;
}
if(vo.vectorCount>2){
var _b8="Polygon:\n";
_b9="";
for(var i=0;i<_b5.x.length;i++){
_b8+="["+(i+1)+"] "+_b5.x[i]+", "+_b5.y[i]+"\n";
if(i>0){
_b9+=" ";
}
var _bb=transformPoint(_b5.x[i],map.imageHeight-_b5.y[i]);
_b9+=_bb[0]+","+_bb[1];
}
var _bb=transformPoint(_b5.x[0],map.imageHeight-_b5.y[0]);
_b9+=" "+_bb[0]+","+_bb[1];
_b6=true;
_b7="polygon";
polygon=new eview.Polygon(_b9);
redlineFinished.fire(polygon);
}else{
alert("A Polygon needs at least three vectors.");
}
break;
case 3:
var _be=Math.abs(pix.x2-pix.x1);
var _bf=Math.abs(pix.y2-pix.y1);
var _c0;
if((_be==0)||(_bf==0)){
_c0=(_be==0)?_bf:_be;
}else{
_c0=Math.sqrt((_be*_be)+(_bf*_bf));
}
_b9=pix.x1+":"+pix.y1+":"+_c0;
_b6=true;
_b7="circle";
break;
case 4:
var _be=Math.abs(pix.x2-pix.x1);
var _bf=Math.abs(pix.y2-pix.y1);
var _c1=(pix.x1<pix.x2)?pix.x1:pix.x2;
var _c2=(pix.y1<pix.y2)?pix.y1:pix.y2;
var _c3=_c1+(_be/2);
var _c4=_c2+(_bf/2);
_b9=_c3+":"+_c4+":"+_be+":"+_bf;
_b6=true;
_b7="oval";
break;
case 5:
var _be=Math.abs(pix.x2-pix.x1);
var _bf=Math.abs(pix.y2-pix.y1);
var _c1=(pix.x1<pix.x2)?pix.x1:pix.x2;
var _c2=(pix.y2<pix.y1)?pix.y2:pix.y1;
_b9=_c1+":"+_c2+"|"+(_c1+_be)+":"+(_c2+_bf);
_b6=true;
_b7="rectangle";
break;
}
if(_b6){
vo.vectorCount=0;
_b5.x=new Array();
_b5.y=new Array();
map.divObject.ondblclick=null;
vo.vectordiv.onmousemove=MapMouseMove;
vo.vectordiv.ondblclick=null;
pix.lastX=-9999;
pix.lastY=-9999;
map.coords=_b9;
vo.clear();
map.divObject.style.cursor=map.cursor;
}
jumpToFinish=false;
map.drawShape=false;
return false;
}
var redlineFinished=new YAHOO.util.CustomEvent("GUI_LOADED");
redlineFinished.subscribe(handleResponse);


