function _appendRepeatItem (rptTable)
{
	event.cancelBubble = true;
	event.returnValue = false;
	var prototypeCell = rptTable.rows[1].cells[0];
	var itemsCell = rptTable.rows[2].cells[0];
	itemsCell.insertAdjacentHTML("beforeEnd", prototypeCell.innerHTML);
	var itemTable = itemsCell.children[itemsCell.children.length-1];
	var newId = 0;
	for(var index=0;index<itemsCell.children.length-1;index++)
	{
		var oldId = parseInt(itemsCell.children[index].id);
		if (oldId<0 && oldId<=newId)
		{
			newId = oldId;
		}
	}
	newId--;
	if (itemTable.tagName=="TABLE")
	{
		itemTable.id=newId.toString();
		itemTable.tBodies[0].rows[0].cells[1].firstChild.value=newId.toString();
		iterativeId(itemTable.tBodies[0].rows[0].cells[1].lastChild, newId.toString());
	}
}

function iterativeId(parentObject, newIdStr)
{
	for(var index=0;index<parentObject.children.length;index++)
	{
		var currentObject = parentObject.children[index];
		replaceObjectId(currentObject, newIdStr);
		iterativeId(currentObject, newIdStr);
	}
}

function replaceObjectId(currentObject, newIdStr)
{
	re = /{}/g;  
	var originalId = currentObject.id;
	if (originalId!=null && originalId!="undefined" && originalId!="" && originalId.length>3)
	{
		originalId = originalId.replace(re, newIdStr);
		currentObject.id = originalId;
		currentObject.name = originalId;
	}
	if (currentObject.tagName=="LABEL")
	{
		var originalFor = currentObject.htmlFor;
		if (originalFor!=null && originalFor!="undefined" && originalFor!="" && originalFor.length>3)
		{
			originalFor = originalFor.replace(re, newIdStr);
			currentObject.htmlFor = originalFor;
		}
	}
}

function _deleteRepeatItem(currentItem)
{
	event.cancelBubble = true;
	event.returnValue = false;

	currentItem.parentElement.removeChild(currentItem);
}

function _upRepeatItem(currentItem)
{
	event.cancelBubble = true;
	event.returnValue = false;

	var prevItem = currentItem.previousSibling;
	if (prevItem!=null)
	{
		var currentItem = currentItem.parentElement.removeChild(currentItem);
		prevItem.parentElement.insertBefore(currentItem, prevItem);
	}
}

function _downRepeatItem(currentItem)
{
	event.cancelBubble = true;
	event.returnValue = false;

	var nextItem = currentItem.nextSibling;
	if (nextItem!=null)
	{
		var currentItem = currentItem.parentElement.removeChild(currentItem);
		nextItem.parentElement.insertBefore(currentItem, nextItem.nextSibling);
	}
}

function ConfigField(idPrefix, formName, fieldName)
{
	this.IDPrefix = idPrefix;
	this.FormName = formName;
	this.Name = fieldName;
}

ConfigField.prototype.GetVisible = function()
{
	var wrapperId = this.IDPrefix+this.FormName+"_Wrp_"+this.Name;
	var wrapperTrObj = document.all(wrapperId);
	return (wrapperTrObj.style.display!="none");
}

ConfigField.prototype.SetVisible = function(visibility)
{
	var wrapperId = this.IDPrefix+this.FormName+"_Wrp_"+this.Name;
	var wrapperTrObj = document.all(wrapperId);
	if (visibility)
	{
		wrapperTrObj.style.display = "block";
		if (wrapperTrObj.cells.length>1)
		{
			wrapperTrObj.cells[0].firstChild.value = "1";
		}
	}
	else
	{
		wrapperTrObj.style.display = "none";
		if (wrapperTrObj.cells.length>1)
		{
			wrapperTrObj.cells[0].firstChild.value = "0";
		}
	}
}

ConfigField.prototype.GetValue = function(index)
{
	var wrapperId = this.IDPrefix+this.FormName+"_Wrp_"+this.Name;
	var wrapperTrObj = document.all(wrapperId);
	if (wrapperTrObj.Type=="TextBox")
	{
		var wrapperTdObj = wrapperTrObj.cells(1);
		return wrapperTdObj.firstChild.value;
	}
	else if (wrapperTrObj.Type=="RadioList")
	{
		var wrapperTdObj = wrapperTrObj.cells(1);
		for(var index=0;index<wrapperTdObj.children.length;index++)
		{
			var currentObject = wrapperTdObj.children[index];
			if (currentObject.firstChild.checked)
			{
				return currentObject.firstChild.value;
			}
		}
	}
	else if (wrapperTrObj.Type=="CheckBoxList")
	{
		var wrapperTdObj = wrapperTrObj.cells(1);
		var fieldId = this.IDPrefix+this.FormName+"_"+this.Name+index;
		for(var index=0;index<wrapperTdObj.children.length;index++)
		{
			var currentObject = wrapperTdObj.children[index];
			if (currentObject.firstChild.id==fieldId)
			{
				return currentObject.firstChild.checked;
			}
		}
	}
	else if (wrapperTrObj.Type=="DropDownList")
	{
		var wrapperTdObj = wrapperTrObj.cells(1);
		return wrapperTdObj.firstChild.options[wrapperTdObj.firstChild.selectedIndex].value;
	}
	
	return null;
}

function ConfigForm(idPrefix, formName)
{
	this.IDPrefix = idPrefix;
	this.FormName = formName;
}

ConfigForm.prototype.GetField = function(fieldName)
{
	return new ConfigField(this.IDPrefix, this.FormName, fieldName);
}

function _doUploadCatalogImage(containerTD)
{
	event.cancelBubble = true;
	event.returnValue = false;
	containerTD.innerHTML = "<input style='"+containerTD.InputStyle+"' type=file name='"+containerTD.InputId+"'>";
}
