/* AUTHOR: Tekno Inform AS */
/* Creation date: 05.05.02 */

//alert("Hei");


	function find_pno (fstring) {
		var k1=-1; var k2=-1;
		// var vekt1="378189452";
		var vekt1="3761894520";  // Ufra tilbakemeldinger
		var vekt2="5432765432";
		var prodsum=0;


		// Beregne første kontrollsiffer
		for (n = 0; n <= 9; n++) {prodsum=prodsum+eval(fstring.substring(n,n+1)*1) *  eval(vekt1.substring(n,n+1)*1)}
		k1=11-prodsum % 11;if (k1==11) k1=0; if (k1==10) k1=-1;

		// Beregne første kontrollsiffer
		prodsum=0;fstring=fstring+k1; 
		for (n = 0; n <= 10; n++) {prodsum=prodsum+eval(fstring.substring(n,n+1)*1) *  eval(vekt2.substring(n,n+1)*1)}
		k2=11-prodsum % 11;if (k2==11) k2=0; if (k2==10) k2=-1;


		//alert("produsm="+prodsum+", k1="+k1+", k2="+k2+"!");

		//alert("Resultatet er "+fstring+k2+":"+k1+"-"+k2);
		if (k1==-1 || k2== -1) return ("-1");  // Error, no such number
		return(""+k1+k2);
	}		

	// Remove space
	 function char_remove(items,nch)  {
	   var charect = "";
	   var n;
	   for (n = 1 ; n <= items.length ; n++)    {
	      if (items.substring(n-1,n) == nch) charect+=""
	      else charect+=items.substring(n-1,n);
	    }
	   return charect;
	}

	// Check if numbers
	function numbertest(items) {
	   var n;
	   for (n = 1 ; n <= items.length ; n++)  { if (items.substring(n-1,n) > "9" || items.substring(n-1,n) < "0" ) {return false } }
	   return true;
	}   

	
	
	
	
	function display_value() {
		var feil=false; var melding="";
		var fstr2="270764254";
		fstr2=feltverdi.invalue.value;
		fstr2=char_remove(fstr2," "); // Remove spaces ++
		fstr2=char_remove(fstr2,"-");
		//alert("Ny verdi:"+fstr2+"!");

		if (!numbertest(fstr2)) {feil=true; melding="Feil, du må angi 9 siffer"; }
		//fstr2="110159347";
		var kno=0;
		if (!feil) {
			kno=find_pno(fstr2); 
			if (kno==-1) {feil=true; melding="Feil, denne kombinasjonen er ikke i bruk!";}
		}
		
		if (!feil && fstr2.substring(9,20) !="") {
			if (fstr2.substring(9,20) != kno) {feil=true;melding="Feil  i kontrollnummeret "+fstr2.substring(9,20)+" bakerst. Skal være "+kno+"!";}
		}		
		fstr2=fstr2.substring(0,9);
		if (fstr2.length < 9) {feil=true;melding="Feil, for få siffer. Du må angi 9 eller alle 11 siffer";}

		
		if (!feil) {
			//Beregn kjønn
			var kj="mann"; var han="Han";
			if ((fstr2.substring(8,9) % 2) == 0) {kj="kvinne"; han="Hun"; };
			//alert("Kjønn = "+kj);

			//Beregn årstall 
			var year1=1900+eval(fstr2.substring(4,5)) *10+eval(fstr2.substring(5,6));
			//alert(fstr2.substr(4,1));
			if (fstr2.substring(6,7) >= 5) year1=year1+100; 
			//alert("Fødselsår = "+year1);

			var hundre=fstr2.substring(0,1); 
			if (fstr2.substring(0,1) >= 4) { hundre=fstr2.substring(0,1) -3}; // D-nummer, trekk fra 3 i årstallet

			var date_str=hundre+fstr2.substring(1,2)+"."+fstr2.substring(2,3)+fstr2.substring(3,4)+"."+year1;

			//if ((fstr2.substring(0,1) >= 7) || 	isNaN(kno)) {feil=true;melding="Feil i verdiene du har gitt inn. Du må oppgi 9 siffer.";};
		}


		var res1="";
		res1="Personnummer "+fstr2.substring(0,6)+" "+fstr2.substring(6,11)+kno+" vil tilhøre en "+kj+" født "+date_str+", ";
			if (fstr2.substring(0,1) >= 4) {res1=res1+"og som ikke er bosatt i Norge men skatter og/eller trygder hit.";}
			else {res1=res1+"og som er bosatt i Norge.";}

		if (feil) 	feltverdi.resultat.value=melding; //"Feil verdi angitt. Du må oppgi 9 siffer og deretter trykke på Beregn!"  
		else
		{
			if (res1 >"") {	feltverdi.resultat.value=res1; } //xW(Prosjinnt[1],1);
		}
	}
