﻿
function initBuy()
{
  bindCurrency();
}

function calBuy()
{
	  var aMount = currency2Float($('#inpAmt')[0].value);	  
      var curIndex = parseInt($('#selCur')[0].value);
      var typeIndex = parseInt($('#selType')[0].value);
      var result = $('#result')[0];
      var rate = curArr[curIndex][typeIndex];
      if (isNaN(aMount) || aMount == '') {
        alert(ratesCalNotInput);
        return;
      }
      if (isNaN(rate) || rate == '') {
        alert(ratesCalNoData)
        result.value = 'THB';
      } else {
        result.value = float2Currency(aMount / rate);
      }      
}

function initSell()
{
  bindCurrency();
}

function changeSellCur()
{
      var curIndex = parseInt($('#selCur')[0].value);
      var selType = $('#selType')[0];
      var selIndex = -1;
	  for(var i=0;i<4;i++)
	  {
	    var rate = curArr[curIndex][i + 1];
	    if(isNaN(rate))
	      selType.options[i].disabled = true;
	    else
	    {
	      selType.options[i].disabled = false;
	      if (selIndex == -1) selIndex = i;
	    }
	  }	
	  
	  if (selIndex != -1) selType.selectedIndex = selIndex;
}

function calSell()
{
	  var aMount = currency2Float($('#inpAmt')[0].value);	  
      var curIndex = parseInt($('#selCur')[0].value);
      var typeIndex = parseInt($('#selType')[0].value);
      var result = $('#result')[0];
      var rate = curArr[curIndex][typeIndex];
      if (isNaN(aMount) || aMount == '') {
        alert(ratesCalNotInput);
        return;
      }
      if (isNaN(rate) || rate == '') {
        alert(ratesCalNoData);
        result.value = 'THB';
      } else {
        result.value = float2Currency(rate * aMount);
      }
}

function bindCurrency()
{
  try 
  {
  	var selCur = $('#selCur');
  	for(var i=0;i<curArr.length;i++)
  	{
  	  var hasValue = false;
  	  for(var j=1;j<curArr[i].length;j++)
  	  {
  	    if (!isNaN(curArr[i][j]))
  	    {
  	      hasValue = true;
  	      break;
  	    }
  	  }  
  	  
  	  if (hasValue)
  	    selCur.append('<option value="' + i + '">' + curArr[i][0] + '</option>');
  	}
  }
  catch (excp) {}
}


function currency2Float(currency) {
    if (isNaN(currency)) {
      currencys = currency.split(',');
      currency = '';
      for (i = 0; i < currencys.length; i++) {
        currency = currency + currencys[i];
      }
    }
    return currency;
}

function float2Currency(amount) {
	var delimiter = ","; // replace comma if desired
	var a = amount.toString().split('.');
	var d = a[1];
        if (d == null) {
          d = '00000';
        }
        if (d.length < 5) {
          d = d + '00000';
        }
        if (d.length > 5) {
          d = d.substring(0, 5);
        }
	var i = parseInt(a[0]);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)
	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
 	return amount; 
}
