// Antal beställningsrader.
var MAX_ANTAL_BEST = 5;

// Verifierar att ett obligatoriskt fält är ifyllt.
function ifyllt(id, namn)
{
	var  elmt = document.getElementById(id);
	
	if (elmt.value == "") {
		alert("Var god ange " + namn + ".");
		elmt.focus();
		return false;
	}
	
	return true;
}


// Validerar beställningsformuläret
function validera()
{
	var  antalBevis = 0;
	var  elmt;
	var  rad;
	
	// Om inte agenten stöder DOM 1 överlåter vi valideringen åt servern.
	if (!document.getElementById) return true;
	
	// Kontrollera att obligatoriska beställarfält är ifyllda.
	if (!ifyllt("foretag", "namn eller företag")) return false;
	if (!ifyllt("padress", "adress")) return false;
	if (!ifyllt("postnr", "postnummer")) return false;
	if (!ifyllt("ort", "ort")) return false;
	if (!ifyllt("telefon", "telefonnummer")) return false;
	if (document.getElementById("faxkopia").checked && !ifyllt("fax", "faxnummer om faxkopior önskas")) return false;
	
	// Minst ett gravationsbevis måste vara beställt.
	for (rad = 1; rad <= MAX_ANTAL_BEST; ++rad) {
		var  antal = document.getElementById("antal-" + rad).value;
		var  firma = document.getElementById("firma-" + rad).value;
		var  ifyllRad;
		var  orgnr = document.getElementById("orgnr-" + rad).value;

		if ((orgnr != "") || (firma != "")) {
			ifylldRad = true;
		} else {
			ifylldRad = false;
		}

		// Antal.
		if (antal != "") {
			elmt = document.getElementById("antal-" + rad);
			try {
				var antalNr = parseInt(antal, 10);
				if (antalNr < 1) {
					alert("Ogiltigt antal: " + antal + ".");
					elmt.focus();
					return false;
				}
				if (!ifyllt("orgnr-" + rad, "organisations- eller personnummer (rad " + rad + ")")) return false;
				if (!ifyllt("firma-" + rad, "firma (rad " + rad + ")")) return false;
			} catch (u) {
				alert("Ogiltigt antal: " + antal + ".");
				elmt.focus();
				return false;
			}
		} else if (ifylldRad) {
			alert("Var god ange önskat antal.");
			elmt.focus();
			return false;
		}
	}
	
	elmt = document.getElementById("pul");
	if (!elmt.checked) {
		alert("Du kan inte beställa utan att godkänna behandlingen av personuppgifter.");
		elmt.focus();
		return false;
	}
	
	return true;
}


// Lägg till händelsehanteraren och sätt fokus till första fältet.
if (document.getElementById) {
	document.getElementById("gbbest").onsubmit = function(h) {
		if (!validera()) {
			if (window.event) {
				window.event.returnValue = false;
			} else {
				h.preventDefault();
			}
		}
	}

	document.getElementById("foretag").focus();
}
