// SuperRegion
function fetchSuperRegions() {
	Service.getSuperRegions(createSuperRegions);
}

function createSuperRegions(data) {
	var sel = DWRUtil.getValue('superRegionId');
	DWRUtil.removeAllOptions('superRegionId');
	DWRUtil.addOptions('superRegionId', data, 'id', 'name');
	DWRUtil.setValue('superRegionId', sel);
}

function fetchCandSearchSuperRegions() {
	Service.getSuperRegions(createCsSuperRegions);
}

function createCsSuperRegions(data) {
	DWRUtil.removeAllOptions('cs_superRegionId');
	DWRUtil.addOptions('cs_superRegionId', data, 'id', 'name');
}

// Region
function updateRegionIds() {
	Service.getAllRegions(createRegionIds, $('superRegionId').value);
}

function updateRegions() {
	Service.getAllRegions(createRegions, $('superRegionId').value);
}

function updateRegionAndPreferredLocations() {
	Service.getRegions(createRegionsPleaseSelect, $('superRegionId').value);
	Service.getAllRegions(createPreferredLocations, $('superRegionId').value);
}

function createRegionIds(data) {
	DWRUtil.removeAllOptions('regionIds');
	DWRUtil.addOptions('regionIds', data, 'id', 'name');
	DWRUtil.setValue('regionIds', data[0].id, data[0].name);
}

function createRegions(data) {
	DWRUtil.removeAllOptions('regionId');
	DWRUtil.addOptions('regionId', data, 'id', 'name');
	DWRUtil.setValue('regionId', data[0].id, data[0].name);
}

function createRegionsPleaseSelect(data) {
	DWRUtil.removeAllOptions('regionId');
	DWRUtil.addOptions('regionId', [{id:'', name:'Please select'}], 'id', 'name');
	DWRUtil.addOptions('regionId', data, 'id', 'name');
}

function createPreferredLocations(data) {
	DWRUtil.removeAllOptions('preferredLocations');
	DWRUtil.addOptions('preferredLocations', data, 'id', 'name');
	DWRUtil.setValue('preferredLocations', data[0].id, data[0].name);
}

// Salary- / Raterange items
function updateRate() {
	Service.getRateRangeItems(createItems)
}

function updateSalary(hourly) {
	Service.getSalaryRangeItems(createItems);
}

function createItems(data) {
	DWRUtil.removeAllOptions('minSalary');
	DWRUtil.addOptions('minSalary', data, 'value', 'name');
	DWRUtil.removeAllOptions('maxSalary');
	DWRUtil.addOptions('maxSalary', data, 'value', 'name');
}

// --- sector checkboxes for
function anySectorClicked() {
	for (var i = 0; i < document.forms['skillSearchForm'].sectorIds.length; i++) {
		if (document.forms['skillSearchForm'].sectorIds[i].value != 0) {
			document.forms['skillSearchForm'].sectorIds[i].checked = false;
		} else {
			document.forms['skillSearchForm'].sectorIds[i].checked = true;
		}
	}
}

function specSectorClicked() {
	for (var i = 0; i < document.forms['skillSearchForm'].sectorIds.length; i++) {
		if (document.forms['skillSearchForm'].sectorIds[i].value == 0)
			document.forms['skillSearchForm'].sectorIds[i].checked = false;
	}
}
// --- end

// --- help pages
function openJobSearchHelp() {
	window.open('/static/cjs-help.htm', 'help', 'width=530,height=280,scrollbars=0');
}

function openJobSearchHelp2() {
	window.open('/static/ujs-jobsearch-help.htm', 'help', 'width=530,height=320,scrollbars=0');
}

function openSkillSearchHelp() {
	window.open('/static/skillSearch-help.htm', 'help', 'width=530,height=260,scrollbars=0');
}
// --- end

function addBookmark(title, url) {
	if (window.sidebar) {
		window.sidebar.addPanel(title, url, "");
	}
	else if (document.all) {
		window.external.AddFavorite(url, title);
	}
	else if (window.opera && window.print) {
		return true;
	}
}
