var SD_MAP_CONTROL_EMPTY=0;var SD_MAP_CONTROL_SMALL=1;var SD_MAP_CONTROL_MEDIUM=2;var SD_MAP_CONTROL_COMPLETE=3;var SD_MAP_CONTROL_ZOOM=4;var SD_MAP_CONTROL_TINY=5;var GLOBALS=new Array();GLOBALS.poweredby=true;function SDMapSG(a,b){this.x=0;this.y=0;this.elm_id=a;this.elm_obj=document.getElementById(a);this.markers=new Array();this.line=new Array();this.line_color=new Array();this.a=6378137;this.b=6356752.3142;this.k0=0.9996;this.method=0;this.MapAPI=new MapApiController;this.mapControl=new SmallMapControl;this.useLatLong=function(c){this.method=c};this.usePoweredBy=function(c){GLOBALS.poweredby=c};this.setCenter=function(c,e){if(this.method==1){var d=this.GeoToUTM(e,c,48);this.x=d[0];this.y=d[1];this.MapAPI.mapClient.setCenterVertex(new Vertex(d[0],d[1]))}else{this.x=c;this.y=e;this.MapAPI.mapClient.setCenterVertex(new Vertex(c,e))}};this.getX=function(){return this.x};this.getY=function(){return this.y};this.setLevel=function(c){c=c-1;this.MapAPI.mapClient.levelIndex=c};this.setSize=function(c,d){this.elm_obj.style.cssText="width:"+c+"px;height:"+d+"px;display:inline;float:left;position:relative;overflow:hidden;"};this.addMarker=function(c){if(this.method==1){var d=this.GeoToUTM(c.y,c.x,48);c.x=d[0];c.y=d[1]}this.markers.push(c)};this.addLine=function(e,d){var h=e.length,g=new Array(),c;for(var f=0;f<h;f+=2){if(this.method==1){xy=this.GeoToUTM(y,x,48);e[f]=xy[0];e[f+1]=xy[1]}c=new Vertex(e[f],e[f+1]);g.push(c)}this.line.push(g);this.line_color.push(d==undefined?"":d)};this.disableDragging=function(){this.MapAPI.enableDragging(false)};this.showThumbnail=function(){this.MapAPI.showThumbnail(true)};this.setMapControl=function(c){switch(c){case SD_MAP_CONTROL_TINY:this.mapControl=new TinyMapControl;break;case SD_MAP_CONTROL_SMALL:this.mapControl=new SmallMapControl;break;case SD_MAP_CONTROL_MEDIUM:this.mapControl=new MediumMapControl;break;case SD_MAP_CONTROL_COMPLETE:this.mapControl=new CompleteMapControl;break;case SD_MAP_CONTROL_ZOOM:this.mapControl=new ZoomMapControl;break;default:this.mapControl=null}};this.draw=function(){this.MapAPI.init(this.elm_id,getBaseUrl()+"dragmap/xg/");for(var c=0;c<this.markers.length;c++){var d=this.MapAPI.mapDraw.addMarker(this.markers[c]);this.markers[c].size=d.size;this.markers[c].mapClient=d.mapClient;if(this.markers[c].id){d.obj.id=this.markers[c].id}}if(!this.x||!this.y){this.setCenter(365292.630777,144934.832246)}this.MapAPI.addControl(this.mapControl);this.MapAPI.setMapSource("SG");if(this.line.length){for(var c=0;c<this.line.length;c++){this.MapAPI.mapDraw.addLine(this.line[c],this.line_color[c])}}this.MapAPI.mapDraw.updatePanel()};this.addMarkerBubble=function(e,c,d){VEvent.addListener(e,"click",function(){e.openInfoWindowHtml(c,d)})};this.GeoToUTM=function(u,s,g){var z=(this.a-this.b)/(this.a+this.b);var A=Math.PI/(180*60*60);var C=Math.sqrt(1-Math.pow(this.b/this.a,2));var f=Math.pow(C,2)/(1-Math.pow(C,2));u=u*Math.PI/180;var F=this.a/Math.sqrt(1-Math.pow(C*Math.sin(u),2));if(!g){g=31+parseInt((Math.floor(s/6)))}var c=parseInt((6*g)-183);var d=(s-c);var w=d*3600/10000;var t=this.a*(1-z+(5/4)*Math.pow(z,2)*(1-z)+(81/64)*Math.pow(z,4)*(1-z));var D=(3*this.a*z/2)*(1-z-(7/8)*Math.pow(z,2)*(1-z)+(55/64)*Math.pow(z,4));var h=(15*this.a*Math.pow(z,2)/16)*(1-z+(3/4)*Math.pow(z,2)*(1-z));var v=(35*this.a*Math.pow(z,3)/48)*(1-z+(11/16)*Math.pow(z,2));var E=(315*this.a*Math.pow(z,4)/51)*(1-z);var B=(t*u)-(D*Math.sin(2*u))+(h*Math.sin(4*u))-(v*Math.sin(6*u))+(E*Math.sin(8*u));var r=B*this.k0;var q=this.k0*(100000000)*Math.pow(A,2)*F*Math.sin(u)*Math.cos(u)/2;var o=(this.k0*(10000000000000000)*Math.pow(A,4)*F*Math.sin(u)*Math.pow(Math.sin(u),3)/24)*((5-Math.pow(Math.tan(u),2)+9*f*Math.pow(Math.cos(u),2)+4*Math.pow(f,2)*Math.pow(Math.cos(u),4)));var l=this.k0*10000*A*F*Math.cos(u);var j=(this.k0*(1000000000000)*Math.pow(A,3)*F*Math.pow(Math.cos(u),3)/6)*(1-Math.pow(Math.tan(u),2)+f*Math.pow(Math.cos(u),2));var G=(Math.pow(w*A,6)*F*Math.sin(u)*Math.pow(Math.cos(u),5)/720)*(61-58*Math.pow(Math.tan(u),2)+Math.pow(Math.tan(u),4)+270*f*Math.pow(Math.cos(u),2)-330*f*Math.pow(Math.sin(u),2))*this.k0*Math.pow(10,24);var k=r+(q*Math.pow(w,2))+(o*Math.pow(w,4))+(G*Math.pow(w,6));if(k<0){k=k+10000000}var m=(l*w)+(j*Math.pow(w,3))+500000;return Array(m,k)}}function moveStarPosition(h,j,a){var g=h.screenToVertex(j);var d=0,c=0;if(document.getElementById("last_pos")){document.getElementById("last_pos").innerHTML=(g.x+d)+","+(g.y+c)}var e=a.mapDraw.panelIcon,b=e.icons.length;for(var f=0;f<b;f++){if(e.icons[f].move==true){e.icons[f].obj.style.display="block";e.icons[f].x=g.x;e.icons[f].y=g.y;e.icons[f].obj.style.left=j.x-(parseInt(e.icons[f].obj.style.width)/2)+"px";e.icons[f].obj.style.top=j.y-(parseInt(e.icons[f].obj.style.height)/2)+"px"}}}function IeFix(a){if(document.namespaces&&document.namespaces.add){try{document.execCommand("BackgroundImageCache",false,true)}catch(b){}}}function LineSegment(d,c){this.p0=d;this.p1=c;this.distance=function(a){return this.distancePointLine(a,this.p0,this.p1)};this.distancePtoP=function(g,e){var h=g.x-e.x;var f=g.y-e.y;return Math.sqrt(h*h+f*f)};this.distancePointLine=function(f,a,g){if(a.x==g.x&&a.y==g.y){return this.distancePtoP(f,a)}var e=((f.x-a.x)*(g.x-a.x)+(f.y-a.y)*(g.y-a.y))/((g.x-a.x)*(g.x-a.x)+(g.y-a.y)*(g.y-a.y));if(e<=0){return this.distancePtoP(f,a)}if(e>=1){return this.distancePtoP(f,g)}var b=((a.y-f.y)*(g.x-a.x)-(a.x-f.x)*(g.y-a.y))/((g.x-a.x)*(g.x-a.x)+(g.y-a.y)*(g.y-a.y));return Math.abs(b)*Math.sqrt(((g.x-a.x)*(g.x-a.x)+(g.y-a.y)*(g.y-a.y)))}}function DPSimplifier(b,a){this.pts=b;this.usePt=[];this.seg=new LineSegment();this.distanceTolerance=a;this.simplify=function(){for(var d=0;d<this.pts.length;d++){this.usePt[d]=true}this.simplifySection(0,this.pts.length-1);var c=new Array();for(var d=0;d<this.pts.length;d++){if(this.usePt[d]){c.push(this.pts[d])}}return c},this.simplifySection=function(f,d){if((f+1)==d){return}this.seg.p0=this.pts[f];this.seg.p1=this.pts[d];var g=-1,e=f;for(var c=f+1;c<d;c++){var h=this.seg.distance(this.pts[c]);if(h>g){g=h;e=c}}if(g<=this.distanceTolerance){for(var c=f+1;c<d;c++){this.usePt[c]=false}}else{this.simplifySection(f,e);this.simplifySection(e,d)}}}function DrawingCanvasSVGT(e,d,a){if(!e){throw new Error("No canvas parent!")}if(!d){d=e.clientWidth}if(!a){a=e.clientHeight}this.parent=e;this.width=d;this.height=a;this._bgColor="none";this._lineWidth=2;this._lineColor="#000";this._dotColor="#000";this._dotMode=false;this._isDrawing=false;this._currentShape=null;this._points="";this._dummyDot=null;this._stack=[];this._stackSize=0;this._opacity=0.45;var c=document.createElementNS(this._XMLNS_SVG,"svg");c.setAttribute("width",d);c.setAttribute("height",a);c.setAttribute("overflow","visible");var f=document.createElementNS(this._XMLNS_SVG,"rect");f.setAttribute("width",d);f.setAttribute("height",a);f.setAttribute("fill",this._bgColor);c.appendChild(f);var b=document.createElementNS("http://www.w3.org/1999/xhtml","div");b.setAttribute("style","width: "+d+"px; height: "+a+"px; ");b.appendChild(c);e.appendChild(b);this.container=b;this._svgRoot=c;this._bg=f}DrawingCanvasSVGT.prototype={_XMLNS_SVG:"http://www.w3.org/2000/svg",arrows:Array(),setPosX:function(a){this._svgRoot.style.position="absolute";this._svgRoot.style.zIndex=1000;this._svgRoot.style.left=a+"px"},setPosY:function(a){this._svgRoot.style.position="absolute";this._svgRoot.style.zIndex=1000;this._svgRoot.style.top=a+"px"},setViewBox:function(e,d,c,a){var b=e+" "+d+" "+c+" "+a;this._svgRoot.setAttribute("viewBox",b)},setSize:function(b,a){this._svgRoot.setAttribute("width",b);this._svgRoot.setAttribute("height",a);this._bg.setAttribute("width",b);this._bg.setAttribute("height",a);this.width=b;this.height=a},setBgColor:function(a){this._bgColor=(a=="transparent")?"none":a;this._refresh()},setLineColor:function(a){if(a==undefined){return}this._lineColor=a},setOpacity:function(a){this._opacity=a},setLineWidth:function(a){this._lineWidth=Number(a)||0},createGeofence:function(b,e,c,d,a){this.createCircle(b,e,c,true);this.createArrow(b,e,c);this.createText(b,e,c,d,a)},createCircle:function(a,f,e,c){var d=this._lineColor;if(this._dotMode==true||c==true){d=this._dotColor;var b=document.createElementNS(this._XMLNS_SVG,"circle");b.setAttribute("cx",a);b.setAttribute("cy",f);b.setAttribute("r",e);if(c==true){b.setAttribute("stroke","black");b.setAttribute("stroke-width",2);b.setAttribute("fill","none")}else{b.setAttribute("fill",d)}this._svgRoot.appendChild(b);this._pushStack(b)}},createFullArrow:function(e,d,b,a){var f=document.createElementNS(this._XMLNS_SVG,"polyline");f.setAttribute("fill",a);f.setAttribute("stroke",a);f.setAttribute("stroke-width",2);f.setAttribute("stroke-linecap","round");f.setAttribute("stroke-linejoin","round");var c=d.x+","+d.y+" "+e.x+","+e.y+" "+b.x+","+b.y;f.setAttribute("points",c);this.arrows.push(f);this._svgRoot.appendChild(f)},clearFullArrow:function(){var b=this.arrows.length;for(var a=0;a<b;a++){this._svgRoot.removeChild(this.arrows[a])}this.arrows=Array()},createArrow:function(b,e,d){var a=document.createElementNS(this._XMLNS_SVG,"polyline");var c=(b+d-5)+","+(e-5)+" "+(b+d)+","+e+" "+b+","+e+" "+(b+d)+","+e+" "+(b+d-5)+","+(e+5);a.setAttribute("fill","none");a.setAttribute("stroke","red");a.setAttribute("stroke-width",5);a.setAttribute("stroke-linecap","round");a.setAttribute("stroke-linejoin","round");a.setAttribute("points",c);this._svgRoot.appendChild(a);this._pushStack(a)},createText:function(b,f,e,c,a){var d=document.createElementNS(this._XMLNS_SVG,"text");d.setAttribute("x",b);d.setAttribute("y",f-5);d.setAttribute("fill","red");d.setAttribute("stroke-linejoin","bevel");d.setAttribute("font-size",a);d.appendChild(document.createTextNode((c/1000)+" km"));this._svgRoot.appendChild(d);this._pushStack(d)},startLine:function(a,c){if(this._isDrawing){this.endLine()}this._isDrawing=true;this.createCircle(a,c,this._lineWidth/2);this._points=a+","+c;var b=document.createElementNS(this._XMLNS_SVG,"polyline");b.setAttribute("fill","none");b.setAttribute("stroke",this._lineColor);b.setAttribute("stroke-width",this._lineWidth);b.setAttribute("stroke-linecap","round");b.setAttribute("stroke-linejoin","round");b.setAttribute("opacity",this._opacity);b.setAttribute("points",this._points);this._svgRoot.appendChild(b);this._currentShape=b},endLine:function(){if(!this._isDrawing){return}if(this._dummyDot){this._svgRoot.removeChild(this._currentShape);this._pushStack(this._dummyDot);this._dummyDot=null}else{this._pushStack(this._currentShape)}this._isDrawing=false;this._currentShape=null;this._points=""},lineTo:function(a,b){if(!this._isDrawing){return}if(this._dummyDot){this._svgRoot.removeChild(this._dummyDot);this._dummyDot=null}this.createCircle(a,b,this._lineWidth/2);this._points+=" "+a+","+b;this._currentShape.setAttribute("points",this._points)},undo:function(){if(this._isDrawing){this.endLine()}if(this._stackSize<=0){return false}this._svgRoot.removeChild(this._stack[--this._stackSize]);this._refresh();return true},redo:function(){if(this._isDrawing){this.endLine()}if(this._stackSize>=this._stack.length){return false}this._svgRoot.appendChild(this._stack[this._stackSize++]);this._refresh();return true},clearShape:function(){if(this._isDrawing){this.endLine()}if(this._stack.length>1){this._svgRoot.removeChild(this._stack[this._stack.length-1]);this._refresh();this._stack.length=this._stack.length-1;this._stackSize=this._stackSize-1}},clear:function(){if(this._isDrawing){this.endLine()}for(var a=this._stackSize;a--;){if(this._stack[a]!=undefined){this._svgRoot.removeChild(this._stack[a])}}this._refresh();this._stack.length=0;this._stackSize=0},getX:function(){var b=this.container;var a=b.offsetLeft;while((b=b.offsetParent)){a+=b.offsetLeft}return a},getY:function(){var a=this.container;var b=a.offsetTop;while((a=a.offsetParent)){b+=a.offsetTop}return b},_pushStack:function(a){if(this._stackSize+1<this._stack.length){this._stack.length=this._stackSize+1}this._stack[this._stackSize++]=a},_refresh:function(){this._bg.setAttribute("fill",this._bgColor)}};function DrawingCanvasCanvas(f,e,a){if(!f){throw new Error("No canvas parent!")}if(!e){e=f.clientWidth}if(!a){a=f.clientHeight}this.parent=f;this.width=e;this.height=a;this._bgColor="transparent";this._lineWidth=2;this._lineColor="#000";this._dotColor="#000";this._dotMode=false;this._isDrawing=false;this._opacity=0.45;this._points=null;this._stack=[];this._stackSize=0;var c=document.createElement("canvas");c.setAttribute("id","DCCanvas"+(new Date()).getTime()+ ++arguments.callee._count);c.setAttribute("width",e);c.setAttribute("height",a);var b=document.createElement("div");b.setAttribute("style","width: "+e+"px; height: "+a+"px; ");b.appendChild(c);f.appendChild(b);var d=c.getContext("2d");d.lineCap="round";d.lineJoin="round";this.container=b;this._context=d;this._canvas=c}DrawingCanvasCanvas._count=0;DrawingCanvasCanvas.prototype={setBgColor:function(a){this._bgColor=a;this._refresh()},setPos:function(b,a){this.container.style.left=b+"px";this.container.style.top=a+"px"},setSize:function(b,a){this.container.style.width=b+"px";this.container.style.height=a+"px";this._canvas.setAttribute("width",b);this._canvas.setAttribute("height",a);this.width=b;this.height=a},setLineColor:function(a){if(a==undefined){return}this._lineColor=a},setLineWidth:function(a){this._lineWidth=Number(a)||0},setOpacity:function(a){this._opacity=a},startLine:function(a,b){if(this._isDrawing){this.endLine()}this._isDrawing=true;this._context.strokeStyle=this._lineColor;this._context.fillStyle=this._lineColor;this._context.lineWidth=this._lineWidth;this._context.arc(a,b,this._lineWidth/2,0,2*Math.PI,true);this._context.fill();this._points=[a,b];this._currentX=a;this._currentY=b;this._currentLineColor=this._lineColor;this._currentLineWidth=this._lineWidth},endLine:function(){if(!this._isDrawing){return}this._isDrawing=false;this._pushStack(this._points,this._currentLineColor,this._currentLineWidth);this._points=null},lineTo:function(a,b){if(!this._isDrawing){return}this._context.moveTo(this._currentX,this._currentY);this._context.lineTo(a,b);this._context.stroke();this._points.push(a,b);this._currentX=a;this._currentY=b},undo:function(){if(this._isDrawing){this.endLine()}if(this._stackSize<=0){return false}--this._stackSize;this._refresh();return true},redo:function(){if(this._isDrawing){this.endLine()}if(this._stackSize>=this._stack.length){return false}++this._stackSize;this._refresh();return true},clearShape:function(){if(this._isDrawing){this.endLine()}if(this._stack.length>1){this._stack[this._stack.length-1]=undefined;this._refresh()}},clear:function(){if(this._isDrawing){this.endLine()}this._stack.length=0;this._stackSize=0;this._refresh()},getX:function(){var b=this.container;var a=b.offsetLeft;while((b=b.offsetParent)){a+=b.offsetLeft}return a},getY:function(){var a=this.container;var b=a.offsetTop;while((a=a.offsetParent)){b+=a.offsetTop}return b},_pushStack:function(b,c,a){if(this._stackSize+1<this._stack.length){this._stack.length=this._stackSize+1}this._stack[this._stackSize++]={type:(b.length==2)?"dot":"polyline",points:b,lineColor:c,lineWidth:a}},_refresh:function(){if(this._bgColor=="transparent"){this._context.clearRect(0,0,this.width,this.height)}else{this._context.fillStyle=this._bgColor;this._context.fillRect(0,0,this.width,this.height)}for(var c=0;c<this._stackSize;c++){var a=this._stack[c];if(a.type=="dot"){this._context.fillStyle=a.lineColor;this._context.arc(a.points[0],a.points[1],a.lineWidth/2,0,this._MATH_2PI,true);this._context.fill()}else{this._context.strokeStyle=a.lineColor;this._context.lineWidth=a.lineWidth;this._context.moveTo(a.points[0],a.points[1]);for(var b=2,d=a.points.length;b<d;b+=2){this._context.lineTo(a.points[b],a.points[b+1])}this._context.stroke()}}}};function DrawingCanvasCSSP(d,c,a){if(!d){throw new Error("No canvas parent!")}if(!c){c=d.clientWidth}if(!a){a=d.clientHeight}this.parent=d;this.width=c;this.height=a;this._bgColor="transparent";this._lineWidth=2;this._lineColor="#000";this._dotColor="#000";this._dotMode=false;this._isDrawing=false;this._currentLayer=null;this._stack=[];this._stackSize=0;this._opacity=0.45;this._dotStyle="";this._currentLineWidth=0;this._dotOffset=0;this._dotX=0;this._dotY=0;var b=document.createElement("div");var e="background-color: "+this._bgColor+"; position: relative; width: "+c+"px; height: "+a+"px; overflow: hidden; ";if(this._useCssText){b.style.cssText=e}else{b.setAttribute("style",e)}d.appendChild(b);this.container=b}DrawingCanvasCSSP.prototype={_useCssText:document.documentElement.getAttribute("style")==document.documentElement.style,setPos:function(b,a){this.container.style.left=b+"px";this.container.style.top=a+"px"},setSize:function(b,a){this.container.style.width=b+"px";this.container.style.height=a+"px";this.width=b;this.height=a},setBgColor:function(a){this.container.style.backgroundColor=this._bgColor=a},setLineColor:function(a){if(a==undefined){return}this._lineColor=a},setLineWidth:function(a){this._lineWidth=Number(a)||0},startLine:function(a,f){if(this._isDrawing){this.endLine()}this._isDrawing=true;a=Math.round(a);f=Math.round(f);var e=this._lineWidth;this._dotStyle="background-color: "+this._lineColor+"; position: absolute; overflow: hidden; ";this._dotOffset=Math.floor(e/2);this._dotX=a-this._dotOffset;this._dotY=f-this._dotOffset;var c=document.createElement("div");var b=document.createElement("div");var d=this._dotStyle+"width: "+e+"px; height: "+e+"px; left: "+this._dotX+"px; top: "+this._dotY+"px; ";if(this._useCssText){b.style.cssText=d}else{b.setAttribute("style",d)}c.appendChild(b);this.container.appendChild(c);this._currentLineWidth=e;this._currentLayer=c},endLine:function(){if(!this._isDrawing){return}this._isDrawing=false;this._pushStack(this._currentLayer);this._currentLineWidth=0;this._currentLayer=null},lineTo:function(k,h){if(!this._isDrawing){return}k=Math.round(k);h=Math.round(h);var t=this._dotX;var r=this._dotY;var d=k-this._dotOffset;var b=h-this._dotOffset;var A=(t<d)?1:-1;var z=(r<b)?1:-1;var m=(A==1)?d-t:t-d;var l=(z==1)?b-r:r-b;var s,j,g;if(m==0&&l==0){return}var c=document.createDocumentFragment();var n=this._dotStyle;var e=this._useCssText;var a=this._currentLineWidth;var u=a;if(m>=l){var f,q,p;var w=(A==1);s=-m;j=l<<1;g=m<<1;for(var v=0;v<m;++v){s+=j;if(s>=0){f=w?t-u+a:t;q=document.createElement("div");p=n+"width: "+u+"px; height: "+a+"px; left: "+f+"px; top: "+r+"px; ";if(e){q.style.cssText=p}else{q.setAttribute("style",p)}c.appendChild(q);r+=z;s-=g;u=a}else{++u}t+=A}f=w?d-u+a:d;q=document.createElement("div");p=n+"width: "+u+"px; height: "+a+"px; left: "+f+"px; top: "+b+"px; ";if(e){q.style.cssText=p}else{q.setAttribute("style",p)}c.appendChild(q)}else{var o,q,p;var w=(z==1);s=-l;j=m<<1;g=l<<1;for(var v=0;v<l;++v){s+=j;if(s>=0){o=w?r-u+a:r;q=document.createElement("div");p=n+"width: "+a+"px; height: "+u+"px; left: "+t+"px; top: "+o+"px; ";if(e){q.style.cssText=p}else{q.setAttribute("style",p)}c.appendChild(q);t+=A;s-=g;u=a}else{++u}r+=z}o=w?b-u+a:b;q=document.createElement("div");p=n+"width: "+a+"px; height: "+u+"px; left: "+d+"px; top: "+o+"px; ";if(e){q.style.cssText=p}else{q.setAttribute("style",p)}c.appendChild(q)}this._currentLayer.appendChild(c);this._dotX=d;this._dotY=b},undo:function(){if(this._isDrawing){this.endLine()}if(this._stackSize<=0){return false}this.container.removeChild(this._stack[--this._stackSize]);return true},redo:function(){if(this._isDrawing){this.endLine()}if(this._stackSize>=this._stack.length){return false}this.container.appendChild(this._stack[this._stackSize++]);return true},clearShape:function(){if(this._isDrawing){this.endLine()}if(this._stack.length>1){this.container.removeChild(this._stack[this._stack.length-1]);this._stack.length=this._stack.length-1;this._stackSize=this._stackSize-1}},clear:function(){if(this._isDrawing){this.endLine()}for(var a=this._stackSize;a--;){this.container.removeChild(this._stack[a])}this._stack.length=0;this._stackSize=0},_htmlIsRoot:(typeof document.compatMode=="string")&&(document.compatMode=="CSS1Compat"),getX:function(){var b=this.container;var a=b.offsetLeft;while((b=b.offsetParent)){a+=b.offsetLeft}if(this._useCssText){a+=(this._htmlIsRoot?document.documentElement:document.body).clientLeft}return a},getY:function(){var a=this.container;var b=a.offsetTop;while((a=a.offsetParent)){b+=a.offsetTop}if(this._useCssText){b+=(this._htmlIsRoot?document.documentElement:document.body).clientTop}return b},_pushStack:function(a){if(this._stackSize+1<this._stack.length){this._stack.length=this._stackSize+1}this._stack[this._stackSize++]=a}};function DrawingCanvasVML(d,c,a){if(!document.namespaces){throw new Error("Not supported!")}if(!document.namespaces.v){document.namespaces.add("v","urn:schemas-microsoft-com:vml");document.createStyleSheet().addRule("v\\:*","behavior: url(#default#VML);")}if(!d){throw new Error("No canvas parent!")}if(!c){c=d.clientWidth}if(!a){a=d.clientHeight}this.parent=d;this.width=c;this.height=a;this._bgColor="none";this._lineWidth=2;this._lineColor="#000";this._isDrawing=false;this._currentShape=null;this._dummyDot=null;this._points="";this._stack=[];this._stackSize=0;this._opacity=0.45;var b=document.createElement("div");b.style.cssText="position: relative; text-align:left; width: "+c+"px; height: "+a+"px; ";d.appendChild(b);this.container=b}DrawingCanvasVML.prototype={arrows:Array(),setBgColor:function(a){this.container.style.backgroundColor=this._bgColor=a},setSize:function(b,a){this.container.style.width=b+"px";this.container.style.height=a+"px";this.width=b;this.height=a},setViewBox:function(d,c,b,a){this.container.setAttribute("coordorigin",d+" "+c);this.container.setAttribute("coordsize",parseInt(b+this._lineWidth*2)+","+parseInt(a+this._lineWidth*2))},setPosX:function(a){this.container.style.left=a+"px"},setPosY:function(a){this.container.style.top=a+"px"},updatePosition:function(){this.container.style.top=-parseInt(this.parent.style.top)+"px";this.container.style.left=-parseInt(this.parent.style.left)+"px"},panByOffset:function(a,b){},setLineColor:function(a){this._lineColor=a},setOpacity:function(a){this._opacity=a},setLineWidth:function(a){this._lineWidth=Number(a)||0},createGeofence:function(a,d,c,b){this.createCircle(a,d,c);this.createArrow(a,d,c);this.createText(a,d,c,b)},createCircle:function(a,e,d){d=Math.round(d);var c=document.createElement("v:oval");c.strokeweight=2;var b=d*2;c.style.cssText="position: absolute; width: "+b+"px; height: "+b+"px; left: "+(a-d)+"px; top: "+(e-d)+"px; ";c.innerHTML="<v:fill on='false' />";this.container.appendChild(c);this._currentShape=c;this._pushStack(this._currentShape)},createFullArrow:function(e,d,b,a){var f=document.createElement("v:polyline");f.filled=true;f.fillcolor=a;f.strokecolor=a;var c=d.x+","+d.y+" "+e.x+","+e.y+" "+b.x+","+b.y;f.points=c;this.arrows.push(f);this.container.appendChild(f)},clearFullArrow:function(){var b=this.arrows.length;for(var a=0;a<b;a++){this.container.removeChild(this.arrows[a])}this.arrows=Array()},createArrow:function(b,d,c){var a=document.createElement("v:polyline");a.filled=false;a.strokecolor="black";a.strokeweight=2;a.points=(b+c-5)+","+(d-5)+" "+(b+c)+","+d+" "+b+","+d+" "+(b+c)+","+d+" "+(b+c-5)+","+(d+5);this.container.appendChild(a);this._currentShape=a;this._pushStack(this._currentShape)},createText:function(a,e,c,b){var d=document.createElement("v:line");d.from=a+" "+(e-10);d.to=(a+c)+" "+(e-11);d.innerHTML="<v:fill on='True' color='red'/><v:path textpathok='True'/><v:textpath on='True' string='"+(b/1000)+" km' style='font:normal normal normal 12pt Arial'/>";this.container.appendChild(d);this._currentShape=d;this._pushStack(this._currentShape)},startLine:function(a,f){if(this._isDrawing){this.endLine()}this._isDrawing=true;var c=document.createElement("v:oval");var d=this._lineWidth;c.fillcolor=this._lineColor;c.strokecolor=this._lineColor;c.style.cssText="position: absolute; width: "+d+"px; height: "+d+"px; left: "+(a-d/2)+"px; top: "+(f-d/2)+"px; ";this.container.appendChild(c);this._dummyDot=c;this._points="m"+Math.round(a)+","+Math.round(f)+" l";var b=document.createElement("v:shape");b.style.position="absolute";b.style.width="1px";b.style.height="1px";b.coordsize="1,1";b.filled=false;b.strokecolor=this._lineColor;b.strokeweight=this._lineWidth;b.unselectable="on";b.path=this._points;var e=document.createElement("v:stroke");e.endcap="round";e.opacity=this._opacity;b.appendChild(e);this.container.appendChild(b);this._currentShape=b},endLine:function(){if(!this._isDrawing){return}this._points+="e";this._currentShape.path=this._points;if(this._dummyDot){this.container.removeChild(this._currentShape);this._pushStack(this._dummyDot);this._dummyDot=null}else{this._pushStack(this._currentShape)}this._isDrawing=false;this._currentShape=null;this._points=""},lineTo:function(a,b){if(!this._isDrawing){return}if(this._dummyDot){this.container.removeChild(this._dummyDot);this._dummyDot=null}this._points+=Math.round(a)+","+Math.round(b)+" ";this._currentShape.path=this._points},undo:function(){if(this._isDrawing){this.endLine()}if(this._stackSize<=0){return false}this._stack[--this._stackSize].style.visibility="hidden";return true},redo:function(){if(this._isDrawing){this.endLine()}if(this._stackSize>=this._stack.length){return false}this._stack[this._stackSize++].style.visibility="visible";return true},clearShape:function(){if(this._isDrawing){this.endLine()}if(this._stack.length>1){this.container.removeChild(this._stack[this._stack.length-1]);this._stack.length=this._stack.length-1;this._stackSize=this._stackSize-1}},clear:function(){if(this._isDrawing){this.endLine()}for(var a=this._stack.length;a--;){if(this._stack[a]!=undefined){this.container.removeChild(this._stack[a])}}this._stack.length=0;this._stackSize=0},_htmlIsRoot:(typeof document.compatMode=="string")&&(document.compatMode=="CSS1Compat"),getX:function(){var b=this.container;var a=b.offsetLeft;while((b=b.offsetParent)){a+=b.offsetLeft}a+=(this._htmlIsRoot?document.documentElement:document.body).clientLeft;return a},getY:function(){var a=this.container;var b=a.offsetTop;while((a=a.offsetParent)){b+=a.offsetTop}b+=(this._htmlIsRoot?document.documentElement:document.body).clientTop;return b},_pushStack:function(a){var c=this._stack.length;if(this._stackSize<c){for(var b=this._stackSize;b<c;b++){this.container.removeChild(this._stack[b])}this._stack.length=this._stackSize+1}this._stack[this._stackSize++]=a}};function DrawingCanvas(){var c="CSSP";if(document.namespaces&&document.namespaces.add){c="VML"}try{if(document.createElement("canvas").getContext){c="Canvas"}}catch(d){}if(document.createElementNS){var f="http://www.w3.org/TR/SVG11/feature#";if(document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature(f+"SVG","1.1")||document.implementation.hasFeature(f+"BasicStructure","1.1"))){c="SVGT"}if(window.opera){var b=navigator.userAgent;var a=b.indexOf("Opera");if(a>=0&&parseInt(b.substring(a+6))>=8){c="SVGT"}}}switch(c){case"SVGT":DrawingCanvas=DrawingCanvasSVGT;break;case"Canvas":DrawingCanvas=DrawingCanvasCanvas;break;case"CSSP":DrawingCanvas=DrawingCanvasCSSP;break;case"VML":DrawingCanvas=DrawingCanvasVML;break}DrawingCanvas.backend=c;DrawingCanvas.prototype.constructor=DrawingCanvas}DrawingCanvas();function Point(a,b){this.x=a;this.y=b}function Vertex(a,b){this.x=a;this.y=b}function GLatLng(a,b){this.x=a;this.y=b}function getHttpObject(){var a;try{a=new XMLHttpRequest()}catch(b){try{a=new ActiveXObject("Microsoft.XMLHTTP")}catch(b){try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(b){alert("Your browser does not support AJAX!");return false}}}return a}function Ajax(b,d){var c=getHttpObject();c.onreadystatechange=a;function a(){if(c.readyState==4){if(c.status==200){if(d){d(c)}}}}this.doGet=function(){c.open("GET",b,true);c.send(null)};this.doPost=function(e,f){c.open("POST",b,true);c.setRequestHeader("Content-type","application/x-www-form-urlencoded");c.setRequestHeader("Content-length",e.length);if(f==true||f!=undefined){c.setRequestHeader("Content-Type","text/xml")}c.send(e)}}function Rectangle(d,c,b,a){this.left=d;this.top=c;this.right=b;this.bottom=a;this.setWidth=function(e){this.right=this.left+e};this.setHeight=function(e){this.bottom=this.top+e};this.offset=function(e,f){this.left=this.left+e;this.top=this.top+f;this.right=this.right+e;this.bottom=this.bottom+f};this.width=function(){return Math.abs(this.right-this.left)};this.height=function(){return Math.abs(this.bottom-this.top)}}function DElement(c,b,m,k,j,g,l,d,e,h,f){var a=document.createElement(c);if(b!=undefined&&b!=""){a.id=b}if(m!=undefined&&m!=""){a.style.left=m}if(k!=undefined&&k!=""){a.style.top=k}if(j!=undefined&&j!=""){a.style.width=j}if(g!=undefined&&g!=""){a.style.height=g}if(l!=undefined&&l!=""){a.style.position=l}if(e!=undefined&&e!=""){a.src=e}if(d!=undefined&&d!=""){a.style.zIndex=d}if(h!=undefined&&h!=""){a.style.backgroundColor=h}if(f!=undefined&&f==true){a.style.overflow="hidden"}return a}function MDiv(a,j,g,f,d,h,b,e,c){return new DElement("div",a,j,g,f,d,h,b,"",e,c)}function MImg(a,c,k,h,g,f,j,b,d){var e=new DElement("img",a,k,h,g,f,j,b,c,d);e.border="0";return e}function MSpan(b){var a=new DElement("span");a.innerHTML=b;return a}function MapTile(c,b,a,d){this.row=c;this.col=b;this.img=a;this.div=d}function OffsetPoint(c,b,d){var a=new Point();a.x=c.x+b;a.y=c.y+d;return a}function getTopLeft(a){if(a==undefined){return{x:0,y:0}}var b=curtop=0;if(a.offsetParent){b=a.offsetLeft;curtop=a.offsetTop;while(a=a.offsetParent){b+=a.offsetLeft;curtop+=a.offsetTop}}return{x:b,y:curtop}}function getCursorPos(g,f){var h=getTopLeft(f);var d,b,c,a;d=(!document.all)?g.pageX:(event.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft));d-=h.x;b=(!document.all)?g.pageY:(event.clientY+(document.documentElement.scrollTop||document.body.scrollTop));b-=h.y;if(document.all){c=event.clientX;a=event.clientY}else{c=g.clientX;a=g.clientY}return{x:d,y:b,vx:c,vy:a}}function ViewportInfo(){this.width=0;this.height=0;this.centerVertex=new Vertex(0,0);this.imgUrl="";this.currentLvToHighLvPercentage=0}function Quadtree(a){this.mapClient=a}function MapSource(b,a){this.mapTitle="";this.mapCode="";this.mapYear="";this.mapZone="";this.isSouth="";this.isCassini="";this.mapScales=[];this.pathUrl=b;this.name=a;this.loadVar=function(f){if(BrowserDetect.browser=="Explorer"){var e=new ActiveXObject("Microsoft.XMLDOM");e.async="false";e.loadXML(f)}else{var j=new DOMParser();var e=j.parseFromString(f,"text/xml")}var c=e.getElementsByTagName("MAPCONFIG")[0];this.mapTitle=c.getElementsByTagName("TITLE")[0].firstChild.nodeValue;this.mapYear=c.getElementsByTagName("YEAR")[0].firstChild.nodeValue;this.mapCode=c.getElementsByTagName("MAPCODE")[0].firstChild.nodeValue;this.mapZone=c.getElementsByTagName("MAPZONE")[0].firstChild.nodeValue;this.isSouth=c.getElementsByTagName("ISSOUTH")[0].firstChild.nodeValue;this.isCassini=c.getElementsByTagName("CASSINI")[0].firstChild.nodeValue;var h=c.getElementsByTagName("SCALE");for(i=0;i<h.length;i++){var d=h.item(i).attributes;var g=new MapScale();if(d.getNamedItem("DISABLED").nodeValue!="True"){g.mapWidth=parseInt(d.getNamedItem("WIDTH").nodeValue);g.mapHeight=parseInt(d.getNamedItem("HEIGHT").nodeValue);g.maxCol=parseInt(d.getNamedItem("MAXCOL").nodeValue);g.maxRow=parseInt(d.getNamedItem("MAXROW").nodeValue);g.minLon=parseFloat(d.getNamedItem("MINLONG").nodeValue);g.maxLon=parseFloat(d.getNamedItem("MAXLONG").nodeValue);g.maxLat=parseFloat(d.getNamedItem("MAXLAT").nodeValue);g._name=d.getNamedItem("LEVELCODE").nodeValue;this.mapScales.push(g)}}};this.loadFromXml=function(d){this.mapTitle=d.getElementsByTagName("TITLE").item(0).firstChild.nodeValue;this.mapCode=d.getElementsByTagName("MAPCODE").item(0).firstChild.nodeValue;this.mapYear=d.getElementsByTagName("YEAR").item(0).firstChild.nodeValue;this.mapZone=d.getElementsByTagName("MAPZONE").item(0).firstChild.nodeValue;this.mapScales=[];var f=d.getElementsByTagName("SCALE");for(i=0;i<f.length;i++){var c=f.item(i).attributes;var e=new MapScale();if(c.getNamedItem("DISABLED").nodeValue!="True"){e.mapWidth=parseInt(c.getNamedItem("WIDTH").nodeValue);e.mapHeight=parseInt(c.getNamedItem("HEIGHT").nodeValue);e.maxCol=parseInt(c.getNamedItem("MAXCOL").nodeValue);e.maxRow=parseInt(c.getNamedItem("MAXROW").nodeValue);e.minLon=parseFloat(c.getNamedItem("MINLONG").nodeValue);e.maxLon=parseFloat(c.getNamedItem("MAXLONG").nodeValue);e.maxLat=parseFloat(c.getNamedItem("MAXLAT").nodeValue);e._name=c.getNamedItem("LEVELCODE").nodeValue;if(c.getNamedItem("USERSCALING").nodeValue=="True"){e._scaleValue=parseFloat(c.getNamedItem("USERSCALE").nodeValue)}this.mapScales.push(e)}}};this.getMapTileUrl=function(c,f,e){var d=this.getTilePath(c,f);lvl=parseInt(e._name)+3;if(lvl==4){return img_path=d+"data/SG-Getmap/sg"+f+"_"+c+"_1.gif"}else{return img_path=d+"data/map/sg/"+lvl+"/sg"+f+"_"+c+"_"+lvl+".gif"}};this.getFirstScaleLevel=function(c){if(this.mapScales[c]!=undefined){return this.mapScales[c]}};this.getTilePath=function(d,g){var f="http://172.16.0.4/";var c=location.hostname;if(c.indexOf("streetdirectory.co.id")!=-1){var e=1+(g+d)%4;f="http://map"+e+".streetdirectory.co.id/"}else{if(c.indexOf("sd5.streetdirectory")!=-1){f="http://sd5.streetdirectory.net/"}else{if(c.indexOf("streetdirectory")!=-1||c.indexOf("streetdirectry")!=-1){if(c=="beta.streetdirectory.com"){f="http://beta.streetdirectory.com/"}else{var e=1+(g+d)%4;f="http://map"+e+".streetdirectory.com/"}}else{if(c!="localhost"&&c!="sdcom"&&c!="172.16.0.4"){var e=1+(g+d)%4;f="http://map"+e+".streetdirectory.com/"}}}}return f}}function MapScale(d,g,m,h,j,k,b,c,f,e,l,a){this.mapWidth=d;this.mapHeight=g;this.maxCol=m;this.maxRow=h;this.minLon=j;this.maxLon=k;this.minLat=b;this.maxLat=c;this._name=f;this.desc=e;this.userScale=l;this._scaleValue=0;this.scaleValue=function(){if(this._scaleValue==0){this._scaleValue=(this.maxLon-this.minLon)/(this.maxCol*this.mapWidth)}return this._scaleValue};this.pixelToUtm=function(n,p){var o=this.scaleValue();return new Vertex((this.minLon)+(n*o),(this.maxLat)-(p*o))};this.utmToPixel=function(p,o){var n=new Point();var q=this.scaleValue();n.x=Math.round((p-this.minLon)/q);n.y=Math.round((this.maxLat-o)/q);return n};this.inflateVert=function(p,n,q){var o=this.utmToPixel(p.x,p.y);o=OffsetPoint(o,n,q);return this.pixelToUtm(o.x,o.y)};this.getDistance=function(n,o){if(isNaN(n.x)||isNaN(n.y)||isNaN(o.x)||isNaN(o.y)){return}return Math.sqrt((n.x-o.x)*(n.x-o.x)+(o.y-n.y)*(o.y-n.y))};this.getCenterVertex=function(){return this.pixelToUtm((this.maxCol*this.mapWidth)/2,(this.maxRow*this.mapHeight)/2)};this.getTopLeftPoint=function(p,o,n,q){var r=this.utmToPixel(p,o);r=OffsetPoint(r,-(n/2),-(q/2));return r}}function MapUtil(a){this.mapClient=a;this.getCenterLevel=function(s){var u=new Array(),t=new Array();var z,B,D,l,p,o,f,n;for(var C=0;C<s.length;C++){if(s[C][0]!=undefined){for(var A=0;A<s[C][0].length;A++){if(s[C][0][A]!=null&&s[C][0][A].x!=undefined&&s[C][0][A].y!=undefined){u.push(s[C][0][A].x);t.push(s[C][0][A].y)}}}else{if(s[C]!=undefined){if(s[C].x!=undefined&&s[C].y!=undefined){u.push(s[C].x);t.push(s[C].y)}}}}u.push(this.mapClient.centerVertex.x);t.push(this.mapClient.centerVertex.y);z=new Point(this.findMin(u),this.findMin(t));B=new Point(this.findMax(u),this.findMax(t));n=new Rectangle(z.x,B.y,B.x,z.y);D=new Point(parseInt((z.x+B.x)/2),parseInt((z.y+B.y)/2));var q=this.mapClient.mapSource.mapScales;var k=10000;var h=0,j=0,r=0,d=0,v=0,m=null,g=new Rectangle();for(var w=q.length-1;w>=0;w--){r=this.mapClient.mapSource.mapScales[w];j=r.scaleValue();m=new Point(this.mapClient.mapWidth/2*j,this.mapClient.mapHeight/2*j);g.left=this.mapClient.centerVertex.x-m.x;g.right=this.mapClient.centerVertex.x+m.x;g.top=this.mapClient.centerVertex.y+m.y;g.bottom=this.mapClient.centerVertex.y-m.y;if(n.left>g.left&&n.left<g.right&&n.right>g.left&&n.right<g.right&&n.bottom>g.bottom&&n.bottom<g.top&&n.top>g.bottom&&n.top<g.top){h=w;break}}f=h;return{x:D.x,y:D.y,level:f}};this.findMin=function(b){if(b.length==0){return 0}if(b.length==1){return 1}var d=b[0];for(var c=1;c<b.length;c+=1){if(b[c]<d){d=b[c]}}return parseInt(d)};this.findMax=function(d){for(var c=0;c<d.length;c+=1){d[c]=d[c]*-1}var b=this.findMin(d);b=b*-1;return parseInt(b)}}function MapScaleList(a){this.listSize=a;this.listitems=new Array(a);this.getItem=function(b){return listItems(b)};this.setItem=function(b,c){listItems[b]=c}}function MapClient(){this.viewportInfo=new ViewportInfo();this.mapWidth=0;this.mapHeight=0;this.mapScale=new MapScale();this.centerVertex=new Vertex(0,0);this.levelIndex=-1;this.mapName="Singapore";this.mapSource=new MapSource();this.scale=null;this.setLevelIndex=function(a){if(this.mapSource.mapScales[a]!=undefined){this.levelIndex=a}};this.setCenterVertex=function(a){this.centerVertex.x=a.x;this.centerVertex.y=a.y};this.setMapSource=function(e,b){this.mapName=e;var c=b;var d=this;d.mapSource.name=d.mapName;d.mapSource.loadVar('<?xml version="1.0"?><MAPCONFIG><TITLE>Singapore</TITLE><YEAR>2009</YEAR><MAPCODE>sd</MAPCODE><MAPZONE>48</MAPZONE><ISSOUTH>0</ISSOUTH><CASSINI>-1</CASSINI><SCALES><SCALE WIDTH="500" HEIGHT="500" MAXROW="21" MAXCOL="18" MINLONG="-108737.68" MAXLONG="549042.41" MAXLAT="834122.85" USERSCALING="False" USERSCALE="0" LEVELNAME="1" LEVELCODE="1" DISABLED="False" ISTHUMBNAIL="False" /><SCALE WIDTH="256" HEIGHT="256" MAXROW="70" MAXCOL="70" MINLONG="0.00" MAXLONG="480000.00" MAXLAT="540000.00" LEVELCODE="2" DISABLED="False" MODE="WGS"/><SCALE WIDTH="256" HEIGHT="256" MAXROW="55" MAXCOL="55" MINLONG="342960.00" MAXLONG="465360.00" MAXLAT="186150.00" LEVELCODE="3" DISABLED="False" MODE="WGS"/><SCALE WIDTH="256" HEIGHT="256" MAXROW="76" MAXCOL="76" MINLONG="342960.00" MAXLONG="465360.00" MAXLAT="186150.00" LEVELCODE="4" DISABLED="False" MODE="WGS"/><SCALE WIDTH="256" HEIGHT="256" MAXROW="32" MAXCOL="56" MINLONG="345342.104029" MAXLONG="398542.106215" MAXLAT="162993.174954" LEVELCODE="5" DISABLED="False" MODE="WGS"/><SCALE WIDTH="256" HEIGHT="256" MAXROW="64" MAXCOL="112" MINLONG="345342.104029" MAXLONG="398542.106215" MAXLAT="162993.174954" LEVELCODE="6" DISABLED="False" MODE="WGS"/><SCALE WIDTH="256" HEIGHT="256" MAXROW="128" MAXCOL="224" MINLONG="345342.104029" MAXLONG="398542.106215" MAXLAT="162993.174954" LEVELCODE="7" DISABLED="False" MODE="WGS"/></SCALES></MAPCONFIG>');d.mapScale=d.mapSource.getFirstScaleLevel(d.levelIndex);if(d.centerVertex.x==0&&d.centerVertex.y==0){d.centerVertex=d.mapScale.getCenterVertex()}if(c&&d.mapDraw!=null){var a=d.mapDraw.getCenterLevel(2);d.levelIndex=a.level;if(d.mapSource.mapScales[d.levelIndex]!=undefined){d.mapScale=d.mapSource.mapScales[d.levelIndex]}}d.drawMap()};this.setMapSource2=function(d,b){this.mapName=d;this.mapConfig=this.baseUrl+"param.php?cd=mc&s="+escape(d);var a=getHttpObject();var e=this;var c=b;if(!a){alert("Your browser does not support AJAX!");return}a.onreadystatechange=function(){if(a.readyState==4){if(a.status==200){var g=a.responseXML;if(g==null){return}e.mapSource.name=e.mapName;e.mapSource.loadFromXml(g);e.mapScale=e.mapSource.getFirstScaleLevel(e.levelIndex);if(e.centerVertex.x==0&&e.centerVertex.y==0){e.centerVertex=e.mapScale.getCenterVertex()}if(c&&e.mapDraw!=null){var f=e.mapDraw.getCenterLevel(2);e.levelIndex=f.level;if(e.mapSource.mapScales[e.levelIndex]!=undefined){e.mapScale=e.mapSource.mapScales[e.levelIndex]}}e.drawMap()}}};a.open("GET",this.mapConfig,true);a.send(null)};this.setContainerTopLeft=function(a,b,c){this.mapContainer.bound.top=(b.y-1)*this.mapScale.mapHeight;this.mapContainer.bound.left=(b.x-1)*this.mapScale.mapWidth;this.mapContainer.bound.right=(c.x)*this.mapScale.mapWidth;this.mapContainer.bound.bottom=(c.y)*this.mapScale.mapHeight;this.mapContainer.rect.x=this.mapContainer.bound.left-a.x;this.mapContainer.rect.y=this.mapContainer.bound.top-a.y;this.mapContainer.style.left=this.mapContainer.rect.x+"px";this.mapContainer.style.top=this.mapContainer.rect.y+"px";this.mapContainer.style.width=((c.x-b.x+1)*this.mapScale.mapWidth)+"px";this.mapContainer.style.height=((c.y-b.y+1)*this.mapScale.mapHeight)+"px"};this.clearTilesContainer=function(){var a=this.mapContainer.Items;for(i=0;i<a.length;i++){this.tilesContainer.removeChild(a[i].div);a[i].div=undefined;a[i]=undefined}this.mapContainer.Items=[]};this.drawMap=function(){this.generateMap(this.getviewportInfo());if(this.mapDraw!=undefined){this.mapDraw.updatePanel()}this.onCompleted.call()};this.moveViewportPosition=function(a,b){this.centerVertex=this.mapScale.inflateVert(this.centerVertex,-a,-b);this.mapContainer.rect.x+=a;this.mapContainer.rect.y+=b;this.mapContainer.style.left=this.mapContainer.rect.x+"px";this.mapContainer.style.top=this.mapContainer.rect.y+"px";this.updateInfo()};this.vertexToScreen=function(b,a){if(this.mapScale==null){return new Vertex(0,0)}var d=this.mapScale.utmToPixel(b,a);var c=this.mapScale.getTopLeftPoint(this.centerVertex.x,this.centerVertex.y,this.mapWidth,this.mapHeight);d.x-=c.x;d.y-=c.y;return d};this.screenToVertex=function(b){var a=this.mapScale.inflateVert(this.centerVertex,b.x-this.mapWidth/2,b.y-this.mapHeight/2);return a};this.getVertexTopLeft=function(a,d){var c=this.mapScale.pixelToUtm(a,d);var b=this.mapScale.getTopLeftPoint(this.centerVertex.x,this.centerVertex.y,this.mapWidth,this.mapHeight);c.x-=b.x;c.y-=b.y;return c};this.panMapByOffset=function(a,b){this.centerVertex=this.mapScale.inflateVert(this.centerVertex,-a,-b);this.drawMap();this.updateInfo()};this.zoomIn=function(){var a=this.levelIndex+1;this.changeLevel(a)};this.changeLevel=function(a){this.setLevelIndex(a);this.mapScale=this.mapSource.mapScales[this.levelIndex];this.updateInfo();this.drawMap()};this.zoomOut=function(){var a=this.levelIndex-1;if(a>=0){this.changeLevel(a)}};this.generateMap=function(k){if(this.mapScale==null||this.mapScale.mapWidth==null){return}var f=k;var m=this.mapScale.getTopLeftPoint(this.centerVertex.x,this.centerVertex.y,this.mapWidth,this.mapHeight);var h=Math.ceil(m.x/this.mapScale.mapWidth);var d=Math.ceil(m.y/this.mapScale.mapHeight);var n=Math.ceil((m.x+this.mapWidth)/this.mapScale.mapWidth);var l=Math.ceil((m.y+this.mapHeight)/this.mapScale.mapHeight);var a=new Rectangle(0,0,0,0);var c=new Point(h,d);var g=new Point(n,l);this.clearTilesContainer();this.setContainerTopLeft(m,c,g);for(iRow=d;iRow<=l;iRow++){for(iCol=h;iCol<=n;iCol++){if(iRow<0||iCol<0||iCol>this.mapScale.maxCol||iRow>this.mapScale.maxRow){continue}a.left=(iCol-h)*this.mapScale.mapWidth;a.top=(iRow-d)*this.mapScale.mapHeight;a.Width=this.mapScale.mapWidth;a.Height=this.mapScale.mapHeight;var e=new MDiv("",a.left+"px",a.top+"px",this.mapScale.mapWidth+"px",this.mapScale.mapHeight+"px","absolute");e.style.backgroundImage="url("+this.baseUrl+"img/loading.gif)";var j=new MapTile(iRow,iCol,new MImg(),e);var b=this.mapSource.getMapTileUrl(iCol,iRow,this.mapScale);e.appendChild(j.img);this.tilesContainer.appendChild(e);this.mapContainer.Items.push(j);j.img.src=b;j.img.style.width=this.mapScale.mapWidth+"px";j.img.style.height=this.mapScale.mapHeight+"px";j.img.border="0"}}};this.createDefaultMapSource=function(a){this.baseUrl=a;this.mapSource=new MapSource("default","sq",2000,"",false,true,this.baseUrl,"");this.mapSource.mapScales.push(new MapScale(5076,2476,1,1,1976,57959,0,51191,"3","3",0,0));this.mapSource.mapScales.push(new MapScale(270,372,46,17,3072,56897.75,0,51191,"4","4",0,0));this.mapSource.mapScales.push(new MapScale(540,744,46,17,3072,56897.75,0,51191,"5","5",0,0));this.mapSource.mapScales.push(new MapScale(1080,1488,46,17,3072,56897.75,0,51191,"6","6",0,0));this.levelIndex=4;this.mapScale=this.mapSource.mapScales[this.levelIndex];this.centerVertex.x=44907;this.centerVertex.y=37804};this.initWithDefaultMapSource=function(a,b){this.createDefaultMapSource(b);this.init(a,b)};this.init=function(a){this.mapSource=new MapSource(a.baseUrl);this.mapDraw=a.mapDraw;this.viewport=a.viewportLayer;this.mapWidth=a.granParentLayer.clientWidth==0?parseInt(a.granParentLayer.style.width):a.granParentLayer.clientWidth;this.mapHeight=a.granParentLayer.clientHeight==0?parseInt(a.granParentLayer.style.height):a.granParentLayer.clientHeight;this.baseUrl=a.baseUrl;this.loadingImgUrl=this.baseUrl+"1.jpg";this.mapContainer=new MDiv("","0px","0px","100%","100%","absolute",0,"");this.mapContainer.style.backgroundImage="url("+this.baseUrl+"img/blue.gif)";this.mapContainer.rect={x:0,y:0};this.mapContainer.Items=[];this.mapContainer.bound=new Rectangle(0,0,0,0);this.tilesContainer=new MDiv("","0px","0px","","","absolute",0,"");this.mapContainer.appendChild(this.tilesContainer);this.viewport.appendChild(this.mapContainer)};this.getviewportInfo=function(){var a=new ViewportInfo();a.width=this.mapWidth;a.height=this.mapHeight;a.centerVertex=this.centerVertex;return a};this.openInfoWindowHtml=function(b,c,a,d){if(this.popup==null){if(d==undefined){this.popup=new MapBubble(200,100)}else{this.popup=new MapBubble(d.width,d.height)}this.popup.enableStick(true);this.popup.init(this);this.viewport.appendChild(this.popup.obj)}else{this.viewport.removeChild(this.popup.obj);if(d==undefined){this.popup.w=200;this.popup.h=100}else{this.popup.w=d.width;this.popup.h=d.height}this.popup.init(this);this.viewport.appendChild(this.popup.obj)}if(a!=undefined){this.popup.iconSize=a}this.popup.setDisplay(2);this.popup.enableOpacity(false);this.popup.initContent(c,b);this.popup.obj.style.display=""};this.updateInfo=function(){if(this.popup!=undefined){this.popup.updatePosition(true)}};this.updateInfoWindowHtml=function(b,c,a){if(this.popup!=undefined){if(a!=undefined){this.popup.iconSize=a}this.popup.setContent(c,b)}else{this.openInfoWindowHtml(b,c,a)}};this.closeInfoWindow=function(){if(this.popup!=undefined){this.popup.obj.style.display="none"}};this.getScalePercentageCurrentLevelToHighLevel=function(){var a=mapSource.getLastLevel();if(a==null){return 100}else{if(a.totalWidth==0){return 100}}return scale.totalWidth/a.totalWidth}}function MapDrawingController(){this.lines=new Array();this.icons=new Array();this.plots=new Array();this.color="Black";this.dotColor="Black";this.panelIcon=new MapIconController();this.panelLine=new MapLineController();this.panelDraw=new MapLineController();this.panelGeo=new MapGeofenceController();this.init=function(a){this.client=a;this.panelIcon.init(a);this.panelLine.init(a);this.panelDraw.init(a);this.panelDraw.liveMode=true;this.panelGeo.init(a);this.panelDraw.panel.setLineWidth(2);this.panelDraw.setColor("red");this.panelLine.setColor("blue");this.util=new MapUtil(a)};this.panPanelByOffset=function(a,b){this.panelIcon.panByOffset(a,b);this.panelLine.panByOffset(a,b);this.panelDraw.panByOffset(a,b);this.panelGeo.panByOffset(a,b)};this.stopDrawing=function(){this.panelDraw.panel.endLine();this.getDistanceState();this.panelDraw.enableLiveDraw(false)};this.enableDot=function(a){this.panelLine.dotMode=a};this.clearDrawing=function(){this.panelDraw.deleteLines();this.panelDraw.panel.setPosX(0);this.panelDraw.panel.setPosY(0);this.panelDraw.panel.setSize(this.client.mapWidth,this.client.mapHeight);this.panelDraw.panel.setViewBox(0,0,this.client.mapWidth,this.client.mapHeight);this.getDistanceState();this.plots=new Array()};this.enableOpacity=function(a){if(a==true){this.client.viewport.style.backgroundColor="#FFFFFF";this.client.viewport.style.filter="alpha(opacity=20)";this.client.viewport.style.MozOpacity=2;this.client.viewport.style.opacity=0.2}else{this.client.viewport.style.backgroundColor="";this.client.viewport.style.filter="";this.client.viewport.style.MozOpacity=null;this.client.viewport.style.opacity=null}};this.getCurrentPos=function(c){var b=c.x-this.client.mapWidth/2;var a=c.y-this.client.mapHeight/2;return{x:c.x,y:c.y,rx:b,ry:a}};this.savePosition=function(b){var a=this.client.mapScale.inflateVert(this.client.centerVertex,b.rx,b.ry);this.plots.push(a)};this.addIcon=function(a,d,c,b){if(c==undefined){c=false}return this.panelIcon.addIcon(a,d,c,b)};this.addMarker=function(a){return this.panelIcon.addMarker(a)};this.addGeofence=function(a,c,b){this.panelGeo.addGeofence(a,c,b)};this.addLine=function(a,b){this.panelLine.addLine(a,b)};this.renderLine=function(a,b){this.panelLine.render(a,b)};this.stopRenderLine=function(){this.panelLine.stopRender()};this.addPoint=function(a,b){this.panelLine.addPoint(a,b)};this.updatePanel=function(){this.panelIcon.updatePosition();this.panelLine.updatePosition();this.panelDraw.updatePosition();this.panelGeo.updatePosition();this.onCompleted.call()};this.setPosition=function(b,a,c){this.panelIcon.setPosition(b,a,c)};this.getCenterLevel=function(a){if(a==2){return this.util.getCenterLevel(this.panelIcon.icons)}else{return this.util.getCenterLevel(this.panelLine.points)}};this.draw=function(d,a){this.panelDraw.enableLiveDraw(true);var c=this.getCurrentPos(d);if(a==false){this.savePosition(c);this.panelDraw.points=new Array();this.panelDraw.addLine(this.plots);this.panelDraw.updatePosition();this.getDistanceState()}else{if(this.plots.length>0){var b=this.client.vertexToScreen(this.plots[this.plots.length-1].x,this.plots[this.plots.length-1].y);this.panelDraw.panel.clearShape();this.panelDraw.panel.startLine(b.x,b.y);this.panelDraw.panel.lineTo(c.x,c.y);this.panelDraw.panel.endLine();this.getDistanceState(c)}}};this.getDistanceState=function(d){var e=0;for(var b=0,c=this.plots.length;b<c;b++){if((b+1)<=c-1){e+=this.client.mapScale.getDistance(this.plots[b],this.plots[b+1])}}if(d!=undefined){var a=this.client.mapScale.inflateVert(this.client.centerVertex,d.rx,d.ry);e+=this.client.mapScale.getDistance(this.plots[this.plots.length-1],a)}if(e>0){if(this.divOutput!=undefined||this.divOutput!=null){this.divOutput.innerHTML="Distance&nbsp;:&nbsp;"+(e/1000)+"&nbsp;km"}else{window.status="Distance : "+(e/1000)+" km"}}};this.clear=function(){this.panelDraw.clear();this.panelIcon.clear();this.panelGeo.clear()};this.deleteAll=function(){this.panelDraw.deleteLines();this.panelLine.deleteLines();this.panelIcon.deleteIcons();this.panelGeo.deleteGeos()};this.deleteGeofences=function(){this.panelGeo.deleteGeos()};this.showStatusAt=function(a){if(a==undefined||a==null){return}this.divOutput=a}}function MapGeofenceController(){this.items=new Array();this.panel=null;this.mapClient=null;this.init=function(a){this.mapClient=a;this.panel=new DrawingCanvas(a.viewport);this.panel.setLineWidth("4");this.panel.container.style.zIndex=7;this.panel.setLineColor("black");this.reset()};this.clear=function(){this.reset();this.panel.clear();this.panel.setSize(this.mapClient.mapWidth,this.mapClient.mapHeight)};this.deleteGeos=function(){this.clear();this.items=new Array()};this.reset=function(){this.panel.container.style.left="0px";this.panel.container.style.top="0px";this.panel.container.style.position="absolute"};this.addGeofence=function(a,c,b){this.items.push(new Array(a,c,b))};this.updatePosition=function(){this.clear();var a=11;switch(this.mapClient.levelIndex){case 3:a=14;break;case 4:a=16;break;case 5:a=18;break}for(var b=0,c=this.items.length;b<c;b++){var e=this.mapClient.vertexToScreen(this.items[b][0],this.items[b][1]);var d=Math.abs(this.items[b][2]/this.mapClient.mapScale.scaleValue());d=Math.round(d);this.panel.createGeofence(parseInt(e.x),parseInt(e.y),d,this.items[b][2],a)}};this.panByOffset=function(d,b){var c=parseInt(this.panel.container.style.left);var a=parseInt(this.panel.container.style.top);if(!isNaN(c)&&!isNaN(a)){this.panel.container.style.left=(c+d)+"px";this.panel.container.style.top=(a+b)+"px"}}}function MapLineController(){this.color="blue";this.points=new Array();this.colors=new Array();this.dotMode=false;this.liveMode=false;this.panel=null;this.width="4";this.zIndex=7;this.mapLevel=-1;this.mapClient=null;this.nSize=new Point(0,0);this.nPos=new Point(0,0);this.nTopLeft=new Vertex(0,0);this.liveDraw=false;this.running=true;this.simplify=new DPSimplifier();this.init=function(a){this.mapClient=a;this.panel=new DrawingCanvas(a.viewport);this.panel.setLineWidth(this.width);this.panel.container.style.zIndex=this.zIndex;this.reset()};this.enableLiveDraw=function(a){if(a!=undefined){this.liveDraw=a}};this.setColor=function(a){if(a!=undefined){this.color=a}};this.deleteLines=function(){this.clear();this.points=new Array()};this.clear=function(){this.reset();this.panel.clear()};this.reset=function(){this.panel.container.style.left="0px";this.panel.container.style.top="0px";this.panel.container.style.position="absolute"};this.stopRender=function(){this.running=false;this.deleteLines()};this.addLine=function(a,b){this.points.push(new Array(a,b))};this.inViewPort=function(a){var d=this.mapClient.mapScale.utmToPixel(a.x,a.y);var b=this.mapClient.mapWidth/2;var c=this.mapClient.mapHeight/2;if((this.mapClient.mapWidth+b>d.x&&d.x>-b)&&(this.mapClient.mapHeight+c>d.y&&d.y>-c)&&!isNaN(d.x)&&!isNaN(d.y)){return true}return false};this.createArrow=function(j,g,c){var d=8;var m=new Point(g.x-j.x,g.y-j.y);var n=Math.sqrt(Math.pow(m.x,2)+Math.pow(m.y,2));var o=new Point(m.x/n,m.y/n);var b=new Point(g.x-(d*o.x),g.y-(d*o.y));var l=new Point(m.y,-m.x);var a=Math.sqrt(Math.pow(l.x,2)+Math.pow(l.y,2));var e=new Point(l.x/a,l.y/a);var h=g;var k=new Point(b.x+(d*e.x),b.y+(d*e.y));var f=new Point(b.x-(d*e.x),b.y-(d*e.y));this.panel.createFullArrow(k,h,f,c)};this.draw=function(l){this.nSize=new Vertex(0,0);this.nPos=new Vertex(0,0);var f=30;var o="",a=0,h=0,g=new Vertex(0,0),c=0,e=l.length;this.simplify.distanceTolerance=this.mapClient.mapScale.scaleValue()/2;this.panel.clearFullArrow();while(this.running&&c<e){if(l[c][1]==undefined){l[c][1]=this.color}this.panel.setLineColor(l[c][1]);if(l[c][0]!=undefined&&l[c][0].length!=undefined){this.simplify.pts=l[c][0];var n=this.liveDraw==true?l[c][0]:this.simplify.simplify();for(var b=0,m=n.length;b<m;b++){if(n[b].x==undefined||n[b].y==undefined){continue}o=this.mapClient.vertexToScreen(n[b].x,n[b].y);if(!isNaN(o.x)&&!isNaN(o.y)){if(b==0){this.panel.startLine(o.x,o.y)}else{if(g.x!=o.x&&g.y!=o.y){this.panel.lineTo(o.x,o.y);var k=new Point(o.x-g.x,o.y-g.y);var d=Math.sqrt(Math.pow(k.x,2)+Math.pow(k.y,2));if(d>=f){this.createArrow(g,o,"red")}}}if(o.x>this.nSize.x){this.nSize.x=o.x}if(o.y>this.nSize.y){this.nSize.y=o.y}if(parseInt(o.x)<this.nPos.x){this.nPos.x=o.x}if(parseInt(o.y)<this.nPos.y){this.nPos.y=o.y}g=o}}this.panel.endLine()}c++}if(this.liveDraw==false){this.nSize=OffsetPoint(this.nSize,-this.nPos.x,-this.nPos.y);this.nTopLeft=this.mapClient.screenToVertex(this.nPos);if(this.nSize.x>0&&this.nSize.y>0){this.panel.setSize(this.nSize.x,this.nSize.y);this.panel.setViewBox(this.nPos.x,this.nPos.y,this.nSize.x,this.nSize.y)}else{this.panel.setSize(this.mapClient.mapWidth,this.mapClient.mapHeight)}}};this.render=function(a,b){var c=new Array(a,b);this.draw(new Array(c));this.points.push(c);this.mapLevel=this.mapClient.levelIndex;if(this.liveMode==false&&this.nTopLeft.x!=0&&this.nTopLeft.y!=0){this.reset();var d=this.mapClient.vertexToScreen(this.nTopLeft.x,this.nTopLeft.y);if(!isNaN(d.x)){this.panel.setPosX(d.x)}if(!isNaN(d.y)){this.panel.setPosY(d.y)}}};this.updatePosition=function(){if(this.mapClient.levelIndex<4){this.panel._dotMode=false}else{this.panel._dotMode=this.dotMode}if((this.mapLevel!=this.mapClient.levelIndex||this.liveDraw==true)&&(this.mapClient.mapScale!=null&&this.points.length>0)){this.clear();this.draw(this.points);this.mapLevel=this.mapClient.levelIndex;diffLevel=true}if((!this.liveDraw||(this.liveMode&&!diffLevel))&&this.nTopLeft.x!=0&&this.nTopLeft.y!=0&&BrowserDetect.browser=="Firefox"){this.reset();var a=this.mapClient.vertexToScreen(this.nTopLeft.x,this.nTopLeft.y);if(!isNaN(a.x)){this.panel.setPosX(a.x)}if(!isNaN(a.y)){this.panel.setPosY(a.y)}}};this.panByOffset=function(d,b){var c=parseInt(this.panel.container.style.left);var a=parseInt(this.panel.container.style.top);if(!isNaN(c)&&!isNaN(a)){this.panel.container.style.left=(c+d)+"px";this.panel.container.style.top=(a+b)+"px"}}}function MapIconController(){this.icons=new Array();this.mapClient=null;this.zIndex=9;this.markers=new Array();this.init=function(a){this.mapClient=a};this.addIcon=function(a,e,d,c){var b=new MapIcon(a,e,this.zIndex,this.mapClient,d,c);this.icons.push(b);return b};this.addMarker=function(a){var b=new MapIcon(a.x,a.y,this.zIndex,this.mapClient,false,true,a.image,a.obj,a.size,a.move);if(a.po!=null){b.po=a.po}this.icons.push(b);return b};this.updatePosition=function(){if(this.icons.length>0){this.clear()}if((this.mapClient.levelIndex>-1&&this.mapClient.mapDraw.panelLine.points.length>0)||this.mapClient.mapDraw.panelLine.points.length==0){for(var a=0,b=this.icons.length;a<b;a++){this.icons[a].updatePosition()}}};this.setPosition=function(b,a,c){b.x=a;b.y=c;b.updatePosition()};this.panByOffset=function(a,d){for(var b=0,c=this.icons.length;b<c;b++){this.icons[b].offsetPosition(a,d)}};this.clear=function(){for(var c=0,b=this.icons.length;c<b;c++){for(var a=0;a<this.mapClient.viewport.childNodes.length;a++){if(this.icons[c].obj==this.mapClient.viewport.childNodes[a]){this.mapClient.viewport.removeChild(this.icons[c].obj);break}}}};this.deleteIcons=function(){this.clear();this.icons=new Array()}}function MapIcon(h,f,g,j,e,b,c,d,k,a){this.x=h;this.y=f;this.move=a;this.popupContent="";this.mapClient=j;if(c==undefined){this.image=getBaseUrl()+"img/mappointer/star200.gif"}else{this.image=c}this.obj=d;this.obj.mapIcon=this;this.popup=null;this.isCenter=e;this.hideLevel=b;this.gMarkerBound=new Rectangle(350,250,this.mapClient.mapWidth-350,this.mapClient.mapHeight-250);this.isDisplayed=true;this.size=k;this.setUrl=function(m){var n=document.createElement("img");n.src=m;var l=n.width;var o=n.height;this.obj.src=m;l=l%2==0?l:l+1;o=o%2==0?o:o+1;if(l>0&&o>0){this.size=new Point(l,o);this.obj.style.width=l+"px";this.obj.style.height=o+"px"}};this.setDisplay=function(l){this.isDisplayed=l;this.updatePosition()};this.setPosition=function(l,n,m){this.x=l;this.y=n;this.updatePosition(m)};this.updatePosition=function(p){if(this.hideLevel!=undefined){for(var m=0,q=this.hideLevel.length;m<q;m++){if(this.mapClient.levelIndex==this.hideLevel[m]){return}}}var s=new Point(0,0);var o=this.mapClient.vertexToScreen(this.x,this.y);if((this.mapClient.mapWidth>o.x&&o.x>-10)&&(this.mapClient.mapHeight>o.y&&o.y>-10)&&!isNaN(o.x)&&!isNaN(o.y)){if(this.isCenter){s.x=parseInt(this.obj.style.width)/2;s.y=parseInt(this.obj.style.height)/2}else{s.x=parseInt(this.obj.style.width)/2-2;s.y=parseInt(this.obj.style.height)}if(this.po==null){this.obj.style.left=(o.x-s.x)+"px";this.obj.style.top=(o.y-s.y)+"px"}else{this.obj.style.left=(o.x-s.x-this.po.x)+"px";this.obj.style.top=(o.y-s.y-this.po.y)+"px"}var n=this.isExist();if(!n&&this.isDisplayed){this.mapClient.viewport.appendChild(this.obj)}else{if(n&&!this.isDisplayed&&!this.move){this.mapClient.viewport.removeChild(this.obj)}}return true}if(p==true){var l=this.gMarkerBound.right<o.x?-(o.x-this.gMarkerBound.right):this.gMarkerBound.left>o.x?-(o.x-this.gMarkerBound.left):0;var r=this.gMarkerBound.top>o.y?-(o.y-this.gMarkerBound.top):this.gMarkerBound.bottom<o.y?-(o.y-this.gMarkerBound.bottom):0;this.mapClient.panMapByOffset(l,r)}return false};this.isExist=function(){var m=this.mapClient.viewport.childNodes;for(var l=0;l<m.length;l++){if(this.obj==m[l]){return true}}return false};this.offsetPosition=function(o,m){var n=parseFloat(this.obj.style.left);var l=parseFloat(this.obj.style.top);if(!isNaN(n)&&!isNaN(l)){this.obj.style.left=(n+o)+"px";this.obj.style.top=(l+m)+"px"}};this.openInfoWindowHtml=function(l){this.mapClient.openInfoWindowHtml(new Vertex(this.x,this.y),l,this.size)};this.updateInfoWindowHtml=function(l){this.mapClient.updateInfoWindowHtml(new Vertex(this.x,this.y),l,this.size)};this.closeInfoWindow=function(){this.mapClient.closeInfoWindow()}}function MapBubble(a,b){this.obj=null;this.content=null;this.mapClient=null;this.point=null;this.w=a;this.h=b;this.pos=1;this.useStick=false;this.iconSize=new Point(17,17);this.initContent=function(d,c){this.setContentHTML(d,c);this.updatePosition(false)};this.setContent=function(d,c){this.setContentHTML(d,c);this.updatePosition(true)};this.setContentHTML=function(d,c){this.point=c;this.content.innerHTML=d;this.obj.style.display="";this.obj.style.position="absolute"};this.setPosition=function(c){this.point=c;this.updatePosition(false)};this.enableOpacity=function(c){if(c==true){this.obj.style.backgroundColor="#FFFFFF";this.obj.style.filter="alpha(opacity=75)";this.obj.style.MozOpacity=7.5;this.obj.style.opacity=0.75}else{this.obj.style.backgroundColor="";this.obj.style.filter="";this.obj.style.MozOpacity=null;this.obj.style.opacity=null}};this.setDisplay=function(c){this.pos=c};this.enableStick=function(c){this.useStick=c};this.init=function(p){this.mapClient=p;this.obj=new MDiv();this.obj.style.zIndex=10;this.obj.style.width=this.w+"px";this.obj.style.height=this.h+"px";this.stick=new Point(34,32);var c=new Point(8,8);var n=new Point(0,0);var o=new Point(this.w-c.x,this.h-c.y);var r=this.coreBnd(c,n,n,"small_top_left.gif");var k=this.coreBnd(c,new Point(o.x,n.y),n,"small_top_right.gif");var d=this.coreBnd(c,new Point(n.x,o.y),n,"small_btm_left.gif");var q=this.coreBnd(c,o,n,"small_btm_right.gif");var g=this.coreBnd(this.stick,new Point(this.w/2.03-this.stick.x/2.83,o.y),n,"small_arr.gif");this.exBtn=this.coreBnd(new Point(14,13),new Point(o.x-13,10),n,"cl_grey.png");this.exBtn.style.cursor="pointer";this.exBtn.o=this;this.exBtn.onclick=function(){if(this.o.obj.style.display==""){this.o.obj.style.display="none"}else{this.o.obj.style.display=""}};var f=document.namespaces&&document.namespaces.add?2:2;var j=document.namespaces&&document.namespaces.add?25:24;var l=document.namespaces&&document.namespaces.add?0:1;var e=new MDiv();e.style.cssText="border-top: 1px solid rgb(171, 171, 171); position: absolute; left: "+c.x+"px; top: 0px; width: "+(this.w-c.x*2)+"px;height: "+c.y+"px; background-color: white; font-size: 0px;";var m=new MDiv();m.style.cssText="border-left: 1px solid rgb(171, 171, 171); border-right: 1px solid rgb(171, 171, 171); position: absolute; left: "+n.x+"px; top: "+n.y+c.y+"px; width: "+(this.w-f)+"px;height: "+(o.y-c.y)+"px; background-color: white;";var h=new MDiv();h.style.cssText="border-bottom: 1px solid rgb(171, 171, 171); position: absolute; left: "+c.x+"px; top: "+parseInt(o.y-l)+"px;width: "+(this.w-c.x*2)+"px; height: "+c.y+"px; background-color: white; font-size: 0px;";this.content=new MDiv();this.content.style.cssText="position: absolute; left: "+c.x+"px; top: "+c.y+"px; width: "+(this.w-c.x*2-14)+"px; height: "+(this.h-c.y*2)+"px; z-index: 10;";this.obj.appendChild(r);this.obj.appendChild(k);this.obj.appendChild(d);this.obj.appendChild(q);this.obj.appendChild(e);this.obj.appendChild(m);this.obj.appendChild(h);this.obj.appendChild(this.exBtn);this.obj.appendChild(this.content);if(this.useStick){this.obj.appendChild(g)}};this.coreBnd=function(g,h,c,e){var k=new MDiv("",h.x+"px",h.y+"px",g.x+"px",g.y+"px","absolute",0,"",true);var j=getBaseUrl();var f=new MImg("",j+"dragmap/images/"+e,c.x+"px",c.y+"px","","","absolute");f.border="0";k.appendChild(f);return k};this.panByOffset=function(f,d){var e=parseInt(this.obj.style.left);var c=parseInt(this.obj.style.top);if(!isNaN(e)&&!isNaN(c)){this.obj.style.left=(e+f)+"px";this.obj.style.top=(c+d)+"px"}};this.updatePosition=function(l){var k=new Vertex(0,0),f,d;var j=this.mapClient.vertexToScreen(this.point.x,this.point.y);if(j.x==null||j.y==null){return}var g=j;var c=g;var e=(this.useStick?this.h+this.stick.y:this.h);d=new Point(this.w,e);switch(this.pos){case 4:f=new Point(-(this.w/2),-(e/2)+this.iconSize.y);break;case 3:f=new Point(-this.w-this.iconSize.x/2,-(e)+(e-this.iconSize.y));break;case 2:d=new Point(this.w,0);f=new Point(-(this.w/2)+15,-(e)-this.iconSize.y/2);break;case 1:default:f=new Point(this.iconSize.x/2,-(e)+(e-this.iconSize.y));break}g=OffsetPoint(g,f.x,f.y);c=OffsetPoint(c,d.x,d.y);if(!isNaN(g.x)){this.obj.style.left=g.x+"px"}if(!isNaN(g.y)){this.obj.style.top=g.y+"px"}if(l==false){if(this.mapClient.mapWidth<c.x){k.x=-(c.x-this.mapClient.mapWidth+10)}if(this.mapClient.mapHeight<c.y){k.y=-(c.y-this.mapClient.mapHeight-10)}if(g.x<25){k.x=Math.abs(g.x)+25}if(g.y<10){k.y=Math.abs(g.y)+20}this.mapClient.panMapByOffset(k.x,k.y)}}}function MapThumbnail(b,c,a){this.width=b;this.height=c;this.baseUrl="";this.mapApi=null;this.tmpSize=new Point(0,0);this.init=function(d,e,g){this.width=d;this.height=e;this.mapApi=g;this.baseUrl=g.baseUrl;this.wFac=d/20;this.hFac=e/20;this.thumbNailPanel=new MDiv();this.thumbNailPanel.style.cssText="border-top: 1px solid rgb(151, 151, 151); border-left: 1px solid rgb(151, 151, 151); overflow: hidden; width: "+d+"px; height: "+e+"px; background-color: white; z-index:11;position: absolute; right: -1px; bottom: -1px;";if(document.namespaces&&document.namespaces.add){this.thumbNailPanel.style.cursor="url('"+this.baseUrl+"img/openhand.cur'), default"}else{this.thumbNailPanel.style.cursor="-moz-grab"}this.mapPanel=new MDiv();this.mapPanel.style.cssText="position:absolute; left:3px; top:3px;border-top:1px solid rgb(151, 151, 151); border-left:1px solid rgb(151, 151, 151); z-index:1;";this.thumbNailControl=new MDiv();var f=new MImg();f.src=this.baseUrl+"img/thumbnail.gif";this.mapPanel.appendChild(f);this.thumbNailPanel.appendChild(this.mapPanel);this.thumbNailPanel.appendChild(this.thumbNailControl);g.parentLayer.appendChild(this.thumbNailPanel);this.updateThumbNailControl()};this.display=function(e){if(e==true){this.tmpSize.x+=this.wFac;this.tmpSize.y+=this.hFac}else{this.tmpSize.x-=this.wFac;this.tmpSize.y-=this.hFac}this.thumbNailPanel.style.width=this.tmpSize.x+"px";this.thumbNailPanel.style.height=this.tmpSize.y+"px";if((this.tmpSize.x>0&&this.tmpSize.y>0&&e==false)||(this.width+5>=this.tmpSize.x&&this.height+5>=this.tmpSize.y&&e==true)){var d=this;setTimeout(function(){d.display(e)},5)}else{if(e==true){this.btnShow.src=this.baseUrl+"img/thumb_min.gif"}else{this.btnShow.src=this.baseUrl+"img/thumb_max.gif"}}};this.updateThumbNailControl=function(){if(this.thumbNailPanel==null||this.mapApi.mapClient==undefined){return}var k=new MapScale(this.width,this.height,1,1,341963.83,398341.8,0,162948.46);var j=k.utmToPixel(this.mapApi.mapClient.centerVertex.x,this.mapApi.mapClient.centerVertex.y);var e=j.x-7.5,f=j.y,d=15,g=15;this.thumbNailControl.style.cssText="width: "+d+"px; height: "+g+"px; left:"+e+"px; top: "+f+"px; z-index:2; border-style: solid; border-color: rgb(136, 136, 255); border-width: 2px; position: absolute; cursor: move; background-image:url("+this.baseUrl+"img/x.gif)";this.thumbNailPanel._api=this.mapApi;this.thumbNailPanel._scale=k;this.thumbNailPanel._parent=this;this.thumbNailPanel.onmousedown=this.onPanelMouseDown;this.thumbNailPanel.onmousemove=this.onPanelMouseMove;this.thumbNailPanel.onmouseup=this.onPanelMouseClick;this.thumbNailPanel.onmouseout=this.onPanelMouseClick};this.onPanelMouseClick=function(f){if(this.panelDrag==true){var g=getCursorPos(f,this._parent.mapPanel);var d=this._scale.pixelToUtm(g.x-5+7.5,g.y-5);this._api.setCenterVertex(d);this._parent.updateThumbNailControl();this.panelDrag=false}};this.onPanelMouseDown=function(d){this.panelDrag=true};this.onPanelMouseMove=function(d){if(!this.panelDrag){return}var f=getCursorPos(d,this._parent.mapPanel);this._parent.thumbNailControl.style.left=(f.x-5)+"px";this._parent.thumbNailControl.style.top=(f.y-5)+"px"}}function MapApiController(){this.mapClient=new MapClient();this.mapDraw=new MapDrawingController();this.mapThumb=new MapThumbnail();this.drawMode=false;this.dragging=true;this.autoLevel=false;function c(g){if(this._p.drawMode==true){this._p.enableDrawCursor(false);this._p.setCursor(false);this._p.mapDraw.stopDrawing()}this._p.drawMode=false}function d(g){var h=getCursorPos(g,this._p.granParentLayer);this.startX=h.x;this.startY=h.y;this.firstX=h.x;this.firstY=h.y;if(window.Event){if(g.which==2||g.which==3){return}}else{if(event.button==2||event.button==3){return}}this.dragging=this._p.dragging?true:false;if(this.dragging==true){this._p.setCursor(false)}if(this._p.drawMode==true){this._p.enableDrawCursor(true);this._p.mapDraw.draw(h,false);this.dragging=false}}function f(j){if(!this._p.drawMode&&!this.dragging){return}var k=getCursorPos(j,this._p.granParentLayer);var h=k.x;var g=k.y;if(this._p.drawMode==true){this.dragging=false;this._p.enableDrawCursor(true);this._p.mapDraw.draw(k,true)}if(this.dragging==true){this._mapClient.moveViewportPosition(h-this.startX,g-this.startY);if(this._p.mapDraw!=undefined){this._p.mapDraw.panPanelByOffset(h-this.startX,g-this.startY)}this.startX=k.x;this.startY=k.y}}function a(g){if(this.dragging==true){var h=getCursorPos(g,this._p.granParentLayer);if(h.x==this.firstX&&h.y==this.firstY){this.dragging=false;return}this._p.setCursor(true);this.dragging=false;moveStarPosition(this._mapClient,h,this._p);this._mapClient.panMapByOffset(h.x-this.startX,h.y-this.startY);if(this._p.mapDraw!=undefined){this._p.mapDraw.panPanelByOffset(h.x-this.startX,h.y-this.startY)}this._p.mapThumb.updateThumbNailControl()}this._p.revertContainer()}function b(){}function e(){}this.initController=function(){this.dragImgUrl=this.baseUrl+"img/x.gif";this.dragArea=new MDiv("","","","100%","100%","relative",8,"");if(navigator.appVersion.indexOf("MSIE")!=-1){this.dragArea.style.backgroundImage="url("+this.dragImgUrl+")"}this.dragArea._p=this;this.dragArea._mapClient=this.mapClient;this.dragArea.onmousedown=d;this.dragArea.onmousemove=f;this.dragArea.onmouseup=a;this.dragArea.onmouseout=a;this.dragArea.ondblclick=c;this.viewportLayer.appendChild(this.dragArea);this.setCursor(true);this.loadingLayer=new MDiv("","0px","0px","100%","100%","absolute",12,"");this.loadingLayer.style.backgroundImage="url("+this.baseUrl+"img/blue.gif)";this.loadingLayer.innerHTML="Loading ...";this.loaderImg=new MImg("",this.baseUrl+"img/loading.gif",(this.mapClient.mapWidth/2)-50+"px",(this.mapClient.mapHeight/2)-50+"px","","","absolute");this.loaderImg.style.display="none";this.parentLayer.appendChild(this.loaderImg);var g=new MapLogo().init(this.mapClient,this)};this.revertContainer=function(){this.viewportLayer.style.height="100%";this.parentLayer.style.height="100%"};this.initContainer=function(g){this.granParentLayer=document.getElementById(g);this.granParentLayer.setAttribute("onmousedown","if (typeof event.preventDefault != 'undefined') {event.preventDefault();}");if(!window.addEventListener){this.granParentLayer.attachEvent("onselectstart",function(){return false})}this.parentLayer=new MDiv();this.viewportLayer=new MDiv("","0px","0px","100%","100%","absolute","","",true);this.parentLayer.appendChild(this.viewportLayer);this.granParentLayer.appendChild(this.parentLayer)};this.setMapSize=function(h,g){this.granParentLayer.style.width=h+"px";this.granParentLayer.style.height=g+"px";this.mapClient.mapWidth=h;this.mapClient.mapHeight=g;this.mapClient.drawMap()};this.setAutoLevel=function(g){if(g==true||g==false){this.autoLevel=g}};this.setCursor=function(g){if(g==true){if(document.namespaces&&document.namespaces.add){this.dragArea.style.cursor="url('"+this.baseUrl+"img/openhand.cur'), default"}else{this.dragArea.style.cursor="-moz-grab"}}else{if(g==false){if(document.namespaces&&document.namespaces.add){this.dragArea.style.cursor="url('"+this.baseUrl+"img/closehand.cur'), default"}else{this.dragArea.style.cursor="-moz-grabbing"}}}};this.enableDrawCursor=function(g){if(g==true){this.dragArea.style.cursor="move"}};this.setMapSource=function(g){this.mapClient.setMapSource(g,this.autoLevel)};this.enableDragging=function(g){this.dragging=g};this.setCenterVertex=function(g){if(g.x==0&&g.y==0){return}this.mapClient.setCenterVertex(g);this.mapClient.drawMap()};this.setLevelIndex=function(g){this.mapClient.changeLevel(g);if(this.navigation!=undefined||this.navigation!=null){this.navigation.getSelectedController(this.navigation.btnLevel,this.mapClient.levelIndex)}};this.addControl=function(g){if(g==null||g==undefined||g.navigation==undefined){return}g.navigation.init(this.mapClient,this);this.parentLayer.appendChild(g.getNavigation());this.navigation=g.navigation};this.showThumbnail=function(g){if(g){this.mapThumb.init(180,105,this)}};this.showLoadingImg=function(g){if(g){this.loaderImg.style.left=(this.mapClient.mapWidth/2)-50+"px";this.loaderImg.style.top=(this.mapClient.mapHeight/2)-50+"px";this.loaderImg.style.display="";this.mapDraw.enableOpacity(true)}else{this.loaderImg.style.display="none";this.mapDraw.enableOpacity(false)}};this.init=function(g,h){IeFix(h);this.initContainer(g);this.baseUrl=h;this.mapClient.init(this,h);this.mapDraw.init(this.mapClient);this.initController();this.mapClient.onCompleted=b;this.mapDraw.onCompleted=e};this.updateScaleImage=function(){if(this.mapClient.levelIndex>6){return}}}function TinyMapControl(){this.navigation=new MapNavigation();this.getNavigation=function(){var a=new MDiv("","0px","40px","50px","80px","absolute",11);a.appendChild(this.navigation.getZoomControl());return a}}function SmallMapControl(){this.navigation=new MapNavigation();this.getNavigation=function(){var a=new MDiv("","0px","40px","50px","80px","absolute",11);a.appendChild(this.navigation.getDirectionControl());a.appendChild(this.navigation.getZoomControl());return a}}function MediumMapControl(){this.navigation=new MapNavigation();this.getNavigation=function(){var a=new MDiv("","0px","40px","50px","100px","absolute",11);a.appendChild(this.navigation.getDirectionControl());a.appendChild(this.navigation.getLevelControl());return a}}function CompleteMapControl(){this.navigation=new MapNavigation();this.getNavigation=function(){var a=new MDiv("","0px","40px","50px","150px","absolute",11);a.appendChild(this.navigation.getDirectionControl());a.appendChild(this.navigation.getZoomControl());a.appendChild(this.navigation.getDrawControl());a.appendChild(this.navigation.getLevelControl());return a}}function ZoomMapControl(){this.navigation=new MapNavigation();this.getNavigation=function(){var a=new MDiv("","0px","40px","50px","150px","absolute",11);a.appendChild(this.navigation.getSleekZoomControl());return a}}function MapLogo(){this.init=function(c,e){if(c==null||e==null){return false}var b=new MDiv("div_container",0+"px",0+"px",c.mapWidth+"px",c.mapHeight+"px","absolute",0);var d=new MImg("",e.baseUrl+"img/full_logo.gif","0px","0px","90px","28px","absolute");var g=new MImg("",e.baseUrl+"img/copyright.gif","0px",(c.mapHeight-12)+"px","125px","12px","absolute");var f=new MImg("",e.baseUrl+"img/north.gif",(c.mapWidth-28)+"px",(c.mapHeight-16)+"px","28px","16px","absolute");e.parentLayer.appendChild(d);e.parentLayer.appendChild(g);e.parentLayer.appendChild(f);if(GLOBALS.poweredby==undefined){var a=new MDiv("","2px",(c.mapHeight-27)+"px","185px","16px","absolute",0);a.style.fontFamily="arial";a.style.fontSize="11px";a.style.fontWeight="bold";a.innerHTML='<span style="color:#ff0000">Powered by</span> <span style="color:#008a54"><u><i>Streetdirectory.com</i></u></span>';e.parentLayer.appendChild(a)}}}function MapNavigation(){this.mapClient=null;this.mapApi=null;this.init=function(a,b){this.mapClient=a;this.mapApi=b};this.createNavigationContainer=function(d,f,c,e,b,a){return new MDiv("",d,f,c,e,"absolute",b,a)};this.checkValidity=function(){if(this.mapClient==null||this.mapApi==null){return false}return true};this.createNavigationControl=function(b,d,h,c,j,a){var f=navigator.appVersion.split("MSIE");var g=parseFloat(f[1]);if(a&&(g>=5.5)&&(g<7)&&(document.body.filters)){var e=document.createElement("span");e.style.position="absolute";e.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+b+"', sizingMethod='scale')";e.style.width=c+"px";e.style.height=j+"px";e.style.top=h+"px";e.style.left=d+"px"}else{var e=new MImg("",b,d+"px",h+"px","","","absolute");e.border="0";e.width=c;e.height=j}e.style.cursor="pointer";e._mapClient=this.mapClient;e._mapApi=this.mapApi;e._p=this;return e};this.getDirectionControl=function(){if(!this.checkValidity()){return}var c=this.mapClient.mapWidth/2;var b=this.mapClient.mapHeight/2;var a=new MDiv("","0px","0px","50px","70px","relative","11");var g=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_up.gif",16,0,17,17);g.onclick=function(){this._mapClient.panMapByOffset(0,b)};var f=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_left.gif",6,22,17,17);f.onclick=function(){this._mapClient.panMapByOffset(c,0)};var e=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_right.gif",27,22,17,17);e.onclick=function(){this._mapClient.panMapByOffset(-c,0)};var d=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_btm.gif",15,44,17,17);d.onclick=function(){this._mapClient.panMapByOffset(0,-b)};a.appendChild(g);a.appendChild(f);a.appendChild(e);a.appendChild(d);return a};this.getZoomControl=function(){if(!this.checkValidity()){return}var a=new MDiv("","0px","0px","50px","40px","relative","11");var c=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_in.gif",15,0,17,17);c.onclick=function(){var d=this._mapClient.levelIndex+1;if((this._p.btnLevel!=undefined&&this._p.btnLevel.length!=undefined)&&d>-1&&d<6){this._p.getSelectedController(this._p.btnLevel,d)}this._mapClient.zoomIn()};var b=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_out.gif",15,20,17,17);b.onclick=function(){var d=this._mapClient.levelIndex-1;if((this._p.btnLevel!=undefined&&this._p.btnLevel.length!=undefined)&&d>-1&&d<6){this._p.getSelectedController(this._p.btnLevel,d)}this._mapClient.zoomOut()};a.appendChild(c);a.appendChild(b);return a};this.getDrawControl=function(){if(!this.checkValidity()){return}var b=new MDiv("","0px","0px","50px","20px","relative",11);var a=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_dist.gif",15,0);a.onclick=function(){if(this._mapApi.drawMode==false){this._mapApi.mapDraw.clearDrawing()}this._mapApi.drawMode=!this._mapApi.drawMode};b.appendChild(a);return b};this.getLevelControl=function(){if(!this.checkValidity()){return}var b=new MDiv("","0px","0px","50px","120px","relative",11);btnLevel=new Array();btnLevel[0]=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_1.gif",15,0);btnLevel[1]=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_2.gif",15,22);btnLevel[2]=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_3.gif",15,44);btnLevel[3]=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_4.gif",15,66);btnLevel[4]=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_5.gif",15,88);btnLevel[5]=this.createNavigationControl(this.mapApi.baseUrl+"img/nav_6.gif",15,111);for(var a=0;a<btnLevel.length;a++){b.appendChild(btnLevel[a]);btnLevel[a].idx=a;btnLevel[a].my=this;btnLevel[a]._parent=btnLevel;btnLevel[a].onclick=function(){this._mapClient.changeLevel(this.idx);this.my.getSelectedController(this._parent,this.idx)}}this.getSelectedController(btnLevel,this.mapClient.levelIndex);this.btnLevel=btnLevel;return b};this.getSleekZoomControl=function(){if(!this.checkValidity()){return}this.panel_onmousedown=function(l){this._mapApi.zooming=true};this.panel_onmouseup=function(n){if(this._mapApi.zooming){var l,m,o=getCursorPos(n,this.parent);if(o.y>156){l=7;m=169}else{if(o.y>131){l=6;m=144}else{if(o.y>106){l=5;m=118}else{if(o.y>84){l=4;m=95}else{if(o.y>63){l=3;m=73}else{if(o.y>41){l=2;m=53}else{l=1;m=30}}}}}}this._mapClient.changeLevel(l-1);this._p.mover.style.top=m+"px"}this._mapApi.zooming=false};this.panel_onmousemove=function(l){if(this._mapApi.zooming){var m=getCursorPos(l,this.parent);if(m.y>=25&&m.y<=170){this.style.cursor="pointer";this._p.mover.style.top=(m.y-5)+"px"}}return true};this.move_mover_to_level=function(l){var m;if(l==7){m=169}else{if(l==6){m=144}else{if(l==5){m=118}else{if(l==4){m=95}else{if(l==3){m=73}else{if(l==2){m=53}else{if(l==1){m=30}}}}}}}this.mover.style.top=m+"px"};var j,k,c=100;j=this.mapClient.levelIndex+1;if(j==7){k=169}else{if(j==6){k=144}else{if(j==5){k=118}else{if(j==4){k=95}else{if(j==3){k=73}else{if(j==2){k=53}else{if(j==1){k=30}}}}}}}var d=new MDiv("","0px","0px","50px","40px","relative","11");var f=this.createNavigationControl(this.mapApi.baseUrl+"img/sleek_bar_id_03.png",5,0,38,206,true);var e=this.createNavigationControl(this.mapApi.baseUrl+"img/minus_normal.png",17,7,16,15,true);var b=this.createNavigationControl(this.mapApi.baseUrl+"img/plus_normal.png",17,183,16,15,true);var a=new MDiv("","15px",k+"px","18px","13px","absolute","");var g=navigator.appVersion.split("MSIE");var h=parseFloat(g[1]);if((h>=5.5)&&(h<7)&&(document.body.filters)){a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.mapApi.baseUrl+"img/mover.png', sizingMethod='scale')"}else{a.style.background="url("+this.mapApi.baseUrl+"img/mover.png) no-repeat"}a._mapClient=this.mapClient;a._mapApi=this.mapApi;a._p=this;e.title="Zoom out";e.style.cursor="pointer";e.onclick=function(){var l=-1;if(this._mapClient.levelIndex-1>l){this._mapClient.zoomOut();this._p.move_mover_to_level(this._mapClient.levelIndex+1)}};b.title="Zoom in";b.style.cursor="pointer";b.onclick=function(){var l=6;if(this._mapClient.levelIndex+1<=l){this._mapClient.zoomIn();this._p.move_mover_to_level(this._mapClient.levelIndex+1)}};this.mover=a;a.id="mover";a.parent=d;a.style.cursor="pointer";a.onmousedown=this.panel_onmousedown;a.onmouseup=this.panel_onmouseup;f.parent=d;f.style.cursor="pointer";f.onmousedown=this.panel_onmousedown;f.onmousemove=this.panel_onmousemove;f.onmouseup=this.panel_onmouseup;d.appendChild(f);d.appendChild(e);d.appendChild(b);d.appendChild(a);return d};this.getSelectedController=function(b,a){if(b==undefined){return false}for(var c=0;c<b.length;c++){if(c==a){b[c].style.border="1px solid #000"}else{b[c].style.border=""}}}}var VEvent={addListener:function(b,d,a){var c=b.obj==undefined?b:b.obj;if(window.addEventListener){c.addEventListener(d,a,false)}else{c.attachEvent("on"+d,a)}}};var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS"},searchString:function(d){for(var a=0;a<d.length;a++){var b=d[a].string;var c=d[a].prop;this.versionSearchString=d[a].versionSearch||d[a].identity;if(b){if(b.indexOf(d[a].subString)!=-1){return d[a].identity}}else{if(c){return d[a].identity}}}},searchVersion:function(b){var a=b.indexOf(this.versionSearchString);if(a==-1){return}return parseFloat(b.substring(a+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};BrowserDetect.init();function getBaseUrl(){var a="http://www.streetdirectory.com/";if(location.hostname=="localhost"||location.hostname=="172.16.0.4"){a="http://172.16.0.4/"}else{if(location.hostname=="beta.streetdirectory.com"){a="http://"+location.hostname+"/"}}return a}function PlaceMarker(a,d){this.x=a;this.y=d;this.image=getBaseUrl()+"img/mappointer/star200.gif";this.html=null;this.move=false;this.mapClient=null;this.obj=new MImg("",this.image,a+"px",d+"px","20px","34px","absolute",9);this.obj.mapIcon=this;var b=20;var c=34;b=b%2==0?b:b+1;c=c%2==0?c:c+1;if(b>0&&c>0){this.size=new Point(b,c);this.obj.style.width=b+"px";this.obj.style.height=c+"px"}this.obj.style.cursor="pointer";this.isDisplayed=true;this.po=null;this.openInfoWindowHtml=function(e,f){this.mapClient.openInfoWindowHtml(new Vertex(this.x,this.y),e,this.size,f)};this.setImage=function(m,l,e){var j=false;if(m.indexOf("png")!=-1){j=true}var n=navigator.appVersion.split("MSIE");var g=parseFloat(n[1]);if((g>=5.5)&&(g<7)&&(document.body.filters)&&j){this.obj=document.createElement("span");this.obj.style.cssText="position: absolute; top: "+this.y+"px; left: "+this.x+"px; z-index: 9";this.obj.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+m+"')"}else{this.obj=new MImg("",m,this.x+"px",this.y+"px",l+"px",e+"px","absolute",9)}var f=l;var k=e;if(f>0&&k>0){this.size=new Point(f,k);this.obj.style.width=f+"px";this.obj.style.height=k+"px"}this.obj.style.cursor="pointer"};this.moving=function(e){this.move=e};this.attachEvent=function(g,e){VEvent.addListener(this.obj,g,e)}}PlaceMarker.prototype.setPointerOffset=function(a){this.po=a};