// JavaScript Document
Event.observe(window, 'load', init, false);
/*function init()
{
        makeEditable('desc');
        makeEditable('pizza');
}
 
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,id_facture)
{
        Element.hide(obj);
       
        var textarea = '<div id="'+obj.id+'_editor"><textarea id="'+obj.id+'_edit" name="'+obj.id+'" rows="4" cols="60">'+obj.innerHTML+'</textarea>';
        var button = '<div><input id="'+obj.id+'_save" type="button" value="Modifier" /> - <input id="'+obj.id+'_cancel" type="button" value="Annuler" /></div></div>';
       
        new Insertion.After(obj, textarea+button);     
               
        Event.observe(obj.id+'_save', 'click', function(){saveChanges(obj,id_facture)}, 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,id_facture)
{
        var new_content =  escape($F(obj.id+'_edit'));
 
        obj.innerHTML   = "Enregistrement..."+id_facture;
        cleanUp(obj, true);
 
        var success     = function(t){editComplete(t, obj);}
        var failure     = function(t){editFailed(t, obj);}
 
        var url = 'scripts/edit_com_client.php?id_facture='+id_facture;
        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);
}
