function submitVerification()
{
	AttributeCount = parseInt(document.getElementById("AttributeCount").value,10);
	for(i=0; i<AttributeCount; i++)
	{
		
		multiValue = document.getElementById("ProductAttributeNumMulti-"+i).value;
		if(multiValue == "1")
		{
			TotalCount = parseInt(document.getElementById("ProductAttributeTotalCount-"+i).value,10);
			SubCount = parseInt(document.getElementById("ProductAttributeSubCount-"+i).value,10);
			Quantity = 0;
			for(j=0;j<SubCount;j++)
			{
				if(document.getElementById("ProductAttributeNum-"+i+"-"+j).value == "X")
				{
					alert("You must select an actual "+document.getElementById("ProductAttributeNumName-"+i).value+" value!");
					return false;
				}
				Quantity += parseInt(document.getElementById("ProductAttributeQuantity-"+i+"-"+j).value,10);
			}
			if(Quantity < TotalCount)
			{
				alert("You still have remaining "+document.getElementById("ProductAttributeNumName-"+i).value+" values to select!");
					return false;
			}
		}
		else if(document.getElementById("ProductAttributeNum-"+i).value == "X")
		{
			alert("You must select an actual "+document.getElementById("ProductAttributeNumName-"+i).value+" value!");
			return false;
		}
	}
	return true;
}

// This still needs a bit of lovin' before it's done.  The night was to be over at 6:21 PM; MKM
function removeValue(Num,SubNum)
{
	tempArr = new Array();
	subCount = parseInt(document.getElementById("ProductAttributeSubCount-"+Num).value,10);
	if(subCount == 1)
	{
		alert("You must use at least one value field!");
		return;
	}
	document.getElementById("ProductAttributeSubCount-"+Num).value = subCount - 1;
	
	for(i=0,j=0; i < subCount; i++)
	{
		if(i != SubNum)
		{
			tempArr[j] = new Array(document.getElementById("ProductAttributeNum-"+Num+"-"+i).selectedIndex,document.getElementById("ProductAttributeQuantity-"+Num+"-"+i).value);
			j++;
		}
	}
	
	// Repopulate and reset values
	for(x in tempArr)
	{
		document.getElementById("ProductAttributeNum-"+Num+"-"+x).selectedIndex = tempArr[x][0];
		document.getElementById("ProductAttributeQuantity-"+Num+"-"+x).value = tempArr[x][1];
	}
	totalCount = parseInt(document.getElementById("ProductAttributeTotalCount-"+Num).value,10);
	for(i = tempArr.length; i < totalCount; i++)
	{
		document.getElementById("ProductAttributeQuantity-"+Num+"-"+i).value = 0;
		document.getElementById("ProductAttributeNumSpan-"+Num+"-"+i).style.display = "none";
	}
	
	recalculateRemainingQuantity(Num);
}

function addValue(Num)
{
	var maxCount = parseInt(document.getElementById("ProductAttributeTotalCount-"+Num).value,10);
	var quantity = getQuantity(Num);
	var subCount = parseInt(document.getElementById("ProductAttributeSubCount-"+Num).value,10);
	var sc = subCount - 1;
	var tempVal = document.getElementById("ProductAttributeNum-" + Num + "-" + sc).value;
	var newQuant = parseInt(document.getElementById("ProductAttributeQuantity-" + Num + "-" + sc).value,10);
	var errorString = "";
	if(newQuant <= 0)
		alert("You must enter a quantity which is greater than zero!");
	else if(tempVal == "X")
		alert("You must select a valid value for all properties before adding a new one!");
	else if(subCount == maxCount)
		alert("You cannot add another item.  You have used up all available values.");
	else if(quantity == maxCount)
		alert("You cannot add another item.  You have no remaining values.");
	else
	{
		document.getElementById("ProductAttributeSubCount-"+Num).value = subCount + 1;
		
		document.getElementById("ProductAttributeQuantity-"+Num+"-"+subCount).value = 0;
		document.getElementById("ProductAttributeNumSpan-"+Num+"-"+subCount).style.display = "";
	}
}

function getQuantity(Num)
{
	quantity = 0;
	subCount = parseInt(document.getElementById("ProductAttributeSubCount-"+Num).value,10);
	for(i=0; i < subCount; i++)
		quantity += parseInt(document.getElementById("ProductAttributeQuantity-"+Num+"-"+i).value,10);
	return quantity;
}
function quantityUpdateVerification(Num,SubNum)
{
	regExp = /^(-)?[0-9]+$/;
	if(!regExp.test(document.getElementById("ProductAttributeQuantity-"+Num+"-"+SubNum).value))
	{
		alert("You have entered non-integer data.  The field has been set to 0.");
		document.getElementById("ProductAttributeQuantity-"+Num+"-"+SubNum).value = "0";
	}
	regExp = /^(-)[0-9]+$/;
	if(regExp.test(document.getElementById("ProductAttributeQuantity-"+Num+"-"+SubNum).value))
	{
		alert("You have entered negative integer data.  The field has been set to 0.");
		document.getElementById("ProductAttributeQuantity-"+Num+"-"+SubNum).value = "0";
	}
	
	subCount = parseInt(document.getElementById("ProductAttributeSubCount-"+Num).value,10);
	maxCount = parseInt(document.getElementById("ProductAttributeTotalCount-"+Num).value,10);
	quantity = getQuantity(Num);
	quantityWithoutChangeVal = 0;
	for(i=0; i < subCount; i++)
	{
		if(i != SubNum)
			quantityWithoutChangeVal += parseInt(document.getElementById("ProductAttributeQuantity-"+Num+"-"+i).value,10);
	}
	if(quantity > maxCount)
	{
		alert("You have entered a number which is too large!");
		changeVal = parseInt(document.getElementById("ProductAttributeQuantity-"+Num+"-"+SubNum).value,10);
		document.getElementById("ProductAttributeQuantity-"+Num+"-"+SubNum).value = maxCount - quantityWithoutChangeVal;
		quantity = maxCount;
	}
	recalculateRemainingQuantity(Num);
}

function recalculateRemainingQuantity(Num)
{
	quantity = getQuantity(Num);
	maxCount = parseInt(document.getElementById("ProductAttributeTotalCount-"+Num).value,10);
	document.getElementById("AttributeCountRemaining-"+Num).innerHTML = maxCount - quantity;
}

function loadFunc()
{
	AttributeCount = parseInt(document.getElementById("AttributeCount").value,10);
	for(i=0; i<AttributeCount; i++)
	{	
		multiValue = document.getElementById("ProductAttributeNumMulti-"+i).value;
		if(multiValue == "1")
		{
			TotalCount = parseInt(document.getElementById("ProductAttributeTotalCount-"+i).value,10);
			for(j=0;j<TotalCount;j++)
				document.getElementById("ProductAttributeQuantity-"+i+"-"+j).value = "0";
		}
	} 
}
