Чтобы открылось через 30 секунд:
setTimeout
Чтобы запомнить что уже открывали, нужно записать переменную скажем в куки: popup_opened=true;
Это можно сделать например с помощью:
jQuery Cookie
А потом, при попытке заново открыть попап, проверять наличие этой переменной.