function trim(str) {
	return str.replace(/^\s*/, "").replace(/\s*$/, "");
}

function validPhone(str) {
	str = trim(str);
	if (str.search(/^[\+]?[0-9]+$/) == 0) {
		return true;
	}
	return false;
}

function validEmail(str) {
	str = trim(str);
	if (str.search(/^[^@]+@[^\.]+\..+$/) == 0) {
		return true;
	}
	return false;
}

function checkPaytoolForm(oForm, bHtmlOutput) {
	var errstr = "";

	if (bHtmlOutput) {
		sNewLine = "<br>\n";
	}else{
		sNewLine = "\n";
	}
	if (oForm.tb_name && trim(oForm.tb_name.value) == '') { errstr = errstr + "Vul de naam in."+sNewLine; }
	if (oForm.tb_address && trim(oForm.tb_address.value) == '') { errstr = errstr + "Vul het adres in."+sNewLine; }
	if (oForm.tb_postcode && trim(oForm.tb_postcode.value) == '') { errstr = errstr + "Vul de postcode in."+sNewLine; }
	if (oForm.tb_city && trim(oForm.tb_city.value) == '') { errstr = errstr + "Vul de plaats in."+sNewLine; }
	if (oForm.tb_phone && trim(oForm.tb_phone.value) == '') { 
		errstr = errstr + "Vul het telefoonnummer in."+sNewLine; 
	} else {
		// Ook testen of telefoon geldig is
		if (!validPhone(oForm.tb_phone.value)) { errstr = errstr + "Het telefoonnummer is niet geldig."+sNewLine; }
	}
	
	if (trim(oForm.tb_fax.value) != "" && !validPhone(oForm.tb_fax.value)) {
		errstr = errstr + "Het faxnummer is niet geldig."+sNewLine;
	}
	
	if (oForm.tb_email && trim(oForm.tb_email.value) == '') {
		errstr = errstr + "Vul het e-mailadres in."+sNewLine;
	} else {
		if (!validEmail(oForm.tb_email.value)) {
			errstr = errstr + "Het e-mailadres is niet geldig."+sNewLine;
		}
	}
	
	if (oForm.tb_paymethod) {
		found = false;
		if (oForm.tb_paymethod.length) {
			// Meerdere opties mogelijk
			for(idx = 0; idx < oForm.tb_paymethod.length; idx++) {
				if (oForm.tb_paymethod[idx].checked) {
					found = true;
					break;
				}
			}
		}else{
			found = oForm.tb_paymethod.checked;
		}
		if (!found) {
			errstr = errstr + "Maak een keuze uit de betaalmethoden." + sNewLine;
		}
	}
	
	if (oForm.cb_voorwaarden && !oForm.cb_voorwaarden.checked) {
		errstr = errstr + "U moet nog aangeven dat u de leveringsvoorwaarden accepteert." + sNewLine;
	}
	
	return errstr;
}
