function checkForm(object, type)
{
	var error = new function error(){
		var value;
	};
	
	switch(type)
	{
		case 'postcode':
			if(value = check_postcode(object.value, error))
				object.value = value;
		break;
		case 'housenumber':
			check_housenumber(object.value, error);
		break;
		case 'phone':
			check_phone(object.value, error);
		break;
		case 'email':
			check_email(object.value, error);
		break;
		case 'account':
			if(value = check_account(object.value, error))
				object.value = value;
		break;
	}
	
	if(error.value != null)
	{
		showDropdown(object, $('checkDropdown'), 'right center');
		$('checkDropdown').innerHTML = error.value;
		object.className = 'error';
		return false;
	}
	else
	{
		if(object.className == 'error')
			hideDropdowns();
		object.className = '';
		return true;
	}
	
}

function check_housenumber(value, error)
{
	if(value.length > 5)
	{
		error.value = 'Het opgegeven huisnummer is te lang';
		return false;
	}
	if(isNaN(value))
	{
		error.value = 'Het huisnummer kan alleen uit cijfers bestaan';
		return false;
	}
}

function check_postcode(value, error)
{
	value = value.replace(' ', '');
	value = value.toUpperCase();
	var numbers = value.substring(0, 4);
	if(value.length > 6 || (value.length > 0 && value.length < 4) || isNaN(numbers))
	{
		error.value = 'De opgegeven postcode is onjuist';
		return false;
	}
	return value;
}

function check_phone(value, error)
{
	value = value.replace(' ', '');
	if(value.length == 0)
		return value;
	if(value.length > 15 || isNaN(value) || (value.length < 10 && value.length != 0))
	{
		error.value = 'Het telefoonnummber is onjuist';
		return false;
	}
	return value;
}

function check_email(value, error)
{
	if(!value.match(/^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/) && value != '')
	{
		error.value = 'Het emailadres is onjuist';
		return false;
	}
	return value;
}

function check_account(value, error)
{
	value = value.replace(/\./m, '');
	if(isNaN(value))
	{
		error.value = 'Het rekeningnummer is onjuist';
		return false;
	}
	if(value > 100000000)
	{
		var check = 0;
		for(i = 0; i < value.length; i++)
		{
			check += (9 - i) * value[i];
		}
		
		if(check % 11 != 0)
		{
			error.value = 'Het rekeningnummer is onjuist';
			return false;
		}
	}
	else
	{
		if(value.length < 3 || value.length > 10)
		{
			error.value = 'Het rekeningnummer is onjuist';
			return false;
		}
	}

	return value;
}
