<!-- start hide

var pZ;
var LC,BC,KN,IB,lengthBC,lengthKN,bctype;

function checkLength(OKbutton) {
	if (lengthBC==0) OKbutton.blur();
}

function getCountryPointer(country) {
	j=0;
	while (j<countries.length) {
		if (country==countries[j][0]) break;
		j++
	}
	if (j==countries.length) return -1;
	return j;
}

function setDefaultLand() {
	var i=0;
	while (countries[i][4]!="default") {
		i++;
	}
	
	LC=countries[i][0];
	lengthBC=countries[i][1];
	lengthKN=countries[i][2];
	
	if (lengthBC!=0) {
	  document.mainform.BCNummer.size=lengthBC;
	  document.mainform.BCNummer.maxlength=lengthBC;
	  document.mainform.KontoNummer.size=lengthKN;
	  document.mainform.KontoNummer.maxlength=lengthKN;
	  var laenge = eval(lengthBC)+eval(lengthKN)+4;
	  document.mainform.IBAN.size=laenge;
	  document.mainform.IBAN.maxlength=laenge;
    document.mainform.IBANStruk.size=laenge+(eval(laenge)/4);
    document.mainform.IBANStruk.maxlength=laenge+(eval(laenge)/4);
  }
  else {
  	document.mainform.BCNummer.size=1;
		document.mainform.BCNummer.maxlength=1;
		document.mainform.KontoNummer.size=lengthKN;
		document.mainform.KontoNummer.maxlength=lengthKN;
	  var laenge = eval(lengthKN)+4;
		document.mainform.IBAN.size=laenge;
		document.mainform.IBAN.maxlength=laenge;
    document.mainform.IBANStruk.size=laenge+(eval(laenge)/4);
    document.mainform.IBANStruk.maxlength=laenge+(eval(laenge)/4);      	  	
  }  
}

function addValues() {
	for (var i=0; i<countries.length; i++) {
		if (countries[i][4]!="default") {
		  document.mainform.laender.options[document.mainform.laender.length] = new Option(countries[i][0], countries[i][0]);
		}
		else {
      document.mainform.laender.options[document.mainform.laender.length] = new Option(countries[i][0], countries[i][0], true, true);			
		}	
	}
}

function Land() {
	document.mainform.BCNummer.value='';
	document.mainform.KontoNummer.value='';
	document.mainform.IBAN.value='';
	document.mainform.IBANStruk.value='';
	for(var i=0;i<document.mainform.laender.length;i++) {
		if(document.mainform.laender.options[i].selected==true) {
			
			LC=document.mainform.laender.options[i].value;
			countryPointer=getCountryPointer(LC);
					
			lengthBC=countries[countryPointer][1];
			lengthKN=countries[countryPointer][2];			
			
			if (lengthBC!=0) {
  	    document.mainform.BCNummer.size=lengthBC;
		    document.mainform.BCNummer.maxlength=lengthBC;
		    document.mainform.KontoNummer.size=lengthKN;
		    document.mainform.KontoNummer.maxlength=lengthKN;
	      var laenge = eval(lengthBC)+eval(lengthKN)+4;
		    document.mainform.IBAN.size=laenge;
		    document.mainform.IBAN.maxlength=laenge;
        document.mainform.IBANStruk.size=laenge+(eval(laenge)/4);
        document.mainform.IBANStruk.maxlength=laenge+(eval(laenge)/4);
      }
      else {
  	    document.mainform.BCNummer.size=1;
		    document.mainform.BCNummer.maxlength=1;
		    document.mainform.KontoNummer.size=lengthKN;
		    document.mainform.KontoNummer.maxlength=lengthKN;
	      var laenge = eval(lengthKN)+4;
		    document.mainform.IBAN.size=laenge;
		    document.mainform.IBAN.maxlength=laenge;
        document.mainform.IBANStruk.size=laenge+(eval(laenge)/4);
        document.mainform.IBANStruk.maxlength=laenge+(eval(laenge)/4);      	
      }
    }
	}
}

function trim(buf){
 for (var i=buf.length; i>=0; i--){
  if (buf.charAt(i)!=' ') break;
 } 
 return buf.substring(0,i);; 
}

function setNum(buf) {
 charAlpha=new Array('A','B','C','D','E','F','G','H','I','J','K',
    'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
 var out="";
 for (i=0; i<buf.length; i++) {
  if (buf.charAt(i) >= 'A') {
   for (k=0; k<=27; k++) {  
    if (buf.charAt(i) == charAlpha[k])  out+=k+10;
   }
  } else {
   out+=buf.charAt(i);
  }
 }
 return out;
}

function fix(buf,len){
 var temp='';
 for (var i=buf.length; i<len; i++) temp+="0";
 return temp+buf;
} 

function calc(buf) {
 var index=0;
 var dividend;
 var pz=-1;
 while(index <= buf.length) {
  if (pz < 0) {
   dividend=buf.substring(index,index+9)
   index+=9;
  } else if (pz >= 0 && pz <= 9) {
   dividend=pz+buf.substring(index,index+8);
   index+=8;
  } else {
   dividend=pz+buf.substring(index,index+7);
   index+=7;
  }
  pz=dividend % 97;
 }
 pz=98-pz;
 if (pz < 10) pz="0"+pz;
 return pz;
}

function sonder(buf) {
 var c, out="";
 var len=buf.length;
 for (var i=0; i<len; i++) {
  c=buf.charAt(i);
  if ((c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')) {
   out+= c;
  }
 }
 return out;
}

function doRechnen() {
 document.getElementById("errormessage").firstChild.nodeValue=" ";   
 clearStatus();
 protIBAN=true;
 var stat=getValues();
 if (stat!=''){
  document.getElementById("errormessage").firstChild.nodeValue=stat;  
  document.mainform.IBAN.value='';
  document.mainform.IBANStruk.value='';
 }else{ 
  BC=fix(BC,lengthBC);
  KN=fix(KN, lengthKN);
  n=setNum(BC+KN+LC+"00");
  pZ=calc(n);
  document.mainform.IBAN.value=LC+pZ+BC+KN;
  var stringToFormat = BC + KN;
  document.mainform.IBANStruk.value=LC+pZ+formatString(stringToFormat);
  protIBAN=false;
 } 
}

function formatString(stringToFormat) {
	var i=0;
	var formatedString='';
	while ((i+4)<stringToFormat.length) {
		formatedString = formatedString + ' ';
		formatedString = formatedString + stringToFormat.substring(i,i+4);
		i=i+4;
	}
	if (i!=stringToFormat.length) {
    formatedString = formatedString + ' ' + stringToFormat.substring(i, stringToFormat.length);
	}
	return formatedString;
}

function trimIban(){
 var i=0, j, temp='', stat=0;
 while (i<IB.length){
  for (j=0; j<4; j++){
   if (i<IB.length){
    if (IB.charAt(i)!=' ') temp+=IB.charAt(i); else stat=1;
   }
   i++;
  }
  if (i<IB.length){
   if (IB.charAt(i)!=' ') stat=1;
  }
  i++;
 }
 if (stat==0) IB=temp;
 return stat;
} 
 
function clearStatus(){
 this.status='';
}

var protIBAN=true; 
function protFocus(){
 if (protIBAN) document.mainform.BCNummer.focus();
}

var protpIBAN=true; 
function protpFocus(){
 if (protpIBAN) document.mainform.pIBAN.focus();
}

function resetIBAN(){
 document.mainform.BCNummer.value='';
 document.mainform.KontoNummer.value='';
 document.mainform.IBAN.value='';
 document.mainform.IBANStruk.value='';
 document.mainform.BCNummer.focus(); 
 protIBAN=true;
 clearStatus();
}
 
function resetpIBAN(){
 document.mainform.pLandCode.value='';
 document.mainform.pBCNummer.value='';
 document.mainform.pKontoNummer.value='';
 document.mainform.pIBAN.value='';
 document.mainform.pLandCode.focus(); 
 protpIBAN=true;
 clearStatus();
}

// end hide -->