/*
 * Ajaxupload for Jeditable
 *
 * Copyright (c) 2008-2009 Mika Tuupola
 *
 * Licensed under the MIT license:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Depends on Ajax fileupload jQuery plugin by PHPLetter guys:
 *   http://www.phpletter.com/Our-Projects/AjaxFileUpload/
 *
 * Project home:
 *   http://www.appelsiini.net/projects/jeditable
 *
 * Revision: $Id$
 *
 */
 
$.editable.addInputType('ajaxupload', {
    /* create input element */
    element : function(settings) {
        settings.onblur = 'ignore';
        var input = $('<input type="file" id="upload" name="filename" />');
        $(this).append(input);
		settings.data = $.parseJSON(settings.data);
        return(input);
    },
    content : function(string, settings, original) {
        /* do nothing */
    },
    plugin : function(settings, original) {
        var form = this;
        form.attr("enctype", "multipart/form-data");
        $("button:submit", form).bind("click", function() {
            //$(".message").show();
            $.ajaxFileUpload({
                url: settings.target + "?action=" + settings.data.action + "&data=" + $.toJSON(settings.data.data),
                secureuri: false,
                fileElementId: "upload",
                dataType: "json",
                success: function (response) {
					if(response.status == "success") {
						$(original).html(response.data.filename);
						original.editing = false;
					} else {
						alert(response.message);
					}
                }
            });
            return(false);
        });
    }
});
