getOffsetPosition = function(inID, inTYPE){
     var iVal = 0;
     var oObj = document.getElementById(inID);
   
     var sType = 'oObj.offset' + inTYPE;
     while (oObj && oObj.tagName != 'BODY') {
          iVal += eval(sType);
          
          oObj = oObj.offsetParent;
     }
     return iVal;
}

function PositionBulle(idBulle,idLinkedControl,Orientation){

    var leftLinked = getOffsetPosition(idLinkedControl,'Left');
    var topLinked = getOffsetPosition(idLinkedControl,'Top');
    
    var navigatorName = navigator.appName;
    
    var dimensionsLinked = Element.getDimensions(idLinkedControl);
    var widthLinked = dimensionsLinked.width;
    var heightLinked = dimensionsLinked.height;
  
    var dimensionsBulle = Element.getDimensions(idBulle);
    var widthBulle = dimensionsBulle.width;
    var heightBulle = dimensionsBulle.height;
    
    
    var newLeft;
    var newTop;
   
    switch (Orientation){
           case 'Left':
            
                var temp = leftLinked - widthBulle ;
                if(temp < 0){
                  temp = 0;
                }
                newLeft = temp;
              
                newTop =  topLinked + (heightLinked / 2) - (heightBulle /2);
                break;
           case 'Right':
               newLeft =  leftLinked + widthLinked;
               newTop =  topLinked + (heightLinked / 2) - (heightBulle /2);
               break;
           default:
               newLeft =  leftLinked + widthLinked;
               newTop =  topLinked + (heightLinked / 2) - (heightBulle /2);
    } 
    
    
    var o = document.getElementById(idBulle);
    if(o != null){
        o.style.left = newLeft +'px';
        o.style.top = newTop +'px';
    }
   
    
}