var defTooltip = {
                    body :        false,
                    tooltip :     false,
                    enabled :     false,
                    target :      false,
                    
                    
                    init :        function()
                                    {
                                      defTooltip.body = document.getElementsByTagName( 'body' )[0];
                                      defTooltip.target  = document.getElementById('definition');
                                      defTooltip.buildDiv();
                                    },
                    buildDiv :    function()
                                    {
                                      defTooltip.defDiv = document.createElement( 'div' );
                                      defTooltip.defDiv.setAttribute( 'id', 'definition' );
                                      defTooltip.body.appendChild( defTooltip.defDiv );
                                      defTooltip.defDiv.style.visibility = 'hidden';
                                      
                                      defTooltip.btnclose = document.createElement('a');
                                      defTooltip.btnclose.setAttribute( 'class', 'srollover' );
                                      defTooltip.defDiv.appendChild(defTooltip.btnclose);
                                      
                                      defTooltip.head = document.createElement('h1');
                                      defTooltip.head.setAttribute( 'id', 'defhead' );
                                      defTooltip.defDiv.appendChild(defTooltip.head);
                                      
                                      defTooltip.text = document.createElement('div');
                                      defTooltip.text.setAttribute( 'id', 'deftext' );
                                      defTooltip.defDiv.appendChild(defTooltip.text);
                                      
                                      defTooltip.ctrl = document.createElement('div');
                                      defTooltip.ctrl.setAttribute( 'id', 'defctrl' );
                                      defTooltip.defDiv.appendChild(defTooltip.ctrl);
                                      
                                      defTooltip.addEvent(defTooltip.btnclose, 'click', function(){ defTooltip.hide() });
                                      
                                    },
                                    
                    killDiv :     function()
                                    {
                                      defTooltip.body.removeChild( defTooltip.defDiv );
                                      defTooltip.enabled = false;  
                                    },
                    
                    show :        function (word, nobb)  
                                    {
                                          	var pleft = 0;
 											var ptop = 0;
 											var laDef = document.getElementById(nobb);
 																					
											if (laDef.offsetParent) {
												pleft = laDef.offsetLeft
												ptop = laDef.offsetTop
												while (laDef = laDef.offsetParent) {
													pleft += laDef.offsetLeft
													ptop += laDef.offsetTop
												}
											}										
																				
											defTooltip.defDiv.style.top = ptop;
											defTooltip.defDiv.style.left = pleft;	
										  	defTooltip.defDiv.style.visibility = 'hidden';            
                                          	defTooltip.enabled = true;
                                          	defTooltip.getdef(word);									                      
                                    },
                                    
                    hide :        function () 
                                    {
                                      defTooltip.defDiv.style.visibility = 'hidden';
                                      defTooltip.enabled = false;
                                    },
                    
                    load :        function ()
                                    {
                  
                                      if( defTooltip.head.hasChildNodes() )
                                        {
                                               defTooltip.head.removeChild( defTooltip.head.firstChild );
                                        }
                                      
                                      var txt = document.createTextNode("Chargement...");
                                      defTooltip.head.appendChild(txt);
                                      
                                    },
                    
                    getdef :      function (word)  
                                    {
                                      var fnWhenDone = function (oXML)
                                                        {
                                                          if( defTooltip.head.hasChildNodes() )
                                                            {
                                                                   defTooltip.head.removeChild( defTooltip.head.firstChild );
                                                            }
                                                          
                                                          if( defTooltip.text.hasChildNodes() )
                                                            {
                                                                   defTooltip.text.removeChild( defTooltip.text.firstChild );
                                                            }
                                                            
                                                          xml = oXML.responseXML;
                                                          var word    = defTooltip.getNodeValue(xml, 'word' );
                                                          var definition = defTooltip.getNodeValue(xml, 'definition' );
                                                          var defword = document.createTextNode(word);
                                                          defTooltip.head.appendChild(defword);
                                                          var deftext = document.createTextNode(definition);
                                                          defTooltip.text.appendChild(deftext);
                                                          defTooltip.defDiv.style.visibility = 'visible';

                                                        };
                                      
                                      
                                      defTooltip.myConn = new XHConn();
                                      if( !defTooltip.myConn ) return;
                                      defTooltip.myConn.connect("ajDef.php", "GET", "w="+word, fnWhenDone);
                                      
    
                                    },
                                          
                    getNodeValue: function( scope, node )
                                    {
                                      return scope.getElementsByTagName( node )[0].firstChild.nodeValue;
                                    },
                    
                    toDOM :       function (value, element)
                                    {
                                      var nodes = new DOMParser().parseFromString(value, 'text/xml');
                                      var range = document.createRange();
                                      range.selectNodeContents(element);
                                      range.deleteContents();
                                      
                                      for (var i = 0; i < nodes.childNodes.length; i++)
                                      element.appendChild(nodes.childNodes[i]);
                                    },      
                  
                    addEvent:     function( obj, type, fn )
                                    { 
                                      if (obj.addEventListener) obj.addEventListener( type, fn, false );
                                      else if (obj.attachEvent) 
                                            {
                                              obj["e"+type+fn] = fn;
                                              obj[type+fn] = function() {
                                              obj["e"+type+fn]( window.event );
                                                    };
                                              obj.attachEvent( "on"+type, obj[type+fn] );
                                            }
                                    }
                  };        
                           
defTooltip.addEvent( window, 'load', function(){ defTooltip.init() });

/*var nodes = new DOMParser().parseFromString(value, 'text/xml');

var range = document.createRange();
range.selectNodeContents(element);
range.deleteContents();

for (var i = 0; i < nodes.childNodes.length; i++)
element.appendChild(nodes.childNodes[i]);*/
