var popup_object = null;
var popup_w = 0;
var popup_h = 0;
var popup_wToGo = 460;
var popup_hToGo = 320;
var popup_speedCoeff = 0.24;
var popup_content = "";


function openPopup(page, action) {
  if (!popup_object) {
    //Creation du popup
    document.body.innerHTML += "<div id='popup'></div>";
    popup_object = document.getElementById('popup');
    if (ie6) fixSelects('hide');
  }
    
  var wSpeed = Math.floor((popup_wToGo - popup_w) * popup_speedCoeff) + 1;
  var hSpeed = Math.floor((popup_hToGo - popup_h) * popup_speedCoeff) + 1;
  
  if (popup_w < popup_wToGo)
    popup_w += wSpeed;
  if (popup_h < popup_hToGo)
    popup_h += hSpeed;
  
  if (popup_w < popup_wToGo || popup_h < popup_hToGo)
    setTimeout("openPopup('"+page+"', "+action+")", 25);
  else
    getPopupContent(page, action);
  
  with (popup_object.style) {
    width       = popup_w + "px";
    height      = popup_h +"px";
    marginLeft  = (0 - (popup_w / 2)) + "px";
    marginTop   = (0 - (popup_h / 2)) + "px";
  }
}

function getPopupContent(page, action) { 
  popup_object.style.background = "#fff url(images/wait.gif) center center no-repeat";
  if (!ie)
    popup_content = ajaxSend('GET', null, 'popup&action='+action, page, false);
  else
    popup_content = IEgetNonAsync('GET', page+'?popup&action='+action);
  
  popup_object.style.background = "#fff";
  popup_object.innerHTML = popup_content;
}

function closePopup(firstPass) {
  if (firstPass) {
    popup_object.style.borderWidth = "10px";
    popup_object.innerHTML = "";
    if (ie6) fixSelects('show');
  }
  
  var wSpeed = Math.floor(popup_w * popup_speedCoeff) + 1;
  var hSpeed = Math.floor(popup_h * popup_speedCoeff) + 1;
  
  if (popup_w > 0)
    popup_w -= wSpeed;
  if (popup_h > 0)
    popup_h -= hSpeed;
  
  if (popup_w > 0 || popup_h > 0) {
    setTimeout("closePopup(false)", 25);
    with (popup_object.style) {
      width       = popup_w + "px";
      height      = popup_h +"px";
      marginLeft  = (0 - (popup_w / 2)) + "px";
      marginTop   = (0 - (popup_h / 2)) + "px";
    }
  } else {
    document.body.removeChild(popup_object);
    popup_object = null;
  }
}