Нафига у вас там calc? Делать двухколоночный макет при помощи инлайн-блоков... такого изврата я ещё не видел! У вас в вёрстке творится ад! Половина элементов вообще не нужны. Зачем вы комментируете переносы строк?
Подозреваю, что никак. Получить доступ к документу вы не сможете, соответственно посчитать высоту внутри вы тоже никак не сможете. Либо подгонять на глазок, либо забить.
Погуглите самые популярные разрешения для разных устройств (мобильники, планшеты). И выберите для себя 2-3 стоп-точки, на которых вы будете менять стили. Вот и весь секрет.
Родительское окно из которого был вызван метод .open() доступно при помощи свойства .opener. Соответственно вы можете перед вызовом метода .close() передать в родительское окно флаг, что окно закрылось программно. А затем проверять: если флага не оказалось, значит юзер сам кликнул на крестик.