
function createMenuSelectorDOM(cbo, id, cur_val) {
	var icpRubriken = parent.icpRubriken;
	var grp_label = '';
	for (i=0; i<icpRubriken.length; i++) {
		if (grp_label != icpRubriken[i][1]) {
			grp_label = icpRubriken[i][1];
			var optgroup = document.createElement('optgroup');
			cbo.appendChild(optgroup);
			optgroup.label = grp_label;
		}
		var option = document.createElement('option');
		optgroup.appendChild(option);
		option.value = icpRubriken[i][0];
		option.selected = false;
		if (cur_val == icpRubriken[i][0]) option.selected = true;
		option.appendChild(document.createTextNode(icpRubriken[i][0]+' '+icpRubriken[i][2]));
	}
}

function createMenuSelector(id, cur_value) {
	var icpRubriken = parent.icpRubriken;
	var html = '';
	var grp_label = '';
	for (i=0; i<icpRubriken.length; i++) {
		if (grp_label != icpRubriken[i][1]) {
			grp_label = icpRubriken[i][1];
			html += '<optgroup label="'+grp_label+'">';
		}
		var sel = '';
		if (cur_value == icpRubriken[i][0]) sel = ' selected="selected"';
		html += '<option value="'+icpRubriken[i][0]+'"'+sel+'>'+icpRubriken[i][0]+' '+icpRubriken[i][2]+'</option>';
	}
	if (grp_label != '') html += '</optgroup>';
	return html;
}

function closeRubrikSelector() {
	var obj = document.getElementById('icpadmin_selector_cbo');
	if (obj != null) obj.parentNode.removeChild(obj);
}

function chooseRubrik(id) {
	var cbo = document.getElementById('icpadmin_selector_cbo');
	if (cbo.selectedIndex > -1) {
		var new_text = cbo.options[cbo.selectedIndex].value;
		closeRubrikSelector();
		var txt = document.getElementById(id);
		txt.value = new_text;
		txt.focus();
	} else {
		alert('Gueltige Rubrik waehlen!');
	}
}

function findPos(obj) {
	var x = obj.offsetLeft;
	var y = obj.offsetTop;
	while ((obj = obj.offsetParent) != null) {
		x += obj.offsetLeft;
		y += obj.offsetTop;
	}
	return [x, y];
}

function showRubrikSelector(id) {
	var obj = document.getElementById(id);
	var cur_val = obj.value;
	if (cur_val.length < 4) cur_val = '0'+cur_val;
	var cbo = document.getElementById('icpadmin_selector_cbo');
	if (cbo != null) {
		closeRubrikSelector();
	} else {
		var cbo = document.createElement('select');
		cbo.id = 'icpadmin_selector_cbo';
		cbo.style.position = 'absolute';
		createMenuSelectorDOM(cbo, id, cur_val);
		var pos = findPos(obj);
		cbo.style.left = pos[0]+'px';
		cbo.style.top = (pos[1] + obj.offsetHeight)+'px';
		cbo.style.width = '240px';
		cbo.size = 25; // height in rows
		cbo.style.backgroundColor = '#ffffff';
		cbo.style.border = '1px solid #999999';
		cbo.style.padding = '0';
		cbo.style.fontFamily = 'Arial';
		cbo.style.fontSize = '9pt';
		cbo.onclick = function() { chooseRubrik(id); }
		cbo.onblur = function() { closeRubrikSelector(); }
		document.body.appendChild(cbo);
		cbo.focus();
	}
}

