
// Utviklet av Jørgen Sivertsen, september 2001.

// Tegn som blir sjekket på i Email(input-strengen)
// Email kan ikke inneholde:  --> "æ", "ø" , "å", " "(mellomrom), to "@".
// Email må inneholde:	--> To "."(punktum), pluss to bokstaver/tegn etter "."
// Funksjonen returnerer boolean false hvis kriteriene for input-streng
// ikke oppfylles, ellers boolean true.
// I tillegg blir det gitt feilmeldinger(alerts).



	function IsValidEmail( Email, InputForm )
		{
		//at.
		var at = "@";
		//dot.
		var dot = ".";
		//Tellere.
		var i = 0;
		var y;
		
		var InValidArray = new Array(" ", "'", "Æ", "Ø", "Å")		
		
		//Sjekker om "Email" inneholder noen av de ugyldige tegnene i InValidArray.
		//Løper gjennom hele strengen.

		for ( z = 0; z < InValidArray.length; z++ )		
			{
			inValid = InValidArray[z]
			for ( i = 0; i < Email.length; i++ )
				{
				if ( inValid.indexOf(Email.charAt(i).toUpperCase() ) > -1 )
					{
					if (inValid == " " )
						inValid = "mellomrom";
					tempStr = "Epostadressen er ugyldig!\nEpostadressen inneholder > " + inValid + " <\n" + Email + "\n";
					for ( x = 0; x < i - 1; x++ )
						tempStr = tempStr + "  ";
					tempStr = tempStr + "^";
					
					alert(tempStr);
					InputForm.select();
					return false;
					}
				}
			}
		
		//Sjekker om "Email" inneholder "@".
		for ( i = 0; i < Email.length; i++ )
			{
			if ( at.indexOf(Email.charAt(i) ) > -1 && i > 0 )
				{
				//En "@" funnet, "Email" kan ikke inneholde flere.
				for ( y = (i + 1); y < Email.length; y++ )
					{
					//Fortsetter videre gjennom for å lete etter "@".
					//Finnes ytterligere "@" er "Email" ugyldig.
					if ( at.indexOf(Email.charAt(y) ) > -1 )
						{
						//To "@" er funnet "Email" er ugyldig.
						tempStr = "Epost inneholder to '@'.\n" + Email + "\n";
						for ( x = 0; x < y - 1; x++ )
							tempStr = tempStr + "  ";
						tempStr = tempStr + "^";
						alert(tempStr);
						InputForm.select();
						return false;
						}
					}
				}
			}	
		
		
		//Leter på nytt etter "@"
		for ( i = 0; i < ( Email.length - 1 ); i++ )
			{
			if ( at.indexOf(Email.charAt(i) ) > -1 && i > 0 )
				{
				//"@" er funnet, fortsetter med å lete etter ".".
				//Finnes ikke "." er "Email" ugyldig.
				for ( y = (i + 2); y < ( Email.length - 1 ); y++ )
					{
					if ( dot.indexOf(Email.charAt(y) ) > -1 )
						{
						//"." er funnet etter "@" og "Email" kan være gyldig.
						//"Email" må innehold minst 2 bokstaver etter ".".
						if ( Email.length > (y + 2) )
							return true;
						else
							{
							tempStr = "Epostadressen må minst ha to tegn etter '.'\n" + Email + "\n";
							//To "@" er funnet "Email" er ugyldig.
							for ( x = 0; x < y - 1; x++ )
								tempStr = tempStr + "  ";
							tempStr = tempStr + "^";
							alert(tempStr);
							InputForm.select();
							return false;
							}
						}
					}
				}
			}
		alert("Epostadressen er ugyldig.\nEpostadressen må inneholde '@' og '.'");
		InputForm.select();
		return false;
	}