function resultat(r){
	document.getElementById('medd').innerHTML = "Account number ok";
	document.getElementById('ibankontonr').innerHTML = r;	
}
function validera(str){
	var v=2; var c;var chk=0;var len=str.length;
	for(var i=(len-2); i>=0; i--,v=3-v){
		c=str.substring(i,i+1)*v;
		chk+=(c<10?c:c%10+1);
	}
	return (((10*Math.ceil(chk/10))-chk)==str.substring(len-1,len));
}

function validera11(str){
	var len=str.length;var s=0;
	for(var i=len-1; i>=0; i--){
		s+=(len-i)<11?str.substring(i,i+1)*(len-i):0;	
	}
	return s%11==0;
}
function rensa() {
	document.form.AccountNumber.value = "";
	document.getElementById('medd').innerHTML = "&nbsp;";
	document.getElementById('ibankontonr').innerHTML = "&nbsp;";
}
function fel_indata(){
	document.getElementById('medd').innerHTML = "Incorrect account number";
	document.getElementById('ibankontonr').innerHTML = "&nbsp;";	
}
function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}
function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
function startsWith(str, ptrn) {
	return new RegExp("^" + ptrn).test(str);
}
function nollUtfylld(s, totalLangd) {
	var t = "000000000"+s;
	return t.substring(t.length-totalLangd);
}
function prefix(u) {
	u+="281000";
	var rest=m(u.substring(0,18));
	u=rest+u.substring(18);	
	rest=m(u);
	return "SA"+nollUtfylld((98-rest),2);
}
function m(str)	{
	var del="";	var res;var n=9;var i=0;
	while(i<str.length)	{
		if (i+n>str.length) {
			n=str.length-i;
		}
		del+=str.substr(i, n);
		res=parseInt(del,10)%97;
		del=String(res);
		i+=n;
		n=7;
	}
	return res;
}

function calc() {
	var indata=trim(document.getElementById('kontonummer').value);
	if(indata.length==0){
		return rensa();
	}
	for(var i=0;i<indata.length;i++){
		if("1234567890".indexOf(indata.charAt(i))<0){
			return fel_indata();
		}
	}
	/*
	if(startsWith(indata,"2") && indata.length==13){
		var u1 = "2000000" + indata;
		var u11 = "2000000" + indata;
		
		var u12 = prefix(u1);
		var u13 = u12+u11;
		var u14 = u13.substring(0,4)+" "+u13.substring(4,8)+" "+u13.substring(8,12)+" "+u13.substring(12,16)+" "+u13.substring(16,20)+" "+u13.substring(20,24)		
		resultat(u14);
	
	}else{
		fel_indata();
	}
	*/
	
	if(startsWith(indata,"1") && indata.length==13){
		var u1 = "2000000" + indata;
		var u11 = "2000000" + indata;
		
		var u12 = prefix(u1);
		var u13 = u12+u11;
		var u14 = u13.substring(0,4)+" "+u13.substring(4,8)+" "+u13.substring(8,12)+" "+u13.substring(12,16)+" "+u13.substring(16,20)+" "+u13.substring(20,24)		
		resultat(u14);
	
	}else if (startsWith(indata,"2") && indata.length==13){
		var u1 = "2000000" + indata;
		var u11 = "2000000" + indata;
		
		var u12 = prefix(u1);
		var u13 = u12+u11;
		var u14 = u13.substring(0,4)+" "+u13.substring(4,8)+" "+u13.substring(8,12)+" "+u13.substring(12,16)+" "+u13.substring(16,20)+" "+u13.substring(20,24)		
		resultat(u14);
	
	}else if (startsWith(indata,"3") && indata.length==13){
		var u1 = "2000000" + indata;
		var u11 = "2000000" + indata;
		
		var u12 = prefix(u1);
		var u13 = u12+u11;
		var u14 = u13.substring(0,4)+" "+u13.substring(4,8)+" "+u13.substring(8,12)+" "+u13.substring(12,16)+" "+u13.substring(16,20)+" "+u13.substring(20,24)		
		resultat(u14);
	}else if (startsWith(indata,"4") && indata.length==13){
		var u1 = "2000000" + indata;
		var u11 = "2000000" + indata;
		
		var u12 = prefix(u1);
		var u13 = u12+u11;
		var u14 = u13.substring(0,4)+" "+u13.substring(4,8)+" "+u13.substring(8,12)+" "+u13.substring(12,16)+" "+u13.substring(16,20)+" "+u13.substring(20,24)		
		resultat(u14);
	}else if (startsWith(indata,"5") && indata.length==13){
		var u1 = "2000000" + indata;
		var u11 = "2000000" + indata;
		
		var u12 = prefix(u1);
		var u13 = u12+u11;
		var u14 = u13.substring(0,4)+" "+u13.substring(4,8)+" "+u13.substring(8,12)+" "+u13.substring(12,16)+" "+u13.substring(16,20)+" "+u13.substring(20,24)		
		resultat(u14);
	}else if (startsWith(indata,"6") && indata.length==13){
		var u1 = "2000000" + indata;
		var u11 = "2000000" + indata;
		
		var u12 = prefix(u1);
		var u13 = u12+u11;
		var u14 = u13.substring(0,4)+" "+u13.substring(4,8)+" "+u13.substring(8,12)+" "+u13.substring(12,16)+" "+u13.substring(16,20)+" "+u13.substring(20,24)		
		resultat(u14);
	}else if (startsWith(indata,"7") && indata.length==13){
		var u1 = "2000000" + indata;
		var u11 = "2000000" + indata;
		
		var u12 = prefix(u1);
		var u13 = u12+u11;
		var u14 = u13.substring(0,4)+" "+u13.substring(4,8)+" "+u13.substring(8,12)+" "+u13.substring(12,16)+" "+u13.substring(16,20)+" "+u13.substring(20,24)		
		resultat(u14);
	}else if (startsWith(indata,"8") && indata.length==13){
		var u1 = "2000000" + indata;
		var u11 = "2000000" + indata;
		
		var u12 = prefix(u1);
		var u13 = u12+u11;
		var u14 = u13.substring(0,4)+" "+u13.substring(4,8)+" "+u13.substring(8,12)+" "+u13.substring(12,16)+" "+u13.substring(16,20)+" "+u13.substring(20,24)		
		resultat(u14);
	}else{
		fel_indata();
	}	
}