Jag tog och skrev om din kod lite för att göra det något mindre. Det bör vara exakt samma funktionalitet som det du hade tidigare men tar lite mindre plats och använder färre variabler.
Har javascripts koden för den kortare versionen nedanför ifall du är intresserad:
var d = new Date();
var year = parseInt(d.getMonth()) > 9 ? d.getFullYear() + 1 : d.getFullYear();
var day = new Date(year + "-" + "09-01").getDay();
document.getElementById("date").innerHTML = (6-(day-1)) + " September " + year;
Det går självklart att optimera ytterligare men gjorde mest ett par grundliga ändringar som fortfarande håller samma funktion. Sedan finns det ett specialfall som jag inte tycks hålls. Ur koden ser jag att syftet är att man ska ta fram nästa gång den första lördagen i september framkommer. Därför tar du nästa år ifall man redan är förbi september månad. Dock får man problem om man är i september månad men redan gått förbi första lördagen eftersom den då kommer ta ett datum som redan varit (Eftersom man inte är förbi september månad än).