function makePostString(form) {
	postVars = "";
	for (var i = 0; i < form.elements.length; i++) {
		if (form.elements[i].className == "editor") {
			var editor = tinyMCE.getInstanceById(form.elements[i].id);
			value = editor.getContent();
		} else {
			value = form.elements[i].value;
		}
		
		// Add to varstring if checked
		if (form.elements[i].type == "radio") {
			if (form.elements[i].checked == true) {
				postVars += form.elements[i].name + "=" + encodeURIComponent(value) + "&";
			}
		} else if (form.elements[i].type == "checkbox") {
			if (form.elements[i].checked == true) {
				postVars += form.elements[i].name + "=" + encodeURIComponent(value) + "&";
			} else {
				postVars += form.elements[i].name + "=&";
			}
		} else {
			postVars += form.elements[i].name + "=" + encodeURIComponent(value) + "&";
		}
	}
	
	return postVars;
}

function checkFormValues(form) {
	var ok = true
	for (var i = 0; i < form.elements.length; i++) {
		if ($(form.elements[i]).hasClass("cms_required_value") && form.elements[i].value == "") {
			$(form.elements[i]).addClass("cms_error");
			$(form.elements[i]).focus(function() {
				$(this).removeClass("cms_error");
			});
			ok = false;
		} else if ($(form.elements[i]).hasClass("cms_required_number") && !isNumeric(form.elements[i].value)) {
			
			$(form.elements[i]).addClass("cms_error");
			$(form.elements[i]).focus(function() {
				$(this).removeClass("cms_error");
			});
			ok = false;
		} else if ($(form.elements[i]).hasClass("cms_required_email") && !isEmail(form.elements[i].value)) {
			$(form.elements[i]).addClass("cms_error");
			$(form.elements[i]).focus(function() {
				$(this).removeClass("cms_error");
			});
			ok = false;
		} else if ($(form.elements[i]).hasClass("cms_required_date") && !isDate(form.elements[i].value, true)) {
			$(form.elements[i]).addClass("cms_error");
			$(form.elements[i]).focus(function() {
				$(this).removeClass("cms_error");
			});
			ok = false;
		} else if ($(form.elements[i]).hasClass("cms_date") && !isDate(form.elements[i].value, false)) {
			$(form.elements[i]).addClass("cms_error");
			$(form.elements[i]).focus(function() {
				$(this).removeClass("cms_error");
			});
			ok = false;
		} else if ($(form.elements[i]).hasClass("cms_date_special") && !isDateSpecial(form.elements[i].value, false)) {
			$(form.elements[i]).addClass("cms_error");
			$(form.elements[i]).focus(function() {
				$(this).removeClass("cms_error");
			});
			ok = false;
		} else if ($(form.elements[i]).hasClass("cms_required_accountnumber") && !isAccountNumber(form.elements[i].value)) {
			$(form.elements[i]).addClass("cms_error");
			$(form.elements[i]).focus(function() {
				$(this).removeClass("cms_error");
			});
			ok = false;
		} else if ($(form.elements[i]).hasClass("cms_required_checked") && form.elements[i].checked == false) {
			$(form.elements[i]).addClass("cms_error");
			$(form.elements[i]).focus(function() {
				$(this).removeClass("cms_error");
			});
			ok = false;
		}
	}
	
	return ok;
}

function isAccountNumber(val) {
	// verwijder alle tekens die geen cijfers zijn
	var val2 = val.replace(/\D/, "");
	if(val2 != val || val == "123456789"){
		return false
	}
	aantal_tekens = val.length;
	if (aantal_tekens == 9) {
		var som = 0;
		// loop door de 9 cijfers met de 11 proef formule
		for (i=1; i<10; i++) {
			getal = val.charAt(i-1);
			som += getal * (10-i);
		}
		// geef resultaat van check terug
		if (som % 11 == 0) {
			return true
		} else {
			return false
		}
	} else {
		return isNumeric(val);
	}
}

function isNumeric(val) {
	if (isNaN(parseFloat(val))) {
		return false;
	}
	return true;
}

function isEmail(val) {
	filter = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	if (!filter.test(val)) {
		return false;
	}
	return true;
}

function isDate(val, required) {
	if(val != ""){
		var dateArray = val.split("-");
		var date = new Date()
		try {
			date.setFullYear(dateArray[2], dateArray[1]-1, dateArray[0]);
		} catch(err) {
			return false;
		}
		if (dateArray[0] == date.getDate() && dateArray[1]-1 == date.getMonth() &&  dateArray[2] == date.getFullYear()) {
			return true;
		} else {
			return false;
		}
	} else if(required){
		return false;
	}
	return true;
}
