var StateFieldUpdateRequest = new Class({

	initialize : function (queryValue) {
		this.queryValue = queryValue;
		this.ajax = null;
	},

	send : function () {
		this.prepare();
		new Ajax('/data/regions.php?countryCode='+this.queryValue, {
			method: 'get',
			onComplete: this.receive
		}).request();
	},
	
	prepare : function () {
		$('stateLoading').setStyle('display', 'inline');
		$('stateText').setStyle('display', 'none').disabled = true;
		$('stateSelect').setStyle('display', 'none').disabled = true;
	},

	receive : function (response) {
		$('stateLoading').setStyle('display', 'none');
		var stateText = $('stateText');
		var stateSelect = $('stateSelect');
		var regionList = Json.evaluate(response, true);
		if (! regionList.length) { 
			stateText.setStyle('display', 'inline').disabled = false;
			return; 
		}
		regionList.unshift({id:'',code:'',name:'--'});
		stateSelect.setHTML('');
		regionList.each(function (region) {
			var newOption = new Element('option', {
				value : region.code
			});
			newOption.setHTML(region.name);
			this.appendChild(newOption);
		}.bind(stateSelect));
		stateSelect.value = stateText.getValue();
		stateText.value = ''
		stateSelect.setStyle('display', 'inline').disabled = false;

	}

});
