//$ =======================================================================
//$ Fonction qui ouvre une fenętre est qui conserve l'identifiant
//$ =======================================================================
function FCT_OpenWindow(strUrl, strName, strOption) 
{ 
	var strNewWindow = "";
        var ExpReg = "";
        var DefineHeight = null;
        var DefineWidth = null;
        var DefineTop = null;
        var DefineLeft = null;
        var NewTop = 0;
        var NewLeft = 0;
        var NewOption = "";
        
        //$ Recherche la valeur du 'top' de la fenętre
        ExpReg = new RegExp('top\\s*=\\s*(\\d+)', 'gi');
        if(strOption.match(ExpReg))DefineTop =  RegExp.$1;
        
        //$ Recherche la valeur du 'left' de la fenętre
        ExpReg = new RegExp('left\\s*=\\s*(\\d+)', 'gi');
        if(strOption.match(ExpReg))DefineLeft =  RegExp.$1;
        
        //$ Recherche la valeur du 'width' de la fenętre
        ExpReg = new RegExp('width\\s*=\\s*(\\d+)', 'gi');
        if(strOption.match(ExpReg))DefineWidth =  RegExp.$1;
        
        //$ Recherche la valeur du 'height' de la fenętre
        ExpReg = new RegExp('height\\s*=\\s*(\\d+)', 'gi');
        if(strOption.match(ExpReg))DefineHeight =  RegExp.$1;
        
        //$ Déterminer le nouveau 'top'
        if(DefineTop == null) //$ Si l'option ne contient pas de 'top'
        {
                // Si l'option ne contient pas de 'height' on place le 'top' en 0
                if (DefineHeight == null)DefineTop = "top=0";
                else 
                {
                        DefineTop = ((screen.availHeight - DefineHeight) / 2);
                        DefineTop = "top=" + parseInt(DefineTop);
                }       
                
                //$ Si l'option n'est pas vide
                if(strOption != "")DefineTop = "," + DefineTop;
        }
        else DefineTop = "";
        
        //$ Déterminer le nouveau 'left'
        if(DefineLeft == null) //$ Si l'option ne contient pas de 'left'
        {
                // Si l'option ne contient pas de 'width' on place le 'left' en 0
                if (DefineWidth == null)DefineLeft = "left=0";
                else
                {
                        DefineLeft = ((screen.availWidth - DefineWidth) / 2);
                        DefineLeft = "left=" + parseInt(DefineLeft);
                }
                
                //$ Si l'option n'est pas vide
                if(strOption != "")DefineLeft = "," + DefineLeft;
        }
        else DefineLeft = "";
                
        var NewOption = strOption + DefineLeft + DefineTop;        
	strNewWindow = window.open(strUrl, strName, NewOption);	
	strNewWindow.creator = self;
}

//$ =======================================================================
//$ Fonction qui ouvre une fenętre en la centrant
//$ =======================================================================
function MD_OpenWindow(strUrl, strName, strOption) 
{ 
  var strNewWindow = "";
  var ExpReg = "";
  var DefineHeight = null;
  var DefineWidth = null;
  var DefineTop = null;
  var DefineLeft = null;
  var NewTop = 0;
  var NewLeft = 0;
  var NewOption = "";
       
  //$ Recherche la valeur du 'top' de la fenętre
  ExpReg = new RegExp('top\\s*=\\s*(\\d+)', 'gi');
  if(strOption.match(ExpReg))DefineTop =  RegExp.$1;
        
  //$ Recherche la valeur du 'left' de la fenętre
  ExpReg = new RegExp('left\\s*=\\s*(\\d+)', 'gi');
  if(strOption.match(ExpReg))DefineLeft =  RegExp.$1;
        
  //$ Recherche la valeur du 'width' de la fenętre
  ExpReg = new RegExp('width\\s*=\\s*(\\d+)', 'gi');
  if(strOption.match(ExpReg))DefineWidth =  RegExp.$1;
  
  //$ Recherche la valeur du 'height' de la fenętre
  ExpReg = new RegExp('height\\s*=\\s*(\\d+)', 'gi');
  if(strOption.match(ExpReg))DefineHeight =  RegExp.$1;
  
  //$ Déterminer le nouveau 'top'
  if(DefineTop == null) //$ Si l'option ne contient pas de 'top'
  {
    // Si l'option ne contient pas de 'height' on place le 'top' en 0
    if (DefineHeight == null)DefineTop = "top=0";
    else 
    {
      DefineTop = ((screen.availHeight - DefineHeight) / 2);
      DefineTop = "top=" + parseInt(DefineTop);
    }       
    
    //$ Si l'option n'est pas vide
    if(strOption != "")DefineTop = "," + DefineTop;
  }
  else DefineTop = "";
  
  //$ Déterminer le nouveau 'left'
  if(DefineLeft == null) //$ Si l'option ne contient pas de 'left'
  {
    // Si l'option ne contient pas de 'width' on place le 'left' en 0
    if (DefineWidth == null)DefineLeft = "left=0";
    else
    {
      DefineLeft = ((screen.availWidth - DefineWidth) / 2);
      DefineLeft = "left=" + parseInt(DefineLeft);
    }
    
    //$ Si l'option n'est pas vide
    if(strOption != "")DefineLeft = "," + DefineLeft;
  }
  else DefineLeft = "";
          
  var NewOption = strOption + DefineLeft + DefineTop;        
  strNewWindow = window.open(strUrl, strName, NewOption);	
  strNewWindow.creator = self;
  return strNewWindow;
}