
function onShowPURLSet3g(event,obj)
{  
	var itemset = document.getElementById("pageurl_set3g");	
	var r = getAbsRect3g(obj);
	itemset.style.left = (r[0]+5)+'px';
	itemset.style.top = (r[1]+10)+'px';
	itemset.style.display = '';
	itemset.style.zIndex = '100007';
	itemset.focus();
	itemset.onblur = function(){var itemset2 = document.getElementById("pageurl_set3g");itemset2.style.display = 'none';};	
	displaydiv3g(event,itemset);
}

//设为首页
function p3g(obj,url)
{   
   if (document.all){
        document.body.style.behavior='url(#default#homepage)';
        document.body.setHomePage(url);
    }else if (window.sidebar){
        if(window.netscape){
            try{
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }catch (e){
                alert( "该操作被浏览器拒绝，如果想启用该功能，请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true" );
            }
        }
       try{
         var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
         prefs.setCharPref('browser.startup.homepage',url);
       }catch(e){}
    }
}
//添加收藏夹 
function addBookmark3g(urls,title) { 
    if (window.sidebar) { 
        window.sidebar.addPanel(title, urls,""); 
    } else if( document.all ) {
        window.external.AddFavorite( urls, title);
    } else if( window.opera && window.print ) {
        return true;
    }
}
//收藏到桌面
function savepagetodesk3g(name,url)
{
	location.href="http://www.zhongsou.net/cgi/lnk.cgi?w="+name+"&u="+url;
}

var Event = {
    KEY_BACKSPACE: 8, 
    KEY_TAB:     9, 
    KEY_RETURN:   13, 
    KEY_ESC:     27, 
    KEY_LEFT:   37, 
    KEY_UP:     38, 
    KEY_RIGHT:   39, 
    KEY_DOWN:   40, 
    KEY_Delete:   46,
    stopped : false,
    pstopped : false,

    isLeftClick: function() {
      return (((event.which) && (event.which == 1)) || 
            ((event.button) && (event.button == 1))); 
    }, 
    scrollX: function() { 
      return document.documentElement.scrollLeft || document.body.scrollLeft;
    }, 
    scrollY: function() { 
      return document.documentElement.scrollTop || document.body.scrollTop;
    },

    realX: function(event) { 
      return event.pageX || (event.clientX +(document.documentElement.scrollLeft || document.body.scrollLeft));
    }, 
    realY: function(event) { 
      return event.pageY || (event.clientY +(document.documentElement.scrollTop || document.body.scrollTop));
    },
    stopDefault: function() { event.returnValue = false;},
    stopParent: function() { this.pstopped = true}, 
    resumeParent: function() { var r=this.pstopped; this.pstopped = false; return r;}, 
    stop: function(set) { this.stopped = set;}, 
    isStopped: function(set) { return this.stopped;},
    //阻止向上冒泡
    stops:function(event){
        if (event.preventDefault) {
          event.preventDefault();
          event.stopPropagation();
        } else {
          event.returnValue = false;
          event.cancelBubble = true;
        }
    },
    observe:function(element, name, observer, useCapture){
            element = $get(element);
            useCapture = useCapture||false;
            if(name.toLowerCase() == 'keypress' && element.attachEvent) name = 'keydown';
            if(element.addEventListener) element.addEventListener(name,observer,useCapture);                
            else element.attachEvent('on' + name, observer);
    }
}
var config3g = {};
function displaydiv3g(event,obj)
{
	obj = $get(obj);

    config3g[obj.id] = obj;

	Event.stops(event);
	removediv3g(event,obj);

}

function removediv3g(event,extobj)
{
	for(var p in config3g)
	{
		if(config3g[p].nodeName && config3g[p].nodeType == 1)
		{
			var obj = $get(config3g[p]);
			if(!obj) continue; 
			if(obj.style.display == 'none') continue;
			if(obj == extobj) continue;
			var _x = Event.realX(event),_y = Event.realY(event);
			var postion = getAbsRect3g(obj);

			var withIn  = (_y >= postion[1] && _y< postion[3] && _x>= postion[0] && _x< postion[2]);
			if(!withIn)
			{ 
				obj.style.display = 'none';
				delete config3g[p];
           
			}            
       
		}
    
	}    

}

function getAbsPos3g(obj)
{
	var p = [0, 0];
	while (obj && obj.tagName != "BODY")
	{
		p[0] += obj.offsetLeft;
		p[1] += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return p;
}
function getAbsRect3g(obj)
{
	var r = [0, 0, 0, 0];
	var p = getAbsPos3g(obj);
	r[0]=p[0];
	r[1]=p[1];
	r[2]=p[0]+obj.offsetWidth;
	r[3]=p[1]+obj.offsetHeight;
	return r;
}
Event.observe(document.body||document,'click',removediv3g,false)
function $get(id){ return (typeof id =='object' )?id:document.getElementById(id);}
