// JavaScript Document
function calculate()
{
	
	var accno;
	var myCars=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 myVals=new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35");
	var CCode = "1117";//"BH";
	var CDigit = "00";
	var BnkCod = "20171211";//"KHCB";
	var LZero = "0";
	//var AccNo = "0100030303001";
	var TLeng = 22;
	var IBAN = "";
	var i=1;
	accno = document.getElementById("accno").value;
	
	if (accno.length != 13)
	{
		document.getElementById("divGeneratedIBAN").innerHTML ="Wrong Account Number";	
		document.getElementById("divGeneratedIBAN").style.color="red";
		return false;
	}
	
	if (IsNumeric(accno) == false)
	{
		document.getElementById("divGeneratedIBAN").innerHTML ="Account no is Numeric";
		document.getElementById("divGeneratedIBAN").style.color="red";		
		return false;
	}

	IBAN = BnkCod+LZero+accno;
	IBAN = IBAN+CCode+CDigit;

	var num = str2bigInt(IBAN, 10,0);
    var modNum = str2bigInt("97",10,0);
    var result = mod(num, modNum);
	result = bigInt2str(result,10);
	result = 98 - result;
	if (result < 10)
	{
		result = "0"+result;
	}
	
	IBAN = "BH"+result+"KHCB"+LZero+accno
	document.getElementById("divGeneratedIBAN").style.color="green";
	document.getElementById("divGeneratedIBAN").innerHTML = IBAN;
}
function ClearAccNo()
{
	document.getElementById("accno").value="";
	document.getElementById("divGeneratedIBAN").innerHTML="";
}
function ClearIBAN()
{
	
	document.getElementById("iBanValidationText").value="";
	document.getElementById("divIBANValidation").innerHTML="";
}

function IsIBANValid()
	{
		var ibanum;
		var myCars=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 myCars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var myVals=new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33",  
								"34","35");          
			//	var CCode = "1117";//"BH";
		//	var CDigit = "00";
		//	var BnkCod = "20171211";//"KHCB";
		//	var LZero = "0";
		//	var AccNo = "0100030303001";
		//	var TLeng = 22;
		//	var IBAN = "";
		//	var i=1;
		
		
	ibanum = document.getElementById('iBanValidationText').value;
   
    //alert(ibanum);
	
		
		
		if (ibanum.length != 22)
		{
			document.getElementById("divIBANValidation").style.color="red";
			document.getElementById("divIBANValidation").innerHTML = "Wrong IBAN";
			return false;
		}
		CCod = ibanum.substr(0,4)
		ibanum = ibanum.substr(4)
		ibanum = ibanum+CCod;
	   var ValidChars = "0123456789";
	   var IsNumber=true;
	   var Char;
	   var result ="";
		 for (i = 0; i < ibanum.length && IsNumber == true; i++) 
		  { 
		  Char = ibanum.charAt(i); 
		  if (ValidChars.indexOf(Char) == -1) 
			 {
			
			 index = myCars.join("").indexOf(Char);
			 result = result+myVals[index];	 
			// accno.replace(Char, myVals[index]);
			 
			 }
			 else
			 {
				result = result+Char;	 
			 }
		  }
		
		
		
		var num = str2bigInt(result, 10,0);
		var modNum = str2bigInt("97",10,0);
		var result = mod(num, modNum);
		result = bigInt2str(result,10);
	//	result = 98 - result;
		
		if (result == 1)
		{
		document.getElementById("divIBANValidation").style.color="green";
		document.getElementById("divIBANValidation").innerHTML = "IBAN  Is correct";
		}
		else
		{
		document.getElementById("divIBANValidation").style.color="red";
		document.getElementById("divIBANValidation").innerHTML  = "IBAN Is Not correct";	
		}

	}
	






function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
   
   function ActivateGenerator()
   {
	   var activeTab = document.getElementById("IBAN-tab1");
	   activeTab.className ="IBANTabActive";
	   var inActiveTab = document.getElementById("IBAN-tab2");
	   inActiveTab.className ="IBANTabInActive";
	   
	   document.getElementById('IBANCalc').style.display="block";
	   document.getElementById('IBANValidate').style.display="none";
	   /* write code to show generator and hide validator divs*/
	   
   }
   
   function ActivateValidator()
   {
	   var activeTab = document.getElementById("IBAN-tab1");
	   activeTab.className ="IBANTabInActive";
	   var inActiveTab = document.getElementById("IBAN-tab2");
	   inActiveTab.className ="IBANTabActive";
	   /* write code to show validator and hide generator divs*/
	   document.getElementById('IBANValidate').style.display="block";
	   document.getElementById('IBANCalc').style.display="none";
	 document.getElementById('IBAN-tab2').style.marginLeft="5px";
	   
   }
