function addComma(from) { var to = String(from); var tmp = ""; while (to != (tmp = to.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2"))){ to = tmp; } return to; } function cleanupAmount(field) { var valid = "0123456789."; var temp = ""; var output = ""; for (var i = 0; i < field.length; i++) { temp = "" + field.substring(i, i+1); if (valid.indexOf(temp) != -1) { output += temp; } } return output; } function adCalc(form) { if (activeMetric == 'cpc') { form.cpa.value = ""; var ok = 0; var cpc = cleanupAmount(form.cpc.value); var cpa = cleanupAmount(form.cpa.value); var conversionrate = cleanupAmount(form.conversionrate.value) / 100; var incomplete = "数値の入力が不十分です。"; if (cpc != "" && cpa != "" && conversionrate != "") { msg = "数値を求める箇所だけ空欄にしてください。"; alert(msg); } else { if (cpc != "" && cpa != "") { form.conversionrate.value = cpc / cpa; ok++; } else if (cpc != "" && conversionrate != "") { form.cpa.value = addComma(cpc / conversionrate); ok++; } else if (conversionrate != "" && cpa != "") { form.cpc.value = cpa * conversionrate; ok++; } else alert("「CPC」「コンバージョン率」の両方に数値を入力してください。"); } } else if (activeMetric == 'cpm') { form.cpa.value = ""; var ok = 0; var cpm = cleanupAmount(form.cpm.value) / 1000; var cpa = cleanupAmount(form.cpa.value); var ctr = cleanupAmount(form.ctr.value); var conversionrate = cleanupAmount(form.conversionrate.value) / 10000; var incomplete = "数値の入力が不十分です。"; if (cpm != "" && cpa != "" && ctr != "" && conversionrate != "") { msg = "数値を求める箇所だけ空欄にしてください。"; alert(msg); } else { if (cpm != "" && cpa != "" && ctr != "") { form.conversionrate.value = cpm / (cpa * ctr); ok++; } else if (cpm != "" && ctr != "" && conversionrate != "") { form.cpa.value = addComma(cpm / (ctr * conversionrate)); ok++; } else if (conversionrate != "" && cpa != "" && ctr != "") { form.cpm.value = cpa * ctr * conversionrate * 1000; ok++; } else if (cpm != "" && conversionrate != "" && cpa != "") { form.ctr.value = cpm / (conversionrate * cpa); ok++; } else alert("「CPM」「CTR」「コンバージョン率」のすべてに数値を入力してください。"); } } } var activeMetric = 'cpm'; function switchActiveMetric() { if (activeMetric == 'cpm') { activeMetric = 'cpc'; document.getElementById('cpmMetric').style.display = 'none'; document.getElementById('cpcMetric').style.display = ''; document.getElementById('ctrSection').style.display = 'none'; document.getElementById('cpmTabOn').style.display = 'none'; document.getElementById('cpcTabOn').style.display = ''; } else { activeMetric = 'cpm'; document.getElementById('cpmMetric').style.display = ''; document.getElementById('cpcMetric').style.display = 'none'; document.getElementById('ctrSection').style.display = ''; document.getElementById('cpmTabOn').style.display = ''; document.getElementById('cpcTabOn').style.display = 'none'; } } function submitTheForm(e,f) { if (e.keyCode == 13) adCalc(f); } function clearFormAll() { for (var i=0; i