document.observe('dom:loaded', function() {
	var strings = {s: {eur: "€|eur", usd: "\\$|usd", gbp: "£|gbp"}, w:{eur: "€", usd:"$", gbp:"£"}};
	var ergebnis = false;
	var mode = "eur";
	if($$('.rechnen_ergebnis'.length))
		ergebnis = $$('.rechnen_ergebnis')[0];
	if($$('.rechnen_ergebnis_gbp').length)
		mode = "gbp";
	if($$('.rechnen_ergebnis_usd').length)
		mode = "usd";
	if($$('.rechnen_ergebnis_'+mode).length)
		ergebnis = $$('.rechnen_ergebnis_'+mode)[0];
	if(ergebnis) {
		var berechnen = function() {
			var summe=0;
			elems.each(function(elem) {
				var val = "0";
				if("checkbox" == elem.type) {
					if(elem.checked) {
						var valelem = elem.form.elements[elem.name.replace(/check_/, "value_")];
						val = valelem?valelem.value:"0";
					}
				} else {
					val = $F(elem);
				}
				var reg = new RegExp('(?:'+strings.s[mode]+')\\s*[\\d.,]+\\b|\\b[\\d.,]+\\s*(?:'+strings.s[mode]+')', "i");
				val = reg.exec(val);
				if(!val || !val[0]) return;
				val = /\b([\d.]+)\b/.exec(val[0]);
				if(!val || !val[0]) return;
				if(val[0]) {
					val = val[1].replace(/[.,]/g, "");
					val = parseInt(val);
				} else { 
					val = 0; 
				}
				summe += val;
			
			});
			ergebnis.value = summe+" "+strings.w[mode];
		};
		var elems = $$('.rechnen');
		elems.each(function(elem) {
			elem.observe('change', function() {
				(berechnen());
			});
		});
		berechnen();
	}
});