﻿// JScript 文件
function FloatLayer(e,defaultPos)
{
    var self=new Control(e);

    var _pos=defaultPos?defaultPos:{};
    self.setPosition=function(pos)
    {
        if(pos)
        {
            if(pos.left&&typeof(pos.left)=='number')
            {
                _pos.left=pos.left;
                self.cssstyle('left',pos.left+'px');
            }
            if(pos.top&&typeof(pos.top)=='number')
            {
                _pos.top=pos.top;
                self.cssstyle('top',pos.top+'px');
            }
            if(pos.width&&typeof(pos.width)=='number'&&pos.width>=0)
            {
                _pos.width=pos.width;
                self.cssstyle('width',pos.width+'px');
            }
            if(pos.height&&typeof(pos.height)=='number'&&pos.height>=0)
            {
                _pos.height=pos.height;
                self.cssstyle('height',pos.height+'px');
            }
        }
    };
    var baseShow=self.show;
    self.show=function()
    {
        if(baseShow)baseShow(_pos.left,_pos.top);
        window.attachEvent('onscroll',self.layout);
        window.attachEvent('onresize',self.layout);
        self.layout();
    };
    self.layout=function()
    {
        if(self.readyState=='complete')
        {
            var left=$b.scrollLeft+_pos.left;
            var top=$b.scrollTop+_pos.top;
            if(self.overstep==false)
            {
                if(left<0)
                {
                    left=0;
                }
                if(left+self.offsetWidth>$b.clientWidth)
                {
                    left=$b.scrollLeft+$b.clientWidth-self.offsetWidth;
                }
                if(top<0)
                {
                    top=0;
                }
                if(top+self.offsetHeight>$b.clientHeight)
                {
                    top=$b.scrollTop+$b.clientHeight-self.offsetHeight;
                }
            }
            self.move(left,top);
        }
    };

    self.moveable=true;
    self.overstep=false;
    if(self.readyState=='complete')
    {
        self.layout();
    }
    return self;
}