var UploadPro = Class.create();
UploadPro.prototype = {
    initialize : function() {
    },
    clean : function(el, id, class_name, prop_name) {
        var par = {
            id: id,
            class_name: class_name,
            prop_name: prop_name
        };
        $.post(url('admin::tool/CleanUploadedUsingUploadPro'), par, function(data) {
            $(el).parents('.qform-element-live-tips:first').fadeOut(500,
                function() {
                    $(this).html(data.message).fadeIn();
                }
            );
        }, 'json');
    }
}
var uploadPro = new UploadPro();


/**
 * 后台翻译函数
 */
function _ts()
{
    return call_user_func_array('sprintf', arguments);
}


/**
 * 构造 url
 *
 * 说明请参考框架 context.php url() 方法
 *
 * @required
 *  jQuery library
 *  _BASE_DIR
 *  http_build_query()
 *  urlencode()
 */
function url(udi, params, opts)
{
    var udi = normalizeUDI(udi);
    var params = $.extend(udi, params);
    var url = _BASE_DIR + 'index.php?' + http_build_query(params);
    return url;
}

/**
 * 返回规范化以后的 UDI 数组
 *
 *
 */
function normalizeUDI(udi)
{
    var _udi = _REQUEST_UDI;

    var __udi__ = {
        module      : 'default',
        namespace   : 'default',
        controller  : 'default',
        action      : 'index'
    };

    var namespace   = _udi.namespace;
    var module      = _udi.module;
    var controller  = _udi.controller;
    var action      = _udi.action;

    var udi = udi.trim();

    if(udi == '' || udi == '.')
    {
    }
    else if(udi == '/')
    {
        action = __udi__.action;
    }
    else
    {
        if(udi.indexOf('::') !== -1)
        {
            namespace = udi.replace(/^(.*)?::(.*)$/, '$1');
        }

        if(udi.indexOf('@') !== -1)
        {
            module = udi.replace(/^(.*)?@(.*)$/, '$2');
        }

        var _body = udi.replace(/^(.*?::)?([^@]*)(@.*)?$/, '$2');
        if(_body.length > 0)
        {
            if(_body.indexOf('/') === -1)
            {
                controller = _body;
                action = null;
            }
            else if(_body.indexOf('/') === 0)
            {
                action = _body.substr(1);
            }
            else
            {
                controller = _body.substr(0, _body.indexOf('/'));
                action = _body.substr(_body.indexOf('/')+1);
            }
        }
    }

    var return_udi = {};

    for(var i in __udi__)
    {
        eval("return_udi." + i + " = " + i + " ? " + i + " : __udi__." + i + ";");
    }

    return return_udi;
}

// example: url('admin::tool/clearcache')
//alert( $.dump( url('admin::tool/clearcache') ) );

