function toggleCheckboxDependencies(checkboxObj) {
	for (i = 1; i < arguments.length; i++) {
		element = document.getElementById(arguments[i]);
		element.disabled = !element.disabled;
    }
}

function disableFields(flag) {
	for(i = 0; i < arguments.length; i++) {
		element = document.getElementById(arguments[i]);
		element.disabled = flag;
	}
}

/* 
 * Submits searchform to page action. This is used on tabs and links that
 * change searchform mode from basic to extended and back.
 */ 
function submitSearchform(action) {
	//the fact that searchform has field area_selection_mode that has value 'list'
	//indicates that we are submitting in order to change area selection mode. In that case 
	//we must remove map selection parameters.
	if(document.searchform.area_selection_mode && 
	   document.searchform.area_selection_mode.value == 'list') {
		if(document.getElementById('location_start_x')) {
			document.getElementById('location_start_x').value='';
		}
		if(document.getElementById('location_start_y')) {
			document.getElementById('location_start_y').value='';
		}
		if(document.getElementById('location_end_x')) {
			document.getElementById('location_end_x').value='';
		}
		if(document.getElementById('location_end_y')) {
			document.getElementById('location_end_y').value='';
		}
	}
	//Just in case someone has changed target of the form (counter)
	document.forms['searchform'].target = '_self';	
	document.forms['searchform'].action = action;
	document.forms['searchform'].submit();	
}

/*
 * Show success message
 */
function showSuccess() {
	var element;
	element = document.getElementById('success');
	if(element) {
		if(element.style.visibility) {
			element.style['visibility'] = 'visible';
		}
	}
}

/*
 * Hide success message
 */
function hideSuccess() {
	var element;
	element = document.getElementById('success');
	if(element) {
		if(element.style['display'] != 'none') {
			element.style['display'] = 'none';
		}
	}
}

/*
 * Show save modifications message
 */
function showSaveModifications() {
	/* piilotetaan success viesti piiloon, jos sellainen on */
	hideSuccess();		
		
	/* ja korvataan tila tallenna muutokset viestillä */
	var element;
	element = document.getElementById('saveModifications');
	if(element) {
		if(element.style['display'] == 'none') {
			element.style['display'] = 'inline';
		}
	}
}

/*
 * Hides failure message
 */
function hideFailure() {
	var element;
	if(document.getElementById) {
		element = document.getElementById('failure');
		if(element) {
			if(element.style) {
				element.style['visibility'] = 'hidden';
			}
		}
	}
}

/*
 * Aluekohtaisen näyteikkunan scriptit.
 * Käyttö hakusivulla.
 */
function tarkastaPostcode(selattu) {
  if ( window.a ) {
    tarkastaPostcodeO(selattu);
  }
}
function selaavalinnat() {
  if ( window.a ) {
    selaavalinnatO();
  }
}
