Обнаружил только сейчас:
Фрагмент кода в функциях, для создания и вывода окна, нужно заменить на:
//получение вьюпорта (видимой части окна браузера), и координат щелчка мыши, с учётом прокрутки и без
var i_html = document.documentElement;
var i_viewport_w=i_html.clientWidth; //длина видимой части
var i_viewport_h=i_html.clientHeight; //высота
var i_scroll_X=window.pageXOffset; //расстояние до левого края экрана с учётом прокрутки
var i_scroll_Y=window.pageYOffset; //до верхнего
var i_clX=pp_e.clientX; //расстояние в пикселях от левого края экрана
var i_clY=pp_e.clientY; //верхнего
var i_pageX=pp_e.pageX; //..страницы
var i_pageY=pp_e.pageY;
var i_showX=i_showY=-1;
//корректировка положения и размеров блока сообщения в зависимости от того где нажато и влезает ли оно
if(i_viewport_w<(pp_w+20)) {pp_w=i_viewport_w-20; i_showX=i_scroll_X+10;} //если переданный размер заведомо > (<)
if(i_viewport_h<(pp_h+20)) {pp_h=i_viewport_h-20; i_showY=i_scroll_Y+10;}
if(i_showX==-1) {if(i_clX+pp_w<i_viewport_w) i_showX=i_pageX; //если места хватает, то сообщение выводится с того
else {if(i_clX>pp_w) i_showX=i_pageX-pp_w; //места, где щёлкнуто, иначе до него, но тоже, если
else i_showX=i_scroll_X+i_viewport_w-pp_w;}} //хватит места, иначе с минимальным смещением влево
if(i_showY==-1) {if(i_clY+pp_h<i_viewport_h) i_showY=i_pageY; //и так же по высоте.
else {if(i_clY>pp_h) i_showY=i_pageY-pp_h;
else i_showY=i_scroll_Y+i_viewport_h-pp_h;}}
//Создаётся окно сообщения
По верхней и нижней части кода видно с какого по какое место нужно производить замену.
Ошибка была в том, что вывод окна был без учёта прокрутки, и координаты рассчитывались только по видимой части экрана, теперь они считаются с прокруткой и окно выводится правильно.
По поводу тревожного звоночка, про что писал человек с шестерёнкой, я тут ещё подумал и нашёл таки истину. Всё таки это не верно. Придумывание новых слов, как и чего-то нового, если оно лучше того что было, то это не плохо. Сродни изобретению. Держаться же за старое, плохого качества, это как консерватизм без смысла - признак закостенелости, не гибкости ума и мышления. Всё-таки творческое мышление лучше. Поэтому тревожиться тут нечего ) нормальное явление. Слово барадатер конечно коряво звучит. Но дак оно производное от слова браузер, поэтому такое, но всё же получше его, так что... не надо фафа-ляля - биби задавит.