$(document).ready(function(){
	$("#Calcular").click(function(event){
		check();
		calculate(); 
	});
	$('input#tengo_monto').keydown(function(event) {
		//alert(event.keyCode);
		// Allow only backspace and delete
		if ( event.keyCode == 46 || event.keyCode == 8 || (event.keyCode > 95 && event.keyCode < 106) || event.keyCode == 110 || event.keyCode == 190) {
			// let it happen, don't do anything
		} else {
			// Ensure that it is a number and stop the keypress
			if (event.keyCode < 48 || event.keyCode > 57 ) {
				event.preventDefault();	
			}
		}
	});
	$('input#tengo_monto').keyup(function(event) {
		if ($('input#tengo_monto').val() != "") {
			calculate();
		} else {
			$('input#quiero_monto').val('');
		}
		
	});
	$('#tengo_moneda').change(function(event){
		calculate();
	});
	$('#quiero_moneda').change(function(event){
		calculate();
	});
});

function check() {
	if ($('input#tengo_monto').val() == "") $('input#tengo_monto').val('1');
	
	var tengo_moneda = $('#tengo_moneda').val();
	$('#tengo_moneda').val($('#quiero_moneda').val());
	$('#quiero_moneda').val(tengo_moneda);
}

function equal() {
	if ($('input#tengo_monto').val() == "") {
		$('input#quiero_monto').val('');
	}else if($('input#tengo_monto').val() == "0") {
		$('input#quiero_monto').val('0');
	}
}

function calculate() {
	equal();
	
	if (isNaN($('input#tengo_monto').val())) {
		return false;
	}

	/*
	Referencia:
        * tengo_moneda y quiero_moneda son las listas desplegables
	* tengo_monto y quiero_monto son los input text
	*/
	if($('#tengo_moneda option:selected').text() == $('#quiero_moneda option:selected').text()){
		// Si son iguales las monedas: Ej: si tengo 1 dolar vale 1 dolar
		$('input#quiero_monto').val($('input#tengo_monto').val());
	}else{
		// Currency exchange
		var quiero_monto_cot =  $('#quiero_moneda').val().split("_");
		var tengo_monto_cot = $('#tengo_moneda').val().split("_");

		if($('#tengo_moneda option:selected').text() == "Guaraní") { /* De Guaranies a cualquier moneda */
			var resultado = ($('input#tengo_monto').val()) / quiero_monto_cot[1];
		}else if($('#quiero_moneda option:selected').text() == "Guaraní") { /* De cualquier moneda a Guaranies */
			var resultado = ($('input#tengo_monto').val()) * tengo_monto_cot[0];
		}else if($('#tengo_moneda option:selected').text() == "Euro" && $('#quiero_moneda option:selected').text() == "Dolar Americano") { /* De Euros a Dolares */
			var dolar_x_euro = $('#dolar_x_euro').val().split("_");
			var resultado = ($('input#tengo_monto').val()) * dolar_x_euro[0];
		}else if($('#tengo_moneda option:selected').text() == "Dolar Americano" && $('#quiero_moneda option:selected').text() == "Euro") { /* De Dolares a Euros */
			var dolar_x_euro = $('#dolar_x_euro').val().split("_");
			var resultado = ($('input#tengo_monto').val()) / dolar_x_euro[1];
		}else if($('#tengo_moneda option:selected').text() == "Dolar Americano" && $('#quiero_moneda option:selected').text() == "Real") { /* De Dolares a Reales */
			var real_x_dolar = $('#real_x_dolar').val().split("_");
			var resultado = ($('input#tengo_monto').val()) * real_x_dolar[0];
		}else if($('#tengo_moneda option:selected').text() == "Real" && $('#quiero_moneda option:selected').text() == "Dolar Americano") { /* De Reales a Dolares */
			var real_x_dolar = $('#real_x_dolar').val().split("_");
			var resultado = ($('input#tengo_monto').val()) / real_x_dolar[1];
		}else if($('#tengo_moneda option:selected').text() == "Dolar Americano" && $('#quiero_moneda option:selected').text() == "Peso Argentino") { /* De Dolares a Pesos */
			var peso_x_dolar = $('#peso_x_dolar').val().split("_");
			var resultado = ($('input#tengo_monto').val()) * peso_x_dolar[0];
		}else if($('#tengo_moneda option:selected').text() == "Peso Argentino" && $('#quiero_moneda option:selected').text() == "Dolar Americano") { /* De Pesos a Dolares */
			var peso_x_dolar = $('#peso_x_dolar').val().split("_");
			var resultado = ($('input#tengo_monto').val()) / peso_x_dolar[1];
		}else{ /* Cualquier otra combinacion que no sea entre guaranies y otras monedas o las de arbitraje */
			var resultado = ($('input#tengo_monto').val() * tengo_monto_cot[0]) / quiero_monto_cot[1];
		}
		
		if (resultado.toString().indexOf('.') == -1) {
			$('input#quiero_monto').val(resultado.toFixed(0));
		} else {
			$('input#quiero_monto').val(resultado.toFixed(5));
		}
	}
}

