Event.observe(window, 'load', function() {
    var boxes = new Array();
    var i=0;
    $$('a.box').each(function(element){
        boxes[i++] = element.readAttribute('id');
    });
    var url = '/box.php5?ajax='+boxes.toJSON();
    new Ajax.Request(url, {
      method: 'get',
      onSuccess: function(transport) {
        boxesContents = transport.responseText.evalJSON();
      }
    });
    $$('a.box').each(function(element){
        Event.observe(element, 'mouseover', function(event){
            var left = Event.pointerX(event);
            var top = Event.pointerY(event);
            $('box').setStyle({left: left-20+'px', top: top+20+'px'});
            $('box').show();
            $('boxContent').update(boxesContents[this.readAttribute('id')]);
        });
        Event.observe(element, 'mouseout', function(){
            $('box').hide();
        });
    });

});