
/*==============================================================================
 * Ce fichier contient la definition de l'objet responsable de l'affiche de contenu pour informer l'utilisateur qu'une operation est en cours. A chaque appel de show() elle affiche la div et incremente son compteur. A chaque appel de hide() elle decremente son compteur; si celui-ci vaut 0 elle cache la div. Cela signifie que si une requete AJAX n'arrive pas a terminer la div va rester indefiniment car rien n'est prevu par cet objet pour recuperer de cette situation. Les handler responsables des requete AJAX doivent s'assurer que celles-ci terminent correctement ou son arretes au bout d'un certain temps.
*/

IAD_PageController.HelpViewHandler = Class.create(
{
    initialize: function(divId)
    {
        var _div = getElt(divId);
        var _window = new Window({className: "alphacube", title: "", width:50, height:50, destroyOnClose: false, recenterAuto:false});
        var _view;
        var _PAD_X = 5;
        var _PAD_Y = 5
        _view = _window;
        _view = _div;
        if(_div)
        {
            _window.getContent().update(_div.innerHTML);
            //_window.getContent().update(_div);
        }
        this.getDiv = function ()
        {
            return _div;
        }

        var _target = null;
        this.setTarget = function(tgt)
        {
            _target = tgt;
            return this;
        }
        this.show = function(evt)
        {
            //alert("IAD_PageController.HelpViewHandler.evt.clientX=" + evt.clientX + ", evt.pointerX()="+evt.pointerX());
            _view.innerHTML = _target.info;
            _view.setStyle({left: evt.clientX + _PAD_X, top: evt.clientY + _PAD_Y});
            _view.show();
        }
        this.hide = function()
        {
            _view.hide();
        }
        this.move = function (evt)
        {
            _view.setStyle({left: evt.clientX + _PAD_X, top: evt.clientY + _PAD_Y});
        }
        var handler = this.move.bindAsEventListener(this);
        document.observe("move", handler);
    }
}
);



