var Search = {
	init: function() {
		// Set initial states.
		Search.sectorChanged();
		// Set up event listeners.
		Event.observe('id_sector', 'change', Search.sectorChanged);
	},

	sectorChanged: function() {
		var url = 'http://' + location.host + '/api/json/jobs/subsector/';
		var params = 'sector=' + $F('id_sector');
		var getSubsectors = new Ajax.Request(url,
			{method: 'get', parameters: params, onComplete: Search.changeSubsectors}
		);
	},

	changeSubsectors: function(request) {
		var subsectors = eval(request.responseText);
		var select = $('id_subsector');
		select.options.length = 1;
		if (subsectors.length) {
			select.disabled = false;
			for (var i = 0; i < subsectors.length; i++) {
				var option = document.createElement('option');
				option.setAttribute('value', subsectors[i].pk);
				option.innerHTML = subsectors[i].fields.name;
				select.appendChild(option);
			}
		}
		else {
			select.disabled = true;
		}
	}
}
Event.observe(window, 'load', Search.init);