//##########################################################################################

//place our event hook
window.onload = function() {
	//find the new country drop down
	var CountryDD = PageTemplate.GetNodesByAttribute("data-field","country").GetNode();
	if(CountryDD) {
		CountryDD.onchange = function(Event) {
			Event = BrowserWindow.GetEvent(Event);
			ShowHideRadiusSearch(CountryDD);
		};
	}
	
	//find the new sort results by drop down
	var SortDD = PageTemplate.GetNodesByAttribute("data-field","sort_by").GetNode();
	if(SortDD) {
		SortDD.onchange = function(Event) {
			Event = BrowserWindow.GetEvent(Event);
			
			SetSortOrder();
		};
	}
	
	//call on first load
	ShowHideRadiusSearch(CountryDD);
	SetSortOrder();
};

//##########################################################################################

function SetSortOrder(){
	//value chosen
	var SortByDD = PageTemplate.GetNodesByAttribute("data-field","sort_by").GetNode();
	var SortValue = SortByDD.options[SortByDD.selectedIndex].value;
	
	//find the sort order dropdown
	var SortDD = PageTemplate.GetNodesByAttribute("data-field","sort_by_order").GetNode();
	
	//change the titles of the sort order dropdown based on the item chosen
	switch(SortValue){
		case "last_active":
			SortDD.options[0].text = "Most Recent";
			SortDD.options[1].text = "Least Recent";
			break;
		case "member_since":
			SortDD.options[0].text = "Oldest First";
			SortDD.options[1].text = "Newest First";
			break;
		case "age":
			SortDD.options[0].text = "Youngest First";
			SortDD.options[1].text = "Oldest First";
			break;
		case "distance":
			SortDD.options[1].text = "High To Low";
			SortDD.options[0].text = "Low To High";
			break;
		case "username":
			SortDD.options[0].text = "Order A-Z";
			SortDD.options[1].text = "Order Z-A";
			break;
	}
}

//##########################################################################################

function ShowHideRadiusSearch(CountryDD) {
	var RadiusSearch = PageTemplate.GetNodesByAttribute("data-label","radius_search").GetNode();
	if(CountryDD[CountryDD.selectedIndex].getAttribute("data-field") == "has_postal_codes") {
		RadiusSearch.className = "radius_search";
	}
	else {
		if(CountryDD[CountryDD.selectedIndex].getAttribute("data-field") == "divider") {
			for(var i = 0 ; i < CountryDD.options.length ; i++) {
				if(CountryDD.options[i].value == "us") {
					CountryDD.selectedIndex = i;
					RadiusSearch.className = "radius_search";
					break;
				}
			}
		}
		else {
			RadiusSearch.className = "radius_search_hidden";
		}
	}
}

//##########################################################################################