function makeEditable(id)
{
        Event.observe(id, 'click', function(){edit($(id))}, false);
        Event.observe(id, 'mouseover', function(){showAsEditable($(id))}, false);
        Event.observe(id, 'mouseout', function(){showAsEditable($(id), true)}, false);
}

function showAsEditable(obj, clear)
{
        if (!clear)
        {
                Element.addClassName(obj, 'editable');
        }
        else
        {
                Element.removeClassName(obj, 'editable');
        }
}

function edit(obj)
{
        Element.hide(obj);
       var str = obj.innerHTML
       
       str=str.replace(/<br>/g,"");
       str=str.replace(/<BR>/g,"\n");
     
     
        var textarea = '<div id="'+obj.id+'_editor"><textarea id="'+obj.id+'_edit" name="'+obj.id+'" rows="3" cols="20" class="editable" style="width: 70%">'+str+'</textarea>';
        var button = '&nbsp;&nbsp;&nbsp;<input id="'+obj.id+'_save" type="button" value="Modifier" style="border: 1px solid #000" /> - <input id="'+obj.id+'_cancel" type="button" value="Annuler" style="border: 1px solid #000" /></div>';
       
        new Insertion.After(obj, textarea+button);     
               
        Event.observe(obj.id+'_save', 'click', function(){saveChanges(obj)}, false);
        Event.observe(obj.id+'_cancel', 'click', function(){cleanUp(obj)}, false);
}

function cleanUp(obj, keepEditable)
{
        Element.remove(obj.id+'_editor');
        Element.show(obj);
        if (!keepEditable) showAsEditable(obj, true);
}

function saveChanges(obj)
{
        var new_content =  escape($F(obj.id+'_edit'));
 
        obj.innerHTML   = "Enregistrement...";
        cleanUp(obj, true);
 
        var success     = function(t){editComplete(t, obj);}
        var failure     = function(t){editFailed(t, obj);}
 
        var url = '/ajax/edit.php';
        var pars = 'id='+obj.id+'&content='+new_content;
        var myAjax = new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
}
 
function editComplete(t, obj)
{
        obj.innerHTML   = t.responseText;
        showAsEditable(obj, true);
}
 
function editFailed(t, obj)
{
        obj.innerHTML   = "La modification n'a pas fonctionné.";
        cleanUp(obj);
}

//------------
//------------

function makeEditable2(id)
{
        Event.observe(id, 'click', function(){edit2($(id))}, false);
        Event.observe(id, 'mouseover', function(){showAsEditable2($(id))}, false);
        Event.observe(id, 'mouseout', function(){showAsEditable2($(id), true)}, false);
}

function showAsEditable2(obj, clear)
{
        if (!clear)
        {
                Element.addClassName(obj, 'editable');
        }
        else
        {
                Element.removeClassName(obj, 'editable');
        }
}

function edit2(obj)
{
        Element.hide(obj);
       
        var textarea = '<div id="'+obj.id+'_editor"><textarea id="'+obj.id+'_edit" name="'+obj.id+'" rows="3" cols="20" class="editable">'+obj.innerHTML+'</textarea>';
        var button = '&nbsp;&nbsp;&nbsp;<input id="'+obj.id+'_save" type="button" value="Modifier" style="border: 1px solid #000" /> - <input id="'+obj.id+'_cancel" type="button" value="Annuler" style="border: 1px solid #000" /></div>';
       
        new Insertion.After(obj, textarea+button);     
               
        Event.observe(obj.id+'_save', 'click', function(){saveChanges2(obj)}, false);
        Event.observe(obj.id+'_cancel', 'click', function(){cleanUp2(obj)}, false);
}

function cleanUp2(obj, keepEditable)
{
        Element.remove(obj.id+'_editor');
        Element.show(obj);
        if (!keepEditable) showAsEditable2(obj, true);
}

function saveChanges2(obj)
{
        var new_content =  escape($F(obj.id+'_edit'));
 
        obj.innerHTML   = "Enregistrement...";
        cleanUp(obj, true);
 
        var success     = function(t){editComplete2(t, obj);}
        var failure     = function(t){editFailed2(t, obj);}
 
        var url = '/ajax/edit2.php';
        var pars = 'id='+obj.id+'&content='+new_content;
        var myAjax = new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
}
 
function editComplete2(t, obj)
{
        obj.innerHTML   = t.responseText;
        showAsEditable2(obj, true);
}
 
function editFailed2(t, obj)
{
        obj.innerHTML   = "La modification n'a pas fonctionné.";
        cleanUp2(obj);
}

function showGarde() {
	if(document.getElementById('displayGarde').style.display=='none') {
		document.getElementById('displayGarde').style.display='block';
	}else{
		document.getElementById('displayGarde').style.display='none';
	}
}