function PolylineControl(D){var A=this;A.type="polyline";A.name=A.type+"Control";A.zuper=null;A.digitizerShape=null;A.editLineHandler=null;A.endLineHandler=null;A.infoWindowHtml="";A.styles={standard:{}};A.storage=[];A.Options={button_opts:{img_up_url:"http://www.google.com/intl/en_us/mapfiles/ms/t/Blu.png",img_down_url:"http://www.google.com/intl/en_us/mapfiles/ms/t/Bld.png",name:"polyline",tooltip:"Draw a line"},position:{controlPosition:[210,3]},tooltip:{anchor:[-30,-8],cursor_on:"",cursor_off:"",titles:{start:"0ft
Click to start drawing a line",middle:" 
Click to continue drawing a line",end:" 
Click a vertex once, or double click on the map to end this line"},callback:function(F,E){if(A.digitizerShape.getVertexCount()>0){E.childNodes[0].data=A.zuper.convertFromMetric(A.digitizerShape.getVertex(A.digitizerShape.getVertexCount()-1).distanceFrom(F),A.digitizerShape.getLength())}}},newGeometryOptions:{strokeColor:"#0000FF",strokeWeight:3,strokeOpacity:0.25,opts:{clickable:true,geodesic:false}},multiEdit:false,htmlTemplateParams:{},cssId:"emmc-polygon",optionalGeometryListeners:null,autoSave:false,executeClassExtensions:true};if(typeof (D)!="undefined"){for(var C in D){if(typeof (D[C])==="object"){for(var B in D[C]){A.polygonOptions[C][B]=D[C][B]}}else{A.polygonOptions[C]=D[C]}}}else{}}PolylineControl.prototype=new GControl();PolylineControl.prototype.getDefaultPosition=function(){var A=this;return A.zuper.getDefaultPosition(A.Options.position)};PolylineControl.prototype.initialize=function(C){var B=this;B.container=document.createElement("div");B.container.id="mymaps-control-"+B.Options.button_opts.name;var A=B.zuper.createButton({controlName:B.name,button_opts:B.Options.button_opts,startDigitizing:function(){B.startDigitizing()},stopDigitizing:function(D){B.stopDigitizing(D)}});B.container.appendChild(A.img);C.getContainer().appendChild(B.container);B.runInitFunctions();return B.container};PolylineControl.prototype.runInitFunctions=function(){var A=this;A.tooltip();A.assembleInfoWindowHtml(A.Options.htmlTemplateParams);A.extendGPolyline();if(A.Options.executeClassExtensions){A.extendBaseClass()}};PolylineControl.prototype.startDigitizing=function(){var B=this,D=B.zuper,C=D.map,A=B.Options;B.tooltip.on(A.tooltip.titles["start"],A.tooltip.callback);B.digitizerShape=B.newGPolyline([],A.newGeometryOptions);C.addOverlay(B.digitizerShape);B.digitizerShape.enableDrawing({});B.editLineHandler=GEvent.addListener(B.digitizerShape,"lineupdated",function(){switch(B.digitizerShape.getVertexCount()){case 2:B.tooltip.tooltipContainer.innerHTML=A.tooltip.titles["middle"];break;case 3:B.tooltip.tooltipContainer.innerHTML=A.tooltip.titles["end"];break}});GEvent.addListener(B.digitizerShape,"cancelline",function(){B.stopDigitizing()});B.endLineHandler=GEvent.addListener(B.digitizerShape,"endline",function(H){var G=[];for(var F=0;F-1){var G=A.replace("stroke","").toLowerCase();H[G]=C=I[A]}}if(C){F.setStrokeStyle(H)}for(var B in I){F.unsavedStyle[B]=I[B]}}};PolylineControl.prototype.loadPolylines=function(A){var C=this;var B=C.createPolyline(A.coordinates,C.infoWindowHtml,false,A.style);C.storage[B.index].title=[A.title,A.title];C.storage[B.index].description=[A.description,A.description];C.zuper.map.addOverlay(B);return B};PolylineControl.prototype.newGPolyline=function(B,A){return new GPolyline(B,A.strokeColor,A.strokeWeight,A.strokeOpacity,A.opts)};PolylineControl.prototype.extendGPolyline=function(){GPolyline.unsavedStyle={};GPolyline.savedStyle={};GPolyline.prototype.getStrokeWeight=function(){return(this.unsavedStyle.strokeWeight||this.savedStyle.strokeWeight)};GPolyline.prototype.setStrokeWeight=function(A){if(!isNaN(A)){this.unsavedStyle.strokeWeight=(A>20)?20:(A<1)?1:A}else{this.unsavedStyle.strokeWeight=this.savedStyle.strokeWeight}return this.unsavedStyle.strokeWeight||this.savedStyle.strokeWeight};GPolyline.prototype.getStrokeOpacity=function(){return(this.unsavedStyle.strokeOpacity||this.savedStyle.strokeOpacity)*100};GPolyline.prototype.setStrokeOpacity=function(B){if(!isNaN(B)){var A=(B>100)?100:(B<0)?0:B;this.unsavedStyle.strokeOpacity=A/100}else{this.unsavedStyle.strokeOpacity=this.savedStyle.strokeOpacity}return this.unsavedStyle.strokeOpacity||this.savedStyle.strokeOpacity}};PolylineControl.prototype.extendBaseClass=function(){var A=this,D=A.zuper,B=D.map;var C=function(){D.aop.addAfter(A,"addGeometryListeners",function(E){var F=E;var G=false;GEvent.addListener(F,"drag",function(){if(!G){A.tooltip.on();G=!G}A.tooltip.tooltipContainer.innerHTML=D.convertFromMetric(F.getLength())});GEvent.addListener(F,"dragend",function(){A.tooltip.off();G=!G})})}()}