﻿;


var historyUrl = [];

(function($) {
    //load
    $.fn.loadUrl = function(url, callback) {
        var me = this;
        if (callback == undefined) {
            callback = function() {
                me.setLink();
            }
        }
        me.attr("url", url);
		if(url.indexOf('?')==-1)url+="?";
        if(url.indexOf('&_=')==-1) url+= "&_=" + (new Date()).getTime();
        me.load(url, callback);
        return me;
    }
    //设置链接
    $.fn.setLink = function(mainId) {
        mainId = mainId == undefined ? "#main" : "#" + mainId;
        $("a", this).each(function() {
            var a = $(this);
            var href = a.attr("href");
            var href = a.attr("href");
            if (href == undefined)
                return;
            if (href.indexOf("javascript:") == 0 || href.indexOf("#") == 0)//起始位置是javascript:或#
                return;

            var target = a.attr("target");
            if (target == "")
                return;
		    if(href.indexOf('?')==-1)href+="?";
            if(href.indexOf('&_=')==-1) href+= "&_=" + (new Date()).getTime();
            a.unbind("click").click(function() {
                switch (target) {
                    case "_new": //使用MyWindow弹窗插件
                        var title = a.attr("title") || a.text();
                        newWindow(href, title);
                        break;
                    case "_main": //让主窗口Load
                        $(mainId).loadUrl(href);
                        break;
                    case "_update":
                        var message = a.attr("confirm");
                        if (message == null || (message != null && confirm(message))) {
                            runAjax(href, function() {
                                $(mainId).loadUrl($(mainId).attr("url"));
                            });
                        }
                        break;
                    case "_delete":
                        var message = a.attr("confirm") || "你确定要删除吗？";
                        if (confirm(message)) {
                            runAjax(href, function() {
                                try {
                                    a.parent().parent().remove();
                                } catch (e) { }
                            });
                        }
                        break;
                    case "_delete2":
                        var message = a.attr("confirm") || "你确定要删除吗？";
                        if (confirm(message)) {
                            runAjax(href, function() {
                                try {
                                    a.parent().parent().parent().remove();
                                } catch (e) { }
                            });
                        }
                        break;
                    case "_restore":
                        var message = a.attr("confirm") || "你确定要恢复吗？";
                        if (confirm(message)) {
                            runAjax(href, function() {
                                try {
                                    a.parent().parent().parent().remove();
                                } catch (e) { }
                            });
                        }
                        break;
                    case "ajax":
                    case "_ajax":
                        runAjax(href);
                        break;
                    default:
                        if ($("#" + target).length == 0) {
                            return true;
                        }
                        else {
                            $("#" + target).loadUrl(href);
                        }
                        break;
                }
                return false;
            });
        });

        return this;
    };

    $.fn.setMenu = function(menu, head, body) {
        var me = this;
        var menu = $("div", me);
        var head = $(">ul:eq(0)", menu);
        var body = $(">ul:eq(1)", menu);
        head.click(function() {
            menu.removeClass("opened").addClass("closed");
            body.slideUp("fast");
            var menubody = $("ul:eq(1)", $(this).parent());
            if (menubody.css("display") == "none") {
                $(this).parent().removeClass("closed").addClass("opened");
                menubody.slideDown("fast");
            }
        }).eq(0).trigger("click");
        return me;
    };

    $.fn.setTabs = function() {
        var me = this;
        $("li", me).click(function() {
            var page = $(this).attr("page");
            $("li", me).removeClass("current");
            $(this).addClass("current");
            $(".tabpage").hide();

            var currentPage = $(".tabpage[page='" + page + "']");
            currentPage.show();
            var url = $(this).attr("url");
            if (url != undefined) {
                currentPage.loadUrl(url);
            }
        }).eq(0).trigger("click");
    }
})(jQuery);

function runAjax(url, callback, fail) {
    $.ajax({
        url: url,
        type: "Post",
        success: function(data) {
            submitCallback(data, callback, fail);
        }
    });
}

function loadEditor(id, targetId){

    content = $("#"+targetId).val() || "";
    var instance = CKEDITOR.instances[id];
    if (instance) {
        CKEDITOR.remove(instance);
    }
    CKEDITOR.replace(id).setData(content);

}
function saveEditor(editorId, targetId) {
    var editor = CKEDITOR.instances[editorId];
    $("#" + targetId).val(editor.getData());
}
function loadJS(url, callback, charset) {
    var script = document.createElement('script');
    script.onload = script.onreadystatechange = function() {
        if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState)) return;
        script.onload = script.onreadystatechange = null;
        script.src = '';
        script.parentNode.removeChild(script);
        script = null;
        if (callback) callback();
    };
    script.charset = charset || document.charset || document.characterSet;
    script.src = url;
    try { document.getElementsByTagName("head")[0].appendChild(script); } catch (e) { }
}
