
function WinObj_init()
{var drag=Drag.getDrag();var obj=this.doc.getElementById(this.name);if(!obj)
this.create();var obj=this.doc.getElementById(this.name);if(!obj)
return;this.display=obj.style.display;drag.add(this.doc.getElementById(this.name),DRAG_ACTION_MOVE);obj.onmoved=this.onmoved.bind(this);drag.add(this.doc.getElementById(this.name+'_resize_img'),DRAG_ACTION_SIZE,this.name);obj.onresized=this.onresized.bind(this);EventCatch(this.doc.getElementById(this.name+'_close_img'),"mousedown",this.hide.bind(this));var content=this.doc.getElementById("content");if(content&&content.mTabBox)
{EventCatch(content.mTabBox,"select",this.reappend.bind(this));}}
function WinObj_hide(e)
{e=e||window.event;var obj=this.doc.getElementById(this.name);this.display="none";ObjDisplay(obj,false);var evt={};evt={"obj":obj,"winobj":this};this.save();NMBrowser.fireEventListener("hide",evt);EventConsume(e);}
function WinObj_show()
{var obj=this.doc.getElementById(this.name);ObjDisplay(obj,true);this.display="block";var evt={};evt={"obj":obj,"winobj":this};this.save();NMBrowser.fireEventListener("show",evt);}
function WinObj_save()
{var obj=this.doc.getElementById(this.name);if(obj)
{NMSaveObjDim(obj);NMSaveAttrs(obj.style,this.name+'.style',['display']);}}
function WinObj_load()
{var obj=this.doc.getElementById(this.name);if(obj)
{NMLoadObjDim(obj);NMLoadAttrs(obj.style,this.name+'.style',['display']);}
this.display=obj.style.display;}
var allwinobjs=[];function InterSect(obj1,obj2)
{var x1=ObjGetX(obj1);var y1=ObjGetY(obj1);var w1=ObjGetW(obj1);var h1=ObjGetH(obj1);var x2=ObjGetX(obj2);var y2=ObjGetY(obj2);var w2=ObjGetW(obj2);var h2=ObjGetH(obj2);var x=Math.max(x1,x2);var y=Math.max(y1,y2);var w=Math.min(x1+w1,x2+w2)-x;var h=Math.min(y1+h1,y2+h2)-y;return[x,y,w,h];}
function WinObj(doc,name,initnow)
{this.doc=doc;this.name=name;this.init=WinObj_init;this.load=WinObj_load;this.save=WinObj_save;this.hide=WinObj_hide;this.show=WinObj_show;this.toggle=function()
{var obj=this.doc.getElementById(this.name);if(obj)
{var ishidden=ObjIsHidden(obj);(ishidden)?this.show():this.hide();}else
{this.init();}}
this.reappend=function()
{var obj=this.doc.getElementById(this.name);if(!this.display)
{return;}
var content=this.doc.getElementById('content');var rect=InterSect(obj,content);if(rect[2]<=0||rect[3]<=0)
{return;}
var mainwincontainer=this.doc.getElementById('main-window');mainwincontainer.removeChild(obj);mainwincontainer.appendChild(obj);}
this.onselect=function(e)
{var obj=this.doc.getElementById(this.name);var newzIndex=obj.style.zIndex?parseInt(obj.style.zIndex)+1:10000;obj.style.zIndex=newzIndex;}
this.onmoved=function(e)
{var obj=this.doc.getElementById(this.name);var x=ObjGetX(obj);var y=ObjGetX(obj);var w=ObjGetX(obj);var h=ObjGetX(obj);var evt={};evt={"obj":obj,"winobj":this,"x":x,"y":y,"w":w,"h":h};NMBrowser.fireEventListener("moved",evt);}
this.onresized=function(e)
{var obj=this.doc.getElementById(this.name);var x=ObjGetX(obj);var y=ObjGetX(obj);var w=ObjGetX(obj);var h=ObjGetX(obj);var evt={};evt={"obj":obj,"winobj":this,"x":x,"y":y,"w":w,"h":h};NMBrowser.fireEventListener("resized",evt);}
if(initnow)
{this.init();}
allwinobjs.push(this);}
WinObj.prototype.create=function(){};WinObj.all=function()
{return allwinobjs;}
debug("winobj.js");
