function displayMoreRegs(NumOtherObj)
{
	var sOtherRegTable = "";
	var iNum = NumOtherObj.value * 1;
	var iPrev = window.document.all.regForm.prevNum.value * 1;
	
	if (iNum != 0)
	{
		sOtherRegTable = '<table width="100%">';
		
		for (i=1; i<=iNum; i++)
		{
			var sFirstNameValue = "";
			var sLastNameValue = "";
			var sBadgeNameValue = "";
					
			if (i <= iPrev)
			{
				sFirstNameValue = eval('window.document.all.regForm.first_name' + i + '.value');
				sLastNameValue = eval('window.document.all.regForm.last_name' + i + '.value');
				sBadgeNameValue = eval('window.document.all.regForm.badge' + i + '.value');
			}
	
			sOtherRegTable += '<tr><td colspan=4>Reg #' + i + '</td></tr>';
			sOtherRegTable += '<tr><td>First Name:</td><td><input type="text" name="first_name' + i + '" maxlength=50 style="width:135px" value="' + sFirstNameValue + '"></td>';
			sOtherRegTable += '<td>Last Name:</td><td><input type="text" name="last_name' + i + '" maxlength=50 style="width:170px" value="' + sLastNameValue + '"> *</td></tr>';
			
			sOtherRegTable += '<tr><td>Badge Name:</td>';
			sOtherRegTable += '<td colspan=3><input type="text" name="badge' + i + '" maxlength=35 style="width:425px" value="' + sBadgeNameValue + '"> *</td></tr>';
			
			sOtherRegTable += '<tr><td colspan=4>&nbsp;</td></tr>';
		}
		
		sOtherRegTable += '</table>';		
	}
	
	window.document.all.divOther.innerHTML = sOtherRegTable;
	window.document.all.regForm.prevNum.value = iNum;
}

function displayKITS(NumOtherObj)
{
	var sOtherRegTable = "";
	var iNum = NumOtherObj.value * 1;
	var iPrev = window.document.all.regForm.prevKits.value * 1;
	
	if (iNum != 0)
	{
		sOtherRegTable = '<table width="100%">';
		
		for (i=1; i<=iNum; i++)
		{
			var sFirstNameValue = "";
			var sLastNameValue = "";
					
			if (i <= iPrev)
			{
				sFirstNameValue = eval('window.document.all.regForm.first_name_kit' + i + '.value');
				sLastNameValue = eval('window.document.all.regForm.last_name_kit' + i + '.value');
			}
		
			sOtherRegTable += '<tr><td colspan=4>Kid in Tow ' + i + '</td></tr>';
			sOtherRegTable += '<tr><td>First Name:</td><td><input type="text" name="first_name_kit' + i + '" maxlength=50 style="width:135px" value="' + sFirstNameValue + '"></td>';
			sOtherRegTable += '<td>Last Name:</td><td><input type="text" name="last_name_kit' + i + '" maxlength=50 style="width:170px" value="' + sLastNameValue + '"> *</td></tr>';
			
			sOtherRegTable += '<tr><td colspan=4>&nbsp;</td></tr>';
		}
		
		sOtherRegTable += '</table>';
		
	}
	window.document.all.divKITS.innerHTML = sOtherRegTable;
	window.document.all.regForm.prevKits.value = iNum;
}

function checkForm(formObj)
{
    resetForm(formObj);

    return checkName(formObj.last_name) &&
           checkAddress(formObj.address1) &&
           checkCity(formObj.city) &&
           checkZip(formObj.zip) &&
           checkPhone(formObj.phone_a, formObj.phone_b, formObj.phone_c) &&
           checkBadgeName(formObj.priBadge) &&
           checkEmail(formObj.email) &&
           checkOtherRegs(formObj);
           
}

function resetForm(formObj)
{
    // reset field text to black
    for (i=0; i<formObj.length; i++)
    {
   		var curObj = formObj.elements[i];
    
    	if (formObj.elements[i].type != "submit")
    		formObj.elements[i].style.color = "black";
    }
    
}

// Returns true if the value of the text element is null or whitespace:
function isEmpty( textObj ) {
  var regexp = /^\s*$/;
  return regexp.test( textObj.value );
}

function checkName(lastNameObj)
{
	if (isEmpty(lastNameObj))
	{
		alert("Please enter a last name.");
        lastNameObj.focus(); 
        return false;
	}
	
	return true;
}

function checkAddress(addressObj)
{
	if (isEmpty(addressObj))
	{
		alert("Please enter an address.");
        addressObj.focus(); 
        return false;
	}
	
	return true;
}

function checkCity(cityObj)
{
	if (isEmpty(cityObj))
	{
		alert("Please enter a city.");
        cityObj.focus(); 
        return false;
	}
	
	return true;
}

function checkBadgeName(badgeObj)
{
	if (isEmpty(badgeObj))
	{
		alert("Please enter a badge name.");
        badgeObj.focus(); 
        return false;
	}
	
	return true;
}

function checkZip(zipObj)
{
	var regexp = /^\d+$/;
	
	if (!regexp.test(zipObj.value))
	{
		alert("Please enter a valid zip code.");
		if (zipObj.value.length > 0)
		{
			zipObj.style.color="red";
		}
        zipObj.focus(); 
        return false;
	}
	
	return true;
}

function checkEmail(emailObj)
{
	var regexp = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	
	if (!regexp.test(emailObj.value))
	{
		alert("Please enter a valid e-mail address.");
		if (emailObj.value.length > 0)
		{
			emailObj.style.color="red";
		}
		emailObj.focus();
		
		return false;
	}
	
	return true;
}

function checkPhone(areaCodeObj, prefixObj, extObj)
{
	var regexp = /^\d{3}$/;
	var regexp2 = /^\d{4}$/;
	
	if (isEmpty(areaCodeObj) && isEmpty(prefixObj) && isEmpty(extObj))
	{
		return true;
	}
	else if (!(regexp.test(areaCodeObj.value) && regexp.test(prefixObj.value) && regexp2.test(extObj.value)))
	{
		alert("Please enter a valid phone number.");
		if (areaCodeObj.value.length > 0)
		{
			areaCodeObj.style.color="red";
		}
		if (prefixObj.value.length > 0)
		{
			prefixObj.style.color="red";
		}
		if (extObj.value.length > 0)
		{
			extObj.style.color="red";
		}
        areaCodeObj.focus(); 
        return false;
	}
	
	return true;
}

function checkOtherRegs(formObj)
{

	var numRegs = formObj.otherRegs.value * 1
	
	if (numRegs > 0)
	{
		for(i=1; i<= numRegs; i++)
		{
			firstNameObj = eval("formObj.first_name" + i);
			lastNameObj = eval("formObj.last_name" + i);
			badgeObj = eval("formObj.badge" + i);
		
			if (!isEmpty(lastNameObj) && isEmpty(badgeObj))
			{
				alert("Please enter a badge name for each registration.");
        		badgeObj.focus(); 
        		return false;
			}
			else if (isEmpty(lastNameObj) && !isEmpty(badgeObj))
			{
				alert("Please enter a last name for each registration.");
        		lastNameObj.focus(); 
        		return false;
			}
			else if (!isEmpty(firstNameObj) && isEmpty(lastNameObj) && isEmpty(badgeObj))
			{
				alert("Please enter a last name and badge name for each registration.");
        		lastNameObj.focus(); 
        		return false;
			}
		}
	}
	
	return true;
}
