I'm not set up to test this yet, but how about using

if (dow(0) < dow(1)) { // new week

The tricky bit is figuring out how many bars there are in a week. It varies on some brokers and some weeks, so instead of the HH(n) approach you might want to use something like:

Code:
var WeeklyHigh, WeeklyLow;
var WkHi = -99999, WkLo = 99999;
if (dow(0) < dow(1)) {  // new week
  WeeklyHigh = WkHi;
  WeeklyLow = WkLo;
  WkHi = -99999;
  WkLo = 99999;
}
WkHi = max(WkHi, priceHigh(0));
WkLo = min(WkLo, priceLow(0));