<!-- //Dateiname:geld.js
language="JavaScript"
// date: 2009-10-11
// alert("geld.js");


function fGeld(g)
// rundet auf 2 Nachkommastellen, gibt String zurück
{
//alert("fGeld");
var st='';
g=(Math.round(g*100))/100;
if (g<0) { st+='-'; g=-g; };
var fg=Math.floor(g);
st+=fg; st+='.'; 
var cent=Math.floor((g-fg)*100+0.5);
//alert("cent"+cent);
if (cent<10) {st+="0";};
return (st+cent);
} // fGeld

function fGeld_B(g)
// unterdrueckt 0.00, gibt String zurück
{
//alert("Geld_B");
var st=fGeld(g);
//alert("st:" + st);
if (st=="0.00") { st=""; };
return st;
} // fGeld_B

function fEuroAusDM(vDM)
// nimmt DM und berechnet Euro
{ return (vDM/1.95583); }

function fGanz(g)
// rundet auf 0 Nachkommastellen
{
//alert("Ganz");
return Math.round(g);
} // fGanz

function fGanz_B(g)
// unterdrueckt 0
{
//alert("Ganz_B");
var st=fGanz(g);
if (st=="0") { st=""; };
return st;
} // Ganz_G

function fZero_B(pOutput, vVal, pBool)
// pOutput: Rechenformularobjekt; schreibt vVal in Rechenformularobjekt, 
// wenn vVal nicht 0 ist und pBool.checked==true
{
vArgL = fZero_B.arguments.length;
if (vArgL==3)
	{
	if (pBool.checked)
		{
		if (vVal==0) { pOutput.value = ""; }
		else { pOutput.value = vVal; };
		return (vVal-0);
		}
	else
		{ pOutput.value = ""; return 0; }
	}
else 
	{
	if (vArgL==2)
		{
		if (vVal==0) { pOutput.value = ""; }
		else { pOutput.value = vVal; };
		return (vVal-0);
		}
	else // vArg==1
		{ 
		if (vArgL==1) { pOutput.value = ""; return 0; }
		else { return 0; }
		}
	}
} // fZero_B

function fWGeld(pOutput, vVal, pBool)
// W: wie write
{ 
vArgL = fWGeld.arguments.length;
if (vArgL==3)
	{
	if (pBool.checked)
		{
		pOutput.value=fGeld(vVal); 
		return (vVal-0);
		}
	else
		{ pOutput.value="0.00"; return 0; }
	}
else
	{
	if (vArgL==2)
		{
		pOutput.value=fGeld(vVal); 
		return (vVal-0);
		}
	else
		{
		alert("fWGeld wurde weder mit 2 noch mit 3 Argumenten aufgerufen");
		return 0;
		}
	}
}; // function fWGeld(pOutput, vVal, pBool)

function fWGeld_B(pOutput, vVal, pBool)
/* W: wie write
Schreibt einen den Wert vVal auf 2 Nachkommastellen gerundet in ein Ausgabefeld und gibt den gerundeten Wert zurück
pBool braucht nicht angegeben zu werden; falls pBool angegeben und falsch ist, wird Leerstring geschrieben und 0 zurückgegeben
*/
{ 
//alert("fWGeld_B, " + fWGeld_B.arguments.length + " Argumente.");
vArgL = fWGeld_B.arguments.length;
if (vArgL==3) {
	//alert("In fWGeld_B: vVal = " + vVal + "; pBool = " + pBool + ";");
	if (pBool.checked) {
		pOutput.value = fGeld_B(vVal); 
		return (vVal-0);
	}
	else
		{ pOutput.value=""; return 0; }
}
else {
	if (vArgL==2) {
		pOutput.value=fGeld_B(vVal); 
		return (vVal-0);
	}
	else {
		alert("fWGeld_B wurde weder mit 2 noch mit 3 Argumenten aufgerufen");
		return 0;
	}
}
}

function fWGeld_BGMGO(pOutput, pGanz, vGeb, vOff)
// W: wie write, _B: 0.00 wird nicht angezeigt 
// GMGO: Ganz Mal Gebühr Offset(zu Ganz)
// schreibt in pOffset und gibt zurück, falls >0: (pGanz+vOff)*vGeb
// pGanz >= 0
{ 
//alert("fWGeld_BGMGO");
vGanz = pGanz.value;
if (vGanz=="") { vGanz = 0; }
vGanz = Math.round(vGanz);
if (vGanz<0) { vGanz = 0; }
pGanz.value = vGanz;
vGanz += vOff;
if (vGanz<0) { vGanz = 0; }
return fWGeld_B(pOutput, vGanz*vGeb);
}; // function fWGeld_BGMGO


function fBereich(vVal, vUGr, vOGr)
{
return (vVal<vUGr) ? vUGr : ( (vVal>vOGr) ? vOGr : vVal);
}

function fRGeld(pInput, vDefault, vUGr, vOGr)
// R: Rechenformular, range?
// gibt Zahl zurück
{
//alert("fRGeld");
vArgL = fRGeld.arguments.length;
if (vArgL<=0) { return 0; }
else
	{
	vG = pInput.value;
	if (vG=="") 
		{ 
		if (vArgL>=2) { vG = vDefault; }
		else { vG=0; }
		}
	if (vArgL>=3) {	if (vG<vUGr) { vG = vUGr; }	}
	if (vArgL>=4) {	if (vG>vOGr) { vG = vOGr; }	}
	//alert("vG",vG);
	pInput.value = vG = fGeld(vG);
	return (vG-0);
	}
} // RGeld

function fRGeld_B(pInput, vDefault, vUGr, vOGr)
/* pInput ist Rechenformularfeld; bleibt leer, falls Wert=0
gibt Zahl zurück
falls auch geschrieben werden soll und keine Grenzen angegeben sind, fWGeld_B verwenden
*/
{
//alert("fRGeld_B");
vArgL = fRGeld_B.arguments.length;
if (vArgL<=0) { return 0; }
else
	{
	vG = pInput.value;
	if (vG=="") 
		{ 
		if (vArgL>=2) { vG = vDefault; }
		else { vG=0; }
		}
	if (vArgL>=3) {	if (vG<vUGr) { vG = vUGr; }	}
	if (vArgL>=4) {	if (vG>vOGr) { vG = vOGr; }	}
	vG = fGeld(vG);
	if (vG=="0.00") { pInput.value = ""; }
	else { pInput.value=vG; }
	return (vG-0);
	}
} // fRGeld_B


function fRGanz(pInput, vDefault, vUGr, vOGr)
{
vArgL = fRGanz.arguments.length;
if (vArgL<=0) { return 0; }
else {
	vG = pInput.value;
	if (vG=="") 
		{ 
		if (vArgL>=2) { vG = vDefault; }
		else { vG=0; }
		}
	if (vArgL>=3) {	if (vG<vUGr) { vG = vUGr; }	}
	if (vArgL>=4) {	if (vG>vOGr) { vG = vOGr; }	}
	pInput.value = vG = fGanz(vG);
	return (vG-0);
}
} // fRGanz

function fRGanz_B(pInput, vDefault, vUGr, vOGr)
{
//alert("fRGanz_B");
vArgL = fRGanz_B.arguments.length;
if (vArgL<=0) { return 0; }
else
	{
	vG = pInput.value;
	if (vG=="") 
		{ 
		if (vArgL>=2) { vG = vDefault; }
		else { vG=0; }
		}
	if (vArgL>=3) {	if (vG<vUGr) { vG = vUGr; }	}
	if (vArgL>=4) {	if (vG>vOGr) { vG = vOGr; }	}
	vG = fGanz(vG);
	if (vG==0) { pInput.value = ""; }
	else { pInput.value = vG; }
	return (vG-0);
	}
}; // fRGanz_B

function fRFloat(pInput, vDefault, vUGr, vOGr)
/* Zum Überprüfen des Wertebereichs eines Eingabefeldes */
{
//alert("fRFloat");
vArgL = fRFloat.arguments.length;
if (vArgL<=0) { return 0; }
else
	{
	vG = pInput.value;
	if (vG=="") 
		{ 
		if (vArgL>=2) { vG = vDefault; }
		else { vG=0; }
		}
	if (vArgL>=3) {	if (vG<vUGr) { vG = vUGr; }	}
	if (vArgL>=4) {	if (vG>vOGr) { vG = vOGr; }	}
	pInput.value = vG;
	return (vG-0);
	}
} // fRFloat

//alert("geld.js, Ende");

// -->

