Get string from file after nth symbol

I've got a file, where I want to grab two fields from it. The file isn't fixed format, so all I know is that the two fields are after a certain number of delimiters within the record.

File e.g. as follows:-

"1"^"HEADER"^
"5"^"12345678"^"Smith"^"Dave"^"Mr"^"Research & Development"^"Sheffield"^"ABCDEFGH"^
"9"^"TRAILER"^

if position 2 = '5', then after the 1st ^ write the value between the ^'s to the file, then delimit by a comma (or anything), then after the 7th ^ write the value to the file, so I end up with:-

"12345678","ABCDEFGH"

Below script will print the 2nd and 8th column if the first column is "5" assuming '^' as the delimeter

awk -F"^" '{if($1=="\"5\"") print $2 "," $8}' filename