/* (c) 2006 logogriph Ltd */
var QJ="\x6f\x62\x6a\x65\x63\x74";
var u5="\x64\x69\x76";
var ji="\x68\x69\x64\x64\x65\x6e";
var Yz="";
var KU="\x20";
var Xy="\x73\x74\x72\x69\x6e\x67";
var j0="\x6e\x6f\x6e\x65";
var lx="\x62\x6c\x6f\x63\x6b";
var Dl="\x70\x78";
var yB="\x63\x6c\x69\x63\x6b";
var N6="\x23\x46\x46\x46";
var H3="\x61\x62\x73\x6f\x6c\x75\x74\x65";
var za="\x70\x78";
var E5="\x2c";
var Y9="\x64\x69\x76";
var Fi="\x29";
var Zi="\x23\x30\x30\x30";
var lf="\x32\x70\x78\x20\x73\x6f\x6c\x69\x64\x20\x62\x6c\x75\x65";
var nc="\x61\x6c\x70\x68\x61\x28\x6f\x70\x61\x63\x69\x74\x79\x3d";
var au="\x7a\x6f\x6f\x6d\x20\x62\x61\x63\x6b";
var AM="\x70\x6f\x69\x6e\x74\x65\x72";
var nB="\x7a\x6f\x6f\x6d\x69\x6e\x67";
var CV="\x6f\x75\x74\x6c\x69\x6e\x65\x44\x69\x76";
var WE="\x63\x6f\x72\x6e\x65\x72\x54\x6f\x70\x44\x69\x76";
var fn="\x63\x6f\x72\x6e\x65\x72\x4c\x65\x66\x74\x44\x69\x76";
var Vi="\x63\x6f\x72\x6e\x65\x72\x52\x69\x67\x68\x74\x44\x69\x76";
var zM="\x63\x6f\x72\x6e\x65\x72\x42\x6f\x74\x74\x6f\x6d\x44\x69\x76";
var XS="\x63\x72\x6f\x73\x73\x68\x61\x69\x72";
var xN="\x6d\x6f\x75\x73\x65\x64\x6f\x77\x6e";
var cq="\x6d\x6f\x75\x73\x65\x6d\x6f\x76\x65";
var Mi="\x6d\x6f\x75\x73\x65\x75\x70";
var u_="\x74\x72\x61\x6e\x73\x70\x61\x72\x65\x6e\x74";
var fb="\x61\x6c\x70\x68\x61\x28\x6f\x70\x61\x63\x69\x74\x79\x3d\x31\x30\x30\x29";
var bf="\x31\x70\x78";
var Mp="\x30\x70\x78";
var qW="\x62\x61\x63\x6b\x62\x75\x74\x74\x6f\x6e\x63\x6c\x69\x63\x6b";
var yt="\x63\x65\x6e\x74\x65\x72";
var zr="\x7a\x6f\x6f\x6d";
var XY="\x6d\x61\x70\x74\x79\x70\x65";
var Kt="\x74\x65\x78\x74";
var VX="\x6d\x65\x74\x68\x6f\x64\x43\x61\x6c\x6c";
var fC="\x62\x75\x74\x74\x6f\x6e\x63\x6c\x69\x63\x6b";
var L2="\x6e\x6f\x72\x6d\x61\x6c";
function n_(Gy,Wp,Bx){
this.Sm={
draggingOn:false,
cornerTopDiv:null,
cornerRightDiv:null,
cornerBottomDiv:null,
cornerLeftDiv:null,
mapPosition:null,
outlineDiv:null,
mapWidth:0,
mapHeight:0,
mapRatio:0,
startX:0,
startY:0,
borderCorrection:0
};
this.Sm.style={
opacity:.2,
fillColor:Zi,
border:lf
};
var style=this.Sm.style;
for(var s in Gy){
style[s]=Gy[s];
}
var Mg=style.border.split(KU);
style.outlineWidth=parseInt(Mg[0].replace(/\D/g,Yz));
style.outlineColor=Mg[2];
style.alphaIE=nc+(style.opacity*100)+Fi;
this.Sm.backStack=[];
this.Sm.options={
buttonHTML:false,
buttonStartingStyle:false,
buttonStyle:false,
buttonZoomingHTML:false,
buttonZoomingStyle:false,
buttonZoomingClass:false,
backButtonHTML:au,
backButtonStyle:{background:N6,display:j0},
overlayRemoveTime:5000,
backButtonEnabled:false,
zoomButtonEnabled:true,
fixedRatio:true,
stickyZoomEnabled:false,
rightMouseZoomOutEnabled:false,
minDragSize:10
};
for(var s in Wp){
this.Sm.options[s]=Wp[s]
}
if(Bx==null){
Bx={}
}
this.Sm.callbacks=Bx;
};
n_.prototype=new GControl();
n_.prototype.rl=function(text){
if(this.Sm.options.backButtonEnabled){
this.HB(text,true);
this.Sm.backButtonDiv.style.display=lx;
}
};
n_.prototype.WR=function(){this.Ao()};
n_.prototype.Nx=function(){if(this.Sm.options.backButtonEnabled)this.AP()};
n_.prototype.NL=function(vx){
var jv=this.Sm;
var buttonDiv=document.createElement(u5);
buttonDiv.innerHTML=jv.options.buttonHTML;
Qj.style([buttonDiv],{cursor:AM,zIndex:200});
Qj.style([buttonDiv],jv.options.buttonStartingStyle);
Qj.style([buttonDiv],jv.options.buttonStyle);
vx.appendChild(buttonDiv);
return buttonDiv;
};
n_.prototype.NJ=function(vx){
var jv=this.Sm;
var backButtonDiv=document.createElement(u5);
backButtonDiv.innerHTML=jv.options.backButtonHTML;
Qj.style([backButtonDiv],{cursor:AM,zIndex:200});
Qj.style([backButtonDiv],jv.options.buttonStartingStyle);
Qj.style([backButtonDiv],jv.options.backButtonStyle);
vx.appendChild(backButtonDiv);
return backButtonDiv;
};
n_.prototype.WG=function(mode){
var jv=this.Sm;
if(this.Sm.options.zoomButtonEnabled){
if(mode==nB){
if(jv.options.buttonZoomingHTML)jv.buttonDiv.innerHTML=jv.options.buttonZoomingHTML;
if(jv.options.buttonStartingStyle)Qj.style([jv.buttonDiv],jv.options.buttonStartingStyle);
if(jv.options.buttonZoomingStyle)Qj.style([jv.buttonDiv],jv.options.buttonZoomingStyle);
if(jv.options.buttonZoomingClass)Qj.className([jv.buttonDiv],jv.options.buttonZoomingClass,true);
}else{
if(jv.options.buttonHTML)jv.buttonDiv.innerHTML=jv.options.buttonHTML;
if(jv.options.buttonStartingStyle)Qj.style([jv.buttonDiv],jv.options.buttonStartingStyle);
if(jv.options.buttonStyle)Qj.style([jv.buttonDiv],jv.options.buttonStyle);
if(jv.options.buttonZoomingClass)Qj.className([jv.buttonDiv],jv.options.buttonZoomingClass,false);
}
}
};
n_.prototype.initialize=function(map,Jf){
var jv=this.Sm;
var Vk=this;
var Xi=map.getContainer();
var vx=null;
var buttonDiv=null;
var backButtonDiv=null;
if(Jf)
{
if(typeof Jf==Xy)Jf=document.getElementById(Jf);
if((Jf!=null)&&(typeof Jf==QJ))buttonDiv=Jf;
}
else
{
var vx=document.createElement(Y9);
Qj.style([vx],{cursor:AM,zIndex:150});
var buttonDiv=this.NL(vx);
var backButtonDiv=this.NJ(vx);
Xi.appendChild(vx);
}
var J9=document.createElement(Y9);
var nd=[CV,WE,fn,Vi,zM];
for(var La=0;La<nd.length;La++){
var id=nd[La];
var uc=document.createElement(Y9);
Qj.style([uc],{position:H3,display:j0});
J9.appendChild(uc);
jv[id]=uc;
}
Qj.style([J9],{position:H3,display:j0,overflow:ji,cursor:XS,zIndex:101});
Xi.appendChild(J9);
if(buttonDiv)GEvent.addDomListener(buttonDiv,yB,function(pk){
Vk.Ao(pk);
});
if(backButtonDiv)GEvent.addDomListener(backButtonDiv,yB,function(pk){
Vk.AP(pk);
});
GEvent.addDomListener(J9,xN,function(pk){
Vk.Kr(pk);
});
GEvent.addDomListener(document,cq,function(pk){
Vk.b9(pk);
});
GEvent.addDomListener(document,Mi,function(pk){
Vk.kP(pk);
});
jv.mapPosition=Qj.nm(Xi);
jv.buttonDiv=buttonDiv;
jv.backButtonDiv=backButtonDiv;
jv.mapCover=J9;
jv.map=map;
jv.borderCorrection=jv.style.outlineWidth*2;
this.A6();
this.DH();
jv.mapCover.c7=function(){return false};
return vx;
};
n_.prototype.getDefaultPosition=function(){
return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(3,120));
};
n_.prototype.Kr=function(pk){
var jv=this.Sm;
var aP=this.uS(pk);
jv.startX=aP.left;
jv.startY=aP.top;
if(pk.which){
var uv=(pk.which!=1);
}else if(pk.button){
var uv=(pk.button!=1);
}
jv.draggingRightMouse=uv;
Qj.style([jv.mapCover],{background:u_,opacity:1,filter:fb});
Qj.style([jv.outlineDiv],{left:jv.startX+za,top:jv.startY+za,display:lx,width:bf,height:bf});
jv.draggingOn=true;
jv.cornerTopDiv.style.top=(jv.startY-jv.mapHeight)+za;
jv.cornerTopDiv.style.display=lx;
jv.cornerLeftDiv.style.left=(jv.startX-jv.mapWidth)+za;
jv.cornerLeftDiv.style.top=jv.startY+za;
jv.cornerLeftDiv.style.display=lx;
jv.cornerRightDiv.style.left=jv.startX+za;
jv.cornerRightDiv.style.top=jv.startY+za;
jv.cornerRightDiv.style.display=lx;
jv.cornerBottomDiv.style.left=jv.startX+za;
jv.cornerBottomDiv.style.top=jv.startY+za;
jv.cornerBottomDiv.style.width=Mp;
jv.cornerBottomDiv.style.display=lx;
if(jv.callbacks.dragstart!=null){
jv.callbacks.dragstart(jv.startX,jv.startY);
}
return false;
};
n_.prototype.b9=function(pk){
var jv=this.Sm;
if(jv.draggingOn){
var aP=this.uS(pk);
var nF=this.Dt(jv.startX,jv.startY,aP,jv.mapRatio);
if(nF.left){
addX=-nF.width;
}else{
addX=0;
}
if(nF.top){
addY=-nF.height;
}else{
addY=0;
}
Qj.style([jv.outlineDiv],{left:jv.startX+addX+za,top:jv.startY+addY+za,display:lx,width:bf,height:bf});
jv.outlineDiv.style.width=nF.width+Dl;
jv.outlineDiv.style.height=nF.height+Dl;
jv.cornerTopDiv.style.height=((jv.startY+addY)-(jv.startY-jv.mapHeight))+za;
jv.cornerLeftDiv.style.top=(jv.startY+addY)+za;
jv.cornerLeftDiv.style.width=((jv.startX+addX)-(jv.startX-jv.mapWidth))+za;
jv.cornerRightDiv.style.top=jv.cornerLeftDiv.style.top;
jv.cornerRightDiv.style.left=(jv.startX+addX+nF.width+jv.borderCorrection)+za;
jv.cornerBottomDiv.style.top=(jv.startY+addY+nF.height+jv.borderCorrection)+za;
jv.cornerBottomDiv.style.left=(jv.startX-jv.mapWidth+((jv.startX+addX)-(jv.startX-jv.mapWidth)))+za;
jv.cornerBottomDiv.style.width=(nF.width+jv.borderCorrection)+za;
if(jv.callbacks.dragging!=null){
jv.callbacks.dragging(jv.startX,jv.startY,nF.endX,nF.endY)
}
return false;
}
};
n_.prototype.kP=function(pk){
var jv=this.Sm;
if(jv.draggingOn){
var aP=this.uS(pk);
jv.draggingOn=false;
var nF=this.Dt(jv.startX,jv.startY,aP,jv.mapRatio);
if(nF.left)nF.endX=nF.startX-nF.width;
if(nF.top)nF.endY=nF.startY-nF.height;
this.Yg();
var va=new GPoint(nF.startX,nF.startY);
var oK=new GPoint(nF.endX,nF.startY);
var SL=new GPoint(nF.endX,nF.endY);
var O9=new GPoint(nF.startX,nF.endY);
var Ij=jv.map.fromContainerPixelToLatLng(va);
var ag=jv.map.fromContainerPixelToLatLng(oK);
var jQ=jv.map.fromContainerPixelToLatLng(SL);
var Lk=jv.map.fromContainerPixelToLatLng(O9);
var lV=new GPolyline([Ij,ag,jQ,Lk,Ij],jv.style.outlineColor,jv.style.outlineWidth+1,0.4);
try{
jv.map.addOverlay(lV);
setTimeout(function(){jv.map.removeOverlay(lV)},jv.options.overlayRemoveTime);
}catch(pk){}
var lM=lV.getBounds();
var ag=lM.getNorthEast();
var Lk=lM.getSouthWest();
var jQ=new GLatLng(Lk.lat(),ag.lng());
var Ij=new GLatLng(ag.lat(),Lk.lng());
var El=jv.map.getBounds().toSpan();
var le=lM.toSpan();
var z4=Math.max(El.lat()/le.lat(),El.lng()/le.lng());
var Vy=jv.map.getZoom();
if((nF.width<jv.options.minDragSize)||(nF.height<jv.options.minDragSize))
{
Vy+=1;
}
else if(jv.options.rightMouseZoomOutEnabled&&jv.draggingRightMouse){
Vy-=Math.ceil(Math.log(z4,2));
}else{
Vy+=Math.floor(Math.LOG2E*Math.log(z4));
}
var vU=true;
if(jv.callbacks.dragend!=null){
vU=jv.callbacks.dragend(Ij,ag,jQ,Lk,va,oK,SL,O9,Vy);
}
if(vU)
{
var iF=lM.getCenter();
jv.map.setCenter(iF,Vy);
}
if(jv.options.stickyZoomEnabled){
this.s8();
if(jv.options.backButtonEnabled)
{
this.HB(jv.options.backButtonHTML,false);
jv.backButtonDiv.style.display=j0;
}
}
}
};
n_.prototype.A6=function(){
var jv=this.Sm;
var cZ=jv.map.getSize();
jv.mapWidth=cZ.width;
jv.mapHeight=cZ.height;
jv.mapRatio=jv.mapHeight/jv.mapWidth;
Qj.style([jv.mapCover,jv.cornerTopDiv,jv.cornerRightDiv,jv.cornerBottomDiv,jv.cornerLeftDiv],
{top:Mp,left:Mp,width:jv.mapWidth+za,height:jv.mapHeight+za});
};
n_.prototype.DH=function(){
var jv=this.Sm;
Qj.style([jv.mapCover,jv.cornerTopDiv,jv.cornerRightDiv,jv.cornerBottomDiv,jv.cornerLeftDiv],
{filter:jv.style.alphaIE,opacity:jv.style.opacity,background:jv.style.fillColor});
jv.outlineDiv.style.border=jv.style.border;
};
n_.prototype.Ao=function(){
var jv=this.Sm;
if(jv.mapCover.style.display==lx){
this.Yg();
if(jv.options.backButtonEnabled){
this.KS();
jv.backButtonDiv.style.display=((jv.backStack.length==0)?j0:lx);
}
}else{
this.s8();
if(jv.options.backButtonEnabled){
this.HB(jv.options.backButtonHTML,false);
jv.backButtonDiv.style.display=j0;
}
}
};
n_.prototype.AP=function(){
var jv=this.Sm;
if(jv.options.backButtonEnabled&&jv.backStack.length>0){
this.KS();
if(jv.callbacks[qW]!=null){
jv.callbacks.backbuttonclick(jv.methodCall);
}
}
};
n_.prototype.HB=function(text,methodCall){
var jv=this.Sm;
var ec={};
ec[yt]=jv.map.getCenter();
ec[zr]=jv.map.getZoom();
ec[XY]=jv.map.getCurrentMapType();
if(backButtonDiv)
{
ec[Kt]=jv.backButtonDiv.innerHTML;
jv.backButtonDiv.innerHTML=text;
}
ec[VX]=methodCall;
jv.backStack.push(ec);
};
n_.prototype.KS=function(){
var jv=this.Sm;
var ec=jv.backStack.pop();
jv.map.setCenter(ec[yt],ec[zr],ec[XY]);
if(backButtonDiv)
{
jv.backButtonDiv.innerHTML=ec[Kt];
if(jv.backStack.length==0)jv.backButtonDiv.style.display=j0;
}
jv.methodCall=ec[VX];
};
n_.prototype.s8=function(){
var jv=this.Sm;
jv.mapPosition=Qj.nm(jv.map.getContainer());
this.A6();
this.WG(nB);
Qj.style([jv.mapCover],{display:lx,background:jv.style.fillColor});
Qj.style([jv.outlineDiv],{width:Mp,height:Mp});
if(jv.callbacks[fC]!=null){
jv.callbacks.buttonclick();
}
};
n_.prototype.uS=function(pk){
var aP=Qj.Kf(pk);
var jv=this.Sm;
return{top:(aP.top-jv.mapPosition.top),
left:(aP.left-jv.mapPosition.left)};
};
n_.prototype.Dt=function(startX,startY,aP,K2){
var left=false;
var top=false;
var h8=aP.left-startX;
var XK=aP.top-startY;
if(h8<0){
h8=h8*-1;
left=true;
}
if(XK<0){
XK=XK*-1;
top=true;
}
delta=h8>XK?h8:XK;
if(this.Sm.options.fixedRatio)return{
startX:startX,
startY:startY,
endX:startX+delta,
endY:startY+parseInt(delta*K2),
width:delta,
height:parseInt(delta*K2),
left:left,
top:top
}
return{
startX:startX,
startY:startY,
endX:startX+h8,
endY:startY+XK,
width:h8,
height:XK,
left:left,
top:top
}
};
n_.prototype.Yg=function(){
var jv=this.Sm;
Qj.style([jv.mapCover,jv.cornerTopDiv,jv.cornerRightDiv,jv.cornerBottomDiv,jv.cornerLeftDiv],
{display:j0,opacity:jv.style.opacity,filter:jv.style.alphaIE});
jv.outlineDiv.style.display=j0;
this.WG(L2);
if(jv.options.backButtonEnabled&&(jv.backStack.length>0))jv.backButtonDiv.style.display=lx;
};
var Qj={};
Qj.vn=function(io){
return document.getElementById(io);
};
Qj.Kf=function(pk){
var BS=0;
var RV=0;
if(!pk)var pk=window.event;
if(pk.pageX||pk.pageY){
BS=pk.pageX;
RV=pk.pageY;
}else if(pk.clientX||pk.clientY){
BS=pk.clientX+
(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);
RV=pk.clientY+
(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);
}
return{left:BS,top:RV};
};
Qj.nm=function(element){
var RU=element.offsetLeft;
var GY=element.offsetTop;
var qv=element.offsetParent;
while(qv!=null){
RU+=qv.offsetLeft;
GY+=qv.offsetTop;
qv=qv.offsetParent;
}
return{left:RU,top:GY};
};
Qj.className=function(Ua,className,FS){
if(typeof(Ua)==Xy){
Ua=Qj.cc(Ua);
}
for(var La=0;La<Ua.length;La++){
var Vn=Ua[La].className||Yz;
Vn=Vn.replace(className,Yz);
if(FS)Vn+=KU+className;
Ua[La].className=Vn.replace(/\s{2,}/,KU);
}
};
Qj.style=function(Ua,qm){
if(typeof(Ua)==Xy){
Ua=Qj.cc(Ua);
}
for(var La=0;La<Ua.length;La++){
for(var s in qm){
Ua[La].style[s]=qm[s];
}
}
};
Qj.cc=function(z7){
var pU=z7.split(E5);
var Ua=[];
for(var La=0;La<pU.length;La++){
Ua[Ua.length]=Qj.vn(pU[La])
};
return Ua;
};
