var CreatorActive = false;
var RaceActive = false;
$(document).ready(function(){
window.addEventListener('message', function(event){
var data = event.data;
if (data.action == "Update") {
UpdateUI(data.type, data);
}
});
});
function secondsTimeSpanToHMS(s) {
var h = Math.floor(s/3600); //Get whole hours
s -= h*3600;
var m = Math.floor(s/60); //Get remaining minutes
s -= m*60;
return h+":"+(m < 10 ? '0'+m : m)+":"+(s < 10 ? '0'+s : s); //zero padding on minutes and seconds
}
function UpdateUI(type, data) {
if (type == "creator") {
if (data.active) {
if (!CreatorActive) {
CreatorActive = true;
$(".editor").fadeIn(300);
$("#editor-racename").html('Race: ' + data.data.RaceName);
$("#editor-checkpoints").html('Checkpoints: ' + data.data.Checkpoints.length + ' / ?');
$("#editor-keys-tiredistance").html('+ ] / - [ - Tire Distance ['+data.data.TireDistance+'.0]');
if (data.racedata.ClosestCheckpoint !== undefined && data.racedata.ClosestCheckpoint !== 0) {
$("#editor-keys-delete").html('8 - Delete Checkpoint [' + data.racedata.ClosestCheckpoint + ']');
} else {
$("#editor-keys-delete").html("");
}
} else {
$("#editor-racename").html('Race: ' + data.data.RaceName);
$("#editor-checkpoints").html('Checkpoints: ' + data.data.Checkpoints.length + ' / ?');
$("#editor-keys-tiredistance").html('+ ] / - [ - Tire Distance ['+data.data.TireDistance+'.0]');
if (data.racedata.ClosestCheckpoint !== undefined && data.racedata.ClosestCheckpoint !== 0) {
$("#editor-keys-delete").html('8 - Delete Checkpoint [' + data.racedata.ClosestCheckpoint + ']');
} else {
$("#editor-keys-delete").html("");
}
}
} else {
CreatorActive = false;
$(".editor").fadeOut(300);
}
} else if (type == "race") {
if (data.active) {
if (!RaceActive) {
RaceActive = true;
$(".editor").hide();
$(".race").fadeIn(300);
$("#race-racename").html('Race: ' + data.data.RaceName);
$("#race-checkpoints").html('Checkpoint: ' + data.data.CurrentCheckpoint + ' / ' + data.data.TotalCheckpoints);
if (data.data.TotalLaps == 0) {
$("#race-lap").html('Round: Sprint');
} else {
$("#race-lap").html('Round: ' + data.data.CurrentLap + ' / ' + data.data.TotalLaps);
}
$("#race-time").html('Round Time: ' + secondsTimeSpanToHMS(data.data.Time));
if (data.data.BestLap !== 0) {
$("#race-besttime").html('Best Round: ' + secondsTimeSpanToHMS(data.data.BestLap));
} else {
$("#race-besttime").html('Best Round: N/A');
}
$("#race-totaltime").html('Total Time: ' + secondsTimeSpanToHMS(data.data.TotalTime));
} else {
$("#race-racename").html('Race: ' + data.data.RaceName);
$("#race-checkpoints").html('Checkpoint: ' + data.data.CurrentCheckpoint + ' / ' + data.data.TotalCheckpoints);
if (data.data.TotalLaps == 0) {
$("#race-lap").html('Round: Sprint');
} else {
$("#race-lap").html('Round: ' + data.data.CurrentLap + ' / ' + data.data.TotalLaps);
}
$("#race-time").html('Round Time: ' + secondsTimeSpanToHMS(data.data.Time));
if (data.data.BestLap !== 0) {
$("#race-besttime").html('Best Round: ' + secondsTimeSpanToHMS(data.data.BestLap));
} else {
$("#race-besttime").html('Best Round: N/A');
}
$("#race-totaltime").html('Total Time: ' + secondsTimeSpanToHMS(data.data.TotalTime));
}
} else {
RaceActive = false;
$(".editor").hide();
$(".race").fadeOut(300);
}
}
}