﻿
/*****************************************************************/
/********* contextmenu: infolayer ********************************/
/*****************************************************************/
window.addEvent('domready', function() {
    $$('.info').each(build, this);
})
/******************************************************************/
/*********** context menu: document infos *************************/
/******************************************************************/
function build(el) {
    el.addEvent('mouseenter', function(event){
        this.start(el,event);
    }.bind(this));
                            
    el.addEvent('mouseleave', function(event){
        this.end(el);
    }.bind(this));
                            
    el.addEvent('trash', function(event){
        this.end(el);
    }.bind(this));
}
                        
function start(el,event) {
    var menu = el.getProperty('id');
    var menuHTML = '';
    menuHTML += '<div class="documentinfo" id="info_' + menu + '">';
    if (callingLang == 'DEU' || callingLang == '') {
    menuHTML += '<div class="documentinfo_header">Download Informationen</div>';
    }
    if (callingLang == 'ENG') {
    menuHTML += '<div class="documentinfo_header">Download information</div>';
    }
    menuHTML += '<div class="documentinfo_frame" id="frame_' + menu + '">';
    menuHTML += '<img src="/internet/img/loader.gif" />';
    menuHTML += '</div></div>';
    
    var ajax_info = new XHR({ 
        method: 'get',
        autoCancel: true,
        onSuccess: function(req) {
            if (req.trim() != '' && req.match("details_document")) {
                var frame = $('frame_' + menu);
                frame.empty();
                
                frame.setHTML(req.trim());
                
                windowSizeY = window.getHeight();
                layerSizeY = $("info_"  + menu).getSize().size.y;
                mousePositionY = event.client.y;
                testvar = mousePositionY + layerSizeY;
                
                windowSizeX = window.getWidth();
                layerSizeX = $("info_"  + menu).getSize().size.x;
                leftPosition = (windowSizeX / 2) - (layerSizeX / 2);
                mousePositionX = event.client.x;
                testvarX = mousePositionX + layerSizeX;
                
                if(testvar > windowSizeY) {
                    $(infotext_id).style.top = "-" + parseInt(layerSizeY - 17) + "px";
                } else {
                    $(infotext_id).style.top = "3px";
                }

                if(testvarX > windowSizeX) {
                    $(infotext_id).style.left = "-330px";
                } else {
                    $(infotext_id).style.left = "15px";
                }
            }
        }
    }).send('ajax_infobox.htm', 'content-id=' + menu.substring(1));
    /* /#RDE-REQUEST:rdePrefix/#/xchg/#RDE-REQUEST:rdeSessionID/#/#RDE-REQUEST:rdeProjectID/#/#RDE-REQUEST:rdeXslID/#/ajax_infobox.htm */
    if (el.getProperty('class') == 'info') {
        var infotext_id = "info_"  + el.getProperty('id');
        var menu_id    = "di_"  + el.getProperty('id');
        
        $(menu_id).setHTML(menuHTML);
        
        $(infotext_id).addClass('show');
    }

}
                        
function end(el) {
    if (el.getProperty('class') == 'info') {
        var infotext_id = "info_"  + el.getProperty('id');
        if ($(infotext_id)) {
           $(infotext_id).removeClass('show');
        }
    }
}    

