if(window.console===undefined){window.console={};console.log=function(){}}(function(aE){var aV=null;var S=null;var y=null;var a1=null;var g={};var aP=null;var ai={};ai.racers={};var ar="";var at=[];var m="";var ao=[];var aL=[];var ap=0;var e=["Sun","Mon","Tues","Wed","Thurs","Fri","Sat"];var ay=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var aY=["?","@","A","B"];var al=0.56;var Y=false;var j=0;var C=0;var aR=false;var am=0;var aB=0;var X=1;var aD=true;var F=2267;var ae=false;var M=false;var aK=false;var c=[];var t=null;var u=null;var R=null;var O=null;var z=2;var v=1;function V(a4){var a5="http://twitter.com/status/user_timeline/transpac09.json?count=1&callback=?";jQuery.getJSON(a5,aw)}function aw(a4){jQuery("#tweets").html(a4[0].text)}function n(){if(!aK){return false}}function E(){if(!aK){return false}right_now=Math.round(new Date().getTime()/1000);if(j>0){right_now-=am}right_now=Math.round(right_now/10)*10;for(var a5 in g.racers){if(g.racers[a5].last_time!==undefined){var a4=right_now-g.racers[a5].last_time;if(a4>28800){jQuery("td."+a5+"_time").text("> 8 hours")}else{jQuery("td."+a5+"_time").text(aG(a4))}}else{jQuery("td."+a5+"_time").text("> 8 hours")}}}updateRaceTime=function(){var a9=new Date();var a7=a9.getTimezoneOffset();var a6=aV.race_settings.race_utc_minutes_offset;var a5=aV.race_settings.race_timezone_name;aB=new Date(a9.valueOf()+(a7-a6)*60*1000);if(j>0){aB-=am*1000;var a8=0;if(X>1){var a4=a9-C*1000;a8=a4*X}aB+=a8}aE("div#local_time").text(dateFormat(a9,"mmm dd h:MM:ss TT Z"));aE("div#race_time").text(dateFormat(aB,"mmm dd h:MM:ss TT")+" "+a5)};aE.ionearth=function(a4){a4.race_settings=aE.extend({},aE.ionearth.defaults.race_settings,D,a4.race_settings);aV=aE.extend({},aE.ionearth.defaults,a4);an()};aE.ionearth.defaults={course_settings:{weight:2,color:"#FF0000",opacity:0.8},urls:{racer_url_1:"/api/2009-02-06/load_race_view/",racer_url_2:"/racers6.js?reload="+new Date().valueOf(),checkpoint_url_1:"/api/2009-04-16/get_course_features/",checkpoint_url_2:"/as/json"},show_gridlines:true,show_circles:true,race_settings:{racer_name:"Name",race_mile_name:"NMtF",show_temp:false,show_altitude:true,show_trails:false,start_time:"",stop_time:"",start_lat:"",start_lon:"",start_zoom:7,start_tileset:"s",checkpoint_icon:"/images/checkpoints.png",trail_image:"/images/checkpoint_clear.png",race_utc_minutes_offset:240,race_timezone_name:"EDT",cluster_options:null,checkpoints:[],course_url:null,cluster_icon:"http://static.ionearth.com/images/mushers_camping.png"},rMap:null,map_type:"basic",view_id:0,race_id:0,rose:["N","NE","E","SE","S","SW","W","NW"],map_location:"content",clustering_on:false,course_loaded:false,cluster_options:null};function aX(){g.racers={};g.polyline={};g.checkpoints={};g.trail_weight=1;g.trail_opacity=1;g.checkpoints=[];g.encoded_points="";if(aV.race_settings.show_trails){g.default_trail_length=-1;g.trail_length=-1}else{g.default_trail_length=0;g.trail_length=0}g.show_trails=aV.race_settings.show_trails;g.telem_start=aV.race_settings.start_time;g.telem_end=aV.race_settings.start_time;g.initial_load_completed=false;g.old_now=0}function ac(){ar="race_"+aV.view_id;var a6=null;if(null!==a6){try{ai=aE.secureEvalJSON(a6);U()}catch(a5){aE.cookie(ar,null)}finally{var a4=1}}else{aE(".watch_cb").attr("checked",true);aE(".view_cb").attr("disabled",false).attr("checked",false)}}function aF(){location.reload(true)}function an(){S=aV.rMap;aP=new Date();C=Math.round(new Date().getTime()/1000);setTimeout(aF,4*60*60*1000);if(j>0){am=Math.round(new Date().getTime()/1000)-j}aX();updateRaceTime();jQuery("#boat_label_toggle").click(aa);aT();aa();aW();af(g.racers);aE("#race_tabs").tabs();aE("#left_nav").css("visibility","visible");aE("#footer_container").css("visibility","visible");aE(".fade_back").css("visibility","visible");aE("#loading").hide();if(aV.show_gridlines){var a6=new s(true);S.addOverlay(a6)}if(aV.show_circles){var a8=185200;var a5=[];var a4=23;var a7=1;for(x=1;x<=a4;x++){a5.push((x*100)+"nm")}rings=new BdccRangeRings((new GLatLng(21.247046,-157.822609)),"#008000",a7,0.5,a8,a4,a5,0,90,456);S.addOverlay(rings)}setTimeout(A,500);setTimeout(V,1000*5);setInterval(V,1000*60*5)}function aT(){jQuery("#show_age_toggle").click(d);jQuery("#show_age_toggle").attr("checked",aK);d()}function d(){aK=jQuery("#show_age_toggle").attr("checked");if(aK){jQuery(".show_age").css("visibility","visible");E()}else{jQuery(".show_age").css("visibility","hidden")}}function aa(){var a4=jQuery("#boat_label_toggle").attr("checked");if(a4){jQuery(".boat_name_label").css("visibility","visible")}else{jQuery(".boat_name_label").css("visibility","hidden")}}function A(){aq();jQuery("#loading_progress").append("<li>racers loaded</li>");w();jQuery("#loading_progress").append("<li>checkpoints loaded</li>");ac();jQuery("#loading_progress").append("<li>user preferences loaded</li>");k();aH();age_interval=10;g.age_interval=setInterval(E,age_interval*1000);E();aE(window).bind("resize",function(){l()});aE("#configure_race").click(function(){aE("#config_dialog").dialog("open")});aE("#config_dialog").dialog({height:500,width:700,title:"Configure Viewing Options",autoOpen:false,modal:true,buttons:{Cancel:function(){aE(this).dialog("close")},Apply:function(){aE(this).dialog("close");a3()}}});aE(".class_zoom").click(function(){alert("This should show all boats in this class")});aE("#zoom_racers").click(function(){aQ("racers")});aE("#zoom_course").click(function(){aQ("course")});aE(".button").hover(function(){aE(this).addClass("ui-state-hover")},function(){aE(this).removeClass("ui-state-hover")});g.time_update=setInterval(updateRaceTime,1000);aE("body").unload(function(){GUnload()});o();setInterval(o,60*1000)}function U(){return;m=ai.watch.join("");at=ai.watch;ao=ai.keep_in_view;g.default_trail_length=ai.trail_length;aE("#trail_length").val(ai.trail_length);var a6;for(var a8=0;a8<ai.watch.length;a8++){var a5="#watch"+ai.watch[a8];a9=a5.replace(/watch/,"view");aE(a5).attr("checked",true);aE(a9).attr("disabled",false)}aE(".view_cb").attr("checked",false);aE(".view_cb").attr("disabled",true);for(var a4=0;a4<ai.keep_in_view.length;a4++){var a9="#view"+ai.keep_in_view[a4];aE(a9).attr("disabled",false)}if(undefined!==ai.racers){for(var ba in ai.racers){var a7="#trail_color_"+ba;g.racers[ba].trail_color=ai.racers[ba].trail_color;aE(a7).val(ai.racers[ba].trail_color)}}}function l(){aE("body,html").css("overflow","auto");aE("#footer").width(aE(window).width()-50-al-0.5);var a5=aE("#"+aV.map_location).width();var a4=av();var a6=aI();aE("#"+aV.map_location).css("position","absolute");aE("#"+aV.map_location).css("top",aE("#left_nav").top);aE("#"+aV.map_location).height(a4);aE("#"+aV.map_location).width(a6);aE("body,html").css("overflow","hidden");if(S&&S.isLoaded()){S._lastCenter=S.getCenter();S._mapType=S.getCurrentMapType();S.checkResize();S.setCenter(S._lastCenter);S.setMapType(S._mapType)}}function af(a4){y.clearMarkers();for(var a5 in g.racers){g.racers[a5].head_marker=null;g.racers[a5].polyline_length=-1;g.racers[a5].encoded_points="";g.racers[a5].zoom_levels=""}}function aW(){l();S=new GMap2(document.getElementById(aV.map_location));S.setCenter(new GLatLng(aV.race_settings.start_lat,aV.race_settings.start_lon),aV.race_settings.start_zoom);S.setUIToDefault();GEvent.addListener(S,"mousemove",ad);if(aV.map_type=="basic"){S.setMapType(G_PHYSICAL_MAP)}else{S.setMapType(G_HYBRID_MAP)}y=new MarkerManager(S,{borderPadding:50,trackMarkers:true});a1=new MarkerManager(S,{borderPadding:50,trackMarkers:false})}function au(){var a4=new GGeoXml(aV.race_settings.course_url);S.addOverlay(a4)}function w(){var a4=aV.urls.checkpoint_url_1+aV.race_id+aV.urls.checkpoint_url_2;aE.ajax({type:"GET",dataType:"json",url:a4,success:function(a6,a5){aj(a6)},error:function(a7,a6,a5){alert("We've encountered an error retrieving checkpoint data.  Error: "+a5+"Request: "+a7+"Status: "+a6)}})}function P(){var a4="";right_now=Math.round(aB/1000/60)*60;a4="/api/2009-04-16/where_was/"+F+"/aabb/at/"+right_now+"/as/json";aE.ajax({type:"GET",dataType:"json",url:a4,async:false,success:aS,error:aJ})}function aS(a5,a4){}function aJ(a6,a5,a4){}function aO(a5){for(var a6 in a5){if((undefined!==g.polyline[a6])&&(null!==g.polyline[a6])){vertcount=g.polyline[a6].getVertexCount();last_vert=g.polyline[a6].getVertex(vertcount-1);if((undefined!==a5[a6].pos)&&(null!==a5[a6].pos)){if(a5[a6].pos.length==1){if((a5[a6].pos[0].lat-last_vert.lat()>0.00001)||(a5[a6].pos[0].lon-last_vert.lng()>0.00001)){var a4=new GLatLng(a5[a6].pos[0].lat,a5[a6].pos[0].lon);g.polyline[a6].insertVertex(vertcount,a4)}}}}}}function o(a4){right_now=Math.round(new Date().getTime()/1000/60)*60;telem_url="/api/2009-04-16/where_was/"+aV.view_id+"/"+m+"/at/"+right_now+"/as/json4";aE.ajax({type:"GET",dataType:"json",url:telem_url,async:false,success:function(a5,a6){b(a5);if(Y){N(a5);aO(a5);Y=false}if(g.initial_load_completed){}else{Q();aE(".watch_cb").attr("checked",true);aE(".view_cb").attr("disabled",false).attr("checked",false);if(g.trail_length==-1){}g.initial_load_completed=true;if(aK){E()}}},error:function(a8,a7,a6){var a5="We've encountered an error retrieving the latest telemetry.  Unfortunately, this means you may not be able to watch the race at this time.";if(g.initial_load_completed){a5+="We'll try again, but if you continue to receive this warning, you can try refreshing the page.  We're sorry."}else{a5+="You can try refreshing the page, but if this continues, you may not be able to watch at all.  Please go INSERT LOCATION HERE to read our troubleshooting FAQ."}a5+="The error we received was: "+a6}})}function I(a7,a5){if(undefined===a7.pos){return}var bd=a7.pos;var bc=g.racers[a5];var bb=new GLatLng(bd[0].lat,bd[0].lon);var a8=f(bd[0].hd,bc);var a4={icon:a8,title:bc.n};var a6=new GMarker(bb,a4);var a9=K(bd[0],bc,a5);a6._popup_html=a9;a6.bindInfoWindowHtml(a9);if((undefined!=g.racers[a5].head_marker)&&(null!=g.racers[a5].head_marker)){g.racers[a5].head_marker.setPoint(bb);g.racers[a5].head_marker.bindInfoWindowHtml(a9);if(aD){y.removeMarker(g.racers[a5].label);g.racers[a5].label.setPoint(bb)}}else{if(aD){var ba=new ELabel(bb,bc.n,"boat_name_label",new GSize(16,0));g.racers[a5].label=ba}g.racers[a5].head_marker=a6}}function N(a4){if(g.trail_length==0||g.sliding_stopped){af(a4)}for(var a5 in a4){I(a4[a5],a5);y.addMarkers([g.racers[a5].head_marker],0);if(aD){y.addMarkers([g.racers[a5].label],0)}}y.refresh();if(g.sliding_stopped){g.sliding_stopped=false}}function q(){r();r()}function r(){var a7=null;zoom_list=ao;for(var a5 in zoom_list){id=zoom_list[a5];if(g.racers[id]!==undefined){if((g.racers[id].head_marker!==undefined)&&(g.racers[id].head_marker!==null)){zoom_marker=g.racers[id].head_marker}else{}}else{}if(undefined!==zoom_marker){if(null!==zoom_marker){watch_latlng=zoom_marker.getLatLng();if(null===a7){a7=new GLatLngBounds(watch_latlng,watch_latlng)}else{a7.extend(watch_latlng)}}}}if(null!==a7){var a6=a7.getCenter();var a4=S.getBoundsZoomLevel(a7);S.setCenter(a6,a4)}else{}}function aN(){var a6=null;zoom_list=g.checkpoints;for(var a7 in zoom_list){zoom_marker=zoom_list[a7];if(null!==zoom_marker){watch_latlng=zoom_marker.getLatLng()}if(null===a6){a6=new GLatLngBounds(watch_latlng,watch_latlng)}else{a6.extend(watch_latlng)}}if(null!==a6){var a5=a6.getCenter();var a4=S.getBoundsZoomLevel(a6);S.setCenter(a5,a4)}else{}}function aQ(a4){if("racers"==a4){q()}else{aN()}}function K(a4,a8,ba){var a5='<div class="popup"><table cellspacing="0", cellpadding="0">';a5+="<tr><th> #"+a8.num+" "+a8.n+"</th></tr>";a5+='<tr><th align="right">Class:</th><td>'+a8.cls+"</td></tr>";a5+='<tr><th align="right">Miles to Finish:</th><td class="rm'+ba+'">'+a4.rm+"nm</td></tr>";a5+='<tr><th align="right">Latitude:</th><td>'+getLatitudeInDecimalMinutes(a4.lat)+"</td></tr>";a5+='<tr><th align="right">Longitude:</th><td>'+J(a4.lon)+"</td></tr>";if(D.show_altitude&&a4.alt){var a7="unkown";a7=a4.alt;if(a7>0.55){a7=a7-0.5535}a5+='<tr><th align="right">Altitude:</th><td>'+a7+" meters</td></tr>"}if("baja"==aV.map_type){var a6=knotsToMPH((a4.kts-0).toFixed(1));var a9=knotsToKPH((a4.kts-0).toFixed(1));a5+='<tr><th align="right">Speed:</th><td>'+a6.toString()+" MPH/"+a9.toString()+" KPH</td></tr>"}else{a5+='<tr><th align="right">Speed:</th><td>'+(a4.kts-0).toFixed(1).toString()+" KTS</td></tr>"}a5+='<tr><th align="right">CoG(t)</th><td>'+a4.hd+"&deg; "+ag(a4.hd)+"</td></tr>";if(D.show_temp){a5+='<tr><th align="right">Temperature</th><td>'+celsiusToFahrenheit(a4.c)+"&deg;F / "+a4.c+"&deg;C</td></tr>"}if(M){a5+='<tr><th align="right">Status:</th><td>'+a4.st+"</td></tr>"}a5+='<tr><th align="right">Boat:</th><td>'+a8.boat+"</td></tr>";a5+='<tr><th align="right">LOA:</th><td>'+a8.ft+" ft</td></tr>";if(aR){a5+='<tr><th align="right">Skipper:</th><td>'+a8.skipper+"</td></tr>"}if(ae){a5+='<tr><th align="right">Handicap Method:</th><td>'+a8.hname+"</td></tr>";a5+='<tr><th align="right">Handicap Rating:</th><td>'+a8.hval+"</td></tr>"}if(aK){a5+='<tr class="show_age"><th align="right">Time Since Report:</th><td class="'+a8.id+'_time age"></td></tr>'}a5+='<tr><th align="right">Time Reported:</th><td class="reported_'+a8.id+'">'+dateFormat(new Date(a4.t*1000),"mmm dd h:MM:ss TT Z")+"</td></tr>";a5+="</table>";if(a4.thm>=" "){a5+='<img class="mugshot" align="left" src="'+a8.thm+'" alt="'+a8.n+'">'}a5+='<div class="pop_desc">'+a8.htm+"</div></div>";return a5}function f(a6,a7){var a5=null;var a4=new GIcon();if(a7.rot=="False"){a4.image=a7.i;a4.iconAnchor=new GPoint(a7.ix,a7.iy);a4.infoWindowAnchor=new GPoint(a7.ix,a7.iy)}else{a5=aA(Math.round((360+a6)/10)*10,360);a5=a5.toString();while(a5.length<3){a5="0"+a5}a4.image=a7.i+a5+".png";a4.iconAnchor=new GPoint(a7.ix,a7.iy);a4.infoWindowAnchor=new GPoint(a7.ix,a7.iy)}return a4}function aj(a7){var be=a7.length;var a6="";if(be>0){a7.sort(ak);for(x=0;x<be;x++){var bd=a7[x];var bb=new GLatLng(bd.lat,bd.lon);var bc=new GIcon();if(bd.img!=""){bc.image=bd.img}else{bc.image=aV.race_settings.checkpoint_icon}var a8=5;var ba=5;if(bd.offx>"0"){a8=bd.offx*1}if(bd.offy>"0"){ba=bd.offy*1}bc.iconAnchor=new GPoint(a8,ba);bc.infoWindowAnchor=new GPoint(a8,ba);var a4={icon:bc};var a9='<div class="checkpoint_title">'+bd.name+"</div>";a9+='<table cellspacing="0", cellpadding="0"><thead></thead><tbody><tr><th>Latitude:</th>';a9+="<td>"+getLatitudeInDecimalMinutes(bd.lat)+"</td></tr><th>Longitude:</th>";a9+="<td>"+J(bd.lon)+"</td></tr><th>Description:</th>";a9+="<td>"+bd.desc+"</td></tr></tbody></table>";var a5=new GMarker(bb,a4);a5._popup_html=a9;a5.bindInfoWindowHtml(a9);g.checkpoints.push(a5);a1.addMarkers([a5],1);a6+='<tr id="checkpoint_'+x+'" class="checkpoint_item"><td>'+bd.name+"</td>";a6+='<td align="right">'+bd.rm+"</td></tr>"}aE("#checkpoint_table tbody").append(a6);a1.refresh();aE(".checkpoint_item").click(function(){var bi=aE(this).attr("id");var bf=bi.split("_");var bg=bf[1];var bh=g.checkpoints[bg];if(null!=bh){S.panTo(bh.getLatLng());S.openInfoWindowHtml(bh.getLatLng(),bh._popup_html)}else{S.openInfoWindowHtml(S.getCenter(),"<div>No data for this checkpoint at this time</div>")}});aE(".checkpoint_item").hover(function(){aE(this).addClass("ui-state-hover")},function(){aE(this).removeClass("ui-state-hover")})}aN()}function aq(){var a4=aV.urls.racer_url_1+aV.view_id+aV.urls.racer_url_2;var a5="/api/2009-04-16/get_view_classes/"+aV.view_id+"/as/json";aE.ajax({type:"GET",dataType:"json",url:a5,async:false,success:function(a6,a7){g.race_classes=a6},error:function(a8,a7,a6){}});aE.ajax({type:"GET",dataType:"json",url:a4,async:false,success:function(a8,a9){var ba="";for(i=0;i<a8.length;i++){var a6=a8[i].id;var a7=parseInt(a8[i].r).toString(16)+parseInt(a8[i].g).toString(16)+parseInt(a8[i].b).toString(16);ba+=a6;g.racers[a6]={};g.racers[a6].default_trail_color=a7;g.racers[a6].trail_color=a7;aE.extend(g.racers[a6],a8[i]);ao.push(a6);at.push(a6)}m=ba},error:function(a8,a7,a6){alert("Error Occurred!  Unfortunately, this likely means you won't be able to view the race.  Error was:"+a6)}})}function Q(){var bd=g.racers.length;var bc='<div id="config_accordion">';var ba="";for(var a6 in g.race_classes){var a7=g.race_classes[a6].toString();var a8=a7.replace(/ /g,"_");bc+='<h3><a href="#">'+a7+'</a></h3><div id="class_'+a8+'">';bc+="<p>Which Boats would you like to watch in this race?</p>";bc+='<table cellspacing="0", cellpadding="0"><thead><tr><th>Icon</th><th width="20%">'+aV.race_settings.racer_name+"</th>";if(aR){bc+="<th>Skipper</th>"}bc+="<th>(ToD)</th>";bc+='<th width="20%">Display</th><th width="20%">Show Trails</th></tr></thead><tbody></tbody></table></div>'}if((1==2)&&("baja"!=aV.map_type)){ba+='<span class="trail_length">Select Trail Length:</span><select class="trail_length" id="trail_length"><option value="-1">All Positions</option>';ba+='<option value="0">Current Position Only</option></select>'}ba+='<div>Maps will resize automatically so as to always include all items marked as "Always on the Map"</div></div>';aE("#configuration").prepend(bc);aE("#config_dialog").append(ba);aE("#config_accordion").accordion({header:"h3",autoHeight:false});for(var a5 in g.racers){var be=g.racers[a5].cls.toString();var a4=be.replace(/ /g,"_");var bb="#class_"+a4+" table tbody";var a9='<tr class="config_row">';a9+='<td><img src="'+g.racers[a5].i+'090.png"></td>';a9+='<td align="left">'+g.racers[a5].n+"</td>";if(aR){a9+="<td>"+g.racers[a5].skipper+"</td>"}a9+="<td>"+g.racers[a5].hval+"</td>";a9+='<td><input class="watch_cb" id="watch'+a5+'" type="checkbox" value=watch"'+a5+'" name="watch_'+a5+'"></td>';a9+='<td><input class="view_cb" id="view'+a5+'" type="checkbox" value="view'+a5+'" name="keep_'+a5+'_in_view"></td></tr>';aE(bb).prepend(a9)}aE(".view_cb").attr("disabled",true);aE(".config_row").hover(function(){aE(this).addClass("ui-state-hover")},function(){aE(this).removeClass("ui-state-hover")});aE(".watch_cb").click(function(){var bg=aE(this).attr("id");var bf=bg.replace(/watch/,"view");var bh="#"+bf;if(aE(this).attr("checked")){aE(bh).attr("disabled",false)}else{aE(bh).attr("disabled",true)}})}function a3(){var a4=aE(":checkbox");ai.keep_in_view=[];ai.watch=[];at=[];ao=[];if(aE("#trail_length option:selected")){ai.trail_length=aE("#trail_length option:selected").val()}m="";aE.each(a4,function(){if(!(aE(this).attr("disabled"))){var a8=aE(this).attr("name");var a6=a8.split("_");var a7=aE(this).attr("checked");if(a6[0]=="watch"&&a7){ai.watch.push(a6[1]);m+=a6[1];at.push(a6[1])}else{if(a6[0]=="keep"&&a7){ai.keep_in_view.push(a6[1]);ao.push(a6[1])}}}});aE(".trail_color").each(function(){var a8=aE(this).attr("id");var a7=a8.split("_");var a6=aE(this).val();if("N/A"!=a6){ai.racers[a7[2]]={};ai.racers[a7[2]].trail_color=a6;g.racers[a7[2]].trail_color=a6}});var a5=aE.toJSON(ai);aE.cookie(ar,a5,{expires:7,path:window.location.pathname,domain:"race.ionearth.com",secure:false});g.trail_length=ai.trail_length;g.default_trail_length=ai.trail_length;g.sliding_stopped=true;aH();Y=true;o();aE("#play_pause").click()}function k(){var a6="";var a5=aV.race_settings;for(var a8 in g.race_classes){var a4=g.race_classes[a8].toString();var a7=a4.replace(/ /g,"_");a6+='<h3><a href="#">'+a4+'</a><span class="class_zoom ui-icon-circle-zoomin" alt="Zoom map to this class">&nbsp;</span></h3><div id="'+a7+'_table_container" class="class_accordion">';a6+='<table cellspacing="0", cellpadding="0" id="'+a7+'_table"><thead><tr><th align="left">'+a5.racer_name+"</th><th>&nbsp;Kts</th><th>&nbsp;"+a5.race_mile_name+"</th>";a6+='<th class="show_trails"><span id="show_trails_for_class_'+a7+'">Trails</span></th>';a6+="</tr></thead>";a6+='<tbody></tbody></table><div id="none_for_'+a7+'"> You have made no selections for this class.  To make selections for this class, click the "Configure Viewing Options" button above.</div></div>'}aE("#results_tables").append(a6);aE("#results_tables").accordion({header:"h3",autoHeight:false});aE("#results_tables").accordion("activate",0);d()}function ah(){}function aH(ba){for(var a9 in g.race_classes){var a7=g.race_classes[a9];var a8=a7.replace(/ /g,"_");var a6="#"+a8+"_table tbody";var a4="#"+a8+"_table";var bd="#none_for_"+a8;aE(a6).empty();aE(a4).hide();aE(bd).show()}for(var bc in at){var a5=at[bc];if(g.racers[a5]){var a7=g.racers[a5].cls;var a8=a7.replace(/ /g,"_");var a6="#"+a8+"_table tbody";var a4="#"+a8+"_table";var bd="#none_for_"+a8;var bb='<tr id="'+a5+'" class="select_racer"><td>'+g.racers[a5].n+"</td>";bb+='<td id="'+a5+'_speed" align="right"></td>';bb+='<td id="'+a5+'_rm" align="right"></td>';bb+='<td ><input class="show_trail" type="checkbox" id="show_trail_'+a5+'" ></td>';aE(a6).append(bb);aE(a4).show();aE(bd).hide();jQuery("#show_trail_"+a5).click(aZ)}}aE(".select_racer").click(function(){var bf=aE(this).attr("id");var be=g.racers[bf].head_marker;if((undefined!==be)&&(null!==be)){S.panTo(be.getLatLng());S.openInfoWindowHtml(be.getLatLng(),be._popup_html)}else{}if((undefined!==g.polyline[bf])&&(null!==g.polyline[bf])){h(bf)}E()});aE(".select_racer").hover(function(){aE(this).addClass("ui-state-hover")},function(){aE(this).removeClass("ui-state-hover")})}function aZ(a5,a6){boat_id=this.id.substr(this.id.length-2);if(this.checked){c.push(boat_id);a(boat_id)}else{found_it=-1;for(var a4=0;a4<c.length&&-1==found_it;a4++){if(c[a4]==boat_id){found_it=a4}}if(-1<found_it){c.splice(found_it,1)}aU(boat_id)}}function T(a5,a4){if(a4!="success"){return}Y=false;G(a5)}var ab=null;function aC(a4){h(this.ionearth_racer_id)}function h(a4){if(null!==ab){W(ab)}if((undefined===g.polyline[a4])||(null===g.polyline[a4])){ab=null;return}ab=a4;if(null===t){t=GEvent.addListener(S,"mousemove",B)}g.polyline[a4].last_weight=g.polyline[a4].weight;g.polyline[a4].last_opacity=g.polyline[a4].opacity;g.polyline[a4].setStrokeStyle({weight:g.polyline[a4].opacity+z,opacity:v});if(null===u){u=new ELabel(new GLatLng(R,O),g.racers[a4].n,"trail_label",new GSize(6,0));S.addOverlay(u)}else{u.show();u.setPoint(new GLatLng(R,O));u.setContents(g.racers[a4].n)}}function p(a4,a5){W(this.ionearth_racer_id)}function W(a4){if((undefined===g.polyline[a4])||(null===g.polyline[a4])){ab=null;return}g.polyline[a4].setStrokeStyle({weight:g.polyline[a4].last_weight,opacity:g.polyline[a4].last_opacity});GEvent.removeListener(t);t=null;if(null!==u){u.hide()}ab=null}function B(a4,a5){u.setPoint(new GLatLng(a4.y,a4.x))}function ad(a4){R=a4.y;O=a4.x}var a0=new PolylineEncoder();function G(a6){var bb=false;var a7=true;for(var a5 in a6){g.racers[a5].trail_data=a6[a5];if(bb){try{var a4=new GPolyline.fromEncoded(a6[a5].trail);S.addOverlay(a4);GEvent.addListener(a4,"mouseover",function(){console.log(" Mouse is over the line ")});if((undefined!==g.polyline[a5])&&(null!==g.polyline[a5])){S.removeOverlay(g.polyline[a5])}g.polyline[a5]=a4}catch(a8){console.log("Error in display_trails - showing encoded polyling "+a8)}finally{}}if(a7){var bc=[];for(var ba=0;ba<a6[a5].pos.length;ba++){bc[ba]=new GLatLng(a6[a5].pos[ba].lat,a6[a5].pos[ba].lon)}var a9=a0.dpEncodeToGPolyline(bc);a9.weight=a6[a5].sz;a9.color="#"+a6[a5].color;a9.opacity=0.8;GEvent.addListener(a9,"mouseover",aC);GEvent.addListener(a9,"mouseout",p);a9.ionearth_vehicle_name=g.racers[a5].n;a9.ionearth_racer_id=a5;if(null!=g.polyline[a5]){S.removeOverlay(g.polyline[a5])}S.addOverlay(a9);g.polyline[a5]=a9}}}function aM(a4){for(var a5 in a4){aU(a5);G(a4)}}function a(a4){right_now=Math.round(new Date().getTime()/1000/60)*60;trail_start=1246305600;trail_units=a4;if(undefined!==g.racers[a4]){if(g.racers[a4].offst>""){trail_start=g.racers[a4].offst}if(g.racers[a4].offfn>""){if(g.racers[a4].last_time<g.racers[a4].offfn){right_now=g.racers[a4].last_time}else{right_now=g.racers[a4].offfn}}}if(trail_units.length>1){telem_url="/api/2009-04-16/sailing_telemetry/race/"+aV.view_id+"/units/"+trail_units+"/from/"+trail_start+"/to/"+right_now+"/as/json3";aE.ajax({type:"GET",dataType:"json",url:telem_url,async:false,success:aM})}}function aU(a4){if((undefined!==g.polyline[a4])&&(null!==g.polyline[a4])){S.removeOverlay(g.polyline[a4])}g.racers[a4].trail_data=null}function ax(){right_now=Math.round(new Date().getTime()/1000/60)*60;trail_start=1246305600;trail_units=c.join("");if(trail_units.length>1){telem_url="/api/2009-04-16/sailing_telemetry/race/"+aV.view_id+"/units/"+trail_units+"/from/"+trail_start+"/to/"+right_now+"/as/json3";aE.ajax({type:"GET",dataType:"json",url:telem_url,async:false,success:T})}}function b(a6){for(var a9 in a6){var a5="#"+a9+"_speed";var a8="#"+a9+"_rm";var a7=a6[a9].pos.length;if(g.racers[a9]["last_time"]!=a6[a9].pos[a7-1].t){Y=true}g.racers[a9].last_time=a6[a9].pos[a7-1].t;var a4=a6[a9].pos[a7-1].kts;jQuery(".reported_"+a9).text(dateFormat(new Date(g.racers[a9].last_time*1000),"mmm dd h:MM:ss TT Z"));aE(a5).text((a4-0).toFixed(1).toString());aE(a8).html("&nbsp;"+a6[a9].pos[a7-1].rm+"&nbsp;")}}function ak(a5,a4){try{return a5.so-a4.so}catch(a6){}}function av(){if(jQuery.browser=="safari"){}return(aE(window).height()-102-30+20)}function aI(){var a4=16;return(aE(window).width()-aE("#left_nav").width()+a4)}convert=function(){function a6(a7){return Math.round(((212-32)/100*a7+32),2)}function a4(a8){var a7=0;if(a8>0.5){a7=Math.round(a8*1.15077945,1)}else{a7=(Math.round(a8*1.15077945*10,1)/10)}return a7}function a5(a7){var a8=0;if(a7>0.5){a8=Math.round(a7*1.852,1)}else{a8=(Math.round(a7*1.852*10,1)/10)}return a8}};function ag(a9){var a5=aV.rose||aE.ionearth.defaults.rose;var a4=360/a5.length;var a7=a9+a4/2;var a8=az(a7,360);var a6=a8/a4;a6=Math.round(a6-0.5,0);return a5[a6]}function aA(a6,a5){var a4;a4=a6%a5;return a4<0?a4+a5:a4}function az(a5,a4){return a5-Math.floor(a5/a4)*a4}function L(a9,a6){if("NorthSouth"==a6){direction=["N","S"]}else{direction=["E","W"]}var a5=direction[0];if(a9<0){a5=direction[1];a9=a9*-1}var a7=Math.round(a9-0.5);var a4=(a9-a7)*60;a4=Math.round(a4*1000)/1000;var a8=a5+" "+a7+"&deg;"+a4+"'";return a8}function H(a4){var a6=new Date(a4);var a5=e[a6.getDay()]+", "+ay[a6.getMonth()];a5+=" "+a6.getDate()+", "+a6.getFullYear()+" "+aG((a6.getTime()/1000),true);return a5}var a2="";var Z="";function aG(bd,a5){if(Z==bd){return a2}Z=bd;var a8=Math.floor(bd,1);var bc={};var a7=[{num_seconds:604800,label:"w"},{num_seconds:86400,label:"d"},{num_seconds:3600,label:"h"},{num_seconds:60,label:"m"}];for(var ba=0;ba<a7.length;ba++){var a6=a7[ba]["num_seconds"];if(a8>=a6){var bb=a7[ba]["label"];var a4=Math.floor((a8/a6),1);a8-=a4*a6;bc[bb]=a4}else{bc[a7[ba]["label"]]=0}}if(bc.h<10){bc.h="0"+bc.h.toString()}if(bc.m<10){bc.m="0"+bc.m.toString()}if(a8<10){a8="0"+a8.toString()}var a9="";if(bc.w>0&&!a5){a9=bc.w+"w, "+bc.d+"d, "+bc.h+":"+bc.m+":"+a8}else{if(bc.d>0&&!a5){a9=bc.d+"d, "+bc.h+":"+bc.m+":"+a8}else{if(bc.h=="00"){a9=bc.m+":"+a8}else{a9=bc.h+":"+bc.m+":"+a8}}}a2=a9;return a9}getLatitudeInDecimalMinutes=function(a8){var a7="N";if(a8<0){a7="S";a8=a8*-1}var a5=Math.round(a8-0.5);var a4=(a8-a5)*60;a4=Math.round(a4*1000)/1000;var a6=a7+" "+a5+"&deg;"+a4+"'";return a6};function J(a8){var a7="E";if(a8<0){a7="W";a8=a8*-1}var a5=Math.round(a8-0.5);var a4=(a8-a5)*60;a4=Math.round(a4*1000)/1000;var a6=a7+" "+a5+"&deg;"+a4+"'";return a6}function s(a4){this.sex_=a4||false}s.prototype=new GOverlay();s.prototype.initialize=function(a4){this.map_=a4;this.divs_=[]};s.prototype.remove=function(){try{var a4=0;var a6=this.map_.getPane(G_MAP_MARKER_SHADOW_PANE);for(a4=0;a4<this.divs_.length;a4++){a6.removeChild(this.divs_[a4])}}catch(a5){}};s.prototype.copy=function(){return new s(this.sex_)};s.prototype.redraw=function(a7){this.remove();this.color_=this.map_.getCurrentMapType().getTextColor();var a6=this.map_.getBounds();var bh=a6.getSouthWest().lng();var bn=a6.getSouthWest().lat();var be=a6.getNorthEast().lat();var bf=a6.getNorthEast().lng();if(bn<-90){bn=-90}if(be>90){be=90}if(bh<-180){bh=-180}if(bf>180){bf=180}if(bh==bf){bh=-180;bf=180}if(be==bn){bn=-90;be=90}var bd=this.gridIntervalMins(be-bn);var a8;if(bf>bh){a8=this.gridIntervalMins(bf-bh)}else{a8=this.gridIntervalMins((180-bh)+(bf+180))}bh=Math.floor(bh*60/a8)*a8/60;bn=Math.floor(bn*60/bd)*bd/60;be=Math.ceil(be*60/bd)*bd/60;bf=Math.ceil(bf*60/a8)*a8/60;if(bn<=-90){bn=-90}if(be>=90){be=90}if(bh<-180){bh=-180}if(bf>180){bf=180}bd/=60;a8/=60;var bl=this.gridPrecision(bd);var a9=this.gridPrecision(a8);this.divs_=[];var bj=0;var a5=this.map_.fromLatLngToDivPixel(new GLatLng(bn,bh));var a4=this.map_.fromLatLngToDivPixel(new GLatLng(be,bf));this.maxX=a4.x;this.maxY=a5.y;this.minX=a5.x;this.minY=a4.y;var bc;var bb=this.map_.fromLatLngToDivPixel(new GLatLng(bn+bd+bd,bh)).y+2;var bk=this.map_.getPane(G_MAP_MARKER_SHADOW_PANE);var ba=bh;if(bf<ba){bf+=360}while(ba<=bf){var bg=this.map_.fromLatLngToDivPixel(new GLatLng(bn,ba));this.divs_[bj]=this.createVLine(bg.x);bk.insertBefore(this.divs_[bj],null);bj++;var bm=document.createElement("DIV");bc=bg.x+3;bm.style.position="absolute";bm.style.left=bc.toString()+"px";bm.style.top=bb.toString()+"px";bm.style.color=this.color_;bm.style.fontFamily="Arial";bm.style.fontSize="x-small";bm.style.whiteSpace="nowrap";if(this.sex_){bm.innerHTML=J(ba)}else{bm.innerHTML=(Math.abs(ba)).toFixed(a9)}if(ba<0){bm.title="West (WGS84)"}else{bm.title="East (WGS84)"}bk.insertBefore(bm,null);this.divs_[bj]=bm;bj++;ba+=a8;if(ba>180){bf-=360;ba-=360}}var bi=0;bc=this.map_.fromLatLngToDivPixel(new GLatLng(bn,bh+a8+a8)).x+3;while(bn<=be){var bg=this.map_.fromLatLngToDivPixel(new GLatLng(bn,bh));if(bf<bh){this.divs_[bj]=this.createHLine3(bn);bk.insertBefore(this.divs_[bj],null);bj++}else{if(bf==bh){this.divs_[bj]=this.createHLine3(bn);bk.insertBefore(this.divs_[bj],null);bj++}else{this.divs_[bj]=this.createHLine(bg.y);bk.insertBefore(this.divs_[bj],null);bj++}}var bm=document.createElement("DIV");bb=bg.y+2;bm.style.position="absolute";bm.style.left=bc.toString()+"px";bm.style.top=bb.toString()+"px";bm.style.color=this.color_;bm.style.fontFamily="Arial";bm.style.fontSize="x-small";bm.style.whiteSpace="nowrap";if(this.sex_){bm.innerHTML=getLatitudeInDecimalMinutes(bn)}else{bm.innerHTML=(Math.abs(bn)).toFixed(bl)}if(bn<0){bm.title="South (WGS84)"}else{bm.title="North (WGS84)"}if(bi!=2){bk.insertBefore(bm,null);this.divs_[bj]=bm;bj++}bi++;bn+=bd}};s.prototype.gridIntervalMins=function(a4){if(this.sex_){return this.gridIntervalSexMins(a4)}else{return this.gridIntervalDecMins(a4)}};s.prototype.gridIntervalDecMins=function(a4){var a4=a4/10;a4*=6000;a4=Math.ceil(a4)/100;if(a4<=0.06){a4=0.06}else{if(a4<=0.12){a4=0.12}else{if(a4<=0.3){a4=0.3}else{if(a4<=0.6){a4=0.6}else{if(a4<=1.2){a4=1.2}else{if(a4<=3){a4=3}else{if(a4<=6){a4=6}else{if(a4<=12){a4=12}else{if(a4<=30){a4=30}else{if(a4<=60){a4=60}else{if(a4<=(60*2)){a4=60*2}else{if(a4<=(60*5)){a4=60*5}else{if(a4<=(60*10)){a4=60*10}else{if(a4<=(60*20)){a4=60*20}else{if(a4<=(60*30)){a4=60*30}else{a4=60*45}}}}}}}}}}}}}}}return a4};s.prototype.gridIntervalSexMins=function(a4){var a4=a4/10;a4*=6000;a4=Math.ceil(a4)/100;if(a4<=0.01){a4=0.01}else{if(a4<=0.02){a4=0.02}else{if(a4<=0.05){a4=0.05}else{if(a4<=0.1){a4=0.1}else{if(a4<=0.2){a4=0.2}else{if(a4<=0.5){a4=0.5}else{if(a4<=1){a4=1}else{if(a4<=3){a4=3}else{if(a4<=6){a4=6}else{if(a4<=12){a4=12}else{if(a4<=30){a4=30}else{if(a4<=60){a4=60}else{if(a4<=(60*2)){a4=60*2}else{if(a4<=(60*5)){a4=60*5}else{if(a4<=(60*10)){a4=60*10}else{if(a4<=(60*20)){a4=60*20}else{if(a4<=(60*30)){a4=60*30}else{a4=60*45}}}}}}}}}}}}}}}}}return a4};s.prototype.gridPrecision=function(a4){if(a4<0.01){return 3}else{if(a4<0.1){return 2}else{if(a4<1){return 1}else{return 0}}}};s.prototype.createVLine=function(a4){var a5=document.createElement("DIV");a5.style.position="absolute";a5.style.overflow="hidden";a5.style.backgroundColor=this.color_;a5.style.left=a4+"px";a5.style.top=this.minY+"px";a5.style.width="1px";a5.style.height=(this.maxY-this.minY)+"px";return a5};s.prototype.createHLine=function(a5){var a4=document.createElement("DIV");a4.style.position="absolute";a4.style.overflow="hidden";a4.style.backgroundColor=this.color_;a4.style.left=this.minX+"px";a4.style.top=a5+"px";a4.style.width=(this.maxX-this.minX)+"px";a4.style.height="1px";return a4};s.prototype.createHLine3=function(a8){var a7=this.map_.fromLatLngToDivPixel(new GLatLng(a8,0));var a6=this.map_.fromLatLngToDivPixel(new GLatLng(a8,180));var a9=document.createElement("DIV");a9.style.position="absolute";a9.style.overflow="hidden";a9.style.backgroundColor=this.color_;var a5=a7.x;var a4=a6.x;if(a4<a5){a4=a7.x;a5=a6.x}a9.style.left=(a5-(a4-a5))+"px";a9.style.top=a7.y+"px";a9.style.width=((a4-a5)*3)+"px";a9.style.height="1px";return a9}})(jQuery);