

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.4580355891831; if (isNaN(myval) || 1.4580355891831 < 0) return 'fehler'; else if (1.4580355891831==0) return 'n/a'; else return decfix(retval,2); }function EURUSD (myval) { retval = myval * 1.3753678015973; if (isNaN(myval) || 1.3753678015973 < 0) return 'fehler'; else if (1.3753678015973==0) return 'n/a'; else return decfix(retval,2); }function EURGBP (myval) { retval = myval * 0.90570267619448; if (isNaN(myval) || 0.90570267619448 < 0) return 'fehler'; else if (0.90570267619448==0) return 'n/a'; else return decfix(retval,2); }function EURCNY (myval) { retval = myval * 9.3910606697492; if (isNaN(myval) || 9.3910606697492 < 0) return 'fehler'; else if (9.3910606697492==0) return 'n/a'; else return decfix(retval,2); }function EURHKD (myval) { retval = myval * 10.669609079445; if (isNaN(myval) || 10.669609079445 < 0) return 'fehler'; else if (10.669609079445==0) return 'n/a'; else return decfix(retval,2); }function EURTWD (myval) { retval = myval * 43.67675493905; if (isNaN(myval) || 43.67675493905 < 0) return 'fehler'; else if (43.67675493905==0) return 'n/a'; else return decfix(retval,2); }function CHFEUR (myval) { retval = myval * 0.68585431481837; if (isNaN(myval) || 0.68585431481837 < 0) return 'fehler'; else if (0.68585431481837==0) return 'n/a'; else return decfix(retval,2); }function CHFUSD (myval) { retval = myval * 0.94330194118778; if (isNaN(myval) || 0.94330194118778 < 0) return 'fehler'; else if (0.94330194118778==0) return 'n/a'; else return decfix(retval,2); }function CHFGBP (myval) { retval = myval * 0.62118008841053; if (isNaN(myval) || 0.62118008841053 < 0) return 'fehler'; else if (0.62118008841053==0) return 'n/a'; else return decfix(retval,2); }function CHFCNY (myval) { retval = myval * 6.4408994810686; if (isNaN(myval) || 6.4408994810686 < 0) return 'fehler'; else if (6.4408994810686==0) return 'n/a'; else return decfix(retval,2); }function CHFHKD (myval) { retval = myval * 7.3177974245628; if (isNaN(myval) || 7.3177974245628 < 0) return 'fehler'; else if (7.3177974245628==0) return 'n/a'; else return decfix(retval,2); }function CHFTWD (myval) { retval = myval * 29.955890832212; if (isNaN(myval) || 29.955890832212 < 0) return 'fehler'; else if (29.955890832212==0) return 'n/a'; else return decfix(retval,2); }function USDEUR (myval) { retval = myval * 0.7270782396088; if (isNaN(myval) || 0.7270782396088 < 0) return 'fehler'; else if (0.7270782396088==0) return 'n/a'; else return decfix(retval,2); }function USDCHF (myval) { retval = myval * 1.0601059494703; if (isNaN(myval) || 1.0601059494703 < 0) return 'fehler'; else if (1.0601059494703==0) return 'n/a'; else return decfix(retval,2); }function USDGBP (myval) { retval = myval * 0.65851670741646; if (isNaN(myval) || 0.65851670741646 < 0) return 'fehler'; else if (0.65851670741646==0) return 'n/a'; else return decfix(retval,2); }function USDCNY (myval) { retval = myval * 6.8280358598207; if (isNaN(myval) || 6.8280358598207 < 0) return 'fehler'; else if (6.8280358598207==0) return 'n/a'; else return decfix(retval,2); }function USDHKD (myval) { retval = myval * 7.7576405867971; if (isNaN(myval) || 7.7576405867971 < 0) return 'fehler'; else if (7.7576405867971==0) return 'n/a'; else return decfix(retval,2); }function USDTWD (myval) { retval = myval * 31.75641809291; if (isNaN(myval) || 31.75641809291 < 0) return 'fehler'; else if (31.75641809291==0) return 'n/a'; else return decfix(retval,2); }function GBPEUR (myval) { retval = myval * 1.1041150990099; if (isNaN(myval) || 1.1041150990099 < 0) return 'fehler'; else if (1.1041150990099==0) return 'n/a'; else return decfix(retval,2); }function GBPCHF (myval) { retval = myval * 1.6098391089109; if (isNaN(myval) || 1.6098391089109 < 0) return 'fehler'; else if (1.6098391089109==0) return 'n/a'; else return decfix(retval,2); }function GBPUSD (myval) { retval = myval * 1.5185643564356; if (isNaN(myval) || 1.5185643564356 < 0) return 'fehler'; else if (1.5185643564356==0) return 'n/a'; else return decfix(retval,2); }function GBPCNY (myval) { retval = myval * 10.368811881188; if (isNaN(myval) || 10.368811881188 < 0) return 'fehler'; else if (10.368811881188==0) return 'n/a'; else return decfix(retval,2); }function GBPHKD (myval) { retval = myval * 11.780476485149; if (isNaN(myval) || 11.780476485149 < 0) return 'fehler'; else if (11.780476485149==0) return 'n/a'; else return decfix(retval,2); }function GBPTWD (myval) { retval = myval * 48.22416460396; if (isNaN(myval) || 48.22416460396 < 0) return 'fehler'; else if (48.22416460396==0) return 'n/a'; else return decfix(retval,2); }function CNYEUR (myval) { retval = myval * 0.10648424444975; if (isNaN(myval) || 0.10648424444975 < 0) return 'fehler'; else if (0.10648424444975==0) return 'n/a'; else return decfix(retval,2); }function CNYCHF (myval) { retval = myval * 0.15525781809501; if (isNaN(myval) || 0.15525781809501 < 0) return 'fehler'; else if (0.15525781809501==0) return 'n/a'; else return decfix(retval,2); }function CNYUSD (myval) { retval = myval * 0.1464550011936; if (isNaN(myval) || 0.1464550011936 < 0) return 'fehler'; else if (0.1464550011936==0) return 'n/a'; else return decfix(retval,2); }function CNYGBP (myval) { retval = myval * 0.096443065170685; if (isNaN(myval) || 0.096443065170685 < 0) return 'fehler'; else if (0.096443065170685==0) return 'n/a'; else return decfix(retval,2); }function CNYHKD (myval) { retval = myval * 1.1361452613989; if (isNaN(myval) || 1.1361452613989 < 0) return 'fehler'; else if (1.1361452613989==0) return 'n/a'; else return decfix(retval,2); }function CNYTWD (myval) { retval = myval * 4.6508862497016; if (isNaN(myval) || 4.6508862497016 < 0) return 'fehler'; else if (4.6508862497016==0) return 'n/a'; else return decfix(retval,2); }function HKDEUR (myval) { retval = myval * 0.093724146082023; if (isNaN(myval) || 0.093724146082023 < 0) return 'fehler'; else if (0.093724146082023==0) return 'n/a'; else return decfix(retval,2); }function HKDCHF (myval) { retval = myval * 0.13665314055339; if (isNaN(myval) || 0.13665314055339 < 0) return 'fehler'; else if (0.13665314055339==0) return 'n/a'; else return decfix(retval,2); }function HKDUSD (myval) { retval = myval * 0.12890517275342; if (isNaN(myval) || 0.12890517275342 < 0) return 'fehler'; else if (0.12890517275342==0) return 'n/a'; else return decfix(retval,2); }function HKDGBP (myval) { retval = myval * 0.084886209930531; if (isNaN(myval) || 0.084886209930531 < 0) return 'fehler'; else if (0.084886209930531==0) return 'n/a'; else return decfix(retval,2); }function HKDCNY (myval) { retval = myval * 0.88016914207672; if (isNaN(myval) || 0.88016914207672 < 0) return 'fehler'; else if (0.88016914207672==0) return 'n/a'; else return decfix(retval,2); }function HKDTWD (myval) { retval = myval * 4.0935665602963; if (isNaN(myval) || 4.0935665602963 < 0) return 'fehler'; else if (4.0935665602963==0) return 'n/a'; else return decfix(retval,2); }function TWDEUR (myval) { retval = myval * 0.022895473837181; if (isNaN(myval) || 0.022895473837181 < 0) return 'fehler'; else if (0.022895473837181==0) return 'n/a'; else return decfix(retval,2); }function TWDCHF (myval) { retval = myval * 0.033382415685822; if (isNaN(myval) || 0.033382415685822 < 0) return 'fehler'; else if (0.033382415685822==0) return 'n/a'; else return decfix(retval,2); }function TWDUSD (myval) { retval = myval * 0.031489697517973; if (isNaN(myval) || 0.031489697517973 < 0) return 'fehler'; else if (0.031489697517973==0) return 'n/a'; else return decfix(retval,2); }function TWDGBP (myval) { retval = myval * 0.020736491927076; if (isNaN(myval) || 0.020736491927076 < 0) return 'fehler'; else if (0.020736491927076==0) return 'n/a'; else return decfix(retval,2); }function TWDCNY (myval) { retval = myval * 0.21501278386763; if (isNaN(myval) || 0.21501278386763 < 0) return 'fehler'; else if (0.21501278386763==0) return 'n/a'; else return decfix(retval,2); }function TWDHKD (myval) { retval = myval * 0.24428575553139; if (isNaN(myval) || 0.24428575553139 < 0) return 'fehler'; else if (0.24428575553139==0) return 'n/a'; else return decfix(retval,2); }