function loadTrackFile(){if(!config.MOBILE){dbg("Browser is not a on a mobile device");trackFileName=dirPrefix+"data/trackData/"+commandLineArgs.event+"_event_track.json";trackFileName+="?"+(Math.random()*10000).toFixed(5);trackFileName=trackFileName.replace(new RegExp(/\s/g),"~");$.ajax({type:"GET",url:trackFileName,dataType:"json",success:function(a){tracksArray=a;dbg("Success loading track file: "+trackFileName);tracksLoaded=true;a=""},error:function(a,c,b){tracksLoaded=true;dbg("Error trying to load event track file "+trackFileName+".  Error: "+b+" "+a+" "+c)}})}else{dbg("Browser is on a mobile device")}}function getAnchorPoint(b){var a;switch(b){case"blueBoat":a=new google.maps.Point(35,30);break;case"ry":case"by":a=new google.maps.Point(20,8);break;case"anchor3":a=new google.maps.Point(6,11);break;default:a=new google.maps.Point(0,0);break}return a}function loadMarkers(){if(config.REFRESH===0){$("#countbox1").css("display","none")}theBounds=new google.maps.LatLngBounds();$.ajax({type:"GET",url:dirPrefix+"data/eventData/"+commandLineArgs.event+"_userData.json?random="+Math.floor(Math.random()*10000),dataType:"json",success:function(c){var a=c,b,d,e;if(config.USE_CLUSTERER&&markerCluster!==null){markerCluster.clearMarkers()}if(!initialLoadFlag){$.each(gmarkers,function(g,f){markerVisibility[f.name]=f.getVisible();f.hide();f.hideTrack();gLabels[g].hide();f=null;gLabels[g]=null})}gmarkers=[];gmarkersIndex=[];gLabels=[];side_bar_html="";$.each(a,function(f,g){b=new google.maps.LatLng(g.latitude,g.longitude);theBounds.extend(b);g.user_name.otCleanAll();g.destination.otCleanAll();d=loadContentString(g);if(typeof(g.icon)==="undefined"||g.icon.length===0){e=config.DEFAULT_ICON}else{e=g.icon}if(config.AUTO_ANCHOR_SUBSTITUTION&&g.speed<config.AUTO_ANCHOR_ICON_MIN_SPEED){e=config.AUTO_ANCHOR_ICON}createMarker(b,d,g.user_name,g.heading,e)});if((config.REFRESH===0)||(initialLoadFlag)){map.fitBounds(theBounds);if(config.ZOOM_OFFSET!==0){newZoom=map.getZoom()+parseInt(config.ZOOM_OFFSET,10);map.setZoom(newZoom)}}if(a.length>config.CLUSTERER_THRESHHOLD&&config.USE_CLUSTERER){startMarkerClusterer(config.CLUSTERER_STYLE)}if(config.SHOWSIDEBAR){$("#side_bar").html(side_bar_html)}a=null;c=null;d=null;markerVisibility=[];if(config.REFRESH>0&&(!config.MOBILE)){if(parseInt(config.REFRESH,10)>10){setTimeout(loadMarkers,config.REFRESH*1000)}else{if(config.REFRESH>0){setTimeout(loadMarkers,10000)}}if(initialLoadFlag){if(config.SHOW_MAPCONTROL){setTimeout(refreshUtil,1000)}initialLoadFlag=false}else{if(config.SHOW_MAPCONTROL){refreshUtil()}}}}})}function resetMap(a){map.fitBounds(a);if(config.ZOOM_OFFSET!==0){newZoom=map.getZoom()+parseInt(config.ZOOM_OFFSET,10);map.setZoom(newZoom)}}function refreshUtil(){nowDate=new Date();newDate=new Date(nowDate.getTime()+(config.REFRESH*1000));getCount(newDate,"countbox1")}function disableRefresh(){config.REFRESH=0;$("#countbox1").css("display","none")}function loadWxData(){$.ajax({type:"GET",url:dirPrefix+"data/wx/wxData.json?rnd="+Math.floor(Math.random()*10000),dataType:"json",success:function(b){var a=b;wxMarkers=[];$.each(a,function(c,d){addWxMarker(d)});if(config.SHOW_WX_ICONS){$.each(wxMarkers,function(c,d){d.show()})}},error:function(){}})}function addWxMarker(b){var c,f,e,d,a;c=new google.maps.LatLng(b.lat,b.lon);a=wxIconSelect(b);e=new google.maps.Marker({position:c,map:map,icon:a,title:b.name,zIndex:Math.round(b.lat*-100000)});e.show=function(){if(this.getMap()!=="Map"){this.setMap(map)}this.setVisible(true)};e.hide=function(){this.setVisible(false)};f=buildWxContent(b);d=new google.maps.InfoWindow({content:f});google.maps.event.addListener(e,"mouseover",function(){d.open(map,e)});google.maps.event.addListener(e,"mouseout",function(){d.close()});wxMarkers.push(e);if(config.SHOW_WX_ICONS){e.show()}else{e.hide()}}function wxIconSelect(b){var a,c;switch(b.cloud){case"-":a="http://images.oceantracker.net/sunny.png";break;case"Mostly clear":a="http://images.oceantracker.net/partly_cloudy.png";break;case"Mostly cloudy":a="http://images.oceantracker.net/mostly_cloudy.png";break;case"Cloudy":a="http://images.oceantracker.net/cloudy.png";break;default:a="http://images.oceantracker.net/sunny.png"}if(b.weather==="Rain"){a="http://images.oceantracker.net/rain.png"}if(b.weather==="Thunder"||b.weather==="Thunderstorm"){a="http://images.oceantracker.net/thunder.png"}c=new google.maps.MarkerImage(a,null,null,null);return c}function buildWxContent(a){var b;b='<div style="padding: 0px 5px 0px 5px;color:#00eecc;background-color:blue"><b>'+a.name+'</b></div><div style="padding: 0px 5px 0px 5px;background-color:#00eecc">';if(a.weather==="Thunder"||a.weather==="Thunderstorm"){b+=a.weather}else{if(a.cloud!=="-"){b+=a.cloud}else{b+="fine conditions"}}b+="<br/>";b+="Wind is from the "+a.wind_dir+" at "+a.wind_spd_kt+" knots gusting to "+a.gust_kt+"<br/>";if(a.sea_state!=="-"){b+="Seas : "+a.sea_state+"M<br/>"}if(a.swell_height){b+="Swells : "+a.swell_height+" M from the "+a.swell_dir_worded+"<br/>"}if(a.vis_km!=="-"){b+="Visibility : "+a.vis_km+" km<br/>"}if(a.air_temp){b+="Air temperature : "+a.air_temp+" deg C<br/>"}ld=a.local_date_time_full;b+="Last report: "+ld.substr(6,2)+"-"+ld.substr(4,2)+" at "+ld.substr(8,2)+":"+ld.substr(10,2)+"<br/></div>";b+='<br/><span style="font-size:0.7em;">Weather data Copyright by and presented with permission of<br/>';b+='<a href="www.bom.gov.au">the Australian Bureau of Meteorology.</a></span>';return b}function wxToggle(){if(weatherOn){weatherOn=false;wxOff()}else{weatherOn=true;wxOn()}}function wxOn(){$.each(wxMarkers,function(b,a){a.show()})}function wxOff(){$.each(wxMarkers,function(b,a){a.hide()})}function tracksToggle(){if(tracksOn){tracksOn=false;allTracksOff()}else{tracksOn=true;allTracksOn()}}function allTracksOn(){if(gmarkers.length<200){$.each(gmarkers,function(b,a){if(a.getVisible()){if(a.trackIsDefined()){a.showTrack()}else{a.loadTrack();a.showTrack()}}})}else{alert("Can not show all tracks - too many vessels to display")}}function allTracksOff(){$.each(gmarkers,function(b,a){a.hideTrack()})}function labelsToggle(){if(labelsOn){labelsOn=false;allLabelsOff()}else{labelsOn=true;allLabelsOn()}}function allLabelsOn(){$.each(gLabels,function(b,a){if(gmarkers[b].getVisible()){a.show()}})}function allLabelsOff(){$.each(gLabels,function(b,a){a.hide()})}function landmarksToggle(){if(landmarksOn){landmarksOn=false;allLandmarksOff()}else{landmarksOn=true;allLandmarksOn()}}function allLandmarksOn(){$.each(lmMarkers,function(b,a){a.show()})}function allLandmarksOff(){$.each(lmMarkers,function(b,a){a.hide()})}function rhumblineToggle(){if(rhumblineOn){rhumblineOn=false;theCourse.hide()}else{rhumblineOn=true;theCourse.show()}}function makeMarkerPrototypes(){google.maps.Marker.prototype.hide=function(){this.setVisible(false)};google.maps.Marker.prototype.show=function(){if(this.getMap()!=="map"){this.setMap(map)}this.setVisible(true)};google.maps.Marker.prototype.track=new Object();google.maps.Marker.prototype.trackIsDefined=function(){if(this.track.getPath().getLength()>1){return true}else{return false}};google.maps.Marker.prototype.showTrack=function(){if(this.trackIsDefined()){this.track.setMap(map)}else{this.loadTrack();if(this.trackIsDefined()){this.track.setMap(map)}}};google.maps.Marker.prototype.hideTrack=function(){this.track.setMap(null)}}function extendMarker(a,b,c,d){a.track=new google.maps.Polyline({strokeOpacity:0.5,strokeWeight:4,editable:false});a.loadTrack=function(){var e=this,f=[];nextTrackColor++;if(nextTrackColor>(trackColors.length-1)){nextTrackColor=0}if(typeof(tracksArray[b])!=="undefined"){$.each(tracksArray[b].trackInfo,function(g,h){f.push(new google.maps.LatLng(h.lat,h.lon))})}if(f.length>1){e.track.setPath(f);e.track.setOptions({strokeColor:trackColors[nextTrackColor]})}};a.name=b;a.setIcon(c);a.setTitle(b);a.setPosition(d);a.setZIndex(Math.round(d.lat()*-100000));return a}function addMarkerListeners(a,b){if(config.MARKER_MOUSEOVER){google.maps.event.addListener(a,"mouseover",function(){if(tracksOn){$.each(gmarkers,function(d,c){c.hideTrack()})}if(this.trackIsDefined()){this.showTrack()}else{this.loadTrack();this.showTrack()}if(config.MARKER_INFOBOX){showInfoDiv(b)}});google.maps.event.addListener(a,"mouseout",function(){if(config.MARKER_INFOBOX){infoDiv.style.display="none"}if(tracksOn){$.each(gmarkers,function(d,c){c.showTrack()})}else{this.hideTrack()}})}if(config.MARKER_CLICK){google.maps.event.addListener(a,"click",function(){})}google.maps.event.addListener(a,"showInfoDiv",function(){showInfoDiv(b)});return a}function addMarkerLabel(a){var b=new Label({map:map});b.bindTo("position",a);b.bindTo("text",a,"title");b.bindTo("clickable",a);b.bindTo("zIndex",a);if(config.SHOW_ALL_LABELS&&labelsOn){b.show()}else{b.hide()}return b}function addSidebarEntry(a,b,d){var c=b.replace(new RegExp(/\s/g),"~")+"_SelectorBox";a+='<input class="side_bar_checkbox" type="checkbox" id="'+c+'" onclick="javascript:sideBarCheckbox(this.checked,'+d+')";';if((typeof(markerVisibility[b.replace(new RegExp(/\s/g),"~")])==="undefined")||(markerVisibility[b.replace(new RegExp(/\s/g),"~")])||(initialLoadFlag)){a+=" checked>"}else{a+=">";gmarkers[gmarkersIndex[b.replace(new RegExp(/\s/g),"~")]].hide()}a+='<a class="side_bar_text" href="javascript:sideBarClick('+d+')"; onMouseOver="javascript:sideBarMouseover('+d+')"; onMouseOut="javascript:sideBarMouseout('+d+')"; ><span style="color:'+config.SIDE_BAR_ITEM_COLOR+'">'+b+"<span></a><br/>";return a}function createMarker(h,f,b,d,g){var c,e,a;c=iconSelect(g,d,b);a=new google.maps.Marker({position:new google.maps.LatLng(0,0)});a=extendMarker(a,b,c,h,f);a=addMarkerListeners(a,f);gLabels.push(addMarkerLabel(a));if(initialLoadFlag){a.setVisible(true)}if(config.TRACKS_BULK_LOAD){a.loadTrack()}if(!config.USE_CLUSTERER){a.show()}gmarkersIndex[b.replace(new RegExp(/\s/g),"~")]=gmarkers.length;if(config.SHOW_ALL_TRACKS&&$("#tracksbox").prop("checked")){a.track.show()}gmarkers.push(a);e=gmarkers.length-1;if(config.SHOWSIDEBAR){side_bar_html=addSidebarEntry(side_bar_html,b,e)}if((typeof(markerVisibility[b.replace(new RegExp(/\s/g),"~")])==="undefined")||(markerVisibility[b.replace(new RegExp(/\s/g),"~")])||(initialLoadFlag)){if(labelsOn){gLabels[e].show()}if(tracksOn){a.showTrack()}}}function showAllMarkers(){if(config.USE_CLUSTERER){markerCluster.clearMarkers();markerCluster.addMarkers(gmarkers);$.each(gmarkers,function(b,a){gmarkers[b].sidebarChecked=true;markerVisibility[a.title.replace(new RegExp(/\s/g),"~")]=true;if(labelsOn){gLabels[b].show()}if(tracksOn){gmarkers[b].showTrack()}thisCbName=gmarkers[b].title.replace(new RegExp(/\s/g),"~")+"_SelectorBox";document.getElementById(thisCbName).checked=true})}else{$.each(gmarkers,function(b,a){a.show();gmarkers[b].sidebarChecked=true;markerVisibility[a.title.replace(new RegExp(/\s/g),"~")]=true;if(labelsOn){gLabels[b].show()}if(tracksOn){gmarkers[b].showTrack()}thisCbName=gmarkers[b].title.replace(new RegExp(/\s/g),"~")+"_SelectorBox";document.getElementById(thisCbName).checked=true})}}function hideAllMarkers(){if(config.USE_CLUSTERER){markerCluster.clearMarkers();$.each(gmarkers,function(b,a){gLabels[b].hide();a.sidebarChecked=false;a.hideTrack();thisCbName=a.title.replace(new RegExp(/\s/g),"~")+"_SelectorBox";document.getElementById(thisCbName).checked=false})}else{$.each(gmarkers,function(b,a){a.hide();gLabels[b].hide();a.sidebarChecked=false;a.hideTrack();thisCbName=a.title.replace(new RegExp(/\s/g),"~")+"_SelectorBox";document.getElementById(thisCbName).checked=false})}}function showInfoDiv(a){$(infoDiv).html(a);infoDiv.style.display="block"}function sideBarCheckbox(b,a){if(b){if(config.USE_CLUSTERER){markerCluster.addMarker(gmarkers[a]);gmarkers[a].sidebarChecked=true}else{gmarkers[a].show();if(config.SHOW_ALL_LABELS){gLabels[a].show()}gmarkers[a].sidebarChecked=true;if($("#tracksbox").prop("checked")){gmarkers[a].showTrack()}}}else{if(config.USE_CLUSTERER){markerCluster.removeMarker(gmarkers[a]);gmarkers[a].sidebarChecked=false;gmarkers[a].hideTrack()}else{gmarkers[a].hide();gLabels[a].hide();gmarkers[a].sidebarChecked=false;gmarkers[a].hideTrack()}}}function sideBarClick(a){}function sideBarMouseover(c){var a,b;a=gmarkers[c].title.replace(new RegExp(/\s/g),"~");b=a+"_SelectorBox";if(document.getElementById(b).checked){if(config.USE_CLUSTERER){$.each(gmarkers,function(e,d){markerVisibility[d.title.replace(new RegExp(/\s/g),"~")]=true;gLabels[e].hide();d.hideTrack()});markerCluster.clearMarkers();markerCluster.addMarker(gmarkers[c])}else{$.each(gmarkers,function(e,d){d.hide();gLabels[e].hide();d.hideTrack()})}gmarkers[c].show();gLabels[c].show();gmarkers[c].showTrack();google.maps.event.trigger(gmarkers[c],"showInfoDiv");if(config.MAP_MOVE_ON_SIDEBAR_MOUSEOVER){map.setCenter(gmarkers[c].getPosition())}}else{markerVisibility[a]=false}}function sideBarMouseout(a){gLabels[a].hide();infoDiv.style.display="none";gmarkers[a].hideTrack();if(config.USE_CLUSTERER){markerCluster.clearMarkers();$.each(gmarkers,function(c,b){if(markerVisibility[b.title.replace(new RegExp(/\s/g),"~")]){markerCluster.addMarker(b);if(labelsOn){gLabels[c].show()}if(tracksOn){b.showTrack()}thisCbName=b.title.replace(new RegExp(/\s/g),"~")+"_SelectorBox";document.getElementById(thisCbName).checked=true}})}else{gmarkers[a].hide();$.each(gmarkers,function(c,b){trackName=b.title.replace(new RegExp(/\s/g),"~");cbName=trackName+"_SelectorBox";if($("#"+cbName).prop("checked")){b.show();if(labelsOn){gLabels[c].show()}if(tracksOn){b.showTrack()}}})}}function loadContentString(a){var b='<div class="infoDivContent"><p style="color: yellow;font-weight: bold"><b>'+a.user_name+"</b></p><table>";if(a.status===""||a.status===null){b+=""}else{b+="<tr><td>Status:</td><td>"+a.status+"</td></tr>"}if(a.shiptype===""||a.shiptype===null){b+=""}else{b+="<tr><td>Type:</td><td>"+a.shiptype+"</td></tr>"}if(a.destination===""||a.destination===null){b+=""}else{b+="<tr><td>Destination:</td><td>"+a.destination+"</td></tr>"}b+="<tr><td>Speed:</td><td>"+a.speed+" kts ("+(a.speed*1.852).toFixed(1)+" kph)</td></tr>";if(a.average_speed>0){b+="<tr><td>Avg Speed</td><td>"+a.average_speed+" kts ("+(a.average_speed*1.852).toFixed(1)+" kph)</td></tr>"}b+="<tr><td>Heading:</td><td>"+a.heading+"</td></tr>";if(a.dist_remaining>0){b+="<tr><td>Dist to go</td><td>"+a.dist_remaining+" nm ("+(a.dist_remaining*1.852).toFixed(1)+" km)</td></tr>"}if(a.eta===""||a.eta===null){b+=""}else{b+="<tr><td>ETA:</td><td>"+a.eta+"</td></tr>"}b+="<tr><td>Location</td><td>"+(a.distance*1.852).toFixed(1)+" km "+a.bearing+" of "+a.station["0"]+"</td></tr>";b+="<tr><td>Lat:</td><td>"+a.latitude+"</td></tr><tr><td>Lon:</td><td>"+a.longitude+"</td></tr>";newDate=new Date();newDate.setUTCFullYear(a.datetime_sent.substr(0,4));newDate.setUTCMonth(a.datetime_sent.substr(5,2)-1);newDate.setUTCDate(a.datetime_sent.substr(8,2));newDate.setUTCHours(a.datetime_sent.substr(11,2));newDate.setUTCMinutes(a.datetime_sent.substr(14,2));newDate.setUTCSeconds(a.datetime_sent.substr(17,2));b+="<tr><td>Last report</td><td>"+newDate.format("D M jS g:i A")+" local time</td></tr>";if(!config.MOBILE){b+="<tr><td><hr /></td><td><hr /></td></tr>";if(!(a.info1===""||a.info1===null)){b+="<tr><td>"+a.title1+"</td><td>"+a.info1+"</td></tr>"}if(!(a.info2===""||a.info2===null)){b+="<tr><td>"+a.title2+"</td><td>"+a.info2+"</td></tr>"}if(!(a.info3===""||a.info3===null)){b+="<tr><td>"+a.title3+"</td><td>"+a.info3+"</td></tr>"}if(!(a.info4===""||a.info4===null)){b+="<tr><td>"+a.title4+"</td><td>"+a.info4+"</td></tr>"}}b+="</table><br/></div>";return b}function clusterMap(){$.each(gmarkers,function(b,a){a.hide()});markerCluster=new MarkerClusterer(map,gmarkers)}function unclusterMap(a){markerCluster.clearMarkers();$.each(gmarkers,function(c,b){if(c!==a){b.hide();gLabels[c].hide()}})}function getCommandLineArgs(){var e,a=[],d=[],c,b;e=document.location.href;if(e.substr(-1,1)==="#"){e=e.substr(0,e.length-1)}a=e.split("?");if(a.length>1){a=a[1];a=a.split("&")}if(a.length>0){for(c=0;c<a.length;c++){b=a[c].split("=");if(b.length>1){d[b[0].toLowerCase()]=b[1]}}}return d}function drawRhumbline(){var a=[],b;$.ajax({type:"GET",url:dirPrefix+"data/courses/"+commandLineArgs.event+"_rhumbline.json",cache:false,dataType:"json",success:function(c){if(c.points.length>0){rhumblineOn=true;for(b=0;b<c.points.length;b++){a.push(new google.maps.LatLng(c.points[b].latitude,c.points[b].longitude))}if(a.length>1){theCourse=new google.maps.Polyline({path:a,strokeColor:c.color,strokeOpacity:c.opacity,strokeWeight:c.weight});theCourse.setMap(map);theCourse.show=function(){theCourse.setMap(map)};theCourse.hide=function(){theCourse.setMap(null)}}}}})}function addLandmarks(){var b=dirPrefix+config.LM_FILE_NAME+"?"+Math.random()*1000000,c,d,a;$.ajax({type:"GET",url:b,dataType:"xml",success:function(e){$(e).find("wxm").each(function(){c=$(this).attr("NAME");d=new google.maps.LatLng($(this).attr("LAT"),$(this).attr("LON"));var f={content:c,boxClass:"lmLabel",disableAutoPan:true,pixelOffset:new google.maps.Size(-25,0),position:d,closeBoxURL:"",isHidden:true,pane:"mapPane",enableEventPropagation:true};a=new InfoBox(f);a.open(map);google.maps.event.addListener(a,"mouseover",function(){});google.maps.event.addListener(a,"mouseout",function(){});google.maps.event.addListener(a,"click",function(){});lmMarkers.push(a)});if(config.SHOW_LANDMARKS){allLandmarksOn()}},error:function(){console.log("Landmarks.xml load failed")}})}function extendMarkerClusterer(){MarkerClusterer.prototype.findMarker=function(a){var c,b=-1;if(this.markers_.indexOf){b=this.markers_.indexOf(a)}else{for(c=0;c<this.markers_.length;c++){if(a===this.markers_[c]){b=c;break}}}if(b===-1){return false}else{return true}}}function startMarkerClusterer(a){var b=[[{url:"images/markerClusterer/people35.png",height:35,width:35,anchor:[16,0],textColor:"#ff00ff",textSize:10},{url:"images/markerclusterer/people45.png",height:45,width:45,anchor:[24,0],textColor:"#ff0000",textSize:11},{url:"images/markerclusterer/people55.png",height:55,width:55,anchor:[32,0],textColor:"#ffffff",textSize:12}],[{url:"images/markerclusterer/conv30.png",height:27,width:30,anchor:[3,0],textColor:"#ff00ff",textSize:10},{url:"images/markerclusterer/conv40.png",height:36,width:40,anchor:[6,0],textColor:"#ff0000",textSize:11},{url:"images/markerclusterer/conv50.png",width:50,height:45,anchor:[8,0],textSize:12}],[{url:"images/markerclusterer/heart30.png",height:26,width:30,anchor:[4,0],textColor:"#ff00ff",textSize:10},{url:"images/markerclusterer/heart40.png",height:35,width:40,anchor:[8,0],textColor:"#ff0000",textSize:11},{url:"images/markerclusterer/heart50.png",width:50,height:44,anchor:[12,0],textSize:12}]];markerCluster=new MarkerClusterer(map,gmarkers,{maxZoom:10,gridSize:null,styles:b[a],printable:true,minimumClusterSize:15,title:"click here for more detail"})}function iconSelect(d,b,a){var c;if(b>=349||b<=11){primary="E";c=90;direction="N"}else{if(b>=12&&b<=34){primary="E";c=67.5;direction="NNE"}else{if(b>=35&&b<=56){primary="E";c=45;direction="NE"}else{if(b>=57&&b<=79){primary="E";c=22.5;direction="ENE"}else{if(b>=80&&b<=101){primary="E";c=0;direction="E"}else{if(b>=102&&b<=124){primary="E";c=-22.5;direction="ESE"}else{if(b>=125&&b<=146){primary="E";c=-45;direction="SE"}else{if(b>=147&&b<=169){primary="E";c=-67.5;direction="SSE"}else{if(b>=170&&b<=191){primary="W";c=90;direction="S"}else{if(b>=192&&b<=214){primary="W";c=67.5;direction="SSW"}else{if(b>=215&&b<=236){primary="W";c=45;direction="SW"}else{if(b>=237&&b<=259){primary="W";c=22.5;direction="WSW"}else{if(b>=260&&b<=281){primary="W";c=0;direction="W"}else{if(b>=282&&b<=304){primary="W";c=-22.5;direction="WNW"}else{if(b>=305&&b<=326){primary="W";c=-45;direction="NW"}else{if(b>=327&&b<349){primary="W";c=-67.5;direction="NNW"}else{primary="E";c=0;direction="E"}}}}}}}}}}}}}}}}if(config.ICONS_FETCH_STATIC){imgUrl="http://icons.oceantracker.net/"+d+"_"+direction+".png"}else{imgUrl="getIcon.php?userName="+a+"&iconName="+d+"&primary="+primary+"&angle="+c+"&ran="+Math.floor(Math.random()*1000)}image=new google.maps.MarkerImage(imgUrl,null,null,getAnchorPoint(d));return image}function panLeft(){var a=-parseInt((getWWidth()*config.SCROLL_DISTANCE_PIXELS),10);map.panBy(a,0)}function panRight(){var a=parseInt(getWWidth()*config.SCROLL_DISTANCE_PIXELS,10);map.panBy(a,0)}function panUp(){var a;a=-parseInt((getWHeight()*config.SCROLL_DISTANCE_PIXELS),10);$.each(gmarkers,function(c,b){b.hide();gLabels[c].hide()});map.panBy(0,a);$.each(gmarkers,function(c,b){b.show();if(labelsOn){gLabels[c].show()}})}function panDown(){var a;a=parseInt(getWHeight()*config.SCROLL_DISTANCE_PIXELS,10);$.each(gmarkers,function(c,b){b.hide();gLabels[c].hide()});map.panBy(0,a);$.each(gmarkers,function(c,b){b.show();if(labelsOn){gLabels[c].show()}})}function zoomIn(){mapType=map.getMapTypeId();$("#zoomOutButton").attr("src","images/zoomOut4.png");$("#zoomOut").removeClass("zoomOutMax");$("#zoomOut").addClass("zoomOut");if(mapType==="SATELLITE"||mapType==="HYBRID"){maxZoom=19}else{maxZoom=15}if(map.getZoom()<maxZoom){map.setZoom(map.getZoom()+1)}else{$("#zoomInButton").attr("src","images/zoomin4_excl.png");$("#zoomIn").removeClass("zoomIn");$("#zoomIn").addClass("zoomInMax")}}function zoomOut(){$("#zoomInButton").attr("src","images/zoomin4.png");$("#zoomIn").removeClass("zoomInMax");$("#zoomIn").addClass("zoomIn");if(map.getZoom()>config.MIN_ZOOM_LEVEL){$("#zoomInButton").attr("src","images/zoomin4.png");map.setZoom(map.getZoom()-1)}else{$("#zoomOutButton").attr("src","images/zoomout4_excl.png");$("#zoomOut").removeClass("zoomOut");$("#zoomOut").addClass("zoomOutMax")}}function setDivSize(g,d,c,f){var h,e,a,b;if(config.SHOWSIDEBAR){if(getWWidth()){$("#map_canvas").width(Math.ceil((getWWidth()*d)-f));$("#side_bar").width(f)}if(getWHeight()){h=Math.ceil(getWHeight()*g);e=Math.ceil(getWHeight()*c);$("#container").height(h);$("#map_canvas").height(h);$("#side_bar").height(e)}}else{if(getWWidth()){$("#map_canvas").width("99.9%")}if(getWHeight()){h=Math.ceil(getWHeight()*g);$("#container").height(h);$("#map_canvas").height(h)}}a=(getWWidth()/2)-(parseInt($("#tbContent").css("width"),10)/2);b=(getWHeight()/2)-(parseInt($("#tbContent").css("height"),10)/2);$("#tbContent").css("right",a);$("#tbContent").css("bottom",b)}function getWWidth(){return $(window).width()}function getWHeight(){return $(window).height()}function setupMapControl(){$("#serverNum").html(top.location.host);setTimeout(function(){if(!config.SHOW_TOOLBOX){$("#tbIcon").hide()}},1500)}function setupOTlogo(a){var b=document.getElementById("logo_holder");map.controls[google.maps.ControlPosition[a]].push(b);google.maps.event.addListener(map,"mousemove",function(c){$("#latLonDiv").html(c.latLng.lat().toFixed(4)+" "+c.latLng.lng().toFixed(4))})}function setupEventLogo(a){$("#eventLogo").error(function(){$("#eventLogo").remove()});$("#eventLogo").attr("src",dirPrefix+"images/eventLogos/"+commandLineArgs.event+".png");$("#eventLogo").addClass("eventLogoClass");map.controls[google.maps.ControlPosition[a]].push($("#eventLogoDiv")[0])}function eventLogoLink(){window.open(config.EVENT_LOGO_LINK,null,"width=1024,height=768,scrollbars=yes,resizable=yes.directories=yes,toolbar=no,menubar=no,status=no,location=no")}function setupToolbox(a){if(config.SHOW_TOOLBOX){toolboxContent=$("#tbContent")[0];$(toolboxContent).addClass("tbContentClass");map.controls[google.maps.ControlPosition[a]].push(toolboxContent);toolboxContent.visible=false;toolboxContent.style.display="none";if(config.SHOW_ALL_LABELS){$("#labelsbox").prop("checked",true)}else{$("#labelsbox").prop("checked",false)}if(config.SHOW_ALL_TRACKS){$("#tracksbox").prop("checked",true)}else{$("#tracksbox").prop("checked",false)}if(config.SHOW_WEATHER){$("#weatherbox").prop("checked",true)}}}function setupInfoDiv(){infoDiv=document.createElement("div");map.controls[google.maps.ControlPosition.LEFT_TOP].push(infoDiv);infoDiv.visible=false}function toolBoxOpen(){if(config.SHOW_TOOLBOX){if(typeof(toolboxContent.visible)!=="undefined"&&typeof(toolboxContent.visible)!=="null"&&(toolboxContent.visible)){toolboxContent.style.display="none";toolboxContent.visible=false}else{toolboxContent.style.display="block";toolboxContent.visible=true}}}function ot_addRuler(){if(rulerData.visible){deleteruler();rulerData.visible=false}else{addruler();rulerData.visible=true}}function saveSidebar(){var a="";if(gmarkers.length>0){a='[{"name":"'+gmarkers[0].name.replace(new RegExp(/\s/g),"~")+'","theIndex":"0","value":"'+gmarkers[0].sidebarChecked+'"}';if(gmarkers.length>1){$.each(gmarkers,function(c,b){a+=',{"name":"'+b.name.replace(new RegExp(/\s/g),"~")+'","theIndex":"'+c+'","value":"'+b.visible+'"}'})}a+="]";$.jStorage.set(commandLineArgs.event+"_sidebarVis",a)}}function loadSidebar(){var a,c,d;a=$.jStorage.get(commandLineArgs.event+"_sidebarVis");try{c=$.parseJSON(a);$.each(c,function(e,f){d=f.name.replace(new RegExp(/\s/g),"~");myCbFullName=d+"_SelectorBox";gmarkers[gmarkersIndex[d]].hideTrack();if(stringToBoolean(f.value)){$("#"+myCbFullName).prop("checked",true);markerVisibility[gmarkersIndex[d]]=true;gmarkers[gmarkersIndex[d]].sidebarChecked=true;gmarkers[gmarkersIndex[d]].show();if(labelsOn){gLabels[gmarkersIndex[d]].show()}if(tracksOn){if(gmarkers[gmarkersIndex[d]].getVisible()){gmarkers[gmarkersIndex[d]].showTrack()}}}else{$("#"+myCbFullName).prop("checked",false);gmarkers[gmarkersIndex[d]].sidebarChecked=false;gmarkers[gmarkersIndex[d]].hide();gLabels[gmarkersIndex[d]].hide();if($("#tracksbox").prop("checked")){gmarkers[gmarkersIndex[d]].track.hide()}}})}catch(b){dbg("Tried to load sideBar data using jStorage but: "+b)}}function detectMobile(){var a=navigator.userAgent;if(a.indexOf("iPhone")!==-1||a.indexOf("Android")!==-1||a.indexOf("IEMobile")!==-1){return true}else{return false}}function extendObject(){Object.keys=Object.keys||(function(){var b=Object.prototype.hasOwnProperty,d=!{toString:null}.propertyIsEnumerable("toString"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=a.length;return function(h){var f,g,e;if((typeof h!=="object"&&typeof h!=="function")||(h===null)){throw new TypeError("Object.keys called on a non-object")}e=[];for(f in h){if(b.call(h,f)){e.push(f)}}if(d){for(g=0;g<c;g++){if(b.call(h,a[g])){e.push(a[g])}}}return e}})()};
