var error = "Ukendt fejl!";

// email

function checkEmail (strng) {
error="";
if (strng == "") {
   error = "Du har ikke indtastet en email-adresse.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Indtast venligst en gyldig email-adresse.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "Email-adressen indeholder ugyldige tegn.\n";
       }
    }
return error;    
}


// phone number - strip out delimiters and check for 8 digits

function checkPhone (strng) {
error = "";
if (strng == "") {
   error = "Du har ikke indtastet et telefonnummer.\n";
}

var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       error = "Telefonnummeret indeholder ugyldige tegn.";
    }
    if (!(stripped.length == 8)) {
	error = "Telefonnummeret har ugyldig længde, det skal indeholder 8 cifre.\n";
    } 
return error;
}


// password - between 6-10 chars, uppercase, lowercase, and numeral

function checkPassword (strng) {
error = "";
if (strng == "") {
   error = "Du har ikke indtastet et kodeord.\n";
}

    var illegalChars = /[\W_]/; // allow only letters and numbers
    
    if ((strng.length < 6) || (strng.length > 10)) {
       error = "Kodeordet har ugyldig længde, min. 6 og max. 10 tegn.\n";
    }
    else if (illegalChars.test(strng)) {
      error = "Kodeordet indeholder ugyldige tegn.\n";
    } 
    else if (!((strng.search(/(a-z)+/)) && (strng.search(/(A-Z)+/)) && (strng.search(/(0-9)+/)))) {
       error = "Koden skal indeholde mindst ét lille bogstav, ét stort bogstav og mindst ét tal.\n";
    }  
return error;    
}    


// username - 4-10 chars, uc, lc, and underscore only.

function checkUsername (strng) {
error = "";
if (strng == "") {
   error = "Du har ikke indtastet et brugernavn.\n";
}


    var illegalChars = /\W/; // allow letters, numbers, and underscores
    if ((strng.length < 4) || (strng.length > 10)) {
       error = "Brugernavnet har ugyldig længde, min. 4 og max. 10 tegn.\n";
    }
    else if (illegalChars.test(strng)) {
    error = "Brugernavnet indeholder ugyldige tegn.\n";
    } 
return error;
}       


// non-empty textbox

function isEmpty(strng, title) {
error = "";
  if (strng.length == 0) {
     error = "Du har ikke udfyldt feltet \""+title+"\".\n"
  }
return error;	  
}

// er ens

function isAlike(strng1, strng2, title1, title2) {
error = "";
	if (strng1 != strng2)
	{
		error = "\""+title1+"\" og \""+title2+"\" er ikke ens.\n";
	}
return error;
}

// exactly one radio button is chosen

function checkRadio(checkvalue, title) {
error = "";
   if (!(checkvalue)) {
       error = "Vælg venligst én i feltet \""+title+"\".\n";
    }
return error;
}

// valid selector from dropdown list

function checkDropdown(choice, title) {
error = "";
    if (choice == 0) {
    error = "Vælg venligst mindst én i feltet \""+title+"\".\n";
    }
return error;
}

function submitForm(formName)
{
	pis = "";
	if(error != ""){
		pis = "Der er fejl i et eller flere felter, ret venligst: \""+error+"\"";
		alert(pis);
	}else{
		document.getElementById(formName).submit();
	}
}
