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.lat=null;this.lng=null;this.elm_id=a;this.elm_obj=document.getElementById(a);this.markers=new Array();this.line=new Array();this.ll_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,f){if(c<1000){this.lng=c;this.lat=f;var e=this.MapAPI.wgs.geoToUTM(f,c,this.MapAPI.mapClient.mapSource.mapZone);this.x=e.x;this.y=e.y;this.MapAPI.mapClient.setCenterVertex(new Vertex(this.lng,this.lat))}else{this.x=c;this.y=f;var d=this.MapAPI.wgs.utmToGeo(c,f,this.MapAPI.mapClient.mapSource.mapZone,this.MapAPI.mapClient.mapSource.isSouth);this.lng=d.y;this.lat=d.x;this.MapAPI.mapClient.setCenterVertex(new Vertex(c,f))}};this.getX=function(){return this.x};this.getY=function(){return this.y};this.setLevel=function(c){c=c-1;if(c<5){c=5}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){this.markers.push(c)};this.addLine=function(o,d){var c=o.length,h=new Array(),e=new Array(),q,g,p,m,l,j;if(c==0){return}if(o[0]<1000){g=1}else{g=0}for(var f=0;f<c;f+=2){if(g==0){p=o[f];m=o[f+1];q=new Vertex(p,m);h.push(q);var k=this.MapAPI.wgs.utmToGeo(p,m,47);e.push(new Vertex(k.y,k.x))}else{l=o[f];j=o[f+1];q=new Vertex(l,j);e.push(q);var r=this.MapAPI.wgs.geoToUTM(m,p,47);h.push(new Vertex(r.x,r.y))}}this.line.push(h);this.ll_line.push(e);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)}if(global.dynamic=="yes"){this.MapAPI.addControl(this.mapControl)}this.MapAPI.setMapSource(global.city);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.addLineLL(this.ll_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)})}}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(e,d,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(!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._dummyDot=null;this._points="";this._stack=[];this._stackSize=0;this._opacity=0.45;var b=document.createElement("div");b.style.cssText="position: relative;width: "+d+"px; height: "+a+"px; overflow: hidden;";var c=document.createElement("v:group");c.style.cssText="width: "+d+"px; height: "+a+"px; ";b.appendChild(c);e.appendChild(b);this.container=b;this._vmlRoot=c}DrawingCanvasVML.prototype={arrows:Array(),setBgColor:function(a){this.container.style.backgroundColor=this._bgColor=a},setViewBox:function(d,c,b,a){this._vmlRoot.setAttribute("coordorigin",d+" "+c);this._vmlRoot.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"},setSize:function(b,a){this.container.style.width=b+"px";this.container.style.height=a+"px";this._vmlRoot.style.width=b+"px";this._vmlRoot.style.height=a+"px";this.width=b;this.height=a},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,d,c,a){this.setViewBox(0,0,this.width,this.height);this.createCircle(b,e,d,true);this.createArrow(b,e,d);this.createText(b,e,d,c,a)},createCircle:function(a,g,f,d){var e=this._lineColor;if(this._dotMode==true||d==true){e=this._dotColor;f=Math.round(f);var c=document.createElement("v:oval");c.strokeweight=2;var b=f*2;c.style.cssText="position: absolute; width: "+b+"px; height: "+b+"px; left: "+(a-f)+"px; top: "+(g-f)+"px; ";if(d==true){c.innerHTML="<v:fill on='false' />"}else{c.innerHTML="<v:fill on='true' color='"+e+"' />"}this._vmlRoot.appendChild(c);this._pushStack(c)}},createFullArrow:function(e,d,b,a){var f=document.createElement("v:polyline");f.filled=true;f.fillcolor=a;f.strokecolor=a;f.strokeweight="2px";var c=d.x+","+d.y+" "+e.x+","+e.y+" "+b.x+","+b.y;f.points=c;var g=document.createElement("v:stroke");g.endcap="round";g.opacity=this._opacity;f.appendChild(g);this.arrows.push(f);this._vmlRoot.appendChild(f)},clearFullArrow:function(){var b=this.arrows.length;for(var a=0;a<b;a++){this._vmlRoot.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._vmlRoot.appendChild(a);this._pushStack(a)},createText:function(b,f,d,c,a){if(d==0){d=1}var e=document.createElement("v:line");e.from=b+" "+(f-10);e.to=(b+d)+" "+(f-11);e.innerHTML="<v:fill on='True' color='red' /><v:path textpathok='True'/><v:textpath on='True' string='"+(c/1000)+" km' style='font:normal normal normal "+a+"pt Arial'/>";this._vmlRoot.appendChild(e);this._pushStack(e)},startLine:function(a,d){if(this._isDrawing){this.endLine()}this._isDrawing=true;this.createCircle(a,d,this._lineWidth/2);this._points=a+","+d;var b=document.createElement("v:polyline");b.filled=false;b.strokecolor=this._lineColor;b.strokeweight=this._lineWidth;b.points=this._points;var c=document.createElement("v:stroke");c.endcap="round";c.opacity=this._opacity;b.appendChild(c);this._vmlRoot.appendChild(b);this._currentShape=b},endLine:function(){if(!this._isDrawing){return}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._vmlRoot.removeChild(this._dummyDot);this._dummyDot=null}this.createCircle(a,b,this._lineWidth/2);this._points+=" "+a+","+b;this._currentShape.points.value=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._vmlRoot.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._vmlRoot.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._vmlRoot.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.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.isSouth=parseInt(d.getElementsByTagName("ISSOUTH").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("MODE")){e.mode=c.getNamedItem("MODE").nodeValue}this.mapScales[e._name]=e}}};this.getMapTileUrl=function(d,n,j,c){var f=this.getTilePath(d,n),h="",l=j._name,g;if(this.name=="jkt"){g=f+"data/map/id/jkt/"+l+"/jkt"+n+"_"+d+"_"+l+".gif"}else{if(this.name=="bali"){g=f+"data/map/id/bali/"+l+"/bl"+n+"_"+d+"_"+l+".gif"}else{if(this.name=="btm"){g=f+"data/map/id/btm/"+l+"/btm"+n+"_"+d+"_"+l+".gif"}else{if(this.name=="png"){g=f+"data/map/my/png/"+l+"/png"+n+"_"+d+"_"+l+".gif"}else{if(this.name=="jb"){g=f+"data/map/my/jb/"+l+"/jb"+n+"_"+d+"_"+l+".gif"}else{if(this.name=="mlk"){g=f+"data/map/my/mlk/"+l+"/mlk"+n+"_"+d+"_"+l+".gif"}else{if(this.name=="kl"){g=f+"data/map/my/kv/"+l+"/kv"+n+"_"+d+"_"+l+".gif"}else{if(this.name=="lkw"){g=f+"data/map/my/lkw/"+l+"/lkw"+n+"_"+d+"_"+l+".gif"}else{if(this.name=="sg3d"){g=f+"data/map/sg3d/"+l+"/sg"+n+"_"+d+"_"+l+".gif"}else{g=f+"data/map/sg/"+l+"/sg"+n+"_"+d+"_"+l+".gif"}}}}}}}}}var e=this.levelIndex<=2?6:12;if(d<-e||n<-e){g=f+"dragmap/xg/img/no_map.gif"}else{if((d>=-e&&d<=0)||(n>=-e&&n<=0)){g=f+"dragmap/xg/img/"+(this.name=="kl"?"green.gif":"blue.gif")}else{if(c){var m=this.mapScales[c].maxCol+e,k=this.mapScales[c].maxRow+e;if(d>m||n>k){g=f+"dragmap/xg/img/no_map.gif"}else{if((d>this.mapScales[c].maxCol&&d<=m)||(n>this.mapScales[c].maxRow&&n<=k)){g=f+"dragmap/xg/img/"+(this.name=="kl"?"green.gif":"blue.gif")}}}}}return g};this.getFirstScaleLevel=function(c){if(this.mapScales.length>0){return this.mapScales[c]}};this.getTilePath=function(d,g){var f="http://172.16.0.4/";var c=location.hostname;var e=1+(g+d)%4;if(c.indexOf("streetdirectory.co.id")!=-1){f="http://map"+e+".streetdirectory.co.id/"}else{if(c.indexOf("streetdirectory")!=-1||c.indexOf("streetdirectry")!=-1){if(c=="beta.streetdirectory.com"){f="http://beta.streetdirectory.com/"}else{f="http://maps"+e+".streetdirectory.com/"}}else{if(c!="localhost"&&c!="sdcom"&&c!="172.16.0.4"){f="http://map2"+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 x,z,B,l,p,o,f,n;for(var A=0;A<s.length;A++){if(s[A][0]!=undefined){for(var y=0;y<s[A][0].length;y++){if(s[A][0][y]!=null&&s[A][0][y].x!=undefined&&s[A][0][y].y!=undefined){u.push(s[A][0][y].x);t.push(s[A][0][y].y)}}}else{if(s[A]!=undefined){if(s[A].x!=undefined&&s[A].y!=undefined){u.push(s[A].x);t.push(s[A].y)}}}}u.push(this.mapClient.centerVertex.x);t.push(this.mapClient.centerVertex.y);x=new Point(this.findMin(u),this.findMin(t));z=new Point(this.findMax(u),this.findMax(t));n=new Rectangle(x.x,z.y,z.x,x.y);B=new Point(parseInt((x.x+z.x)/2),parseInt((x.y+z.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:B.x,y:B.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(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(c){if(c<5){c=5}this.setLevelIndex(c);if(this.mapScale.mode!=this.mapSource.mapScales[this.levelIndex].mode){if(this.mapScale.mode=="WGS"){var b=this.wgs.utmToGeo(this.centerVertex.x,this.centerVertex.y,this.mapSource.mapZone,this.mapSource.isSouth);this.setCenterVertex(new Vertex(b.y,b.x))}else{var a=this.wgs.geoToUTM(this.centerVertex.y,this.centerVertex.x,this.mapSource.mapZone,this.mapSource.isSouth);this.setCenterVertex(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++){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};this.moveStarPosition=function(g){var f=this.screenToVertex(g);var c=0,b=0;if(document.getElementById("last_pos")){document.getElementById("last_pos").innerHTML=(f.x+c)+","+(f.y+b)}var d=this.mapDraw.panelIcon,a=d.icons.length;for(var e=0;e<a;e++){if(d.icons[e].move==true){d.icons[e].obj.style.display="block";if(this.mapScale.mode=="WGS"){d.icons[e].x=f.x;d.icons[e].y=f.y;var h=this.wgs.utmToGeo(f.x,f.y,48);d.icons[e].lng=h.y;d.icons[e].lat=h.x}else{d.icons[e].lng=f.x;d.icons[e].lat=f.y;var j=this.wgs.geoToUTM(f.y,f.x,48);d.icons[e].x=f.x;d.icons[e].y=f.y}d.icons[e].obj.style.left=g.x-(parseInt(d.icons[e].obj.style.width)/2)+"px";d.icons[e].obj.style.top=g.y-(parseInt(d.icons[e].obj.style.height)/2)+"px"}}}}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.addLineLL=function(a,b){this.panelLine.addLineLL(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.ll_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.addLineLL=function(a,b){this.ll_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){if(!isNaN(this.nPos.x)&&this.nPos.x<0){this.panel.setPosX(this.nPos.x)}if(!isNaN(this.nPos.y)&&this.nPos.y<0){this.panel.setPosY(this.nPos.y)}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}var a;if(this.mapClient.mapScale.mode=="WGS"){a=this.points}else{a=this.ll_points}if((this.mapLevel!=this.mapClient.levelIndex||this.liveDraw==true)&&(this.mapClient.mapScale!=null&&a.length>0)){this.clear();this.draw(a);this.mapLevel=this.mapClient.levelIndex;diffLevel=true}if((!this.liveDraw||(this.liveMode&&!diffLevel))&&this.nTopLeft.x!=0&&this.nTopLeft.y!=0){this.reset();var b=this.mapClient.vertexToScreen(this.nTopLeft.x,this.nTopLeft.y);if(!isNaN(b.x)){this.panel.setPosX(b.x)}if(!isNaN(b.y)){this.panel.setPosY(b.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);b.initialize();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.init=false;this.initialize=function(){var n=this.mapClient.wgs;if(this.x<1000){this.lng=this.x;this.lat=this.y;var m=n.geoToUTM(this.lat,this.lng,48);this.x=m.x;this.y=m.y}else{var l=n.utmToGeo(this.x,this.y,48);this.lng=l.y;this.lat=l.x}this.init=true};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 l,s;if(this.mapClient.mapScale.mode=="WGS"){l=this.x;s=this.y}else{l=this.lng;s=this.lat}var r=new Point(0,0);var o=this.mapClient.vertexToScreen(l,s);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){r.x=parseInt(this.obj.style.width)/2;r.y=parseInt(this.obj.style.height)/2}else{r.x=parseInt(this.obj.style.width)/2-2;r.y=parseInt(this.obj.style.height)}this.obj.style.left=(o.x-r.x)+"px";this.obj.style.top=(o.y-r.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 s=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,s)}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.wgs=new WGSProjection();this.mapClient=new MapClient();this.mapClient.wgs=this.wgs;this.mapDraw=new MapDrawingController();this.mapClient.mapDraw=this.mapDraw;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;this._mapClient.moveStarPosition(h);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,"");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}this.mapClient.scale.src=this.baseUrl+"img/scale"+(this.mapClient.levelIndex+1)+".gif"}}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 h=new MImg("",e.baseUrl+"img/scale"+(c.levelIndex+1)+".gif",c.mapWidth-65+"px",0+"px",65+"px",18+"px","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");c.scale=h;if(global.local!="local"){e.parentLayer.appendChild(d);e.parentLayer.appendChild(f)}e.parentLayer.appendChild(g);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>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==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==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/body-sleekBar.png",5,0,38,182,true);var e=this.createNavigationControl(this.mapApi.baseUrl+"img/minus_normal.png",17,7,16,16,true);var b=this.createNavigationControl(this.mapApi.baseUrl+"img/plus_normal.png",17,158,16,16,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)"}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"){a="http://localhost"}else{if(location.hostname=="172.16.0.4"){a="http://172.16.0.4"}else{if(location.hostname=="www.streetdirectory.com"){a="http://www.streetdirectory.com"}else{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.openInfoWindowHtml=function(e,f){this.mapClient.openInfoWindowHtml(new Vertex(this.x,this.y),e,this.size,f)};this.setImage=function(k,j,e){this.obj=new MImg("",k,this.x+"px",this.y+"px",j+"px",e+"px","absolute",9);var f=j;var g=e;f=f%2==0?f:f+1;g=g%2==0?g:g+1;if(f>0&&g>0){this.size=new Point(f,g);this.obj.style.width=f+"px";this.obj.style.height=g+"px"}this.obj.style.cursor="pointer"};this.moving=function(e){this.move=e};this.attachEvent=function(g,e){VEvent.addListener(this.obj,g,e)}}function WGSProjection(){this.a=6378137;this.b=6356752.3142;this.k0=0.9996;this.tZone=-1;this.tIsSouth=false;this.geoToUTM=function(s,q,d,u){var w=(this.a-this.b)/(this.a+this.b);var A=Math.PI/(180*60*60);var B=Math.sqrt(1-Math.pow(this.b/this.a,2));var c=Math.pow(B,2)/(1-Math.pow(B,2));s=s*Math.PI/180;var E=this.a/Math.sqrt(1-Math.pow(B*Math.sin(s),2));if(!d){d=31+parseInt((Math.floor(q/6)));this.tZone=d}var a=parseInt((6*d)-183);var b=(q-a);var v=b*3600/10000;var r=this.a*(1-w+(5/4)*Math.pow(w,2)*(1-w)+(81/64)*Math.pow(w,4)*(1-w));var C=(3*this.a*w/2)*(1-w-(7/8)*Math.pow(w,2)*(1-w)+(55/64)*Math.pow(w,4));var f=(15*this.a*Math.pow(w,2)/16)*(1-w+(3/4)*Math.pow(w,2)*(1-w));var t=(35*this.a*Math.pow(w,3)/48)*(1-w+(11/16)*Math.pow(w,2));var D=(315*this.a*Math.pow(w,4)/51)*(1-w);var z=(r*s)-(C*Math.sin(2*s))+(f*Math.sin(4*s))-(t*Math.sin(6*s))+(D*Math.sin(8*s));var o=z*this.k0;var m=this.k0*(100000000)*Math.pow(A,2)*E*Math.sin(s)*Math.cos(s)/2;var l=(this.k0*(10000000000000000)*Math.pow(A,4)*E*Math.sin(s)*Math.pow(Math.sin(s),3)/24)*((5-Math.pow(Math.tan(s),2)+9*c*Math.pow(Math.cos(s),2)+4*Math.pow(c,2)*Math.pow(Math.cos(s),4)));var j=this.k0*10000*A*E*Math.cos(s);var g=(this.k0*(1000000000000)*Math.pow(A,3)*E*Math.pow(Math.cos(s),3)/6)*(1-Math.pow(Math.tan(s),2)+c*Math.pow(Math.cos(s),2));var F=(Math.pow(v*A,6)*E*Math.sin(s)*Math.pow(Math.cos(s),5)/720)*(61-58*Math.pow(Math.tan(s),2)+Math.pow(Math.tan(s),4)+270*c*Math.pow(Math.cos(s),2)-330*c*Math.pow(Math.sin(s),2))*this.k0*Math.pow(10,24);var h=o+(m*Math.pow(v,2))+(l*Math.pow(v,4))+(F*Math.pow(v,6));if(h<0){h=h+10000000;this.tIsSouth=true}if(u){h-=10000000}var k=(j*v)+(g*Math.pow(v,3))+500000;return new Vertex(k,h)};this.utmToGeo=function(p,m,f,B){var F=Math.sqrt(1-Math.pow(this.b/this.a,2));var d=Math.pow(F,2)/(1-Math.pow(F,2));p=500000-p;var A=m;if(B){m=10000000-m}var C=6*f-183;var j=m/this.k0;var z=j/(this.a*(1-Math.pow(F,2)/4-3*Math.pow(F,4)/64-5*Math.pow(F,6)/256));var o=(1-Math.sqrt((1-Math.pow(F,2))))/(1+Math.sqrt((1-Math.pow(F,2))));var g=(3*o/2-27*Math.pow(o,3)/32);var c=(21*Math.pow(o,2)/16-55*Math.pow(o,4)/32);var b=(151*Math.pow(o,3)/96);var a=(1097*Math.pow(o,4)/512);var h=z+g*Math.sin(2*z)+c*Math.sin(4*z)+b*Math.sin(6*z)+a*Math.sin(8*z);var E=d*Math.pow(Math.cos(h),2);var w=Math.pow(Math.tan(h),2);var G=this.a*(1-Math.pow(F,2))/Math.pow((1-Math.pow(F,2)*Math.pow(Math.sin(h),2)),(3/2));var t=this.a/Math.sqrt((1-Math.pow(F*Math.sin(h),2)));var v=p/(t*this.k0);var u=t*Math.tan(h)/G;var s=(Math.pow(v,2)/2);var r=(5+3*w+10*E-4*Math.pow(E,2)-9*d)*Math.pow(v,4)/24;var q=(61+90*w+298*E+45*Math.pow(w,2)-3*Math.pow(E,2)-252*d)*Math.pow(v,6)/720;var n=v;var l=(1+2*w+E)*Math.pow(v,3)/6;var k=(5-2*E+28*w-3*Math.pow(E,2)+8*d+24*Math.pow(w,2))*Math.pow(v,5)/120;latitude=180*(h-u*(s-r+q))/Math.PI;if(B){latitude=latitude*-1}longitude=C-((n-l+k)/Math.cos(h))*180/Math.PI;return new Vertex(latitude,longitude)}};
