"undefined"==typeof FancyBetExposureHandler&&(FancyBetExposureHandler={}); (function(){function k(){FancyMarketExposureObj.eventId=null;FancyMarketExposureObj.marketId=null;FancyMarketExposureObj.marketExposure=0;FancyMarketExposureObj.betRunsPL={};FancyMarketExposureObj.betRunsExposures={};RunsProfitLossObj.runs=null;RunsProfitLossObj.sideType=null;RunsProfitLossObj.equalGreaterThanRunsTotalPL=0;RunsProfitLossObj.lessThanRunsTotalPL=0}function l(g,h,b){var c=0,a=FancyMarketExposureObj.betRunsExposures[b];null==a?(a=h,$j.each(FancyMarketExposureObj.betRunsPL,function(d, e){d=e.runs;d!=b&&(a=b>d?MathUtil.decimal.add(a,e.equalGreaterThanRunsTotalPL):MathUtil.decimal.add(a,e.lessThanRunsTotalPL))})):a=MathUtil.decimal.add(a,h);FancyMarketExposureObj.betRunsExposures[b]=a;c=c>a?a:c;$j.each(FancyMarketExposureObj.betRunsExposures,function(d,e){d!=b&&(e=be?e:c)});return c}FancyMarketExposureObj={eventId:null,marketId:null,marketExposure:0,betRunsPL:{},betRunsExposures:{}}; RunsProfitLossObj={runs:null,sideType:null,equalGreaterThanRunsTotalPL:0,lessThanRunsTotalPL:0};FancyBetExposureHandler.getMarketExposure=function(){return JSON.parse(JSON.stringify(FancyMarketExposureObj))};FancyBetExposureHandler.setMarketExposure=function(g){k();FancyMarketExposureObj=JSON.parse(JSON.stringify(g))};FancyBetExposureHandler.initMarketInfo=function(g,h){k();FancyMarketExposureObj.eventId=g;FancyMarketExposureObj.marketId=h;FancyMarketExposureObj.betRunsExposures[0]=0};FancyBetExposureHandler.generatorBetTicketObj= function(g,h,b,c,a,d,e){var f=MathUtil.decimal.multiply(1==d?-1:1,a);c=MathUtil.decimal.multiply(1==d?1:-1,MathUtil.decimal.divide(MathUtil.decimal.multiply(c,a),100));a=(1==d?1:-1)*b;MyTransactionUtils.isVoid(e)&&(c=f=0);return{eventId:g,marketId:h,sideType:d,runsId:a,runs:b,lessThanRunsPL:f,equalGreaterThanRunsPL:c}};FancyBetExposureHandler.calculateExposure=function(g){if(!$j.isArray(g))throw"betTickets must bet array type.[betTicketObj....]";$j.each(g,function(h,b){h=FancyMarketExposureObj;var c= b.runsId;var a=b.lessThanRunsPL,d=b.equalGreaterThanRunsPL,e=b.runs;b=b.sideType;var f=FancyMarketExposureObj.betRunsPL[c];$j.isEmptyObject(f)?(f=JSON.parse(JSON.stringify(RunsProfitLossObj)),f.runs=e,f.sideType=b,f.lessThanRunsTotalPL=a,f.equalGreaterThanRunsTotalPL=d,FancyMarketExposureObj.betRunsPL[c]=f):(f.lessThanRunsTotalPL=MathUtil.decimal.add(f.lessThanRunsTotalPL,a),f.equalGreaterThanRunsTotalPL=MathUtil.decimal.add(f.equalGreaterThanRunsTotalPL,d));c=l(a,d,e);h.marketExposure=c})}})();