--- /usr/bin/tv_grab_au.pl.orig	2005-03-06 22:56:02.000000000 +1000
+++ /usr/bin/tv_grab_au.pl	2005-11-07 18:36:58.501411884 +1000
@@ -199,7 +212,7 @@
 $ua->conn_cache($conn_cache);
 
 my $guide_url = "http://tvguide.ninemsn.com.au/guide/";
-my $details_url = "http://tvguide.ninemsn.com.au/closeup/default.asp?pid=";
+my $details_url = "http://tvguide.ninemsn.com.au/cu/default.asp?pid=";
 my $XMLTV_prefix = $source . "." . $location . ".";
 my $XMLTV_suffix = "." . $XMLTVID_URL;
 
@@ -371,17 +386,19 @@
 	my @names;
 	foreach my $line (@day_lines) {
 		foreach my $link (split /\n|tr|TR|TD|tr/, $line ) {
-			if ($link =~ /closeup\/default.asp/) {
+			if ($link =~ /(cu|closeup)\/default.asp/) {
 				my $rowspan = $link;
 				$rowspan =~ s/.+rowspan=//g;
 				$rowspan =~ s/ .+//g;
 				
 				my $name = $link;
-				$name =~ s/.+target=new>(<P>|)//g;
+				$name =~ s/.+target=(_)?new( class=tv)?>(<P>|)//g;
 				$name =~ s/<\/a>.+//g;
 			
 				$link =~ s/.+pid=//g;
-				$link =~ s/".+//g; #"
+				$link =~ s/&.+//g; #&
+				$link =~ s/ .+//g; #&
+				$link =~ s/[^\d]+$//g;
 				if (($rowspan =~ /\d+/) and ($link =~ /\d\d+/)) {
 					push @pids, $link;
 					push @rowspans, $rowspan;
@@ -631,6 +654,16 @@
 	return sprintf "+%d%02d",$offset/3600,($offset/60)%60;
 }
 
+sub jz {
+	my ($z) = @_;
+	my ($y);
+
+	$z =~ s/%(..)/chr(hex($1))/eg;
+	($y = $z) =~ s/(.)/chr(ord($1) - 1)/eg;
+	$y =~ s/%(..)/chr(hex($1))/eg;
+	return $y;
+}
+
 sub get_day 
 {
 	my $date = shift;
@@ -650,6 +683,7 @@
 	if (open(GUIDE, $guide_file)) {
 		@guide_lines = <GUIDE>;
 		close(GUIDE);
+		s/jz\('([^']+)'\);/jz($1)/eg foreach (@guide_lines);
 	} else {
 		@guide_lines = ();
 		print "giving up on $guide_file\n";
