function loadConstants() {
	if (_tpc_request != null) {
		var _url = '/agate/_constants.cfm';
		_tpc_request.open('GET', _url, true);
		_tpc_request.onreadystatechange = parseConstants;
		_tpc_request.send(null);
	} else {
		alert("ajax request is null");
	}
}

function parseConstants() {
	if (_tpc_request.readyState == 4) {
		var xmlDoc   = _tpc_request.responseXML;
		var sports   = xmlDoc.getElementsByTagName("prepagate-constants")[0].getElementsByTagName("sports")[0].getElementsByTagName("entry");
		var counties = xmlDoc.getElementsByTagName("prepagate-constants")[0].getElementsByTagName("counties")[0].getElementsByTagName("entry");

		var sportsDD = document.getElementById('sports-select');
		var countiesDD = document.getElementById('counties-select');
		var key = "", val = "";

		var optionAllSports = document.createElement('option');
		optionAllSports.setAttribute("value", "-1");
		optionAllSports.setAttribute("selected", "selected");
		optionAllSports.innerHTML = "All Sports";
		sportsDD.appendChild(optionAllSports);
		for (var i = 0; i < sports.length; i++) {
			key = sports[i].getElementsByTagName("key")[0].firstChild.nodeValue;
			val = sports[i].getElementsByTagName("value")[0].firstChild.nodeValue;

			var option = document.createElement('option');
			option.setAttribute("value", key);
			option.innerHTML = val;

			sportsDD.appendChild(option);
		}


		var optionAllCounties = document.createElement('option');
		optionAllCounties.setAttribute("value", "-1");
		optionAllCounties.setAttribute("selected", "selected");
		optionAllCounties.innerHTML = "All Counties";
		countiesDD.appendChild(optionAllCounties);

		for (var i = 0; i < counties.length; i++) {
			key = counties[i].getElementsByTagName("key")[0].firstChild.nodeValue;
			val = counties[i].getElementsByTagName("value")[0].firstChild.nodeValue;

			var option = document.createElement('option');
			option.setAttribute("value", key);
			option.innerHTML = val;

			countiesDD.appendChild(option);
		}
	}
}

function loadCurrentDate() {
	var currentTime = new Date();
	var month = currentTime.getMonth() + 1;
	var day = currentTime.getDate();
	var year = currentTime.getYear() + 1900;

	var dateString = ((month < 10) ? "0" + month : month) + "/" +
			 ((day < 10) ? "0" + day : day) + "/" +
			 year;

	document.getElementById('agate-date').setAttribute('value', dateString);

}

function performSearch() {
	var _d = document.getElementById('agate-date').value;
	var _c = getFromDropDown('agate-search','counties-select');
	var _s = getFromDropDown('agate-search','sports-select');

	var _url = "/agate/_search.cfm?d=" + escape(_d) + "&s=" + escape(_s) + "&c=" + escape(_c);

	if (_tpc_request != null) {
		_tpc_request.open('GET', _url, true);
		_tpc_request.onreadystatechange = parseSearchResults;
		_tpc_request.send(null);
	}
}

function removeElements(container) {
	try { 
		while (container.childNodes.length > 0) { 
			container.removeChild(container.childNodes[0]);
		}
			
		return true;
	} catch (error) {
		if (_tdbg) { alert(error); }
		return false;
	}
}

function parseSearchResults() {
	if (_tpc_request.readyState == 4) {
		
		var xmlDoc   = _tpc_request.responseXML;
		var agates   = xmlDoc.getElementsByTagName("prepagate-constants")[0].getElementsByTagName("Agate");
		
		var rd = document.getElementById('search-results');
		removeElements(rd);
		
		var _date    = '';
		var _team    = '';
		var _county  = '';
		var _sport   = '';
		var _results = '';
		var _venue   = '';
		
		if (agates.length == 0) {
			// No results were found
			
			var noResultsPara = document.createElement('p');
			noResultsPara.setAttribute('id', 'no-results-found');
			noResultsPara.innerHTML = "No results found.";			
			rd.appendChild(noResultsPara);
		} else {
				
			for (var i = 0; i < agates.length; i++) {
				
				try { _date = agates[i].getElementsByTagName('formattedDate')[0].firstChild.nodeValue; } catch (error) { _date = ''; }
				try { _team = agates[i].getElementsByTagName('hometeam')[0].firstChild.nodeValue; } catch (error) { _team = ''; }
				try { _county = agates[i].getElementsByTagName('countiesDisplayValue')[0].firstChild.nodeValue; } catch (error) { _county = ''; }
				try { _sport  = agates[i].getElementsByTagName('sportDisplayName')[0].firstChild.nodeValue; } catch (error) { _sport = ''; }
				try { _venue  = agates[i].getElementsByTagName('venue')[0].firstChild.nodeValue; } catch (error) { _venue = ''; }
				
				try {
					_results = agates[i].getElementsByTagName('results')[0].firstChild.nodeValue;
				} catch (error) { _results = ''; }

				var p = document.createElement('p');
				
				p.appendChild(createSpan("Date: ", _date));
				p.appendChild(document.createElement('br'));
				p.appendChild(createSpan("Home team: ", _team));
				p.appendChild(document.createElement('br'));
				p.appendChild(createSpan("County: ", _county));
				p.appendChild(document.createElement('br'));
				p.appendChild(createSpan("Sport: ", _sport));
				p.appendChild(document.createElement('br'));
			//	p.appendChild(createSpan("Venue: ", _venue));
			//	p.appendChild(document.createElement('br'));
				p.appendChild(createSpan("Results: ", _results));
				p.appendChild(document.createElement('br'));
				
				rd.appendChild(p);
			}
		}
	}
}

function createSpan(key, val) {
	var _span = document.createElement('span');
	var _key  = document.createElement('strong');
	_key.innerHTML = key;
	var _val = document.createElement('span');
	_val.innerHTML = val;
	
	_span.appendChild(_key);
	_span.appendChild(_val);
	
	return _span;
}

function getFromDropDown(f,e) {
	return document.forms[f].elements[e].options[document.forms[f].elements[e].selectedIndex].value;
}