/*
 * Formular abschicken wenn Vorbelegungen geändert wurden
 *
 */
function submitForm() {
    
    if (debug)
        alert('submitForm()');
        
    if (safe_input)
        document.tx_scdeconomy_mainform.submit(); 
}

/*
 * nummerische Felder validieren und Ausgabewert formatieren
 *
 * @param Input element
 * @param int   decimalplaces
 */
function formatNumber(element, decimalplaces) {

	if (debug)
		alert ("formatNumber(" + element.value + ", " + decimalplaces + ")");

	element.value = formatDigit(element.value, decimalplaces);
}

/*
 * Zahl formatieren
 *
 * @param string digit
 * @param int    decimalplaces
 */
function formatDigit(digit, decimalplaces) {

	if (debug)
		alert ("formatDigit(" + digit + ", " + decimalplaces + ")");

	var svalue = "";
	var tmp    = digit.replace(decimalpoint, "\.");
	var fak    = Math.pow(10, decimalplaces);

	// falls tmp keine Zahl wird der Wert auf 0 gesetzt
	if(!Number(tmp) || tmp == "NaN")
	    tmp = 0;
	    
	// runden auf Nachkommastellen
	tmp = Math.floor(tmp * fak + 0.5) / fak;
	
	// falls keine Zahl berechnet wurde wird der Wert auf 0 gesetzt
	if(!Number(tmp) || tmp == "NaN")
	    tmp = 0;
	       
	tmp = " " + tmp;
	tmp = tmp.replace(/\./g, decimalpoint);
	tmp = tmp.substr(1);

	if (tmp == "")
	    tmp = "0";

	if (decimalplaces == "0" || decimalplaces == 0) {
	    svalue = tmp;
	    	    
	} else {

    	var dp = decimalpoint;

    	if (dp == ".")
    	   dp = "\.";

    	var p = new RegExp("^[0-9]{1,}[" + dp + "]{0,1}[0-9]{0," + decimalplaces + "}$");

    	if (!p.test(trim(tmp)))
    	   tmp = "0";

    	if (tmp.indexOf(decimalpoint) == -1)
    	    tmp += decimalpoint;

    	var x = tmp.indexOf(decimalpoint);
    	var s = tmp.substr(0, x);
    	var e = tmp.substr(x);

    	while (e.length < decimalplaces + 1)
    	   e += "0";

    	svalue = s + e.substr(0, decimalplaces + 1);
    	
    	if (debug)
	       alert(tmp + " - " + p + " = " + p.test(trim(tmp)));
	}

	return svalue;
}

/* allgemeine Funktionen */

/*
 * Leerzeichen trimmen
 *
 * @param  string value
 * @return string
 */
function trim(value) {

    if (debug)
        alert("trim(" + value + ")");

    return value.replace(/^\s*|\s*$/g, "");
}
