
function xempty(el)
{
	var s = el.value;

	for (var i = 0; i < s.length; i++) {
		if (s[i] == ' ' || s[i] == '\t')
			continue;
		return false;
	}
	el.value = "";
	return true;
}

function check_string(elem, xname, can_be_empty)
{
	if (!elem) {
		alert("BUG! check_string: no such element!");
		return false;
	}
	if (xempty(elem) && !can_be_empty) {
		alert(xname + " ei saa olla tyhjä")
		return false;
	}
	return true;
}

function check_float(elem, xname, can_be_empty)
{
	if (!elem) {
		alert("BUG! chack_float: no such element!");
		return false;
	}
	if (xempty(elem)) {
		if (!can_be_empty) {
			alert(xname + " ei saa olla tyhjä");
			return false;
		}
		return true;
	}
	var re = /^\s*(\d+)[\.]?(\d*)\s*$/;
	if (!re.test(elem.value)) {
		alert(xname + " pitää olla numero. muista kayttaa pistetta pilkun sijasta.");
		return false;
	}
	return true;
}

function check_float_range(elem, xname, can_be_empty)
{
	alert("check_float_range: not implemented");
	return false;
}

function check_int(elem, xname, can_be_empty)
{
	if (!elem) {
		alert("BUG! check_int: no such element!");
		return false;
	}
	if (xempty(elem)) {
		if (!can_be_empty) {
			alert(xname + " ei saa olla tyhjä");
			return false;
		}
		return true;
	}
	var re = /^\s*(\d+)\s*$/;
	if (!re.test(elem.value)) {
		alert(xname + " pitää olla kokonaisluku");
		return false;
	}
	return true;
}

function check_int_range(elem, xname, can_be_empty, min, max)
{
	if (!elem) {
		alert("BUG! check_int_range: no such element!");
		return false;
	}
	if (xempty(elem)) {
		if (!can_be_empty) {
			alert(xname + " ei saa olla tyhjä");
			return false;
		}
		return true;
	}
	var re = /^\s*(\d+)\s*$/;
	if (!re.test(elem.value)) {
		alert(xname + " pitää olla kokonaisluku");
		return false;
	}
	var n = parseInt(elem.value);
	if (n < min || n > max) {
		alert(xname + " pitaa olla kokonaisluku väliltä " + min + "-" + max);
		return false;
	}
	return true;
}

function feedback_form_submit()
{
	var form = document.feedback_form;

	if (!form) {
		alert("BUG! feedback_form_submit(): no such form");
		return;
	}
	if (!check_string(form.name, "Nimi", false))
		return;
	if (!check_string(form.email, "Sähköposti", false))
		return;
	if (!check_string(form.phone, "Puhelinnumero", true))
		return;
	if (!check_string(form.comments, "Palaute", false))
		return;
	form.submit();
}

function order_info_form_submit()
{
	var form = document.order_info_form;

	if (!check_string(form.first_name, "Etunimi", false))
		return;
	if (!check_string(form.last_name, "Sukunimi", false))
		return;
	if (!check_string(form.address, "Osoite", false))
		return;
	if (!check_string(form.postinumero, "Postinumero", false))
		return;
	if (!check_string(form.toimipaikka, "Toimipaikka", false))
		return;
	if (!check_string(form.phone, "Puhelinnumero", false))
		return;
	if (!check_string(form.email, "Email", false))
		return;
	if (!check_string(form.delivery, "Toimitustapa", false))
		return;
	form.submit();
}

