var fixedPointWindowControl = [];

fixedPointWindowControl = 
	{
	fixedPointWindowConstructor	: [],
	dashBoardWindow			: [],
	openWindows			: [],

	init: function()
		{
		},

	newWindow: function(windowData)
		{

// Check if window is already open
		for(var i in this.openWindows)
			{
			if(this.openWindows[i] == windowData) return false;
			}
// Else open new window to dashboard
		this.openWindows.push(windowData);

// Create window container
		var widgetContainer = document.createElement("DIV");

		widgetContainer.className ="window"+windowData.windowSkin;
		with(widgetContainer.style)
			{
			width		= windowData.width+"px";
			height		= windowData.height+"px";
			top		= windowData.yPos+"px";
			left		= windowData.xPos+"px";
			zIndex		= "999";
			}
		var windowIdentifier = document.createElement("input");
		windowIdentifier.setAttribute("type","hidden");
		windowIdentifier.setAttribute("value", windowData.windowID);
		windowIdentifier.className = "windowIdentifier";
		widgetContainer.appendChild(windowIdentifier);
		

// Create window titlebar
		var windowToolbar = document.createElement("div");
		var windowToolbarLeft = document.createElement("div");
		var windowToolbarCenter = document.createElement("div");
		var windowToolbarRight = document.createElement("div");
		var windowToolbarTitleHolder = document.createElement("div");
		var windowToolbarTitle = document.createTextNode(windowData.windowTitle);
		
		with(windowToolbarCenter.style)	{width = windowData.width+windowData.titleBarMaxWidth+"px";}
	
		var windowToolbarCloseButton = document.createElement("div");
		windowToolbarCloseButton.className = "window"+windowData.windowSkin + "TitlebarCloseButton";
		
		
		windowToolbarCloseButton.onmouseover = function(){windowToolbarCloseButton.className = "window"+windowData.windowSkin + "TitlebarCloseButtonOver";}
		windowToolbarCloseButton.onmouseout = function(){windowToolbarCloseButton.className = "window"+windowData.windowSkin + "TitlebarCloseButton";}
		windowToolbarCloseButton.onclick = function()
			{
			fixedPointWindowControl.openWindows.remove(windowData);
			document.body.removeChild(widgetContainer);
			if(windowData.removeWidget)
				{
				setTimeout(windowData.removeWidget, 10);
				}
			}
	
		windowToolbarLeft.className = "window"+windowData.windowSkin + "TitlebarLeft";
		windowToolbarCenter.className = "window"+windowData.windowSkin + "TitlebarCenter";
		windowToolbarRight.className = "window"+windowData.windowSkin + "TitlebarRight";
		windowToolbarTitleHolder.className = "window"+windowData.windowSkin + "TitlebarTitle";
		with(windowToolbarTitleHolder.style)	{width = windowData.width+windowData.titleBarMaxWidth-30+"px"}
	
		windowToolbarTitleHolder.appendChild(windowToolbarTitle);
		windowToolbarCenter.appendChild(windowToolbarTitleHolder);
		windowToolbarCenter.appendChild(windowToolbarCloseButton);
	
		windowToolbar.appendChild(windowToolbarLeft);
		windowToolbar.appendChild(windowToolbarCenter);
		windowToolbar.appendChild(windowToolbarRight);
		widgetContainer.appendChild(windowToolbar);

// Create window content area
		var windowContent = document.createElement("div");
		windowContent.className = "window"+windowData.windowSkin+"ContentContainer";
		var windowContentLeft = document.createElement("div");
		var windowContentCenter = document.createElement("div");
		var windowContentRight = document.createElement("div");
	
		windowContentLeft.className = "window"+windowData.windowSkin + "ContentAreaLeft";
		windowContentCenter.className = "window"+windowData.windowSkin + "ContentAreaCenter";
		windowContentCenter.id = windowData.windowID;
		
		windowContentRight.className = "window"+windowData.windowSkin + "ContentAreaRight";
	
	
		with(windowContentCenter.style)
			{
			width	= windowData.width+windowData.contentAreaMaxWidth+"px";
			height	= windowData.height-windowData.titleBarHeight-windowData.BottomHeight+"px";
			}
	
	
		windowContent.appendChild(windowContentLeft);
		windowContent.appendChild(windowContentCenter);
		windowContent.appendChild(windowContentRight);
		widgetContainer.appendChild(windowContent);



// Create window bottom
		var windowBottom = document.createElement("div");
		windowBottom.className = "window"+windowData.windowSkin+"BottomContainer";
		var windowBottomLeft = document.createElement("div");
		var windowBottomCenter = document.createElement("div");
		var windowBottomRight = document.createElement("div");
	
		windowBottomLeft.className = "window"+windowData.windowSkin + "BottomLeft";
		windowBottomCenter.className = "window"+windowData.windowSkin + "BottomCenter";
		windowBottomRight.className = "window"+windowData.windowSkin + "BottomRight";

		with(windowBottomCenter.style)
			{
			width = windowData.width+windowData.titleBarMaxWidth+"px";
			}

		windowBottom.appendChild(windowBottomLeft);
		windowBottom.appendChild(windowBottomCenter);
		windowBottom.appendChild(windowBottomRight);
	
		widgetContainer.appendChild(windowBottom);

// *** Adjust borders *** //
		with(windowContentLeft.style)	height = windowData.height-windowData.titleBarHeight-windowData.BottomHeight+"px";
		with(windowContentRight.style)	height = windowData.height-windowData.titleBarHeight-windowData.BottomHeight+"px";

// *** Attach mouse events *** //
		windowToolbar.onmousedown = function()
			{
			fixedPointUiControl.mouseOver = widgetContainer;
			fixedPointWindowControl.zSort();
			fixedPointUiControl.resize = false;
			}
		if(windowData.resizable)
			{
			windowBottomRight.onmousedown = function()
				{
				fixedPointUiControl.resize = true;
				fixedPointUiControl.mouseOver = widgetContainer;
				}
			}
			
		document.body.appendChild(widgetContainer);
		windowData.mother = windowContentCenter;


		// Load external HTML page if defined
		if(windowData.page)
			{
			fixedPointAjaxFramework.addToLine([windowData.page, windowContentCenter, windowData.onscreen, windowData.init]);
			}
		else	fixedPointWindowControl.openWindow(windowData.init);
		},

	openWindow: function(runAfter)
		{
		runAfter.toString();
		setTimeout(runAfter, 30);
		},

	resize: function()
		{
		
		},

	zSort: function()
		{
		var uiWindows = document.getElementsByTagName("INPUT");
		for(var i=0; i<uiWindows.length;i++)
			{
			if(uiWindows[i].className == "windowIdentifier")
				{
				if(uiWindows[i].parentNode.style.zIndex-1 > 2)
					{
					uiWindows[i].parentNode.style.zIndex = uiWindows[i].parentNode.style.zIndex-1;
					}
				}
			}
		fixedPointUiControl.mouseOver.style.zIndex = "+999";
		}
	}
