//===========================
// javascript to change the city list when the province is changed
// this is used on the change_login.asp pages by the retailers themselves
function ChangeCityOptions(currentCity, cityDropDownName, provinceDropDownName) {

	var selProvince, selCity, arrCityName, strProvinceCode, arrCities;
	
	selProvince = document.getElementById(provinceDropDownName);
	selCity = document.getElementById(cityDropDownName);
	if ((selCity == null) || (selProvince == null)) {
		return;
	}
	strProvinceCode = "AB"
	selCity.length = 0;
	
	if (selProvince.selectedIndex != -1) 
		strProvinceCode = selProvince.options[selProvince.selectedIndex].value;			
		
	arrCities = eval("arr" + strProvinceCode + "Cities");
	arrCityName = eval("arr" + strProvinceCode + "CityName");
	if((!arrCities) || (!arrCityName) || (arrCities.length != arrCityName.length)) return;
	
	for (var i = 0; i < arrCities.length; i++) {
		// the display name may not match the internal database name due to French 
		// or other special characters so we need both fields
		selCity.options[i] = new Option(arrCityName[i], arrCities[i]);
		if(currentCity == arrCities[i]) selCity.selectedIndex = i;
	}
	if(selCity.selectedIndex < 0) selCity.selectedIndex = 0;
}

// this is used by customers when finding a retailer
function OnProvinceChange(isFrench, blnIsRestoringSelectedCity, cityDropDownName, provinceDropDownName, hiddenCityIndexName) {
	var selProvince, selCity, strProvinceCode;
	
	selProvince = document.getElementById(provinceDropDownName);
	selCity = document.getElementById(cityDropDownName);
	if ((selCity == null) || (selProvince == null)) {
		return;
	}

	if (selProvince.selectedIndex == -1) {
		strProvinceCode = "AB";
	} else {
		strProvinceCode = selProvince.options[selProvince.selectedIndex].value;
	}
	ChangeCities(isFrench, strProvinceCode, blnIsRestoringSelectedCity,cityDropDownName, provinceDropDownName, hiddenCityIndexName);

}

// this is used in conjunction with OnProvinceChange by customers when finding a retailer
function ChangeCities(isFrench, strProvinceCode, blnIsRestoringSelectedCity, cityDropDownName, provinceDropDownName, hiddenCityIndexName){
	var selProvince, selCity, ihnCityIndex;
	
	selProvince = document.getElementById(provinceDropDownName);
	selCity = document.getElementById(cityDropDownName);
	ihnCityIndex = document.getElementById(hiddenCityIndexName);
	if ((selCity == null) || (selProvince == null) || (ihnCityIndex == null)) {
		return;
	}

	var arrCities;
	selCity.length = 0;
	if (isFrench) {
		selCity.options[0] = new Option("Ville","");
	} else {
		selCity.options[0] = new Option("Any City","");
	}
	if(!strProvinceCode) return;
	
	arrCities = eval("arr" + strProvinceCode + "Cities");
	arrCityName = eval("arr" + strProvinceCode + "CityName");
	if((!arrCities) || (!arrCityName) || (arrCities.length != arrCityName.length)) return;
	
	for (var i = 0; i < arrCities.length; i++) {
		// the display name may not match the internal database name due to French 
		// or other special characters so we need both fields
		selCity.options[i+1] = new Option(arrCityName[i], arrCities[i]);
	}
	if(selCity.selectedIndex < 0) selCity.selectedIndex = 0;
	
	if(blnIsRestoringSelectedCity) {
		selCity.selectedIndex = cityIndex.value;
	} else {
		selCity.selectedIndex = cityIndex.value = 0;	
	}
}
