function Exchange(){this.getAmount=function(){var a=gE("iamount").value;var b=parseFloat(a);return b};this.getFromId=function(){var a=gE("ifrom").value;var b=parseInt(a);return b};this.getToId=function(){var b=gE("ito").value;var a=parseInt(b);return a};this.getRate=function(b){if(b){var c=$arrExchange[this.getToId()][this.getFromId()]}else{var c=$arrExchange[this.getFromId()][this.getToId()]}var a=parseFloat(c);if(!a){a=this.getSmartRate(b)}a=PrecisionRound(a,PRECISION_ROUND);return a};this.getOperation=function(a){if(a){var b=$arrExchange[this.getToId()]["c"+this.getFromId()]}else{var b=$arrExchange[this.getFromId()]["c"+this.getToId()]}return b};this.getCoef=function(b){if(b){var c=$arrExchange[this.getToId()]["coef"+this.getFromId()]}else{var c=$arrExchange[this.getFromId()]["coef"+this.getToId()]}var a=parseFloat(c);return a};this.getSmartRate=function(a){if(a){var c=$arrExchange[this.getToId()]["admin_rate"+this.getFromId()]}else{var c=$arrExchange[this.getFromId()]["admin_rate"+this.getToId()]}var b=parseFloat(c);if(this.getCoef(a)){b=b*this.getCoef(a)}b=PrecisionRound(b,PRECISION_ROUND);return b};this.getSimpleSum=function(b){var a;switch(this.getOperation(b)){case"mult":a=this.getAmount()*this.getRate(b);break;case"div":a=this.getAmount()/this.getRate(b);break}a=PrecisionRound(a,PRECISION_ROUND);return a};this.getAntiSimpleSum=function(c){var a=this.getRate();var b=this.getCoef();var e=this.getOperation();var d=0;if(a&&b){if(e=="mult"){d=c/b;d=d/a}else{d=c/b;d=d*a}}else{d=c*(1/a)}d=PrecisionRound(d,PRECISION_ROUND);return d};this.getCommissionPct=function(){var a=5;return a};this.getCommissionSum=function(){var a=this.getSimpleSum(false)*this.getCommissionPct()/100;a=PrecisionRound(a,PRECISION_ROUND);return a};this.getSimpleSumWithCommission=function(){var a=this.getSimpleSum(false)-this.getCommissionSum();a=PrecisionRound(a,PRECISION_ROUND);return a};this.getDiscountPct=function(){return intDiscount};this.getDiscountSum=function(){var b=this.getDiscountPct();if(!b){a=0}else{var a=this.getCommissionSum()*b/100;a=PrecisionRound(a,PRECISION_ROUND)}return a};this.getCommissionSumWithDiscount=function(){var a=this.getCommissionSum()-this.getDiscountSum();a=PrecisionRound(a,PRECISION_ROUND);return a};this.getSimpleSumWithCommissionAndDiscount=function(){var a=this.getSimpleSum(false)-this.getCommissionSumWithDiscount();a=PrecisionRound(a,PRECISION_ROUND);return a};this.getSmartCommision=function(){var c=this.getRate(false);var a=this.getRate(true);if(a||a){if(a>c){var b;b=c;c=a;a=b}var e=(c+1/a)/2;var d=(e-c)/e;d=PrecisionRound(d,PRECISION_ROUND);d=Math.abs(d)}else{var d=0}return d}}Exchange.prototype.toString=function(){var b;var a="<br />";b='<fieldset style="padding: 5px; border: 1px solid gray"><legend>Data</legend>';b+="amount = "+this.getAmount();b+=a;b+="from = "+this.getFromId();b+=a;b+="to = "+this.getToId();b+="</fieldset>";b+='<fieldset style="padding: 5px; border: 1px solid gray"><legend>Step 1</legend>';b+="rate AB = "+this.getRate(false);b+=a;b+="rate BA = "+this.getRate(true);b+=a;b+="coef = "+this.getCoef(false);b+=a;b+="operation AB = "+this.getOperation(false);b+=a;b+="operation BA = "+this.getOperation(true);b+=a;b+="smart rate AB = "+this.getSmartRate(false);b+=a;b+="smart rate BA = "+this.getSmartRate(true);b+="</fieldset>";b+='<fieldset style="padding: 5px; border: 1px solid gray"><legend>Step 2</legend>';b+="simple_sum = "+this.getSimpleSum();b+=a;b+="commission_pct = "+this.getCommissionPct()+"%";b+=a;b+="commission_sum = "+this.getCommissionSum();b+=a;b+="simple_sum_with_commission = "+this.getSimpleSumWithCommission();b+=a;b+="smart_commission_sum = "+this.getSmartCommision();b+="</fieldset>";b+='<fieldset style="padding: 5px; border: 1px solid gray"><legend>Step 3</legend>';b+="discount_pct = "+this.getDiscountPct()+"%";b+=a;b+="discount_sum = "+this.getDiscountSum();b+=a;b+="commission_sum_with_discount = "+this.getCommissionSumWithDiscount();b+=a;b+="simple_sum_with_commission_and_discount = "+this.getSimpleSumWithCommissionAndDiscount();b+="</fieldset>";return b};Exchange.prototype.changeAmount=function(){gE("iamount_comission").value=this.getSimpleSumWithCommission();gE("iamount_discount").value=this.getSimpleSumWithCommissionAndDiscount()};Exchange.prototype.changeAmountWithCommission=function(){var b=gE("iamount_comission").value;b=PrecisionRound(b,PRECISION_ROUND);gE("iamount_comission").value=b;var d=100-this.getCommissionPct();var a=b*100/d;a=PrecisionRound(a,PRECISION_ROUND);var c=false;switch(this.getOperation(c)){case"mult":var e=a/this.getRate(c);break;case"div":var e=a*this.getRate(c);break}e=PrecisionRound(e,PRECISION_ROUND);gE("iamount").value=e};Exchange.prototype.changeAmountWithCommissionAndWithDiscount=function(){var a=gE("iamount_discount").value;a=PrecisionRound(a,PRECISION_ROUND);gE("iamount_discount").value=a;var c=this.getSmartCommision();if(c){var b=this.getSmartCommision()-(this.getDiscountPct()/100)*this.getSmartCommision();b=PrecisionRound(b,PRECISION_ROUND)}var d=this.getSimpleSumWithCommissionAndDiscount()+b;var e=this.getAntiSimpleSum(d);gE("iamount_comission").value=e};Exchange.prototype.updateCalcInfo=function(){if(!flgIsServer){var a=gE("calc_info_content");a.innerHTML="";a.innerHTML=this}};
