var IE=false;
if (document.all) IE=true;
var NC=false;
if (document.layers) NC=true;
var Opera=false;
if (document.getElementById) Opera=true;

/*var IE = (document.all);
var NC = (document.layers);
var Opera = (document.getElementById);
  */
function getHeight() {
if (IE || Opera) send = document.body.clientHeight;
if (NC) send = window.innerHeight;
return send;
}

function getWidth() {
 if (IE || Opera) send = document.body.clientWidth;
 if (NC) send = window.innerWidth;
return send;
}


function checkonscroll()
{
      var obj = eval("bask_win");

	diffY = document.body.scrollTop;
	diffX = document.body.scrollLeft;
	curX  = obj.rootDocHead.style.pixelLeft;
	curY  = obj.rootDocHead.style.pixelTop;

	targetX = obj.left + diffX;
	targetY = obj.top  + diffY;

	if (curX != targetX)
    	{
    		curHorShift = (targetX - curX);
	        curHorShift = (curHorShift > 0) ? Math.ceil(curHorShift):Math.floor(curHorShift);

		obj.rootDocHead.style.pixelLeft += curHorShift;
		obj.rootDocObj.style.pixelLeft  += curHorShift;
	}

	if (curY != targetY)
    	{
		curVertShift = (targetY - curY);
		curVertShift = (curVertShift > 0) ? Math.ceil(curVertShift):Math.floor(curVertShift);

		obj.rootDocHead.style.pixelTop += curVertShift;
		obj.rootDocObj.style.pixelTop  += curVertShift;
	}

}



// мышь над заголовком объекта
function BWNOnMouseOver()
{
    obj.oldonmousedown      = document.onmousedown;
    document.onmousedown      = BWNDrag;
    window.captureEvents(Event.MOUSEDOWN);
    return false;
}

// мышь съехала с заголовка объекта
function BWNOnMouseOut()
{
    document.draggedBWN = null;   
    document.onmousedown      = obj.oldonmousedown;
    window.releaseEvents(Event.MOUSEDOWN);
    return false;
}

function BWNMove(e)
{
    var obj = document.draggedBWN;
    var curX;
    var curY;
    var evt = (window.event) ? window.event : e;
    if(evt.which==0 && evt.button==0){
//    }else{
	BWNDrop();                        
        return true;
    }

  var curX = evt.pageX || evt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft || 0;
  var curY = evt.pageY || evt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop || 0;

    curX-=obj.dragXOffset;
    curY-=obj.dragYOffset
//    curX     = evt.clientX - obj.dragXOffset;
 //   curY     = evt.clientY - obj.dragYOffset
    obj.left = curX;
    obj.top  = curY;

    mv(curX,curY);
/*
    obj.rootDocHead.style.pixelLeft = curX + document.body.scrollLeft;
    obj.rootDocHead.style.pixelTop  = curY + document.body.scrollTop;
    obj.rootDocObj.style.pixelLeft  = curX + document.body.scrollLeft;
    obj.rootDocObj.style.pixelTop   = curY + obj.headerHeight + document.body.scrollTop;
*/
    evt.returnValue = false;      
    return false;
}

function BWNDrop()
{       
    var obj = document.draggedBWN;
    document.onmousemove = obj.oldonmousemove;
    document.onmouseup   = obj.oldonmouseup;            
    document.draggedBWN = null;
    return true;               
}

function BWNSetCoord(e){
  e = e || window.event;
  var curX = e.pageX || e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft || 0;
  var curY = e.pageY || e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop || 0;


    var obj;

    obj = this;


	diffY = document.body.scrollTop;
	diffX = document.body.scrollLeft;

	if ((curY+obj.height+10)>(document.body.clientHeight)){
	  curY=document.body.clientHeight-obj.height-10;
	};
	if ((curX+obj.width+10)>(document.body.clientWidth)){
	  curX=document.body.clientWidth-obj.width-10;
	};

    obj.left = curX;
    obj.top  = curY;

    mv(curX,curY);

};

function mv(curX,curY){
//    var coord=curX + document.body.scrollLeft;
    if (IE){
        obj.rootDocHead.style.pixelLeft = curX;
     }else{
	obj.rootDocHead.style.left = curX+'px';
    }

//    coord=curY + document.body.scrollTop;
    if (IE){
	    obj.rootDocHead.style.pixelTop  = curY;
     }else{
	    obj.rootDocHead.style.top  = curY+'px';
    }

//    coord=curX + document.body.scrollLeft;
    if (IE){
	obj.rootDocObj.style.pixelLeft  = curX;
     }else{	
	obj.rootDocObj.style.left  = curX+'px';
    }	

    var coord=curY + obj.headerHeight; //+ document.body.scrollTop;	
    if (IE){
	obj.rootDocObj.style.pixelTop = coord;
     }else{
	obj.rootDocObj.style.top   = coord+'px';
    }	

}

function BWNDrag(e)
{
    var obj;
    obj = this.BWN;

    var evt = (window.event) ? window.event : e;

    var curX = evt.pageX || evt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft || 0;
    var curY = evt.pageY || evt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop || 0;

    obj.dragXOffset = curX - obj.left;
    obj.dragYOffset = curY - obj.top;  

//alert(obj.dragXOffset);
    obj.oldonmousemove = document.onmousemove;
    obj.oldonmouseup   = document.onmouseup;

    document.onmousemove = BWNMove;
    document.onmouseup   = BWNDrop;

    document.draggedBWN = obj;  
    return true;
}

// Замена документа, содержащегося в BWN
function BWNSetSrc(src)
{

    if(this.rootDocObj.src != src) {
	this.rootDocObj.src=src;
    }	
    return true;
};

// Изменение видимости
function BWNSetVisibility(vis)
{
    if(vis)
    {
//        this.visible = true;
	this.rootDocObj.style.visibility  = "visible";
        this.rootDocHead.style.visibility = "visible";
    }
    else
    {
//        this.visible = false;
     	this.rootDocObj.style.visibility  = "hidden";
        this.rootDocHead.style.visibility = "hidden";
    }
};

//конструктор
function BWN()
{
    var HTMLstr;

    this.id="bask_win";
    this.visible      =  false;
    this.width=168;
    this.height=120;
    this.src="/bwn_empty.asp"
    this.left=(getWidth()-this.width)*3/4
    this.top=(getHeight())/10;

    this.headerHeight=19;


    HTMLstr =  '<DIV  ID="'+this.id+'_header"  CLASS="BWNHead" STYLE="cursor:pointer;position:absolute;overflow:clip;z-index:10;';
    HTMLstr += 'left:'+this.left+';top:'+this.top+';';
//    HTMLstr += 'left:0;top:'+this.top+';';
    HTMLstr += 'height:'+this.headerHeight + ';width:'+this.width+';visibility:hidden;">';
    HTMLstr += '<TABLE WIDTH="170" class="common-text" BORDER="0" CELLSPACING="0" CELLPADDING="3" style="background-color:#56A6BD;border: 1px solid #222544;height:20px;color:white"><TR><TD NOWRAP WIDTH="100%" STYLE="padding-left: 6px;"><B>Добавление товара</B></TD><TD WIDTH="16"><A HREF="javascript://" OnClick="bwn_hide(&#39;bask_win&#39;);"><IMG SRC="/i/close.gif" WIDTH="16" HEIGHT="16" HSPACE="0" VSPACE="0" ALT="закрыть окно" BORDER="0"></A></TD></TR></TABLE>';
    HTMLstr += '</DIV>\n';

    HTMLstr += '<IFRAME ID="' +this.id + '"  SRC="'+this.src+'" FRAMEBORDER=0 ';
    HTMLstr += 'HEIGHT="' + (this.height-this.headerHeight) + '" WIDTH="'+this.width+'" SCROLLING="NO" ';
    HTMLstr += 'STYLE="position:absolute;z-index:1000;border: 1px solid #222544; left:'+this.left+';top:'+(this.top+this.headerHeight)+';height:'+(this.height-this.headerHeight)+'; width:'+this.width+';';
    HTMLstr += 'visibility:hidden;">';
    HTMLstr+='</IFRAME>\n';

    document.write(HTMLstr);
    document.draggedBWN = null;


    if(IE){
      this.rootDocObj   = document.all[this.id];
      this.rootDocHead  = document.all[this.id+'_header'];
    }

    if(NC){
      this.rootDocObj   = document.layers[this.id];
      this.rootDocHead  = document.layers[this.id+'_header'];
    }

    if(Opera){
      this.rootDocObj   = document.getElementById(this.id);
      this.rootDocHead  = document.getElementById(this.id+'_header');
    }

    this.rootDocHead.onmousedown = BWNDrag;

    this.rootDocHead.BWN = this;
    this.rootDocObj.BWN  = this;
    this.setSrc                = BWNSetSrc;
    this.setVisibility         = BWNSetVisibility;      
    this.setCoord	       = BWNSetCoord;      

    window.onscroll = checkonscroll;
    return this;
}
