function get$(A){return document.getElementById(A)}function GeometryControls(C){var A=this;A.Options={controlPostitionFloat:G_ANCHOR_TOP_RIGHT,controlPosition:[0,0],buttonWidth:"33",buttonHeight:"33",buttonBorder:"0",buttonCursor:"pointer",infoWindowHtmlURL:"data/geometry_html_template.html",stylesheets:["styles/google.maps.base.css","styles/google.maps.ms_styles.css"],autoSave:true,cssId:"emmc-geom",debug:true};if(C){for(var B in C){A.Options[B]=C[B]}}else{}A.isIE=navigator.appName.indexOf("Explorer")>-1;A.isChrome=navigator.userAgent.toLowerCase().indexOf("chrome")>-1;A.map=null;A.container=null;A.controls={};A.buttons_={};A.stopDigitizingFuncs_={};A.infoWindowHtmlTemplates={};A.bounds=new GLatLngBounds();A.autoSaveListener=null;A.runInitFunctions_()}GeometryControls.prototype=new GControl();GeometryControls.prototype.runInitFunctions_=function(){var A=this;A.getInfoWindowHtml_();A.addGoogleMapsCSS_();if(A.Options.autoSave){A.addAutoSaveAspect()}};GeometryControls.prototype.getDefaultPosition=function(D){var B=this,A=B.Options,C;if(D){C=new GControlPosition(D.controlPositionFloat,new GSize(D.controlPosition[0],D.controlPosition[1]))}else{C=new GControlPosition(A.controlPositionFloat,new GSize(A.controlPosition[0],A.controlPosition[1]))}return C};GeometryControls.prototype.initialize=function(C){var B=this;B.map=C;B.container=document.createElement("div");C.getContainer().appendChild(B.container);for(var A in B.controls){C.addControl(B.controls[A])}C.getInfoWindow();return B.container};GeometryControls.prototype.createButton=function(D){var F=this,E=D,A=F.Options;if(typeof (E.startDigitizing)&&typeof (E.stopDigitizing)!=="function"){F.debug("Digitizing functions for #createButton are required");return }var C={};C.opts=E.button_opts;var B=document.createElement("img");B.style.cursor=C.opts.buttonCursor||A.buttonCursor;B.width=C.opts.buttonWidth||A.buttonWidth;B.height=C.opts.buttonHeight||A.buttonHeight;B.border=C.opts.buttonBorder||A.buttonBorder;B.src=C.opts.img_up_url;B.title=C.opts.tooltip;C.img=B;GEvent.addDomListener(C.img,"click",function(){if(C.img.getAttribute("src")===C.opts.img_up_url){F.toggleButtons(E.controlName);E.startDigitizing()}else{F.toggleButtons(E.controlName);E.stopDigitizing()}});F.buttons_[E.controlName]=C;F.stopDigitizingFuncs_[E.controlName]=E.stopDigitizing;return C};GeometryControls.prototype.toggleButtons=function(A){var D=this;for(var B in D.buttons_){D.buttons_[B].img.src=D.buttons_[B].opts.img_up_url}if(A){D.buttons_[A].img.src=D.buttons_[A].opts.img_down_url}if(A){for(var C in D.stopDigitizingFuncs_){if(C!=A){D.stopDigitizingFuncs_[C](false)}}}};GeometryControls.prototype.addControl=function(B){var A=this;B.zuper=A;A.controls[B.name]=B};GeometryControls.prototype.tooltipFactory=function(B){var F=this,G=F.map;var C=document.createElement("div");C.id="tooltipContainer";C.className="emmc-tooltip";G.getContainer().appendChild(C);var D=function(N,J){var M=G.getCurrentMapType().getProjection().fromLatLngToPixel(G.getBounds().getSouthWest(),G.getZoom());var I=G.getCurrentMapType().getProjection().fromLatLngToPixel(N,G.getZoom());var K=new GPoint(B.anchor[0],B.anchor[1]);var L=-12;var H=new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(I.x-M.x-K.x+L,-I.y+M.y+K.y));H.apply(J)};var A=function(){if(B.cursor_on!==""&&!F.isChrome){var H=F.map.getDragObject();return function(){H.setDraggableCursor(B.cursor_on)}}else{return function(){}}}();var E={me:F,tooltip_opts:B,tooltipHandler:null,tooltipContainer:C,on:function(H,J){var I=this;C.innerHTML=H;C.style.display="block";this.tooltipHandler=GEvent.addListener(I.me.map,"mousemove",function(K){D(K,C);A();if(typeof (J)==="function"){J(K,C)}})},off:function(){this.me.map.getDragObject().setDraggableCursor(this.tooltip_opts.cursor_off);C.style.display="none";try{GEvent.removeListener(this.tooltipHandler)}catch(H){}}};F.tooltip=function(H){E.tooltip_opts=H;return E};return E};GeometryControls.prototype.showColorPicker=function(opts){var me=this,row,cell;var colors=eval(me.infoWindowHtmlTemplates["colorTable"]);var div=document.createElement("div");document.getElementsByTagName("body")[0].appendChild(div);div.innerHTML=me.infoWindowHtmlTemplates["colorTableHtml"];var colorPicker=get$("emmc-menu-color");var colorPickerTable=get$("emmc-color-table");row=colorPickerTable.insertRow(0);for(var i in colors){if(i%7===0&&i!==0){row=colorPickerTable.insertRow(i/7)}cell=row.insertCell(i%7);cell.innerHTML='
'}var target,color,callback;var colorPickerHandler=GEvent.addDomListener(colorPicker,"mouseover",function(){var tempHandler=GEvent.addDomListener(me.map.getInfoWindow().getContentContainers()[0],"mouseover",function(){colorPicker.style.display="none";GEvent.removeListener(tempHandler)});var tempHandler2=GEvent.addListener(me.map,"infowindowclose",function(){colorPicker.style.display="none";GEvent.removeListener(tempHandler2)})});var cells=colorPickerTable.getElementsByTagName("div");for(var j=0;j