var globAmount = 0;
/*DENTAL 1*/
/*VISION 2*/
/*NEW 3*/

var no_interest_payment_plans = {12:12,18:18,24:24};
var extended_payment_plans = {24:24,36:36,48:48};
var no_interest_payment_plan_limits = {12:{1:1000,2:1000,3:1000},18:{1:2000,2:2000,3:2000},24:{1:3000,2:2000,3:3000}};
var extended_payment_plan_limits = {24:{1:1000,2:1000,3:1000},36:{1:1000,2:1000,3:1000},48:{1:1000,2:1000,3:1000}};
var no_interest_payment_plan_factors = {12:{1:0.0841,2:0.0841,3:0.0841},18:{1:0.0561,2:0.0561,3:0.0561},24:{1:0.042,2:0.042,3:0.042}};
var extended_payment_plan_factors_min = {24:{1:0.0481,2:0.0471,3:0.0481},36:{1:0.0342,2:0.0333,3:0.0342},48:{1:0.0274,2:0.0264,3:0.0274}};
var extended_payment_plan_factors_max = {24:{1:0.0549,2:0.0549,3:0.0549},36:{1:0.0414,2:0.0414,3:0.0414},48:{1:0.0349,2:0.0349,3:0.0349}};
var max_amounts = {1:20001,2:12001,3:12001};
var extended_plan_bounderies = {24:{1:{1:1000,2:2500},2:{1:1000,2:2500},3:{1:1000,2:2500}},36:{1:{1:2500,2:4000},2:{1:2500,2:4000},3:{1:2500,2:4000}},48:{1:{1:4000,2:20001},2:{1:4000,2:12001},3:{1:4000,2:20001}}};

var no_interest_percentage_values = {12:0,18:0,24:0};
var extended_payment_percentage_values = {24:{0:0,1:0},36:{0:0,1:0},48:{0:0,1:0}};

$(document).ready(function() {
		$("#calculator_slider").submit(function(){return false;});
		$("#calculate").click(function(){toCalculateValues();});
	}
);

$(document).ready(function(){
	$("#content-slider").slider({
		animate: true,
		handle: ".content-slider-handle",
		change: handleSliderChange,
		slide: handleSliderSlide,
		min:0,
		max:190
	});
});

$(document).ready(function(){
	if ($("#amount").val() == "$" || $("#amount").val() == "") {
		$("#amount").val("$5000");
	}
});

function handleSliderChange(e, ui)
{
	if ($("#procedure").val() == 0) {
		$("#procedure").addClass("cal_error");
		return;
	} else {
		$("#procedure").removeClass("cal_error");
	}

	var total = 1000+100*ui.value;
	globAmount = total;
	$("#amount").val("$"+total);
	calculateValues();
}

function handleSliderSlide(e, ui){}

function toCalculateValues()
{
	if ($("#procedure").val() == 0) {
		$("#procedure").addClass("cal_error");
		return;
	} else {
		$("#procedure").removeClass("cal_error");
	}

	var str = new String($("#amount").val());
	rExp = /\$/gi;
	result = str.search(rExp);
	var num = 0;
	if (result == 0) { num = str.substring(1,str.length); } else if (result == -1) { num = str; }
	globAmount = num;
	$("#content-slider").slider("moveTo", (globAmount - 1000)/100, 0);
	calculateValues();
}

function calculateValues(){
	if ($("#procedure").val() == 0) {
		$("#procedure").addClass("cal_error");
		return;
	} else {
		$("#procedure").removeClass("cal_error");
	}

	$.each(no_interest_payment_plans,function(i,v) {
		if (globAmount >= no_interest_payment_plan_limits[i][$("#procedure").val()] && globAmount <= max_amounts[$("#procedure").val()]) {
			var factor = no_interest_payment_plan_factors[i][$("#procedure").val()];
			totalAmount = globAmount*factor;
			no_interest_percentage_values[i] = totalAmount;
			d = Math.round((totalAmount/globAmount)*100);
			totalAmount = Math.round(totalAmount);
			num = new NumberFormat();
			num.setNumber(totalAmount);
			num.setPlaces('0', false);
			totalAmount = num.toFormatted();
			$("#month_"+i+"_n").html("$"+totalAmount);
		} else {
			no_interest_percentage_values[i] = 0;
			$("#month_"+i+"_n").html("N/A");
		}
	});

	$.each(extended_payment_plans,function(i,v) {
		if (globAmount >= extended_payment_plan_limits[i][$("#procedure").val()] &&  globAmount <= max_amounts[$("#procedure").val()]) {
			if (globAmount >= extended_plan_bounderies[i][$("#procedure").val()][1] && globAmount < extended_plan_bounderies[i][$("#procedure").val()][2]) {
				var factor_min = extended_payment_plan_factors_min[i][$("#procedure").val()];
				var factor_max = extended_payment_plan_factors_max[i][$("#procedure").val()];
				totalAmount_min = globAmount*factor_min;
				d_min = Math.round((totalAmount_min/globAmount)*100);
				totalAmount_min = Math.round(totalAmount_min);
				extended_payment_percentage_values[i][0] = totalAmount_min;
				num = new NumberFormat();
				num.setNumber(totalAmount_min);
				num.setPlaces('0', false);
				totalAmount_min = num.toFormatted();
				totalAmount_max = globAmount*factor_max;
				d_max = Math.round((totalAmount_max/globAmount)*100);
				totalAmount_max = Math.round(totalAmount_max);
				extended_payment_percentage_values[i][1] = totalAmount_max;
				num = new NumberFormat();
				num.setNumber(totalAmount_max);
				num.setPlaces('0', false);
				totalAmount_max = num.toFormatted();
				$("#month_"+i+"_e").html("$"+totalAmount_min+" - $"+totalAmount_max);
			} else {
				extended_payment_percentage_values[i][0] = 0;
				extended_payment_percentage_values[i][1] = 0;
				$("#month_"+i+"_e").html("N/A");
			}
		} else {
			extended_payment_percentage_values[i][0] = 0;
			extended_payment_percentage_values[i][1] = 0;
			$("#month_"+i+"_e").html("N/A");
		}
	});

	var percentage = 0;
	$.each(no_interest_payment_plans,function(i,v) {
		if (no_interest_percentage_values[12] != 0 && no_interest_percentage_values[12] != "0") { percentage = 100*(no_interest_percentage_values[i]/no_interest_percentage_values[12]); }
		if (percentage > 100) { percentage = 1; }
		var cssObj = {width: percentage+"%" }
		percentage = 0;

		percentage = Math.round(percentage);

		$("#month_"+i+"_n_rb").css(cssObj);
	});

	var percentage = 0;
	var percentage_min = 0;

	$.each(extended_payment_plans,function(i,v) {
		if (no_interest_percentage_values[12] != 0 && no_interest_percentage_values[12] != "0") {
			percentage = 100*(extended_payment_percentage_values[i][1]/no_interest_percentage_values[12]);
		}

		if (percentage > 100) {
			percentage = 1;
			percentage_min = 1;
		} else {
			percentage_min = 100*(extended_payment_percentage_values[i][0]/extended_payment_percentage_values[i][1]);
		}

		if (percentage_min > 100) {percentage_min = 1; }


		percentage = Math.round(percentage);
		percentage_min = Math.round(percentage_min);

		if (percentage == parseInt(percentage)) {
			var cssObj = {width: percentage+"%"};
			$("#month_"+i+"_e_rbc").css(cssObj);
		}

		if (percentage_min == parseInt(percentage_min)) {
			var newCssObj = {width: percentage_min+"%"};
			$("#month_"+i+"_e_rb").css(newCssObj);
		}

		percentage = 0;
		percentage_min = 0;

	});

	return false;
}


$(document).ready(function (){
	$("#procedure").change(
		function (){
			if ($("#procedure").val() == 0) {
				$("#procedure").addClass("cal_error");
				resetValues();
			} else {
				$("#procedure").removeClass("cal_error");
				toCalculateValues();
			}
		}
	);
 }
);

function resetValues(){
	$.each(extended_payment_plans,function(i,v) {
		$("#month_"+i+"_e").html("N/A");
	});

	$.each(no_interest_payment_plans,function(i,v) {
		$("#month_"+i+"_n").html("N/A");
	});
}