

function decfix(X, N) {
   var T, S=new String(Math.round(X*Number("1e"+N)))
   while (S.length<=N) S='0'+S
   return S.substr(0, T=(S.length-N)) + '.' + S.substr(T, N) }


function form_recalc (from,to,row)
	{
	var dummy
	if (from == to)document.cform.v2.value=document.cform.v1.value.replace(/,/,".");
		if (dummy == "dummy") dummy = dummy;else if (from+to == "EURCHF") document.cform.v2.value = EURCHF(document.cform.v1.value.replace(/,/,"."));else if (from+to == "EURUSD") document.cform.v2.value = EURUSD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "EURGBP") document.cform.v2.value = EURGBP(document.cform.v1.value.replace(/,/,"."));else if (from+to == "EURCNY") document.cform.v2.value = EURCNY(document.cform.v1.value.replace(/,/,"."));else if (from+to == "EURHKD") document.cform.v2.value = EURHKD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "EURTWD") document.cform.v2.value = EURTWD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CHFEUR") document.cform.v2.value = CHFEUR(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CHFUSD") document.cform.v2.value = CHFUSD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CHFGBP") document.cform.v2.value = CHFGBP(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CHFCNY") document.cform.v2.value = CHFCNY(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CHFHKD") document.cform.v2.value = CHFHKD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CHFTWD") document.cform.v2.value = CHFTWD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "USDEUR") document.cform.v2.value = USDEUR(document.cform.v1.value.replace(/,/,"."));else if (from+to == "USDCHF") document.cform.v2.value = USDCHF(document.cform.v1.value.replace(/,/,"."));else if (from+to == "USDGBP") document.cform.v2.value = USDGBP(document.cform.v1.value.replace(/,/,"."));else if (from+to == "USDCNY") document.cform.v2.value = USDCNY(document.cform.v1.value.replace(/,/,"."));else if (from+to == "USDHKD") document.cform.v2.value = USDHKD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "USDTWD") document.cform.v2.value = USDTWD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "GBPEUR") document.cform.v2.value = GBPEUR(document.cform.v1.value.replace(/,/,"."));else if (from+to == "GBPCHF") document.cform.v2.value = GBPCHF(document.cform.v1.value.replace(/,/,"."));else if (from+to == "GBPUSD") document.cform.v2.value = GBPUSD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "GBPCNY") document.cform.v2.value = GBPCNY(document.cform.v1.value.replace(/,/,"."));else if (from+to == "GBPHKD") document.cform.v2.value = GBPHKD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "GBPTWD") document.cform.v2.value = GBPTWD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CNYEUR") document.cform.v2.value = CNYEUR(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CNYCHF") document.cform.v2.value = CNYCHF(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CNYUSD") document.cform.v2.value = CNYUSD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CNYGBP") document.cform.v2.value = CNYGBP(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CNYHKD") document.cform.v2.value = CNYHKD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "CNYTWD") document.cform.v2.value = CNYTWD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "HKDEUR") document.cform.v2.value = HKDEUR(document.cform.v1.value.replace(/,/,"."));else if (from+to == "HKDCHF") document.cform.v2.value = HKDCHF(document.cform.v1.value.replace(/,/,"."));else if (from+to == "HKDUSD") document.cform.v2.value = HKDUSD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "HKDGBP") document.cform.v2.value = HKDGBP(document.cform.v1.value.replace(/,/,"."));else if (from+to == "HKDCNY") document.cform.v2.value = HKDCNY(document.cform.v1.value.replace(/,/,"."));else if (from+to == "HKDTWD") document.cform.v2.value = HKDTWD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "TWDEUR") document.cform.v2.value = TWDEUR(document.cform.v1.value.replace(/,/,"."));else if (from+to == "TWDCHF") document.cform.v2.value = TWDCHF(document.cform.v1.value.replace(/,/,"."));else if (from+to == "TWDUSD") document.cform.v2.value = TWDUSD(document.cform.v1.value.replace(/,/,"."));else if (from+to == "TWDGBP") document.cform.v2.value = TWDGBP(document.cform.v1.value.replace(/,/,"."));else if (from+to == "TWDCNY") document.cform.v2.value = TWDCNY(document.cform.v1.value.replace(/,/,"."));else if (from+to == "TWDHKD") document.cform.v2.value = TWDHKD(document.cform.v1.value.replace(/,/,"."));}function EURCHF (myval) { retval = myval * 1.297720221233; if (isNaN(myval) || 1.297720221233 < 0) return 'fehler'; else if (1.297720221233==0) return 'n/a'; else return decfix(retval,2); }function EURUSD (myval) { retval = myval * 1.2823418319169; if (isNaN(myval) || 1.2823418319169 < 0) return 'fehler'; else if (1.2823418319169==0) return 'n/a'; else return decfix(retval,2); }function EURGBP (myval) { retval = myval * 0.83313098610549; if (isNaN(myval) || 0.83313098610549 < 0) return 'fehler'; else if (0.83313098610549==0) return 'n/a'; else return decfix(retval,2); }function EURCNY (myval) { retval = myval * 8.7312828814245; if (isNaN(myval) || 8.7312828814245 < 0) return 'fehler'; else if (8.7312828814245==0) return 'n/a'; else return decfix(retval,2); }function EURHKD (myval) { retval = myval * 9.9643868878996; if (isNaN(myval) || 9.9643868878996 < 0) return 'fehler'; else if (9.9643868878996==0) return 'n/a'; else return decfix(retval,2); }function EURTWD (myval) { retval = myval * 41.027384324835; if (isNaN(myval) || 41.027384324835 < 0) return 'fehler'; else if (41.027384324835==0) return 'n/a'; else return decfix(retval,2); }function CHFEUR (myval) { retval = myval * 0.77058212058212; if (isNaN(myval) || 0.77058212058212 < 0) return 'fehler'; else if (0.77058212058212==0) return 'n/a'; else return decfix(retval,2); }function CHFUSD (myval) { retval = myval * 0.98814968814969; if (isNaN(myval) || 0.98814968814969 < 0) return 'fehler'; else if (0.98814968814969==0) return 'n/a'; else return decfix(retval,2); }function CHFGBP (myval) { retval = myval * 0.64199584199584; if (isNaN(myval) || 0.64199584199584 < 0) return 'fehler'; else if (0.64199584199584==0) return 'n/a'; else return decfix(retval,2); }function CHFCNY (myval) { retval = myval * 6.7281704781705; if (isNaN(myval) || 6.7281704781705 < 0) return 'fehler'; else if (6.7281704781705==0) return 'n/a'; else return decfix(retval,2); }function CHFHKD (myval) { retval = myval * 7.6783783783784; if (isNaN(myval) || 7.6783783783784 < 0) return 'fehler'; else if (7.6783783783784==0) return 'n/a'; else return decfix(retval,2); }function CHFTWD (myval) { retval = myval * 31.614968814969; if (isNaN(myval) || 31.614968814969 < 0) return 'fehler'; else if (31.614968814969==0) return 'n/a'; else return decfix(retval,2); }function USDEUR (myval) { retval = myval * 0.77982326951399; if (isNaN(myval) || 0.77982326951399 < 0) return 'fehler'; else if (0.77982326951399==0) return 'n/a'; else return decfix(retval,2); }function USDCHF (myval) { retval = myval * 1.0119924258363; if (isNaN(myval) || 1.0119924258363 < 0) return 'fehler'; else if (1.0119924258363==0) return 'n/a'; else return decfix(retval,2); }function USDGBP (myval) { retval = myval * 0.6496949295182; if (isNaN(myval) || 0.6496949295182 < 0) return 'fehler'; else if (0.6496949295182==0) return 'n/a'; else return decfix(retval,2); }function USDCNY (myval) { retval = myval * 6.808857563644; if (isNaN(myval) || 6.808857563644 < 0) return 'fehler'; else if (6.808857563644==0) return 'n/a'; else return decfix(retval,2); }function USDHKD (myval) { retval = myval * 7.7704607616242; if (isNaN(myval) || 7.7704607616242 < 0) return 'fehler'; else if (7.7704607616242==0) return 'n/a'; else return decfix(retval,2); }function USDTWD (myval) { retval = myval * 31.9941089838; if (isNaN(myval) || 31.9941089838 < 0) return 'fehler'; else if (31.9941089838==0) return 'n/a'; else return decfix(retval,2); }function GBPEUR (myval) { retval = myval * 1.2002914507772; if (isNaN(myval) || 1.2002914507772 < 0) return 'fehler'; else if (1.2002914507772==0) return 'n/a'; else return decfix(retval,2); }function GBPCHF (myval) { retval = myval * 1.5576424870466; if (isNaN(myval) || 1.5576424870466 < 0) return 'fehler'; else if (1.5576424870466==0) return 'n/a'; else return decfix(retval,2); }function GBPUSD (myval) { retval = myval * 1.5391839378238; if (isNaN(myval) || 1.5391839378238 < 0) return 'fehler'; else if (1.5391839378238==0) return 'n/a'; else return decfix(retval,2); }function GBPCNY (myval) { retval = myval * 10.480084196891; if (isNaN(myval) || 10.480084196891 < 0) return 'fehler'; else if (10.480084196891==0) return 'n/a'; else return decfix(retval,2); }function GBPHKD (myval) { retval = myval * 11.960168393782; if (isNaN(myval) || 11.960168393782 < 0) return 'fehler'; else if (11.960168393782==0) return 'n/a'; else return decfix(retval,2); }function GBPTWD (myval) { retval = myval * 49.24481865285; if (isNaN(myval) || 49.24481865285 < 0) return 'fehler'; else if (49.24481865285==0) return 'n/a'; else return decfix(retval,2); }function CNYEUR (myval) { retval = myval * 0.11453070683662; if (isNaN(myval) || 0.11453070683662 < 0) return 'fehler'; else if (0.11453070683662==0) return 'n/a'; else return decfix(retval,2); }function CNYCHF (myval) { retval = myval * 0.14862881421398; if (isNaN(myval) || 0.14862881421398 < 0) return 'fehler'; else if (0.14862881421398==0) return 'n/a'; else return decfix(retval,2); }function CNYUSD (myval) { retval = myval * 0.1468675164156; if (isNaN(myval) || 0.1468675164156 < 0) return 'fehler'; else if (0.1468675164156==0) return 'n/a'; else return decfix(retval,2); }function CNYGBP (myval) { retval = myval * 0.095419080726149; if (isNaN(myval) || 0.095419080726149 < 0) return 'fehler'; else if (0.095419080726149==0) return 'n/a'; else return decfix(retval,2); }function CNYHKD (myval) { retval = myval * 1.1412282734647; if (isNaN(myval) || 1.1412282734647 < 0) return 'fehler'; else if (1.1412282734647==0) return 'n/a'; else return decfix(retval,2); }function CNYTWD (myval) { retval = myval * 4.6988953263808; if (isNaN(myval) || 4.6988953263808 < 0) return 'fehler'; else if (4.6988953263808==0) return 'n/a'; else return decfix(retval,2); }function HKDEUR (myval) { retval = myval * 0.10035740394769; if (isNaN(myval) || 0.10035740394769 < 0) return 'fehler'; else if (0.10035740394769==0) return 'n/a'; else return decfix(retval,2); }function HKDCHF (myval) { retval = myval * 0.13023583245336; if (isNaN(myval) || 0.13023583245336 < 0) return 'fehler'; else if (0.13023583245336==0) return 'n/a'; else return decfix(retval,2); }function HKDUSD (myval) { retval = myval * 0.1286924972247; if (isNaN(myval) || 0.1286924972247 < 0) return 'fehler'; else if (0.1286924972247==0) return 'n/a'; else return decfix(retval,2); }function HKDGBP (myval) { retval = myval * 0.083610862913925; if (isNaN(myval) || 0.083610862913925 < 0) return 'fehler'; else if (0.083610862913925==0) return 'n/a'; else return decfix(retval,2); }function HKDCNY (myval) { retval = myval * 0.87624888311266; if (isNaN(myval) || 0.87624888311266 < 0) return 'fehler'; else if (0.87624888311266==0) return 'n/a'; else return decfix(retval,2); }function HKDTWD (myval) { retval = myval * 4.1174017816045; if (isNaN(myval) || 4.1174017816045 < 0) return 'fehler'; else if (4.1174017816045==0) return 'n/a'; else return decfix(retval,2); }function TWDEUR (myval) { retval = myval * 0.024373964279138; if (isNaN(myval) || 0.024373964279138 < 0) return 'fehler'; else if (0.024373964279138==0) return 'n/a'; else return decfix(retval,2); }function TWDCHF (myval) { retval = myval * 0.031630586316648; if (isNaN(myval) || 0.031630586316648 < 0) return 'fehler'; else if (0.031630586316648==0) return 'n/a'; else return decfix(retval,2); }function TWDUSD (myval) { retval = myval * 0.031255754004787; if (isNaN(myval) || 0.031255754004787 < 0) return 'fehler'; else if (0.031255754004787==0) return 'n/a'; else return decfix(retval,2); }function TWDGBP (myval) { retval = myval * 0.020306704895178; if (isNaN(myval) || 0.020306704895178 < 0) return 'fehler'; else if (0.020306704895178==0) return 'n/a'; else return decfix(retval,2); }function TWDCNY (myval) { retval = myval * 0.21281597706289; if (isNaN(myval) || 0.21281597706289 < 0) return 'fehler'; else if (0.21281597706289==0) return 'n/a'; else return decfix(retval,2); }function TWDHKD (myval) { retval = myval * 0.24287161006918; if (isNaN(myval) || 0.24287161006918 < 0) return 'fehler'; else if (0.24287161006918==0) return 'n/a'; else return decfix(retval,2); }