/** 
 * berechnet die provision aus den eingabeformularen.
 * @param das html-formularobjekt
 * @return void (aktualisiert die felder darin!)
*/
function berechneProvision(frm,trenner) {
	// die 'variablen' felder
	var vFelder = new Array("preis","prozentprovision_satz","festprovision");
	// die 'fixen' felder, die der user nicht ändern kann.
	var fFelder = new Array('prozentprovision_betrag','provision_betrag_netto');
	// zwischenspeicher, um aus den string-werten float-werte zu machen.
	var vWerte = new Array(vFelder.length);
	var fWerte = new Array(fFelder.length);
	
	// konvertierung aller felder in float-werte
	for(i = 0; i < vFelder.length; i++) {
		vWerte[i] = stringToNumber(frm.elements[vFelder[i]].value);
	}
	for(i=0;i<fFelder.length;i++) {
		fWerte[i] = stringToNumber(frm.elements[fFelder[i]].value);
	}

	// berechnen:
	// prozentprovision_betrag = preis * (prozentprovision_satz * 0.01)
	fWerte[0] = vWerte[0] * (vWerte[1] * 0.01);
	// provision_betrag_netto = prozentprovision_betrag + festprovision
	fWerte[1] = fWerte[0] + vWerte[2];
	
	// wieder zurückschreiben: 
	for(i=0;i<vFelder.length;i++) {
		frm.elements[vFelder[i]].value = numberToString(vWerte[i],trenner);
	}
	for(i=0;i<fFelder.length;i++) {
		frm.elements[fFelder[i]].value = numberToString(fWerte[i],trenner);
	}
}

function stringToNumber(string) {
	var tmp;
	tmp = string.replace(/[^0-9,.\-]+/,'');
	tmp = tmp.replace(/[,]/,'.');
	if(tmp == '') {
		return 0;
	}
	return parseFloat(tmp);
}

function numberToString(number,trenner) {
	var tmp;
	tmp = String(number);
	tmp = tmp.replace(/[.]/,trenner);
	return tmp;
}

function pslOeffneInternet(fieldValue) {
	
	// mindestens http:// und ein zeichen... eigentlich doof.
	re = /^(file|http|https|ftp):\/\/\S/i
	
	if(!re.test(fieldValue)) {
		return;
	}
	
	window.open(fieldValue,'_blank','');
	return;
}

function show_htmleditor(form, feld, modus) {
	window.open('./htmleditor.php?form='+form+'&feld='+feld+'&modus='+modus+'', 'htmleditor', 'width=900,height=600,left=0,top=0,resizable=yes,scrollbars=yes');
}
