
function validateEmail(elementValue) {
	var emailPattern = /^.+\@((\[(\d{1,3}.){3}\d{1,3}\])|([-a-z0-9]+\.)*[a-z0-9]{2,})$/;
	return emailPattern.test(elementValue); 
}

function validatePNR(strInput) {
	var intData;
	var intValue = 1;
	var strDataString = "";
	var intCalculation = 0;
	var intCeckNum = 0;
	var blnValid = false;
	var regValidation = /^\d{8}-\d{4}$/;
	
	if(regValidation.test(strInput)) {
		var strPersonNo = strInput.replace(/\-/g, "");	

		if(strPersonNo.length == 12) {
			strPersonNo = strPersonNo.substring(2, strPersonNo.length);
		}

		for(intNum = 0; intNum < strPersonNo.length - 1; intNum++) {
			intValue = (intValue == 1) ? 2:1;
			intData = strPersonNo.substr(intNum, 1) * intValue;
			strDataString += intData.toString();
		}

		for(intNum = 0; intNum < strDataString.length; intNum++) {
			intCalculation += parseInt(strDataString.substr(intNum, 1), 10);
		}

		strCalculation = intCalculation.toString();
		intCeckNum = (10 - parseInt(strCalculation.substr(1, 1), 10)) % 10;
		
		if(strPersonNo.substr(9,1) == intCeckNum.toString()) {
			blnValid = true;
		}
	}
	return blnValid;
}

function validateMemberRegistration() {
	var objF = document.forms[0];
	var objE = objF.elements;

	var strError = validatePerson("");	

	if(strError == "") {
		objF.action = "/mkk/core/index.asp?MKKpage=medlem&template=start";
		objF.method = "post";
		objE["hcmd"].value = "addmemberinfo";
		objF.submit();
	} else {
		alert(strError);
	}
}


function validatePerson(intNum) {
	var objF = document.forms[0];
	var objE = objF.elements;
	
	var strError = "";
		
	if(objE["iname" + intNum].value != "" && objE["ipersonno" + intNum].value != "" && objE["iemail" + intNum].value != "" && objE["iemailagain" + intNum].value != "" && objE["iphone" + intNum].value != "" && objE["iaddress" + intNum].value != "" && objE["izip" + intNum].value != "" && objE["icity" + intNum].value != "") {
		if(validatePNR(objE["ipersonno" + intNum].value)) {
			if(objE["iemail" + intNum].value != objE["iemailagain" + intNum].value) {
				strError = "Din epost matchar inte varandra, vänligen kolla att du har skrivit rätt i bägge fälten och försök igen.";
			} else {
				if(!validateEmail(objE["iemail" + intNum].value)) {
					strError = "Din epost är inte korrekt formaterad. Vänligen kolla att du har skrivit rätt och försök igen.";		
				}
			}
		} else {
			strError = "Ditt personnummer är inte korrekt ifyllt. Kontrollera nummrena och försök igen.\nOm du vet med dig att du har skrivit rätt men får ändå fel skicka ett mail till kursansvarig så tar jag emot anmälan den vägen istället.";
		}
	} else {
		strError = "Du har missat någon obligatorisk information. Vänligen kolla att alla fälten markerade med * är ifyllda och försök igen.";			
	}
	
	return strError;
}

function validateCourseRegistration(intNum) {
	var objF = document.forms[0];
	var objE = objF.elements;
	var strError = "";

	for(var i = 1; i <= intNum; i++) {
		strError = validatePerson(intNum);
		if(strError != "") {
			break;
		}
	}
	
	if(strError == "") {
		objF.submit();
	} else {
		alert(strError);
	}
}

