function GoogleMapMarker(d,g,c,h,f,e,a,b){this.index=d;this.lat=g;this.lng=c;this.text=h;this.draggable=f?true:false;this.hidden=a?true:false;this.doStreetLink=b;if(e){e.doStreetLink=b}this.streetData=e;if(!Utilities.GoogleMapMarkers){Utilities.GoogleMapMarkers=new Object()}Utilities.GoogleMapMarkers[d]=this}GoogleMapMarker.prototype={onPageLoad:function(){var a=this,b},setPoint:function(a){this.marker.setPoint(a)},addToMap:function(c){var a=this,b;a.map=c;a.idPrefix=c.idPrefix;a.point=new GLatLng(a.lat,a.lng);b=a.marker=new GMarker(a.point,{draggable:true});a.enableMarker(!a.hidden);c.gmap.addOverlay(b);GEvent.addListener(b,"click",function(){b.openInfoWindowHtml(a.text)});a.makeDraggable(a.draggable);if(a.streetData){a.streetView=new GoogleStreetView(a,a.streetData)}},makeDraggable:function(a){var b=this,c=b.marker;if(b.draggable=a){c.enableDragging();GEvent.addListener(c,"dragstart",function(){c.closeInfoWindow()});GEvent.addListener(c,"dragend",function(){var e=c.getPoint(),d=b.idPrefix;c.openInfoWindowHtml(b.text);$(d+"latitude").val(e.lat());$(d+"longitude").val(e.lng())})}else{c.disableDragging()}},enableMarker:function(b){var c=this,a=c.marker;b?a.show():a.hide();if(c.streetView){c.streetView.enableMarker(b)}},openInfoWindowHtml:function(a){this.marker.openInfoWindowHtml(a?a:this.text)},getLatLng:function(){return this.marker.getLatLng()},showStreet:function(){var b=this,a=b.streetView;if(a){a.enableMarker(true);a.openPanorama(true)}}};function GoogleStreetView(c,d){if(!d.edit&&!d.enabled){return null}var i=this,f,e=new GIcon(G_DEFAULT_ICON),h,a=c.map,g,b;h=new GLatLng(d.latitude,d.longitude);i.params=d;i.gmarker=c;i.map=a;i.client=new GStreetviewClient();b=i.idPrefix=a.idPrefix?a.idPrefix:"#";e.image="http://maps.gstatic.com/intl/en_us/mapfiles/cb/man_arrow-0.png";e.transparent="http://maps.gstatic.com/intl/en_us/mapfiles/cb/man-pick.png";e.imageMap=[26,13,30,14,32,28,27,28,28,36,18,35,18,27,16,26,16,20,16,14,19,13,22,8];e.iconSize=new GSize(49,52);e.iconAnchor=new GPoint(25,35);e.infoWindowAnchor=new GPoint(25,5);if(d.edit){i.longitude_ctl=$(b+"str_longitude").get(0);i.latitude_ctl=$(b+"str_latitude").get(0);i.yaw_ctl=$(b+"str_yaw").get(0);i.pitch_ctl=$(b+"str_pitch").get(0);i.zoom_ctl=$(b+"str_zoom").get(0)}f=i.marker=new GMarker(h,{icon:e,draggable:true,hide:d.enabled?false:true});a.gmap.addOverlay(i.marker);i.enableMarker(!d.doStreetLink);i.lastMarkerLocation=h;GEvent.addListener(f,"dragend",function(){i.onDragEnd()});GEvent.addListener(f,"click",function(){i.openPanorama(false)});i.onYawChange(d.yaw)}GoogleStreetView.prototype={openPanorama:function(c){var b=this,a=b.panorama;if(!a){b.createPanorama()}if(!b.infoWindow){b.infoWindow=true;b.marker.openInfoWindow(b.smallNode,{maxContent:b.contentNode,maxTitle:"Full screen"})}b.panorama.show();b.panorama.checkResize();b.hideMarkerOnClose=c},createPanorama:function(){var d=this,g=d.params,h=d.marker,c,f=d.map.gmap,b=f.getInfoWindow(),e,a;d.contentNode=e=document.createElement("div");e.style.textAlign="center";e.style.width="550px";e.style.height="350px";e.innerHTML="Loading panorama";d.smallNode=a=document.createElement("div");a.style.width="300px";a.style.height="300px";a.id="pano";c=d.panorama=new GStreetviewPanorama(a);c.setLocationAndPOV(h.getLatLng(),g);GEvent.addListener(c,"newpano",function(j,i){d.onNewLocation(j,i)});GEvent.addListener(c,"yawchanged",function(i){d.onYawChange(i)});GEvent.addListener(c,"pitchchanged",function(i){d.onPitchChange(i)});GEvent.addListener(c,"zoomchanged",function(i){d.onZoomChange(i)});GEvent.addListener(c,"initialized",function(i){d.onLocationInitialized(i)});GEvent.addListener(c,"error",function(j){var i=j});GEvent.addListener(b,"maximizeend",function(){c.setContainer(e);window.setTimeout(function(){c.checkResize()},5)});GEvent.addListener(h,"infowindowbeforeclose",function(){c.hide();if(d.hideMarkerOnClose){h.hide()}})},enableMarker:function(a){var b=this;if(b.marker){return(a)?b.marker.show():b.marker.hide()}},onYawChange:function(b){var a=this,c=a.params;if(b<0){b+=360}a.guyImageNum=Math.round(b/22.5)%16;a.guyImageUrl="http://maps.gstatic.com/intl/en_us/mapfiles/cb/man_arrow-"+a.guyImageNum+".png";a.marker.setImage(a.guyImageUrl);c.yaw=b;if(c.edit&&a.yaw_ctl){a.yaw_ctl.value=b}},onPitchChange:function(a){var b=this,c=b.params;c.pitch=pitch;if(c.edit&&b.pitch_ctl){b.pitch_ctl.value=pitch}},onZoomChange:function(b){var a=this,c=a.params;c.zoom=b;if(c.edit&&a.zoom_ctl){a.zoom_ctl.value=b}},onNewLocation:function(d,a){var b=this,e=b.params;var c=new GLatLng(d,a);b.marker.setLatLng(c)},onDragEnd:function(){var a=this,c=a.params,b=a.marker.getLatLng();if(!a.panorama){a.createPanorama()}a.client.getNearestPanorama(b,function(d){a.onResponse(d)})},onResponse:function(c){var b=this,d=b.marker,a=b.panorama;if(c.code!=200){d.setLatLng(b.lastMarkerLocation)}else{b.setNewLocation(c.Location.lat,c.Location.lng)}},setNewLocation:function(f,a){var c=this,d=c.marker,b=c.panorama,e;var e=new GLatLng(f,a);d.setLatLng(e);c.lastMarkerLocation=e;if(b){b.setLocationAndPOV(e,b.getPOV());b.checkResize()}if(c.params.edit&&c.latitude_ctl){c.latitude_ctl.value=f}if(c.params.edit&&c.longitude_ctl){c.longitude_ctl.value=a}},onLocationInitialized:function(a){var b=this,c=b.params;b.marker.setLatLng(a.latlng)}};function GoogleRoute(d,a,e,c){var b=this;b.map=d;b.locale=c;b.panel=document.getElementById(e);b.input=document.getElementById(a);b.directions=new GDirections(d.gmap,b.panel);b.isOpen=false;d.route=b}GoogleRoute.prototype={open:function(){var a=this,b=a.map.element;if(a.isOpen){return}$(b).animate({width:"70%"},{queue:false,duration:1000});$(a.panel).animate({width:"25%"},{queue:false,duration:1000,complete:function(){$(a.panel).css({visibility:"visible",overflow:""})}});a.map.gmap.checkResize()},getRoute:function(b){var a=this;a.open();a.directions.loadFromWaypoints([a.input.value,b.getLatLng()],{locale:a.locale})},setHeight:function(a){$(this.panel).css({height:a})}};function GoogleMap(a,h,j,c,k,b,i,e,f,g,d){this.id="#"+a;this.idPrefix="#"+(g?g:"");this.lat=h;this.lng=j;this.color=c;this.zoom=k;this.showStreet=b;this.selectIndex=i;this.centerIndex=e;this.showLabels=f;this.markers=d;this.overlayInstance=null;Utilities.onload(this);if(!Utilities.GoogleMaps){Utilities.GoogleMaps=new Array()}Utilities.GoogleMaps[a]=this}GoogleMap.prototype={onPageLoad:function(){var d=this,g,f,b,a,c;if(!(g=$(d.id))){return}d.element=g;g.GoogleMap=d;if(!GBrowserIsCompatible()){g.GoogleMap=false;return}b={backgroundColor:d.color,googleBarOptions:{showOnLoad:true,style:"new"}};d.gmap=f=new GMap2($(g).get(0),b);$(g).css({"background-color":d.color});f.addMapType(G_PHYSICAL_MAP);f.enableContinuousZoom();f.enableGoogleBar();f.enableScrollWheelZoom();f.addControl(new GLargeMapControl());f.addControl(new GMapTypeControl());d.setCenter(d.lat,d.lng,d.zoom);d.markers=jQuery.extend(true,{},Utilities.GoogleMapMarkers,d.markers);for(c in d.markers){d.markers[c].addToMap(d)}if(d.showStreet){if(d.zoom>14){d.toggleOverlay()}GEvent.addListener(f,"zoomend",function(h,e){if((e<14&&d.overlayInstance)||(e>14&&!d.overlayInstance)){d.toggleOverlay()}})}if(d.selectIndex){d.selectMarker(d.selectIndex,d.showLabels)}if(d.centerIndex){d.panToMarker(d.centerIndex)}},toggleOverlay:function(){var a=this,b=a.gmap,c=a.params;if(!a.overlayInstance){a.overlayInstance=new GStreetviewOverlay();b.addOverlay(a.overlayInstance)}else{b.removeOverlay(a.overlayInstance);a.overlayInstance=null}},setCenter:function(c,a,b){this.gmap.setCenter(new GLatLng(c,a),b)},selectMarker:function(b,d){var c=this,a;if(!(a=c.markers[b])){return}c.selectedMarker=a=c.markers[b];if(d){a.openInfoWindowHtml()}},selectMarkerPan:function(c,e,b){var d=this,a;if(!(a=d.markers[c])&&!(a=d.markers[b])){return null}d.selectedMarker=a;d.gmap.panTo(a.point);if(e){a.openInfoWindowHtml()}return a},panToMarker:function(b){var c=this,a;if(!(a=c.markers[b])){return}a=c.markers[b];c.gmap.panTo(a.point)},showAddress:function(h){var d,j=this,c=j.idPrefix,f=$(c+"street1").get(0).value,g=$(c+"street2").get(0).value,e=$(c+"city").get(0).value,a=$(c+"state").get(0).value,b=$(c+"zip").get(0).value,i=f;if(g){i+=", "+g}if(e){i+=", "+e}if(a){i+=", "+a}if(b){i+="  "+b}if(!(d=Utilities.GoogleGeocoder)){d=Utilities.GoogleGeocoder=new GClientGeocoder()}if(!h){h=1}d.getLatLng(i,function(l){if(!l){alert(i+" not found")}else{var k;if(!j.gmap){return}if(!(k=j.markers[h])){k=j.markers[h]=new GoogleMapMarker(h,l.lat,l.lng,"address",j.draggable,{longitude:l.lng,latitude:l.lat,enabled:true})}k.setPoint(l);j.gmap.panTo(l);k.openInfoWindowHtml(i);$(c+"latitude").val(l.lat());$(c+"longitude").val(l.lng());if(k.streetView){k.streetView.setNewLocation(l.lat(),l.lng())}}})},checkStreetEnable:function(c){var b=this,a=b.selectedMarker;a.streetView.enableMarker(c.checked)},getDirections:function(a,e,d){var b=this,c;if(!b.route){b.route=new GoogleRoute(b,a,e,d)}b.route.getRoute(b.selectedMarker)},checkResize:function(b,k){var m=this,d=m.gmap,f,l,j=m.element,c=$(j).parent(),i=$(c).parent(),a=m.route;if(!d){return}l=$(c).position();f=$(i).height()-l.top;$(c).css({height:f});$(j).css({height:f});if(a){a.setHeight(f)}d.checkResize()},expandEditPopup:function(i,g,f,b,d){var c=this,a,h;c.defLocIndex=d;GeneralEvent.Config(i,g,{CallbackObject:c});GeneralEvent.Expand(i,g);if(f){c.editMarkerSelector=a=$("#"+f);b=$(a).get(0).value}else{if(b){c.editMarkerSelector=null}else{alert("Application Error: no selector nor location specified");return false}}c.editEnableMarker(b,d);c.loadForm(b)},editEnableMarker:function(a,c){var b=this,d=b.selectMarkerPan(a,true,c);d.makeDraggable(true);d.enableMarker(true);b.checkResize()},ServerResponse:function(a,j,h){var n=this,c,i,b,k,f=n.editMarkerSelector,o=f.get(0),l,d=n.idPrefix,g=n.selectedMarker;if(!a.ok){return}l=xdom_GetFirstElementWithTagName(h,"new_id");if(!l){return}c=l.getAttribute("value");i=xdom_GetData(l);f.children("option").each(function(e){if(this.value==c){b=this;k=this.index;return false}});if(!b){f.append('<option value="'+c+'">'+i+"</option>");k=o.options.length-1}o.selectedIndex=k;$(d+"rec_id").val(c);if(n.defLocIndex==g.index){l=new GoogleMapMarker(g.index,g.latitude,g.longitude,"New Marker",true,{edit:true,latitude:g.latitude,longitude:g.longitude});n.markers[c]=g;l.addToMap(n)}},loadForm:function(c){var e=this,g,a,f=e.idPrefix,b;if(!(g=GoogleMapMarkerData[c])){g={rec_id:"",status:"1",page:"",title:"",reference:"",name:"",url:"",street1:"",street2:"",city:"",state:"",zip:"",image:"",latitude:"40.451600788468554",longitude:"-105.06407976150513",sort_order:"1",streetView:{longitude:"-105.06407976150513",latitude:"40.451600788468554",yaw:"",pitch:"",zoom:"0",edit:true,enabled:true}}}$(f+"rec_id").val(c);$(f+"sort_order").val((b=g.sort_order)?b:"");$(f+"latitude").val((b=g.latitude)?b:"");$(f+"longitude").val((b=g.longitude)?b:"");$(f+"reference").val((b=g.reference)?b:"");$(f+"title").val((b=g.title)?b:"");$(f+"name").val((b=g.name)?b:"");$(f+"url").val((b=g.url)?b:"");$(f+"street1").val((b=g.street1)?b:"");$(f+"street2").val((b=g.street2)?b:"");$(f+"city").val((b=g.city)?b:"");$(f+"state").val((b=g.state)?b:"");$(f+"zip").val((b=g.zip)?b:"");$(f+"image").val((b=g.image)?b:"");$(f+"enabled").get(0).checked=((g.status&1)==1);$(f+"secondary").get(0).checked=((g.status&2)==2);a=g.streetView;$(f+"str_latitude").val((b=a.latitude)?b:"");$(f+"str_longitude").val((b=a.longitude)?b:"");$(f+"str_yaw").val((b=a.yaw)?b:"");$(f+"str_pitch").val((b=a.pitch)?b:"");$(f+"str_zoom").val((b=a.zoom)?b:"");$(f+"str_enabled").get(0).checked=(a.enabled)}};function GooglePopupContainer(e,b,c,d,f){var a=this;a.map=e;a.popupID=b;a.width=c;a.height=d;a.title=f;$(document).ready(function(){a.ready()})}GooglePopupContainer.prototype={ready:function(){var d=this,c="#"+d.popupID,f=d.map,b=d.width,e=d.height;var a=function(g,h){f.checkResize(g,h)};d.popup=$(c).dialog({autoOpen:false,width:b,height:e,show:"slide",title:d.title,dialogClass:"GoogleMapPopupWidget",resizeStop:a,open:a,zIndex:20025});$(c).css({display:""})},open:function(a){this.popup.dialog("open")}};