// Lancer une Pop Up
function LancerPopUp(urlPopUp, nomPopUp, parametres)
{
	newWindow = window.open(urlPopUp, nomPopUp, parametres);
}

/* Fait apparaitre la popup dans l'iframe */
function showPopup(id, top, left, posId) {
  showDiv(id, posId, top, left);
}

function closePopup(id) {
  closeDiv(id);
}



var isClickInsideLink = false;

function showDiv(idDiv, idLinkClick, top, left) {
  if (!isClickInsideLink) {
    isClickInsideLink = false;
    var isClickInsideDiv = false;
    var captureClickDoc = function() {if (!isClickInsideDiv){closeDiv(idDiv,idLinkClick);}isClickInsideDiv=true;return;}
    var captureClickLink = function() {closeDiv(idDiv,idLinkClick);isClickInsideLink=true;return;}
    var captureClickDiv = function() {isClickInsideDiv=true;}
    var captureEscape = function(e) {var keyID=(window.event)?event.keyCode:e.keyCode; if (keyID==27){closeDiv(idDiv,idLinkClick);return;}} 

    document.onclick = captureClickDoc;
    $(idLinkClick).onclick = captureClickLink;
    document.onkeyup = captureEscape;
    $(idDiv).onclick = captureClickDiv;

    /* Positionne le div */
    if (!top) {
      top = 16;
    }
    if (!left) {
      left = 16;
    }
    $(idDiv).style.top = getPosY($(idLinkClick)) + top;
    $(idDiv).style.left = getPosX($(idLinkClick)) + left;

    /* Affiche le div */
    $(idDiv).style.display = "block";        
  } else {
    isClickInsideLink = false;
  }
}

function closeDiv(idDiv, idLinkClick) {	
  document.onclick = null;
  $(idDiv).onclick = null;
  document.onkeyup = null;
  $(idDiv).style.display = "none";
  if (idLinkClick) {
    $(idLinkClick).onclick = null;
  }
}

function checkPopup(idCheckbox, idDiv, idLinkClick, top, left) {
  if(idCheckbox.checked){
    showDiv(idDiv, idLinkClick, top, left);
  } else {
    closeDiv(idDiv);
  }
}


/* isole le nom de la machine */
var url = window.location.href;
         var startServer = url.indexOf("//") + 2;
         var endServer = url.indexOf("/", startServer);
         /* isole le codeMarche et le codeLangue "/XX/xx" Attention: codeMarche sur 2 ou 3 caractères */
         var startMarcheLangue = endServer;
         var endMarcheLangue = url.indexOf("/", startMarcheLangue+5); 
         /* construit la premiere partie de l'url */
         var firstPartUrl = url.substring(0, endServer) + "/cgi-bin/AF" + url.substring(startMarcheLangue, endMarcheLangue);
 
         var indexParams = url.indexOf("?");
         var params = (indexParams >= 0) ? url.substr(indexParams) : "";

         if (window.useNewSession) {
               /* supprime session BV des parametres */
               params = params.replace(/[&?]BV_SessionID=[^&?]+/, '');
               params = params.replace(/[&?]BV_EngineID=[^&?]+/, '');
               params += ((params.length == 0) ? '?' : '&') + 'useNewSession=true';
         }

	function close() {
	  closeButton = getParameter(params, "closeButton");
	  idPopup = getParameter(params, "idPopup");
	  if (closeButton != null && idPopup != null) {
	    eval("window.parent." + closeButton + "('"+ idPopup +"')");
	  } else {
	    window.close();
	  }  
	}

	function getParameter(url, parameter){
	  var indexParameter = url.indexOf(parameter);
	  if (indexParameter >= 0) {
	    var functionStart = url.indexOf("=", indexParameter) + 1;
	    var functionEnd = url.indexOf("&", functionStart);
	    if (functionEnd == -1) {
	      functionEnd = url.length;
	    }
	    return url.substring(functionStart, functionEnd);
	  } else {
	    return null;
	  }
	}
