function getState()
{
	for (var i = 0; i < document.forms.length; ++i) {
		if (document.forms[i].state && document.forms[i].state.value) {
			return document.forms[i].state.value.toLowerCase();
		}
	}
}

function setSearch(type)
{
	SetCookie('ISS_SEARCH', type, null, '/');

	// Search form
	hideShowLayer('quick', 'HIDE')
	hideShowLayer('keyword', 'HIDE')
	hideShowLayer('servfocus', 'HIDE')
	hideShowLayer('service', 'HIDE')
	hideShowLayer('provider', 'HIDE')
	hideShowLayer('health', 'HIDE')
	hideShowLayer('pracfocus', 'HIDE')

	hideShowLayer(type, 'SHOW');

	// Search bar
	hideShowLayer('quickSearch', 'HIDE')
	hideShowLayer('keywordSearch', 'HIDE')
	hideShowLayer('servfocusSearch', 'HIDE')
	hideShowLayer('serviceSearch', 'HIDE')
	hideShowLayer('providerSearch', 'HIDE')
	hideShowLayer('healthSearch', 'HIDE')
	hideShowLayer('pracfocusSearch', 'HIDE')

	hideShowLayer(type + 'Search', 'SHOW');

	// Hide all the help tips
	hideShowLayer('quick_tip', 'HIDE')
	hideShowLayer('keyword_tip', 'HIDE')
	hideShowLayer('servfocus_tip', 'HIDE')
	hideShowLayer('service_tip', 'HIDE')
	hideShowLayer('provider_tip', 'HIDE')
	hideShowLayer('practName_tip', 'HIDE')

	hideVacancy();
	hideShowOptions('HIDE');
}

function quickSearchOption()
{
	setSearch('quick');

	document.quickForm.rn.value = GetCookie('ISS_SUBURB');
	document.quickForm.text.focus();
}

function keywordSearchOption()
{
	setSearch('keyword');

	document.keywordForm.rn.value = GetCookie('ISS_SUBURB');
	setwidth("keyword_search", getwidth("keyword_list"));

	document.keywordForm.keyword_list.focus();
}

function servfocusSearchOption()
{
	setSearch('servfocus');

	document.servfocusForm.rn.value = GetCookie('ISS_SUBURB');

	// Reset options (e.g. when going 'back' in browser)
	var e = document.getElementById('ServFocus1');
	e.selectedIndex = 0;
	e.focus();
}

function serviceSearchOption()
{
	setSearch('service');

	document.service_input.rn.value = GetCookie('ISS_SUBURB');
	document.service_input.sname.focus();
}

function providerSearchOption()
{
	setSearch('provider');

	document.agency_input.rn.value = GetCookie('ISS_SUBURB');
	document.agency_input.agency.focus();
}

function healthSearchOption()
{
	setSearch('health');

	document.pract_search_form.rn.value = GetCookie('ISS_SUBURB');
	document.pract_search_form.agency.focus();
}

function pracfocusSearchOption()
{
	setSearch('pracfocus');

	document.practFocusForm.rn.value = GetCookie('ISS_SUBURB');

	// Reset options (e.g. when going 'back' in browser)
	var e = document.getElementById('PractFocus1');
	e.selectedIndex = 0;
	e.focus();
	document.getElementById('PractFocusGender').selectedIndex = 0;
	document.getElementById('PractFocusLanguage').selectedIndex = 0;
}

//////////////////////////////////////////////////////////////////////

function showSearchHelp()
{
	var search = GetCookie('ISS_SEARCH');

	if (search == 'quick') {
		spawnwindow('../help/quicksearch_help.htm');
	}
	else if (search == 'service') {
		spawnwindow('../help/service_name_help.htm');
	}
	else if (search == 'keyword') {
		spawnwindow('../help/keyword_help.htm');
	}
	else if (search == 'servfocus') {
		spawnwindow('../help/service_focus_help.htm');
	}
	else if (search == 'provider') {
		spawnwindow('../help/provider_help.htm');
	}
	else if (search == 'health') {
		spawnwindow('../help/prac_name_help.htm');
	}
	else if (search == 'pracfocus') {
		spawnwindow('../help/prac_focus_help.htm');
	}
}

//////////////////////////////////////////////////////////////////////
// When displaying these tips we need to hide the underlying
// select box because @$#!% IE /always/ displays a select box on
// top...
//
function hideShowServiceKeywordTip(doWhat)
{
	if (doWhat == 'SHOW')
	{
		hideShowField('keywordList','HIDE');
		hideShowTip('keyword_tip','SHOW');
	}
	else
	{
		hideShowField('keywordList','SHOW');
		hideShowTip('keyword_tip','HIDE');
	}
}

function hideShowServiceFocusTip(doWhat)
{
	
	if (doWhat == 'SHOW')
	{
		hideShowField('ServFocus1_Layer','HIDE')
		hideShowField('ServFocus2_Layer','HIDE')
		hideShowField('ServFocus3_Layer','HIDE')
		hideShowField('ServGender','HIDE')
		hideShowTip('servfocus_tip','SHOW')
	}
	else
	{
		hideShowField('ServFocus1_Layer','SHOW')
		hideShowField('ServFocus2_Layer','SHOW')
		hideShowField('ServFocus3_Layer','SHOW')
		hideShowField('ServGender','SHOW')
		hideShowTip('servfocus_tip','HIDE')
	}
}

function hideShowPractFocusTip(doWhat)
{
	
	if (doWhat == 'SHOW')
	{
		hideShowField('PractFocus1_Layer','HIDE')
		hideShowField('PractFocus2_Layer','HIDE')
		hideShowField('PractGender','HIDE')
		hideShowField('PractLanguage','HIDE')
		hideShowTip('practFocus_tip','SHOW')
	}
	else
	{
		hideShowField('PractFocus1_Layer','SHOW')
		hideShowField('PractFocus2_Layer','SHOW')
		hideShowField('PractGender','SHOW')
		hideShowField('PractLanguage','SHOW')
		hideShowTip('practFocus_tip','HIDE')
	}
}

//////////////////////////////////////////////////////////////////////
	
function hideVacancy()
{
	if(document.getElementById('VIC').style.display == 'none')
	{
		var divs = getElementsByClassName("vacancyLink", "div");
		for (var i = 0; i < divs.length; i++) {
			divs[i].style.display = 'none';
		}
		divs = getElementsByClassName("vacancyGroup", "td");
		for (var i = 0; i < divs.length; i++) {
			divs[i].style.border_right = '0px';
			divs[i].style.border_top = '0px';
		}
	}
	else
	{
		var divs = getElementsByClassName("vacancyLink", "div");
		for (var i = 0; i < divs.length; i++) {
			divs[i].style.display = 'block';
		}
	}
		
}

function hideShowOptions(hide)
{
	var shown = getElementsByClassName("searchOptions", "div");
	var hidden = getElementsByClassName("showOptions", "div");
	
	for (var i = 0; i < shown.length; i++) {
		if (shown[i].style.display == 'block' || hide == 'HIDE')
		{
			shown[i].style.display = 'none';
			hidden[i].style.display = 'block';
		}
		else
		{
			shown[i].style.display = 'block';
			hidden[i].style.display = 'none';
		}
	}
}

function setTargetGroup()
{
	var elems = getElementsByClassName('targetGroupOption', 'div', document.quickForm);
	for (var i = 0; i < elems.length; i++) {
		elems[i].style.display = 'block';
	}

	var elems = getElementsByClassName('targetGroupOption', 'div', document.keywordForm);
	for (var i = 0; i < elems.length; i++) {
		elems[i].style.display = 'block';
	}
}

function setStateHeading(state) {
	var e = document.getElementById('stateHeading');

	var array = e?[e]:document.getElementsByName('stateHeading');
	for (var i=0; i<array.length; i++){
		e = array[i];
		switch (state) {
		case 'ACT':
			e.innerHTML = 'Australian Capital Territory';
			break;
		case 'NSW':
			e.innerHTML = 'New South Wales';
			break;
		case 'NT':
			e.innerHTML = 'Northern Territory';
			break;
		case 'QLD':
			e.innerHTML = 'Queensland';
			break;
		case 'SA':
			e.innerHTML = 'South Australia';
			break;
		case 'TAS':
			e.innerHTML = 'Tasmania';
			break;
		case 'VIC':
			e.innerHTML = 'Victoria';
			break;
		case 'WA':
			e.innerHTML = 'Western Australia';
			break;
		}
	}
}

//
// Change to a particular state
//
function setState(state, leaveSuburb, modlist)
{
	state = state.toUpperCase();
	this.modlist = modlist || this.modlist;
	modlist = this.modlist;

	if (!leaveSuburb) {
		// Set suburb to blank
		changeAllSuburbs('');
		SetCookie('ISS_SUBURB', '');
	}

	var states = ["ACT","NSW","NT","QLD","SA","TAS","VIC","WA"];
	
	//
	// Display appropriate state banner
	//
	for(var i=0; i<states.length;i++){
		hideShowLayer(states[i], 'HIDE');
	}

	hideShowStates(state, 'SHOW');
	setStateHeading(state);
	
	if (modlist) {
		for (var j=0; j<modlist.length; j++){
			for (var i=0; i<states.length;i++) {
				hideShowLayer(states[i]+modlist[j], 'HIDE');
			}
			hideShowLayer(state+modlist[j], 'SHOW', "inline");
		}
	}
	else {
		hideVacancy();
	}

	//
	// Save our chosen State
	//
	var one_year = new Date();
	one_year.setDate(one_year.getDate() + 365);
	SetCookie('ISS_STATE', state, one_year);

	//
	// Record our chosen state in all forms
	//
	for (var i = 0; i < document.forms.length; ++i) {
		if (document.forms[i].state) {
			document.forms[i].state.value = state;
		}
	}
}
