
	var v_felder = [];
	var func_felder = [];
	var radioaktivhide = [];
	var feld_id = [];
	var ft_id = [];
	
	var ft_hide = [];
	ft_hide[ 'plzpreis' ] = [];
	
	var preiscode = 0;
	var ausgabecode = 0;

	
	function handleListeners()
	{
		
	}
	
	function IE()
	{
		if( 
			navigator.appName.indexOf("Internet Explorer") != -1
		)
		{
			return 1;
		}
		else
		{
			return 0;
		}
	}
	
	function IE6()
	{
		var version = navigator.appVersion.match(/MSIE ([0-9])/);
		if( version )
		{
			version = version[ 1 ];
		}
		else version = 0;
		
		if( 
			navigator.appName.indexOf("Internet Explorer") != -1
				&&
			version <= 6
		)
		{
			return 1;
		}
		else
		{
			return 0;
		}
	}
	
	function dataInput( key, val, nr )
	{
		if( key == 'preis' )
		{
			//confirm( val );
		}
		
		vals = val.split("|");
		
		if( nr ) key += '_' + nr;
		
		if( vals[ 0 ] != '' && vals[ 0 ] != 'undefined' )
		{
			eval( '$("#lbl_' + feld_id[ key ] + '").html( "' + vals[ 0 ] + '" );' );
		}
		
		if( (inp = document.getElementById( feld_id[ key ] ) ) && vals[ 1 ] != 'undefined' )
		{
			inpdiv = document.getElementById( feld_id[ key ] + '_seldiv' );
			//if( key == 'alternativausgabe' ) confirm( key + ' * ' + val + ' * ' + vals[ 1 ] + ' * ' + inp.type );
			if( inp.type == 'radio' )
			{
				inp.value = vals[ 1 ];
			}
			else if( inp.type == 'select-one' )
			{	
				inp.innerHTML = vals[ 1 ];
				if( IE() ) {
					inp.outerHTML = inp.outerHTML;
					//confirm( feld_id[ key ] );
					initListeners();
				} 
			}
			else if( inp.type == 'text' )
			{
				inp.value = vals[ 1 ];
			}
			else
			{
				eval( '$("#' + feld_id[ key ] + '").html( "' + vals[ 1 ] + '" );' );
			}
		}
	}
	
	function dataGet( key, nr )
	{
		if( nr ) key += '_' + nr;
		
		if( document.getElementById( feld_id[ key ] ))
		{
			return document.getElementById( feld_id[ key ] ).value;
		}
		else return '';
	}
	
	function setFocus( key, nr )
	{
		if( nr ) key += '_' + nr;
		
		if( document.getElementById( feld_id[ key ] ))
		{
			document.getElementById( feld_id[ key ] ).focus();
		}
	}
	
	function plztest() 
	{ 
	}
	
	
	function do_ausgabe( tmpval, nr, _objekt )
	{
		//loader( 'preis', nr );
		//confirm( ':' + nr);
		
		if( preiscode && !IE6())
		{
			$.get( "ax/", { type: "preis", value: tmpval, objekt: _objekt, ausgabecode: ausgabecode, preiscode: preiscode, plz: dataGet( 'plz', nr ), ort: dataGet( 'ort', nr ) }, function(data) { dataInput( 'preis', data, nr ); if( ft_hide[ 'plzpreis' ] [ nr ] ) { showFThide( ft_hide['plzpreis'][ nr ] ); } } );
		}
	}
	
	
	function loader( key, nr )
	{
		if( nr ) key += '_' + nr;
		
		if( document.getElementById( feld_id[ key ] ) )
		{
			document.getElementById( feld_id[ key ] ).value = 'bitte warten ...';
		}
	}
	
	
	function do_plz( tmpval, nr, _objekt )
	{
		//if( ie6() ) return 0;
		val = tmpval;
		if( tmp = val.split("*"));
		else return 0;
		
		plz = tmp[ 0 ];
		ort = tmp[ 1 ];
			
		if( plz.length == 5 && !IE6() )
		{
			dataInput( 'plz', '|' + plz, nr );
						
			if( func_felder[ 'hauptausgabe_' + nr ] )
			{			
				eval( '$.get( "ax/", { type: "ausgabe", value: "' + plz + '", objekt: "' + _objekt + '" }, function(data) { dataInput("ausgabe-hauptausgabe", data); do_ausgabe( data, nr, _objekt );  } );' );
			}
			else if( preiscode )
			{
				$.get( "ax/", { type: "preis", value: tmpval, objekt: _objekt, ausgabecode: ausgabecode, preiscode: preiscode, plz: dataGet( 'plz', nr ), ort: dataGet( 'ort', nr ) }, function(data) { dataInput( 'preis', data, nr ); if( ft_hide[ 'plzpreis' ] [ nr ] ) { showFThide( ft_hide['plzpreis'][ nr ] ); } } );
			}
			
			if( func_felder[ 'andere_ausgabe_' + nr ] )
			{
				eval( '$.get( "ax/", { type: "andere_ausgabe", value: "' + plz + '", objekt: "' + _objekt + '" }, function(data) { dataInput("alternativausgabe", data); } );' );
			}		
					
			if( ort != '' ) 
			{
				dataInput( 'ort', "|" + ort, nr );
				
				dataInput( 'strasse', '|', nr );
				dataInput( 'hausnummer', '|', nr );
				
				setFocus( 'strasse', nr );
			}
			
			
			//if( ft_hide[ 'plz' ] [ nr ] )
			//for( var i = 0, j = ft_hide[ 'plz' ] [ nr ].length; i < j; i++ )
			//{
				//showFThide( ft_hide[ 'plz' ] [ nr ][ i ] );
			//}
			
			//else eval( '$.get( "ax/", { type: "ort", value: "' + plz + '" }, function(data) { dataInput("ort", data); } );' );
			
		}
		
		return plz;
	}
	
	function do_strasse( tmpval, nr, _objekt )
	{
		setFocus( 'hausnummer', nr );
	}
	
	
	function showhide( tmpval )
	{
		var val = tmpval.split( '/' );
		
		if( val[ 0 ] )
		{
			var val2 = val[ 0 ].split( '_' );
			if( val2.length )
			for( i = 0; i < val2.length; i++ )
			{
				show( feld_id[ val2[ i ] ] );
			}
		}
		
		if( val[ 1 ] )
		{
			var val2 = val[ 1 ].split( '_' );
			
			if( val2.length )
			for( i = 0; i < val2.length; i++ )
			{
				hide( feld_id[ val2[ i ] ] );
			}
		}
	}
	
	
	function hide( key )
	{
		$("#feld_" + key).hide();
		$("#label_" + key).hide();
	}
	
	
	function hideFT( key )
	{
		$("#ft_" + key).hide();
	}
	
	
	function hideFThide( key )
	{
		$("#ft_hide_" + key).hide();
	}
	
	
	function show( key )
	{
		$("#feld_" + key).show();
		$("#label_" + key).show();
	}
	

	function showFT( key )
	{
		$("#ft_" + key ).show();
	}
	
	
	function showFThide( key )
	{
		$("#ft_hide_" + key).show();
	}

	function childEl( elname, zust )
	{
		eval( "$(\"[name='" + elname + "']\").css('display', '" + zust + "') " );
	}
	