// 26-07-2007 - AL - created this function to get all the states for each country using AJAX
// requires country and state select boxes. example in signup.php

function requestStates(countryField, stateField, institutionField) {
	var countryField = countryField;
	var stateField = stateField;
	var institutionField = institutionField;
	var s = document.getElementById(countryField);
	var m = s.options[s.options.selectedIndex].value;
	var url = '../include/get_states.php?country_id=' + m + '&countryField=' + countryField + '&stateField=' + stateField + '&institutionField=' + institutionField;
		
		if (m == '227' || m == '226' || m == '39' || m == '14') {
			document.getElementById(stateField + "_row").style.visibility = 'visible'; 
			document.getElementById(stateField + "_row").style.position = 'relative'; 
		}
		else { 
			document.getElementById(stateField + "_row").style.visibility = 'hidden'; 
			document.getElementById(stateField + "_row").style.position = 'absolute';
		}
		
		var httpRequest;
	
		if (window.XMLHttpRequest) { // Mozilla, Safari, ...
			httpRequest = new XMLHttpRequest();
			if (httpRequest.overrideMimeType) {
				httpRequest.overrideMimeType('text/xml');
				// See note below about this line
			}
		} 
		else if (window.ActiveXObject) { // IE
			try {
				httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
				} 
				catch (e) {
						   try {
								httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
							   } 
							 catch (e) {}
						  }
		}
	
		if (!httpRequest) {
			alert('Giving up :( Cannot create an XMLHTTP instance');
			return false;
		}
		httpRequest.onreadystatechange = function() { alertStates(httpRequest, stateField); };
		httpRequest.open('GET', url, true);
		httpRequest.send(null);

}

function alertStates(httpRequest, stateField) {

	if (httpRequest.readyState == 4) {
		if (httpRequest.status == 200) {
			document.getElementById(stateField + '_select').innerHTML = httpRequest.responseText;
			document.getElementById(stateField + '_ajax_loader').style.display = 'none';
		} else {
			alert('There was a problem with the request.');
		}
	}

}
