//Remote URL / Data Retrieval
function fetchData(url, dataToSend, objectID) {

	var pageRequest = false;
	
	if (window.ActiveXObject) pageRequest = new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) pageRequest = new XMLHttpRequest();
	else return false;
	
	pageRequest.onreadystatechange = function() {
		//var object = document.getElementById(objectID);
		//object.innerHTML = pageRequest.responseText;
		filterData(pageRequest, objectID);
	}
	
	if (dataToSend) {
		//alert('sending data...' + dataToSend);
		var sendData = 'sendData=' + dataToSend;
		pageRequest.open('POST',url,true);
		pageRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		pageRequest.send(sendData);
	}
	else {
		//alert('requesting data...')
		pageRequest.open('GET',url,true);
		pageRequest.send(null);
	}
}

function fetchFormData(url, formField, dataToSend, objectID) {

	var pageRequest = false;
	
	if (window.ActiveXObject) pageRequest = new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) pageRequest = new XMLHttpRequest();
	else return false;
	
	pageRequest.onreadystatechange = function() {
		//var object = document.getElementById(objectID);
		//object.innerHTML = pageRequest.responseText;
		//alert(document.signupinfo.country.type);
		filterFormSelect(pageRequest,objectID);
		//if (document.signupinfo.objectID.type == 'select-one') filterFormSelect(pageRequest,objectID);
		//else filterData(pageRequest, objectID);
	}
	
	if (dataToSend) {
		//alert('sending data...' + dataToSend);
		var sendData = formField + '=' + dataToSend;
		pageRequest.open('POST',url,true);
		pageRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		pageRequest.send(sendData);
	}
	else {
		//alert('requesting data...')
		pageRequest.open('GET',url,true);
		pageRequest.send(null);
	}
}


function filterData(pageRequest, objectID) {
		var object = document.getElementById(objectID);
//		if (pageRequest.readyState == 0) object.innerHTML += '<h3>Fetching Data...</h3>';
//		if (pageRequest.readyState == 1) object.innerHTML += '<h3>Loading Data...</h3>';
//		if (pageRequest.readyState == 2) object.innerHTML += '<h3>Data Loaded...</h3>';
//		if (pageRequest.readyState == 3) object.innerHTML += '<h3>Data Ready...</h3>';
		if (pageRequest.readyState == 4) {
			if (pageRequest.status == 200) object.innerHTML = pageRequest.responseText;
		    else if (pageRequest.status == 404) object.innerHTML += '404: Sorry, that information is currently unavailable.';
			else object.innerHTML += 'Sorry, there seem to be some kind of problem.'
		}
}

function filterFormSelect(pageRequest, objectID) {
		var object = document.getElementById(objectID);
//		if (pageRequest.readyState == 0) object.innerHTML += '<h3>Fetching Data...</h3>';
//		if (pageRequest.readyState == 1) object.innerHTML += '<h3>Loading Data...</h3>';
//		if (pageRequest.readyState == 2) object.innerHTML += '<h3>Data Loaded...</h3>';
//		if (pageRequest.readyState == 3) object.innerHTML += '<h3>Data Ready...</h3>';
		if (pageRequest.readyState == 4) {
			if (pageRequest.status == 200 || window.location.href.indexOf("http") == -1) {
				object.options.length = 0;
				if (pageRequest.responseText != '') {
					var arrSelectData = pageRequest.responseText.split(',');
					var arrOptionData = null;
					var strLabel = '';
					var strValue = '';
					for (i = 0; i < arrSelectData.length; i++ ) {	
						if (arrSelectData[i] != '') {
							arrOptionData = arrSelectData[i].split('%%');
							if (arrOptionData[1] != '') object.options[object.options.length] = new Option(arrOptionData[1],arrOptionData[0]);
							//else object.options[object.options.length] = new Option(arrOptionData[1],arrOptionData[0]);
						}
					}
				}
				//object.innerHTML = pageRequest.responseText;
		}
		    else if (pageRequest.status == 404) object.options[object.options.length] = new Option('404 Error','No Data Page');
			else  object.options[object.options.length] = new Option('500 Error','There was an error.');
		}
}

function chooseCountry(requestedData, formData, objectID) {
	fetchFormData('/formPage.asp',requestedData, formData, objectID);	
}
