// JavaScript Document
var msgw,msgh,bordercolor; 
msgw;//提示窗口的宽度 
msgh;//提示窗口的高度 
titleheight=25 //提示窗口标题高度 
bordercolor="#336699";//提示窗口的边框颜色
backgroundColor="#FFFFFF";//提示窗口的背景颜色
coverColor="#FEFEFE";//覆盖层颜色
titlecolor="#99CCFF";//提示窗口的标题颜色 
init();

if(NS||IE) action =window.setInterval("heartBeat()",1);

function init(){
	move=0;
	self.onError=null;                              
	currentX = currentY = 0;                               
	whichIt = null;                                         
	lastScrollX = 0; lastScrollY = 0; 
	lastWidth=0;lastHeight=0;
	NS = (document.layers) ? 1 : 0;                             
	IE = (document.all)?1:0;
}

<!-- STALKER CODE -->                              
function heartBeat() {
	if(IE) {
		if(!document.all.msgDiv) return;
		diffY = document.body.scrollTop;
		diffX = document.body.scrollLeft;
		tempWidth= document.body.offsetWidth;
		tempHeight= document.body.offsetHeight;
	}
	if(NS) {
		if(!document.msgDiv) return;
		diffY = self.pageYOffset;
		diffX = self.pageXOffset;
//		tempWidth= document.body.scrollWidth;
//		tempHeight= document.body.scrollHeight;
	}
//该处代码有问题，当移动滚动条再更改窗口大小的时候就会出错。窗口位置不对。
	if(tempWidth!=lastWidth) {
  		 msgLeft=(document.body.offsetWidth-20-msgw)<0?0:(document.body.offsetWidth-20-msgw)/2;
		 document.all.msgDiv.style.left =msgLeft; 
		 lastWidth=tempWidth;
	}                       
	if(tempHeight!=lastHeight) {
  		 msgTop=(document.body.offsetHeight-4-msgh)<0?0:(document.body.offsetHeight-4-msgh)/2;
   		 document.all.msgDiv.style.top =msgTop; 
		 lastHeight=tempHeight;
	}                       
	if(diffY != lastScrollY) {
		percent = .1 * (diffY - lastScrollY);
		if(percent > 0) percent = Math.ceil(percent);
		else percent = Math.floor(percent);
		if(IE) document.all.msgDiv.style.pixelTop += percent;
		if(NS) document.msgDiv.top += percent;
		lastScrollY = lastScrollY + percent;
	}                       
	if(diffX != lastScrollX) {       
		percent = .1 * (diffX - lastScrollX);     
		if(percent > 0) percent = Math.ceil(percent);       
		else percent = Math.floor(percent);                   
		if(IE) document.all.msgDiv.style.pixelLeft += percent;        
		if(NS) document.msgDiv.left += percent;       
		lastScrollX = lastScrollX + percent;                     
	}                           
}                         
<!-- /STALKER CODE -->              


<!-- DRAG DROP CODE -->              
function checkFocus(id,x,y) {         
	stalkerx = document.all[id].pageX;     
	stalkery = document.all[id].pageY;                        
	stalkerwidth = document.all[id].clip.width;              
	stalkerheight = document.all[id].clip.height;                         
	if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;                      
	else return false;        
}

function grabIt(e) {            
	if(IE) {
		currentX = (event.clientX + document.body.scrollLeft);                       
		currentY = (event.clientY + document.body.scrollTop);                        
	} else {                             
		window.captureEvents(Event.MOUSEMOVE);    
		whichIt = document.msgDiv;                              
		stalkerTouchedX = e.pageX-whichIt.pageX;      
		StalkerTouchedY = e.pageY-whichIt.pageY;          
	}                            
	return true;                        
}    

function moveIt(e) { 
	whichIt=document.all.msgDiv;
	if (whichIt == null||move==0) { return false; }       
	if(IE) {                             
		newX = (event.clientX + document.body.scrollLeft);                           
		newY = (event.clientY + document.body.scrollTop);                
		distanceX = (newX - currentX);    distanceY = (newY - currentY);   
		currentX = newX;    currentY = newY;                       
		whichIt.style.pixelLeft += distanceX;                          
		whichIt.style.pixelTop += distanceY;                      
		if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop; 
		if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
		if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
		if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;  
		event.returnValue = false;  
	} else {   
		whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY); 
		if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset; 
		if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;  
		if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17; 
		if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17; 
		return false;
	} 
	return false;  
}  

function dropIt() {     
	whichIt = null;     
	if(NS) window.releaseEvents (Event.MOUSEMOVE);  
	return true;
 }
 <!-- DRAG DROP CODE -->  

function showModalWindows(title,str,width,height){
	init()
	msgw=width;
	msgh=height;
   var sWidth,sHeight; 
   sWidth=(document.body.scrollWidth>document.body.offsetWidth-20)?document.body.scrollWidth:document.body.offsetWidth-20; 
   sHeight=(document.body.scrollHeight>document.body.offsetHeight-4)?document.body.scrollHeight:document.body.offsetHeight-4; 
   msgLeft=(document.body.offsetWidth-20-msgw)<0?0:(document.body.offsetWidth-20-msgw)/2;
   msgTop=(document.body.offsetHeight-4-msgh)<0?0:(document.body.offsetHeight-4-msgh)/2;
   var bgObj=document.createElement("div"); 
   bgObj.setAttribute('id','bgDiv'); 
   bgObj.style.position="absolute"; 
   bgObj.style.top="0"; 
   bgObj.style.background=coverColor; 
   bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=70"; 
   bgObj.style.opacity="0.6"; 
   bgObj.style.left="0"; 
   bgObj.style.width=sWidth + "px"; 
   bgObj.style.height=sHeight + "px"; 
   bgObj.style.zIndex = "10000"; 
   bgObj.oncontextmenu=function(){return false;}
   bgObj.onmousemove=function(){moveIt();}
   bgObj.onmouseup=function(){move=0;dropIt();}
   bgObj.onmousedown=function(){move=1;grabIt();}
   document.body.appendChild(bgObj); 
    
   var msgObj=document.createElement("div") 
   msgObj.setAttribute("id","msgDiv"); 
   msgObj.setAttribute("align","center"); 
   msgObj.style.background=backgroundColor; 
   msgObj.style.border="1px solid " + bordercolor; 
   msgObj.style.position = "absolute"; 
   msgObj.style.left =msgLeft; 
   msgObj.style.top =msgTop; 
   msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif"; 
   msgObj.style.width = msgw + "px"; 
   msgObj.style.height =msgh + "px"; 
   msgObj.style.textAlign = "center"; 
   msgObj.style.lineHeight ="25px"; 
   msgObj.style.zIndex = "10001"; 
   msgObj.onmousemove=function(){moveIt();}
   msgObj.onmouseup=function(){move=0;dropIt();}
   msgObj.onmousedown=function(){move=1;grabIt();}
   msgObj.innerHTML= "<iframe style=\"position:absolute;z-index:-1;width:"+(msgw-3)+"px;height:"+(msgh-3)+"px;top:e-xpression(this.nextSibling.offsetTop);left:e-xpression(this.nextSibling.offsetLeft);\"   frameborder=\"0\" id=\"msgIframe\"></iframe><table width=\"100%\"style=\"margin:0;padding:3px;background:"+bordercolor+";opacity:0.75;border:1px solid "+bordercolor+";height:18px;font:12pxVerdana,Geneva,Arial,Helvetica,sans-serif;color:white;cursor:move\"><tr><td height=\"18px\" align=\"center\"><b>"+title+"</b></td><td width=\"18px\" Id=\"msgTitle\"></td></tr></table>"; 
/*    
   var title=document.createElement("div"); 
   title.setAttribute("id","msgTitle"); 
   title.setAttribute("align","right"); 
   title.style.margin="0"; 
   title.style.padding="3px"; 
   title.style.background=bordercolor; 
   //title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);"; 
   title.style.opacity="0.75"; 
   title.style.border="1px solid " + bordercolor; 
   title.style.height="18px"; 
   title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif"; 
   title.style.color="white"; 
   title.style.cursor="move"; 
 */  
   var closeDiv=document.createElement("h4"); 
   closeDiv.setAttribute("id","close"); 
   closeDiv.setAttribute("align","center"); 
   closeDiv.style.margin="0"; 
   closeDiv.style.border="1px solid #FEFEFE"; 
   closeDiv.style.padding="0px"; 
   closeDiv.style.height="18px"; 
   closeDiv.style.width="18px"; 
   closeDiv.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif"; 
   closeDiv.style.color="#FEFEFE"; 
   closeDiv.style.cursor="pointer"; 
   closeDiv.innerHTML=" X "; 
   closeDiv.onclick=function(){ 
   		document.body.removeChild(bgObj); 
        document.body.removeChild(msgObj); 
   } 
   document.body.appendChild(msgObj); 
   document.getElementById("msgTitle").appendChild(closeDiv)
   var content=document.createElement("DIV"); 
   content.setAttribute("id","msgTxt"); 
   content.innerHTML=str; 
   msgObj.onmousemove=function(){moveIt();}
   content.onmouseup=function(){move=0;dropIt();}
   content.onmousedown=function(){move=1;grabIt();}
   document.getElementById("msgDiv").appendChild(content); 
}
