/* Funktion för alertmeddelanden som refereras till i if-satserna i funktionen valideraFormular */
function fixElement(element, message) {
	alert(message);
	element.focus();
}

/* Validerar inmatat namn */
function validateName(name) {
	/* Giltiga tecken för inmatning i meddelandefält är sv. alfabetet, tyska Ü, mellanslag och bindestreck. Gemener och versaler */
	var bokstaver = /^[a-öA-Ö0-9;üÜ -]+$/;
	
	/* Kollar om något är ifyllt i namnfältet och endast giltiga tecken är inmatade */
	if (name.value == "" || !(name.value.match(bokstaver))) {
		fixElement(name, "Skriv in ett korrekt namn!\n(Endast gemener, versaler och siffror...)");
		return false;
	} else {
		return true;
	}
}

/* Validerar inmatad e-mailadress */
function validateEmail(email) {
	/* Variabler för e-postvalideringen,  positioner för @, sista punkten och sista positionen (stränglängden) */
	var apos, dotpos, lastpos;
	
	/* Ger e-postvariablerna sina värden */
	apos = email.value.indexOf("@");
	dotpos = email.value.lastIndexOf(".");
	lastpos = email.value.length-1;
	
	/* Kollar om det finns minst ett tecken före @, minst ett tecken mellan @ och sista punkten och 2-3 tecken efter sista punkten */
	if ((email.value == "") || ((email.value != "") && (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2))) { 
		fixElement(email, "Ange en giltig epostadress!");
		return false;
	} else {
		return true;
	}
}

/* Kollar att ett textfält är ifyllt */
function validateTextbox(textbox, message) {
	if (textbox.value == "") {	/* Kollar meddelandefältet */
		fixElement(textbox, message);
		return false;
	} else {
		return true;
	}
}

/* Kollar att ett textfält är ifyllt */
function validateTextarea(textarea, message) {
	if (textarea.value == "") {	/* Kollar textarean */
		fixElement(textarea, message);
		return false;
	} else {
		return true;
	}
}



/* Validering av formuläret. Kollar namn, epost och telefonnummer */
function valideraInlagg(form) {
	var passed = false; /* Variabel för "OK" satt till false */
	
	if (!validateName(form.txtName)) { /* Kollar om något är ifyllt i namnfältet och endast giltiga tecken är inmatade */
	} else if (!validateEmail(form.txtEmail)) { /* Kollar om det finns minst ett tecken före @, minst ett tecken mellan @ och sista punkten och 2-3 tecken efter sista punkten */
	} else if (!validateTextarea(form.meddelande), "Fyll i ett meddelande!") {	/* Kollar meddelandefältet */
	} else { /* Om allt annat är OK sätts variabeln "passed" till true och formuläret är alltså korrekt ifyllt */
		passed=true;
	}
	/* Returnerar "passed" */
	return passed;
}

/* Validering av formuläret. Kollar namn, epost och telefonnummer */
function valideraDans(form) {
	var passed=false; /* Variabel för "OK" satt till false */
	
	if (!validateTextbox(form.txtBand, "Skriv in dansbandets namn!")) { /* Kollar om orkester är ifylld */
	} else if (!validateTextbox(form.txtPark, "Skriv in ett namnet på dansplatsen!")) { /* Kollar om plats är ifylld */
	} else { /* Om allt annat är OK sätts variabeln "passed" till true och formuläret är alltså korrekt ifyllt */
		passed=true;
	}
	/* Returnerar "passed" */
	return passed;
}

/* Validering av formuläret. Kollar namn, epost och telefonnummer */
function valideraContact(form) {
	var passed=false; /* Variabel för "OK" satt till false */
	
	if (!validateTextbox(form.txtTitle, "Skriv in kontaktens titel!")) { /* Kollar om orkester är ifylld */
	} else if (!validateTextbox(form.txtContact, "Skriv in kontaktinformationen!")) { /* Kollar om plats är ifylld */
	} else { /* Om allt annat är OK sätts variabeln "passed" till true och formuläret är alltså korrekt ifyllt */
		passed=true;
	}
	/* Returnerar "passed" */
	return passed;
}

/* Validera kontaktformulär */
function valideraKontakt(form) {
	var passed=false; /* Variabel för "OK" satt till false */
	
	/* Kollar om något är ifyllt i namnfältet och endast giltiga tecken är inmatade */
	if (!validateName(form.txtName)) {
	} else if (!validateEmail(form.txtEmail)) {
	} else if (!validateTextbox(form.txtHeader, "Fyll i en rubrik!")) {
	} else if (!validateTextarea(form.txaContent, "Fyll i ett meddelande!")) {	/* Kollar meddelandefältet */
	} else { /* Om allt annat är OK sätts variabeln "passed" till true och formuläret är alltså korrekt ifyllt */
		passed=true;
	}
	/* Returnerar "passed" */
	return passed;
}

/* Validera kontaktformulär */
function validateRegistration(form) {
	var passed=false; /* Variabel för "OK" satt till false */
	
	/* Kollar om något är ifyllt i namnfältet och endast giltiga tecken är inmatade */
	if (!validateName(form.txtRegistrationeventName)) {
	} else if (!validateEmail(form.txtRegistrationeventEmail)) {
	} else { /* Om allt annat är OK sätts variabeln "passed" till true och formuläret är alltså korrekt ifyllt */
		passed = true;
	}
	/* Returnerar "passed" */
	return passed;
}

/* Validera kontaktformulär */
function validateArticle(form) {
	var passed=false; /* Variabel för "OK" satt till false */
	
	/* Kollar om något är ifyllt i namnfältet och endast giltiga tecken är inmatade */
	if (!validateTextbox(form.txtHeader, "Fyll i en rubrik!")) {
	} else if (!validateTextarea(form.txaContent, "Skriv en artikel!")) {	/* Kollar meddelandefältet */
	} else { /* Om allt annat är OK sätts variabeln "passed" till true och formuläret är alltså korrekt ifyllt */
		passed=true;
	}
	/* Returnerar "passed" */
	return passed;
}
