il resto della pagina (HTML) non è molto rilevante...
questo, invece, è il JavaScript esterno che attiva la funzione:
Codice PHP:
var indicator_img_path "indicator.gif";
function 
init_ibox() {
    var 
elem_wrapper "ibox";
    
createIbox(document.getElementsByTagName("body")[0]);
    var 
docRoot document.getElementsByTagName("a");
    var 
ibAttr "rel";     
    var 
e;
    for (var 
0docRoot.length 1i++) {
            
docRoot[i];
            if(
e.getAttribute(ibAttr)) {
                var 
e.getAttribute(ibAttr);
                if ((
t.indexOf("ibox") != -1)  ||  t.toLowerCase() == "ibox") { 
                        
e.onclick = function() { 
                            var 
this.getAttribute(ibAttr);
                            var 
params parseQuery(t.substr(5,999));
                            var 
url this.href;
                            if(
this.target != "") {url this.target
                            var 
title this.title;
                            
showBG();
                            
showIbox(url,title,params);
                            return 
false;
                        }; 
                }
            }
     }
}
var 
box_w_visible false;
showBG = function() {
    var 
box_w getElem('ibox_w');
    var 
opacity_level 8;
    
box_w_visible false;
    
box_w.style.opacity 0;
    
box_w.style.filter 'alpha(opacity=0)';
    for (var 
i=0;i<=opacity_level;i++) {setTimeout('setOpacity('+i+')',70*i);} 
    
setOpacity = function (value)    {
        var 
box_w getElem('ibox_w');
        
box_w.style.opacity value/10;
        
box_w.style.filter 'alpha(opacity=' value*10 ')';
        if (
value == opacity_level) {box_w_visible true;} 
    }
    
box_w.style.display "";
    var 
pagesize = new getPageSize();
    var 
scrollPos = new getScrollPos();
    var 
ua navigator.userAgent;
    if(
ua.indexOf("MSIE ") != -1) {box_w.style.width pagesize.width+'px';} 
    else {
box_w.style.width pagesize.width+'px';}
    
//box_w.style.height = document.body.scrollHeight+50+'px';
    
box_w.style.height pagesize.height+scrollPos.scrollY+'px';
}
hideBG = function() {
    var 
box_w getElem('ibox_w');
    
box_w.style.display "none";bg_opacity 0;box_w_visible false;
}
showIndicator = function() {
    var 
ibox_p getElem('ibox_progress');
    
ibox_p.style.display "";
    
posToCenter(ibox_p);
    
ibox_p.onclick = function() {hideIbox();hideIndicator();}
}
hideIndicator = function() {
    var 
ibox_p getElem('ibox_progress');
    
ibox_p.style.display "none";
    
ibox_p.onclick null;
}
createIbox = function(elem) {
    var 
strHTML "<div id=\"ibox_w\" style=\"display:none;\"></div>";
    
strHTML +=    "<div id=\"ibox_progress\" style=\"display:none;\"><img src=\""+indicator_img_path+"\" alt=\"Loading...\"";
    
strHTML +=    "style=\"width:128px;height:128px;\"/></div>";
    
strHTML +=    "<div id=\"ibox_wrapper\" style=\"display:none\">";
    
strHTML +=    "<div id=\"ibox_content\"></div>";
    
strHTML +=    "<div id=\"ibox_footer_wrapper\"><div id=\"ibox_close\" style=\"float:right;\">";
    
strHTML +=    "<a id=\"ibox_close_a\" href=\"javascript:void(null);\" >[b]<font color=\"#ffffff\">Close Win</font>[/b]</a></div>";
    
strHTML +=  "<div id=\"ibox_footer\"></div></div></div></div>";
    var 
docBody document.getElementsByTagName("body")[0];
    
docBody.style.overflowY "auto";
    var 
ibox document.createElement("div");
    
ibox.setAttribute("id","ibox");
    
ibox.innerHTML strHTML;
    
elem.appendChild(ibox);
}
var 
ibox_w_height 0;
showIbox = function(url,title,params) {
var 
ibox getElem('ibox_wrapper');
var 
ibox_type 0;

    var 
ibox_footer getElem('ibox_footer');
    if(
title != "") {ibox_footer.innerHTML title;} else {ibox_footer.innerHTML "";}
    var 
urlString = /\.jpg|\.jpeg|\.png|\.gif|\.html|\.htm|\.php|\.cfm|\.asp|\.aspx|\.jsp|\.jst|\.rb|\.txt/g;
    var 
urlType url.match(urlString);
    if(
urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif'){
        
ibox_type 0;
        
showIndicator();
        var 
imgPreloader = new Image();
        
imgPreloader.onload = function(){
            var 
pagesize = new getPageSize();
            var 
pagesize.width 100;
            var 
pagesize.height 100;
            if(
imgPreloader.width x) { 
                
imgPreloader.height imgPreloader.height * (x/imgPreloader.width); 
                
imgPreloader.width x
                if(
imgPreloader.height y) { 
                    
imgPreloader.width imgPreloader.width * (y/imgPreloader.height); 
                    
imgPreloader.height y
                }
            } 
            else if(
imgPreloader.height y) { 
                
imgPreloader.width imgPreloader.width * (y/imgPreloader.height); 
                
imgPreloader.height y
                if(
imgPreloader.width x) { 
                    
imgPreloader.height imgPreloader.height * (x/imgPreloader.width); 
                    
imgPreloader.width x;
                }
            }
            
hideIndicator();    
            var 
strHTML "<a href=\"javascript:void(null);\"><img src=\""+url+"\" style=\"width:"+imgPreloader.width+"px;height:"+imgPreloader.height+"px;border:0;\"/></a>";
            
setIBoxContent(strHTML);    
            
ibox.style.height imgPreloader.height+'px';
            
ibox.style.width imgPreloader.width+'px';
            
ibox.style.display "";
            
ibox.style.visibility "hidden";
            
posToCenter(ibox); 
            
ibox.style.visibility "visible";
        }
        
imgPreloader.src url;
    } else if(
url.indexOf("#") > 0) {
            var 
strHTML "";
            
ibox_type 1;
            var 
elemSrcId url.substr(url.indexOf("#") + 1,1000);
            var 
elemSrc getElem(elemSrcId);
            if(
elemSrc) {
                
strHTML elemSrc.innerHTML;
            }
            
setIBoxContent(strHTML);
            if(
params['height']) {ibox.style.height params['height']+'px';} 
            else {
ibox.style.height '280px';}
            if(
params['width']) {ibox.style.width params['width']+'px';} 
            else {
ibox.style.width '450px';}
            
ibox.style.display "";
            
ibox.style.visibility "hidden";
            
posToCenter(ibox); 
            
ibox.style.visibility "visible";
    }else if(
urlType=='.htm'||urlType=='.html'||urlType=='.php'||
             
urlType=='.asp'||urlType=='.aspx'||urlType=='.jsp'||
             
urlType=='.jst'||urlType=='.rb'||urlType=='.txt'||
             
urlType=='.cfm') {
            
ibox_type 2;
            
showIndicator();
            
http.open('get',url,true);
            
http.onreadystatechange = function() {
                if(
http.readyState == 4){
                    var 
response http.responseText;
                    
setIBoxContent(response);
                    
hideIndicator();
                    if(
params['height']) {ibox.style.height params['height']+'px';} 
                    else {
ibox.style.height '280px';}
                    if(
params['width']) {ibox.style.width params['width']+'px';} 
                    else {
ibox.style.width '450px';}
                    
ibox.style.display "";
                    
ibox.style.visibility "hidden";
                    
posToCenter(ibox); 
                    
ibox.style.visibility "visible";
                }
            }
            
http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
            
http.send(null);
    } 
    
ibox.style.opacity 0;
    
ibox.style.filter 'alpha(opacity=0)';    
    var 
ibox_op_level 10;
    for (var 
i=0;i<=ibox_op_level;i++) {setTimeout('setIboxOpacity('+i+')',30*i);}
    
setIboxOpacity = function (value)    {
        var 
ibox getElem('ibox_wrapper');
        
ibox.style.opacity value/10;
        
ibox.style.filter 'alpha(opacity=' value*10 ')';
    }
    if(
ibox_type == || ibox_type == 2) {
        
ibox.onclick null;
        
getElem("ibox_close_a").onclick = function() {hideIbox();}
    } else {
        
ibox.onclick hideIbox;
        
getElem("ibox_close_a").onclick null;
    }
    
window.onscroll maintPos;
}
maintPos = function() {
    var 
ibox getElem('ibox_wrapper');
    var 
box_w getElem('ibox_w');
    var 
pagesize = new getPageSize();
    var 
ua navigator.userAgent;
    if(
ua.indexOf("MSIE ") != -1) {box_w.style.width pagesize.width+'px';} 
    else {
box_w.style.width pagesize.width+'px';}
    
box_w.style.height document.body.scrollHeight+'px';
    
posToCenter(ibox);
}
hideIbox = function() {
    
hideBG();
    var 
ibox getElem('ibox_wrapper');
    
ibox.style.display "none";
    
clearIboxContent();
    
window.onscroll null;
}
posToCenter = function(elem) {
    var 
scrollPos = new getScrollPos();
    var 
pageSize = new getPageSize();
    var 
emSize = new getElementSize(elem);
    var 
Math.round(pageSize.width/2) - (emSize.width /2) + scrollPos.scrollX;
    var 
Math.round(pageSize.height/2) - (emSize.height /2) + scrollPos.scrollY;    
    
elem.style.left x+'px';elem.style.top y+'px';
}
getScrollPos = function() {
    var 
docElem document.documentElement;
    
this.scrollX self.pageXOffset || (docElem&&docElem.scrollLeft) || document.body.scrollLeft;
    
this.scrollY self.pageYOffset || (docElem&&docElem.scrollTop) || document.body.scrollTop;
}
getPageSize = function() {
        var 
docElem document.documentElement
        this
.width self.innerWidth || (docElem&&docElem.clientWidth) || document.body.clientWidth;
        
this.height self.innerHeight || (docElem&&docElem.clientHeight) || document.body.clientHeight;
}
getElementSize = function(elem) {
    
this.width elem.offsetWidth ||  elem.style.pixelWidth;
    
this.height elem.offsetHeight || elem.style.pixelHeight;
}
setIBoxContent = function(str) {
    
clearIboxContent();
    
getElem('ibox_content').innerHTML str;
}
clearIboxContent = function() {
    
getElem('ibox_content').innerHTML "";
}
getElem = function(elemId) {
    return 
document.getElementById(elemId);    
}
parseQuery = function(query) {
   var 
Params = new Object ();
   if (!
query) return Params
   var 
Pairs query.split(/[;&]/);
   for ( var 
0Pairs.lengthi++ ) {
      var 
KeyVal Pairs[i].split('=');
      if ( ! 
KeyVal || KeyVal.length != ) continue;
      var 
key unescapeKeyVal[0] );
      var 
val unescapeKeyVal[1] );
      
val val.replace(/\+/g' ');
      
Params[key] = val;
   }
   return 
Params;
}
createRequestObject = function() {
    var 
xmlhttp;
    if (!
xmlhttp && typeof XMLHttpRequest != "undefined") {
            try {
xmlhttp = new XMLHttpRequest();} catch (e) {xmlhttp false;}
    }
    return 
xmlhttp;
}
var 
http createRequestObject();
function 
addEvent(objevTypefn){ 
 if (
obj.addEventListener){ 
   
obj.addEventListener(evTypefnfalse); 
   return 
true
 } else if (
obj.attachEvent){ 
   var 
obj.attachEvent("on"+evTypefn); 
   return 
r
 } else { 
   return 
false
 } 
}
addEvent(window'load'init_ibox); 
Spero serva a capire.