﻿var Public = {
    OnLoad:function()
    {
        
    },
    //弹出对话框
    ShowDialog : function(url, height, width){
        window.showModalDialog(url, window, "dialogWidth:" + width + "px;dialogHeight:" + height + "px;status:no;scroll:yes;help:no;directories:no;localtion:no; menubar:no; status=no;toolbar=no;scrollbars:no;Resizeable=no");
    },
    ShowMessage : function(msg){
        $("#msg").attr("style","visibility:visible;")
        $("#msg_msg").html(msg)
        $("#msg").fadeIn(1000);
        $("#msg_close").fadeIn(1000);
        setTimeout(function(){$("#msg").fadeOut(2000)}, 4000);
        setTimeout(function(){$("#msg_close").fadeOut(1000)}, 4000);
    },
    //加入收藏
    AddFavorite:function(sURL, sTitle)
    {
        try
        {
            window.external.addFavorite(sURL, sTitle);
        }
        catch (e)
        {
            try
            {
                window.sidebar.addPanel(sTitle, sURL, "");
            }
            catch (e)
            {
                alert("加入收藏失败，请使用Ctrl+D进行添加");
            }
        }
    },
    //设为主页
    SetHome:function (obj,vrl){
        try{
            obj.style.behavior='url(#default#homepage)';
            obj.setHomePage(vrl);
        }
        catch(e){
            if(window.netscape) {
                try {
                    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                }
                catch (e) {
                    alert("此操作被浏览器拒绝！\n请在浏览器地址栏输入“about:config”并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为'true',双击即可。");
            }
            var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
            prefs.setCharPref('browser.startup.homepage',vrl);
            }
        }
    },
    //回到页面顶部
    //acceleration 加速度
    //@param time 时间间隔 (毫秒)
    goTop:function(acceleration,time) {
	    acceleration = acceleration || 0.1;
	    time = time || 16;
     
	    var x1 = 0;
	    var y1 = 0;
	    var x2 = 0;
	    var y2 = 0;
	    var x3 = 0;
	    var y3 = 0;
     
	    if (document.documentElement) {
		    x1 = document.documentElement.scrollLeft || 0;
		    y1 = document.documentElement.scrollTop || 0;
	    }
	    if (document.body) {
		    x2 = document.body.scrollLeft || 0;
		    y2 = document.body.scrollTop || 0;
	    }
	    var x3 = window.scrollX || 0;
	    var y3 = window.scrollY || 0;
     
	    // 滚动条到页面顶部的水平距离
	    var x = Math.max(x1, Math.max(x2, x3));
	    // 滚动条到页面顶部的垂直距离
	    var y = Math.max(y1, Math.max(y2, y3));
     
	    // 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小
	    var speed = 1 + acceleration;
	    window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
     
	    // 如果距离不为零, 继续调用迭代本函数
	    if(x > 0 || y > 0) {
		    var invokeFunction = "Public.goTop(" + acceleration + ", " + time + ")";
		    window.setTimeout(invokeFunction, time);
	    }
    }
};
