﻿var lab={

	mouseX:0,
	mouseY:0,
	int:null,

	page :"" ,
	
	title : document.title,
	url : location.href,
	
	init : "",
	temp:"",
	
	screenW:screen.width,
	screenH:screen.height,
	bodyW:document.documentElement.scrollWidth,
	bodyH:document.documentElement.scrollHeight,
	referrer:document.referrer,
	
	isSearch:(/(baidu|yahoo|google|sogou|zhongsou|soso|youdao|tom|yisou|vnet|china|live|msn)\.(cn|com|net)/.test(document.referrer)),
	isIE		:false,
	isOpera		:false,
	isSafari	:false,
	isFirefox	:false,
	
	appName:"",
	appVersion:"",
	
	insert:function(o,rep){
		if(o){
			var content="";

			if(window.clipboardData){
				content = clipboardData.getData("Text");
			}else if (window.netscape){
				try{  
					netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
				}catch (e){ 
					throw new SecurityException(SecurityException.ERROR,"");
				}
				
				var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);  
				if (!clip){  
					return;  
				}
				var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);  
				if (!trans){  
					return;  
				}
				trans.addDataFlavor("text/unicode");  
				clip.getData(trans,clip.kGlobalClipboard); 
				var str=new Object(); 
				var strLength=new Object(); 
				trans.getTransferData("text/unicode",str,strLength);
				if (str){
					str=str.value.QueryInterface(Components.interfaces.nsISupportsString); 
				}
				if (str){
					content=str.data.substring(0,strLength.value / 2); 
				}
				
			}
			
			if(rep){
				o.value=content;
			}else{
				o.value+=content;
			}
			
		}
	},
	
	copy:function(meintext){
		if (window.clipboardData){
			window.clipboardData.setData("Text", meintext);
		}
		else if (window.netscape){ 
			try{  
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
			}catch (e){ 
				throw new SecurityException(SecurityException.ERROR,"");
			}
			
			var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
			if (!clip) return;

			var trans = Components.classes['@mozilla.org/widget/transferable;1']
					  .createInstance(Components.interfaces.nsITransferable);
			if (!trans) return;
			
			trans.addDataFlavor('text/unicode');
			
			var str = new Object();
			var len = new Object();
			
			var str = Components.classes["@mozilla.org/supports-string;1"]
					.createInstance(Components.interfaces.nsISupportsString);
			
			var copytext=meintext;
			
			str.data=copytext;
			
			trans.setTransferData("text/unicode",str,copytext.length*2);
			
			var clipid=Components.interfaces.nsIClipboard;
			
			if (!clip) return false;
			
			clip.setData(trans,null,clipid.kGlobalClipboard);
			
		}
		alert("已经复制如下信息到剪贴板:\n\n" + meintext);
		return false;
	},
	
	replace:function(obj,text){
		if (document.selection) {
			obj.focus();
			sel = document.selection.createRange();
			sel.text = text;
		}else if (obj.selectionStart || obj.selectionStart == '0') {
			var startPos = obj.selectionStart;
			var endPos = obj.selectionEnd;
			var cursorPos = endPos;
			obj.value = obj.value.substring(0, startPos)
						  + text
						  + obj.value.substring(endPos,obj.value.length);
			cursorPos += text.length;
			obj.focus();
			obj.selectionStart = cursorPos;
			obj.selectionEnd = cursorPos;
		}else{
			obj.value +=text;
			obj.focus();
		}	
	},
	
	addFavorite:function(){
		if(!window.netscape){
			window.external.addFavorite(lab.url,lab.title);
		}else{
			window.sidebar.addPanel(lab.title,lab.url,"");
		}
	},
	
	setHomePage:function(){
		if(!window.netscape){
			var obj=document.createElement('a');
			obj.href="#";
			obj.style.behavior='url(#default#homepage)';
			obj.sethomepage(lab.url);
		}else{
			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',lab.url);
		}
	},
	
	tipBox:function(str,cls){
	
		var obj=$("tipbox");
		if(!obj){
			obj=document.createElement("div");
			obj.id="tipbox";
			document.body.appendChild(obj);
		}else{
			obj.style.display="";
			clearTimeout(lab.int);
		}
		obj.className=cls;	
		obj.style.position ="absolute";
		obj.style.left =lab.mouseX +"px";
		obj.style.top  =lab.mouseY +"px";
		obj.innerHTML=str;
		lab.int=window.setTimeout(function(){obj.style.display="none";},5000);
	
	},
	
	designBox:function(id,o,width,height,content){
		var box=document.createElement('iframe');
			box.id=id;
			box.name=id;
			box.style.width=width+"px";
			box.style.height=height+"px";
			o.appendChild(box);
			
		var	box=window.frames[id].document;
			box.designMode="On";
			box.open();
			box.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\
			<html xmlns=\"http://www.w3.org/1999/xhtml\">\
			<head>\
			<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />\
			<title>测试</title>\
			<style type=\"text/css\">\
			body\
			{\
				overflow-x: visible;\
				margin: 0px;\
				padding: 0px;\
			}\
			*\
			{\
				word-break: break-all;\
			}\
			</style>\
			</head>\
			<body >" + content + "\</body>\
			</html>");
			
			box.close();
	},
	
	designCmd:function(id,cmd){
		var box=window.frames[id];
		if(cmd =="copyHTML"){
			return box.document.body.innerHTML;
		}else{
			box.document.execCommand(cmd);
			return "";
		}
	},
	start:function(){
		switch (navigator.appName){
			case "Microsoft Internet Explorer":{
				lab.appName = "ie";
				var reg = /^.+MSIE (\d+\.\d+);.+$/;
				lab.isIE=true;
				break;
			}default:{
				if (navigator.userAgent.indexOf ("Safari") != -1){
					lab.appName = "safari";
					var reg = /^.+Version\/([\d\.]+?) Safari.+$/;
					lab.isSafari=true;
				}else if (navigator.userAgent.indexOf ("Opera") != -1){
					lab.appName = "opera";
					var reg = /^.{0,}Opera\/(.+?) \(.+$/;
					lab.isOpera=true;
				}else{
					lab.appName = "firefox";
					var reg = /^.+Firefox\/([\d\.]+).{0,}$/;
					lab.isFirefox=true;
				}
			}
			break;
		}
    	lab.appVersion = navigator.userAgent.replace (reg, "$1");	
	},
	end:function(){
	
	}
}


function showTip(str){
	var obj=$("tipbox");
	if(!obj){
		obj=document.createElement("div");
		obj.id="tipbox";
		document.body.appendChild(obj);
	}else{
		obj.style.display="";
		clearTimeout(lab.int);
	}	
	obj.style.position ="absolute";
	obj.style.left =lab.mouseX +"px";
	obj.style.top  =lab.mouseY +"px";
	obj.innerHTML=str;
	lab.int=window.setTimeout(function(){obj.style.display="none";},5000);
}

function getMouse(e){
	if(!document.all){
		lab.mouseX = e.pageX;
		lab.mouseY = e.pageY;
	}else{
		lab.mouseX = event.x + document.documentElement.scrollLeft;
		lab.mouseY = event.y + document.documentElement.scrollTop;
	}
}

document.onmousemove=getMouse;


/***********************/

addLoadEvent(function(){
	//$("header_loading").style.display="none";
	//$("header_title").style.display="block";

	var top=document.createElement('DIV');
	top.style.textAlign="center";
	top.style.width="21px";
	top.style.position="absolute";
	top.style.right="40px";
	top.style.top="200px";
	top.id="menu";
	top.innerHTML="<img src='/images/site.lab/btn_copy.gif' alt='复制本页地址' onclick='lab.copy(\""+lab.url+"\");' /><img src='/images/site.lab/btn_fav.png' alt='收藏本页' onclick='lab.addFavorite();' /><img src='/images/site.lab/btn_top.gif' alt='返回到页面顶部' onclick='window.scrollTo(0,0);' /><img src='/images/site.lab/btn_down.png' alt='滚动页面' onclick='if(lab.init){clearInterval(lab.init);lab.init=\"\";}else{lab.init=setInterval(\"scrollWindow()\",45);}' />";
	document.body.appendChild(top);
	
	window.setInterval(function(){
		top.style.top=document.documentElement.scrollTop+430+"px";
	},50)
})

function _getSize(o,id,s){
	var _size=o.width+"*"+o.height;
	document.getElementById(id).innerHTML=_size;
	if(s==1){
		o.style.width="160px"
		o.style.height="auto"
	}
}

function scrollWindow() {
	/*
	HTML	document.body
	XHTML	document.documentElement
	*/
	lab.temp=document.documentElement.scrollTop; 
	window.scroll(0,++lab.temp); 
	if (lab.temp != document.documentElement.scrollTop) 
	clearInterval(lab.init);
} 
/*
document.onmousedown=function(){
	clearInterval(lab.init);
}
document.ondblclick=function(){
	lab.init=setInterval("scrollWindow()",45);
}
*/

function runEx(cod1)  {//运行脚本
 cod=document.all(cod1)
  var code=cod.value;
	if (code!=""){
		var newwin=window.open('','','');  
		newwin.opener = null 
		newwin.document.write(code);  
		newwin.document.close();
	}
}

