﻿var my_form=document.getElementById('massage_box');
var x,y,z;
var topx,topy;
function GetScrollXY(){
    var x=0,y=0
    if(document.documentElement.scrollTop){
        x=document.documentElement.scrollLeft;
        y=document.documentElement.scrollTop;
    }
    else{
        x=document.body.scrollLeft;
        y=document.body.scrollTop;
    }
    return {x:x,y:y}
}
function getEventXY(e){
    var posx=0,posy=0;
    if(e==null) e=window.event;
    if(e.pageX || e.pageY)
    {
        posx=e.pageX; posy=e.pageY;
    }
    else if(e.clientX || e.clientY)
    {
       posx=e.clientX+GetScrollXY().x;
       posy=e.clientY+GetScrollXY().y;
    }
    return {"x":posx, "y":posy};
}


function mousedownhand(e){
    topy_=GetScrollTop()+topy;
    var pos=getEventXY(e);
    x=pos.x;
    y=pos.y;
    z=true;
    //设置捕获范围
    if($("move_box").setCapture){
      $("move_box").setCapture();
    }else if(window.captureEvents){
      window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP);
    }
}

function mousemovehand(e)
{
  if (!z) return false;
  var offsetx=getEventXY(e).x-parseInt(x);  //移动的距离，包含正负值
	var offsety=getEventXY(e).y-parseInt(y);//移动的高度，包含正负值
	if (offsetx+topx<0)offsetx=-topx;       //topx 初始x轴值，当移动的值左移大于初始值时，移动值始终为初始x轴值（控制左侧）
	if (offsety+topy_<0)offsety=-topy_;       //topy 初始y轴值，当移动的值上移大于初始值时，移动值始终为初始y轴值（控制上侧）
	
	if (offsetx+topx+parseInt(my_form.offsetWidth)>parseInt(document.body.clientWidth))  //移动距离加初始x轴值加IDV自身宽度>可见宽度时，固定移动值  (offsetWidth经常出错,不设置DIV width属性取不到值)
	  offsetx=parseInt(document.body.clientWidth)-parseInt(my_form.offsetWidth)-topx;
	if (topy+offsety+parseInt(my_form.offsetHeight)>parseInt(document.body.clientHeight)) //移动距离加初始y轴值加IDV自身高度>可见高度时，固定移动值  (offsetHeight经常出错)
    offsety=parseInt(document.body.clientHeight)-parseInt(my_form.offsetHeight)-topy_;
   my_form.style.left=""+(topx+offsetx)+"px";
   my_form.style.top=""+(topy+offsety)+"px";
   window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
}
function mouseuphand(e){
    z=false;
    topx=parseInt(my_form.style.left);
    topy=parseInt(my_form.style.top);
    //取消捕获范围
    if($("move_box").releaseCapture){
      $("move_box").releaseCapture();
    }else if(window.captureEvents){
      window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
    }

}
//随屏移动
var lastScrollY=0;   
function backtop()   
{   
    diffY=GetScrollTop();   
    percent=.1*(diffY-lastScrollY);   
    if(percent>0)   
    {   
        percent=Math.ceil(percent);   
    }   
    else   
    {   
        percent=Math.floor(percent);   
    }   
    my_form.style.pixelTop+=percent;  
    lastScrollY=lastScrollY+percent;   
}   
window.setInterval("backtop()",10);   
function GetScrollTop(){
    if(document.documentElement.scrollTop){
        return document.documentElement.scrollTop;
    }
    else{
        return document.body.scrollTop;
    }
}
