this.imagePreview = function(){
    /* CONFIG */
        xOffset = 10;
        yOffset = 20;
        // these 2 variable determine popup's distance from the cursor
        // you might want to adjust to get the right result
    /* END CONFIG */

    $$('a.preview').each(function(elm){
        
        elm.observe('mouseover',function(e){
            
            this.t = this.title;
            this.title = "";
            var c = (this.t != "") ? "<br/>" + this.t : "";
            
            mouseX = Event.pointerX(e);
            mouseY = Event.pointerY(e);
            
            if($(this).hasClassName('flash')) {
                $(document.body).insert("<p id='preview'><object width='' height=''><param name='movie' value='"+ this.rel +"'><param name='wmode' value='transparent'><embed src='"+ this.rel +"' width='' height='' wmode='transparent'></embed></object></p>");
            } else {
                $(document.body).insert("<p id='preview'><img src='"+ this.rel +"' alt='Image preview' />"+ c + '</p>');
            }
            
            $("preview").setStyle({left: (mouseX + xOffset) + "px"});
            $("preview").setStyle({top: (mouseY + yOffset) + "px"});
            $("preview").appear();
        });
        
        elm.observe('mouseout',function(){
                $("preview").remove();
        });
        
        elm.observe('mousemove', function(e){
        
             mouseX = Event.pointerX(e);
             mouseY = Event.pointerY(e);
             
             $("preview").setStyle({left: (mouseX + xOffset) + "px"});
             $("preview").setStyle({top: (mouseY + yOffset) + "px"});

        });
    });

};
