var EnEdition = false
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,mode,avecbtn)
{
        Element.hide(obj);
      // alert(obj.innerHTML)
//        var textarea = '<div id="'+obj.id+'_editor"><textarea id="'+obj.id+'_edit" name="'+obj.id+'" rows="4" cols="60">'+obj.innerHTML+'</textarea>';
		
        if(mode!=2){
			var div = '<div id="'+obj.id+'_editor">'+
        		  '<table cellpadding="0" cellspacing="O" border="0" width="144" height="20" align="center"><tr  height="20">'+
        			'	<td width="102" align="left" valign="middle"><input id="'+obj.id+'_edit" name="'+obj.id+'"value="'+obj.innerHTML+'" class="input_class2" style="width: 150px;"></td>';
        	if(avecbtn=='oui'){
        	  div+='	<td width="22" align="center" valign="middle"><span id="'+obj.id+'_save" class="style_lien2" /><img src="image/enregistre.png" alt="Sauver" border="0"></span></td>'+
        			'	<td width="20" align="center" valign="middle"><span id="'+obj.id+'_cancel" class="style_lien2"/><img src="image/annule.png" alt="Annuler" border="0"></span></td>';
        	}
        			'</tr></table>'+
        			'</div>';
        }
        else{
        	var div = '<div id="'+obj.id+'_editor" align="left"><input id="'+obj.id+'_edit" name="'+obj.id+'" class="input_class3" style="width:3O0px;margin-left:0em;" value="'+obj.innerHTML+'">';
        	if(avecbtn=='oui'){
				div+='<span id="'+obj.id+'_save" class="style_lien2" /><img src="image/enregistre.png" alt="Sauver" border="0"></span>&nbsp;&nbsp;&nbsp;&nbsp;'+
					    	'<span id="'+obj.id+'_cancel" class="style_lien2"/><img src="image/annule.png" alt="Annuler" border="0"></span></div>'
        				//'<input id="'+obj.id+'_save" type="button" class="bouton_modifier_class" value="" /><input id="'+obj.id+'_cancel" type="button" class="bouton_annuler_class" value="" /></div>';
        	}
        }
       
        new Insertion.After(obj, div);     
        if(avecbtn=='oui'){       
        	Event.observe(obj.id+'_save', 'click', function(){saveChanges(obj)}, false);
        	Event.observe(obj.id+'_cancel', 'click', function(){cleanUp(obj)}, false);
        }
}

function EditAll(avecbtn)
{
	//alert($('modif_btn').value)
	//saveChanges(obj)
	if(EnEdition == false){
		var i=0
		for(i=0;i<ListeChampForm.length;i++)
		{
			//alert(ListeChampForm[i])
			edit($("span_"+ListeChampForm[i]),2,avecbtn);
		}
		EnEdition = true;
		$('modif_btn').value= " Valider ";
		$('annuler_btn').value= " Annuler ";
	}
	else
	{
		var i=0
		for(i=0;i<ListeChampForm.length;i++){
			if(i < ListeChampForm.length - 1){
				saveChanges($("span_"+ListeChampForm[i]),'no');
			}else{
				saveChanges($("span_"+ListeChampForm[i]),'yes');
			}
		}
		EnEdition = false;
		$('modif_btn').value= " Modifier ";
		$('annuler_btn').value= " Retour ";
	}
}
function AnnulerRetourFormulaire(id_form, val_submit_form)
{
	if(EnEdition==false){
		document.forms[id_form].form_submit_form.value=val_submit_form;
		document.forms[id_form].submit();
	}
	else
	{
		for(i=0;i<ListeChampForm.length;i++)
		{
			//alert(ListeChampForm[i])
			cleanUp($("span_"+ListeChampForm[i]))
		}
		EnEdition = false
		$('modif_btn').value= " Modifier "
		$('annuler_btn').value= " Retour "
	}
}
function edit_list(obj, obj_db)
{
	var rub_id = (obj.id).split("_");		
    Element.hide(obj);

    var liste_deroul = '<div id="'+obj.id+'_editor" align="left"><select id="'+obj.id+'_edit" name="'+obj.id+'" class="css_liste1">';
    liste_deroul += '<option value="1">Oui</option><option value="0">Non</option></select>';
    
    //alert(liste_deroul)
    new Insertion.After(obj, liste_deroul);     
      
    Event.observe(obj.id+'_edit', 'blur', function(){saveChanges(obj,rub_id[1],obj_db)}, false);
    Event.observe(obj.id+'_edit', 'change', function(){saveChanges(obj,rub_id[1],obj_db)}, false);
}


function cleanUp(obj, keepEditable)
{
        Element.remove(obj.id+'_editor');
        Element.show(obj);
        if (!keepEditable) showAsEditable(obj, true);
}

function saveChanges(obj,avec_mail)
{
		if(typeof avec_mail == "undefined"){
			avec_mail = 'yes';
		}else{
			if(avec_mail.toString().toLowerCase() == "yes"){
				avec_mail = 'yes';
			}else{
				avec_mail = 'no';
			}
		}
	//	var new_content =  escape($F(obj.id+'_edit'));
        var continuer = true;
        var new_content =  $F(obj.id+'_edit');
        if (new_content=="" || new_content.replace(" ","")==""){
        	var idloc = obj.id
        	var label = idloc.replace("span_","label_")
        	label = $(label).innerHTML
        	continuer = VerificationChampObligatoire(label)
        }
        if (continuer==true){
	 		obj.innerHTML   = "Enregistrement...";
	        cleanUp(obj, true);

	        var success     = function(t){editComplete(t, obj);}
	        var failure     = function(t){editFailed(t, obj);}

	        var url = 'includes/admin/submit_modif_ajax.php';
	        var pars = 'action='+$F('action_ajax')+'&id='+obj.id+'&content='+new_content+'&'+$F('cle')+'='+$F($F('cle'))+$F('autres_donnees')+'&sendmail='+avec_mail;
	        var myAjax = new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
        }
        else
        {
        	alert("Information obligatoire!!");
        	var old = $(obj.id).innerHTML
        	$(obj.id+'_edit').value=old;
        }
}

function editComplete(t, obj)
{
//	alert(t.responseText);
	var rep = t.responseText;
	var tmp = rep.split('@@@@@');
	obj.innerHTML = tmp[1];
	showAsEditable(obj, true);
}
 
function editFailed(t, obj)
{
//	alert(t.responseText);
	obj.innerHTML   = "La modification n'a pas fonctionné.";
	cleanUp(obj);
}

function VerificationChampObligatoire(label)
{
	var posast = label.indexOf('*');
	if(posast==-1){
		return true;
	}else{
		return false;
	}
}