function ausgabe(feld){
    if (check(feld)){
		var temp = read_value(feld);
		feld.value = temp;
	  	format_feld(feld,1);
	  	wertaus=read_value(feld);
	  	wertaus=parseFloat(wertaus);
	  	form_x(document.forms['eingabe']);
	  	eval("document.forms['eingabe']."+feld.name+".focus()");
	  	}
	else {
		alert ("Bitte maximal zwei Nachkommastellen eingeben.");
		feld.value="0,00";
		eval("document.forms['eingabe']."+feld.name+".focus()");
    }
}

function round_x(wertrunden){
		var help_l = "";
		var help_r = "";
		var sign="";
		
		if (wertrunden < 0){
		sign="-";
		wertrunden=wertrunden*-1;
		
		}
		
		if (wertrunden < 1){help_l = "0";}
		if (wertrunden < 0.1){
			help_l = "0";
			help_r = "0";
		}
		wertrunden = Math.round(wertrunden*100);
		wertrunden = wertrunden + "";
		var laenge2 = wertrunden.length;
		var wertrunden_left = wertrunden.substring(0,laenge2-2);
		if(wertrunden_left.length>0){help_l=""}
		var wertrunden_right = wertrunden.substring(laenge2-2,laenge2);
		wertrunden = sign+wertrunden_left + help_l + "." + help_r + wertrunden_right;
		return wertrunden;
	}

function check(field){
		var comma = 0;
		var numb1=field.value
		
		if (field.value.length==0||field.value==" "){field.value=0;}
						
		for (var i1 = 0;i1 < numb1.length;i1++){
			if(numb1.substring(i1,i1+1) == ","){
				comma+=1;
				if (comma>1){return false}}
			else
			if(numb1.substring(i1,i1+1) != "." && isNaN(numb1.substring(i1,i1+1))){
			
				if(numb1.substring(i1,i1+1)=="-"){
					if(i1!=0){return false}}
				else {return false;}
								
			
			}
				
		}
		
		return true;
	}

function format_feld(field,decimals){
		
	if (check(field)){
		start=0;				
		var sign="";
		var dot=0;
		var x=0;
		
		if (decimals==0){
		  
		 field.value=Math.round(field.value); 
		
		}
		
		numb1=field.value+"";
		
		if (numb1.substring(0,1)=="-"){
			start=1;
			sign="-";
			numb1=numb1.substring(1,numb1.length);
		}
		
		
		///// Punkt als Komma interpretieren 
		for (var i1 = 0;i1 < numb1.length;i1++){
			if (dot>=1){
			x+=1;
			}
			if(numb1.substring(i1,i1+1) == "."){
				dot+=1
			}
		}

		
		if (dot==1 && numb1.indexOf(",")<=0 && x<3){
		numb1=repl_char(numb1,".",",")
		}
		
		
		numb1=remov_dot(numb1);
		numb1=repl_char(numb1,",",".");
		numb1=round_x(numb1);
		numb1=repl_char(numb1,".",",");
		
		var comma=numb1.indexOf(",");
		num_right=numb1.substring(comma,numb1.length);
		num_left=numb1.substring(0,comma);
		num_middle="";
		while (num_left.length>3){
		
			num_middle="."+num_left.substring(num_left.length-3,num_left.length)+num_middle;
			num_left=num_left.substring(0,num_left.length-3);
		
			} ///// Ende
			
			if(decimals==1){
			     numb1=sign+num_left+num_middle+num_right;}
			else{
			     numb1=sign+num_left+num_middle;}
			   
			field.value=numb1	
		}	
		else	{
		alert ("Falsche Eingabe!");
		field.value = "";
		field.focus();
		}
	}

function repl_char(lokal,character1, character2){
	///// Character 1 durch character 2 ersetzen
		lokal=lokal+"";
		var indx=lokal.indexOf(character1)
		while (indx >= 0){
			var lokal_left = lokal.substring(0,indx);
			var lokal_right = lokal.substring(indx+1,lokal.length);
			lokal = lokal_left + character2 + lokal_right;
			indx=lokal.indexOf(character1)
			}
	return lokal
	}

function remov_dot(lokal){
		lokal=lokal+"";
		for (var i1 = 0;i1 < lokal.length;i1++){
			if(lokal.substring(i1,i1+1) == "."){
			var dot=lokal.indexOf(".")
				while (dot >= 0){
				var lokal_left = lokal.substring(0,dot);
				var lokal_right = lokal.substring(dot+1,lokal.length);
				lokal = lokal_left + lokal_right;
				dot=lokal.indexOf(".")
				}
			}
		
		}
		return lokal
	}

function read_value(field){
	var lokal=field.value;
	lokal=remov_dot(lokal);
	lokal=repl_char(lokal,",",".");
	return lokal
	}

function eing_feld(feld)
{
	var temp = read_value(feld);
	feld.value = temp;
	form_x(document.forms['eingabe']);
}

function form_x(form)
{
	kaufpreis = parseFloat(read_value(form.kaufpreis));
	form.kaufpreis.value = kaufpreis;
	format_feld(form.kaufpreis,0);

	notargebuehr = parseFloat(read_value(form.notargebuehr));
	notarsum = (kaufpreis / 100) * notargebuehr;
	form.notarsum.value = notarsum;
	format_feld(form.notarsum,0);

	g_steuer = parseFloat(read_value(form.g_steuer));
	(kaufpreis > 0) ? steuersum = (kaufpreis / 100) * g_steuer : steuersum = (kaufpreis / 100) * g_steuer;
	form.steuersum.value = steuersum;
	format_feld(form.steuersum,0);

	courtage = parseFloat(read_value(form.courtage));
	makelsum = (kaufpreis / 100) * courtage;
	form.makelsum.value = makelsum;
	format_feld(form.makelsum,0);
	
	var neb_kost=parseFloat(notarsum)+parseFloat(steuersum)+parseFloat(makelsum);
	form.neb_kost.value = neb_kost;
	format_feld(form.neb_kost,0);
	
	prozentsum=parseFloat(notargebuehr)+parseFloat(g_steuer)+parseFloat(courtage);
	form.prozentsum.value = prozentsum;
}

