function renderCommuneSelector(name, changeCommuneString, title, additionalClass){
	
	// Layers verstecken
	$('#'+title+' .commune-list div').css('display','none');	
	
	// Klick-Control
	$('#'+title+' .commune-selector a').live('click', function(){
		$('#'+title+' .commune-list').show();
		$('#'+title+' .commune-list div').css('display','none');
		$('#'+title+' .commune-list div').attr('aria-hidden','true');
		$('#'+name+'-list-'+$(this).html()).css('display','block');
		$('#'+name+'-list-'+$(this).html()).attr('aria-hidden','false');
		return false;
	});

	// Radiobuttons entfernen
	$('#'+title+' .commune-list input').hide();

	// ABC-Layer einfugen
	cse = '<div class="abc commune-selector ' + additionalClass + '" role="tablist"><ul>';
	abc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	for(i=0;i<abc.length;i++) {
		char 	= abc.charAt(i);
		exists	= $('#'+name+'-list-'+char).size()>0;
		cse += '<li>';
		if(exists)
			cse += '<a role="tab" id="aria-tab-'+char+'" href="#">';
		else
			cse += '<span>';
		cse += char;
		if(exists)
			cse += '</a>';
		else
			cse += '</span>';
		cse += '</li>';
	}
	cse += '</ul></div>';
	$('#'+title+' .commune-widget').prepend(cse);

	// Anker fur vorhandene Gemeinden erstellen
	$('#'+title+' .commune-list label').each(function(){
	$(this).wrap('<a href="#" onclick="select_commune(\''+$(this).attr('for')+'\',\''+changeCommuneString+'\', \'' + title + '\'); return false"></a>');
	});	
	
	// Gemeinde bereits gewahlt? Dann aktuelle Gemeinde einblenden
	if($('input[name="' + name + '"]:checked').attr('id')) {
		select_commune($('input[name="' + name + '"]:checked').attr('id'), changeCommuneString, title);
	}			

	// ARIA
	$('#'+title+' .commune-widget').attr('role', 'tabpanel');
	$('#'+title+' .commune-widget').attr('aria-live', 'polite');
	$('#'+title+' .commune-list').attr('aria-live', 'polite');
	$('#'+title+' .commune-list div').attr('role', 'tabpanel');
	$('#'+title+' .commune-list div').each(function(){
		id = $(this).attr('id').match(/[A-Z]{1}/);
		$('#'+name+'-list-'+id).attr('aria-labelledby', 'aria-tab-'+id);
	});
}

// Zeigt den Gemeinden-Selektor an
function show_selector(title) {
	$('#'+title+' .commune-selector').removeClass('required');
	$('#'+title+' .commune-selector').show();
}

// Ubernimmt die gewahlte Gemeinde und blendet den Gemeinden-Selektor sowie die Liste aus
function select_commune(o, changeCommuneString, title) {
	$('#'+title+' .commune-current').remove();
	c = $('label[for="'+o+'"]').html();
	$('#'+title+' .commune-widget').before('<div class="commune-current" aria-live="polite">' + c + ' <a href="#" onclick="show_selector(\''+title+'\'); return false">' + changeCommuneString + '</a></div>');
	$('#'+title+' #'+o).attr('checked','checked');
	$('#'+title+' .commune-selector').hide();
	$('#'+title+' .commune-list').hide();
}

