function gui_filter_blok_toggle (id) {
	var item = document.getElementById('filter_' + id);
	
	item.value = item.checked?1:0;
	if (item.checked) {
		gui_filter_update_summary(id);
		gui_filter_blok_maximize(id);
	} else {
		gui_filter_update_summary(id);	
		gui_filter_blok_minimize(id);
	}
}

function gui_filter_blok_semitoggle (id) {
	if (document.getElementById('filter_expanded_' + id).value == 1) {
		gui_filter_blok_minimize(id);
	} else {
		gui_filter_blok_maximize(id);
	}
}

function gui_filter_blok_maximize(id) {
	document.getElementById(id + '_groot').style.display = 'block';
	document.getElementById('filter_expanded_' + id).value = 1;
	document.getElementById(id + '_toggle').innerHTML = "&minus;";
}

function gui_filter_blok_minimize(id) {
	document.getElementById(id + '_groot').style.display = 'none';
	document.getElementById('filter_expanded_' + id).value = 0;
	document.getElementById(id + '_toggle').innerHTML = "+";
}

gui_filter_options = new Array();
gui_filter_objects = new Array();
function gui_filter_add_option(id, index, object, jsid) {
	if(gui_filter_options[id] == null) {
		gui_filter_options[id] = new Array();
		gui_filter_objects[id] = new Array();
	}
	
	gui_filter_options[id][index] = object;
	gui_filter_objects[id][index] = document.getElementById(jsid);	
}

function gui_filter_update_summary(id) {
	var html = '';
	var all = true;
	var none = true;
	var state = document.getElementById('filter_' + id).checked;

	for(index in gui_filter_options[id]) {		
		gui_filter_objects[id][index].disabled = !state;
		
		if(gui_filter_options[id][index].selected) {
			none = false;

			if(html != '') {
				html += ', ';
			}

			html += gui_filter_options[id][index].summary;
		} else {
			all = false;
		}
	}

//	if(all) {
//		html = 'alle';
//	} else if(none) {
	if (! document.getElementById('filter_' + id).checked) {
		html = 'alle (filter niet actief)';
	} if (none) {
		html = 'geen';
	}
	

	document.getElementById(id + '_sum').innerHTML = html;
}

function gui_filter_toggle(id, index, input) {
	gui_filter_options[id][index].selected = input.checked;

	gui_filter_update_summary(id);
}

function gui_filter_toggle_checkbox(filter_id, element_id, index) {
	var checkbox = document.getElementById(element_id)
	checkbox.checked = !checkbox.checked;
	gui_filter_toggle (filter_id, index, checkbox);
}


// Functie die een selectbox kopieert en opmaakt.
var uniqueid = 1685;
var box_counter = new Array();

function add_select_box(id) {
	uniqueid++;
	
	if(box_counter[id] == null) {
		box_counter[id] = [uniqueid];
		
		teejer = document.getElementById('add_selectbox_' + id);
	} else {
		var lastid = box_counter[id][box_counter[id].length - 1];
		box_counter[id][box_counter[id].length] = uniqueid;
		
		teejer = document.getElementById('add_selectbox_' + id + '_' + lastid);
	}

	var metadata_ids_select = document.getElementById('metadata_ids['+ id + ']');
	
	var code = '<select name="metadata_ids['+ id +']['+ uniqueid +']" id="metadata_ids['+ id +']['+ uniqueid +']" class="select_box">';
	for(i = 0; i < metadata_ids_select.length; i++) {
		code += '<option label="' + metadata_ids_select.options[i].text + '" value="' + metadata_ids_select.options[i].value + '">' + metadata_ids_select.options[i].text + '</option>';
	}
	code += '</select>';
	code += '<br /><div id="add_selectbox_' + id + '_' + uniqueid + '"></div>';
	
	teejer.innerHTML += code;
}

function add_input_box(id) {
	uniqueid++;
	
	if(box_counter[id] == null) {
		box_counter[id] = [uniqueid];
		
		teejer = document.getElementById('add_inputbox_' + id);
	} else {
		var lastid = box_counter[id][box_counter[id].length - 1];
		box_counter[id][box_counter[id].length] = uniqueid;
		
		teejer = document.getElementById('add_inputbox_' + id + '_' + lastid);
	}
	
	var code = '<input type="text" name="metadata_str['+ id +']['+ uniqueid +']" id="metadata_str['+ id +']['+ uniqueid +']" style="width: 480px" />';
	code += '<br /><div id="add_inputbox_' + id + '_' + uniqueid + '"></div>';
	
	teejer.innerHTML += code;
}

executeCheckHeight = function(height) {
	var children = document.getElementsByTagName('div');
	
	for(var i = 0; i < children.length; i++) {
		var child = children[i];
		
		if(child.className == 'layout_lijst_body' || child.className == 'scrollbox') {
			var elementHeight = $(child).getSize().y;
			
			if(elementHeight > height) {
				child.style.overflowX = 'hidden';
				child.style.overflowY = 'auto';
				child.style.height = height + 'px';
			}
		}
	}
}

queueCheckHeight = function(minheight, timeout) {
	var h=0;
	h=screen.height-(768-minheight);
	if (h<minheight) 
	{	h=minheight
	}
//alert(minheight + "---" +h);
	var checkFunction = new Function('executeCheckHeight(' + h + ')');
	
	if(timeout == null) {
		Event.observe(self, 'load', checkFunction, false);
	} else {
		setTimeout(checkFunction, 0);
	}
}

var metadata_counter = $A([]);
var metadata_block_counter;

function add_input(id) {
	if( !$chk(metadata_counter[id]) ){
		metadata_counter[id] = 0;
	}
	var count = metadata_counter[id]++;
	
	var html = unescape($('metadata_prototype_' + id).get('html')).replace(/{index}/g, count);
	html += '<div id="metadata_target_' + id + '_' + (count + 1) + '"></div>';
	
	$('metadata_target_' + id + '_' + count).set('html', html );
}

function add_block_input(id, parent) {
	if( !$chk(metadata_counter[id]) ){
		metadata_counter[id] = $A([]);
	}
	if( !$chk(metadata_counter[id][parent]) ) {
		metadata_counter[id][parent] = 1;
	}
	var count = metadata_counter[id][parent]++;

	var html = unescape($('metadata_prototype_' + id + '_' + parent).get('html')).replace(/{index}/g, count);
	html += '<div id="metadata_target_' + id + '_' + parent + '_' + (count + 1) + '"></div>';
		
	$('metadata_target_' + id + '_' + parent + '_' + count).set('html', html );
}


function add_block(id) {
	var count = metadata_block_counter++;
	var group = $('metadata_block_prototype_group_' + id);

	var prototypes = group.getElements('.block_prototype');

	var table = $('metadata_table');
	var tbody = table.getElement('tbody');

	for(var i = 0; i < prototypes.length; i++) {
	
		var keynameHTML = unescape( prototypes[i].getElement('.keyname').get('html') );

		var inputHTML = unescape( prototypes[i].getElement('.input').get('html') ).replace(/{parent}/g, count-1).replace(/%7bparent%7d/gi, count);


		var tr = new Element('tr');
		
		var td = new Element('td', {'class': 'keyname', 'html': keynameHTML }).inject(tr);
				
		var td = new Element('td', { 'class': 'input',  'html': inputHTML }).inject(tr);
		
		var td = new Element('td', { 'class': 'plus', 'html': '&nbsp;' });
		
		$(td).inject(tr);
		/*
		var scripts = tr.innerHTML.extractScripts();
		
		for(var j = 0; j < scripts.length; j++) {
			dom_eval(scripts[j]);
		}*/
		
		$(tr).inject( tbody );
		
//		tbody.appendChild(tr);
	}
}
