JavaScript
var engineData = [
{ name:"E-TEC V6", data:[
{ model:"300", power:221, hc:25.6,nox:3.9, co:251},
{ model:"250", power:186, hc:6.65,nox:3.9, co:84.9},
{ model:"200", power:149, hc:10.92,nox:3.4, co:114.2}
]},
{ name:"E-TEC Inline", data:[
{ model:"90", power:65.7, hc:8.73,nox:3.6, co:69.81}
]},
{ name:"Verado I6", data:[
{ model:"300 Gen2", power:221, hc:4.90,nox:15.0, co:109.2},
{ model:"250 Gen1", power:186, hc:11.09,nox:4.0, co:278}
]} ,
{ name:"Suzuki V6", data:[
{ model:"DF200", power:149, hc:5.36,nox:7.6, co:200.9},
{ model:"DF300", power:149, hcNox:12.9, co:200}
]},
{ name:"Suzuki Midsize", data:[
{ model:"DF90", power:66.2, hc:6.48,nox:6.1, co:233.5},
{ model:"DF70A", power:51.5, hc:3.47,nox:8.9, co:60.28}
]},
{ name:"Yamaha", data:[
{ model:"F225", power:155, hc:10.686,nox:3.8, co:259.3},
]}
];
var table = document.createElement("table");
document.body.appendChild(table);
init();
function init()
{
var header = table.insertRow(-1);
header.insertCell(-1).innerHTML = "Model";
header.insertCell(-1).innerHTML = "HC+NOx";
header.insertCell(-1).innerHTML = "Star";
for(var i=0;i<engineData.length;i++)
{
var engineFamily = engineData[i];
starLimits(engineFamily);
calcStars(engineFamily);
var title = table.insertRow(-1);
var titleCell = title.insertCell(-1)
titleCell.innerHTML = engineFamily.name;
titleCell.colSpan=4;
//renderLimits(engineFamily);
renderStars(engineFamily);
}
}
function renderLimits(engineFamily)
{
var row1 = table.insertRow(-1);
var row2 = table.insertRow(-1);
for(var i=4;i>0;i--)
{
var limit = engineFamily.limits[i];
var cellStar = row1.insertCell(-1);
var cellLimit = row2.insertCell(-1);
...