function pregnancyOdds(userInfo, lovesJson, noLovesReturnOdd){ var userInfo = eval('(' + userInfo + ')'); var lovesJson = eval(lovesJson); var odd = pregnancyOddsCalculate(userInfo, lovesJson, noLovesReturnOdd); android_mc.callback(odd); } function pregnancyOddsMulty(userInfo, lovesJson, noLovesReturnOdd){ var userInfo = eval('(' + userInfo + ')'); var lovesJson = eval(lovesJson); var returnJson = []; for(var i in userInfo){ if(lovesJson[i]){ var oddsResult = pregnancyOddsCalculate(userInfo[i], lovesJson[i], noLovesReturnOdd); } else{ var oddsResult = pregnancyOddsCalculate(userInfo[i], [], noLovesReturnOdd); } returnJson.push(oddsResult); } var returnStr = '[' + returnJson.join(',') + ']'; android_mc.callbackArr(returnStr); } function pregnancyOddsCalculate(userInfo, lovesJson, noLovesReturnOdd) { var easyDay = [0.35,0.4,0.55,0.65,0.8,0.9,0.8,0.75,0.65,0.5]; var natureOdd = 0; switch(userInfo.period){ case 1: natureOdd = 0.1; break; case 2: natureOdd = 0.15; break; case 3: if(userInfo.easyDay > 10 || userInfo.easyDay < 1) return 1; natureOdd = easyDay[userInfo.easyDay-1]; break; case 4: natureOdd = 0.9; break; default: android_mc.callbackArr([-1]); return false; } var lovesTime = lovesJson.length; if(lovesTime==0){ if(noLovesReturnOdd==1){ return 0; } return forDight(natureOdd*100,0); } if(lovesTime == 1){ var coefficient = 1; if(lovesJson[0].is_safety_measure == true){ coefficient = 1; } if(lovesJson[0].is_outside_spermiation == true){ coefficient = 0.05; } if(lovesJson[0].is_taken_birth_control_pill == true){ coefficient = 0.02; } if(lovesJson[0].is_used_condom == true){ coefficient = 0.01; } var odd = natureOdd * coefficient; var result = forDight(forDight(odd,2)*100,0); } else if(lovesTime > 1){ var useAcyeterion = false; for(var i=0; i < lovesTime; i++){ if(lovesJson[i].is_taken_birth_control_pill == true){ useAcyeterion = true; break; } } var oddArr = []; for(var i=0; i < lovesTime; i++){ var coefficient = 0.02; if(lovesJson[i].is_safety_measure == true && useAcyeterion == false){ coefficient = 1; } if(lovesJson[i].is_outside_spermiation == true && useAcyeterion == false){ coefficient = 0.05; } if(lovesJson[i].is_taken_birth_control_pill == true && useAcyeterion == false){ coefficient = 0.02; } if(lovesJson[i].is_used_condom == true){ coefficient = 0.01; } oddArr.push(natureOdd*coefficient); } var notOddProduct = 1; for(var i=0; i < lovesTime; i++){ notOddProduct = notOddProduct*(1-oddArr[i]); } var result = forDight(forDight(1-notOddProduct,2)*100,0); } if(result == 100){ result = 99; } else if(result == 0){ result = 1; } return result; } function forDight(Dight,How){ Dight = Math.round(Dight*Math.pow(10,How))/Math.pow(10,How); return Dight; }