

function formValidator(){
	// Make quick references to our fields
	var pwd = document.getElementById('pwd');
	var pwd2 = document.getElementById('pwd2');
	var email = document.getElementById('emailAddress');
	var mobil = document.getElementById('mobilenumber');
	var postnr = document.getElementById('zipCode');
	var adr = document.getElementById('address');
	
	// Check each input in the order that it appears in the form!
	if(email.value != 0 || mobil.value != 0){
	  if(lengthRestriction(pwd, 5, 100)){
		if(pwdConfirm(pwd2, pwd, pwd2)){
		  if(isNumeric(postnr, "Postnummer må fylles ut")){
		    if(isEmpty(adr, "Adressen må fylles ut")){
		      if(email.value != 0){
		        if(emailValidator(email, "Epostadressen er ikke gyldig")){
			      return true;
			    }
		      }
		      else{
		        return true;
		      }
		    }
		  }
		}
	  }
	}
	else{
	  alert("Det må fylles ut en epostadresse eller mobilnummer");
	  email.focus();
	}
	return false;
	
}

function isEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);
		elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}

function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphabet(elem, helperMsg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Passordet må ha en lengde på minst " +min+ " tegn");
		elem.focus();
		return false;
	}
}

function pwdConfirm(elem, pwd, pwd2){
	var uInput = elem.value;
	var uInput2 = pwd.value;
	if(uInput == uInput2){
		return true;
	}else{
		alert("Passordene er ikke like ");
		elem.focus();
		return false;
	}
}

function madeSelection(elem, helperMsg){
	if(elem.value == "Please Choose"){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		elem.borderColor("#FF0000");
		return false;
	}
}
