﻿// JScript 文件
var BlueEffects={ 
SizeShow:function(options)
{   
  if(options.Obj!=null)//假如尺寸变化对象不为空
  {
   
    var Obj=options.Obj;
    Obj.style.overflow="hidden";
    
     var StartWidth=null;
     if(options.StartWidth==null||(options.StartWidth!=null&&BlueEffects.IsNum(options.StartWidth)==false)) //假如变化宽度为空
     StartWidth=Obj.offsetWidth ;               //初始化 StartWidth为offsetWidth 
     else
     StartWidth=options.StartWidth;    //初始化 StartWidth为options.StartWidth
     
     var EndWidth=null;
     if(options.EndWidth==null||(options.EndWidth!=null&&BlueEffects.IsNum(options.EndWidth)==false)) //假如变化终止宽度为空
     EndWidth=Obj.offsetWidth ;               //初始化 EndWidth为offsetWidth 
     else
     EndWidth=options.EndWidth;    //初始化 EndWidth为options.EndWidth 
     
     var StartHeight=null;
     if(options.StartHeight==null||(options.StartHeight!=null&&BlueEffects.IsNum(options.StartHeight)==false)) //假如变化高度为空
     StartHeight=Obj.offsetHeight ;               //初始化 StartHeight为offsetHeight
     else
     StartHeight=options.StartHeight;    //初始化 StartHeight为options.StartHeight
     
     var EndHeight=null;
     if(options.EndHeight==null||(options.EndHeight!=null&&BlueEffects.IsNum(options.EndHeight)==false)) //假如变化终止高度为空
     EndHeight=Obj.offsetHeight;               //初始化 EndHeight为offsetHeight
     else
     EndHeight=options.EndHeight;    //初始化 EndHeight为options.EndHeight
     
     if(EndHeight<0)
     EndHeight=0;     
     
     var ChangeTime=null;
     if(options.ChangeTime==null||(options.ChangeTime!=null&&BlueEffects.IsNum(options.ChangeTime)==false)) //假如变化时间长度为空
     ChangeTime=100;               //初始化 ChangeTime为0.1秒
     else
     ChangeTime=options.ChangeTime;    //初始化 ChangeTime为options.ChangeTime
     
     if(ChangeTime<10)
     ChangeTime=10;
     
     var ChangeTimes=null;
     if(options.ChangeTimes==null||(options.ChangeTimes!=null&&BlueEffects.IsNum(options.ChangeTimes)==false)) //假如变化次数为空
     ChangeTimes=5;               //初始化 ChangeTimes为5
     else
     ChangeTimes=options.ChangeTimes;    //初始化 ChangeTimes为options.ChangeTimes
     
     if(ChangeTimes<5)
     ChangeTimes=5;
     if(ChangeTimes>ChangeTime) 
     ChangeTimes=ChangeTime
     
     
     var MyTimeOut=null;     
     
     var WidthChangeSize=(EndWidth-StartWidth)/ChangeTimes; //计算每次Width变化的幅度
     var HeightChangeSize=(EndHeight-StartHeight)/ChangeTimes; //计算每次Height变化的幅度
     var ChangeTimeArea=ChangeTime/ChangeTimes;      //计算变化时间间隔
     
     var NowWidth=StartWidth; 
     var NowHeight=StartHeight; 
     
     var errState=false;
 
     function ChangeSize()
     { 
       try
       {
       if(WidthChangeSize!=0||HeightChangeSize!=0)
       {
          if(WidthChangeSize!=0)
           {
              if((EndWidth>StartWidth&&EndWidth-NowWidth<=WidthChangeSize)||(EndWidth<StartWidth&&EndWidth-NowWidth>=WidthChangeSize))
              {
              NowWidth=EndWidth;              
              Obj.style.width=NowWidth+"px";  
              } 
              else
              {
                NowWidth+=WidthChangeSize;
                Obj.style.width=NowWidth+"px";
              }       
           }           
            if(HeightChangeSize!=0)
           {
              if((EndHeight>StartHeight&&EndHeight-NowHeight<=HeightChangeSize)||(EndHeight<StartHeight&&EndHeight-NowHeight>=HeightChangeSize))
              {
              NowHeight=EndHeight;             
              Obj.style.height=NowHeight+"px";  
              } 
              else
              {
                NowHeight+=HeightChangeSize;
                Obj.style.height=NowHeight+"px";
              }       
           } 
             
       }       
       }catch(err){errState=true;}
                 
       MyTimeOut=setTimeout(ChangeSize,ChangeTimeArea);
       if((NowHeight==EndHeight&& NowWidth==EndWidth)||(WidthChangeSize==0&&HeightChangeSize==0)||errState==true) 
       {
       clearTimeout(MyTimeOut);  
       Obj.style.overflow="auto";
       if(options.Stop!=null)
       try{options.Stop();}catch(err){}    
       }  
     }
     if(options.Start!=null)
      try{options.Start();}catch(err){}    
     ChangeSize();                  
  }
},
  
AlphaShow:function(options)
{ 
  if(options.Obj!=null) //假如透明变化对象不为空
  {
    var Obj=options.Obj;
    
    var StartAlpha=null;
    if(options.StartAlpha==null||(options.StartAlpha!=null&&BlueEffects.IsNum(options.StartAlpha)==false)) //假如变化起点为空
    {
     //alert(options.StartAlpha);
     StartAlpha=100;               //初始化 StartAlpha为100
     }
    else
     StartAlpha=options.StartAlpha;    //初始化 StartAlpha为options.StartAlpha
     
     if(StartAlpha<0)
     StartAlpha=0;
     if(StartAlpha>100)
     StartAlpha=100;
     
     var EndAlpha=null;
     if(options.EndAlpha==null||(options.EndAlpha!=null&&BlueEffects.IsNum(options.EndAlpha)==false)) //假如变化终点为空
     EndAlpha=100;               //初始化 EndAlpha为100
     else
     EndAlpha=options.EndAlpha;    //初始化 EndAlpha为options.EndAlpha
     
     if(EndAlpha<0)
     EndAlpha=0;
     if(EndAlpha>100)
     EndAlpha=100;
     
     var ChangeTime=null;
     if(options.ChangeTime==null||(options.ChangeTime!=null&&BlueEffects.IsNum(options.ChangeTime)==false)) //假如变化时间长度为空
     ChangeTime=100;               //初始化 ChangeTime为0.1秒
     else
     ChangeTime=options.ChangeTime;    //初始化 ChangeTime为options.ChangeTime
     
     if(ChangeTime<10)
     ChangeTime=10;
     
     var ChangeTimes=null;
     if(options.ChangeTimes==null||(options.ChangeTimes!=null&&BlueEffects.IsNum(options.ChangeTimes)==false)) //假如变化次数为空
     ChangeTimes=5;               //初始化 ChangeTimes为5
     else
     ChangeTimes=options.ChangeTimes;    //初始化 ChangeTimes为options.ChangeTimes
     
     if(ChangeTimes<5)
     ChangeTimes=5;
     if(ChangeTimes>ChangeTime) 
     ChangeTimes=ChangeTime
     
     
     var MyTimeOut=null;     
     
     var ChangeSize=(EndAlpha-StartAlpha)/ChangeTimes; //计算每次Alpha变化的幅度
     var ChangeTimeArea=ChangeTime/ChangeTimes;      //计算变化时间间隔
     var NowAlpha=StartAlpha;
     
     var errState=false;    
       
     function ChangeAlpha()
     {       
      try
      {
       NowAlpha+=ChangeSize;
       if((EndAlpha>StartAlpha&&EndAlpha-NowAlpha<=ChangeSize)||(EndAlpha<StartAlpha&&EndAlpha-NowAlpha>=ChangeSize))
       {
       NowAlpha=EndAlpha;
       Obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+NowAlpha+")" ;  
       Obj.style.MozOpacity=NowAlpha/100;       
	   Obj.style.KhtmlOpacity=NowAlpha/100;  //google
	   Obj.style.opacity=NowAlpha/100;   //opera
       }
       else
       {       
        Obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+NowAlpha+")" ; 
        Obj.style.MozOpacity=NowAlpha/100;       
	    Obj.style.KhtmlOpacity=NowAlpha/100;  //google
	    Obj.style.opacity=NowAlpha/100;   //opera         
       }  
       }catch(err){errState=true;}        
       MyTimeOut=setTimeout(ChangeAlpha,ChangeTimeArea); 
       if(NowAlpha==EndAlpha||errState==true)
       {
       clearTimeout(MyTimeOut); 
       if(options.Stop!=null)
       try{options.Stop();}catch(err){}  
       }       
     }
     if(options.Start!=null)
      try{options.Start();}catch(err){}        
     ChangeAlpha();      
  }
},

Move:function(options)
{
  if(options.Obj!=null) //假如移动对象不为空
  {
    var Obj=options.Obj;
    
    Obj.style.position="absolute";
    
    var StartX=null;
    if(options.StartX==null||(options.StartX!=null&&BlueEffects.IsNum(options.StartX)==false)) //假如变化起点为空
     {
     try{StartX=Obj.offsetLeft}catch(err){StartX=0;}
     }             
    else
     StartX=options.StartX;    //初始化 StartX为options.StartX
     
     var EndX=null;
     if(options.EndX==null||(options.EndX!=null&&BlueEffects.IsNum(options.EndX)==false)) //假如变化终点为空
     EndX=100;               //初始化 EndX为100
     else
     EndX=options.EndX;    //初始化 EndX为options.EndX    
     
    // alert(EndX);
     
     var StartY=null;
    if(options.StartY==null||(options.StartY!=null&&BlueEffects.IsNum(options.StartY)==false)) //假如变化起点为空
    {
    try { StartY=Obj.offsetTop;}catch(err){StartY=0;}     
    }
    else
     StartY=options.StartY;    //初始化 StartY为options.StartY
     
     var EndY=null;
     if(options.EndY==null||(options.EndY!=null&&BlueEffects.IsNum(options.EndY)==false)) //假如变化终点为空
     EndY=0;               //初始化 EndY为100
     else
     EndY=options.EndY;    //初始化 EndY为options.EndY
     
     var ChangeTime=null;
     if(options.ChangeTime==null||(options.ChangeTime!=null&&BlueEffects.IsNum(options.ChangeTime)==false)) //假如变化时间长度为空
     ChangeTime=100;               //初始化 ChangeTime为0.1秒
     else
     ChangeTime=options.ChangeTime;    //初始化 ChangeTime为options.ChangeTime
     
     if(ChangeTime<10)
     ChangeTime=10;
     
     var ChangeTimes=null;
     if(options.ChangeTimes==null||(options.ChangeTimes!=null&&BlueEffects.IsNum(options.ChangeTimes)==false)) //假如变化次数为空
     ChangeTimes=5;                //初始化 ChangeTimes为5
     else
     ChangeTimes=options.ChangeTimes;    //初始化 ChangeTimes为options.ChangeTimes
     
     if(ChangeTimes<5)
     ChangeTimes=5;
     if(ChangeTimes>ChangeTime) 
     ChangeTimes=ChangeTime;
     
     
     var MyTimeOut=null;     
     
     var XChangeSize=(EndX-StartX)/ChangeTimes; //计算每次X变化的幅度
     var YChangeSize=(EndY-StartY)/ChangeTimes; //计算每次X变化的幅度
     
     var ChangeTimeArea=ChangeTime/ChangeTimes;      //计算变化时间间隔
     var NowX=StartX;
     var NowY=StartY;
     
     var errState=false;
              
     function ChangePosition()
     {     
         try{
          if(XChangeSize!=0)
           {
              if((EndX>StartX&&EndX-NowX<=XChangeSize)||(EndX<StartX&&EndX-NowX>=XChangeSize))
              {
              NowX=EndX;              
              Obj.style.left=NowX+"px";  
              } 
              else
              {
                NowX+=XChangeSize;
                Obj.style.left=NowX+"px";
              }       
           }           
            if(YChangeSize!=0)
           {
              if((EndY>StartY&&EndY-NowY<=YChangeSize)||(EndY<StartY&&EndY-NowY>=YChangeSize))
              {
              NowY=EndY;             
              Obj.style.top=NowY+"px";  
              } 
              else
              {
                NowY+=YChangeSize;
                Obj.style.top=NowY+"px";
              }
          }
          }catch(err){errState=true;}       
               
       MyTimeOut=setTimeout(ChangePosition,ChangeTimeArea);
       if((NowX==EndX&& NowY==EndY)||errState==true)
       {        
       clearTimeout(MyTimeOut);
       if(options.Stop!=null)
       try{options.Stop();}catch(err){}       
       }       
     } 
     
     if(options.Start!=null)
      try{options.Start();}catch(err){}     
      ChangePosition();      
  } 
   
},

Drag:function(options)
{
  if(options.DragBar!=null) //假如移动对象不为空
  {
    var DragBar=options.DragBar;
    var DragObj=null;
    if(options.DragObj!=null)
    DragObj=options.DragObj;
    else
    DragObj=DragBar; 
       
    var DragState="DragWait";
    var X;
    var Y;
    var StartX;
    var StartY; 
    
      
      
   function Mousedown(event)
   {
	 DragObj.style.position="absolute";  
	 DragState="DragStarted";
	 DragBar.style.cursor="move";
	 
	 if(event.offsetX == null)	 
     X=event.clientX-event.layerX;     
     else
     X=event.clientX-event.offsetX;
     
     if(event.offsetY == null)
     Y=event.clientY-event.layerY;
     else
     Y=event.clientY-event.offsetY;
     
     StartX=event.clientX;
     StartY=event.clientY;  
     
     BlueEffects.addEvent(document,"mousemove",Mousemove);
     BlueEffects.addEvent(document,"mouseup",Mouseup);
     
     BlueEffects.ShowDragCover(); 
     
     if(options.Start!=null){
       try{options.Start();}catch(err){}} 	
   } 
   
   function Mousemove(event)
   {       
       //DragObj.innerHTML=event.clientX-StartX;
       
       if(DragState=="DragStarted")
	   {
	   var tempX=event.clientX-StartX;	   
	   var tempY=event.clientY-StartY;	  
	   
       DragObj.style.left=(X+tempX)+"px";
       DragObj.style.top=(Y+tempY)+"px";
       
       if(options.Move!=null){
       try{options.Move();}catch(err){}}
	   }
	  
   }
   
   function Mouseup(event)
   {       
      //alert("Mouseup");
       DragState="DragEnded";
      // DragBar.style.cursor="auto";
       
       BlueEffects.removeEvent(document,"mousemove",Mousemove);
       BlueEffects.removeEvent(document,"mouseup",Mouseup); 
       BlueEffects.HideDragCover();
       
       if(options.Stop!=null){
       try
       {
        //var EsrcElement=event.target?event.target:event.srcElement;        
		//alert(EsrcElement.id);
        options.Stop();
       
       }catch(err){}
       }   
   } 
  
  BlueEffects.addEvent(DragBar,"mousedown",Mousedown); 
  
  }    
   
},


ColorShow:function(options)
{
  if(options.Obj!=null&&options.Colors!=null)//假如变化对象不为空
  {
    var Obj=options.Obj;  
    var TempColors=options.Colors;
    var Colors=[];
    
    if(TempColors.length>=2)
    {
       var pattern = /^#[0-9a-fA-F]{6}$/;  
       for(var i=0;i<TempColors.length;i++)
       {
          if(TempColors[i].match(pattern)!=null)
          Colors.push(TempColors[i]);
       }   
    }
    
    if(Colors.length>=2)
    {       
       var TimeSpace=0;
       if(options.TimeSpace!=null&&BlueEffects.IsNum(options.TimeSpace)==true)
       TimeSpace=options.TimeSpace;
       else
       TimeSpace=10;
       
       if(TimeSpace<5)
       TimeSpace=5;
       
       var MyTimeOut=null;  
       var NowIndex=0;
       
       var errState=false;
       
       function ChangeColorASC()
       {  
          try
          {
          if(options.BackGround==true)
          Obj.style.backgroundColor=Colors[NowIndex];          
          if(options.Border==true)
          Obj.style.borderColor=Colors[NowIndex];
          if(options.Color==true)
          Obj.style.color=Colors[NowIndex];
          if(options.BackGround!=true&&options.Border!=true&&options.Color!=true)
          Obj.style.backgroundColor=Colors[NowIndex];
          }catch(err){errState=true;}
          
          MyTimeOut=setTimeout(ChangeColorASC,TimeSpace);
          
           NowIndex++;
           if(NowIndex==Colors.length||errState==true) 
           {
           clearTimeout(MyTimeOut);
           if(options.Stop!=null)
           try{options.Stop();}catch(err){}    
           }  
       }
       
     if(options.Start!=null)
     try{options.Start();}catch(err){}    
     ChangeColorASC();     
   }       
       
   }
    
},

ImageShow:function(options)
{
  if(options.Obj!=null&&options.Images!=null)//假如变化对象不为空
  {
    var Obj=options.Obj;  
    var TempImages=options.Images;
    var Images=[];
    
    if(TempImages.length>=2)
    {
       var imgType;
       try
       {
       for(var i=0;i<TempImages.length;i++)
       {
          var imageName=TempImages[i].Image;
          imgType=imageName.toLowerCase().substring(TempImages[i].Image.length-4);
          //alert(imgType);
          if(imgType==".jpg"||imgType==".gif"||imgType==".bmp"||imgType==".png"||imgType=="jpeg")
          {
          Images.push(TempImages[i]);
          
          }
       } 
       }catch(err){}  
    }
    
    if(Images.length>=2)
    {       
       var TimeSpace=0;
       if(options.TimeSpace!=null&&BlueEffects.IsNum(options.TimeSpace)==true)
       TimeSpace=options.TimeSpace;
       else
       TimeSpace=10;
       
       if(TimeSpace<5)
       TimeSpace=5;
       
       var MyTimeOut=null;  
       var NowIndex=0;
       
       var errState=false;
     
       function ChangeImageASC()
       {  
        try
        {
          if(options.BackGround==true)
          {          
          if(Images[NowIndex].Image!=null)
          Obj.style.backgroundImage="url("+Images[NowIndex].Image+")"; 
          if(Images[NowIndex].Position!=null)
          Obj.style.backgroundPosition=Images[NowIndex].Position;
          if(Images[NowIndex].PositionX!=null)
          Obj.style.backgroundPositionX=Images[NowIndex].PositionX;
          if(Images[NowIndex].PositionY!=null)
          Obj.style.backgroundPositionY=Images[NowIndex].PositionY;
          if(Images[NowIndex].Repeat!=null&&(Images[NowIndex].Repeat=="repeat"||Images[NowIndex].Repeat=="no-repeat"||Images[NowIndex].Repeat=="repeat-x"||Images[NowIndex].Repeat=="repeat-y"))
          Obj.style.backgroundRepeat=Images[NowIndex].Repeat;
          }         
          if(options.Src==true)
          {
          alert(Images[NowIndex].Image);
          if(Images[NowIndex].Image!=null)
          Obj.src=Images[NowIndex].Image;
          if(Images[NowIndex].Width!=null&&BlueEffects.IsNum(Images[NowIndex].Width)==true)
          Obj.style.width=Images[NowIndex].Width+"px";  
          if(Images[NowIndex].Height!=null&&BlueEffects.IsNum(Images[NowIndex].Height)==true)
          Obj.style.height=Images[NowIndex].Height+"px";     
          }        
          if(options.BackGround!=true&&options.Src!=true)
          {
          if(Images[NowIndex].Image!=null)
          Obj.style.backgroundImage="url("+Images[NowIndex].Image+")"; 
          if(Images[NowIndex].Position!=null)
          Obj.style.backgroundPosition=Images[NowIndex].Position;
          if(Images[NowIndex].PositionX!=null)
          Obj.style.backgroundPositionX=Images[NowIndex].PositionX;
          if(Images[NowIndex].PositionY!=null)
          Obj.style.backgroundPositionY=Images[NowIndex].PositionY;
          if(Images[NowIndex].Repeat!=null&&(Images[NowIndex].Repeat=="repeat"||Images[NowIndex].Repeat=="no-repeat"||Images[NowIndex].Repeat=="repeat-x"||Images[NowIndex].Repeat=="repeat-y"))
          Obj.style.backgroundRepeat=Images[NowIndex].Repeat;
          }    
          
          }catch(err){errState=true;}
        
          MyTimeOut=setTimeout(ChangeImageASC,TimeSpace);
          
           NowIndex++;          
           if(NowIndex==Images.length||errState==true) 
           {
           clearTimeout(MyTimeOut);
           if(options.Stop!=null)
           try{options.Stop();}catch(err){}    
           }  
       }
       
     if(options.Start!=null)
     try{options.Start();}catch(err){}    
     ChangeImageASC();     
   }       
       
   }
    
},

ReSize:function(options)
{
    if(options.ReSizeBar!=null) //假如移动对象不为空
  {
    var ReSizeBar=options.ReSizeBar;
    var ReSizeObj=null;
    if(options.ReSizeObj!=null)
    ReSizeObj=options.ReSizeObj;
    else
    ReSizeObj=ReSizeBar; 
    
	var XResize=null;
	if(options.XResize!=null&&options.XResize==false)
	XResize=false;
	else
	XResize=true;
	
	var YResize=null;
	if(options.YResize!=null&&options.YResize==false)
	YResize=false;
	else
	YResize=true;
	   
    var ReSizeState="ReSizeWait";
    var X;
    var Y;
    var StartX;
    var StartY; 
    
   // ReSizeObj.style.position="absolute";    
      
   function Mousedown(event)
   {
	 ReSizeState="ReSizeStarted";
	 
	 if(XResize==true&&YResize==true)
	 ReSizeBar.style.cursor="nw-resize";
	 else if(XResize==true)
	 ReSizeBar.style.cursor="e-resize";
	 else if(YResize==true)
	 ReSizeBar.style.cursor="n-resize";
		 
     X=ReSizeObj.offsetWidth;
     Y=ReSizeObj.offsetHeight;
     
     StartX=event.clientX;
     StartY=event.clientY;     
   
     BlueEffects.addEvent(document,"mousemove",Mousemove);	 
     BlueEffects.addEvent(document,"mouseup",Mouseup); 
      BlueEffects.ShowDragCover();
     
     if(options.Start!=null){
       try{options.Start();}catch(err){}} 	
   } 
   
   function Mousemove(event)
   {       
       if(ReSizeState=="ReSizeStarted")
	   {
	   var tempX=event.clientX-StartX;	   
	   var tempY=event.clientY-StartY;	  
	   
	   try{
	   if(XResize==true)
       ReSizeObj.style.width=(X+tempX)+"px";
	   if(YResize==true)
       ReSizeObj.style.height=(Y+tempY)+"px";
       }catch(err){}
       
       if(options.Move!=null){
       try{options.Move();}catch(err){}}
	   }
	  
   }

   
   function Mouseup(event)
   {       
      //alert("Mouseup");
       ReSizeState="ReSizeEnded";
       BlueEffects.removeEvent(document,"mousemove",Mousemove);
       BlueEffects.removeEvent(document,"mouseup",Mouseup); 
       BlueEffects.HideDragCover();
             
       if(options.Stop!=null){
       try
       {
        //var EsrcElement=event.target?event.target:event.srcElement;        
		//alert(EsrcElement.id);
        options.Stop();
       
       }catch(err){}}   
   }
 
  BlueEffects.addEvent(ReSizeBar,"mousedown",Mousedown);
  
  }  
},

IsNum:function(input){
        var re = /^-?[0|1-9]\d*$/;   //判断字符串是否为正整数 /^[1-9]+[0-9]*]*$/  
        if (!re.test(input))
        return false;
        else
        return true;
    },

addEvent:function(o, t, f) {
		if (o.addEventListener) o.addEventListener(t, f, false);
		else if (o.attachEvent) o.attachEvent('on'+ t, f);
		else o['on'+ t] = f;
	},
		
removeEvent:function(o, t, f) {
		if (o.removeEventListener) o.removeEventListener(t, f, false);
		else if (o.detachEvent) o.detachEvent('on'+ t, f);
		else o['on'+ t] = null;
	},
	
 ShowDragCover:function ()
  {
   var cover=document.getElementById("dragcover");
   if(cover==null)
   cover=BlueEffects.CreateDragCover();
   cover.style.display="block";  
   cover.style.height=document.body.clientHeight;
   cover.style.width=document.body.clientWidth; 
  },
  
  SetDragCoverZindex:function(zindex)
  {
   var cover=document.getElementById("dragcover");
   if(cover!=null)
   cover.style.zIndex=zindex;
  },
  
  HideDragCover:function()
  {
   var cover=document.getElementById("dragcover");
   if(cover==null)
   cover=BlueEffects.CreateDragCover();
   cover.style.display="none";
  },
     
  CreateDragCover:function()
  {
      var cover = document.createElement("div");
      cover.setAttribute('id', "dragcover");
      cover.style.height=document.body.clientHeight;
      cover.style.width=document.body.clientWidth;
      cover.style.zIndex=50000;
      cover.style.position="absolute";
      cover.style.backgroundColor="#000000";
      cover.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)" ;  //ie
      cover.style.MozOpacity=0;  //firefox
	  cover.style.KhtmlOpacity=0; //google
	  cover.style.opacity=0;  //opera
	  
      cover.style.display="none";
            
      try{
      document.body.insertBefore(cover, document.body.firstChild); return cover;}catch(err){alert("document.body对象不能为空"); return null;}    
  },
  
  getCurrentSize:function(options)
  {
      var testClass=options.testClass?options.testClass:null;
      var reData={width:0,height:0};
      var temp = document.createElement("div");
      temp.setAttribute('id', "testClass");
      temp.className=testClass;
      
      try{
      
      document.body.insertBefore(temp,document.body.firstChild); 
      reData.width=temp.offsetWidth;
      reData.height=temp.offsetHeight; 
      
      document.body.removeChild(temp);
      //alert(document.getElementById("testClass"));
           
      return reData;
      
      }catch(err){alert("document.body对象不能为空"); return null;} 
  }  

};

var BlueDrag=function(options)
{
    var DragBar=options.DragBar;
    var DragObj=null;
    if(options.DragObj!=null)
    DragObj=options.DragObj;
    else
    DragObj=DragBar; 
       
    var DragState="DragWait";
    var X;
    var Y;
    var StartX;
    var StartY; 
    
    var self=this;
    
    DragObj.style.position="absolute";  
  this.canDrag=true;
  
  this.InitDrag=function()
  {
      if(DragBar!=null) //假如移动对象不为空
      {
        BlueEffects.addEvent(DragBar,"mousedown",self.Mousedown);
       if(options.Start!=null){
       var Start=options.Start;       
       try{BlueEffects.addEvent(DragBar,"mousedown",Start);}catch(err){}} 
       this.canDrag=true;
      }  
  };
  
  this.Mousemove=function(event)
   {  
       //alert("cc");
       
       if(DragState=="DragStarted")
	   {
	   var tempX=event.clientX-StartX;	   
	   var tempY=event.clientY-StartY;	  
	   
	   //alert(tempX);
       DragObj.style.left=(X+tempX)+"px";
       DragObj.style.top=(Y+tempY)+"px";
       
       if(options.Move!=null){
       try{options.Move();}catch(err){}}
	   }
	  
   };
   
   this.Mouseup=function(event)
   {      
    
       DragState="DragEnded";
       
       BlueEffects.removeEvent(document,"mousemove",self.Mousemove);
       BlueEffects.removeEvent(document,"mouseup",self.Mouseup); 
       BlueEffects.HideDragCover();
       
       if(options.Stop!=null){
       try
       {       
        options.Stop();
       
       }catch(err){}
       }   
   };
  
  this.Mousedown=function(event)
  {
     DragState="DragStarted";
	 DragBar.style.cursor="move";
	 
	 if(event.offsetX == null)	 
     X=event.clientX-event.layerX;     
     else
     X=event.clientX-event.offsetX;
     
     if(event.offsetY == null)
     Y=event.clientY-event.layerY;
     else
     Y=event.clientY-event.offsetY;
     
     StartX=event.clientX;
     StartY=event.clientY; 
    
     BlueEffects.addEvent(document,"mousemove",self.Mousemove);
     BlueEffects.addEvent(document,"mouseup",self.Mouseup);
     
     BlueEffects.ShowDragCover();     
    
  };
  
  this.RemoveDrag=function()
  {
     BlueEffects.removeEvent(DragBar,"mousedown",self.Mousedown); 
     this.canDrag=false;
  };
  
    this.InitDrag(); 
   
}
