















function updateOrtsSubtypListe(level) {
	var ortssubtypliste = $("#ort\\.ortsSubtyp");
    ortssubtypliste.empty();
    $("<option/>").val('').text('Alle').appendTo(ortssubtypliste);
    if (level < 1) {
      	$("<option/>").val('BUNDESLAND').text('Bundesland').appendTo(ortssubtypliste);
       	$("<option/>").val('REGIERUNGSBEZIRK').text('Regierungsbezirk').appendTo(ortssubtypliste);
   	}
	
	if (level < 2) {
		$("<option/>").val('REGION').text('Region').appendTo(ortssubtypliste);
	}

        if (level < 3) {
           	$("<option/>").val('KREIS').text('Kreis').appendTo(ortssubtypliste);
        }
        $("<option/>").val('GEMEINDE').text('Gemeinde').appendTo(ortssubtypliste);
        $("<option/>").val('TEILORT').text('Ortsteil – Historisches Ortslexikon').appendTo(ortssubtypliste);
}

$(document).ready(function() {

    	
        $("#ort\\.ortsSubtyp").removeAttr("disabled");

        
        
        $("#ort\\.verwaltungshierarchie\\[0\\]").change(function(evtObj){
            var str = $(evtObj.target).val();
            $("#ort\\.ortsSubtyp").removeAttr("disabled");
            if(str=='') {
                for(var j= 1;j<4;j++) {
                    $("#verwaltungshierarchie\\[" + j + "\\]").hide();
                    $("#ort\\.verwaltungshierarchie\\[" + j + "\\]").empty();
                }
            }
            else {
            	var skipRegion = false;
            	

                $.get('/leo-services/search/verwaltungshierarchie/' + str + '/0/', {skipRegion: skipRegion}, function(data){
                    var verwList = eval(data);
                    $("#ort\\.verwaltungshierarchie\\[1\\]").empty();
                    for(var j= 2;j<4;j++) {
                        $("#verwaltungshierarchie\\[" + j + "\\]").hide();
                        $("#ort\\.verwaltungshierarchie\\[" + j + "\\]").empty();
                    }
                    $("<option/>").val('').text('---').appendTo("#ort\\.verwaltungshierarchie\\[1\\]");
                    
	                    $("<option/>").val('-1').text('Alle Landkreise des Reg.-Bez.').appendTo("#ort\\.verwaltungshierarchie\\[1\\]");
                    
                    for(var i in verwList) {
                        $("<option/>").val(verwList[i].value).text(verwList[i].label).appendTo("#ort\\.verwaltungshierarchie\\[1\\]");
                    }
                    $("#verwaltungshierarchie\\[1\\]").show();
                });
            }
            
            var level = ($(evtObj.target).attr("id")).match(/[0-9]/).toString();
            if (str != '') {
	            level ++;
            }
            updateOrtsSubtypListe(level);
        });
        
        $("#ort\\.verwaltungshierarchie\\[1\\]").change(function(evtObj){
            var str = $(evtObj.target).val();
            $("#ort\\.ortsSubtyp").removeAttr("disabled");
            if(str=='') {
                for(var j= 2;j<4;j++) {
                    $("#verwaltungshierarchie\\[" + j + "\\]").hide();
                    $("#ort\\.verwaltungshierarchie\\[" + j + "\\]").empty();
                }
            }
            else {
            	var skipRegion = false;
            	
            	
            	if(str == -1) {
            		str = $("#ort\\.verwaltungshierarchie\\[0\\]").val();
            		skipRegion = true;
            	}
            	

                $.get('/leo-services/search/verwaltungshierarchie/' + str + '/1/', {skipRegion: skipRegion}, function(data){
                    var verwList = eval(data);
                    $("#ort\\.verwaltungshierarchie\\[2\\]").empty();
                    for(var j= 3;j<4;j++) {
                        $("#verwaltungshierarchie\\[" + j + "\\]").hide();
                        $("#ort\\.verwaltungshierarchie\\[" + j + "\\]").empty();
                    }
                    $("<option/>").val('').text('---').appendTo("#ort\\.verwaltungshierarchie\\[2\\]");
                    
                    for(var i in verwList) {
                        $("<option/>").val(verwList[i].value).text(verwList[i].label).appendTo("#ort\\.verwaltungshierarchie\\[2\\]");
                    }
                    $("#verwaltungshierarchie\\[2\\]").show();
                });
            }
            
            var level = ($(evtObj.target).attr("id")).match(/[0-9]/).toString();
            if (str != '') {
	            level ++;
            }
            updateOrtsSubtypListe(level);
        });
        
        $("#ort\\.verwaltungshierarchie\\[2\\]").change(function(evtObj){
            var str = $(evtObj.target).val();
            $("#ort\\.ortsSubtyp").removeAttr("disabled");
            if(str=='') {
                for(var j= 3;j<4;j++) {
                    $("#verwaltungshierarchie\\[" + j + "\\]").hide();
                    $("#ort\\.verwaltungshierarchie\\[" + j + "\\]").empty();
                }
            }
            else {
            	var skipRegion = false;
            	

                $.get('/leo-services/search/verwaltungshierarchie/' + str + '/2/', {skipRegion: skipRegion}, function(data){
                    var verwList = eval(data);
                    $("#ort\\.verwaltungshierarchie\\[3\\]").empty();
                    for(var j= 4;j<4;j++) {
                        $("#verwaltungshierarchie\\[" + j + "\\]").hide();
                        $("#ort\\.verwaltungshierarchie\\[" + j + "\\]").empty();
                    }
                    $("<option/>").val('').text('---').appendTo("#ort\\.verwaltungshierarchie\\[3\\]");
                    
                    for(var i in verwList) {
                        $("<option/>").val(verwList[i].value).text(verwList[i].label).appendTo("#ort\\.verwaltungshierarchie\\[3\\]");
                    }
                    $("#verwaltungshierarchie\\[3\\]").show();
                });
            }
            
            var level = ($(evtObj.target).attr("id")).match(/[0-9]/).toString();
            if (str != '') {
	            level ++;
            }
            updateOrtsSubtypListe(level);
        });
        

        
        $("#ort\\.verwaltungshierarchie\\[3\\]").change(function(evtObj){
            var str = $(evtObj.target).val();
            var target = $("#ort\\.ortsSubtyp");
            if(str=='') {
                target.removeAttr("disabled");
            }
            else {
                target.val("TEILORT");
                target.attr("disabled", "disabled");
            }

            target.trigger("change");
        });

        
        $("#ort\\.ortsSubtyp").change(function(evtObj){
            var str = $(evtObj.target).val();
            if (str == 'GEMEINDE' || str == 'TEILORT') {
	            $.post('https://www.leo-bw.de/web/guest/home?p_p_id=LEOBWAdvancedSearch_WAR_sucheportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=ortssubtyp&p_p_cacheability=cacheLevelPage&p_p_auth=U8UPTySU', {ortssubtyp: str}, function(data) {
	                $("#ortssubtypContent").html(data);
	            });
	        }
	        else {
	        	$("#ortssubtypContent").empty();
	        }
        });

        if($("#ort\\.ortsSubtyp").val()!='') {
            $("#ort\\.ortsSubtyp").trigger("change");
        }
        if($("#ort\\.verwaltungshierarchie\\[0\\]").val()!="---") {
            $("#ort\\.verwaltungshierarchie\\[0\\]").trigger("change");
        }

	
					$("#dokument\\.subtyp").change(function(evtObj) {
						var str = $(evtObj.target).val();
						$.post('https://www.leo-bw.de/web/guest/home?p_p_id=LEOBWAdvancedSearch_WAR_sucheportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=dokumentsubtyp&p_p_cacheability=cacheLevelPage&p_p_auth=U8UPTySU', {
							dokumentsubtyp : str
						}, function(data) {
							$("#dokumentsubtypContent").html(data);
						});
					});

					if ($("#dokument\\.subtyp").val() != '') {
						$("#dokument\\.subtyp").trigger("change");
					}
});