/* ============================================================ *
@ ¼³¸í
- Åø¹Ú½º ¸ñ·Ï Á¤º¸

@ È÷½ºÅä¸®
- 2004.08.24 EP¿ë ¼öÁ¤(ÀÓÈñµ¿)
 * ============================================================ */
function ToolboxDatas()
{
	this.Children = new Array();
}

ToolboxDatas.prototype.Add = function(toolbox)
{
	this.Children[this.Children.length] = toolbox;
}

ToolboxDatas.prototype.IndexOf = function(toolboxID)
{
	var index = -1;
	
	for(var i = 0; i < this.Children.length; i ++)
	{
		if(this.Children[i].ToolboxID == toolboxID)
		{
			index = i;
			break;
		}
	}
	
	return index;
}

ToolboxDatas.prototype.Delete = function(toolboxID)
{
	var index = this.IndexOf(toolboxID);
	
	this.DeleteAt(index);
}

ToolboxDatas.prototype.DeleteAt = function(index)
{
	this.Children[index] = null;
	
	if(index == 0)
	{
		this.Children = this.Children.slice(1);
	}
	else if(index == this.Children.length - 1)
	{
		this.Children = this.Children.slice(0, this.Children.length - 1);
	}
	else
	{
		var count = this.Children.length;
		
		var temp = new Array();
		
		for(var i = 0; i < index; i ++)
		{
			temp[i] = this.Children[i];
		}
		
		for(var i = index + 1; i < count; i ++)
		{
			temp[i - 1] = this.Children[i];
		}
		
		this.Children = temp;
	}
}

ToolboxDatas.prototype.Exchange = function(srcToolboxNo, dstToolboxNo)
{
	var srcIndex = this.IndexOf(srcToolboxNo);
	var dstIndex = this.IndexOf(dstToolboxNo);
	
	this.ExchangeAt(srcIndex, dstIndex);
}

ToolboxDatas.prototype.ExchangeAt = function(srcIndex, dstIndex)
{
	var temp = null;
	temp                    = this.Children[srcIndex];
	this.Children[srcIndex] = this.Children[dstIndex];
	this.Children[dstIndex] = temp;
}

function RegisterToolboxItem(toolboxDatas, toolboxID, display, seq, useImage, outImageURL, overImageURL, linkType, serviceURL, usePopup, popupParam, isRemovable, show, useAuth)
{
	toolboxDatas.Children[toolboxDatas.Children.length] = new ToolboxData(toolboxID, display, seq, useImage, outImageURL, overImageURL, linkType, serviceURL, usePopup, popupParam, isRemovable, show, useAuth);
}
