Eigentlich sind's nur zwei kleine Fehler:
Wie Longfang schon bemerkt hat, ist $sub in der Funktion undefiniert, ein
sollte Abhilfe schaffen.
Ansonsten musst du natürlich sämtliche Strings in Anführungszeichen setzen, sowohl in der Funktion ($style = 'nav_sub2_active'

als auch bei ihrem Aufruf.
Seh ich richtig, dass Du mit dieser Funktion entscheiden willst, ob der Link zu einer Subkategorie, den jede Seite enthält, auf diejenige zeigt, die gerade geladen ist, um ihn dann in einem anderen style darzustellen?
Ich find allerdings, dass die Lösung ziemlich umständlich is.
Guck mal, ob du folgendes gebrauchen kannst. Die Lösung wäre (falls sie denn deinem Problem entspricht) deutlich eleganter:
PHP-Code:
// du erzeugst ein Array mit einem kurzen und einfachen Wort als Schlüssel und Subkategorie-name für den Link sowie dem ausführlichen Linktitel als Wert:
$array_subs = array('start' => 'Startseite', 'referenzen' => 'Unsere Referenzen', 'kontakt' => 'Kontakt');
// Du gehst das Array durch und vergleichst seine Schlüssel mit dem Wert der Variablen $sub, die zuvor per Link an das Script übergeben wurde - wenn die Werte übereinstimmen, wählst du die entsprechende css-class, ansonsten die 'normale':
foreach($array_subs as $subkey => $subtitle)
{
if($sub == $subkey)
{
$css_class = 'active';
}
else
{
$css_class = 'normal';
}
echo "<a href=\"index.php?sub=$subkey\" class=\"$css_class\">$subtitle</a>";
}