var ovZIndex=9990;
function OverviewObject(_1,_2,_3,_4,_5,_6,_7,_8,_9){
Object.extend(this,new ControlObject(_1,"Overview",0,0,_2,_3));
this.index=0;
this.right=_2;
this.bottom=_3;
this.boxLeft=_4;
this.boxTop=_5;
this.boxWidth=_6;
this.boxHeight=_7;
this.boxRight=_4+_6;
this.boxBottom=_5+_7;
this.boxColor=_8;
this.lineWidth=_9;
this.divId="OVDiv_"+_1;
this.imageId="OVImage_"+_1;
this.boxDivId="OVBoxDiv_"+_1;
this.boxImageId="OVBoxImage_"+_1;
this.containerDivId="OVControlDiv_"+this.controlName;
this.boxDivObject=null;
this.imageObject=null;
this.loadingObject=null;
this.containerObject=null;
this.dragOVBox=false;
this.centerX=0;
this.centerY=0;
this.boxOpacity=35;
this.minx;
this.miny;
this.maxx;
this.maxy;
this.xDistance;
this.yDistance;
this.xHalf;
this.yHalf;
this.sFactor=1;
this.windowObject=ovWindow;
this.imageXToWorldX=function(_a){
return this.sFactor*_a+this.minx;
};
this.imageYToWorldY=function(_b){
return this.sFactor*_b+this.miny;
};
this.worldXToImageX=function(_c){
var _d=_c-this.minx;
var sf=this.sFactor;
var _f=_d/sf;
return _f;
};
this.worldYToImageY=function(_10){
var _11=_10-this.miny;
var sf=this.sFactor;
var _13=_11/sf;
return _13;
};
this.transformImagePoint=function(_14,_15){
var _16=new Array();
_16[0]=this.imageXToWorldX(_14).toFixed(3);
_16[1]=this.imageYToWorldY(_15).toFixed(3);
return _16;
};
this.transformWorldPoint=function(_17,_18){
var _19=new Array();
_19[0]=this.worldXToImageX(_17).toFixed(3);
_19[1]=this.worldYToImageY(_18).toFixed(3);
return _19;
};
this.setExtent=function(_1a){
this.minx=_1a.minx;
this.miny=_1a.miny;
this.maxx=_1a.maxx;
this.maxy=_1a.maxy;
this.xDistance=Math.abs(this.maxx-this.minx);
this.yDistance=Math.abs(this.maxy-this.miny);
this.xHalf=this.xDistance/2;
this.yHalf=this.yDistance/2;
this.sFactor=Math.min(this.xDistance/this.width,this.yDistance/this.height);
};
this.extentChanged=function(_1b){
Logger.debug("Getting the maxPoint in image coords");
var _1c=this.transformWorldPoint(_1b.maxx,_1b.miny);
Logger.debug("Getting the minPoint in image coords");
var _1d=this.transformWorldPoint(_1b.minx,_1b.maxy);
if(_1c[0]>0){
Logger.debug("Updating the overview map: left: "+_1d[0]+", top: "+(this.height-_1d[1])+", width: "+Math.abs(_1c[0]-_1d[0])+", height: "+Math.abs(_1c[1]-_1d[1]));
this.update(_1d[0],this.height-_1d[1],Math.abs(_1c[0]-_1d[0]),Math.abs(_1c[1]-_1d[1]));
}else{
}
};
this.createDivs=function(_1e,_1f,_20,_21){
var s="";
if((_21==null)||(_21=="")){
s+="<table cellspacing=0 cellpadding=0 width="+this.width+"><tr><td id=\"OVCell_"+this.controlName+"\">";
}
s+="<div id=\"OVControlDiv_"+this.controlName+"\" style=\"position: relative; background-color: White; width: "+this.width+"px; height: "+this.height+"px; overflow:hidden;\">\n";
s+="<div id=\""+this.divId+"\" style=\"position: absolute; left: 0px; top: 0px; background-color: White; width: "+this.width+"px; height: "+this.height+"px; overflow:hidden;\">\n";
s+="\t<img id=\""+this.imageId+"\" alt=\""+_20+"\"  title=\""+_20+"\" src=\""+_1e+"\" width=\""+this.width+"\" height=\""+this.height+"\" hspace=\"0\" vspace=\"0\" border=\"0\">\n";
s+="</div>\n";
style="border: "+this.lineWidth+"px solid "+this.boxColor+";";
var _23=this.boxOpacity/100;
var _24=navigator.platform;
if((_24=="Win32")||((_24=="MacPPC")&&(!isIE))){
if(navigator.userAgent.indexOf("Opera")==-1){
style+="background-color: White; opacity: "+_23+"; -moz-opacity: "+_23+"; filter: alpha(opacity="+this.boxOpacity+");";
}
}
s+="<div id=\""+this.boxDivId+"\" style=\"position: absolute; left: "+this.boxLeft+"px; top: "+this.boxTop+"px;"+style+" width: "+this.boxWidth+"px; height: "+this.boxHeight+"px; overflow:hidden; \">\n";
s+="\t<img id=\""+this.boxImageId+"\" alt=\""+_20+"\"  title=\""+_20+"\" src=\""+_1f+"\" width=\""+this.boxWidth+"\" height=\""+this.boxHeight+"\" hspace=\"0\" vspace=\"0\" border=\"0\">\n";
s+="</div>\n";
s+="</div>\n";
if((_21==null)||(_21=="")){
s+="</td></tr></table>";
if(this.windowObject!=null){
this.windowObject.setContents(s);
}else{
document.writeln(s);
}
}else{
var obj=document.getElementById(_21);
obj.innerHTML=s;
}
this.setObjects();
};
this.setObjects=function(){
this.divObject=document.getElementById(this.divId);
this.boxDivObject=document.getElementById(this.boxDivId);
this.imageObject=document.images[this.imageId];
this.containerObject=document.getElementById(this.containerDivId);
OverviewNames[ovCount]=this.controlName;
ovCount++;
this.setEvents();
};
this.setEvents=function(){
this.boxDivObject.style.cursor="move";
this.boxDivObject.onmousedown=ovDragStart;
this.divObject.style.cursor="hand";
this.divObject.onmousedown=ovClick;
};
this.update=function(_26,_27,_28,_29){
this.boxLeft=_26;
this.boxTop=_27;
this.boxWidth=_28;
this.boxHeight=_29;
this.boxRight=_26+_28;
this.boxBottom=_27+_29;
this.boxDivObject.style.left=_26+"px";
this.boxDivObject.style.top=_27+"px";
this.boxDivObject.style.width=_28+"px";
this.boxDivObject.style.height=_29+"px";
};
this.updateImage=function(_2a){
this.imageObject.src=_2a;
};
this.hide=function(){
hideLayer(this.divId);
};
this.show=function(){
showLayer(this.divId);
};
this.resize=function(_2b,_2c){
this.width=_2b;
this.height=_2c;
this.containerObject.style.width=_2b+"px";
this.containerObject.style.height=_2c+"px";
this.divObject.style.width=_2b+"px";
this.divObject.style.height=_2c+"px";
var _2d=this.imageObject.src;
var _2e=(isIE)?this.imageObject.alt:this.imageObject.title;
this.divObject.innerHTML="\t<img id=\""+this.imageId+"\" alt=\""+_2e+"\"  title=\""+_2e+"\" src=\""+_2d+"\" width=\""+this.width+"\" height=\""+this.height+"\" hspace=\"0\" vspace=\"0\" border=\"0\">\n";
};
}
function ovDragStart(e){
if(isLeftButton(e)){
getXY(e);
ov=getOVObjectByXY(mouseX,mouseY,true);
if(ov!=null){
if(!ov.dragOVBox){
ov.dragOVBox=true;
ov.boxDivObject.onmousemove=ovDragMove;
ov.boxDivObject.onmouseup=ovDragUp;
ov.divObject.onmousemove=ovDragMove;
ov.divObject.onmouseup=ovDragUp;
}
}
}
return false;
}
function ovDragMove(e){
getXY(e);
if(ov!=null){
if(ov.dragOVBox){
var _31=parseInt(ov.boxWidth/2);
var _32=parseInt(ov.boxHeight/2);
var ex=mouseX-_31-ov.left;
var ey=mouseY-_32-ov.top;
moveLayer(ov.boxDivId,ex,ey);
}
}
return false;
}
function ovDragUp(e){
getXY(e);
if(ov!=null){
if(ov.dragOVBox){
ov.boxDivObject.onmousemove=null;
ov.boxDivObject.onmouseup=null;
ov.divObject.onmousemove=null;
ov.divObject.onmouseup=ovClick;
ov.dragOVBox=false;
getXY(e);
var bx=mouseX-ov.left;
var by=mouseY-ov.top;
var _38=parseInt(ov.boxWidth/2);
var _39=parseInt(ov.boxHeight/2);
ov.centerX=bx;
ov.centerY=by;
var _3a=ov.transformImagePoint(bx,ov.height-by);
var _3b=new eview.Extent(mapProperties.extent.minx,mapProperties.extent.miny,mapProperties.extent.maxx,mapProperties.extent.maxy);
_3b.center(_3a[0],_3a[1]);
mapProperties.extent=_3b;
callMapRefresh();
return false;
}
}
}
function ovClick(e){
if(isLeftButton(e)){
getXY(e);
ov=getOVObjectByXY(mouseX,mouseY,true);
if(ov!=null){
var bx=mouseX-ov.left;
var by=mouseY-ov.top;
ov.centerX=bx;
ov.centerY=by;
var _3f=ov.transformImagePoint(bx,ov.height-by);
var _40=new eview.Extent(mapProperties.extent.minx,mapProperties.extent.miny,mapProperties.extent.maxx,mapProperties.extent.maxy);
_40.center(_3f[0],_3f[1]);
mapProperties.extent=_40;
callMapRefresh();
}
}
return false;
}
function getOVObjectByXY(x,y,_43){
var mm=null;
for(var i=0;i<OverviewNames.length;i++){
var m=Overviews[OverviewNames[i]];
var box=calcElementPosition(m.divId);
var _48=box.left+box.width;
var _49=box.top+box.height;
if((x>=box.left)&&(x<=_48)&&(y>=box.top)&&(y<=_49)){
mm=m;
if(_43){
m.left=box.left;
m.top=box.top;
m.width=box.width;
m.height=box.height;
m.right=_48;
m.bottom=_49;
}
}
box=null;
}
return mm;
}
function getOVDivObject(e,_4b){
var m=null;
var d=(isNav&&e!=null)?e.target:window.event.srcElement;
var _4e="none";
if((d!=null)&&(d.tagName!=null)){
if(d.tagName.indexOf("DIV")==-1){
d=d.offsetParent;
}
if((d.id!=null)&&(d.id!="")){
if(d.id.indexOf("OVBoxDiv_")!=-1){
_4e=d.id.substring(9);
}else{
_4e=d.id.substring(6);
}
if(Overviews[_4e]!=null){
m=Overviews[_4e];
if(_4b){
var box=calcElementPosition(m.divId);
m.left=box.left;
m.top=box.top;
m.width=box.width;
m.height=box.height;
m.right=box.left+box.width;
m.bottom=box.top+box.height;
box=null;
}
}
}
}
return m;
}


