function getFindersFee(currency, value) {
	result = 0.00;

	switch(currency) {
		case "WMR":
		case "WME":
		case "WMZ":
		case "WMU":
		case "WMB":
		case "WMG":
		case "WMY":
			result = getFindersFeeWM(currency, value);
			break;
		case "RUR Yandex":
			result = getFindersFeeYandex(value);
			break;
		case "MoneyMail RUR":
		case "MoneyMail EUR":
		case "MoneyMail USD":
			result = getFindersFeeMoneyMail(value);
			break;
	}
	return result;
}

function getFindersFeeWM(code, value) {
	var div = Math.pow(10, 2);
	var finders_fee = 0.00;
	finders_fee = Math.ceil(value * wm_fee * div) / div;
	finders_fee = finders_fee >= 0.01 ? finders_fee : 0.01;
		
	if(code == "WMR" && finders_fee > wm_max_WMR) { finders_fee = wm_max_WMR; }
	if(code == "WMZ" && finders_fee > wm_max_WMZ) { finders_fee = wm_max_WMZ; }
	if(code == "WME" && finders_fee > wm_max_WME) { finders_fee = wm_max_WME; }
	if(code == "WMB" && finders_fee > wm_max_WMB) { finders_fee = wm_max_WMB; }
	if(code == "WMU" && finders_fee > wm_max_WMU) { finders_fee = wm_max_WMU; }
	if(code == "WMG" && finders_fee > wm_max_WMG) { finders_fee = wm_max_WMG; }
	if(code == "WMY" && finders_fee > wm_max_WMY) { finders_fee = wm_max_WMY; }
	return finders_fee;
}

function getFindersFeeYandex(value) {
	var div = Math.pow(10, 2);
	var finders_fee = 0.00;
	finders_fee = Math.ceil(value * yandex_fee * div) / div;
	return finders_fee;
}

function getFindersFeeMoneyMail(value) {
	var div = Math.pow(10, 2);
	var findersFee = 0.00;
	findersFee = Math.ceil(value * mm_fee * div) / div;

	return findersFee;
}

function howMuchToSendToPartner(currency, value) {
	var result = 0.00;
	
	if(currency == "WMR" || currency == "WMZ" || currency == "WME" || currency == "WMB" || currency == "WMU" || currency == "WMG" || currency == "WMY") {
		result = howMuchToSendToPartnerWM(currency, value);
	} else if(currency == "RUR Yandex") {
		result = howMuchToSendToPartnerYandex(value);
	} else if(currency == "MoneyMail RUR" || currency == "MoneyMail USD" || currency == "MoneyMail EUR") {
		result = howMuchToSendToPartnerMoneyMail(value);
	} else {
		result = value;
	}
	return result;
}

function howMuchToSendToPartnerWM(code, value) {
	var howMuch = 0;
	var maxvalue = 0.00;
	var div = Math.pow(10, 2);
	
	if(code == "WMR") {
		maxvalue = wm_max_WMR * ((1 + wm_fee) / wm_fee);
		
		if(value > maxvalue) {
			howMuch = Math.floor((value - wm_max_WMR) * div) / div;
		} else {
			howMuch = Math.floor((value - value * (wm_fee / (1 + wm_fee))) * div) / div;
		}
	} else if(code == "WME") {
		maxvalue = wm_max_WME * ((1 + wm_fee) / wm_fee);
		
		if(value > maxvalue) {
			howMuch = Math.floor((value - wm_max_WME) * div) / div;
		} else {
			howMuch = Math.floor((value - value * (wm_fee / (1 + wm_fee))) * div) / div;
		}
	} else  if(code == "WMZ") {
		maxvalue = wm_max_WMZ * ((1 + wm_fee) / wm_fee);
		
		if(value > maxvalue) {
			howMuch = Math.floor((value - wm_max_WMZ) * div) / div;
		} else {
			howMuch = Math.floor((value - value * (wm_fee / (1 + wm_fee))) * div) / div;
		}
	} else  if(code == "WMU") {
		maxvalue = wm_max_WMU * ((1 + wm_fee) / wm_fee);
		
		if(value > maxvalue) {
			howMuch = Math.floor((value - wm_max_WMU) * div) / div;
		} else {
			howMuch = Math.floor((value - value * (wm_fee / (1 + wm_fee))) * div) / div;
		}
	} else  if(code == "WMB") {
		maxvalue = wm_max_WMB * ((1 + wm_fee) / wm_fee);
		
		if(value > maxvalue) {
			howMuch = Math.floor((value - wm_max_WMB) * div) / div;
		} else {
			howMuch = Math.floor((value - value * (wm_fee / (1 + wm_fee))) * div) / div;
		}
	} else  if(code == "WMG") {
		maxvalue = wm_max_WMG * ((1 + wm_fee) / wm_fee);
		
		if(value > maxvalue) {
			howMuch = Math.floor((value - wm_max_WMG) * div) / div;
		} else {
			howMuch = Math.floor((value - value * (wm_fee / (1 + wm_fee))) * div) / div;
		}
	} else  if(code == "WMY") {
		maxvalue = wm_max_WMY * ((1 + wm_fee) / wm_fee);
		
		if(value > maxvalue) {
			howMuch = Math.floor((value - wm_max_WMY) * div) / div;
		} else {
			howMuch = Math.floor((value - value * (wm_fee / (1 + wm_fee))) * div) / div;
		}
	}
	return howMuch;
}

function howMuchToSendToPartnerYandex(value) { return value; }

function howMuchToSendToPartnerMoneyMail(value) {
	var howMuch = 0;
	var maxvalue = 0.00;
	var div = Math.pow(10, 2);
	
	howMuch = Math.floor((value - value * (mm_fee / (1 + mm_fee))) * div) / div;

	return howMuch;
}

function howMuchToSend(code, value) {
	var howMuch = 0.00;
	
	if(code == "WMR" || code == "WMZ" || code == "WME" || code == "WMU" || code == "WMB" || code == "WMG" || code == "WMY")
	{
		howMuch = howMuchToSendWM(value);
	}
	else if (code == "RUR Yandex")
	{
		howMuch = howMuchToSendYandex(value);
	}
	else if (code == "MoneyMail RUR" || code == "MoneyMail USD" || code == "MoneyMail EUR")
	{
		howMuch = howMuchToSendMoneyMail(value);
	}
	else
	{
		howMuch = value;
	}
	return howMuch;
}

function howMuchToSendYandex(value) {
	var div = Math.pow(10, 2);
	var howMuch = 0.00;
	howMuch = Math.ceil(value / (1 - yandex_client_fee) * div) / div;
	return howMuch;
}

function howMuchToSendWM(value) {
	return value;
}

function howMuchToSendMoneyMail(value) {
	return value;
}

function realAmount(source_currency, value) {
	var result = value;
	
	if(source_currency == "WME" || source_currency == "WMR" || source_currency == "WMZ" || source_currency == "WMB" || source_currency == "WMU" || source_currency == "WMG" || source_currency == "WMY") {
		result = value;
	} else if(source_currency == "RUR Yandex") {
		result = value - getClientAsRecipientFindersFee(source_currency, value);
	} else if(isMoneyMail(source_currency)) {
		result = value;
	}

	return result;
}

function getClientAsRecipientFindersFee(currency, value) {
	var findersFee = 0.0;

	switch(currency) {
		case "RUR Yandex":
			findersFee = getClientAsRecipientFindersFeeYandex(value);
			break;
	}

	return findersFee;
}

function getClientAsRecipientFindersFeeYandex(value) {
	var div = Math.pow(10, 2);
	var finders_fee = 0.00;
	finders_fee = Math.ceil(value * yandex_client_fee * div) / div;

	return finders_fee;
}

function whoPayFindersFee(currency) 
{
	var result = null;

	switch(currency) 
	{
		case "WMR":
		case "WME":
		case "WMZ":
		case "WMU":
		case "WMG":
		case "WMY":
		case "WMB":
		case "USD e-port":
			result = "payer";
			break;
		case "USD e-gold":
		case "RUR Yandex":
		case "E-dram":
			result = "recipient";
			break;
	}
	return result;
}
