/*
function CheckNumeric()
{
	var key = window.event.keyCode;
	if ( key > 47 && key < 58 )
		return; // if so, do nothing
	else
		window.event.returnValue = null; // discard character
}
*/
function CheckNumeric(evt){
	var evt = evt || window.event
  var nbr = ( evt.keyCode ) ? evt.keyCode : evt.which
	if ( ( nbr > 47 && nbr < 58 ) || nbr == 8 || nbr == 9 || nbr == 37 || nbr == 39 )
	  return true
	else
	  return false
}

function addZeroes(os, l)
{
	var s  = new String(os);
		ns = new String;
	for (i=0; i < l-s.length; i++) ns += '0';
	
	return ns+s;
}


function MIF_UpdateH(i) {
	mainName = i.name.substr(0, i.name.length-5);
	mainElement = i.form.elements[mainName];
	mainElement.value -= parseInt(mainElement.value);
	if (isNaN(mainElement.value)) mainElement.value = 0;
	mainElement.value = i.value + '.' + Math.round(parseFloat(mainElement.value)*100);
};


function MIF_UpdateC(i) {
	if (isNaN(i.value)) i.value = 0; 
	i.value = addZeroes(i.value,2);
	mainName = i.name.substr(0, i.name.length-5);
	mainElement = i.form.elements[mainName];
	if (isNaN(mainElement.value)) mainElement.value = 0;
	mainElement.value = parseInt(mainElement.value) + '.' + i.value;
};

function MIF_Update(i, nValue) {
	nValue = Math.round( 100 * nValue ) / 100;
	nHeel = parseInt( nValue );
	nCent = Math.round( ( nValue - nHeel ) * 100 );
	nCent = Math.abs( nCent );
	nCent = addZeroes( nCent, 2 );
	
	i.value = nValue;
	
	HName = i.name + '_heel';
	HElement = i.form.elements[HName];
	HElement.value = nHeel;
	
	CName = i.name + '_cent';
	CElement = i.form.elements[CName];
	CElement.value = nCent;
};

function CreateMoneyInputField (cFieldName, nValue, nHeelWidth, nReadonly, cOnChange, cClassName) {
	if (nReadonly == null) nReadonly = 0;
	if (nValue == null) nValue = 0.0;
	if (nHeelWidth == null) nHeelWidth = 6;
	if (cOnChange == null) cOnChange = '';
	if (cClassName == null) cClassName = '';
	
	// 1 cijfer is 7px breed. Breedte: 6 + 8 * maxlength
	nHeelPWidth = 6+(nHeelWidth*7);

	nValue = Math.round( 100 * nValue ) / 100;
	nHeel = parseInt( nValue );
	nCent = Math.round( ( nValue - nHeel ) * 100 );
	nCent = addZeroes( nCent, 2 );

	if (cOnChange != '')
		onChangeText = '; '+cOnChange;
	else
		onChangeText = '';
	
	document.write('<input type="hidden" name="'+cFieldName+'" value="'+nValue+'">');
	document.write('&euro; <input type="text" style="width:'+nHeelPWidth+'px; text-align: right" maxlength="'+nHeelWidth+'" name="'+cFieldName+'_heel" value="'+nHeel+'" onChange="MIF_UpdateH(this) '+onChangeText+'" class="'+cClassName+'" ');
	if (nReadonly) document.write('readonly ');
	document.write(' onkeypress="return CheckNumeric(event)"');
	document.write('>');
	document.write(',<input type="text" style="width:20px" maxlength="2" name="'+cFieldName+'_cent" value="'+nCent+'" onChange="MIF_UpdateC(this) '+onChangeText+'" class="'+cClassName+'" ');
	if (nReadonly) document.write('readonly ');
	document.write(' onkeypress="return CheckNumeric(event)"');
	document.write('>');
};