Most likely the server-side script (statusListener-XXX.yyy, whichever you chose) is not permitted to write to the status file. You'll have to either give the appropriate permissions to allow that to happen, or modify the statusListener and the TournamentStatus.js files to read/write the tdstatus.txt file in a different location, where permissions are more open.
For example, your server may have a /tmp folder where scripts are free to read/write. You can modify the statusListener to write the file there. You might be able to modify TournamentStatus.js to read it from there, but the server will probably not be configured to allow that. In that case you might have to write another .php or .asp script that simply reads the tdstatus.txt file from the /tmp folder and returns it, like this:
<?php
// Read the tdstatus.txt file and output it.
readfile("/tmp/tdstatus.txt");
?>
You could save this script with a name like "reader.php", then change TournamentStatus.js like this:
TDStatus = {
// variables that control various features of the page
...
// URL to the tdstatus.txt file
URLStatus: "reader.php",
...
};
Now statusListener writes to the /tmp folder, where permissions are open. TournamentStatus.js no longer tries to read the file directly, because client browsers can't load files from /tmp, but instead goes to reader.php, which outputs the file back to the browser.