var usValues = new Array ('CT','ME', 'MA', 'NH', 'RI', 'VT');
var usWords  = new Array ('Connecticut', 'Maine', 'Massachusetts', 'New Hampshire', 'Rhode Island', 'Vermont');
var canValues = new Array ('NB', 'NL', 'NS', 'ON', 'PE', 'QC');
var canWords  = new Array ('Nouveau-Brunswick', 'Terre-Neuve', 'Nouvelle-Écosse', 'Ontario', 'Île-du-Prince-Édouard', 'Québec');
var selectedValues;
var selectedWords;
var selectedState;

function isUSState(stateValue)
{
	if (stateValue != "")
	{
		for (i=0; i < usValues.length; i++)
		{
			if (usValues[i] == stateValue)
			{
				return true;
			}
		}
	}
	return false;
};

function isCanadianProvince(stateValue)
{
	if (stateValue != "")
	{		
		for (i=0; i < canValues.length; i++)
		{
			if (canValues[i] == stateValue)
			{
				return true;
			}
		}	
	}	
	return false;
};


function getCountryOptions(stateCountryValue)
{			
	var usaSelected = "";
	var canSelected = "";

	if (isUSState(stateCountryValue))
	{
		usaSelected = "selected";
	
	} else if (isCanadianProvince(stateCountryValue))
	{
		canSelected = "selected";
	}
		
	var optionsHTML;
	optionsHTML = "<option>Choisissez le pays</option>";
    optionsHTML += "<option value='United States'"+usaSelected+">Les Etats-Unis</option>";
    optionsHTML += "<option value='Canada'"+canSelected+">Canada</option>";
    
    
    document.write(optionsHTML);
};


function getStateOptions(stateValue, stateSelectField, countrySelectField)
{
	var countryValue;
	
	if (countrySelectField != null)
	{
		countryValue = countrySelectField.value;
	}
	
	var emptyOptions = "<option>Choisissez un</option>";
	emptyOptions += "<option value=''>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>";
	
	var optionsHTML = "";
	
	if (stateValue == "" && (countryValue == null || (countryValue != "United States" && countryValue != "Canada")))
	{
		optionsHTML = emptyOptions;
		if (stateSelectField != null)
		{
			if ((countryValue == null || countryValue == "") || (countryValue != "United States" && countryValue != "Canada"))
			{
				stateSelectField.disabled = true;
			}
		}
	} 
	else
	{
		if (isUSState(stateValue) || (countryValue != null && countryValue == "United States"))
		{
			optionsHTML = "<option>Select One</option>";
			for (i=0; i < usValues.length; i++)
			{
				optionsHTML += "<option value='"+usValues[i]+"' "+(stateValue==usValues[i]?"selected":"")+" >"+usWords[i]+"</option>"
			}			
		} else if (isCanadianProvince(stateValue) || (countryValue != null && countryValue == "Canada"))
		{
			optionsHTML = "<option>Select One</option>";
			for (i=0; i < canValues.length; i++)
			{
				optionsHTML += "<option value='"+canValues[i]+"' "+(stateValue==canValues[i]?"selected":"")+" >"+canWords[i]+"</option>"
			}			
		
		} else
		{
			optionsHTML = 	emptyOptions;
			if (stateSelectField != null)
			{
				if ((countryValue == null || countryValue == "") || (countryValue != "United States" && countryValue != "Canada"))
				{
					stateSelectField.disabled = true;
				}
			}
		}
	}
	
    document.write(optionsHTML);

};

function changeSecondSelect(formName,firstSelect,secondSelect) 
{

	while(document[formName][secondSelect].options[1])
		document [formName][secondSelect].options[1] = null;

	var plopValues = new Array (0);
	var plopWords  = new Array (0);
	plopValues.length = 0;
	plopWords.length = 0;
	
	var firstSelectValue;
	
	if (document [formName][firstSelect].selectedIndex > -1)
	{
		firstSelectValue = document[formName][firstSelect].options[document [formName][firstSelect].selectedIndex].value;
	} else
	{
		firstSelectValue = "";
	}

	if (firstSelectValue =="United States") {
		var plopValues = new Array ('CT','ME', 'MA', 'NH', 'RI', 'VT');
		var plopWords  = new Array ('Connecticut', 'Maine', 'Massachusetts', 'New Hampshire', 'Rhode Island', 'Vermont');
		document [formName] [secondSelect].disabled=false;
	
	} else if (firstSelectValue =="Canada") {
		var plopValues = new Array ('NB', 'NL', 'NS', 'ON', 'PE', 'QC');
		var plopWords  = new Array ('Nouveau-Brunswick', 'Terre-Neuve', 'Nouvelle-Écosse', 'Ontario', 'Île-du-Prince-Édouard', 'Québec');
		document [formName] [secondSelect].disabled=false;
	} else {
		document [formName] [secondSelect].disabled=true;
	}


	if (firstSelectValue == "")
		{	var plopValues = new Array ('','','');
			var plopWords  = new Array (' * Please','   make a','   choice.'); };
	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	// now the array that was set cascades into the second select
	for (var i=0;i<plopWords.length;i++)
		{	var optionAtor=new Option(plopWords[i],plopValues[i])
			document[formName][secondSelect].options[i+1]=optionAtor;
		}
};
