var UserTooltipControl = Class.create( {}, {

  init: function() {

    this.initUserTooltip( $("a.UserTooltip") );
  
  },//This is a last punched card of init function 
  

  initUserTooltip: function(oElement) {

    oElement.simpletip({fixed: true,
                        //persistent: true,
                        showEffect: 'none',
                        hideEffect: 'none',
                        content: this._serverData.sTooltipHtml,
                        onBeforeShow: this.getHandler(this, 'onBeforeTooltipShow') 
                      });
  
  
  },//This is a last punched card of initUserTooltip function 
  
  
  onBeforeTooltipShow: function(oSimpletip) {
  
    var oTooltipBlock = oSimpletip.getTooltip();
    
    if( oTooltipBlock.find('.TooltipUserInfoBlock').length == 0 ) {

      var oTarget = oSimpletip.getParent();    
      
      var aData = {};
      aData[this._serverData.aActions.sGetUserInfo] = true;
      aData['user'] = oTarget.attr('user');

      $.post(this._serverData.sRequestUrl, aData, this.getHandler(this, 'onGetUserInfoResponse', [oTooltipBlock]));
    
    }
    
  },//This is a last punched card of onBeforeTooltipShow function
  
  
  onGetUserInfoResponse: function(oTooltipBlock, mResponse) {
  
    mResponse = eval('('+mResponse+')');
  
    if(mResponse) {
    
      oTooltipBlock.find('.TooltipContentBlock').html(mResponse);
    
    }
  
  }//This is a last punched card of onGetUserInfoResponse function
  
  
}, [Control] );