function show_element (id) {
	if (document.getElementById(id).style.visibility == 'visible') {
		document.getElementById(id).style.visibility = 'hidden';
	} else {
		document.getElementById(id).style.visibility = 'visible';
	}
	
	if (id != 'subject_search_sheet') {
		document.getElementById('subject_search_sheet').style.visibility = "hidden";
	}
	
	if (id != 'council_search_sheet') {
		document.getElementById('council_search_sheet').style.visibility = "hidden";
	}
	
	if (id != 'material_search_sheet') {
		document.getElementById('material_search_sheet').style.visibility = "hidden";
	}
	
	if (id != 'free_search_sheet') {
		document.getElementById('free_search_sheet').style.visibility = "hidden";
	}
	return;
}

function hide_element (id) {
	document.getElementById(id).style.visibility = 'hidden';
	return;
}

function select_subject (subject) {
	document.getElementById('menu_subject').value = subject;
	hide_element ('subject_search_sheet');
	return;
}

function submit_materials () {
	var output = "";
	
	var selected_materials = new Array();
	var i = 0;
	
	if (window.material_search_frame.document.material_search_form.arkivalier.checked) {
		output = ' ELLER "Arkivalier"';
		
		selected_materials[i] = "arkivalier";
		i++;
	}
	
	if (window.material_search_frame.document.material_search_form.aviserogudklip.checked) {
		output += ' ELLER "Aviser og udklip"';
		
		selected_materials[i] = "aviserogudklip";
		i++;
	}
	
	if (window.material_search_frame.document.material_search_form.kortogtegninger.checked) {
		output += ' ELLER "Kort og tegninger"';
		
		selected_materials[i] = "kortogtegninger";
		i++;
	}
	
	if (window.material_search_frame.document.material_search_form.boegerogartikler.checked) {
		output += ' ELLER "Bøger, artikler og andet"';
		
		selected_materials[i] = "boegerogartikler";
		i++;
	}
	
	if (window.material_search_frame.document.material_search_form.billeder.checked) {
		output += ' ELLER "Billeder"';
		
		selected_materials[i] = "billeder";
		i++;
	}
	
	if (window.material_search_frame.document.material_search_form.lydogfilm.checked) {
		output += ' ELLER "Lyd og film"';
		
		selected_materials[i] = "lydogfilm";
		i++;
	}
	
/*	if (window.material_search_frame.document.material_search_form.genstande.checked) {
		output += ' ELLER "Genstande"';
		
		selected_materials[i] = "genstande";
		i++;
	}
*/
	output = output.substring(7,output.length);
	
	var el = document.getElementById('materialtype');
	
	document.search_form.materialtype.value = output;

	
	document.search_form.material_search.value = serialize(selected_materials);
	
	hide_element ('material_search_sheet');
	return;
}

function submit_free () {
	var output = "";
	
	if (window.free_search_frame.document.free_search_form.titel.checked) {
		output = window.free_search_frame.document.free_search_form.titel.value + ', ';
	}
	
	if (window.free_search_frame.document.free_search_form.skaber.checked) {
		output += window.free_search_frame.document.free_search_form.skaber.value + ', ';
	}
	
	if (window.free_search_frame.document.free_search_form.emne.checked) {
		output += window.free_search_frame.document.free_search_form.emne.value + ', ';
	}
	
	if (window.free_search_frame.document.free_search_form.beskrivelse.checked) {
		output += window.free_search_frame.document.free_search_form.beskrivelse.value + ', ';
	}
	
	if (window.free_search_frame.document.free_search_form.identifikator.checked) {
		output += window.free_search_frame.document.free_search_form.identifikator.value + ', ';
	}
	
	if (window.free_search_frame.document.free_search_form.relationer.checked) {
		output += window.free_search_frame.document.free_search_form.relationer.value + ', ';
	}
	
	if (window.free_search_frame.document.free_search_form.sted.checked) {
		output += window.free_search_frame.document.free_search_form.sted.value + ', ';
	}
	
	output = output.substring(0,output.length-2);
	document.search_form.free_search_values.value = output;
	hide_element ('free_search_sheet');
	return;
}

function change_td_color_out (id, oldcolor) {
	if (oldcolor == '1') oldcolor = color_alternative;
	else oldcolor = color_content;
	
	document.getElementById('td1'+id).style.backgroundColor = oldcolor;
	document.getElementById('td1'+id).style.border = "1px solid " + color_content;
	
	document.getElementById('td2'+id).style.border = "1px solid " + color_content;
	
	document.getElementById('td3'+id).style.backgroundColor = oldcolor;
	document.getElementById('td3'+id).style.border = "1px solid " + color_content;
}

function change_td_color_in (id) {
	document.getElementById('td1'+id).style.backgroundColor = color_hover;
	document.getElementById('td1'+id).style.borderLeft = "1px solid " + color_border;
	document.getElementById('td1'+id).style.borderTop = "1px solid " + color_border;
	document.getElementById('td1'+id).style.borderBottom = "1px solid " + color_border;
	
	document.getElementById('td2'+id).style.borderTop = "1px solid " + color_border;
	document.getElementById('td2'+id).style.borderBottom = "1px solid " + color_border;
	
	document.getElementById('td3'+id).style.backgroundColor = color_hover;
	document.getElementById('td3'+id).style.borderTop = "1px solid " + color_border;
	document.getElementById('td3'+id).style.borderRight = "1px solid " + color_border;
	document.getElementById('td3'+id).style.borderBottom = "1px solid " + color_border;
}

var names = new Array();
function select_place (name) {
	var new_names = new Array();
	var tmp = new Array();
	var out = "";
	
	if (name == "reset") {
		document.search_form.place.value = "";
		names = new Array();
	} else {
		names_tmp = new Array(name);
		names = names_tmp.concat(names);
		
		for (x=0; x<names.length; x++) {
			new_names[names[x]] = names[x];
		}
				
		for(var value in new_names) {
			out = out + ' ELLER ' + '"' + new_names[value] + '"';
		}
		out = out.substring(7,out.length);
		document.search_form.place.value = out;
	}
}

function show_help (id) {
	if (document.getElementById(id).style.visibility == 'visible') {
		document.getElementById(id).style.visibility = 'hidden';
	} else {
		document.getElementById('help_free_search1').style.visibility = 'hidden';
		document.getElementById('help_free_search2').style.visibility = 'hidden';
		document.getElementById('help_free_search3').style.visibility = 'hidden';
		document.getElementById('help_free_search4').style.visibility = 'hidden';
		document.getElementById('help_free_search5').style.visibility = 'hidden';
		document.getElementById(id).style.visibility = 'visible';
	}
}

function submit_subject_values () {
	var output = "";
	
	var current_selected = new Array();
	for (var key in subjects) {
		for (var key2 in subjects[key]) {
			var cur_subject = document.subject_words_form.elements['subject[' + subjects[key][key2] + ']'];
			
			if (cur_subject.checked) {
				output = output + ' ELLER "' + cur_subject.value + '"';
				
				current_selected[subjects[key][key2]] = "true";
			}
		}
	}
	
	output = output.substring(7,output.length);
	window.parent.document.search_form.subject_search.value = serialize(current_selected);
	window.parent.document.search_form.subject.value = output;
	window.parent.show_element("subject_search_sheet");
}

function serialize (arr) {
	if ( typeof(arr.each) != "function" ) {
	  return serializeOld( arr );
	}
	var string = "";

	var counter = 0;
	arr.each( function( i ) {
		if ( i.length > 0 ) string += counter + ":" + i + ";";
		counter++;
	});
	string = string.substring(0,string.length-1);
	
	return string;
}

function serializeOld (array) {
	var string = "";
	for (var key in array) {
		if (array[key].length > 0) string += key + ":" + array[key] + ";";
	}
	string = string.substring(0,string.length-1);
	return string;
}


function unserialize (str) {
	
	if (str != "none") {
		var new_array = new Array();
		
		var array = str.split(';');
		for (var key in array) {
			tmp_array = array[key].split(':');
			new_array[tmp_array[0]] = tmp_array[1];
		}
		return new_array;
	} else {
		return;
	}
}

function check_all(elementId) {
	if (document.getElementById('subject_' + elementId + "_all").checked == true) {
		
		for(var i=0; i<subjects[elementId].length; i++) {
			document.subject_words_form.elements['subject[' + subjects[elementId][i] + ']'].checked = true;
		}
	} else {

		for(var i=0; i<subjects[elementId].length; i++) {
			document.subject_words_form.elements['subject[' + subjects[elementId][i] + ']'].checked = false;
		}
	}
}

function in_array(needle, haystack) {
	for (var i in haystack) {
		if (heystack[i] == needle) return true;
	}
	
	return false;
}



