var yearly_interest_obj, monthly_return_obj, initial_amount_obj, total_payment_value_output, total_interest_value_output, ratio_obj, monthly_payment_value_output;
var interest_payment_cells = Array(null);
var keren_payment_cells = Array(null);
var monthly_payment_cells = Array(null);
var interest_rate_cells = Array(null);
var keren_left_cells = Array(null);
var table;

var intereset_rate_changes = Array();
var keren_left_at_month_start = Array();
var interest_rates = Array();
var monthly_payments = Array();
var duration_in_months_list;
	
var extra_shekel_sign = " ₪";

function init_objs()
{
	yearly_interest_obj = document.getElementById('yearly_interest');
	initial_amount_obj = document.getElementById('initial_amount');
	duration_in_months_list = document.getElementById('duration_in_years');
	load_year_month_list(duration_in_months_list, 1, 300, 60);
	for (var i = 0; i < 25 * 12; i++)
	{
		intereset_rate_changes[i] = 0;
	}
	table = document.getElementById('payment_table');
}

function R_frac(R, d)
{
	return (1/Math.pow(1 + R, d));
}

function get_duration_in_months()
{
	return get_list_value(duration_in_months_list);
}

function get_monthly_interest()
{
	return parseFloat(yearly_interest_obj.value) / 1200;
}

function get_total_amount()
{
	return parseInt(remove_commas(initial_amount_obj.value));
}

function init_sliders()
{
	for (var i = 0; i < gslider_array.length; i++)
	{
		
		gslider_array[i].handle.style.visibility = 'visible';
	}
	
	gslider_array[0].onchange = slider_change_func;
	gslider_array[2].onchange = slider_change_func;
	gslider_array[1].onchange = slider_change_func;
}

/*
Parameters:
T = Total amount of money
m = monthly return
R = monthly interest
d = duration in months
*/ 
	
function calculate_monthly_payment(T, d, R)
{		
	return result = (T * R) / (1 - R_frac(R, d));	
}

function format_2_trailing_zeros(number)
{
	return Math.round(number * 100) / 100;
}

function generate_up_down_button(direction, line_index)
{
	return "<img id='direction_button_" + direction + "_" + line_index + "' src='images/main_page/" + direction + "_control_gray.jpg' onmouseover='this.src=\"images/main_page/" + direction + "_control_cyan.jpg\"' onmouseout='this.src=\"images/main_page/" + direction + "_control_gray.jpg\"' onmousedown='this.src=\"images/main_page/" + direction + "_control_blue.jpg\"' onmouseup='this.src=\"images/main_page/" + direction + "_control_cyan.jpg\"'/>";
}

function move_interest_up(line_index)
{	
	intereset_rate_changes[line_index] += 0.25;
	update_table_from_month(line_index);
}

function move_interest_down(line_index)
{
	intereset_rate_changes[line_index] -= 0.25;
	update_table_from_month(line_index);
}

function generate_up_down_control(line_index)
{
	return "<table cellspacing='0' cellpadding='0' style='float:left;'><tr><td>" + generate_up_down_button("up", line_index) + "</td></tr><td>" + generate_up_down_button("down", line_index) + "</td></tr></table>";
}

var last_visible_month;


	/*
	row = table.insertRow(table.rows.length);
	row.className="article_table_totals bold";
	month_name_td = row.insertCell(0);
	month_name_td.appendChild(document.createTextNode("סה\"כ"));	
	
	row.insertCell(1);
	keren_left_td = row.insertCell(2);
	keren_left_td.appendChild(document.createTextNode(0));
		
	keren_payment_td = row.insertCell(3);
	interest_payment_td = row.insertCell(4);
		
	keren_payment_td.appendChild(document.createTextNode(format_number_with_commas(overall_keren, 2) ));
	
	overall_interest = overall_payment - overall_keren;
	interest_payment_td.appendChild(document.createTextNode(format_number_with_commas(overall_interest, 2) ));
		
	monthly_payment_td = row.insertCell(5);
	monthly_payment_td.appendChild(document.createTextNode(format_number_with_commas(overall_payment, 2) ));	
	*/	




function init_calculator()
{	
	init_objs();
	var recalc_existing_table = create_f_x(update_table_from_month, 1);
	create_slider('initial_amount', 50000, 1400000, 250000 ,false, 10000, recalc_existing_table, 15);
	create_slider('duration_in_years', 0, 481, 60 ,false, 12, recalc_existing_table, 15);	
	create_slider('yearly_interest', 2, 8, 3.5 ,true, 0.05, recalc_existing_table, 15);	
	gslider_attachSliderEvents();
	fill_initial_payment_table();
	
	window.onload=recalc_existing_table;
}


init_calculator();