$(document).ready(function() {
  // add currency calculator
  $('#cur_co').append('<a href="#convert" id="convert-trigger" class="jslink">Калькулятор</a><div id="cur_calc"><label for="cur_calc_summ">Я хочу поменять</label>: <input type="text" id="cur_calc_summ" /> <select id="cur_calc_cur"><option value="RUB">RUB</option><option value="USD">USD</option><option value="EUR">EUR</option></select> <dl id="currency_result"><dt></dt> <dd id="result_one"></dd> <dd id="result_two"></dd> <dd id="result_three"></dd> <dd id="result_four"></dd> </dl></div>');
  if ($('#cur_co .chf_buy').text()!='')  {
	$('#cur_calc_cur').append('<option value="CHF">CHF</option>');
  }
  if ($('#cur_co .gbp_buy').text()!='') {
	$('#cur_calc_cur').append('<option value="GBP">GBP</option>');
  }
  $('#cur_calc_cur').change(function() {
    calc_currency();
  });
  $('#cur_calc_summ').keyup(function() {
    calc_currency();
  });
  $('#convert-trigger').click(function() {
    $('#cur_calc').toggle();
    return false;
  });
});

function calc_currency() {
  var summ = $('#cur_calc_summ').val().replace(',', '.');
  if (summ && !isNaN(summ)) {
    var usd_buy = $('#cur_co .usd_buy').text().replace(',', '.');
    var usd_sell = $('#cur_co .usd_sell').text().replace(',', '.');
    var eur_buy = $('#cur_co .eur_buy').text().replace(',', '.');
    var eur_sell = $('#cur_co .eur_sell').text().replace(',', '.');
	var chf_buy = $('#cur_co .chf_buy').text().replace(',', '.');
    var chf_sell = $('#cur_co .chf_sell').text().replace(',', '.');
	var gbp_buy = $('#cur_co .gbp_buy').text().replace(',', '.');
    var gbp_sell = $('#cur_co .gbp_sell').text().replace(',', '.');
	
    var cur1 = '';
    var cur2 = '';
	var cur3 = '';
	var cur4 = '';
    switch ($('#cur_calc_cur').val()) {
      case 'RUB':
        cur1 = parseFloat(summ) / parseFloat(usd_sell);
        cur1 = cur1.toFixed(2) + ' USD';
        cur2 = parseFloat(summ) / parseFloat(eur_sell);
        cur2 = cur2.toFixed(2) + ' EUR';
		if ($('#cur_co .chf_buy').text()!='' && $('#cur_co .chf_buy').text()!='' ) {
			cur3 = parseFloat(summ) / parseFloat(chf_sell);
			cur3 = cur3.toFixed(2) + ' CHF';
		} else {
			cur3 = '';
		}
		if ($('#cur_co .gbp_buy').text()!='' && $('#cur_co .gbp_buy').text()!='' ) {
			cur4 = parseFloat(summ) / parseFloat(gbp_sell);
			cur4 = cur4.toFixed(2) + ' GBP';
		} else {
			cur4 = '';
		}
        break;
      case 'USD':
        cur1 = parseFloat(summ) * parseFloat(usd_buy);
        cur1 = cur1.toFixed(2) + ' RUB';
        cur2 = (parseFloat(usd_buy) / parseFloat(eur_sell)) * summ;
        cur2 = cur2.toFixed(2) + ' EUR';
		if ($('#cur_co .chf_buy').text()!='' && $('#cur_co .chf_buy').text()!='') {
			cur3 = (parseFloat(usd_buy) / parseFloat(chf_sell)) * summ;
			cur3 = cur3.toFixed(2) + ' CHF';
		} else {
			cur3 = '';
		}
		
		if ($('#cur_co .gbp_buy').text()!='' && $('#cur_co .gbp_buy').text()!='') {
			cur4 = (parseFloat(usd_buy) / parseFloat(gbp_sell)) * summ;
			cur4 = cur4.toFixed(2) + ' GBP';
		} else {
			cur4 = '';
		}
        break;
      case 'EUR':
        cur1 = parseFloat(summ) * parseFloat(eur_buy);
        cur1 = cur1.toFixed(2) + ' RUB';
        cur2 = (parseFloat(eur_buy) / parseFloat(usd_sell)) * summ;
        cur2 = cur2.toFixed(2) + ' USD';
		
		if ($('#cur_co .chf_buy').text()!='' && $('#cur_co .chf_buy').text()!='') {
			cur3 = (parseFloat(eur_buy) / parseFloat(chf_sell)) * summ;
			cur3 = cur3.toFixed(2) + ' CHF';
		} else {
			cur3 = '';
		}
		
		if ($('#cur_co .gbp_buy').text()!='' && $('#cur_co .gbp_buy').text()!='') {
			cur4 = (parseFloat(eur_buy) / parseFloat(gbp_sell)) * summ;
			cur4 = cur4.toFixed(2) + ' GBP';
		} else {
			cur4 = '';
		}
		break;
		
	  case 'CHF':
        cur1 = parseFloat(summ) * parseFloat(chf_buy);
        cur1 = cur1.toFixed(2) + ' RUB';
        cur2 = (parseFloat(chf_buy) / parseFloat(usd_sell)) * summ;
        cur2 = cur2.toFixed(2) + ' USD';
		cur3 = (parseFloat(chf_buy) / parseFloat(eur_sell)) * summ;
		cur3 = cur3.toFixed(2) + ' EUR';
		cur4 = (parseFloat(chf_buy) / parseFloat(gbp_sell)) * summ;
		cur4 = cur4.toFixed(2) + ' GBP';
		break;
		
		
		case 'GBP':
        cur1 = parseFloat(summ) * parseFloat(chf_buy);
        cur1 = cur1.toFixed(2) + ' RUB';
        cur2 = (parseFloat(gbp_buy) / parseFloat(usd_sell)) * summ;
        cur2 = cur2.toFixed(2) + ' USD';
		cur3 = (parseFloat(gbp_buy) / parseFloat(eur_sell)) * summ;
		cur3 = cur3.toFixed(2) + ' EUR';
		cur4 = (parseFloat(gbp_buy) / parseFloat(chf_sell)) * summ;
		cur4 = cur4.toFixed(2) + ' CHF';
		break;

    }
  }
  if (summ && cur1 && cur2) {
    $('#currency_result').show();
    $('#result_one').html(cur1);
    $('#result_two').html(cur2);
	$('#result_three').html(cur3);
	$('#result_four').html(cur4);
  } else {
    $('#currency_result').hide();
    $('#result_one').html('');
    $('#result_two').html('');
	$('#result_three').html('');
	$('#result_four').html('');
  }
}

//////////////////////////////////////////
// tabs for currency table

var table_block_id = 'currency'; // id of the block with tables

function show_table(el) {
  var tables = get_table_blocks();
  for (i=0,len=tables.length; i<len; i++) {
    // hide all
    tables[i].style.display = 'none';
    document.getElementById('table-link-'+i).className = 'normal';
    // show selected
    if (i == el) {
      tables[i].style.display = 'block';
      document.getElementById('table-link-'+i).className = 'selected';
    }
  }
}

function get_table_blocks() {
  // get all tables
  var tables = document.getElementById(table_block_id).childNodes;
  var count = 0;
  var table_array = [];
  for (i=0,len=tables.length; i<len; i++) {
    if (tables[i].nodeType == 1 && tables[i].className == 'currency-block') {
      table_array[count] = tables[i];
      count++; // count blocks
    }
  }
  return table_array;
}

function init_currency() {
  var links = document.getElementById('table-links'); // link for select tables
  var names = ['Курсы обмена', 'Мультивал. вклады']; // names for links
  var tables = get_table_blocks();

  var len = tables.length; // tables number
  if (len > 1) {
    for (i=0; i<len; i++) {
      links.innerHTML += '<a href="#" id="table-link-'+i+'" onclick="show_table('+i+'); return false;">' + names[i] + '</a> ';
    }
    show_table(0);
  }
}

init_currency();