/********************************************************************/
function isEmpty(string) {
    if (string == "")
        return false;
    else
        return true;
}
/********************************************************************/

function isEmail(string) {

   if (!string) return false;
   var iChars = "*|,\":<>[]{}`\;()&$#%";

   for (var i = 0; i < string.length; i++) {
      if (iChars.indexOf(string.charAt(i)) != -1)
         return false;
   }
   return true;
}                      
/********************************************************************/
function isProper(string) {

   if (!string) return false;
   var iChars = "*|,\":<>[]{}`\;()@&$#%";

   for (var i = 0; i < string.length; i++) {
      if (iChars.indexOf(string.charAt(i)) != -1)
         return false;
   }
   return true;
}

/*
Sjekker at verdien er riktig hvis feltet er fyllt ut
Noen felt setter andre felt også */

function setAdress() {
	if (document.minform.Hjemadresse.value == "") {
		document.minform.Hjemadresse.value = document.minform.Adresse.value
	}
}
function setAdress2() {
	if (document.minform.Hjemadresse2.value == "") {
		document.minform.Hjemadresse2.value = document.minform.Adresse2.value
	}
}
function setPostnr() {
	if (isNumber(document.minform.Postnr.value) == false) {
		alert("Du må kun skrive tall uten mellomrom i feltet " + document.minform.Postnr.name);
     		document.minform.Postnr.focus();
		document.minform.Postnr.select();
     	}
	else
	{	
		if (document.minform.Hjempostnr.value == "") {
			document.minform.Hjempostnr.value = document.minform.Postnr.value }
	}
}
function setPoststed() {
	if (document.minform.Hjempoststed.value == "") {
		document.minform.Hjempoststed.value = document.minform.PostSted.value
	}
}
function setTelefon() {
	if (isNumber(document.minform.Telefon.value) == false) {
		alert("Du må kun skrive tall uten mellomrom i feltet " + document.minform.Telefon.name);
     		document.minform.Telefon.focus();
		document.minform.Telefon.select();
     	}
	else
	{	
		if (document.minform.Hjemtelefon.value == "") {
			document.minform.Hjemtelefon.value = document.minform.Telefon.value }
	}
}
function checkTil_Dato() {
	if (document.minform.Til_Dato.value != "") {
		if (!verify_date(convDate(document.minform.Til_Dato.value))) {
			alert("Du må skrive dato på følgende måte : dd/mm/åååå")
			document.minform.Til_Dato.focus();
			document.minform.Til_Dato.select();
		}
		else {
			document.minform.Til_Dato.value = convertDate(document.minform.Til_Dato.value);
		}
	}
}
function checkFra_Dato() {
	if (document.minform.Fra_Dato.value != "") {
		if (!verify_date(convDate(document.minform.Fra_Dato.value))) {
			alert("Du må skrive dato på følgende måte : dd/mm/åååå")
			document.minform.Fra_Dato.focus();
			document.minform.Fra_Dato.select();
		}
		else {
			document.minform.Fra_Dato.value = convertDate(document.minform.Fra_Dato.value);
		}
	}
}
function convertDate(Value) {
		var date  = Value.substring(0,2) ;	
		var month = Value.substring(3,5) ;
		var year  = Value.substring(6,10);
		var Streng = date;
		Streng += "." + month;
		Streng += "." + year
		return Streng
}
function convDate(Value) {
	var date  = Value.substring(0,2) ;	
	var month = Value.substring(3,5) ;
	var year  = Value.substring(6,10);
	var Streng = ((date < 10) ? "0" : "") + date;
	Streng += ((month < 10) ? "/0" : "/") + month + "/" + year
	return Streng
}
function verify_date(d) {
    var t = Date.parse(d)
    if (isNaN(t)) {
        return false;
    }
    return true;
}

/********************************************************************/
/********************************************************************/
function isReady(form) {
// Her må alle INPUT-objektene som skal sjekkes legges inn

//	Sjekker alle felt som ikke skal være tomme :

    if (isEmpty(form.Fornavn.value) == true) {
        alert("Feltet " + form.Fornavn.name + " må være utfyllt!");
        form.Fornavn.focus();
        return false;
    }
    if (isEmpty(form.Etternavn.value) == true) {
        alert("Feltet " + form.Etternavn.name + " må være utfyllt!");
        form.Etternavn.focus();
        return false;
    }
    if (isEmpty(form.Personnummer.value) == true) {
        alert("Feltet " + form.Personnummer.name + " må være utfyllt!");
        form.Personnummer.focus();
        return false;
    }
    if (isEmpty(form.Postnr.value) == true) {
        alert("Feltet " + form.Postnr.name + " må være utfyllt!");
        form.Postnr.focus();
        return false;
    }
    if (isEmpty(form.PostSted.value) == true) {
        alert("Feltet " + form.PostSted.name + " må være utfyllt!");
        form.PostSted.focus();
        return false;
    }
    if (form.BoligValg1.value == "NULL" && form.BoligValg2.value == "NULL" && form.BoligValg3.value == "NULL") {
        alert("Du må velge minst en bolig!");
        form.BoligValg1.focus();
        return false;
    }
    if (isEmpty(form.Fra_Dato.value) == true) {
        alert("Feltet " + form.Fra_Dato.name + " må være utfyllt!");
        form.Fra_Dato.focus();
        return false;
    }
    if (form.StudieStartID.value == "NULL") {
        alert("Du må sette studiestart!");
        form.StudieStartID.focus();
        return false;
    }
    if (form.StudieSluttID.value == "NULL") {
        alert("Du må sette studieslutt!");
        form.StudieSluttID.focus();
        return false;
    }

//	Sjekker alle felt som må ha et eller annet spesielt format
/*
    if (isProper(form.Fornavn.value) == false) {
        alert("Ikke gyldig fornavn.");
        form.Fornavn.focus();
        return false;
    }
    if (isProper(form.Etternavn.value) == false) {
	alert("Ikke gyldig etternavn.");
        form.Etternavn.focus();
        return false;
    }
*/
    if (isEmail(form.Email.value) == false) {
	if(isEmpty(form.Email.value) == false) {
        alert("Ikke gyldig e-post addresse.");
        form.Email.focus();
        return false; }
    }
    if (isNaN(form.Personnummer.value) == true) {
        alert("Ikke gyldig Personnummer. Feltet må kun inneholde tall (ikke mellomrom eller punktum ).");
        form.Personnummer.focus();
        return false;
    }

//	Hvis ingen av if-setningene har returnert false, 
//	så kan vi regne med at alt er i orden
    return true;
}

/********************************************************************/
function isNumber(testValue) {
    if (isNaN(testValue))
        return false;
    else
        return true;
}
/********************************************************************/
function isEmpty(string) {
    if (string == "")
        return true;
    else
        return false;
}
/********************************************************************/
function isEmail(string) {
    if (string.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) != -1)
        return true;
    else
        return false;
}
/********************************************************************/
function isProper(string) {
    if (string.search(/^\w+( \w+)?$/) != -1)
        return true;
    else
        return false;
}