

function LimitRange(){
	document.writeln('Auswahl eingrenzen: <input type="text" name="Radius" value="" onkeyup="LimitChoice();">');
}

function LimitChoice( ){
	// set RegExpRange
		var RegExR = new Array();
	// determine criteria
		for ( var i = 0 ; i < OPTIONS.length ; i++ ){
			var ACTVAL = document.Radius.elements[OPTIONS[i]].value;
			RegExR[i] = new RegExp(OPTIONS[i]+':'+ACTVAL,"i");
		}
	// set radius term
		RegExR[i] = new RegExp(document.Radius.Radius.value,"i");
	// benachmark length
		var MAX = RegExR.length;
	// detect actual range fields
		var range = document.getElementById(RANGE);
	// process range
		for( var j = 0 ; j < range.childNodes.length ; j++ ){
			var tmpi = 0;
			for( var k = 0 ; k < MAX ; k++ ){
				var rid = ( (MAX-k) == 1 ) ? range.childNodes[j].getAttribute('id') : range.childNodes[j].getAttribute('rel');
				if( RegExR[k].test(rid) ) tmpi++;
			}
			range.childNodes[j].style.display = ( tmpi == MAX ) ? "block" : "none";
		}
}

function RestructureFieldsets( RANGEEND ){
	// determine range end
		var RANGEEND = ( !isNaN(parseInt(RANGEEND)) ) ? RANGEEND : 0;
		var nav = '';
		var TMP = null;
	// process range
		for( var i = 1 ; i <= RANGEEND ; i++ ){
				var FieldsetID = 'Fieldset'+i;
				var FS = document.getElementById(FieldsetID);
				if( TMP == null ) TMP = FS;
				var Legend = FS.childNodes[0];
				var Titel = Legend.innerHTML;				
				var nav = nav+'<a href="#">'+Titel+'</a>';
				FS.style.display = ( i == 1 ) ? 'block' : 'none';
		}
	// add navigation
		var SectNav = document.createElement('div');
		SectNav.innerHTML = 'Ansicht verk&uuml;rzen: <select id="SectNav" onchange="DisplayDichotomous(\'Fieldset\',this.value,'+RANGEEND+');">'+nav+'</select><br/><br/>';
		TMP.parentNode.insertBefore(SectNav,TMP);
}


function DisplayDichotomous(PREFIX,INDEX,MAX,ALTERNATIVE){
	for (var i = 1 ; i <= MAX ; i++){
		var OID = PREFIX+i;
		document.getElementById(OID).style.display = ( i == INDEX ) ? 'block' : 'none';
		if( ALTERNATIVE != undefined ){
			var OID2 = ALTERNATIVE+i;
			document.getElementById(OID2).style.display = ( i == INDEX ) ? 'none' : 'block';
		}
	}
}
