			function _popup(config)
			{
				this.width 									= config['divWidth']?config['divWidth']:200;
				this.height 								= config['divHeight']?config['divHeight']:200;
				this.cssHeaderClassName 		= config['cssHeaderClassName']?config['cssHeaderClassName']:undefined;
				this.cssBodyClassName 			= config['cssBodyClassName']?config['cssBodyClassName']:undefined;
			}
			
			_popup.prototype.setVisible = function(_pTitle,_pFile,_pCallBack,_pCallArgt)
			{
				this.browserSize();
				now = new Date();
				timestamp = now.getTime();
				base = document.getElementsByTagName('body');
				
				// Création du bloc HEADER
				_headerId = "_h" + timestamp
				headerNode = document.createElement('DIV');
				headerNode.setAttribute("id",_headerId);
				
				if(this.cssHeaderClassName)
				{
					headerNode.className = this.cssHeaderClassName;
				}
				else
				{
					headerNode.style.color = 'black';
					headerNode.style.fontWeight = 'bolder';
					headerNode.style.fontFamily = 'Arial';
					headerNode.style.fontSize = '17px';
					headerNode.style.border = '0px solid black';
					headerNode.style.backgroundColor = '#ffffff';
				}

				headerNode.style.width = '100%';
				headerNode.style.height = '30px';
				
				headerNode.style.position = 'absolute';
				headerNode.style.overflow = 'hidden';
				headerNode.style.top = '0px';
				headerNode.style.left = '0px';
				//headerNode.onmousedown = this.mdown;
				//headerNode.onmouseover = this.mover;
				//headerNode.onmouseup = this.mup;
				//headerNode.onmousemove = this.mmove;
				//headerNode.onmouseout = this.mout;
				headerNode.innerHTML = _pTitle;
				
				// Création des images de navigation
				imgNode = document.createElement('IMG');
				imgNode.style.position = 'absolute';
				imgNode.style.top = '3px';
				imgNode.style.right = '3px';
				imgNode.setAttribute("align","absmiddle");
				imgNode.setAttribute("src","../img/close1.gif");
				imgNode.onmousedown =  function ()
				{
					this.parentNode.parentNode.parentNode.removeChild(document.getElementById(this.parentNode.parentNode.id));
				}

				// Création du bloc BODY
				_bodyId = "_b" + timestamp
				bodyNode = document.createElement('DIV');
				bodyNode.setAttribute("id",_bodyId);
				if(this.cssHeaderClassName)
				{
					bodyNode.className = this.cssBodyClassName;
				}
				else
				{
					bodyNode.style.border = '0px solid black';
					bodyNode.style.backgroundColor = '#FFFFFF';
					bodyNode.style.width = '100%';
					bodyNode.style.height = 'auto'; //parseInt(this.height) - parseInt(headerNode.style.height);
				}
				bodyNode.style.position = 'relative';
				bodyNode.style.overflow = 'hidden';
				bodyNode.style.top = parseInt(headerNode.style.height+1);
				bodyNode.style.left = '0px';
				bodyNode.style.margin = '10px 10px 30px 10px';

				// Création du bloc CONTAINER General
				_containerId = "_c" + timestamp
				containernode = document.createElement('DIV');
				containernode.setAttribute("id",_containerId);
				if(this.cssBodyClassName)
				{
					containernode.className = this.cssBodyClassName;
				}
				else
				{
					containernode.style.border = '1px solid black';
					containernode.style.backgroundColor = '#ffffff';
				}
				containernode.style.position = 'absolute';
				containernode.style.overflow = 'hidden';
				containernode.style.top = '280px'; // (parseInt(this.curHeight)/2)-(parseInt(this.height)/2) + 'px';
				containernode.style.left = '330px'; //(parseInt(this.curWidth)/2)-(parseInt(this.width)/2) + 'px';
				containernode.style.width = this.width + 'px';
				containernode.style.height =  this.height + 'px'; //'auto';
				containernode.style.margin = '10px';
				containernode.style.zIndex = '100';
				containernode.onmousedown = this.mdown;
				containernode.onmouseover = this.mover;
				containernode.onmouseup = this.mup;
				containernode.onmousemove = this.mmove;
				containernode.onmouseout = this.mout;

				this.container = containernode;

				// Implémentation des blocs
				headerNode.appendChild(imgNode);
				containernode.appendChild(headerNode);
				containernode.appendChild(bodyNode);
				base[0].appendChild(containernode);
			
				loadXMLDoc(_bodyId,_pFile,0,'GET',_pCallBack,_pCallArgt);
			}
			
			_popup.prototype.browserSize = function ()
			{
			  this.curWidth = 0, this.curHeight = 0;
			  
			  if( typeof( window.innerWidth ) == 'number' )
			  {
			    //Non-IE
			    this.curWidth = window.innerWidth;
			    this.curHeight = window.innerHeight;
			  }
			  else if(document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight))
			  {
			    //IE 6+ in 'standards compliant mode'
			    this.curWidth = document.documentElement.clientWidth;
			    this.curHeight = document.documentElement.clientHeight;
			  }
			  else if(document.body && ( document.body.clientWidth || document.body.clientHeight))
			  {
			    //IE 4 compatible
			    this.curWidth = document.body.clientWidth;
			    this.curHeight = document.body.clientHeight;
			  }
			}
			
			
			
			
			_popup.prototype.mup = function()
			{
				this.move = 0;
			}
      
			_popup.prototype.mover = function()
			{
				this.drag = 1;
			}

			_popup.prototype.mout = function()
			{
				this.drag = 0;
			}
      
			_popup.prototype.mmove = function(e)
			{
				if (this.move)
				{
					x = (navigator.appName=="Netscape") ? e.pageX : event.x + document.body.scrollLeft;
					y = (navigator.appName=="Netscape") ? e.pageY : event.y + document.body.scrollTop;
					if(navigator.appName.substring(0,3) == "Net") document.captureEvents(Event.mousemove);
					this.style.top = parseInt((y-this.dy)) + 'px';
					this.style.left = parseInt((x-this.dx)) + 'px';
				};
			}
			
			_popup.prototype.mdown = function(e)
			{
				x = (navigator.appName=="Netscape") ? e.pageX : event.x + document.body.scrollLeft;
				y = (navigator.appName=="Netscape") ? e.pageY : event.y + document.body.scrollTop;
				if(navigator.appName.substring(0,3) == "Net") document.captureEvents(Event.mousemove);

				if (this.drag)
				{
					this.dx = parseInt(x) - parseInt(this.style.left);
					this.dy = parseInt(y) - parseInt(this.style.top);
					this.move = 1;
				}
			}
			
			_popup.prototype.setHidden = function(_pDiv,_pFile)
			{
				imgNode.onmousedown();
				if(_pDiv && _pFile)
					loadXMLDoc(_pDiv,_pFile);
			}

