
var ingredientPictureManager = {
    nbImage: 0,
    tImage: new Array(),
	init: function(id_ingredient, nom_ingredient) {
	    if(!id_ingredient) {
	        alert('Paramètre "id_ingredient" manquant');
	        return;
		}
	    this.id_ingredient = id_ingredient;
	    var oThis = this;
	    
	    if(!nom_ingredient) {
	        alert('Paramètre "nom ingredient" manquant');
	        return;
		}
	    this.nom_ingredient = nom_ingredient;
	    var oThis = this;
	    
	    $("#loading")
	        .ajaxStart(function(){
				$(this).show();
				$('#buttonUpload').hide();
				$('#file').hide();
			})
			.ajaxComplete(function(){
				$(this).hide();
				$('#buttonUpload').show();
				$('#file').show();
			});
	},
	upload: function() {
	    var oThis = this;
	
		$.ajaxFileUpload({
			url: '/_ajax/ingredient/ingredient_fichier_upload.php?id_ingredient='+oThis.id_ingredient+'&nom_ingredient='+oThis.nom_ingredient,
			secureuri: false,
			fileElementId: 'file',
			dataType: 'json',
			success: function (data, status) {
	            if(data.status == 0) {
	                alert('Erreur : '+data.msg);
	                return;
	            }
	            if(data.status == 1) {
	                oThis.ajouter(data);
	            }
			},
			error: function (data, status, e) {
				alert(e);
			}
		});
		
	},
    ajouter: function(data) {
        var oThis = this;
        
        var index = $('#recap_upload > tr').size()+1;
        
        $('#table_upload').show();
        var tr = '<tr id="recap_fichier_'+data.id_iuf+'">'+
                    '<td>'+
                        '<input type="hidden" name="ordre[]" id="ordre_'+data.id_iuf+'" value="'+index+'" />'+
                        '<img src="/design/fleche_monter.gif" "name="monter[]" id="monter_'+data.id_iuf+'" title="Monter" class="button monter" /> '+
                        '<img src="/design/fleche_descendre.gif" name="descendre[]" id="descendre_'+data.id_iuf+'" title="Descendre" class="button descendre" />'+
                    '</td>'+
                    '<td>'+
                        '<img src="/'+data.directory+'" width="'+data.width+'" height="'+data.height+'" title="'+data.filename+'" alt="'+data.filename+'" title="'+data.filename+'" /><br />'+data.status_photo+'<input type="hidden" name="id_upload[]" id="id_upload_'+data.id_iuf+'" value="'+data.id+'" />'+
                    '</td>'+
                    '<td>'+
                        'Titre: <br /><input type="text" name="titre[]" id="titre_'+data.id_iuf+'" class="text" /><br />'+
                        'Description: <br /><textarea name="description[]" id="description_'+data.id_iuf+'" class="textarea" cols="40" rows="2"></textarea>'+
                    '</td>'+
                    '<td><input type="button" id="supprimer_'+data.id_iuf+'" value="Supprimer" class="button" /></td>'+
                 '</tr>';
        $('#recap_upload')
            .append(tr)
            .find('#supprimer_'+data.id_iuf)
                .click(function() {
                    var id = $(this).attr('id');
                    var num_image = id.substr(id.lastIndexOf('_')+1);
                    oThis.supprimer(num_image);
                })
            .end()
            .find('#monter_'+data.id_iuf)
                .click(function() {
                    var id = $(this).attr('id');
                    var num_image = id.substr(id.lastIndexOf('_')+1);
                    oThis.monter(num_image);
                })
            .end()
            .find('#descendre_'+data.id_iuf)
                .click(function() {
                    var id = $(this).attr('id');
                    var num_image = id.substr(id.lastIndexOf('_')+1);
                    oThis.descendre(num_image);
                });
        this.tImage[this.nbImage] = data;
        this.nbImage++;
        $('#file').val('');
    },
    supprimer: function(id_iuf) {
        var oThis = this;
        var response = eval('('+$.ajax({
            type: 'POST',
            url: '/_ajax/ingredient/ingredient_fichier_unlink.php',
            data: 'id_iuf='+id_iuf,
            async: false
        }).responseText+')');
        if(response.status == 0) {
            alert('Erreur : '+response.msg);
            return;
        }
        if(response.status == 1) {
            $tone.log('#recap_fichier_'+id_iuf);
            $('#recap_fichier_'+id_iuf).remove();
        }
        $('#recap_upload > tr').each(function() {
            var id = $(this).attr('id');
            var num = id.substr(id.lastIndexOf('_')+1);
            $(this).find('#ordre_'+num).val($('#recap_upload > tr').index($(this)[0])+1);
        });
    },
    monter: function(num_image) {
        $tone.log('Monter: '+num_image); 
        var index = $('#recap_upload > tr').index($('#recap_fichier_'+num_image)[0]);
        var size = $('#recap_upload > tr').size();
        if(index == 0) return; // annule sur le premier élément
        var me = $('#recap_upload > tr').eq(index);
        var moved = $('#recap_upload > tr').eq(index-1);
        me.insertBefore(moved).find('#ordre_'+num_image).val(index);
        var idMoved = moved.attr('id');
        var numMoved = idMoved.substr(idMoved.lastIndexOf('_')+1);
        moved.find('#ordre_'+numMoved).val(index+1);
        //$(this).removeClass('button_over');
    },
    descendre: function(num_image) {
        $tone.log('Descendre: '+num_image);   
        var index = $('#recap_upload > tr').index($('#recap_fichier_'+num_image)[0]);
        var size = $('#recap_upload > tr').size();
        if(index+1 == size) return; // annule sur le dernier élément
        var me = $('#recap_upload > tr').eq(index);
        var moved = $('#recap_upload > tr').eq(index+1);
        me.insertAfter(moved).find('#ordre_'+num_image).val(index+2);
        var idMoved = moved.attr('id');
        var numMoved = idMoved.substr(idMoved.lastIndexOf('_')+1);
        moved.find('#ordre_'+numMoved).val(index+1);
        //$(this).css('border', '1px solid red').removeClass('button_over');
    }
};

