//
// QUOSA Information Manager
// Copyright © 2000-2008 QUOSA, Inc.
// All Rights Reserved.
//
var xDockFrameInfo = {
	xFrameId : 'xDockFrame'
};

function xDockFrame() {
	var x = this; x.xObjId = xGetElementById(xDockFrameInfo.xFrameId); $(x.xObjId.id, x);	
	x.xContainer = new xDockFrameContainer('xDockFrameContainer');	
	x.xContainer.xAppendFrame('xDataTree', new xDataTree());

	x.xDockHide = xCreateButton('xHideDock', 'x_dock');
	x.xDockHide.xOnClick = function () {
		$(xMainFrameInfo.xFrameId).xHideDockFrame();
	};
	
	/*
	x.xShowMenu = xCreateButton('xDockFrameShowMenu', 'x_darrow');
	x.xShowMenu.xOnClick = function () {
	};
	*/
	
	x.xShiftFrameSize = function (xShiftX, xShiftY) {
		var x = $(xDockFrameInfo.xFrameId); xShiftObjSize(x.xObjId, xShiftX, xShiftY);
		x.xContainer.xShiftFrameSize(xShiftX, xShiftY);
	}
	
	x.xSetFrameSize = function (xSizeW, xSizeH) {
		var x = $(xDockFrameInfo.xFrameId); 
		var xNewSize = xSubObjMrs(x.xObjId, xSizeW, xSizeH);
		xSetObjSize(x.xObjId, xNewSize[0], xNewSize[1]);
		var xClientS = xGetObjClientSize(x.xObjId); 
		var xClientW = xClientS[0], xClientH = xClientS[1];
		//xClientH -= xGetObjHeight('xDockFrameHeader') + xGetObjHeight('xDockFrameToolBox');
		xClientH -= xGetObjHeight('xDockFrameHeader');
		x.xContainer.xSetFrameSize(xClientW, xClientH);
	};
	
	x.xGetFrameSize = function () {
		var x = $(xDockFrameInfo.xFrameId);
		return xGetObjSize(x.xObjId);
	};
	
	x.xShow = function () {
		var x = $(xDockFrameInfo.xFrameId); 
		xShow(x.xObjId);
	};
	
	x.xHide = function () {
		var x = $(xDockFrameInfo.xFrameId);
		xHide(x.xObjId);
	};
	
	x.xIsVisible = function () {
		var x = $(xDockFrameInfo.xFrameId);
		return xIsDispMode(x.xObjId);
	}
}

function xDockFrameContainer(xContainerId) {
	var x = this; x.xObjId = xGetElementById(xContainerId);
	x.xFrames = new xFramesCollection();
	
	x.xAppendFrame = function (frmName, frmObj) {
		var x = this; x.xFrames.xAppendFrame(frmName, frmObj);
	};	
	
	x.xShiftFrameSize = function (xShiftX, xShiftY) {
		var x = this;  xShiftObjSize(x.xObjId, xShiftX, xShiftY);
		x.xFrames.xShiftFrameSize(xShiftX, xShiftY);
	};
	
	x.xSetFrameSize = function (xSizeW, xSizeH) {
		var x = this; var xNewSize = xSubObjMrs(x.xObjId, xSizeW, xSizeH);
		xSetObjSize(x.xObjId, xNewSize[0], xNewSize[1]);
		var xClientSize = xGetObjClientSize(x.xObjId);
		x.xFrames.xSetFrameSize(xClientSize[0], xClientSize[1]);
	};
}