var mouseDrag = false;
var moveType = 'move';
var mouseDragObj;
var startX;
var startY;
var startWidth;
var startHeight;
var lastX;
var lastY;

function getElementsByClassName(elem, vClass, vParent)
{
	if(vParent)
	{
		myElems = vParent.getElementsByTagName(elem);
	}
	else
	{
		myElems = document.getElementsByTagName(elem);
	}
	
	newElems = new Array();
	
	for(elemC = 0; elemC < myElems.length; elemC++)
	{
		if(myElems[elemC].className.match(vClass))
		{
			newElems.push(myElems[elemC]);
		}
	}
	
	return(newElems);
}

function addButtons()
{
	if(arguments.length > 0)
	{
		myWin = arguments[0];
		tButtons = buildButtons();
		myWin.appendChild(tButtons[0]);
		myWin.appendChild(tButtons[1]);
		myWin.appendChild(tButtons[2]);
		myWin.appendChild(tButtons[3]);
	}
	else
	{
		windowList = document.getElementsByTagName('div');
		for(i=0; i<windowList.length; i++)
		{
			if(windowList[i].className.match('window'))
			{
				myCont = true;
				if(i!=0)
				{
					if(windowList[i-1] == windowList[i])
					{
						myCont = false;
					}
					else
					{
						if(getElementsByClassName('div', 'resizer', windowList[i]).length >= 1)
						{
							myCont = false;
						}
					}
				}
			
				if(myCont)
				{
					tButtons = buildButtons();
					windowList[i].appendChild(tButtons[0]);
					windowList[i].appendChild(tButtons[1]);
					windowList[i].appendChild(tButtons[2]);
					windowList[i].appendChild(tButtons[3]);
				}
			}
		}
	}
}

function buildButtons()
{
	resizer = document.createElement('div');
	resizer.className = 'resizer';
	resizer.onmousedown = function(e){startMouseDrag(e, this.parentNode.id, 'resize')};
	resizer.onmousemove = moveMouse;
	resizer.onmouseup = function(){endMouseDrag(this.parentNode.id)};
			
	minImg = document.createElement('img');
	minImg.src = 'min.gif';
	minImg.alt = 'Minimize';
	minImg.title = 'Minimize';
	minImg.className = 'button min';
	minImg.onmouseover = function() {this.src = 'min-over.gif';}
	minImg.onmouseout = function() {this.src = 'min.gif';}
	minImg.onmousedown = function() {this.src = 'min-down.gif';}
	minImg.onmouseup = function() {
		this.src = 'min.gif';
		tempObj = this.parentNode.firstChild;
		while(tempObj.className != 'content')
		{
			tempObj = tempObj.nextSibling;
		}
		tempObj.style['display'] = 'none';
		this.style['display'] = 'none';
		this.style['zIndex'] = '0';
	}
	
	maxImg = document.createElement('img');
	maxImg.src = 'max.gif';
	maxImg.alt = 'Restore';
	maxImg.title = 'Restore';
	maxImg.className = 'button max';
	maxImg.onmouseover = function() {this.src = 'max-over.gif';}
	maxImg.onmouseout = function() {this.src = 'max.gif';}
	maxImg.onmousedown = function() {this.src = 'max-down.gif';}
	maxImg.onmouseup = function() {
		this.src = 'max.gif';
		tempObj = this.parentNode.firstChild;
		while(tempObj.className != 'content')
		{
			tempObj = tempObj.nextSibling;
		}
		tempObj.style['display'] = 'block';
		this.nextSibling.style['display'] = '';
		this.nextSibling.style['zIndex'] = '100';
	}

	closeImg = document.createElement('img');
	closeImg.src = 'close.gif';
	closeImg.alt = 'Close';
	closeImg.title = 'Close';
	closeImg.className = 'button close';
	closeImg.onmouseover = function() {this.src = 'close-over.gif';}
	closeImg.onmouseout = function() {this.src = 'close.gif';}
	closeImg.onmousedown = function() {this.src = 'close-down.gif';}
	closeImg.onmouseup = function() {
		this.src = 'close.gif';
		tempObj = this.parentNode;
		
		tempObj.parentNode.removeChild(tempObj);
	}
	
	myButtons = new Array();
	myButtons.push(resizer);
	myButtons.push(maxImg);
	myButtons.push(minImg);
	myButtons.push(closeImg);
	
	return(myButtons);
}

function makeHeadersDrag()
{
	if(arguments.length > 0)
	{
		myHeader = getElementsByClassName('div', 'header', arguments[0])[0];
		myHeader.onmousedown = function(e){startMouseDrag(e, this.parentNode.id, 'move')};
		myHeader.onmousemove = moveMouse;
		myHeader.onmouseup = function(){endMouseDrag(this.parentNode.id)};
		tempSibling = myHeader.nextSibling;
		while(tempSibling.nodeName.toLowerCase() != 'div')
		{
			tempSibling = tempSibling.nextSibling;
		}
		myHeader.style['width'] = tempSibling.offsetWidth-6 + 'px';
	}
	else
	{
		headerList = document.getElementsByTagName('div');
		for(i=0; i<headerList.length; i++)
		{
			if(headerList[i].className == 'header')
			{
				headerList[i].onmousedown = function(e){startMouseDrag(e, this.parentNode.id, 'move')};
				headerList[i].onmousemove = moveMouse;
				headerList[i].onmouseup = function(){endMouseDrag(this.parentNode.id)};
				tempSibling = headerList[i].nextSibling;
				while(tempSibling.nodeName.toLowerCase() != 'div')
				{
					tempSibling = tempSibling.nextSibling;
				}
				headerList[i].style['width'] = tempSibling.offsetWidth-6 + 'px';
			}
		}
	}
}

function makeEditable()
{
	if(arguments.length > 0)
	{
		arguments[0].onclick = function(){moveToTop(this.id)};
		arguments[0].getElementsByTagName('div')[1].onclick = function(){setToEdit(this.parentNode.id)};
		arguments[0].getElementsByTagName('div')[1].onmouseover = function(){
			if(!document.getElementById('edit'+this.parentNode.id))
			{
				this.style['opacity'] = '.5';
				this.style['filter'] = 'alpha(opacity=50)';
			}
			else
			{
				this.style['opacity'] = '1';
				this.style['filter'] = 'alpha(opacity=100)';
			}
		}
		arguments[0].getElementsByTagName('div')[1].onmouseout = function(){
			this.style['opacity'] = '1';
			this.style['filter'] = 'alpha(opacity=100)';
		}
	}
	else
	{
		headerList = document.getElementsByTagName('div');
		for(i=0; i<headerList.length; i++)
		{
			if(headerList[i].className == 'window')
			{
				headerList[i].onclick = function(){moveToTop(this.id)};
				headerList[i].getElementsByTagName('div')[1].onclick = function(){setToEdit(this.parentNode.id)};
				headerList[i].getElementsByTagName('div')[1].onmouseover = function(){
					if(!document.getElementById('edit'+this.parentNode.id))
					{
						this.style['opacity'] = '.5';
						this.style['filter'] = 'alpha(opacity=50)';
					}
					else
					{
						this.style['opacity'] = '1';
						this.style['filter'] = 'alpha(opacity=100)';
					}
				}
				headerList[i].getElementsByTagName('div')[1].onmouseout = function(){
					this.style['opacity'] = '1';
					this.style['filter'] = 'alpha(opacity=100)';
				}
			}
		}
	}
}

function getElementsByClassName(objType, objClass, parentObj)
{
	if(parentObj)
	{
		myElems = parentObj.getElementsByTagName(objType);
	}
	else
	{
		myElems = document.getElementsByTagName(objType);
	}
	
	tempElems = new Array();
	for(elemC = 0; elemC < myElems.length; elemC++)
	{
		if(myElems[elemC].className.match(objClass))
		{
			tempElems.push(myElems[elemC]);
		}
	}
	return(tempElems);
}

function setToEdit(objId)
{
	tempObj = document.getElementById(objId);
	tempContent = tempObj.getElementsByTagName('div')[1];
	if(!document.getElementById('edit'+objId))
	{
		tempTextArea = document.createElement('textarea');
		tempTextArea.id = 'edit'+objId;
		tempTextArea.style['width'] = tempContent.offsetWidth-14 + 'px';
		tempTextArea.style['height'] = tempContent.offsetHeight-14 + 'px';
		tempTextArea.value = br2nl(tempContent.innerHTML);
		tempContent.innerHTML = '';
		tempContent.appendChild(tempTextArea);
		tempTextArea.focus();
		tempTextArea.onblur = function()
		{
			this.parentNode.innerHTML = nl2br(this.value);
		}
	}
}

function nl2br(vText)
{
	vText = vText.replace(/\n/g, "<br/>");
	//vText = vText.replace(/\r/g, "<br/>");
	return(vText);
}

function br2nl(vText)
{
	vText = vText.replace(/<br\/>/g, "\n");
	vText = vText.replace(/<br>/g, "\n");
	vText = vText.replace(/<BR\/>/g, "\n");
	vText = vText.replace(/<BR>/g, "\n");
	return(vText);
}

function moveToTop(objId)
{
	tempObj = document.getElementById(objId);
	tempZ = 10;
	allDivs = document.getElementsByTagName('div')
	for(m=0; m<allDivs.length; m++)
	{
		if(allDivs[m].className == 'window')
		{
			if(allDivs[m].style['zIndex'] > tempZ)
			{
				tempZ = allDivs[m].style['zIndex'];
			}
		}
	}
	if(tempObj.style['zIndex'] < tempZ)
	{
		tempObj.style['zIndex'] = (tempZ*1) + 1;
	}
}

function startMouseDrag(e, myObj, tempMoveType)
{
	if(mouseDrag != true)
	{
		mouseDragObj = document.getElementById(myObj);
		mouseDragObj.style['opacity'] = '.75';
		mouseDragObj.style['-moz-opacity'] = '.75';
		mouseDragObj.style['filter'] = 'alpha(opacity=75)';
		document.body.ondrag = function () { return false; };
		document.body.onselectstart = function () { return false; };
		mouseDrag = true;
	
		startX = mouseDragObj.offsetLeft;
		startY = mouseDragObj.offsetTop;
		startW = mouseDragObj.offsetWidth;
		startH = mouseDragObj.offsetHeight;
		
		var posx = 0;
		var posy = 0;
		if (!e) var e = window.event;
		if (e.pageX || e.pageY)
		{
			posx = e.pageX;
			posy = e.pageY;
		}
		else if (e.clientX || e.clientY)
		{
			posx = e.clientX + document.body.scrollLeft;
			posy = e.clientY + document.body.scrollTop;
		}
		
		lastX = posx;
		lastY = posy;
		
		moveType = tempMoveType;
	}
}

function endMouseDrag()
{
	if(arguments.length == 1)
	{
		if(arguments[0].toString().match('window'))
		{
			tempDragObj = document.getElementById(arguments[0]);
			tempDragObj.style['opacity'] = '1';
			tempDragObj.style['-moz-opacity'] = '1';
			tempDragObj.style['filter'] = 'alpha(opacity=100)';
		}
	}
		
	mouseDrag = false;
	mouseDragObj = '';
	document.body.ondrag = '';
	document.body.onselectstart = '';
}

function moveMouse(e)
{
	if((mouseDrag == true))
	{
		document.body.ondrag = function () { return false; };
		document.body.onselectstart = function () { return false; };
		var posx = 0;
		var posy = 0;
		if (!e) var e = window.event;
		if (e.pageX || e.pageY)
		{
			posx = e.pageX+document.getElementById('livearea').scrollLeft;
			posy = e.pageY+document.getElementById('livearea').scrollTop;
		}
		else if (e.clientX || e.clientY)
		{
			posx = e.clientX + document.body.scrollLeft+document.getElementById('livearea').scrollLeft;
			posy = e.clientY + document.body.scrollTop+document.getElementById('livearea').scrollTop;
		}
		
		if(mouseDragObj)
		{
			if(moveType == 'move')
			{
				newTop = (startY+(posy-lastY));
				newLeft = (startX+(posx-lastX));
				newWidth = mouseDragObj.offsetWidth;
				newHeight = mouseDragObj.offsetHeight;
				
				myWindows = getElementsByClassName('div', 'window');
				for(i=0; i<myWindows.length; i++)
				{
					if(myWindows[i] != mouseDragObj)
					{
						if(((newTop-myWindows[i].offsetTop)>=-5) && ((newTop-myWindows[i].offsetTop)<=5))
						{
							newTop = myWindows[i].offsetTop;
						}
						else if(((newTop-(myWindows[i].offsetTop+myWindows[i].offsetHeight))>=-5) && ((newTop-(myWindows[i].offsetTop+myWindows[i].offsetHeight))<=5))
						{
							newTop = (myWindows[i].offsetTop+myWindows[i].offsetHeight);
						}
						else if(((myWindows[i].offsetTop - (newTop+newHeight))>=-5) && ((myWindows[i].offsetTop - (newTop+newHeight))<=5))
						{
							newTop = (myWindows[i].offsetTop-newHeight);
						}
						else if((((myWindows[i].offsetTop+myWindows[i].offsetHeight) - (newTop+newHeight))>=-5) && (((myWindows[i].offsetTop+myWindows[i].offsetHeight) - (newTop+newHeight))<=5))
						{
							newTop = (myWindows[i].offsetTop-newHeight+myWindows[i].offsetHeight);
						}
						
						if(((newLeft-myWindows[i].offsetLeft)>=-5) && ((newLeft-myWindows[i].offsetLeft)<=5))
						{
							newLeft = myWindows[i].offsetLeft;
						}
						else if(((newLeft-(myWindows[i].offsetLeft+myWindows[i].offsetWidth))>=-5) && ((newLeft-(myWindows[i].offsetLeft+myWindows[i].offsetWidth))<=5))
						{
							newLeft = (myWindows[i].offsetLeft+myWindows[i].offsetWidth);
						}
						else if(((myWindows[i].offsetLeft - (newLeft+newWidth))>=-5) && ((myWindows[i].offsetLeft - (newLeft+newWidth))<=5))
						{
							newLeft = (myWindows[i].offsetLeft-newWidth);
						}
						else if((((myWindows[i].offsetLeft+myWindows[i].offsetWidth) - (newLeft+newWidth))>=-5) && (((myWindows[i].offsetLeft+myWindows[i].offsetWidth) - (newLeft+newWidth))<=5))
						{
							newLeft = (myWindows[i].offsetLeft-newWidth+myWindows[i].offsetWidth);
						}
					}
				}
				
				if((newLeft >= 0) && ((newLeft+mouseDragObj.offsetWidth) <= document.getElementById('livearea').offsetWidth))
				{
					mouseDragObj.style['left'] = newLeft + 'px';
				}
				if((newTop >= 0) && ((newTop+mouseDragObj.offsetHeight) <= document.getElementById('livearea').offsetHeight))
				{
					mouseDragObj.style['top'] = newTop + 'px';
				}
				
				if(newLeft <= 5)
				{
					mouseDragObj.style['left'] = 0 + 'px';
				}
				if(newTop <= 5)
				{
					mouseDragObj.style['top'] = 0 + 'px';
				}
				
				if((document.getElementById('livearea').offsetWidth-(newLeft+mouseDragObj.offsetWidth)) <= 5)
				{
					mouseDragObj.style['left'] = (document.getElementById('livearea').offsetWidth-mouseDragObj.offsetWidth) + 'px';
				}
				if((document.getElementById('livearea').offsetHeight-(newTop+mouseDragObj.offsetHeight)) <= 5)
				{
					mouseDragObj.style['top'] = (document.getElementById('livearea').offsetHeight-mouseDragObj.offsetHeight) + 'px';
				}
			}
			if(moveType == 'resize')
			{
				newWidth = (startW+(posx-lastX)-16);
				newHeight = (startH+(posy-lastY)-30);
				newLeft = mouseDragObj.offsetLeft;
				newTop = mouseDragObj.offsetTop;
				if(document.getElementById('edit'+mouseDragObj.id))
				{
					tempTextArea.style['width'] = (startW+(posx-lastX)-16) + 'px';
				}
				innerDiv = mouseDragObj.getElementsByTagName('div')[1];
				
				myWindows = getElementsByClassName('div', 'window');
				for(i=0; i<myWindows.length; i++)
				{
					if(myWindows[i] != mouseDragObj)
					{
						if((((newTop+newHeight+30)-myWindows[i].offsetTop)>=-5) && (((newTop+newHeight+30)-myWindows[i].offsetTop)<=5))
						{
							newHeight = myWindows[i].offsetTop-newTop-30;
						}
						else if((((newTop+newHeight+30)-(myWindows[i].offsetTop+myWindows[i].offsetHeight))>=-5) && (((newTop+newHeight+30)-(myWindows[i].offsetTop+myWindows[i].offsetHeight))<=5))
						{
							newHeight = myWindows[i].offsetTop-newTop-30+myWindows[i].offsetHeight;
						}
						
						if((((newLeft+newWidth+16)-myWindows[i].offsetLeft)>=-5) && (((newLeft+newWidth+16)-myWindows[i].offsetLeft)<=5))
						{
							newWidth = myWindows[i].offsetLeft-newLeft-16;
						}
						else if((((newLeft+newWidth+16)-(myWindows[i].offsetLeft+myWindows[i].offsetWidth))>=-5) && (((newLeft+newWidth+16)-(myWindows[i].offsetLeft+myWindows[i].offsetWidth))<=5))
						{
							newWidth = myWindows[i].offsetLeft-newLeft-16+myWindows[i].offsetWidth;
						}
					}
				}
				
				if((document.getElementById('livearea').offsetHeight - (newTop+newHeight+30)) <= 5)
				{
					newHeight = document.getElementById('livearea').offsetHeight-newTop-30;
				}
				if((document.getElementById('livearea').offsetWidth - (newLeft+newWidth+16)) <= 5)
				{
					newWidth = document.getElementById('livearea').offsetWidth-newLeft-16;
				}
				
				if((newLeft+newWidth+16) <= document.getElementById('livearea').offsetWidth)
				{
					innerDiv.style['width'] = newWidth + 'px';
					mouseDragObj.getElementsByTagName('div')[0].style['width'] = (newWidth+6) + 'px';
				}
				if(innerDiv.style['display'] != 'none')
				{
					if((newTop+newHeight+30) <= document.getElementById('livearea').offsetHeight)
					{
						innerDiv.style['height'] = newHeight + 'px';
						if(document.getElementById('edit'+mouseDragObj.id))
						{
							tempTextArea.style['height'] = (startH+(posy-lastY)-30) + 'px';
						}
					}
				}
			}
			if(moveType == 'resizeT')
			{
				innerDiv = mouseDragObj.getElementsByTagName('div')[1];
				oldBottom = mouseDragObj.offsetHeight+mouseDragObj.offsetTop;
				newHeight = mouseDragObj.offsetHeight-(posy-mouseDragObj.offsetTop);
				newTop = posy;
				
				//window.status = (newTop-document.getElementById('livearea').offsetTop);
				
				myWindows = getElementsByClassName('div', 'window');
				for(i=0; i<myWindows.length; i++)
				{
					if(myWindows[i] != mouseDragObj)
					{
						if((((newTop-document.getElementById('livearea').offsetTop)-(myWindows[i].offsetTop+myWindows[i].offsetHeight))>=-5) && (((newTop-document.getElementById('livearea').offsetTop)-(myWindows[i].offsetTop+myWindows[i].offsetHeight))<=5))
						{
							newTop = myWindows[i].offsetTop+myWindows[i].offsetHeight+document.getElementById('livearea').offsetTop;
							newHeight = oldBottom-newTop;
						}
						else if((((newTop-document.getElementById('livearea').offsetTop)-myWindows[i].offsetTop)>=-5) && (((newTop-document.getElementById('livearea').offsetTop)-myWindows[i].offsetTop)<=5))
						{
							newTop = myWindows[i].offsetTop+document.getElementById('livearea').offsetTop;
							newHeight = oldBottom-newTop;
						}
					}
				}
				if((newTop-document.getElementById('livearea').offsetTop) <= 5)
				{
					newTop = document.getElementById('livearea').offsetTop;
					newHeight = oldBottom-newTop;
				}
				
				if(innerDiv.style['display'] != 'none')
				{
					if(newTop >= document.getElementById('livearea').offsetTop)
					{
						innerDiv.style['height'] = (newHeight-30+document.getElementById('livearea').offsetTop) + 'px';
						mouseDragObj.style['top'] = (newTop-document.getElementById('livearea').offsetTop) + 'px';
						if(document.getElementById('edit'+mouseDragObj.id))
						{
							tempTextArea.style['height'] = (newHeight-30+document.getElementById('livearea').offsetTop) + 'px';
						}
					}
				}
			}
			if(moveType == 'resizeB')
			{
				oldHeight = mouseDragObj.offsetHeight;
				newHeight = (startH+(posy-lastY)-30);
				newTop = mouseDragObj.offsetTop;
				innerDiv = mouseDragObj.getElementsByTagName('div')[1];
				
				myWindows = getElementsByClassName('div', 'window');
				for(i=0; i<myWindows.length; i++)
				{
					if(myWindows[i] != mouseDragObj)
					{
						if((((newTop+newHeight+30)-myWindows[i].offsetTop)>=-5) && (((newTop+newHeight+30)-myWindows[i].offsetTop)<=5))
						{
							newHeight = myWindows[i].offsetTop-newTop-30;
						}
						else if((((newTop+newHeight+30)-(myWindows[i].offsetTop+myWindows[i].offsetHeight))>=-5) && (((newTop+newHeight+30)-(myWindows[i].offsetTop+myWindows[i].offsetHeight))<=5))
						{
							newHeight = myWindows[i].offsetTop-newTop-30+myWindows[i].offsetHeight;
						}
					}
				}
				if((document.getElementById('livearea').offsetHeight-(newTop+newHeight+30)) <= 5)
				{
					newHeight = document.getElementById('livearea').offsetHeight - newTop-30;
				}
				
				if(innerDiv.style['display'] != 'none')
				{
					//window.status = (newTop+newHeight) + ':' + (document.getElementById('livearea').offsetTop+document.getElementById('livearea').offsetHeight);
					if((newTop+newHeight+30) <= (document.getElementById('livearea').offsetHeight))
					{
						innerDiv.style['height'] = newHeight + 'px';
						if(document.getElementById('edit'+mouseDragObj.id))
						{
							tempTextArea.style['height'] = (newHeight-30+document.getElementById('livearea').offsetTop) + 'px';
						}
					}
				}
				
			}
			if(moveType == 'resizeL')
			{
				innerDiv = mouseDragObj.getElementsByTagName('div')[1];
				oldRight = mouseDragObj.offsetWidth+mouseDragObj.offsetLeft;
				newWidth = mouseDragObj.offsetWidth-(posx-mouseDragObj.offsetLeft);
				newLeft = posx;
				parLeft = mouseDragObj.parentNode.offsetLeft;
				
				//window.status = newLeft+':'+parLeft+':';
				
				myWindows = getElementsByClassName('div', 'window');
				for(i=0; i<myWindows.length; i++)
				{
					if(myWindows[i] != mouseDragObj)
					{
						window.status+= myWindows[i].offsetLeft+',';
						if(((newLeft-(myWindows[i].offsetLeft+myWindows[i].offsetWidth)-parLeft)>=-5) && ((newLeft-(myWindows[i].offsetLeft+myWindows[i].offsetWidth)-parLeft)<=5))
						{
							newLeft = myWindows[i].offsetLeft+myWindows[i].offsetWidth+parLeft;
							newWidth = oldRight-newLeft;
						}
						else if(((newLeft-myWindows[i].offsetLeft-parLeft)>=-5) && ((newLeft-myWindows[i].offsetLeft-parLeft)<=5))
						{
							newLeft = myWindows[i].offsetLeft+parLeft;
							newWidth = oldRight-newLeft;
						}
					}
				}
				if((newLeft-document.getElementById('livearea').offsetLeft) <= 5)
				{
					newLeft = document.getElementById('livearea').offsetLeft;
					newWidth = oldRight-newLeft;
				}
				
				if(newLeft >= document.getElementById('livearea').offsetLeft)
				{
					innerDiv.style['width'] = (newWidth-16+document.getElementById('livearea').offsetLeft) + 'px';
					mouseDragObj.style['left'] = (newLeft-document.getElementById('livearea').offsetLeft) + 'px';
					getElementsByClassName('div', 'header', mouseDragObj)[0].style['width'] = (newWidth-10+document.getElementById('livearea').offsetLeft) + 'px';
					if(document.getElementById('edit'+mouseDragObj.id))
					{
						tempTextArea.style['width'] = (newWidth-16+document.getElementById('livearea').offsetLeft) + 'px';
					}
				}
			}
			if(moveType == 'resizeR')
			{
				oldWidth = mouseDragObj.offsetWidth;
				newWidth = (startW+(posx-lastX)-16);
				newLeft = mouseDragObj.offsetLeft;
				innerDiv = mouseDragObj.getElementsByTagName('div')[1];
				
				myWindows = getElementsByClassName('div', 'window');
				for(i=0; i<myWindows.length; i++)
				{
					if(myWindows[i] != mouseDragObj)
					{
						if((((newLeft+newWidth+16)-myWindows[i].offsetLeft)>=-5) && (((newLeft+newWidth+16)-myWindows[i].offsetLeft)<=5))
						{
							newWidth = myWindows[i].offsetLeft-newLeft-16;
						}
						else if((((newLeft+newWidth+16)-(myWindows[i].offsetLeft+myWindows[i].offsetWidth))>=-5) && (((newLeft+newWidth+16)-(myWindows[i].offsetLeft+myWindows[i].offsetWidth))<=5))
						{
							newWidth = myWindows[i].offsetLeft-newLeft-16+myWindows[i].offsetWidth;
						}
					}
				}
				if((document.getElementById('livearea').offsetWidth-(newLeft+newWidth+16)) <= 5)
				{
					newWidth = document.getElementById('livearea').offsetWidth - newLeft-16;
				}
				
				innerDiv.style['width'] = newWidth + 'px';
				getElementsByClassName('div', 'header', mouseDragObj)[0].style['width'] = (newWidth+6) + 'px';
				if(document.getElementById('edit'+mouseDragObj.id))
				{
					tempTextArea.style['width'] = (newWidth-16+document.getElementById('livearea').offsetLeft) + 'px';
				}
				
			}
		}
		
	}
}

function addResizers(vObj)
{
	divResizerT = document.createElement('div');
	divResizerT.id = 'resizerT';
	vObj.appendChild(divResizerT);
	divResizerT.onmousedown = function(e){startMouseDrag(e, this.parentNode.id, 'resizeT')};
	divResizerT.onmousemove = moveMouse;
	divResizerT.onmouseup = function(){endMouseDrag(this.parentNode.id)};
	
	divResizerR = document.createElement('div');
	divResizerR.id = 'resizerR';
	vObj.appendChild(divResizerR);
	divResizerR.onmousedown = function(e){startMouseDrag(e, this.parentNode.id, 'resizeR')};
	divResizerR.onmousemove = moveMouse;
	divResizerR.onmouseup = function(){endMouseDrag(this.parentNode.id)};
	
	divResizerB = document.createElement('div');
	divResizerB.id = 'resizerB';
	vObj.appendChild(divResizerB);
	divResizerB.onmousedown = function(e){startMouseDrag(e, this.parentNode.id, 'resizeB')};
	divResizerB.onmousemove = moveMouse;
	divResizerB.onmouseup = function(){endMouseDrag(this.parentNode.id)};
	
	divResizerL = document.createElement('div');
	divResizerL.id = 'resizerL';
	vObj.appendChild(divResizerL);
	divResizerL.onmousedown = function(e){startMouseDrag(e, this.parentNode.id, 'resizeL')};
	divResizerL.onmousemove = moveMouse;
	divResizerL.onmouseup = function(){endMouseDrag(this.parentNode.id)};
}

function makeWindow()
{
	startId = 1;
	while(document.getElementById('window'+startId))
	{
		startId = startId + 1;
	}
	
	windowDiv = document.createElement('div');
	windowDiv.className = 'window';
	windowDiv.id = 'window'+startId;
	windowDiv.innerHTML = '<div class="header">Tester '+startId+'</div><div class="content">If you want to design your own site,<br/>you can click this box to edit text.</div>';
	
	document.getElementById('livearea').appendChild(windowDiv);
	makeHeadersDrag(windowDiv);
	makeEditable(windowDiv);
	moveToTop('window'+startId);
	addResizers(windowDiv);
	addButtons(windowDiv);
}

document.onmousemove = moveMouse;
document.onmouseup = endMouseDrag;
window.onload = function()
{
	addButtons();
	makeHeadersDrag();
	makeEditable();
	taskBarObj = document.createElement('div');
	taskBarObj.id = 'taskbar';
	taskBarObj.style['top'] = '0px';
	taskBarObj.style['width'] = '100%';
	taskBarObj.style['height'] = '30px';
	taskBarObj.style['background'] = 'url("taskbar.gif") repeat-x';
	
	addObj = document.createElement('img');
	addObj.src = 'add.gif';
	addObj.style['margin'] = '3px';
	addObj.onmouseover = function(){this.src = 'add-over.gif';}
	addObj.onmouseout = function(){this.src = 'add.gif';}
	addObj.onmousedown = function(){this.src = 'add-down.gif';}
	addObj.onmouseup = function(){
		this.src = 'add.gif';
		
		makeWindow();
	}
	
	taskBarObj.appendChild(addObj);
	document.body.appendChild(taskBarObj);
	
	divLiveT = document.createElement('div');
	divLiveT.id = 'livetitle';
	document.body.appendChild(divLiveT);
	divLiveT.innerHTML = 'Live Area';
	
	divLiveA = document.createElement('div');
	divLiveA.id = 'livearea';
	document.body.appendChild(divLiveA);
	
	divSpace = document.createElement('div');
	divSpace.id = 'areaspacer';
	document.body.appendChild(divSpace);
}