var gos, gframe;
var vp = {win:[], wh: [], xy:[]};

function setupOverShow(){

        var dynId = Math.random().toString().substring(2,5); 
        Event.observe(document,'mousemove', function (e){ vp.xy = [Event.pointerX(e), Event.pointerY(e)]; });

        var p = '<div id="osContent_' + dynId + '" style="width:426px;height:300px;position:absolute;display:none;">';
                p += '<iframe id="osFrame_' + dynId + '" src="about:blank" frameborder="0" width="426px" height="300px"></iframe></div>';
        Element.insert($$('body')[0], {bottom: p});
        gos = $('osContent_' + dynId);
        gframe = $('osFrame_' + dynId);

        gos.absolutize();

        tmp = document.viewport.getDimensions();
        vp.win = [ Math.ceil(tmp.width / 2), Math.ceil(tmp.height / 2) ];
        tmp = gos.getDimensions();
        vp.wh = [ tmp.width + 10, tmp.height + 10 ];
}


function overShow(url){
        gframe.src = url;

        if( vp.xy[0]  > vp.win[0] )
                vp.xy[0] -= vp.wh[0];
        if( vp.xy[1]  > vp.win[1] )
                vp.xy[1] -= vp.wh[1];

        gos.style.left = vp.xy[0] + 'px';
        gos.style.top = vp.xy[1] + 'px';

        gos.show();
}

function overHide(){
        gframe.src = 'about:blank';
        gos.hide();
}

Event.observe(window,'load',setupOverShow);

