var zoom_to_extent=false;var map=null;var data_stations=null;var editLayer=null;var local_tiger=null;var local_water=null;var local_landmarks=null;var local_outline=null;var graphicsLayer=null;var tmp_hot_marker=null;var tmp_photo_marker=null;var tmp_location_marker=null;var tmp_other_marker=null;var freeze=false;var drawControls,navControls;var layerSwitcher;var hotspot_markers;var photo_markers;var location_markers;var usgs_markers;var noaa_markers;var trip_markers;var other_markers;var pano_markers;var selectedMarker;var selectedPopup;var hotspot_size=new OpenLayers.Size(25,25);var photo_size=new OpenLayers.Size(25,25);var location_size=new OpenLayers.Size(25,25);var usgs_size=new OpenLayers.Size(25,25);var noaa_size=new OpenLayers.Size(25,25);var star_size=new OpenLayers.Size(24,24);var trip_size=new OpenLayers.Size(25,25);var bait_size=new OpenLayers.Size(25,25);var camp_size=new OpenLayers.Size(25,25);var park_size=new OpenLayers.Size(25,25);var boat_size=new OpenLayers.Size(25,25);var food_size=new OpenLayers.Size(25,25);var pano_size=new OpenLayers.Size(25,25);var hotspot_offset=new OpenLayers.Pixel(-(hotspot_size.w/2),-hotspot_size.h);var photo_offset=new OpenLayers.Pixel(-(photo_size.w/2),-photo_size.h);var location_offset=new OpenLayers.Pixel(-(location_size.w/2),-location_size.h);var usgs_offset=new OpenLayers.Pixel(-(usgs_size.w/2),-usgs_size.h);var noaa_offset=new OpenLayers.Pixel(-(noaa_size.w/2),-noaa_size.h);var star_offset=new OpenLayers.Pixel(-(star_size.w/2),-star_size.h);var trip_offset=new OpenLayers.Pixel(-(trip_size.w/2),-trip_size.h);var bait_offset=new OpenLayers.Pixel(-(bait_size.w/2),-bait_size.h);var camp_offset=new OpenLayers.Pixel(-(camp_size.w/2),-camp_size.h);var park_offset=new OpenLayers.Pixel(-(park_size.w/2),-park_size.h);var boat_offset=new OpenLayers.Pixel(-(boat_size.w/2),-boat_size.h);var food_offset=new OpenLayers.Pixel(-(food_size.w/2),-food_size.h);var pano_offset=new OpenLayers.Pixel(-(pano_size.w/2),-pano_size.h);var hotspot_icon_src="images/markers/FISH_HOTSPOT.gif";var photo_icon_src="images/markers/CAMERA.gif";var location_icon_src="images/markers/FISH_BOAT.gif";var usgs_icon_src="images/markers/USGS.gif";var noaa_icon_src="images/markers/NOAA.gif";var star_icon_src="images/markers/red_star.gif";var trip_icon_src="images/markers/TRIP_BOBBER.gif";var bait_icon_src="images/markers/BAIT_HOOK.gif";var camp_icon_src="images/markers/CAMPSITE.gif";var park_icon_src="images/markers/PARK.gif";var boat_icon_src="images/markers/BOAT_LAUNCH.gif";var food_icon_src="images/markers/FOOD.gif";var pano_icon_src="images/markers/PANORAMIO.gif";var hotspot_icon=new OpenLayers.Icon(hotspot_icon_src,hotspot_size,hotspot_offset);var photo_icon=new OpenLayers.Icon(photo_icon_src,photo_size,photo_offset);var location_icon=new OpenLayers.Icon(location_icon_src,location_size,location_offset);var usgs_icon=new OpenLayers.Icon(usgs_icon_src,usgs_size,usgs_offset);var noaa_icon=new OpenLayers.Icon(noaa_icon_src,noaa_size,noaa_offset);var star_icon=new OpenLayers.Icon(star_icon_src,star_size,star_offset);var trip_icon=new OpenLayers.Icon(trip_icon_src,trip_size,trip_offset);var bait_icon=new OpenLayers.Icon(bait_icon_src,bait_size,bait_offset);var camp_icon=new OpenLayers.Icon(camp_icon_src,camp_size,camp_offset);var park_icon=new OpenLayers.Icon(park_icon_src,park_size,park_offset);var boat_icon=new OpenLayers.Icon(boat_icon_src,boat_size,boat_offset);var food_icon=new OpenLayers.Icon(food_icon_src,food_size,food_offset);var pano_icon=new OpenLayers.Icon(pano_icon_src,pano_size,pano_offset);var navControl=null;var zoomControl=null;var add_navigation=null;function initializeMap(H){OpenLayers.IMAGE_RELOAD_ATTEMPTS=2;OpenLayers.Util.onImageLoadErrorColor="transparent";var E=new OpenLayers.Size(300,300);var B=1;layerSwitcher=new OpenLayers.Control.LayerSwitcher();navControl=new OpenLayers.Control.Navigation();navControl.zoomWheelEnabled=false;zoomControl=new OpenLayers.Control.ZoomBox();var K={controls:[navControl,zoomControl,layerSwitcher,new OpenLayers.Control.PanZoomBar(),new OpenLayers.Control.MousePosition(),new OpenLayers.Control.Scale(),new OpenLayers.Control.ScaleLine()],numZoomLevels:18};map=new OpenLayers.Map("map",K);toggleControl("pan");var F=["http://terraservice.net/ogcmap.ashx?SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.1&format=jpeg&SRS=EPSG:4326&styles=&"];var D=new OpenLayers.Layer.WMS("USGS Topo",F,{layers:"DRG"},{isBaseLayer:true});var J=new OpenLayers.Layer.WMS("Precipitation","http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi?",{layers:"nexrad-n0r-m45m",transparent:"true",bgcolor:"0xFFFFFF",format:"image/png"},{opacity:0.75});var C=new OpenLayers.Layer.Google("Google Hybrid",{type:G_HYBRID_MAP});var I=new OpenLayers.Layer.Google("Google Terrain",{type:G_PHYSICAL_MAP,numZoomLevels:16});var A=new OpenLayers.Layer.Google("Google Streets",{type:G_NORMAL_MAP});var G=new OpenLayers.Layer.WMS("NOAA Charts","http://wms.alaskamapped.org/cgi-bin/charts.cgi?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&TRANSPARENT=false&BGCOLOR=0xFFFFFF&FORMAT=image%2Fjpeg&LAYERS=noaa_chart_1000,noaa_chart_485,noaa_chart_350,noaa_chart_210,noaa_chart_155,noaa_chart_150,noaa_chart_140,noaa_chart_120,noaa_chart_110,noaa_chart_100,noaa_chart_95,noaa_chart_85,noaa_chart_80,noaa_chart_70,noaa_chart_50,noaa_chart_40,noaa_chart_35,noaa_chart_30,noaa_chart_20,noaa_chart_15,noaa_chart_10,noaa_chart_5,noaa_chart_1,noaa_chart_0",{isBaseLayer:true});D.setVisibility(false);J.setVisibility(false);map.addLayers([I,C,A,D,J]);if(add_navigation!=null&&add_navigation==true){map.addLayer(G);}hotspot_markers=new OpenLayers.Layer.Markers("Hotspots");photo_markers=new OpenLayers.Layer.Markers("Photos");noaa_markers=new OpenLayers.Layer.Markers("NOAA Water Stations");location_markers=new OpenLayers.Layer.Markers("Fish Locations");usgs_markers=new OpenLayers.Layer.Markers("USGS Water Data");usgs_markers.setVisibility(false);other_markers=new OpenLayers.Layer.Markers("Amenities");other_markers.setVisibility(false);pano_markers=new OpenLayers.Layer.Markers("Panoramio");pano_markers.setVisibility(false);graphicsLayer=new OpenLayers.Layer.Vector("Graphics Layer");graphicsLayer.displayInLayerSwitcher=false;map.addLayer(graphicsLayer);addEditTools();if(H!=null&&H=="edit"){}else{trip_markers=new OpenLayers.Layer.Markers("User Trips");map.addLayer(trip_markers);}map.addLayer(usgs_markers);map.addLayer(location_markers);map.addLayer(noaa_markers);map.addLayer(hotspot_markers);map.addLayer(photo_markers);map.addLayer(other_markers);map.addLayer(pano_markers);addDynamicMarkers();}function setMapExtent(){if(initialextent_minx==initialextent_maxx&&initialextent_miny==initialextent_maxy){map.setCenter(new OpenLayers.LonLat(initialextent_minx,initialextent_miny),zoom_scale,false,true);}else{if(zoom_to_extent==true){map.zoomToExtent(new OpenLayers.Bounds(initialextent_minx,initialextent_miny,initialextent_maxx,initialextent_maxy));if(map.getZoom()>zoom_scale){map.zoomTo(zoom_scale);}else{map.zoomTo(map.getZoom()-1);}}else{var B=((initialextent_maxx-initialextent_minx)/2)+initialextent_minx;var A=((initialextent_miny-initialextent_maxy)/2)+initialextent_maxy;map.setCenter(new OpenLayers.LonLat(B,A),initial_zoom,false,true);map.zoomToExtent(new OpenLayers.Bounds(initialextent_minx,initialextent_miny,initialextent_maxx,initialextent_maxy));}}}function maximizeLayerSwitcher(){layerSwitcher.maximizeControl();}function minimizeLayerSwitcher(){layerSwitcher.minimizeControl();}function addEditTools(){editLayer=new OpenLayers.Layer.Vector("Edit Layer");editLayer.onFeatureInsert=promptUser;editLayer.displayInLayerSwitcher=false;map.addLayer(editLayer);var A={handlerOptions:{freehand:false}};drawControls={point:new OpenLayers.Control.DrawFeature(editLayer,OpenLayers.Handler.Point),line:new OpenLayers.Control.DrawFeature(editLayer,OpenLayers.Handler.Path,A),polygon:new OpenLayers.Control.DrawFeature(editLayer,OpenLayers.Handler.Polygon,A),photo:new OpenLayers.Control.DrawFeature(editLayer,OpenLayers.Handler.Point),location:new OpenLayers.Control.DrawFeature(editLayer,OpenLayers.Handler.Point),amenity:new OpenLayers.Control.DrawFeature(editLayer,OpenLayers.Handler.Point)};for(var B in drawControls){map.addControl(drawControls[B]);}}var currentIcon="panicon";function toggleControl(A){if(A=="point"||A=="photo"||A=="location"||A=="amenity"){if(map.getZoom()<11){alert("You must be zoomed in closer to add data. Please use the slider bar or Zoom In tool to find your area of interest.\r\nDid you know you can also zoom in any time by holding down the SHIFT key while dragging your mouse? It's a quick and easy way to zoom in on the map.");return ;}}for(key in drawControls){var B=drawControls[key];if(A==key){navControl.activate();zoomControl.deactivate();B.activate();map.div.className="olCursorEditingDefault";}else{B.deactivate();}}if(document.getElementById("activeTool")!=null){switch(A){case"pan":navControl.activate();zoomControl.deactivate();map.div.className="olCursorDragDefault";document.getElementById("activeTool").innerHTML="Navigate Map";break;case"zoomin":zoomControl.activate();navControl.deactivate();document.getElementById("activeTool").innerHTML="Zoom In";break;case"point":if(tmp_hot_marker!=null){hotspot_markers.addMarker(tmp_hot_marker);}document.getElementById("activeTool").innerHTML="Add Hotspot";freeze=false;break;case"photo":if(tmp_photo_marker!=null){photo_markers.addMarker(tmp_photo_marker);}document.getElementById("activeTool").innerHTML="Add Photo";freeze=false;break;case"location":location_markers.setVisibility(true);if(tmp_location_marker!=null){location_markers.addMarker(tmp_location_marker);}document.getElementById("activeTool").innerHTML="Add Location";freeze=false;break;case"amenity":other_markers.setVisibility(true);if(tmp_other_marker!=null){other_markers.addMarker(tmp_other_marker);}document.getElementById("activeTool").innerHTML="Add Amenity";freeze=false;break;case"drag":navControl.activate();zoomControl.deactivate();map.div.className="olCursorDragDefault";isDragging=true;document.getElementById("activeTool").innerHTML="Move Marker";break;default:break;}if(A!="drag"){isDragging=false;}if(A!="point"){if(tmp_hot_marker!=null&&tmp_hot_marker.lon!=0&&tmp_hot_marker.lat!=0){tmp_hot_marker.lonlat=new OpenLayers.LonLat(0,0);hotspot_markers.drawMarker(tmp_hot_marker);hotspot_markers.removeMarker(tmp_hot_marker);}}if(A!="photo"){if(tmp_photo_marker!=null&&tmp_photo_marker.lon!=0&&tmp_photo_marker.lat!=0){tmp_photo_marker.lonlat=new OpenLayers.LonLat(0,0);photo_markers.drawMarker(tmp_photo_marker);photo_markers.removeMarker(tmp_photo_marker);}}if(A!="location"){if(tmp_location_marker!=null&&tmp_location_marker.lon!=0&&tmp_location_marker.lat!=0){tmp_location_marker.lonlat=new OpenLayers.LonLat(0,0);location_markers.drawMarker(tmp_location_marker);location_markers.removeMarker(tmp_location_marker);}}if(A!="amenity"){if(tmp_other_marker!=null&&tmp_other_marker.lon!=0&&tmp_other_marker.lat!=0){tmp_other_marker.lonlat=new OpenLayers.LonLat(0,0);other_markers.drawMarker(tmp_other_marker);other_markers.removeMarker(tmp_other_marker);}}}if(A+"icon"!=currentIcon){document.getElementById(currentIcon).src=document.getElementById(currentIcon).src.replace("_on.png","_off.png");document.getElementById(A+"icon").src=document.getElementById(A+"icon").src.replace("_off.png","_on.png");if(document.getElementById(A+"icon2")!=null){document.getElementById(A+"icon2").src=document.getElementById(A+"icon2").src.replace("_off.png","_on.png");}if(document.getElementById(currentIcon+"2")!=null){document.getElementById(currentIcon+"2").src=document.getElementById(currentIcon+"2").src.replace("_on.png","_off.png");}}currentIcon=A+"icon";}var currentFeature;var popURL;var popWidth;var popHeight;var popTitle;function promptUser(B){switch(currentIcon){case"pointicon":freeze=true;tmp_hot_marker.moveTo(new OpenLayers.Pixel(tmp_hot_marker.icon.px.x,tmp_hot_marker.icon.px.y+5));var A="add_hotspot.php?x="+B.geometry.x+"&y="+B.geometry.y+"&tripid="+tripid;popURL=A;popWidth=600;popHeight=500;popTitle="Add Hotspot";setTimeout("delayedPopup()",500);currentFeature=B;clearGraphics();break;case"photoicon":freeze=true;tmp_photo_marker.moveTo(new OpenLayers.Pixel(tmp_photo_marker.icon.px.x,tmp_photo_marker.icon.px.y+5));var A="add_photo.php?x="+B.geometry.x+"&y="+B.geometry.y+"&tripid="+tripid;popURL=A;popWidth=600;popHeight=500;popTitle="Add Photos";setTimeout("delayedPopup()",500);currentFeature=B;clearGraphics();break;case"locationicon":freeze=true;tmp_location_marker.moveTo(new OpenLayers.Pixel(tmp_location_marker.icon.px.x,tmp_location_marker.icon.px.y+5));var A="add_location.php?x="+B.geometry.x+"&y="+B.geometry.y;popURL=A;popWidth=600;popHeight=500;popTitle="Add Location";setTimeout("delayedPopup()",500);currentFeature=B;clearGraphics();break;case"amenityicon":freeze=true;tmp_other_marker.moveTo(new OpenLayers.Pixel(tmp_other_marker.icon.px.x,tmp_other_marker.icon.px.y+5));var A="add_other_location.php?x="+B.geometry.x+"&y="+B.geometry.y;popURL=A;popWidth=600;popHeight=500;popTitle="Add Amenity";setTimeout("delayedPopup()",500);currentFeature=B;clearGraphics();break;default:break;}}function delayedPopup(){showPopUpDiv(popURL,popWidth,popHeight,popTitle);}function clearGraphics(){editLayer.removeFeatures(currentFeature);}function resetMarkers(){if(tmp_hot_marker!=null&&tmp_hot_marker.lon!=0&&tmp_hot_marker.lat!=0){tmp_hot_marker.lonlat=new OpenLayers.LonLat(0,0);hotspot_markers.drawMarker(tmp_hot_marker);hotspot_markers.removeMarker(tmp_hot_marker);}if(tmp_photo_marker!=null&&tmp_photo_marker.lon!=0&&tmp_photo_marker.lat!=0){tmp_photo_marker.lonlat=new OpenLayers.LonLat(0,0);photo_markers.drawMarker(tmp_photo_marker);photo_markers.removeMarker(tmp_photo_marker);}if(tmp_location_marker!=null&&tmp_location_marker.lon!=0&&tmp_location_marker.lat!=0){tmp_location_marker.lonlat=new OpenLayers.LonLat(0,0);location_markers.drawMarker(tmp_location_marker);location_markers.removeMarker(tmp_location_marker);}if(tmp_other_marker!=null&&tmp_other_marker.lon!=0&&tmp_other_marker.lat!=0){tmp_other_marker.lonlat=new OpenLayers.LonLat(0,0);other_markers.drawMarker(tmp_other_marker);other_markers.removeMarker(tmp_other_marker);}}function serialize(B){B.attributes={};var A=prompt("Title for feature?");B.attributes.title=A;s=new XMLSerializer();var C=g.write(B.layer.features);$("gml").value=s.serializeToString(C);alert($("gml").value);}function addTemporaryMarker(D,C,A,H,B){var E;if(B=="hotspot"){E=hotspot_icon.clone();}else{if(B=="photo"){E=photo_icon.clone();}}var G=new OpenLayers.Marker(new OpenLayers.LonLat(C,A),E);iconXArr[iconIndx]=C;iconYArr[iconIndx]=A;var F=iconIndx;G.events.register("mousedown",G,function(I){map_popup.setSize(new OpenLayers.Size(205,195));map_popup.lonlat=new OpenLayers.LonLat(G.lonlat.lon,G.lonlat.lat);map_popup.updatePosition();map_popup.setContentHTML(D);if(isDragging==true){startDrag=true;map_popup.hide();G.lonlat=map.getLonLatFromPixel(new OpenLayers.Pixel(mapMouseX,mapMouseY-5));if(B=="hotspot"){hotspot_markers.drawMarker(G);}else{if(B=="photo"){photo_markers.drawMarker(G);}}markerToMove=G;dragId=H;dragType=B;selIconIndx=F;}else{map_popup.show();}selectedMarker=G;Event.stop(I);});iconIndx++;map_popup.setSize(new OpenLayers.Size(205,195));map_popup.lonlat=new OpenLayers.LonLat(C,A);map_popup.updatePosition();map_popup.setContentHTML(D);map_popup.show();selectedMarker=G;G.icon.imageDiv.style.cursor="pointer";if(B=="hotspot"){hotspot_markers.addMarker(G);}else{if(B=="photo"){photo_markers.addMarker(G);}else{if(B=="location"){location_markers.addMarker(G);}else{if(B=="amenity"){other_markers.addMarker(G);}}}}}function removeSelectedMarker(A){map_popup.hide();if(A=="hotspot"){hotspot_markers.removeMarker(selectedMarker);}else{if(A=="photo"){photo_markers.removeMarker(selectedMarker);}else{if(A=="trip"){trip_markers.removeMarker(selectedMarker);}else{if(A=="location"){location_markers.removeMarker(selectedMarker);}else{if(A=="amenity"){other_markers.removeMarker(selectedMarker);}}}}}}function zoomToXY(B,A){map.setCenter(new OpenLayers.LonLat(B,A),zoom_scale,false,true);}function addStar(B,A){var C=new OpenLayers.Marker(new OpenLayers.LonLat(B,A),star_icon.clone());hotspot_markers.addMarker(C);}