	function getRate(  value ) {
        for (var i=0; i<rate_values.length; i++)
        {
        	if (rate_borders[i] <= value)
        		{
		        	return rate_values[i];
		        }
		 }
		 return rate_values[ rate_values.length-1 ];
	}

	function getRateBase( value ){        for (var i=0; i<rate_values_base.length; i++)
        {
        	if (rate_borders[i] <= value)
        		{
		        	return rate_values_base[i];
		        }
		 }
		 return rate_values_base[ rate_values_base.length-1 ];
	}


	function validNumber(input, e) {

		var isIE = (document.all) ? true : false;

		if (!isIE) {
			if (((e.keyCode >= 33) && (e.keyCode <= 40)) || (e.keyCode == 45)
				|| (e.keyCode == 46) || (e.keyCode == 8) ||
				(e.keyCode == 9) || (e.keyCode == 13) || (e.keyCode == 27))
				return true;
			if (((e.which < 48) || (e.which > 57)) && (e.which != 46))return false;
			if ((e.which == 46) && (input.value.indexOf('.') >= 0 || input.value == ""))return false;
		}
		else {
			if (((e.keyCode < 48) || (e.keyCode > 57)) && (e.keyCode != 46))return false;
			if ((e.keyCode == 46) && (input.value.indexOf('.') >= 0 || input.value == ""))return false;
		}
		return true;
	}


	function reCount(from) {
		var value_from 		= document.getElementById("value_from");
		var value_from_fee	= document.getElementById("value_from_with_fee");
		var value_to 		= document.getElementById("value_to");
		var value_discount  = document.getElementById("value_discount");
		var base;

		switch(from) {
			case "from":
				if(value_from.value.charAt(value_from.value.length - 4) == ".")
					value_from.value = Math.floor(value_from.value * 100) / 100;
				if (isNaN(value_from.value))value_from.value="";

				reCalcFromFee( value_from, value_from_fee );
				reCalcTo( value_from, value_to);
				break;
			case "to":
				if(value_to.value.charAt(value_to.value.length - 4) == ".")
					value_to.value = Math.floor(value_to.value * 100) / 100;
				if (isNaN(value_to.value))value_to.value="";

				reCalcFrom(value_from, value_to);
				reCalcFromFee(value_from, value_from_fee);
				break;
		}

		if (value_discount)
		{
			value_discount.innerHTML = Math.floor((value_to.value - CalcBase())*100 + 0.000001)/100;;
			if (isNaN(value_discount.innerHTML)) value_discount.innerHTML="0";
			if (value_discount.innerHTML < 0) value_discount.innerHTML="0";		}

		return;
	}

	function reCalcTo( value_from, value_to ) {
		value_to.value = Math.floor(value_from.value * getRate(value_from.value)
												    * 100 + 0.000001) / 100;
	}

	function CalcBase() {		return Math.floor(f1.value_from.value * getRateBase(f1.value_from.value)
												    * 100 + 0.000001) / 100;	}


	function reCalcFrom( value_from, value_to ) {
		var pv_from;
		var top_border=0;
		for(var i=0; i<rate_values.length; i++)
		{
			pv_from = Math.ceil(value_to.value / getRate( rate_borders[i] ) * 100) / 100;
			if (pv_from >= rate_borders[i])
			{
				if (top_border==0 || pv_from < top_border)
					value_from.value = pv_from;
				else
					value_from.value = top_border;
				return;
			}
			top_border = rate_borders[i];
		}

		value_from.value = Math.ceil(value_to.value / getRate(value_from.value) * 100) / 100;
	}

	function reCalcFromFee(value_from, value_from_fee) {
		value_from_fee.innerHTML = Math.round((parseFloat(value_from.value) +
							getFee(cur_from, value_from.value, 'pay'))*100)/100;
		value_from_fee.innerHTML = value_from.value == 0 ? 0 : value_from_fee.innerHTML;
	}


	function getFee(currency, value, when) {
		result = 0.00;

		switch(currency) {
			case "wmr":
			case "wmz":
			case "wmu":
			case "wme":
			case "wmy":
			case "wmb":
				result = getFeeWM(value, when);
				break;
			case "pm_eur":
			case "pm_usd":
				result = getFeePM(value, when);
				break;
			case "vtb24":
				result = getFeeTeleBank(value, when);
				break;
		}
		return result;
	}

	function getFeeWM(value, when) {
		if (when != 'pay') return 0.00;
		var div = Math.pow(10, 2);
		var fee = Math.ceil(value * 0.008 * div) / div;
		return fee;
	}

	function getFeePM(value, when) {
		if (when != 'pay') return 0.00;
		var div = Math.pow(10, 2);
//		var fee = Math.ceil(value * 0.005 * div) / div;
		var fee = value * 0.005;
		return fee;
	}

	function getFeeTeleBank(value, when) {		if (when != 'pay') return 0.00;
		return 30.00;
	}



	function purses_view()
	{
		var box=document.getElementById("purse_box");
		if (box) box.style.display="";
	}

	function purses_click(purse, descr)
	{
		var box=document.getElementById("purse_box");
		if (!box) return;
		box.style.display="none";
		var input=document.getElementById("account_to");
		input.value=purse;

		var input_name = document.getElementById("account_to_name");
		if (input_name) input_name.value=descr;

		purses_check();
	}

	function purses_check()
	{
		var input=document.getElementById("account_to");
		var descr=document.getElementById("purse_descr");
		if (descr) descr.innerHTML="";
		var galka;

		for (var i=0; i<purse_id.length; i++)
		{
			galka=document.getElementById("galka_"+ purse_id[i]);
			galka.style.display="none";
			if (input.value.toUpperCase() == purse_account[i].toUpperCase())
			{
				if (descr) descr.innerHTML=purse_descr[i];
				galka.style.display="";
			}
		}
	}

	function purses_view2()
	{
		var box=document.getElementById("purse_box2");
		if (box) box.style.display="";
	}

	function purses_click2(purse, descr)
	{
		var box=document.getElementById("purse_box2");
		if (!box) return;
		box.style.display="none";
		var input=document.getElementById("account_from");
		input.value=purse;

		var input_name = document.getElementById("account_from_name");
		if (input_name) input_name.value=descr;

		purses_check2();
	}

	function purses_check2()
	{
		var input=document.getElementById("account_from");
		var descr=document.getElementById("purse_descr2");
		if (descr) descr.innerHTML="";
		var galka;

		for (var i=0; i<purse_id2.length; i++)
		{
			galka=document.getElementById("galka_"+ purse_id2[i]);
			galka.style.display="none";
			if (input.value.toUpperCase() == purse_account2[i].toUpperCase())
			{
				if (descr) descr.innerHTML=purse_descr2[i];
				galka.style.display="";
			}
		}
	}


	document.body.onclick=function()
	{
		var box1=document.getElementById("purse_box");
		if (box1) box1.style.display="none";
		var box2=document.getElementById("purse_box2");
		if (box2) box2.style.display="none";
	}

	function form_is_valid()
	{		var agree=document.getElementById("agree");
		if (agree && !agree.checked) return false;


		var email=document.getElementById("email");


//		alert(email.value);
		if (email && !email.value) return false;

		var account_to=document.getElementById("account_to");
		if (account_to && !account_to.value) return false;

		var account_to_name=document.getElementById("account_to_name");
		if (account_to_name && !account_to_name.value) return false;

		var account_from=document.getElementById("account_from");
		if (account_from && !account_from.value) return false;

		var account_from_name=document.getElementById("account_from_name");
		if (account_from_name && !account_from_name.value) return false;


		var value_from=document.getElementById("value_from");
		var value_to=document.getElementById("value_to");

		if (value_from && value_to &&
			( (value_from.value==0 || value_from.value=="") && (value_to.value==0 || value_to.value=="")))
				return false;
		return true;	}

	function check_valid_form()
	{		var button_next=document.getElementById("button_next");
		if (button_next)
			button_next.disabled = !form_is_valid();
	}
