function showListForm(action) {
    switch(action) {
        case "renommer":
            listForm.getElementsByTagName("legend")[0].innerHTML = "Changement de nom (non actif)";
            listForm.getElementsByTagName("input")[1].value = "Renommer";
            listForm.getElementsByTagName("input")[1].onclick = renameNoteBook;
            break;
        case "creer":
            /* XXX - vérifier si la liste courante est sauvegardée */
            listForm.getElementsByTagName("legend")[0].innerHTML = "Nouvelle liste";
            listForm.getElementsByTagName("input")[1].value = "Créer";
            listForm.getElementsByTagName("input")[1].onclick = createNoteBook;
            break;
    }
    myGetElementById("nouveau").value = "";
    listForm.style.display = "block"; 
    myGetElementById("nouveau").focus();
}

function deleteNoteBook() {
    if (noteBookName!='') {
        if (window.confirm('Voulez-vous vraiment supprimer la liste « '+noteBookName+' » ?')) {
            /* suppression de la liste de choix */
            for (var i=0;i<optionsNoteBook.length;i++) {
                if (optionsNoteBook[i].innerHTML == noteBookName) {
                    noteBookList.removeChild(optionsNoteBook[i]);
                }
            }
            /* suppression du fichier correspondant */
            deleteFile();
            noteBookName = '';
            h2Name.innerHTML = '';
            whenob.innerHTML = '';
        }
    } else {
        alert('Pas de liste à effacer');
    }
}

function ajoutPrincipale() {
    if (noteBookName!='') {
        var texte = newText('ajouter une entrée principale');
        if (texte!=null && texte !='') {
            var li = document.createElement('li');
            li.innerHTML=texte;
            decorateNote(li);
            whenob.appendChild(li);
        }
    } else {
        alert("Aucune liste n'est chargée");
    }
}

function clickText() {
    showHideSons(this.parentNode,0);
}

function clickImage() {
    ajout(this.parentNode);
}

function clickModif() {
    currentNote = this.parentNode;
    form = myGetElementById("opform");
    form.style.display = "block";
    myGetElementById("fils").focus();
    myGetElementById("fils").value = "";
    myGetElementById("text").value = getTextSpan(currentNote).innerHTML;
    inputs = opform.getElementsByTagName("input");
    inputs[0].onclick = ajout;
    inputs[1].onclick = edition;
    inputs[2].onclick = suppression;
}

function showHideAll(mode) {
    var fils = whenob.getElementsByTagName('li');
    for (var i=0;i<fils.length;i++)
        {
            showHideSons(fils[i],mode);
        }
}

function hideForm(form) {
    //myGetElementById("opform").style.display = "none";
    myGetElementById(form).style.display = "none";
}

var formIsMoving;
var movingForm;
var formPosX;
var formPosY;
var mouseX;
var mouseY;

function mouseDownForm(event) {
    mouseX = event.clientX;
    mouseY = event.clientY;
    formIsMoving = true;
    movingForm = this.parentNode;
    document.onmousemove = moveForm;
}

function mouseUpForm(event) {
    formIsMoving = false;
    document.onmousemove = null;
}

function moveForm(event) {
    newMouseX = event.clientX;
    newMouseY = event.clientY;
    
    formPosX = movingForm.style.left;
    formPosX = formPosX.substring(0,formPosX.length-2);
    formPosY = movingForm.style.top;
    formPosY = formPosY.substring(0,formPosY.length-2);
    
    //alert (formPosX + " " + formPosY);
    
    formPosX = eval(formPosX) + newMouseX - mouseX;
    formPosY = eval (formPosY) + newMouseY - mouseY;
    
    movingForm.style.left = formPosX + "px";
    movingForm.style.top = formPosY + "px";
    
    mouseX = newMouseX;
    mouseY = newMouseY;
}

/* initialisation */
window.onload = function()
{
    modified = false;
    imagesDir = 'images/';
    whenob = myGetElementById('whenob');
    formChange = myGetElementById('changenotebook');
    noteBookList = formChange.getElementsByTagName('select')[0];
    optionsNoteBook = formChange.getElementsByTagName('option');
    /*formChange.onsubmit = changeNoteBook;*/

    h2Name = myGetElementById('notebooktitle');
    noteBookName=h2Name.innerHTML;

    /* gestion et décoration des formulaire */
    opform = myGetElementById("opform");
    opform.style.display = "none";
    opform.style.top = "200px";
    opform.style.left = "200px";
    headform = opform.getElementsByTagName("p")[0];
    headform.onmousedown = mouseDownForm;
    headform.onmouseup = mouseUpForm;
    
    listForm = myGetElementById("listForm");
    listForm.style.display = "none";
    listForm.style.top = "200px";
    listForm.style.left = "200px";
    headform = listForm.getElementsByTagName("p")[0];
    headform.onmousedown = mouseDownForm;
    headform.onmouseup = mouseUpForm;

    /* XXX preload des images */
    var image = document.createElement('img');
    image.src = imagesDir+'minus.png';
    decorateNoteBook();
}

function changeNoteBook()
{
    loadNoteBook();
    return false;
}
