// Build arrays from this script.
var currency = new Array("EUR","JPY","GBP","USD","ARS","AUD","BHD","BWP","BRL","BND","CAD","CLP","CNY","COP","CYP","CZK","DKK","HUF","ISK","INR","IDR","IRR","ILS","KRW","KWD","LYD","MYR","MTL","MUR","MXN","NPR","NZD","NOK","OMR","PKR","PLN","QAR","SAR","SGD","SIT","ZAR","LKR","SEK","CHF","THB","TTD","AED","VEB");
var country = new Array("EU","JP","GB","US","AR","AU","BH","BW","BR","BN","CA","CL","CN","CO","CY","CZ","DK","HU","IS","IN","ID","IR","IL","KR","KW","LY","MY","MT","MU","MX","NP","NZ","NO","OM","PK","PL","QA","SA","SG","SI","ZA","LK","SE","CH","TH","TT","AE","VE");
var rate = new Array("0.79561329418547","88.7201866226924","0.66330893295258","1","3.93581493249675","1.14666371717009","0.376001823325155","6.97837482738742","1.76360455295017","1.38290498598989","1.02840231133277","539.023180361716","6.7802222847873","1877.20709487994","0.397638039332275","20.1610827333789","5.93173926450281","222.30020512408","125.050610679859","46.9301103379855","9056.02702811406","10403.0084865061","3.8600061671292","1197.50231267345","0.289950931102441","1.29536526833715","3.20451407043934","0.291650272947517","31.0993578141549","12.7140731207014","74.7999034710212","1.40548874498921","6.33071230342276","0.384498857588124","60.6630611355442","3.24991620748368","3.64000723967341","3.75001005510196","1.38290498598989","182.153095090821","7.56002895869364","113.314295673625","7.51250184343536","1.0609004008634","32.3571840351794","6.34593572778828","3.67251203260534","2127.51393074873");
var ratedt = new Array("7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","12/31/2007","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","12/31/2007","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","6/28/2007","6/27/2007","7/13/2010","7/13/2010","7/13/2010","7/13/2010","3/12/2007","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","7/13/2010","2/22/2008");
function Cvalue()
{
  // missing relevant digits
  var fromR, toR, resultV, nVal;
  fromR = rate[document.calcForm.from.selectedIndex];
  toR = rate[document.calcForm.to.selectedIndex];
  nVal = document.calcForm.inV.value;
  if ( IsNumeric(nVal) == false ) {
    alert("amount to multiply is not a number\n\nyou can only use\n\n1234567890 and . (dot)");
  }
  resultV = nVal * ( toR / fromR );
  // 6 relevant digits only, or integer 
  if ( (resultV == parseInt(resultV)) || (resultV > 99999) )
  {
    // mostly integer
    resultV = parseInt( resultV );
  }
  else
  {
    if (resultV > 1)
    {
	resultV = resultV.toString();
	resultV = resultV.substring(0,7);
    } else {
	resultV = resultV.toString();
	resultV = resultV.substring(0,8);
    }
  }
  document.calcForm.outV.value = nVal + " " + currency[document.calcForm.from.selectedIndex] + " = " + comma(resultV) + " " + currency[document.calcForm.to.selectedIndex];
  document.getElementById("rateText").innerHTML = "Rate as of " + ratedt[document.calcForm.to.selectedIndex];
;
}
function invertCurr()
{
  var i;
  i = document.calcForm.from.selectedIndex;
  document.calcForm.from.selectedIndex = document.calcForm.to.selectedIndex;
  document.calcForm.to.selectedIndex = i;
   Cvalue();
}
function comma(num)
{
 var n = Math.floor(num);
 var myNum = num + "";
 var myDec = ""
 if (myNum.indexOf('.',0) > -1){
  myDec = myNum.substring(myNum.indexOf('.',0),myNum.length);
 }
 var arr=new Array('0'), i=0; 
 while (n>0) 
   {arr[i]=''+n%1000; n=Math.floor(n/1000); i++;}
 arr=arr.reverse();
 for (var i in arr) if (i>0) //padding zeros
   while (arr[i].length<3) arr[i]='0'+arr[i];
 return arr.join() + myDec;
}
function IsNumeric(strString)
{
   var strValidChars = "0123456789.";
   var strChar;
   var blnResult = true;
   for (i = 0; i < strString.length && blnResult == true; i++)
   {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
      {
         blnResult = false;
      }
   }
   return blnResult;
}

