/**
 *
 */
function Souris_getPositionEclipseHaut(p_noeud) {
    var y = p_noeud.y;
    return parseInt(y) ? y : this._getPositionEclipse(p_noeud, "Top");
}

/**
 *
 */
function Souris_getPositionEclipseGauche(p_noeud) {
    var x = p_noeud.x;
    return parseInt(x) ? x : this._getPositionEclipse(p_noeud, "Left"); 
}

/**
 *
 */
function Souris__getPositionEclipse(p_noeud, p_bord) {
    var distance = 0;
    while (p_noeud != null) {
        distance += eval('p_noeud.offset' + p_bord);
        p_noeud = p_noeud.offsetParent;
    }
    return distance;    
}

/**
 *
 */
function Souris_eclipseNoeud(p_index) {  
    var decalageHaut = document.getElementById('selection').offsetTop + document.getElementById('selection').scrollTop; 
    window.status = window.status + " ^^ " + decalageHaut 
    + "#" + document.getElementById('selection').offsetTop 
    + "#" + document.getElementById('selection').scrollTop;
    var hauteur = 16;    
    var haut = decalageHaut + p_index * hauteur;
    var bas = decalageHaut + (p_index + 1) * hauteur;
        
    if(haut < souris.getPositionHaut() && souris.getPositionHaut() <= bas) {
        return true;
    }
    return false;
}

/** 
 *
 */        
function Souris_getPositionHaut() {
    return this.positionHaut;
}

/**
 *
 */
function Souris_getPositionGauche() {
    return this.positionGauche;
}

/**
 *
 */
function Souris__initialiser() {    
    if (!(navigateur.estInternetExplorer())) {
        //document.captureEvents(Event.MOUSEOVER);
        1;								      
    }
    //document.onmousemove = rafraichirPositionSouris;
}

/**
 *
 */
function Souris() {
    //
    this.positionGauche = 0;
    this.positionHaut = 0;

    //
    this.eclipseNoeud = Souris_eclipseNoeud;
    this._getPositionEclipse = Souris__getPositionEclipse;
    this.getPositionEclipseGauche = Souris_getPositionEclipseGauche;
    this.getPositionEclipseHaut = Souris_getPositionEclipseHaut;
    this.getPositionGauche = Souris_getPositionGauche;
    this.getPositionHaut = Souris_getPositionHaut;
    this._initialiser = Souris__initialiser;
    
    // 
    this._initialiser();
}

/**
 *
 */ 
function rafraichirPositionSouris(e) {
    // Récupère les coordonnées de la souris
    if (navigateur.estInternetExplorer()) { 
        souris.positionGauche = window.event.clientX + document.body.scrollLeft;
        souris.positionHaut = window.event.clientY + document.body.scrollTop;
    } else {
        souris.positionGauche = e.pageX;
        souris.positionHaut = e.pageY;
    }  
          
    // Corrige les valeurs négatives sous Netscape 4
    if (souris.positionGauche < 0 ) {
        souris.positionGauche = 0;
    }
    if (souris.positionHaut < 0) {
        souris.positionHaut = 0;
    }  

	// Positionnement de l'infobulle
   	var decalageSouris = document.getElementById('principale').offsetTop
    	+ document.getElementById('formulaireRecherche').offsetTop
    	+ document.getElementById('critereSelection').offsetTop;
    	
    // XXX: patch à l'arrache pour le thème CCI.fr
    if (decalageSouris <400) {
    	decalageSouris = 725;
    }
    
    infobulle.setDistanceHaut(decalageSouris);
    infobulle.setDistanceGauche(souris.getPositionGauche() + 15);
}
