function create_element( name )
{
    var obj = document.createElement( 'DIV' );
    
    obj.setAttribute( 'id', name );

    var obj_header = document.createElement( 'DIV' );
    obj_header.setAttribute( 'id', name + '_header' );
    obj_header.setAttribute( 'class', name + '_header_direct' );

    var obj_body   = document.createElement( 'DIV' );
    obj_body.setAttribute( 'id', name + '_body' );
    obj_body.style.backgroundColor = '#f5f7ff';

    var obj_footer = document.createElement( 'DIV' );
    obj_footer.setAttribute( 'id', name + '_footer' );

    obj_body.innerText = name;

    obj.appendChild( obj_header );
    obj.appendChild( obj_body );
    obj.appendChild( obj_footer );

    return obj;
}

function position_element( i, obj, class_name )
{
    var xleft = 0;
    var xtop  = 0;
    
    var o = i;

    do {
        xleft += o.offsetLeft;
        xtop  += o.offsetTop;

    } while ( o = o.offsetParent );

    var xwidth  = i.offsetWidth  ? i.offsetWidth  : i.style.pixelWidth;
    var xheight = i.offsetHeight ? i.offsetHeight : i.style.pixelHeight;

    var bwidth =  obj.offsetWidth ? obj.offsetWidth : obj.style.pixelWidth;

    var w = window;

    var xbody  = document.compatMode == 'CSS1Compat' ? w.document.documentElement : w.document.body;
    var dwidth = xbody.clientWidth ? xbody.clientWidth : w.innerWidth;
    var bwidth = obj.offsetWidth   ? obj.offsetWidth   : obj.style.pixelWidth;

    var flip = !( xwidth - 10 + xleft + bwidth < dwidth );

    obj.style.top  = xheight - 10 + xtop + 'px';
    obj.style.left = ( xleft + xwidth - ( flip ? bwidth : 0 )  - 25 ) + 'px';

    document.getElementById( class_name + '_header' ).className = flip ? class_name + '_header_flip' : class_name + '_header_direct';

    i.focus();
    
    return false;
}

