
// переменные
// id перемещаемой области 
var box     = "eCartDiv";

//ширина и высота перетаскиваемой области
var width  = 120;
var height = 55;

// id области захвата
var dragbar = "dragbox";

// браузер
function check_ua() {
  
	this.ver=navigator.appVersion;
	this.agent=navigator.userAgent;
	this.dom=document.getElementById?1:0;
	this.opera5=this.agent.indexOf("Opera 5")>-1;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1&&this.dom&&!this.opera5)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1&&this.dom&&!this.opera5)?1:0;
	this.ie4=(document.all&&!this.dom&&!this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6;
	this.mac=this.agent.indexOf("Mac")>-1;
	this.ns6=(this.dom&&parseInt(this.ver)>=5)?1:0;
	this.ns4=(document.layers&&!this.dom)?1:0;
	this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5);
	return this; 
}

var ua = new check_ua();

// перетаскивание 
function drag_drop(){
   if( ua.ie && dragapproved ){
      new_y = tempy + event.clientY - offsety;
      if( document.body.offsetHeight + document.body.scrollTop - height < new_y ) { 
         crossobj.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - height;
      } else if( new_y < document.body.scrollTop ) {
         crossobj.style.pixelTop = document.body.scrollTop;
      } else {
         crossobj.style.pixelTop = new_y;
      }
      new_x = tempx + event.clientX - offsetx;
      if( document.body.offsetWidth + document.body.scrollLeft - width < new_x ) { 
         crossobj.style.pixelLeft = document.body.offsetWidth + document.body.scrollLeft - width;
      } else if( new_x < document.body.scrollLeft ) {
         crossobj.style.pixelLeft = document.body.scrollLeft;
      } else {
         crossobj.style.pixelLeft = new_x;
      }
      
      topOffset = crossobj.style.pixelTop - document.body.scrollTop;
      return false;
   }
}

function initializedrag() {
   if( ua.ie && crossobj ) {
      
      var firedobj = event.srcElement;
      var topelement = document.compatMode && document.compatMode != "BackCompat" ? "documentElement" : "body";
      while( firedobj.tagName != topelement.toUpperCase() && firedobj.id != dragbar ) {
         firedobj = firedobj.parentElement;
      }
   
      if ( firedobj.id == dragbar ) {
         offsetx = event.clientX;
         offsety = event.clientY;
         
         tempx = crossobj.style.pixelLeft ? parseInt( crossobj.style.pixelLeft ) : 0;
         tempy = crossobj.style.pixelTop ? parseInt( crossobj.style.pixelTop ) : 0;
         
         dragapproved = true;
         document.onmousemove = drag_drop;
      }
   }
}

function hide(){
   crossobj.style.visibility = "hidden";
}

// прокрутка 
var shiftMinimize = 0;
var topOffset = 0;

function initMove() {
   if( ua.ie ) {
      crossobj = document.all[box];
      crossobj.onmouseup = new Function( "dragapproved=false" );
      topOffset = crossobj.style.pixelTop;
      setInterval( "doMove()", 30 );
   }
}

function doMove() {
   var shiftPage = document.body.scrollTop;
   if( shiftPage != shiftMinimize ){
      dif = ( shiftPage - shiftMinimize ) >> 2;
      if( dif ) shiftMinimize += dif; 
      else shiftMinimize = shiftPage;
      crossobj.style.pixelTop = shiftMinimize + topOffset;
   }

}

window.onload = initMove;


