$(function(){
	$("select#st").change(function(){
		var state = $(this).val();
		if(state == 'MD'){
			$('.trCounty').show();
		}else{
			$('.trCounty').hide();
		}
	});
	$("input#tt1").change(function(){
		$('.trTPB').show();
	});
	$("input#tt2").change(function(){
		$('.trTPB').hide();
	});
});


function calculateGFE(){
	var TT = $('input:radio[name=tt]:checked').val();
	var ST = $('select#st option:selected').val();
	var CT = $('select#ct option:selected').val();
	var PR = $("input:radio[name='pr']:checked").val();
	var PP = $('#pp').val();
	var LA = $('#la').val();
	var PB = $('#pb').val();
	var TTS = 745;
	var rn = 1;
	var LTI=0; var GRF=0; var RT=0;  var CTT=0; var STT=0; var ttirc=0; var tgrt=0; var tc =0;
	//alert('TT: '+TT+'\nST: '+ST+'\nCT: '+CT+'\nPR:'+PR+'\nPP:'+PP+'\nLA:'+LA+'\nPB: '+PB);
	/*MARYLAND*/
	
	if(ST == 'MD'){
		
		//LTI
		if(TT == 'R') LTI =getLTI(LA, ST, 'br');// (LA/1000)*rates[ST].purchase[rn].br;
		else LTI = getLTI(PP, ST, 'er');//(PP/1000)*rates[ST].purchase[rn].er;
		
		//GRF
		if(PR == 'Y') GRF=120;
		else GRF=95;
		
		//RT
		if(TT == 'R' && PR == 'Y') RT = ((LA*1 - PB*1)/500) * MDCounty[CT][0];
		else if(TT == 'R' && PR == 'N') RT = (LA/500) * MDCounty[CT][0];
		else RT = (PP/500) * MDCounty[CT][0];
		
		//CTT + STT
		if(TT == 'R'){
			CTT = 0;
			STT = 0;
		}else{
			CTT = PP * MDCounty[CT][1];
			STT = PP * 0.005;
		}
			
	}
	
	/*DISTRICT OF COLUMBIA*/
	if(ST == 'DC'){
		
		//LTI
		//alert(getLTI(LA, ST, 'br'));
		if(TT == 'R') LTI =getLTI(LA, ST, 'br');// (LA/1000)*rates[ST].purchase[rn].br;
		else LTI = getLTI(PP, ST, 'er');//(PP/1000)*rates[ST].purchase[rn].er;
		
		//GRF
		GRF=150;
		
		//RT+ CTT
		if(TT == 'P' && PR == 'Y') {
			RT = PP * 0.011;
			CTT = PP * 0.011;
		}else{
			RT = 0;
			CTT = 0;
		}
		
		//STT
		STT = 0;
	}
	
	/*VIRGINIA*/
	if(ST == 'VA'){
		
		//LTI
		if(TT == 'R') LTI =getLTIVA(LA, ST, 'br');// (LA/1000)*rates[ST].purchase[rn].br;
		else LTI = getLTIVA(PP, ST, 'er');//(PP/1000)*rates[ST].purchase[rn].er;
		
		//GRF
		if(TT == 'R') GRF=56;
		else GRF=98;

		//RT
		if(TT == 'R') RT = (LA/1000) * 2.5;
		else RT = ((PP*1+LA*1)/1000) * 2.5;
		//CTT + STT
		CTT = RT/3;
		STT = 0;
	}
	
	//ttirc
		ttirc = TTS + LTI;
		//tgrt
		tgrt = GRF+RT+CTT+STT;
		//tc
		tc = tgrt+ttirc;	
	//OUTPUT
		$('#tts').html(TTS.toFixed(2));
		$('#lti').html(LTI.toFixed(2));
		$('#ttirc').html(ttirc.toFixed(2));
		$('#grf').html(GRF.toFixed(2));
		$('#rt').html(RT.toFixed(2));
		$('#ctt').html(CTT.toFixed(2));
		$('#stt').html(STT.toFixed(2));
		$('#tgrt').html(tgrt.toFixed(2));
		$('#tc').html(tc.toFixed(2));	
};

function getLTI(amount, state, type){
	var a1=0; var a2=0; var a3=0; var a4=0; var a5=0; var a6=0; var t =0;
	
	if(amount > 15000000) {
		a6 = ( (amount-15000000)/1000)*rates[state]['purchase'][6][type];
		amount = 15000000;
	}
	if(amount > 5000000 && amount <= 15000000) {
		a5 = ( (amount-5000000)/1000)*rates[state]['purchase'][5][type];
		amount = 5000000;
	}
	if(amount > 1000000 && amount <= 5000000) {
		a4 = ( (amount-1000000)/1000)*rates[state]['purchase'][4][type];
		amount = 1000000;
	}
	if(amount > 500000 && amount <= 1000000) {
		a3 = ( (amount-500000)/1000)*rates[state]['purchase'][3][type];
		amount = 500000;
	}
	if(amount > 250000 && amount <= 500000) {
		a2 = ( (amount-250000)/1000)*rates[state]['purchase'][2][type];
		amount = 250000;
	}		
	if(amount <= 250000) {
		a1 = ( (amount)/1000)*rates[state]['purchase'][1][type];
		amount = 0;
	}
	t = a1+a2+a3+a4+a5+a6+35;
	return t;
}

function getLTIVA(amount, state, type){
	var a1=0; var a2=0; var a3=0; var a4=0; var a5=0; var a6=0; var t =0;
	
	if(amount > 2500000) {
		a5 = ( (amount-2500000)/1000)*rates[state]['purchase'][5][type];
		amount = 2500000;
	}
	if(amount > 1000000 && amount <= 2500000) {
		a4 = ( (amount-1000000)/1000)*rates[state]['purchase'][4][type];
		amount = 1000000;
	}
	if(amount > 500000 && amount <= 1000000) {
		a3 = ( (amount-500000)/1000)*rates[state]['purchase'][3][type];
		amount = 500000;
	}
	if(amount > 250000 && amount <= 500000) {
		a2 = ( (amount-250000)/1000)*rates[state]['purchase'][2][type];
		amount = 250000;
	}		
	if(amount <= 250000) {
		a1 = ( (amount)/1000)*rates[state]['purchase'][1][type];
		amount = 0;
	}
	t = a1+a2+a3+a4+a5+a6+35;
	return t;
}

var rates = {
	'MD': {
		purchase: {			
			1:{ br: 2.75, 	er: 4.62 },			
			2:{ br: 2.20, 	er: 3.96 },			
			3:{ br: 1.93, 	er: 3.30 },			
			4:{ br: 1.65, 	er: 2.64 },			
			5:{ br: 1.30, 	er: 2.18 },			
			6:{ br: 1.00, 	er: 1.86 }
		}
	},
	'VA': {
		purchase: {			
			1:{ br: 2.90, 	er: 4.68 },			
			2:{ br: 2.70, 	er: 4.44 },			
			3:{ br: 2.30, 	er: 3.96 },			
			4:{ br: 1.85, 	er: 2.70 },			
			5:{ br: 1.50, 	er: 2.70 },			
			6:{ br: 1.50, 	er: 2.70 }
		}
	},
	'DC': {
		purchase: {			
			1:{ br: 3.75, 	er: 5.70 },			
			2:{ br: 3.25, 	er: 5.10 },			
			3:{ br: 2.75, 	er: 4.50 },			
			4:{ br: 2.25, 	er: 3.90 },			
			5:{ br: 1.75, 	er: 3.30 },			
			6:{ br: 1.75, 	er: 3.30 }
		}
	}
};

var MDCounty = {
	1:  [3.25, 0.0050], //{$ RTR - Recordation Tax Rates MD1, % TTR - Transfer Tax Rates MD2}
	2:  [3.50, 0.01],
	3:  [5.00, 0.0150],
	4:  [2.50, 0.0150],
	5:  [5.00, 0.00],
	6:  [5.00, 0.0050],
	7:  [5.00, 0.00],
	8:  [4.10, 0.00],
	9:  [5.00, 0.00],
	10: [5.00, 0.0075],
	11: [6.00, 0.00],
	12: [3.50, 0.0100],
	13: [3.30, 0.0100],
	14: [2.50, 0.0100],
	15: [3.30, 0.0050],
	16: [3.45, 0.0100],
	17: [2.50, 0.0140],
	18: [4.95, 0.0050],
	19: [4.00, 0.0100],
	20: [3.30, 0.00],
	21: [3.30, 0.0100],
	22: [3.80, 0.0050],
	23: [3.50, 0.00],
	24: [3.30, 0.0050]
};
