( function ( _event )
{
    //@cc_on
    _event.add( window, 'load', _event.onload );
    _event.add( document, 'mousemove', _event.onmousemove );
    // destroy
    _event = null;
} )(
    ( function ()
    {
        var mx = 0, my = 0;
        return {
            add : function ( obj, event, handler )
            {
                obj && obj./*@if (@_jscript) attachEvent( 'on'+ @else@*/ addEventListener( /*@end@*/
                    ''+event, handler, false );
                // destroy
                obj = event = handler = null;
            },
            onmousemove : function ( e )
            {
                mx = e.clientX;
                my = e.clientY;
                // destroy
                e = null;
            },
            onload : function ()
            {
                var ix = -30, iy = -30;
                var objStalker = document.getElementById( 'id-stalker' );
                setInterval( function ()
                {
                    ix += ( mx - ix ) / 20;
                    iy += ( my - iy ) / 20;
                    objStalker.style.left = ix + 10 + "px";
                    objStalker.style.top  = iy +  20 + "px";
                }, 10 );
            }
        };
    } )()
);
