

try
{
	var o 	= navigator.plugins["Shockwave Flash"];
	var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
}
catch(e) {}


// --- TOGGLE METHODS --- //
function jsToggleChildInformation(obj)
{
	var divNumberOfChildren = document.getElementById('divNumberOfChildren');
	var selNumberOfChildren = document.getElementById('selNumberOfChildren');
	
	if (obj.checked)
		divNumberOfChildren.style.display = 'block';
	else
		divNumberOfChildren.style.display = 'none';
	
	selNumberOfChildren.selectedIndex = 0;
	jsBuildChildFields(selNumberOfChildren);
	
	obj.className = '';
	
	return;
}

function jsToggleContactMap(map, action)
{
	var divContactMap 		= document.getElementById('divContactMap');
	var imgContactMapStreet = document.getElementById('imgContactMapStreet');
	var imgContactMapDetail = document.getElementById('imgContactMapDetail');
	
	if (action == 0)
	{
		divContactMap.style.display 	  = 'none';
		imgContactMapStreet.style.display = 'none';
		imgContactMapDetail.style.display = 'none';
		
		return;
	}
	
	divContactMap.style.display = 'block';
	
	switch (map.toLowerCase())
	{
		case 'street':
			imgContactMapStreet.style.display = 'block';
			imgContactMapDetail.style.display = 'none';
			break;
		
		case 'detail':
			imgContactMapDetail.style.display = 'block';
			imgContactMapStreet.style.display = 'none';
			break;
	}
	
	return;
}

function jsRemoveDefaultMessageText(obj)
{
	obj.value 	= '';
	obj.onfocus = '';
	
	return;
}

function jsLearnMoreButtonHome__MO(action)
{
	var agent = navigator.userAgent;
	var divLearnMoreButton = document.getElementById('divLearnMoreButton');
	
	if (action == 0)
		divLearnMoreButton.className = 'divLearnMoreButtonMO_Off';
		
	if (action == 1)
		if ((o || axo) && (agent.toLowerCase().indexOf('firefox') > 0 || agent.toLowerCase().indexOf('safari') > 0))
			divLearnMoreButton.className = 'divLearnMoreButtonMO_On_Flash';
		else
			divLearnMoreButton.className = 'divLearnMoreButtonMO_On_NoFlash';
	
	return;
}

// used in the home page flash movies
function jsLearnMoreButtonHomeURLRedirect()
{
	document.location.replace('learn_more');
}


// --- LEARN MORE FIELD METHODS --- //
function jsBuildChildFields(obj)
{
	var divChildrenInformation = document.getElementById('divChildrenInformation');
	
	if (obj.value == "" || parseInt(obj.value) == 0)
	{
		divChildrenInformation.style.display = 'none';
	}
	else
	{
		divChildrenInformation.style.display = 'block';
		
		var children = parseInt(obj.value);
		for (var i = 1; i <= 6; i++)
		{
			divChild = document.getElementById('divChild' + i)
			selChildAge = document.getElementById('selChildAge' + i)

			if (i <= children)
			{
				divChild.style.display = 'block'
				selChildAge.disabled = false
			}
			else
			{
				divChild.style.display = 'none'
				selChildAge.disabled = true
			}
		}
	}
}


// --- VALIDATION METHODS --- //
function jsValidateEmailAddress(obj)
{
	var regex_pattern = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	
	if (!regex_pattern.test(obj.value))
		return false;

	return true;
}

function jsValidateStandardFormFields(frmObj)
{
	var arrEmptyFields = new Array();


	// first name
	if (frmObj.txtFirstName.value == '')
	{
		arrEmptyFields.push('First Name');
		frmObj.txtFirstName.className = 'empty_field';
	}
	else
	{
		frmObj.txtFirstName.className = '';	
	}
	
	
	// last name
	if (frmObj.txtLastName.value == '')
	{
		arrEmptyFields.push('Last Name');
		frmObj.txtLastName.className = 'empty_field';
	}
	else
	{
		frmObj.txtLastName.className = '';
	}
	
	
	// email address
	if (frmObj.txtEmailAddress.value == '')
	{
		arrEmptyFields.push('Email Address');
		frmObj.txtEmailAddress.className = 'empty_field';
	}
	else if (!jsValidateEmailAddress(frmObj.txtEmailAddress))
	{
		arrEmptyFields.push('Email Address ( Invalid )');
		frmObj.txtEmailAddress.className = 'empty_field';
	}
	else
	{
		frmObj.txtEmailAddress.className = '';
	}
	

	return arrEmptyFields;
}

function jsValidateContactForm(frmObj)
{
	var arrIsValidated = new Array();
	arrIsValidated = jsValidateStandardFormFields(frmObj);
	
	if (parseInt(arrIsValidated.length) > 0)
		alert(jsParseValidateMessage(arrIsValidated));
	else
		return true;
		
	return false;
}

function jsValidateLearnMoreForm(frmObj)
{
	var arrIsValidated = new Array();
	arrIsValidated = jsValidateStandardFormFields(frmObj);
	
    /*
	if (frmObj.chkBetaProgramParticipation.checked)
	{
		if (parseInt(frmObj.selNumberOfChildren.selectedIndex) == 0)
		{
			arrIsValidated.push('Number of Children');
			frmObj.chkBetaProgramParticipation.className = 'empty_field';
		}
		else
		{
			frmObj.chkBetaProgramParticipation.className = '';
		}
	}
	*/

	if (parseInt(arrIsValidated.length) > 0)
		alert(jsParseValidateMessage(arrIsValidated));
	else
		return true;

	return false;
}

function jsValidateTellFriendForm(frmObj)
{
	var arrIsValidated = new Array();
	
	if (frmObj.txtFirstName.value == '')
	{
		arrIsValidated.push('Your First Name');
		frmObj.txtFirstName.className = 'empty_field';
	}
	else
	{
		frmObj.txtFirstName.className = '';
	}
	
	if (frmObj.txtLastName.value == '')
	{
		arrIsValidated.push('Your Last Name');
		frmObj.txtLastName.className = 'empty_field';
	}
	else
	{
		frmObj.txtLastName.className = '';
	}

	var allEmpty = true;
	
	for (var i = 1; i <= 3; i++)
	{
		frmObj['txtFriendFirstName' + i].className = '';
		frmObj['txtFriendLastName' + i].className = '';
		frmObj['txtEmailAddress' + i].className = '';
  	}
	
	for (var i = 1; i <= 3; i++)
	{
		if (frmObj['txtFriendFirstName' + i].value != '' || frmObj['txtFriendLastName' + i].value != '' || frmObj['txtEmailAddress' + i].value != '')
		{
			allEmpty = false;
			
			if (frmObj['txtFriendFirstName' + i].value == '')
			{
				arrIsValidated.push('Friend ' + i + ' First Name');
				frmObj['txtFriendFirstName' + i].className = 'empty_field';
			}
			else
			{
				frmObj['txtFriendFirstName' + i].className = '';
			}
	  
			if (frmObj['txtFriendLastName' + i].value == '')
			{
				arrIsValidated.push('Friend ' + i + ' Last Name');
				frmObj['txtFriendLastName' + i].className = 'empty_field';
			}
			else
			{
				frmObj['txtFriendLastName' + i].className = '';
			}
	  
			if (frmObj['txtEmailAddress' + i].value == '')
			{
				arrIsValidated.push('Friend ' + i + ' Email Address');
				frmObj['txtEmailAddress' + i].className = 'empty_field';
			}
			else
			{
				frmObj['txtEmailAddress' + i].className = '';
			}
		}
	}
	
	if (allEmpty)
	{
		arrIsValidated.push('Friend 1 First Name');
		frmObj.txtFriendFirstName1.className = 'empty_field';
		arrIsValidated.push('Friend 1 Last Name');
		frmObj.txtFriendLastName1.className = 'empty_field';
		arrIsValidated.push('Friend 1 Email Address');
		frmObj.txtEmailAddress1.className = 'empty_field';
	}
	
	if (parseInt(arrIsValidated.length) > 0)
		alert(jsParseValidateMessage(arrIsValidated));
	else
		return true;

	return false;
}

function jsValidateBetaLoginForm(frmObj, action)
{
	var arrEmptyFields = new Array();
	
	// email address
	if (frmObj.txtEmailAddress.value == '')
	{
		arrEmptyFields.push('Email Address');
		frmObj.txtEmailAddress.className = 'empty_field';
		frmObj.txtEmailAddress.focus();
	}
	else if (!jsValidateEmailAddress(frmObj.txtEmailAddress))
	{
		arrEmptyFields.push('Email Address ( Invalid )');
		frmObj.txtEmailAddress.className = 'empty_field';
		frmObj.txtEmailAddress.focus();
		frmObj.txtEmailAddress.select();
	}
	else
	{
		frmObj.txtEmailAddress.className = '';
	}
	
	
	if (action.toLowerCase() == 'login')
	{
		if (frmObj.txtPassword.value == '')
		{
			arrEmptyFields.push('Password');
			frmObj.txtPassword.className = 'empty_field';
			frmObj.txtPassword.focus();
		}
		else
		{
			frmObj.txtPassword.className = '';
		}
	}
	
	
	if (parseInt(arrEmptyFields.length) > 0)
		alert(jsParseValidateMessage(arrEmptyFields));
	else
		return true;

	return false;
}


function jsParseValidateMessage(arrIsValidated)
{
	return "The following required fields are either missing or invalid:     \n\n" + arrIsValidated.join("\n").toString();
}
