var popArray = new Array();
var posLeft=0;
var posTop=0;

function showPopups() {
    for (i=0; i<popArray.length; i++) {
        if (popArray[i] && !popArray[i].closed) {
            popArray[i].focus();
        }
    }
}

function closePopups() {
    for (i=0; i<popArray.length; i++) {
        if (popArray[i] && !popArray[i].closed) {
            popArray[i].close();
        }
    }
}

function NewWindow(myPage, myId, w, h, scroll) {
    if (!popArray[myId] || popArray[myId].closed) {
        var winl = posLeft;
        var wint = posTop;

        params = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable';
        popArray[myId] = window.open(myPage, myId, params);

        // permet de décaler les différentes popup les unes par rapport aux autres
        if (posTop > screen.height-h-30) { posTop = 0; }
        else                             { posTop = posTop + 20; }
        if (posLeft > screen.width-w-20) { posLeft = 0; }
        else                             { posLeft = posLeft + 30; }
    }
    showPopups();
    popArray[myId].window.focus();
    return false;
}

N = (document.all) ? 0 : 1;

var ob;
var over = false;

function MD(e) {
    if (over) {

        if (N) {
            ob = document.getElementById("panel");
            X = e.layerX;
            Y = e.layerY;
            return false;
        } else {
            ob = document.getElementById("panel");
            ob = ob.style;
            X = event.offsetX;
            Y = event.offsetY;
        }
    }
}

function MM(e) {
    if (ob) {
        if (N) {
            ob.style.top = e.pageY-Y;
            ob.style.left = e.pageX-X;
        } else {
            ob.pixelLeft = event.clientX-X + document.body.scrollLeft;
            ob.pixelTop = event.clientY-Y + document.body.scrollTop;
            return false;
        }
    }
}

function MU() { ob = null; }


if (N) { document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP); }

document.onmousedown = MD;
document.onmousemove = MM;
document.onmouseup = MU;




/*/\/\/\/\/\/\/\/\/\/\/\/\/\/\   DEB: CODE JS DENIS   /\/\/\/\/\/\/\/\/\/\/\/\*/

//MM_reloadPage(true);

function ouvrePopupListe(obj, nom) {
    window.open(obj, nom, 'height=500, width=955, scrollbars=yes, resizable');
}

function confirmSup(obj) {
    ret = window.confirm('Supprimer la liste ?');
    if (!ret) { obj.href='#'; }
    return;
}

function checkNewList(oForm) {
    oForm.name.value = trim(oForm.name.value); // suppression des espaces en début et fin de chaine
    if (oForm.name.value != '') {
        oForm.submit();
        return true;
    }
    alert('ATTENTION : le nom de votre liste est vide !');
    oForm.name.value = '';
    oForm.name.select();
}

window.onresize = replaceBlock;

function initDrag() {
    new Draggable('panelFlottant'); // rend déplacable le bloc flottant 'Liste des valeurs'

    var oBlocFlot = document.getElementById("panelFlottant");
    var aLinks = oBlocFlot.getElementsByTagName("A");
    var oValDer = document.getElementsByTagName("SPAN")[0];

    // POUR tous les liens de class 'item' afficher leur dernier cours, stocké
    // dans leur EM caché, dans le cadre blanc du bas de la fenêtre flottante
    for (i=0; i<aLinks.length; i++) {
        if (aLinks[i].className == "item") {
            aLinks[i].onmouseover = function(){
                oValDer.innerHTML = "Dernier Cours " + this.getElementsByTagName("EM")[0].innerHTML;
            };
            aLinks[i].onmouseout = function(){
                oValDer.innerHTML = '';
            };
            aLinks[i].onclick = function(){
                NewWindow(this.href, this.id, '725', '550', 'yes');
                return false;
            }
        }
    }

    replaceBlock();
}

/*******************************************************************************
 * replace le panelFlottant à droite du tableau en Flash
 *******************************************************************************/
function replaceBlock(){

    var oBlocFlot = document.getElementById("panelFlottant");

    var iTd = document.getElementById("divFlash").offsetTop;
    var iWd = document.getElementById("divFlash").offsetWidth;
    var iHo = oBlocFlot.offsetHeight;
    var iWo = oBlocFlot.offsetWidth;
    var iPosX = iWd;
    var iPosY = iTd + 10;

    oBlocFlot.style.left = iPosX+"px";
    oBlocFlot.style.top  = iPosY+"px";

}


/*******************************************************************************
 * ferme le cadre flottant et affcihe le bouton "Ouvrir liste perso"
 *******************************************************************************/
function closeCadre(){
    document.getElementById("panelFlottant").style.display = "none";
    document.getElementById("btnOpenCadre").style.display = "block";
}

/*******************************************************************************
 * ouvre le cadre flottant et cache le bouton "Ouvrir liste perso"
 *******************************************************************************/
function openCadre(){
    document.getElementById("panelFlottant").style.display = "block";
    document.getElementById("btnOpenCadre").style.display = "none";
}


/**
 * Equivalent à la même fonction en PHP : supprime les espaces (blancs, tabulations, ...) en début et fin de chaine
 *
 * @author: Denis THEVENOT
 * @param: sChaine (STRING) chaine de caractères comportant d'éventuels espaces
 * @return:  (STRING) la même chaine sans les espaces avant et apres
 */
function trim(sChaine) {
   return sChaine.replace(/(^\s*)|(\s*$)/g,"");
}

/*/\/\/\/\/\/\/\/\/\/\/\/\/\/\   FIN: CODE JS DENIS   /\/\/\/\/\/\/\/\/\/\/\/\*/


