// (c) RaceMyRace.com

var obj_currKmlObject=null;var obj_sharedStyles=null;function load_stylesKml(){google.earth.fetchKml(ge,styleskml_url,finish_loadStylesKml);}
function finish_loadStylesKml(kmlObject){if(!kmlObject){setTimeout(function(){alert('Bad or null KML');},0);return;}
obj_sharedStyles=kmlObject;}
function create_sharedOverlays(){var opts={};opts.href=img_ge_url+'so_redline.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0,1];opts.size=[ge.UNITS_PIXELS,ge.UNITS_PIXELS,1,75];opts.dOrder=4;so_eprog=create_groundOverlay(opts);ge.getFeatures().appendChild(so_eprog);so_eprog.setVisibility(false);so_preStart_1=ge.createScreenOverlay('');so_preStart_1.setIcon(ge.createIcon(''));so_preStart_1.getIcon().setHref(img_ge_url+'so_prestart_1.png');so_preStart_1.getOverlayXY().setXUnits(ge.UNITS_FRACTION);so_preStart_1.getOverlayXY().setYUnits(ge.UNITS_FRACTION);so_preStart_1.getOverlayXY().setX(0.5);so_preStart_1.getOverlayXY().setY(0.5);so_preStart_1.getScreenXY().setXUnits(ge.UNITS_FRACTION);so_preStart_1.getScreenXY().setYUnits(ge.UNITS_FRACTION);so_preStart_1.getScreenXY().setX(0.5);so_preStart_1.getScreenXY().setY(0.5);so_preStart_1.setDrawOrder(5);so_preStart_1.setVisibility(false);so_preStart_2=ge.createScreenOverlay('');so_preStart_2.setIcon(ge.createIcon(''));so_preStart_2.getIcon().setHref(img_ge_url+'so_prestart_2.png');so_preStart_2.getOverlayXY().setXUnits(ge.UNITS_FRACTION);so_preStart_2.getOverlayXY().setYUnits(ge.UNITS_FRACTION);so_preStart_2.getOverlayXY().setX(0.5);so_preStart_2.getOverlayXY().setY(0.5);so_preStart_2.getScreenXY().setXUnits(ge.UNITS_FRACTION);so_preStart_2.getScreenXY().setYUnits(ge.UNITS_FRACTION);so_preStart_2.getScreenXY().setX(0.5);so_preStart_2.getScreenXY().setY(0.5);so_preStart_2.setDrawOrder(5);so_preStart_2.setVisibility(false);so_preStart_3=ge.createScreenOverlay('');so_preStart_3.setIcon(ge.createIcon(''));so_preStart_3.getIcon().setHref(img_ge_url+'so_prestart_3.png');so_preStart_3.getOverlayXY().setXUnits(ge.UNITS_FRACTION);so_preStart_3.getOverlayXY().setYUnits(ge.UNITS_FRACTION);so_preStart_3.getOverlayXY().setX(0.5);so_preStart_3.getOverlayXY().setY(0.5);so_preStart_3.getScreenXY().setXUnits(ge.UNITS_FRACTION);so_preStart_3.getScreenXY().setYUnits(ge.UNITS_FRACTION);so_preStart_3.getScreenXY().setX(0.5);so_preStart_3.getScreenXY().setY(0.5);so_preStart_3.setDrawOrder(5);so_preStart_3.setVisibility(false);r_loadpreStartOverlays();opts.href=img_ge_url+'so_redline.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0,1];opts.size=[ge.UNITS_PIXELS,ge.UNITS_PIXELS,1,75];opts.dOrder=4;so_eprog=create_groundOverlay(opts);ge.getFeatures().appendChild(so_eprog);so_eprog.setVisibility(false);}
function init_ge(){load_stylesKml();create_sharedOverlays();}
function create_groundOverlay(opts){var g_overlay=ge.createScreenOverlay('');g_overlay.setIcon(ge.createIcon(''));g_overlay.getIcon().setHref(opts.href);g_overlay.getOverlayXY().setXUnits(opts.oxy[0]);g_overlay.getOverlayXY().setYUnits(opts.oxy[1]);g_overlay.getOverlayXY().setX(opts.oxy[2]);g_overlay.getOverlayXY().setY(opts.oxy[3]);g_overlay.getScreenXY().setXUnits(opts.sxy[0]);g_overlay.getScreenXY().setYUnits(opts.sxy[1]);g_overlay.getScreenXY().setX(opts.sxy[2]);g_overlay.getScreenXY().setY(opts.sxy[3]);g_overlay.getSize().setXUnits(opts.size[0]);g_overlay.getSize().setYUnits(opts.size[1]);g_overlay.getSize().setX(opts.size[2]);g_overlay.getSize().setY(opts.size[3]);g_overlay.setDrawOrder(opts.dOrder);return g_overlay;}
function create_elevationOverlays_Course(cId){var eOverlays=[];var str_cId=String("00"+cId).slice(-3);var opts={};opts.href=url_root+'data/images/'+str_cId+'_so_ele_f_grid.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0.5,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0.5,1];opts.size=[ge.UNITS_FRACTION,ge.UNITS_PIXELS,1,75];opts.dOrder=1;var so_grid_f=create_groundOverlay(opts);so_grid_f.setVisibility(false);opts.href=url_root+'data/images/'+str_cId+'_so_ele_f_line.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0.5,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0.5,1];opts.size=[ge.UNITS_FRACTION,ge.UNITS_PIXELS,1,75];opts.dOrder=3;var so_line_f=create_groundOverlay(opts);so_line_f.setVisibility(false);opts.href=url_root+'data/images/'+str_cId+'_so_ele_f_legend.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0,1];opts.size=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,-1,-1];opts.dOrder=2;var so_legend_f_l=create_groundOverlay(opts);so_legend_f_l.setVisibility(false);opts.href=url_root+'data/images/'+str_cId+'_so_ele_f_legend.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,1,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,1,1];opts.size=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,-1,-1];opts.dOrder=2;var so_legend_f_r=create_groundOverlay(opts);so_legend_f_r.setVisibility(false);eOverlays.push({so_grid:so_grid_f,so_line:so_line_f,so_legend_l:so_legend_f_l,so_legend_r:so_legend_f_r});opts.href=url_root+'data/images/'+str_cId+'_so_ele_m_grid.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0.5,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0.5,1];opts.size=[ge.UNITS_FRACTION,ge.UNITS_PIXELS,1,75];opts.dOrder=1;var so_grid_m=create_groundOverlay(opts);so_grid_m.setVisibility(false);opts.href=url_root+'data/images/'+str_cId+'_so_ele_m_line.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0.5,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0.5,1];opts.size=[ge.UNITS_FRACTION,ge.UNITS_PIXELS,1,75];opts.dOrder=3;so_line_m=create_groundOverlay(opts);so_line_m.setVisibility(false);opts.href=url_root+'data/images/'+str_cId+'_so_ele_m_legend.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,0,1];opts.size=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,-1,-1];opts.dOrder=2;var so_legend_m_l=create_groundOverlay(opts);so_legend_m_l.setVisibility(false);opts.href=url_root+'data/images/'+str_cId+'_so_ele_m_legend.png';opts.oxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,1,1];opts.sxy=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,1,1];opts.size=[ge.UNITS_FRACTION,ge.UNITS_FRACTION,-1,-1];opts.dOrder=2;var so_legend_m_r=create_groundOverlay(opts);so_legend_m_r.setVisibility(false);eOverlays.push({so_grid:so_grid_m,so_line:so_line_m,so_legend_l:so_legend_m_l,so_legend_r:so_legend_m_r});a_rM[c_rIx].race.eOverlays=eOverlays;}
function get_racerIcon(rId){var icono=(((rId/10)-parseInt(rId/10,10))*10);var istr=img_ge_url+'pm_ico_'+icono+'.png';return istr;}
function create_racerPlacemark(rId){var loc=null;var placemark=ge.createPlacemark('');placemark.setName(a_rM[c_rIx].racers[rId].rno+'');var icon=ge.createIcon('');icon.setHref(get_racerIcon(rId));var iconStyle=ge.createStyle('');iconStyle.getIconStyle().setIcon(icon);iconStyle.getIconStyle().setScale(0.5);var icon_hl=ge.createIcon('');icon_hl.setHref(get_racerIcon(rId));var iconStyle_hl=ge.createStyle('');iconStyle_hl.getIconStyle().setIcon(icon_hl);iconStyle_hl.getIconStyle().setScale(0.8);var styleMap=ge.createStyleMap('');styleMap.setNormalStyle(iconStyle);styleMap.setHighlightStyle(iconStyle_hl);placemark.setStyleSelector(styleMap);a_rM[c_rIx].racers[rId].styleMap=styleMap;if(r_r){loc=r_r.getLoc_(rId,r_r.totalTimeReal_);r_r.racers[rId].currentLoc=loc;}else{loc=a_rM[c_rIx].race.startLoc;}
var point=ge.createPoint('');point.setLatitude(loc.lat());point.setLongitude(loc.lng());point.setAltitude(loc.alt()+0.5);point.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);placemark.setGeometry(point);a_rM[c_rIx].racers[rId].pm=placemark;ge.getFeatures().appendChild(a_rM[c_rIx].racers[rId].pm);var icon_f=ge.createIcon('');icon_f.setHref(get_racerIcon(rId));var iconStyle_f=ge.createStyle('');iconStyle_f.getIconStyle().setIcon(icon_f);iconStyle_f.getIconStyle().setScale(0.7);var icon_f_hl=ge.createIcon('');icon_f_hl.setHref(get_racerIcon(rId));var iconStyle_f_hl=ge.createStyle('');iconStyle_f_hl.getIconStyle().setIcon(icon_f_hl);iconStyle_f_hl.getIconStyle().setScale(1.0);var styleMap_f=ge.createStyleMap('');styleMap_f.setNormalStyle(iconStyle_f);styleMap_f.setHighlightStyle(iconStyle_f_hl);a_rM[c_rIx].racers[rId].styleMap_f=styleMap_f;}
function create_racerPlacemarks(){for(var i=0;i<r_r.racers.length;i++){if(r_r.racers[i].complete===1){create_racerPlacemark(i);}}}
function create_racePlacemarks(){if(a_rM[c_rIx].race.sponsors){for(var i=0;i<a_rM[c_rIx].race.sponsors.length;i++){if(a_rM[c_rIx].race.sponsors[i].include_ge==1){create_sponsorPlacemark(i);}}}
a_rM[c_rIx].race.has_video=false;a_rM[c_rIx].race.has_cnote=false;a_rM[c_rIx].race.has_ptip=false;a_rM[c_rIx].race.has_sview=null;if(a_rM[c_rIx].race.placemarks){var pmtypeid;for(var i=0;i<a_rM[c_rIx].race.placemarks.length;i++){if(a_rM[c_rIx].race.placemarks[i].placemark_id==17||a_rM[c_rIx].race.placemarks[i].placemark_id==18){create_placemark_BOA(i);}else{pmtypeid=a_rM[c_rIx].race.placemarks[i].placemarktype_id;switch(pmtypeid){case 1:a_rM[c_rIx].race.has_video=true;create_videoPlacemark(i);break;case 3:a_rM[c_rIx].race.has_cnote=true;create_cnotePlacemark(i);break;case 12:a_rM[c_rIx].race.has_ptip=true;create_ptipPlacemark(i);break;default:break;}}}}
if(a_rM[c_rIx].race.models){var loc;var opts={};var modelurl='';for(var i=0;i<a_rM[c_rIx].race.models.length;i++){var textures=[];model=a_rM[c_rIx].race.models[i];for(var j=0;j<model.textures.length;j++){textures.push({sourceHref:'../images/'+model.textures[j].href_source,targetHref:mod_url+'textures/'+model.textures[j].href_target});}
loc=new simplePoint(model.latitude,model.longitude,model.altitude);opts.heading=rr_geHelpers.fixAngle(model.heading);opts.tilt=model.tilt;opts.roll=model.roll;opts.x=model.scale_x;opts.y=model.scale_y;opts.z=model.scale_z;opts.textures=textures;modelurl=mod_url+model.filename;create_modelPlacemark(i,loc,modelurl,opts);}}}
function load_racePlacemarks(){var i=0;if(r_r.race.sponsors!=null){for(i=0;i<r_r.race.sponsors.length;i++){if(r_r.race.sponsors[i].include_ge==1){ge.getFeatures().appendChild(r_r.race.sponsors[i].pm);}}}else{}
if(r_r.race.placemarks!=null){for(i=0;i<r_r.race.placemarks.length;i++){ge.getFeatures().appendChild(r_r.race.placemarks[i].pm);}}
if(r_r.race.models!=null){for(i=0;i<r_r.race.models.length;i++){ge.getFeatures().appendChild(r_r.race.models[i].pm);}}}
function create_sponsorPlacemark(idx){var placemark=ge.createPlacemark('sp_'+String("00"+c_rIx).slice(-3)+'_'+String("00"+idx).slice(-3));placemark.setName(a_rM[c_rIx].race.sponsors[idx].sponsor_name+'');var pm_ico=img_ge_url+'pm_ico_sponsor.png';var icon=ge.createIcon('');icon.setHref(pm_ico);var iconStyle=ge.createStyle('');iconStyle.getIconStyle().setIcon(icon);iconStyle.getIconStyle().setScale(0.8);var icon_hl=ge.createIcon('');icon_hl.setHref(pm_ico);var iconStyle_hl=ge.createStyle('');iconStyle_hl.getIconStyle().setIcon(icon_hl);iconStyle_hl.getIconStyle().setScale(1.2);var styleMap=ge.createStyleMap('');styleMap.setNormalStyle(iconStyle);styleMap.setHighlightStyle(iconStyle_hl);placemark.setStyleSelector(styleMap);var point=ge.createPoint('');point.setLatitude(parseFloat(a_rM[c_rIx].race.sponsors[idx].latitude));point.setLongitude(parseFloat(a_rM[c_rIx].race.sponsors[idx].longitude));point.setAltitude(0.5);point.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);placemark.setGeometry(point);a_rM[c_rIx].race.sponsors[idx].pm=placemark;}
function create_videoPlacemark(idx){var pmid='vi_'+String("00"+c_rIx).slice(-3)+'_'+String("00"+idx).slice(-3);var pmname=a_rM[c_rIx].race.placemarks[idx].placemark_name+'';var placemark=ge.createPlacemark(pmid);placemark.setName('');var pm_ico=img_ge_url+'ico_video.png';var icon=ge.createIcon('');icon.setHref(pm_ico);var iconStyle=ge.createStyle('');iconStyle.getIconStyle().setIcon(icon);iconStyle.getIconStyle().setScale(0.6);var icon_hl=ge.createIcon('');icon_hl.setHref(pm_ico);var iconStyle_hl=ge.createStyle('');iconStyle_hl.getIconStyle().setIcon(icon_hl);iconStyle_hl.getIconStyle().setScale(1.0);var styleMap=ge.createStyleMap('');styleMap.setNormalStyle(iconStyle);styleMap.setHighlightStyle(iconStyle_hl);placemark.setStyleSelector(styleMap);var point=ge.createPoint('');point.setLatitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].latitude));point.setLongitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].longitude));point.setAltitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].altitude));point.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);placemark.setGeometry(point);a_rM[c_rIx].race.placemarks[idx].pm=placemark;}
function create_cnotePlacemark(idx){var pmid='cn_'+String("00"+c_rIx).slice(-3)+'_'+String("00"+idx).slice(-3);var pmname=a_rM[c_rIx].race.placemarks[idx].placemark_name+'';var placemark=ge.createPlacemark(pmid);placemark.setName(pmname);var pm_ico=img_ge_url+'ico_cnote.png';var icon=ge.createIcon('');icon.setHref(pm_ico);var iconStyle=ge.createStyle('');iconStyle.getIconStyle().setIcon(icon);iconStyle.getIconStyle().setScale(0.6);var icon_hl=ge.createIcon('');icon_hl.setHref(pm_ico);var iconStyle_hl=ge.createStyle('');iconStyle_hl.getIconStyle().setIcon(icon_hl);iconStyle_hl.getIconStyle().setScale(1.0);var styleMap=ge.createStyleMap('');styleMap.setNormalStyle(iconStyle);styleMap.setHighlightStyle(iconStyle_hl);placemark.setStyleSelector(styleMap);var point=ge.createPoint('');point.setLatitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].latitude));point.setLongitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].longitude));point.setAltitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].altitude));point.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);placemark.setGeometry(point);a_rM[c_rIx].race.placemarks[idx].pm=placemark;}
function create_ptipPlacemark(idx){var pmid='pt_'+String("00"+c_rIx).slice(-3)+'_'+String("00"+idx).slice(-3);var pmname=a_rM[c_rIx].race.placemarks[idx].placemark_name+'';var placemark=ge.createPlacemark(pmid);placemark.setName('');var pm_ico=img_ge_url+'ico_ptip.png';var icon=ge.createIcon('');icon.setHref(pm_ico);var iconStyle=ge.createStyle('');iconStyle.getIconStyle().setIcon(icon);iconStyle.getIconStyle().setScale(0.7);var icon_hl=ge.createIcon('');icon_hl.setHref(pm_ico);var iconStyle_hl=ge.createStyle('');iconStyle_hl.getIconStyle().setIcon(icon_hl);iconStyle_hl.getIconStyle().setScale(1.0);var styleMap=ge.createStyleMap('');styleMap.setNormalStyle(iconStyle);styleMap.setHighlightStyle(iconStyle_hl);placemark.setStyleSelector(styleMap);var point=ge.createPoint('');point.setLatitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].latitude));point.setLongitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].longitude));point.setAltitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].altitude));point.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);placemark.setGeometry(point);a_rM[c_rIx].race.placemarks[idx].pm=placemark;}
function create_placemark_BOA(idx){var placemark=ge.createPlacemark('xx_'+String("00"+c_rIx).slice(-3)+'_'+String("00"+idx).slice(-3));placemark.setName(a_rM[c_rIx].race.placemarks[idx].placemark_name+'');var pm_ico=img_ge_url+'ico_boa.png';var icon=ge.createIcon('');icon.setHref(pm_ico);var iconStyle=ge.createStyle('');iconStyle.getIconStyle().setIcon(icon);iconStyle.getIconStyle().setScale(1.1);var icon_hl=ge.createIcon('');icon_hl.setHref(pm_ico);var iconStyle_hl=ge.createStyle('');iconStyle_hl.getIconStyle().setIcon(icon_hl);iconStyle_hl.getIconStyle().setScale(1.9);var styleMap=ge.createStyleMap('');styleMap.setNormalStyle(iconStyle);styleMap.setHighlightStyle(iconStyle_hl);placemark.setStyleSelector(styleMap);var point=ge.createPoint('');point.setLatitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].latitude));point.setLongitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].longitude));point.setAltitude(parseFloat(a_rM[c_rIx].race.placemarks[idx].altitude));point.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);placemark.setGeometry(point);a_rM[c_rIx].race.placemarks[idx].pm=placemark;}
function create_modelPlacemark(idx,loc,modelurl,opts){var str_kml='<?xml version="1.0" encoding="UTF-8"?>'+'<kml xmlns="http://www.opengis.net/kml/2.2">'+'  <Placemark>'+'    <name>billboard</name>'+'    <Model id="mo_'+String("00"+c_rIx).slice(-3)+'_'+String("00"+idx).slice(-3)+'">'+'     <Location>'+'      <longitude>'+loc.lng()+'</longitude>'+'      <latitude>'+loc.lat()+'</latitude>'+'      <altitude>'+loc.alt()+'</altitude>'+'     </Location>'+'     <Orientation>'+'      <heading>'+opts.heading+'</heading>'+'      <tilt>'+opts.tilt+'</tilt>'+'      <roll>'+opts.roll+'</roll>'+'     </Orientation>'+'     <Scale>'+'      <x>'+opts.x+'</x>'+'      <y>'+opts.y+'</y>'+'      <z>'+opts.z+'</z>'+'     </Scale>'+'     <Link>'+'      <href>'+modelurl+'</href>'+'     </Link>'+'     <ResourceMap>';for(var i=0;i<opts.textures.length;i++){str_kml+='<Alias>'+'       <sourceHref>'+opts.textures[i].sourceHref+'</sourceHref>'+'       <targetHref>'+opts.textures[i].targetHref+'</targetHref>'+'      </Alias>';}
str_kml+='     </ResourceMap>'+'    </Model>'+'  </Placemark>'+'</kml>';var model=ge.parseKml(str_kml);a_rM[c_rIx].race.models[idx].pm=model;}
function get_offsetLoc(loc,dist,heading){var lat=loc.lat();var lng=loc.lng();var alt=loc.alt();lat*=Math.PI/180;lng*=Math.PI/180;heading*=Math.PI/180;dist/=6371000;var lat2=Math.asin(Math.sin(lat)*Math.cos(dist)+
Math.cos(lat)*Math.sin(dist)*Math.cos(heading));var lat_new=180/Math.PI*lat2;var lng_new=180/Math.PI*(lng+Math.atan2(Math.sin(heading)*Math.sin(dist)*Math.cos(lat2),Math.cos(dist)-Math.sin(lat)*Math.sin(lat2)));return new simplePoint(lat_new,lng_new,alt);}
function simplePoint(lat,lng,alt){this.lt=lat;this.lg=lng;this.al=alt;}
simplePoint.prototype.lat=function(){return this.lt;};simplePoint.prototype.lng=function(){return this.lg;};simplePoint.prototype.alt=function(){return this.al;};function get_midLoc(loc1,loc2,percent){return new simplePoint(loc1.lat()+percent*(loc2.lat()-loc1.lat()),loc1.lng()+percent*(loc2.lng()-loc1.lng()),loc1.alt()+percent*(loc2.alt()-loc1.alt()));}
function sponsor_GE(idx){if(r_r.race.sponsors[idx].pm){if(r_r){b_playback('pause');}
r_setViewMode(3);var cam=ge.createCamera('');var lat=r_r.race.sponsors[idx].pm.getGeometry().getLatitude();var lng=r_r.race.sponsors[idx].pm.getGeometry().getLongitude();cam.set(lat,lng,3500,ge.ALTITUDE_RELATIVE_TO_GROUND,0,0,0);this.ge.getView().setAbstractView(cam);}}
function features_setAltitudeMode(mode){if(mode=='clampToGround'){var PathNodes=r_r.race.kml_paths.getFeatures();var Paths=PathNodes.getChildNodes();var numPathNodes=Paths.getLength();for(var i=0;i<numPathNodes;i++){var path=Paths.item(i);var pgeo=path.getGeometry();pgeo.setAltitudeMode(ge.ALTITUDE_CLAMP_TO_GROUND);}
var KMNodes=r_r.race.kml_km_markers.getFeatures();var kmpms=KMNodes.getChildNodes();var numKMNodes=kmpms.getLength();for(var i=0;i<numKMNodes;i++){var km=kmpms.item(i);var kmgeo=km.getGeometry();kmgeo.setAltitudeMode(ge.ALTITUDE_CLAMP_TO_GROUND);}
var MINodes=r_r.race.kml_mi_markers.getFeatures();var mipms=MINodes.getChildNodes();var numMINodes=mipms.getLength();for(var i=0;i<numMINodes;i++){var mi=mipms.item(i);var migeo=mi.getGeometry();migeo.setAltitudeMode(ge.ALTITUDE_CLAMP_TO_GROUND);}}else if(mode=='relativeToGround'){var PathNodes=r_r.race.kml_paths.getFeatures();var Paths=PathNodes.getChildNodes();var numPathNodes=Paths.getLength();for(var i=0;i<numPathNodes;i++){var path=Paths.item(i);var pgeo=path.getGeometry();pgeo.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);}
var KMNodes=r_r.race.kml_km_markers.getFeatures();var kmpms=KMNodes.getChildNodes();var numKMNodes=kmpms.getLength();for(var i=0;i<numKMNodes;i++){var km=kmpms.item(i);var kmgeo=km.getGeometry();kmgeo.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);}
var MINodes=r_r.race.kml_mi_markers.getFeatures();var mipms=MINodes.getChildNodes();var numMINodes=mipms.getLength();for(var i=0;i<numMINodes;i++){var mi=mipms.item(i);var migeo=mi.getGeometry();migeo.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);}}}