";
//
// (0,0) cell is exceptional, it's a big merged cell with no choice
//
if ($nColumnIdx == 1)
{
echo "";
echo $sHeaderDesign;
echo " | ";
}
//
// Get number of choices of current Y-attribute
//
$nAttributeChoiceCount = count($listHeaderDesigns[$nBaseAttributeIdx + $nColumnIdx - 1]) - 1;
//
// Determine table cell offset, i.e. how many columns this choice occupies
//
$nColSpan = 1;
for ($nAttributeIdx = $nColumnIdx + 1; $nAttributeIdx <= $nYAttributeCount; $nAttributeIdx++)
{
$nColSpan *= (count($listHeaderDesigns[$nBaseAttributeIdx + $nAttributeIdx - 1]) - 1);
}
//
// Draw header table cells - one for each choice
//
for ($nRepeat = 1; $nRepeat <= $nRepeatChoicesBy; $nRepeat++)
{
for ($nChoiceIdx = 1; $nChoiceIdx <= $nAttributeChoiceCount; $nChoiceIdx++)
{
echo "";
echo $listHeaderDesigns[$nBaseAttributeIdx + $nColumnIdx - 1][$nChoiceIdx];
echo " | ";
}
}
//
// Content of the next row should be repeated for each choice in this row
//
$nRepeatChoicesBy = $nRepeatChoicesBy * $nAttributeChoiceCount;
//
// Row end tag
//
echo "
";
}
//
// Draw table rows
//
$listCellChoiceIndices = array();
$nAttributeIdx = 1;
$sRowHeader = "";
drawRows($nAttributeIdx, $listCellChoiceIndices, $sRowHeader);
//
// Close table tag
//
echo "";