just a question before I actually look at your code... is that all that you want to do? Because javascript has a date object that makes these kinds of things quite simple...
Code:
<html>
<body>
<div id="results">
</div>
<script>
var days=["Sunday","Monday", "Tuesday", "Wednesday","Thursday","Friday","Saturday"]
var d=new Date(2012,9,7,0,0,0)
for (var i = 0; i < 168; i++) {
if(i<10){var pre="00"}
else if(i>9&&i<100){var pre="0"}
else{var pre=""}
document.getElementById("results").innerHTML+="prog ("+pre+i+") is "+days[d.getDay()]+" "+d.toTimeString().substr(0,5)+"<br>"
d.setHours(d.getHours()+1);
}
</script>
</body>
</html>