var basicCalc = new RateCalculator(3e7,420,false);
basicCalc.addSection(3e4,4.5e4,1e3,7.25);
basicCalc.addSection(4.5e4,1e5,1e3,6);
basicCalc.addSection(1e5,5e5,1e3,5);
basicCalc.addSection(5e5,1e6,1e3,3.75);
basicCalc.addSection(1e6,2e6,1e3,2.75);
basicCalc.addSection(2e6,7e6,1e3,2);
basicCalc.addSection(7e6,3e8,1e3,1.5);

var reissueCalc = new RateCalculator(3e7,420*.9,false);
reissueCalc.addSection(3e4,4.5e4,1e3,7.25*.9);
reissueCalc.addSection(4.5e4,1e5,1e3,6*.9);
reissueCalc.addSection(1e5,5e5,1e3,5*.9);
reissueCalc.addSection(5e5,1e6,1e3,3.75*.9);
reissueCalc.addSection(1e6,2e6,1e3,2.75*.9);
reissueCalc.addSection(2e6,7e6,1e3,2);
reissueCalc.addSection(7e6,3e8,1e3,1.5);

var attorneyCalc = new RateCalculator(3e7,125,false);
attorneyCalc.addSection(3e4,1e5,1e3,3.25);
attorneyCalc.addSection(1e5,5e5,1e3,2.75);
attorneyCalc.addSection(5e5,1e6,1e3,2.5);
attorneyCalc.addSection(1e6,2e6,1e3,2.25);
attorneyCalc.addSection(2e6,7e6,1e3,2);
attorneyCalc.addSection(7e6,3e8,1e3,1.5);

EventManager.addListener(window,'load',prepCalc);

function prepCalc(){
	var form = document.getElementById('paRateCalc');
	EventManager.addListener(form.calcButton,'click',calculate);
	EventManager.addListener(form.purchasePrice,'change',calculate);
	EventManager.addListener(form.loanAmount,'change',calculate);
	EventManager.addListener(form.rateType,'change',calculate);
	EventManager.addListener(form.rateType,'change',toggleReissueAge);
	EventManager.addListener(form.previousPolicyIssued2,'click',calculate);
	EventManager.addListener(form.previousPolicyIssued4,'click',calculate);
	//EventManager.addListener(form.previousPolicyIssuedMore,'click',calculate);
	toggleReissueAge();
}

function calculate(){
	var form = document.getElementById('paRateCalc')
	var purchasePrice = CalcUtils.cleanAndRound(form.purchasePrice.value);
	var loanAmount = CalcUtils.cleanAndRound(form.loanAmount.value);
	var base = loanAmount > purchasePrice ? loanAmount : purchasePrice;
	
	var type = form.rateType.value;
	var premium = 0;
	if(base > 0){
		switch(type){
			case 'basic':
				premium = basicCalc.calculate(base);
				break;
			case 'refi':
				var percentage = parseFloat(getRadioVal(form.previousPolicyIssued));
				var rp = reissueCalc.calculate(base);
				premium = rp === null ? null : rp * percentage;
				break;
			case 'reissue':
				premium = reissueCalc.calculate(base);
				break;
			case 'condo':
				var rp = reissueCalc.calculate(base);
				premium = rp === null ? null : rp * .9;
				break;
			case 'construction':
				var rp = reissueCalc.calculate(base);
				premium = rp === null ? null : rp * .5;
				break;
			case 'attorney':
				premium = attorneyCalc.calculate(base);
				break;
		}
	}
	
	if(premium == null){
		alert('For policies over $30,000,000.00, please call our office');
		return;
	}
		
	form.purchasePrice.value = CalcUtils.formatNumber(purchasePrice,true);
	form.loanAmount.value = CalcUtils.formatNumber(loanAmount,true);
	form.titlePremium.value = CalcUtils.formatNumber(premium, true);
}

function getRadioVal(group){
	for(var i = 0; i < group.length; i++){
		if(group[i].checked) return group[i].value;
	}
	return null;
}

function toggleReissueAge(){
	document.getElementById('reissueSection').style.display = 
		document.getElementById('rateType').value === 'refi' ? '' : 'none';
}