/*	Name		: rechenhilfen.js	 	Version 1.10    		03.07.02/HSC
	========================================================================
	Funktion	: Funktionen zur besseren Darstellung von berechneten Werten,
		wie	- Runden von Währungsbeträgen auf 5/100 er Werte,
			- Darstellung der Nullen hinter und vor dem Komma,
			- Darstellung in Tausender Gruppen (ex. noch nicht)
			- Rechtsbündige Darstellung in Input Feldern (für MSIE & NN)

	Updates :
	15.06.02/HSC 1.0	Erstellt, abgetrennt von ajh_defaultwerte_euro.js. 
	03.07.02/HSC 1.1	Struktur und Namensanpassungen (getestet)

	Funktionen :	
	runden_waehrung(arg)	Rundung auf Fünferwerte zwei Stellen nach 
					dem Komma.
	zweistellig(arg)		Darstellung von Nullen bei Zahlen mit leeren	
					Stellen hinter dem Komma (noch zu testen)
	tausender(arg)		Stellt das Resultat in Tausender Gruppen dar.
	buendig(arg) 		Versucht eine bessere Darstellung für Tabellen-
			ausgaben durch Einfügen von leerstellen vor dem Wert 
			(rechtsbündige oder kommagerechte Darstellung). Ist 
			Navigatorabhängig, die Funktion testet auf NN und MSIE 
			und führt die entsprechendeFunktion aus.
*/ 
//	========================================================================

//	Funktion Zweistellig 	================================================
//	Berechnung von zweistelligen auf 0.05 Einheiten gerundeten Währungswerten. -----------
function runden_waehrung(arg0)
{
	arg1 = Math.round((20 * arg0))/ 20 ;
	if (Math.round(arg1) == arg1) {
		arg1 = arg1 + ".00" ; // x.00 Anzeige
		}
		else 
	if (Math.round(10*arg1)/10 == arg1) {
		arg1 = arg1 + "0" ; // fünfer Anzeige
		}
return(arg1);
}

//	Funktion Tausender  	================================================	
//	Muss noch getestet werden 17.06.02/HSC
function tausender(arg1)
{
	if (Math.round(arg1/1000) >= 1) {
		arg1 = arg1/1000 + "\'" + mod(arg1) 
		}
		else 
	if (Math.round(arg1/1000000) >= 1) {
		arg1 = arg1/1000000 + "\'" + arg1/1000 + "\'" + mod(arg1) 
		}
return(arg1);
}
//	========================================================================
//	Erstellen von Tausender Gruppen, trennung durch ' Zeichen. 
function t_gruppen(arg1)
{
// eingang = arg1= 123456789123 ;
eingang = arg1 ;
group3 = group2 = group1 = group0 = '' ;
part3 = part2 = part1 = part0 = 0 ;
first = '' ;
	if (arg1 >= 1000) {
		first = Math.floor(arg1/1000) ;
		part0 = arg1%1000 ;
		group0 = tausender(part0) ;
		} ;
	if (arg1 >= 1000000) {
		first = Math.floor(arg1/1000000) ;
		part1 = (Math.floor(arg1/1000))%1000 ;
		group1 = tausender(part1) ;
		} ;
	if (arg1 >= 1000000000) {
		first = Math.floor(arg1/1000000000) ;
		part2 = (Math.floor(arg1/1000000))%1000  ;
		group2 = tausender(part2) ;
		} 
/*  	alert("Eingang = " + eingang + "\n" +
		"Gruppen = " + part3 + " - " + part2 + " - " + part1 + " - " + 
			part0 + " \n" +
		"Modulo = " + group3 + " - " + group2 + " - " + group1 + " - " 
			+ group0 );
*/
	total = first + group3 + group2 + group1 + group0 ;
return(total) ;
}


//	Berechnung auf zwei Stellen nach dem Komma, mit folgenden Nullen. ===================
function zweistellig(arg0)
{
	arg1 = Math.round((100) * arg0)/ (100) ;
	if (Math.round(arg1) == arg1) {
		arg1 = arg1 + ".00" ; // x.00, zwei Nullen hinzufügen
		}
		else 
	if (Math.round((10)*arg1)/(10) == arg1) {
		arg1 = arg1 + "0" ; // x.x0, eine Null hinzufügen
		}
return(arg1);
}

//	Schönere Darstellung bei der Ausgabe : rechtsbuendig, über Komma. ======
//	Checkt nach dem Browsertyp und fügt entsprechende Leerstellen ein.
function buendig(arg0)
{
	if(navigator.appName == 'Netscape') {arg1 = rechtsbuendig_NN(arg0) } ;
	if(navigator.appName == 'Microsoft Internet Explorer') 
		{ arg1 = rechtsbuendig_MSIE(arg0) };

return(arg1)
}

//	SR Rechtsbündig für den Microsoft Internet Explorer	------------------
function rechtsbuendig_MSIE(arg0)
{
	arg1 = Math.floor(arg0) ;	 // Zeile 363 ;
	if (Math.floor(arg1/10) == 0) {
		arg0 = "      " + arg0 ; 	// 6 Leerstellen hinzufügen.
		}
		else
	if (Math.floor(arg1/100) == 0) {
		arg0 = "   " + arg0 ; 	// 3 Leerstellen hinzufügen.
		}
		else
	if (Math.floor(arg1/1000) == 0) {
		arg0 = "  " + arg0 ; 	// 2 Leerstellen hinzufügen.
		}
		else
	if (Math.floor(arg1/10000) == 0) {
		arg0 = "" + arg0 ; 		//  0 Leerstellen hinzufügen.
		}
		else
	if (Math.floor(arg1/100000) == 0) {
	// is ok				// i Leerstellen hinzufügen.
		} 
return(arg0) ;
}

//	Funktion Rechtsbündig für den Netscape Navigator 	------------------
function rechtsbuendig_NN(arg0)
{
	arg1 = Math.floor(arg0) ;	 // Zeile 363 ;
	if (Math.floor(arg1/10) == 0) {
		arg0 = " " + arg0 ; 	// 1 Leerstellen hinzufügen.
		}
		else
	if (Math.floor(arg1/100) == 0) {
		arg0 = "" + arg0 ; 	// 1 Leerstellen hinzufügen.
		}
		else
	if (Math.floor(arg1/1000) == 0) {
		arg0 = "" + arg0 ; 	// 1 Leerstellen hinzufügen.
		}
		else
	if (Math.floor(arg1/10000) == 0) {
		arg0 = "" + arg0 ; 		// 0 Leerstellen hinzufügen.
		}
		else
	if (Math.floor(arg1/100000) == 0) {
	// is ok				// i Leerstellen hinzufügen.
		} 
return(arg0) ;
}
//	Zeile 131	Ende Rechenhilfen	==========================================

