// declare global variables
var i;
var RECOMMEND_PRODUCTS;

// on load calculate indices for all group of checkboxes with 'None of the Above' option 
function InitIndex(formindex)
{
	SubmitFlag = false;
	for ( i=0; i < document.forms[formindex].elements.length; i++)
	{
		GetIndex(formindex, "RECOMMEND_PRODUCTS");
		RECOMMEND_PRODUCTS = i;
		
		break;
	}
}

function GetIndex(formindex, GroupName)
{
	var namelen = GroupName.length;

	while (document.forms[formindex].elements[i].name.substring(0,namelen) != GroupName)
	{
		i++;
	}
}

// This function is running with assumption that 'None of the Above' option is the very last
// in the group of checkboxes.
// Start index must be calculated when document is being loaded using InitIndex() function 

function checker(formindex,start,groupname,none)
			// formindex - index of the form within current document, starts with 0
			// start - start index for group of checkboxes
			// generic name of group of checkboxes (Example: "RECOMMEND_PRODUCTS")
			// 'None of the above' option (Example: "99" if "RECOMMEND_PRODUCTS-80" is 
			//			a name of 'None of the above' checkbox
{
	var namelen = groupname.length;
	var OptionChecked = false;
	var LoopCount = parseInt(none);
	var NoneName = groupname + "-" + none;
	
	
	for ( var j=start; j < document.forms[formindex].elements.length; j++)
	{
		if (document.forms[formindex].elements[j].name.substring(0,namelen) == groupname)
		{	// group of check boxes located: continue loop inside the group
			while (LoopCount>=0)
			{ 
				if (document.forms[formindex].elements[j].name == NoneName)
 				{
 					if (OptionChecked == true)
 					{
 						document.forms[formindex].elements[j].checked = false;
 					}
 					LoopCount=0;	//break the loop when reach None option
 				}
 				else
 				{
					if (OptionChecked != true)
					{
 						if (document.forms[formindex].elements[j].checked==true)
 						{
 							OptionChecked = true;
 						}
					}
 				}
				j++;
				LoopCount--;
			}
			break;
		}
	}
}

function CheckedRadioValue(radioItem)
{
	for(i=0;i<radioItem.length;i++)
	{
		if(radioItem[i].checked)
		{
			return radioItem[i].value;
		}//end if
	}//end for
	return false;
}
			
function PaidformCheck(mode)
{
	
	if(!checkDropdown(document.paidform.CARD_TYPE))
	{
		alert("Please specify credit card.");
        	document.paidform.CARD_TYPE.focus();
		return false;
	}

	if(document.paidform.CARD_NUMBER.value == "")
	{
		alert("Please specify credit card number.");
        	document.paidform.CARD_NUMBER.focus();
		return false;
	}

	// Visa
	if(document.paidform.CARD_TYPE.selectedIndex == 1)
	{
		if (!isVisa(stripWhitespace(document.paidform.CARD_NUMBER.value)))
		{
			alert("Invalid credit card number. Please re-enter.")
        		document.paidform.CARD_NUMBER.focus();
			return false;
		}
	}

	// MasterCard
	if(document.paidform.CARD_TYPE.selectedIndex == 2)
	{
		if (!isMasterCard(stripWhitespace(document.paidform.CARD_NUMBER.value)))
		{
			alert("Invalid credit card number. Please re-enter.")
        		document.paidform.CARD_NUMBER.focus();
			return false;
		}
	}
	
	// AmEx
	if(document.paidform.CARD_TYPE.selectedIndex == 3)
	{
		if (!isAmericanExpress(stripWhitespace(document.paidform.CARD_NUMBER.value)))
		{
			alert("Invalid credit card number. Please re-enter.")
        		document.paidform.CARD_NUMBER.focus();
			return false;
		}
	}
	
	// Discover
	if(document.paidform.CARD_TYPE.selectedIndex == 4)
	{
		if (!isDiscover(stripWhitespace(document.paidform.CARD_NUMBER.value)))
		{
			alert("Invalid credit card number. Please re-enter.")
        		document.paidform.CARD_NUMBER.focus();
			return false;
		}
	}

	if(!checkDropdown(document.paidform.ExpMon))
	{
 		alert('Please select the expiration month.');
		document.paidform.ExpMon.focus();
 		return false;
	}

	if(!checkDropdown(document.paidform.ExpYear))
	{
 		alert('Please select the expiration year.');
		document.paidform.ExpYear.focus();
 		return false;
	}

	if(document.paidform.CARD_TYPE.selectedIndex != 4)
	{
		if(document.paidform.SCODE.value == "")
		{
			alert("Please specify Security Code.");
        		document.paidform.SCODE.focus();
			return false;
		}
	}

	return true;
}


function formCheck(mode, description)
{ 
	if(document.forms[0].RECEIVE_YES_NO[0].checked == false && document.forms[0].RECEIVE_YES_NO[1].checked == false)
	{
	alert("Please specify whether you wish to receive " + description +"?");
        document.forms[0].RECEIVE_YES_NO[0].focus();
		return false;
	}

	if(document.forms[0].RECEIVE_YES_NO[1].checked == true)
	// stop validation when "not to receive" response
	{
		return true;
	}

	if ((mode == "SHORT") || (mode == "ABBR"))
	{
		return true;
	}

	if (mode == "ADD")
	{
		if(document.forms[0].FNAME.value == "")
		{
			alert("Please specify your First name.");
        		document.forms[0].FNAME.focus();
			return false;
		}
		if(document.forms[0].LNAME.value == "")
		{
			alert("Please specify your Last name.");
        		document.forms[0].LNAME.focus();
			return false;
		}
	}
	
	if (mode == "RD")
	{
		if (ObjectExists(document.forms[0],"AddDigFlag"))
		{
			if(document.forms[0].FNAME.value == "")
			{
				alert("Please specify your First name.");
        		document.forms[0].FNAME.focus();
				return false;
			}
			if(document.forms[0].LNAME.value == "")
			{
				alert("Please specify your Last name.");
        		document.forms[0].LNAME.focus();
				return false;
			}
		}
	}	
	
	if (mode != "RENEW")
	{
                if(document.forms[0].TITLE.value == "")
		{
			alert("Please specify your Title.");
	        	document.forms[0].TITLE.focus();
			return false;
		}
		
		if(document.forms[0].COMPANY.value == "")
		{
			alert("Please specify your Company name.");
        		document.forms[0].COMPANY.focus();
			return false;
		}
		if(document.forms[0].ADDRESS2.value == "")
		{
			alert("Please specify your Street Address.");
	        	document.forms[0].ADDRESS2.focus();
			return false;
		}
		if(document.forms[0].CITY.value == "")
		{
			alert("Please specify your City.");
	        	document.forms[0].CITY.focus();
			return false;
		}
		if (document.forms[0].STATE.selectedIndex == 0)
		{
			alert("Please specify your State/Province");
		        document.forms[0].STATE.focus();
			return false;
		}

		// validate Canadian state/postal code combination
		if (!ValidCanPostal(document.forms[0].STATE[document.forms[0].STATE.selectedIndex].value,document.forms[0].ZIPCODE.value))
		{
			alert ("Invalid Canadian province/postal code combination.");
        		document.forms[0].STATE.focus();
			return false;
		}

		if (document.forms[0].STATE[document.forms[0].STATE.selectedIndex].value == "53")
		{
			if (document.forms[0].COUNTRY.value == "")
			{
				alert ("Please specify your Country.");
	        		document.forms[0].COUNTRY.focus();
				return false;
			}
		}
		else
		{
			if (document.forms[0].ZIPCODE.value.length < 5)
			{
				alert ("Please specify your Zip/Postal Code.");
	        		document.forms[0].ZIPCODE.focus();
				return false;
			}
		}
	}

     

	if (document.forms[0].EMAIL_ADDRESS.value == "")
	{
		alert ("Please specify your Email address.");
        	document.forms[0].EMAIL_ADDRESS.focus();
		return false;
	}

	if ((document.forms[0].EMAIL_ADDRESS.value != "") && (!validEmail(document.forms[0].EMAIL_ADDRESS.value)))
	{
		alert ("You have entered an invalid email address. Please re-enter it.");
		document.forms[0].EMAIL_ADDRESS.focus();
		return false;
	}	
	
	if (document.forms[0].PHONE.value == "")
	{
		alert ("Please specify your Phone.");
        	document.forms[0].PHONE.focus();
		return false;
	}
  
	if (!DemoBlock(mode))
	{
		return false;
	}


	if (document.forms[0].REQUESTED_VERSION[2].checked)
	{
		document.forms[0].action="https://nasa.omeda.com/cgi-win/nasa.cgi";
		//document.forms[0].action="http://web.omeda.com/cgi-win/nasa.cgi";
	}
	else
	{
		document.forms[0].action = "./nasa.cgi";
		//document.forms[0].action = "./nasa.cgi";
	}

	if (!PassAlongEmail())
	{
		return false;
	}	
	
	
	return true;
}  

function formCheckAlt(mode, description)
{ 
	if(document.forms[0].RECEIVE_YES_NO[0].checked == false && document.forms[0].RECEIVE_YES_NO[1].checked == false)
	{
	alert("Please specify whether you wish to receive " + description +"?");
        document.forms[0].RECEIVE_YES_NO[0].focus();
		return false;
	}
	if(document.forms[0].RECEIVE_YES_NO[1].checked == true)
	// stop validation when "not to receive" response
	{
		return true;
	}

	if (mode == "ADD")
	{
		if(document.forms[0].FNAME.value == "")
		{
			alert("Please specify your First name.");
        		document.forms[0].FNAME.focus();
			return false;
		}
		if(document.forms[0].LNAME.value == "")
		{
			alert("Please specify your Last name.");
        		document.forms[0].LNAME.focus();
			return false;
		}
	}
	if (mode == "RD")
	{
		if (ObjectExists(document.forms[0],"AddDigFlag"))
		{
			if(document.forms[0].FNAME.value == "")
			{
				alert("Please specify your First name.");
        		document.forms[0].FNAME.focus();
				return false;
			}
			if(document.forms[0].LNAME.value == "")
			{
				alert("Please specify your Last name.");
        		document.forms[0].LNAME.focus();
				return false;
			}
		}
	}	
	
	if (mode != "RENEW")
	{
		if(document.forms[0].TITLE.value == "")
		{
			alert("Please specify your Title.");
	        	document.forms[0].TITLE.focus();
			return false;
		}
		
		if(document.forms[0].COMPANY.value == "")
		{
			alert("Please specify your Company name.");
        		document.forms[0].COMPANY.focus();
			return false;
		}
		if(document.forms[0].ADDRESS2.value == "")
		{
			alert("Please specify your Street Address.");
	        	document.forms[0].ADDRESS2.focus();
			return false;
		}
		if(document.forms[0].CITY.value == "")
		{
			alert("Please specify your City.");
	        	document.forms[0].CITY.focus();
			return false;
		}
		if (document.forms[0].STATE.selectedIndex == 0)
		{
			alert("Please specify your State/Province");
		        document.forms[0].STATE.focus();
			return false;
		}

		// validate Canadian state/postal code combination
		if (!ValidCanPostal(document.forms[0].STATE[document.forms[0].STATE.selectedIndex].value,document.forms[0].ZIPCODE.value))
		{
			alert ("Invalid Canadian province/postal code combination.");
        		document.forms[0].STATE.focus();
			return false;
		}

		if (document.forms[0].STATE[document.forms[0].STATE.selectedIndex].value == "53")
		{
			if (document.forms[0].COUNTRY.value == "")
			{
				alert("Please specify your Country.");
	        		document.forms[0].COUNTRY.focus();
				return false;
			}
		}
		else
		{
			if (document.forms[0].ZIPCODE.value.length < 5)
			{
				alert("Please specify your Zip/Postal Code.");
	        		document.forms[0].ZIPCODE.focus();
				return false;
			}
		}

	}
	if (document.forms[0].EMAIL_ADDRESS.value == "")
	{
		alert ("Please specify your Email address.");
        	document.forms[0].EMAIL_ADDRESS.focus();
		return false;
	}
	if ((document.forms[0].EMAIL_ADDRESS.value != "") && (!validEmail(document.forms[0].EMAIL_ADDRESS.value)))
	{
		alert("You have entered an invalid email address. Please re-enter it.");
		document.forms[0].EMAIL_ADDRESS.focus();
		return false;
	}	
	if (document.forms[0].PHONE.value == "")
	{
		alert ("Please specify your Phone.");
        	document.forms[0].PHONE.focus();
		return false;
	}
        

	if ((document.forms[0].HOME_ADDRESS1.value != "")
			|| (document.forms[0].HOME_ADDRESS2.value != "")
			|| (document.forms[0].HOME_CITY.value != "")
			|| (document.forms[0].HOME_ZIPCODE.value != "")
			|| (document.forms[0].HOME_STATE.selectedIndex > 0))
	{
		if(document.forms[0].HOME_ADDRESS2.value == "")
		{
			alert("Please specify your optional delivery Street Address.");
	        	document.forms[0].HOME_ADDRESS2.focus();
			return false;
		}
		if(document.forms[0].HOME_CITY.value == "")
		{
			alert("Please specify your optional delivery City.");
	        	document.forms[0].HOME_CITY.focus();
			return false;
		}
		if (document.forms[0].HOME_STATE.selectedIndex == 0)
		{
			alert("Please specify your optional delivery State.");
		        document.forms[0].HOME_STATE.focus();
			return false;
		}

		// validate Canadian state/postal code combination
		if (!ValidCanPostal(document.forms[0].HOME_STATE[document.forms[0].HOME_STATE.selectedIndex].value,document.forms[0].HOME_ZIPCODE.value))
		{
			alert ("Invalid optional delivery Canadian province/postal code combination.");
        		document.forms[0].HOME_STATE.focus();
			return false;
		}

		if (document.forms[0].HOME_STATE[document.forms[0].HOME_STATE.selectedIndex].value == "53")
		{
			if (document.forms[0].HOME_COUNTRY.value == "")
			{
				alert("Please specify your optional delivery Country.");
	        		document.forms[0].HOME_COUNTRY.focus();
				return false;
			}
		}
		else
		{
			if (document.forms[0].HOME_ZIPCODE.value.length < 5)
			{
				alert("Please specify your optional delivery Zip Code.");
	        		document.forms[0].HOME_ZIPCODE.focus();
				return false;
			}
		}
	}
       	   
    if (!DemoBlock(mode))
	{
		return false;
	}
	
	if (document.forms[0].REQUESTED_VERSION[2].checked)
	{
		document.forms[0].action="https://nasa.omeda.com/cgi-win/nasa.cgi";
		//document.forms[0].action="http://web.omeda.com/cgi-win/nasa.cgi";
	}
	else
	{	
		document.forms[0].action = "./nasa.cgi";
		//document.forms[0].action = "./nasa.cgi";
	}
	
	if (!PassAlongEmail())
	{
		return false;
	}	
	
	return true;
}
function checkDropdown(selectBox)
{
	if(selectBox.selectedIndex == "0")
	{
		return false;
	}
	else
	{
		return true;
         }
}



function checkUnselects(radioItem)
{
	for(i=0;i<radioItem.length;i++)
	{
		if(radioItem[i].checked)
		{
			return true;
		}//end if
	}//end for
	return false;
}
 
//
//
// declare global variables
var i;

// two arrays for Canadian province/postal code validation
var CanCodes=new Array("54","55","56","57","58","59","60","66","61","62","63","64","65");
var CanLetters=new Array("T","UV","R","E","A","B","X","X","KLMNP","C","GHJ","S","Y");

// check if first letter of postal code matches selected Canadian province
// StateCD is 2-digit code that Omeda uses to identify Canadian provinces (value of STATE field)
// PostCD is entered postal code (value of ZIPCODE field)
function ValidCanPostal(StateCD, PostCD)
{
	var fletter=PostCD.substring(0,1);
	fletter = fletter.toUpperCase();

	for(i=0;i<13;i++)
	{
		if (StateCD==CanCodes[i])
		{
			if (CanLetters[i].indexOf(fletter,0) == -1)
			{
				return false;
			}
			else
			{
				return true;
			}
		}
	}
	return true;
}
function IsCanadian(StateCD)
{
	for(i=0;i<13;i++)
	{
		if (StateCD==CanCodes[i])
		{
			return true;
		}
	}
	return false;
}

function checkEmailValue(emailValue)
{     //runs the validate script and returns error box or nonerror

	if (emailValue == "")
	{
		alert("You have not entered email address. Please re-enter it.");
		return false;
	}

	startPos = 0;

	commaPos = emailValue.indexOf(",",startPos+1);	//position of semicolomn
	while (commaPos != -1)
	{
		endPos = commaPos;
		emailElement = emailValue.substring(startPos,endPos);
		if(!validEmail(emailElement))
		{
			alert("You have entered an invalid email address. Please re-enter it.");
			return false;
		}
		startPos = endPos + 1;		
		commaPos = emailValue.indexOf(",",startPos);	//position of semicolomn
	}
	endPos = emailValue.length;
	emailElement = emailValue.substring(startPos,endPos);

	if(!validEmail(emailElement))
	{
		alert("You have entered an invalid email address. Please re-enter it.");
		return false;
	}
	return true;		
}				

function validEmail(email)
{
	invalidchars = " /:;"

	if(email == "")
	{			//checks to see if blank field
		return false;
	}
			
	for(i=0;i<invalidchars.length;i++)
	{ //checks for invalid chars
			
		badchars = invalidchars.charAt(i);
			
		if(email.indexOf(badchars,0)!= -1)
		{
			return false;
		}
	}
	
	atPos = email.indexOf("@",1)  //holds position of "@"
			
	if(atPos == -1) 
	{	//checks to see if "@" present
		return false;
	}
							
	if(email.indexOf("@",atPos+1) != -1) 
	{ //checks for second "@"
		return false;
	}
							
	periodPos = email.indexOf(".",atPos) //holds position of "."
			
	if(periodPos == -1)
	{ //checks for presence of "."
		return false;
	}
	if(periodPos+3 > email.length)
	{//makes sure at least two chars after the period
		return false;
	}
	return true;
}
function DemoBlock(mode)
{
//	if(document.forms[0].REQUESTED_VERSION[1].checked == true || document.forms[0].REQUESTED_VERSION[2].checked == true)
//	{
		if (document.forms[0].EMAIL_ADDRESS.value == "")
		{
			alert ("Please specify your E-mail Address.");
       			document.forms[0].EMAIL_ADDRESS.focus();
			return false;
    		}
  		if(!validEmail(document.forms[0].EMAIL_ADDRESS.value))
		{
			alert("You have entered an invalid email address. Please re-enter it.");
			document.forms[0].EMAIL_ADDRESS.focus();
			return false;
		}
//	}
	return true;
}
function formCheckFormat(mode, description)
{ 
	if(document.forms[0].RECEIVE_YES_NO[0].checked == false && document.forms[0].RECEIVE_YES_NO[1].checked == false)
	{
	alert("Please specify whether you wish to receive " + description +"?");
        document.forms[0].RECEIVE_YES_NO[0].focus();
		return false;
	}
	if(document.forms[0].RECEIVE_YES_NO[1].checked == true)
	// stop validation when "not to receive" response
	{
		return true;
	}
if(document.forms[0].REQUESTED_VERSION[0].checked == false && document.forms[0].REQUESTED_VERSION[1].checked == false && document.forms[0].REQUESTED_VERSION[2].checked == false)
	{
	alert("Please specify in which format you prefer to receive Nasa Tech Briefs.");
        document.forms[0].REQUESTED_VERSION[0].focus();
		return false;
	}
	
	if (mode == "FORMAT")
	{
		if(document.forms[0].TITLE.value == "")
		{
			alert("Please specify your Title.");
	        	document.forms[0].TITLE.focus();
			return false;
		}
		
		if(document.forms[0].COMPANY.value == "")
		{
			alert("Please specify your Company name.");
        		document.forms[0].COMPANY.focus();
			return false;
		}
		if(document.forms[0].ADDRESS2.value == "")
		{
			alert("Please specify your Street Address.");
	        	document.forms[0].ADDRESS2.focus();
			return false;
		}
		if(document.forms[0].CITY.value == "")
		{
			alert("Please specify your City.");
	        	document.forms[0].CITY.focus();
			return false;
		}
		if (document.forms[0].STATE.selectedIndex == 0)
		{
			alert("Please specify your State/Province");
		        document.forms[0].STATE.focus();
			return false;
		}

		// validate Canadian state/postal code combination
		if (!ValidCanPostal(document.forms[0].STATE[document.forms[0].STATE.selectedIndex].value,document.forms[0].ZIPCODE.value))
		{
			alert ("Invalid Canadian province/postal code combination.");
        		document.forms[0].STATE.focus();
			return false;
		}

		if (document.forms[0].STATE[document.forms[0].STATE.selectedIndex].value == "53")
		{
			if (document.forms[0].COUNTRY.value == "")
			{
				alert("Please specify your Country.");
	        		document.forms[0].COUNTRY.focus();
				return false;
			}
		}
		else
		{
			if (document.forms[0].ZIPCODE.value.length < 5)
			{
				alert("Please specify your Zip/Postal Code.");
	        		document.forms[0].ZIPCODE.focus();
				return false;
			}
		}

	}
	if (document.forms[0].PHONE.value == "")
	{
		alert ("Please specify your Phone.");
        	document.forms[0].PHONE.focus();
		return false;
	}
        

	if ((document.forms[0].HOME_ADDRESS1.value != "")
			|| (document.forms[0].HOME_ADDRESS2.value != "")
			|| (document.forms[0].HOME_CITY.value != "")
			|| (document.forms[0].HOME_ZIPCODE.value != "")
			|| (document.forms[0].HOME_STATE.selectedIndex > 0))
	{
		if(document.forms[0].HOME_ADDRESS2.value == "")
		{
			alert("Please specify your optional delivery Street Address.");
	        	document.forms[0].HOME_ADDRESS2.focus();
			return false;
		}
		if(document.forms[0].HOME_CITY.value == "")
		{
			alert("Please specify your optional delivery City.");
	        	document.forms[0].HOME_CITY.focus();
			return false;
		}
		if (document.forms[0].HOME_STATE.selectedIndex == 0)
		{
			alert("Please specify your optional delivery State.");
		        document.forms[0].HOME_STATE.focus();
			return false;
		}

		// validate Canadian state/postal code combination
		if (!ValidCanPostal(document.forms[0].HOME_STATE[document.forms[0].HOME_STATE.selectedIndex].value,document.forms[0].HOME_ZIPCODE.value))
		{
			alert ("Invalid optional delivery Canadian province/postal code combination.");
        		document.forms[0].HOME_STATE.focus();
			return false;
		}

		if (document.forms[0].HOME_STATE[document.forms[0].HOME_STATE.selectedIndex].value == "53")
		{
			if (document.forms[0].HOME_COUNTRY.value == "")
			{
				alert("Please specify your optional delivery Country.");
	        		document.forms[0].HOME_COUNTRY.focus();
				return false;
			}
		}
		else
		{
			if (document.forms[0].HOME_ZIPCODE.value.length < 5)
			{
				alert("Please specify your optional delivery Zip Code.");
	        		document.forms[0].HOME_ZIPCODE.focus();
				return false;
			}
		}
	}

	if (!DemoBlock(mode))
	{
		return false;
	}

	if (document.forms[0].REQUESTED_VERSION[2].checked)
	{
		//document.forms[0].action="https://nasa.omeda.com/cgi-win/nasa.cgi";
		document.forms[0].action="http://web.omeda.com/cgi-win/nasa.cgi";
	}
	else
	{	
		document.forms[0].action = "./nasa.cgi";
		//document.forms[0].action = "./nasa.cgi";
	}
	return true;
}
function ObjectExists(form,fieldname)
{
	for ( i=0; i < form.elements.length; i++)
	{
		if (form.elements[i].name == fieldname)
		{
			return true;
		}
	}
	return false;
}
function formCheckDigital(mode, description)
{ 
var MyFocus;
	if(document.forms[0].RECEIVE_YES_NO[0].checked == false && document.forms[0].RECEIVE_YES_NO[1].checked == false)
	{
	alert("Please specify whether you wish to receive the digital version of " + description +"?");
        document.forms[0].RECEIVE_YES_NO[0].focus();
		return false;
	}

	if(document.forms[0].RECEIVE_YES_NO[1].checked == true)
	// stop validation when "not to receive" response
	{
		return true;
	}
      if (mode == "ADD")
	   {
	
		if(document.forms[0].FNAME.value == "")
			{
				alert("Please specify your First name.");
        			document.forms[0].FNAME.focus();
				return false;
			}
		if(document.forms[0].LNAME.value == "")
			{
				alert("Please specify your Last name.");
        			document.forms[0].LNAME.focus();
				return false;
		 	}
         }
	if (mode == "RD")
	{
		if (ObjectExists(document.forms[0],"AddDigFlag"))
		{
			if(document.forms[0].FNAME.value == "")
			{
				alert("Please specify your First name.");
        		document.forms[0].FNAME.focus();
				return false;
			}
			if(document.forms[0].LNAME.value == "")
			{
				alert("Please specify your Last name.");
        		document.forms[0].LNAME.focus();
				return false;
			}
		}
	}		 
		 
     if (mode != "RENEW")
	{
	
        if(document.forms[0].TITLE.value == "")
		{
			alert("Please specify your Title.");
	        	document.forms[0].TITLE.focus();
			return false;
		}
		
		if(document.forms[0].COMPANY.value == "")
		{
			alert("Please specify your Company name.");
        		document.forms[0].COMPANY.focus();
			return false;
		}
		if(document.forms[0].ADDRESS2.value == "")
		{
			alert("Please specify your Street Address.");
	        	document.forms[0].ADDRESS2.focus();
			return false;
		}
		if(document.forms[0].CITY.value == "")
		{
			alert("Please specify your City.");
	        	document.forms[0].CITY.focus();
			return false;
		}
		if (document.forms[0].STATE.selectedIndex == 0)
		{
			alert("Please specify your State/Province");
		        document.forms[0].STATE.focus();
			return false;
		}

		// validate Canadian state/postal code combination
		if (!ValidCanPostal(document.forms[0].STATE[document.forms[0].STATE.selectedIndex].value,document.forms[0].ZIPCODE.value))
		{
			alert ("Invalid Canadian province/postal code combination.");
        		document.forms[0].STATE.focus();
			return false;
		}

		if (document.forms[0].STATE[document.forms[0].STATE.selectedIndex].value == "53")
		{
			if (document.forms[0].COUNTRY.value == "")
			{
				alert("Please specify your Country.");
	        		document.forms[0].COUNTRY.focus();
				return false;
			}
		}
		else
		{
			if (document.forms[0].ZIPCODE.value.length < 5)
			{
				alert("Please specify your Zip/Postal Code.");
	        		document.forms[0].ZIPCODE.focus();
				return false;
			}
		}
     }  

     if (document.forms[0].EMAIL_ADDRESS.value == "")
	{
		alert ("Please specify your E-mail Address.");
       		document.forms[0].EMAIL_ADDRESS.focus();
		return false;
	}
     if(!validEmail(document.forms[0].EMAIL_ADDRESS.value))
	{
		alert("You have entered an invalid email address. Please re-enter it.");
		document.forms[0].EMAIL_ADDRESS.focus();
		return false;
     }

	if (document.forms[0].PHONE.value == "")
	{
		alert ("Please specify your Phone.");
        	document.forms[0].PHONE.focus();
		return false;
	}
  
	// question 1	
	if (!checkDropdown(document.forms[0].PRIMARY_BUSINESS))
	{
		alert ("Please select your industry or service.");
		document.forms[0].PRIMARY_BUSINESS.focus();
		return false;
	}
    if ((document.forms[0].PRIMARY_BUSINESS[document.forms[0].PRIMARY_BUSINESS.selectedIndex].value ==  'Z')&& (document.forms[0].PRIMARY_BUSINESS_TEXT.value == ''))
	{
	alert ("Please specify your industry or service description.");
	  	document.forms[0].PRIMARY_BUSINESS_TEXT.focus();
	  	return false;
	 }

   // question 2
	if(!checkUnselects(document.forms[0].MANAGE_ENGINEERING))	
	{
		alert("Please specify if you manage an engineering department, project team, or projects.");
        	document.forms[0].MANAGE_ENGINEERING[0].focus();
		return false;
	}

    //question 3
	if (!CheckboxChecked(document.forms[0],'JOB_FUNCTIONS'))
	{
		alert ("Please specify your job functions.");
		myFocus=document.getElementById("JOB_FUNCTIONS");
		myFocus.scrollIntoView(true);
		return false;
	}
	if (document.getElementById('JOB_FUNCTIONS15').checked)
    {
      	if (document.forms[0].JOB_FUNCTIONS_TEXT.value == '')
   		{ 	
			alert("Please specify your job functions - other.");
     	    myFocus=document.getElementById("JOB_FUNCTIONS");
    		myFocus.scrollIntoView(true); 
    		document.forms[0].JOB_FUNCTIONS_TEXT.focus();
    		return false;
       }
    }
	if (!checkDropdown(document.forms[0].PRIMARY_JOB_FUNCTION))
	{
		alert ("Please select your primary job function.");
		document.forms[0].PRIMARY_JOB_FUNCTION.focus();
		return false;
	}
	//question 4
	if (!CheckboxChecked(document.forms[0],'RECOMMEND_PRODUCTS'))
	{
		alert ("Please specify products you recommend.");
		myFocus=document.getElementById("RECOMMEND_PRODUCTS");
		myFocus.scrollIntoView(true);
		return false;
	}
      //question 6
	if (!CheckboxChecked(document.forms[0],'MARKETS'))
	{
		alert ("Please specify the markets for which you design/develop products.");
		myFocus=document.getElementById("MARKETS");
		myFocus.scrollIntoView(true);
		return false;
	}

	//question 7
	if (!checkDropdown(document.forms[0].ENGINEERS))
	{
		alert ("Please select the number engineers and scientists work at this address.");
		document.forms[0].ENGINEERS.focus();
		return false;
	}

	//question 8
	if (!CheckboxChecked(document.forms[0],'PUBLICATIONS'))
	{
		alert ("Please specify the publications you receive.");
		myFocus=document.getElementById("PUBLICATIONS");
		myFocus.scrollIntoView(true);
		return false;
	}
	//Personal ID
	if (!checkDropdown(document.forms[0].PERSONAL_ID))
	{
		alert("Please select the first letter of the city in which you were born.")
		document.forms[0].PERSONAL_ID.focus();
		return false;
	}
	
	
	if (!PassAlongEmail())
	{
		return false;
	}	

	return true;
}  
function CheckboxChecked(thisform,CheckBoxName)
{
var ChLength = CheckBoxName.length + 1;
var vName = CheckBoxName + "-";

var CBindex = 0;
	for ( i=0; i < thisform.elements.length; i++)
	{
		if (thisform.elements[i].type == "checkbox")
		{
			if (thisform.elements[i].name.substring(0,ChLength)==vName)
			{
				if (CBindex==0) {CBindex = i;}
				if (thisform.elements[i].checked)
				{
					return true;
					break;
				}
			}
		}

	}
	thisform.elements[CBindex].focus();
	return false;
}
function AnswerCheckShort(form)
{ 
var MyFocus;
//question 1

if(document.forms[0].correct_addr[0].checked == false && document.forms[0].correct_addr[1].checked == false&&document.forms[0].correct_addr[2].checked == false)
		{
			alert("Please specify whether you wish to receive Nasa Tech Briefs or this is not your information.");
        		document.forms[0].correct_addr[0].focus();
			return false;
		} 
if(document.forms[0].correct_addr[1].checked == true)
	// stop validation when "not to receive" response
	{
		return true;
	}

	if (!checkDropdown(document.forms[0].PERSONAL_ID))
		{
			alert("Please select your date of birth.")
			document.forms[0].PERSONAL_ID.focus();
			return false;
		}
	
	return true;
} 

function PassAlongEmail()
{

	if (ObjectExists(document.forms[0],"PNM01_EMAIL_ADDRESS"))
	{
	if (document.forms[0].PNM01_EMAIL_ADDRESS.value != "")
		{

	     if(!validEmail(document.forms[0].PNM01_EMAIL_ADDRESS.value))
     		{
     			alert("You have entered an invalid email address. Please re-enter it.");
     			document.forms[0].PNM01_EMAIL_ADDRESS.focus();
     			return false;
             }	
		}
	}
	
	if (ObjectExists(document.forms[0],"PNM02_EMAIL_ADDRESS"))
	{	
	if (document.forms[0].PNM02_EMAIL_ADDRESS.value != "")
		{
     	if(!validEmail(document.forms[0].PNM02_EMAIL_ADDRESS.value))
     		{
     			alert("You have entered an invalid email address. Please re-enter it.");
     			document.forms[0].PNM02_EMAIL_ADDRESS.focus();
     			return false;
             }	
		}
	}
	
	if (ObjectExists(document.forms[0],"PNM03_EMAIL_ADDRESS"))
	{	
	if (document.forms[0].PNM03_EMAIL_ADDRESS.value != "")
		{
     	if(!validEmail(document.forms[0].PNM03_EMAIL_ADDRESS.value))
     		{
     			alert("You have entered an invalid email address. Please re-enter it.");
     			document.forms[0].PNM03_EMAIL_ADDRESS.focus();
     			return false;
             }	
		}
	}
	
	if (ObjectExists(document.forms[0],"PNM04_EMAIL_ADDRESS"))
	{	
		if (document.forms[0].PNM04_EMAIL_ADDRESS.value != "")
		{
     		if(!validEmail(document.forms[0].PNM04_EMAIL_ADDRESS.value))
     		{
     			alert("You have entered an invalid email address. Please re-enter it.");
     			document.forms[0].PNM04_EMAIL_ADDRESS.focus();
     			return false;
             }				 			 
		}
	}
	
	if (ObjectExists(document.forms[0],"PNM05_EMAIL_ADDRESS"))
	{	
	if (document.forms[0].PNM05_EMAIL_ADDRESS.value != "")
		{
     	if(!validEmail(document.forms[0].PNM05_EMAIL_ADDRESS.value))
     		{
     			alert("You have entered an invalid email address. Please re-enter it.");
     			document.forms[0].PNM05_EMAIL_ADDRESS.focus();
     			return false;
             }				 			 
		}	
	}		 			 
	
	return true;		 
}