var styles_str = '<style type="text/css" >';
styles_str += '';
styles_str += 'div.bankstore_creditcalc,';
styles_str += 'div.bankstore_creditcalc div, div.bankstore_creditcalc table, div.bankstore_creditcalc td,';
styles_str += '#bankstore_creditcalc_result_container,';
styles_str += '#bankstore_creditcalc_result_container div,';
styles_str += '#bankstore_creditcalc_result_container table,';
styles_str += '#bankstore_creditcalc_result_container td,';
styles_str += '#bankstore_creditcalc_result_container th';
styles_str += '{';
styles_str += '	font-family: Tahoma, Arial, Helvetica, sans-serif;';
styles_str += '	font-size: 14px;';
styles_str += '	color: #14;';
styles_str += '}';
styles_str += '';
styles_str += 'div.bankstore_creditcalc {';
styles_str += '	text-align: left;';
styles_str += '}';
styles_str += '';
styles_str += 'table.bankstore_creditcalc';
styles_str += '{';
styles_str += '	border: 1px solid #0a0052;';
styles_str += '	background-color: #bababa;';
styles_str += '	text-align: center;';
styles_str += '}';
styles_str += '';
styles_str += 'td.bankstore_creditcalc_header';
styles_str += '{';
styles_str += '	font-size: 20px !important;';
styles_str += '	color: #eb7d07 !important;';
styles_str += '	font-weight: bold;';
styles_str += '	text-align: center;';
styles_str += '	background-color: #1f1f1f;';
styles_str += '	padding: 5px 3px 5px 3px;';
styles_str += '}';
styles_str += '';
styles_str += 'td.bankstore_creditcalc_tabs { padding: 3px 2px 0px 2px; }';
styles_str += 'table.bankstore_creditcalc_tabs { border-collapse: collapse; width: 100%; }';
styles_str += 'table.bankstore_creditcalc_tabs td.active_tab';
styles_str += '{';
styles_str += '	border-collapse: collapse;';
styles_str += '	border-top: 1px solid #242424;';
styles_str += '	border-left: 1px solid #242424;';
styles_str += '	border-right: 1px solid #242424;';
styles_str += '	white-space: nowrap;';
styles_str += '	padding: 2px 7px 2px 7px;';
styles_str += '	font-weight: bold;';
styles_str += '	font-size: 14px;';
styles_str += '	color: #666464 !important;';
styles_str += '	background-color: #7d78ff;';
styles_str += '}';
styles_str += '';
styles_str += 'table.bankstore_creditcalc_tabs td.unactive_tab';
styles_str += '{';
styles_str += '	border-collapse: collapse;';
styles_str += '	border: 1px solid #242424;';
styles_str += '	white-space: nowrap;';
styles_str += '	padding: 2px 7px 2px 7px;';
styles_str += '	font-weight: bold;';
styles_str += '	font-size: 14px;';
styles_str += '	color: #666464 !important;';
styles_str += '	background-color: #8f8f8f;';
styles_str += '}';
styles_str += '';
styles_str += 'table.bankstore_creditcalc_tabs td		a	{ text-decoration: none; color: #666464; }';
styles_str += 'table.bankstore_creditcalc_tabs td		a:hover  { text-decoration: none; color: #000000; }';
styles_str += '';
styles_str += 'table.bankstore_creditcalc_tabs td.empty_tab';
styles_str += '{';
styles_str += '	border-collapse: collapse;';
styles_str += '	border-left: 1px solid #242424;';
styles_str += '	border-bottom: 1px solid #242424;';
styles_str += '	width: 100%;';
styles_str += '}';
styles_str += '';
styles_str += 'table.bankstore_creditcalc_form_fields';
styles_str += '{';
styles_str += '}';
styles_str += '';
styles_str += 'td.bankstore_creditcalc_label { text-align: right; }';
styles_str += 'td.bankstore_creditcalc_input { text-align: left; }';
styles_str += 'td.bankstore_creditcalc_input	input { font-size: 14px; border: 1px solid #0a0052; padding: 1px 2px; }';
styles_str += 'td.bankstore_creditcalc_input	input.readonlyfield { background-color: #DDDDDF; }';
styles_str += 'td.bankstore_creditcalc_input	select { font-size: 14px; border: 1px solid #0a0052; }';
styles_str += '';
styles_str += 'td.bankstore_creditcalc_submit';
styles_str += '{';
styles_str += '	background-color: #63abbd;';
styles_str += '	padding: 5px 3px 5px 3px;';
styles_str += '}';
styles_str += 'td.bankstore_creditcalc_submit	input';
styles_str += '{';
styles_str += '	font-size: 16px !important;';
styles_str += '	color: #00083d !important;';
styles_str += '	padding: 0px 10px;';
styles_str += '}';
styles_str += '';
styles_str += 'td.bankstore_creditcalc_copyright { text-align: right; font-size: 10px !important; color: #AAAAAF !important; padding: 1px 5px; }';
styles_str += 'td.bankstore_creditcalc_copyright	a { font-size: 10px !important; color: #AAAAFF !important; }';
styles_str += '';
styles_str += 'div.creditcalc_error { font-size: 12px !important; color: red !important; }';
styles_str += '';
styles_str += '#bankstore_creditcalc_result_container { padding-top: 10px; text-align: left; }';
styles_str += '#bankstore_creditcalc_result_container table.request_data { margin-bottom: 5px; }';
styles_str += '#bankstore_creditcalc_result_container table.request_data	td.field_name { text-align: left; }';
styles_str += '#bankstore_creditcalc_result_container table.request_data	td.field_value { text-align: left; }';
styles_str += '#bankstore_creditcalc_result_container table.result_data { border-collapse: collapse; border: 1px solid #555566; }';
styles_str += '#bankstore_creditcalc_result_container table.result_data	thead	th { padding: 5px 5px 5px 5px; background-color: #DDDDDF; }';
styles_str += '#bankstore_creditcalc_result_container table.result_data	tbody	td { padding: 1px 5px 1px 5px; }';
styles_str += '#bankstore_creditcalc_result_container table.result_data	tfoot	th { text-align: left; padding: 5px 5px 5px 5px; border-top: 1px solid #000000;  background-color: #DFDDE5; }';
styles_str += '#bankstore_creditcalc_result_container table.result_data	tfoot	td { padding: 5px 5px 5px 5px; }';
styles_str += '#bankstore_creditcalc_result_container table.result_data	tfoot	.total_sum { text-align: right; padding-right: 10px; }';
styles_str += '#bankstore_creditcalc_result_container table.result_data	tfoot	td.overpayment { background-color: #FFEEEE; }';
styles_str += '#bankstore_creditcalc_result_container div.print_link { text-align: left; }';
styles_str += '';
styles_str += 'h1.bankstore_creditcalc_result_header';
styles_str += '{';
styles_str += '	font-family: Tahoma, Arial, Helvetica, sans-serif;';
styles_str += '	font-size: 14px; margin: 0px 0px 5px 0px;';
styles_str += '}';
styles_str += '';
styles_str += '#bankstore_creditcalc_form_container';
styles_str += '{';
styles_str += '	visibility: visible !important;';
styles_str += '/*';
styles_str += '	border: 1px solid black;';
styles_str += '	display: inline;';
styles_str += '	padding: 5px;';
styles_str += '*/';
styles_str += '}';
styles_str += '';
styles_str += '</style>';

function showCommmonCreditCalculator()
{
	var b_c_str = '';
	var b_c_str_c_t = '';
	var b_c_str_c_b = '';

	b_c_str_c_t = '<div id="bankstore_creditcalc_form_container" style="visibility: hidden;">';
	b_c_str = '<table class="bankstore_creditcalc" cellpadding="0" cellspacing="0">';

	b_c_str += '<tr>';
	b_c_str += '<td colspan="2" class="bankstore_creditcalc_header">';
	b_c_str += 'Кредитный калькулятор';
	b_c_str += '</td>';
	b_c_str += '</tr>';


	b_c_str += '<tr><td><table class="bankstore_creditcalc_form_fields">';

	b_c_str += '<tr>';
	b_c_str += '<td class="bankstore_creditcalc_label">';
	b_c_str += '<label for="credit_procent">Процентная ставка:</label>';
	b_c_str += '</td>';
	b_c_str += '<td class="bankstore_creditcalc_input">';
	b_c_str += '<input id="credit_procent" name="credit_procent" type="text" size="5" /> %';
	b_c_str += '</td>';
	b_c_str += '</tr>';

	b_c_str += '<tr>';
	b_c_str += '<td class="bankstore_creditcalc_label">';
	b_c_str += '<label for="credit_full_sum">Сумма покупки:</label>';
	b_c_str += '</td>';
	b_c_str += '<td class="bankstore_creditcalc_input">';
	b_c_str += '<input id="credit_full_sum" name="credit_full_sum" type="text" size="10" />';
	b_c_str += '</td>';
	b_c_str += '</tr>';

	b_c_str += '<tr>';
	b_c_str += '<td class="bankstore_creditcalc_label">';
	b_c_str += '<label for="credit_first_payment">Первый взнос:</label>';
	b_c_str += '</td>';
	b_c_str += '<td class="bankstore_creditcalc_input">';
	b_c_str += '<input id="credit_first_payment" name="credit_first_payment" type="text" size="10" />';
	b_c_str += '</td>';
	b_c_str += '</tr>';

	b_c_str += '<tr>';
	b_c_str += '<td class="bankstore_creditcalc_label">';
	b_c_str += '<label for="credit_term">Срок кредитования:</label>';
	b_c_str += '</td>';
	b_c_str += '<td class="bankstore_creditcalc_input">';
	b_c_str += '<input id="credit_term" name="credit_term" type="text" size="5" /> месяцев';
	b_c_str += '</td>';
	b_c_str += '</tr>';

	b_c_str += '<tr>';
	b_c_str += '<td class="bankstore_creditcalc_label">';
	b_c_str += '<label for="credit_comission_1">Единоразовая комиссия:</label>';
	b_c_str += '</td>';
	b_c_str += '<td class="bankstore_creditcalc_input">';
	b_c_str += '<input id="credit_comission_1" name="credit_comission_1" type="text" size="5" /> %';
	b_c_str += '</td>';
	b_c_str += '</tr>';

	b_c_str += '<tr>';
	b_c_str += '<td class="bankstore_creditcalc_label">';
	b_c_str += '<label for="credit_comission_2">Ежемесячная комиссия:</label>';
	b_c_str += '</td>';
	b_c_str += '<td class="bankstore_creditcalc_input">';
	b_c_str += '<input id="credit_comission_2" name="credit_comission_2" type="text" size="5" /> %';
	b_c_str += '</td>';
	b_c_str += '</tr>';

	b_c_str += '<tr>';
	b_c_str += '<td class="bankstore_creditcalc_label">';
	b_c_str += '<label for="credit_calc_method">Метод расчёта:</label>';
	b_c_str += '</td>';
	b_c_str += '<td class="bankstore_creditcalc_input">';
	b_c_str += '<select id="credit_calc_method" name="credit_calc_method" size="1" style="width: 22em;">';
	b_c_str += '<option value="1">Простые проценты</option>';
	b_c_str += '<option value="2">Аннутитет (равными платежами)</option>';
	b_c_str += '</select>';
	b_c_str += '</td>';
	b_c_str += '</tr>';
	b_c_str += '</table></td></tr>';

	b_c_str += '<tr>';
	b_c_str += '<td colspan="2" class="bankstore_creditcalc_submit">';
	b_c_str += '<input type="button" onclick="creditcalc_make_calculation();" id="bankstore_creditcalc_calc_button" value="Рассчитать" />';
	b_c_str += '</td>';
	b_c_str += '</tr>';

	b_c_str += '<tr>';
	b_c_str += '<td colspan="2" class="bankstore_creditcalc_copyright">';
	b_c_str += 'При проддержке проекта <a href="http://www.bankstore.com.ua/" target="_blank">"Банкстор"</a>';
	b_c_str += '</td>';
	b_c_str += '</tr>';
	b_c_str += '</table>';
	b_c_str_c_b += '</div>';

	b_c_str_c_b += '<div id=\"bankstore_creditcalc_result_container\"></div>';

	if( document.getElementById("bankstore_creditcalc_form_container") ) document.getElementById("bankstore_creditcalc_form_container").innerHTML = b_c_str;
	else
	{
		document.getElementById("bankstore_creditcalc").innerHTML = b_c_str_c_t + b_c_str + b_c_str_c_b + styles_str;
		document.getElementById("bankstore_creditcalc_form_container").style.visibility = 'visible';
	}
document.getElementById("credit_calc_method").value = 1;
}


function roundNumber(rnum, rlength)
{
  return Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
}

function str_repeat( str, num )
{
	var result_str = '';
	for( var i=1; i<=num; i++ ) result_str += str;
	return result_str;
}

function getValueMoney( value, round, delim )
{
	value = '' + value;
	len = value.length;
	pos = value.indexOf( '.' );
	if( pos == -1 )
	{
		pos = value.indexOf( ',' );
		if( pos == -1 )
		{
			return value + delim + str_repeat( '0', round );
		}
	}

	if( len - pos - 1 < round ) value = value + str_repeat( '0', round - (len - pos - 1) );
	value = value.substr( 0, pos + 1 + round ).replace( /\./, delim );

	return value;
}

function creditcalc_make_calculation( )
{
	val_credit_procent = parseFloat( document.getElementById("credit_procent").value.replace( /,/, "." ) );
	if( isNaN( val_credit_procent ) ) val_credit_procent = 0;
	if( val_credit_procent <= 0 )
	{
		alert( 'Поле "Процентная ставка" должно быть заполнено!' );
		return false;
	}
	if( val_credit_procent > 100 )
	{
		alert( 'Введите разумную процентную ставку в поле "Процентная ставка"!' );
		return false;
	}

	val_credit_full_sum = parseFloat( document.getElementById("credit_full_sum").value.replace( /,/, "." ) );
	if( isNaN( val_credit_full_sum ) ) val_credit_full_sum = 0;
	if( val_credit_full_sum <= 0 )
	{
		alert( 'Поле "Сумма покупки" должно быть заполнено!' );
		return false;
	}

	val_credit_first_payment = parseFloat( document.getElementById("credit_first_payment").value.replace( /,/, "." ) );
	if( isNaN( val_credit_first_payment ) ) val_credit_first_payment = 0;
	if( val_credit_first_payment > val_credit_full_sum )
	{
		alert( 'Первый взнос не может быть больше суммы покупки!' );
		return false;
	}
	if( val_credit_first_payment != 0 && val_credit_full_sum == val_credit_first_payment )
	{
		alert( 'Первый взнос не может быть равен сумме покупки!' );
		return false;
	}

	val_credit_term = parseInt( document.getElementById("credit_term").value );
	if( isNaN( val_credit_term ) ) val_credit_term = 0;
	if( val_credit_term <= 0 )
	{
		alert( 'Поле "Срок кредитования" должно быть заполнено!' );
		return false;
	}
	if( val_credit_term > 600 )
	{
		alert( 'Введите разумный срок в поле "Срок кредитования"!' );
		return false;
	}

	val_credit_calc_method = parseInt( document.getElementById("credit_calc_method").value );
	if( isNaN( val_credit_calc_method ) ) val = 0;

	val_credit_comission_1 = parseFloat( document.getElementById("credit_comission_1").value.replace( /,/, "." ) );
	if( isNaN( val_credit_comission_1 ) ) val_credit_comission_1 = 0;
	if( val_credit_comission_1 > 50 )
	{
		alert( 'Введите разумный процент в поле "Единоразовая комиссия"!' );
		return false;
	}

	val_credit_comission_2 = parseFloat( document.getElementById("credit_comission_2").value.replace( /,/, "." ) );
	if( isNaN( val_credit_comission_2 ) ) val_credit_comission_2 = 0;
	if( val_credit_comission_2 > 10 )
	{
		alert( 'Введите разумный процент в поле "Ежемесячная комиссия"!' );
		return false;
	}

	val_credit_calc_bank = 0;
	if( document.getElementById("credit_calc_bank") )
	{
		val_credit_calc_bank = parseInt( document.getElementById("credit_calc_bank").value );
		if( isNaN( val_credit_calc_bank ) ) val_credit_calc_bank = 0;
	}

	val_credit_calc_credit = 0;
	if( document.getElementById("credit_calc_credit") )
	{
		val_credit_calc_credit = parseInt( document.getElementById("credit_calc_credit").value );
		if( isNaN( val_credit_calc_credit ) ) val_credit_calc_credit = 0;
	}

	/*
	val_credit_calc_procent = 0;
	if( document.getElementById("credit_calc_procent") )
	{
		val_credit_calc_procent = parseInt( document.getElementById("credit_calc_procent").value );
		if( isNaN( val_credit_calc_procent ) ) val_credit_calc_procent = 0;
	}
	*/

	var results_table = "";
	results_table += "<table class=\"result_data\" cellspacing=\"0\" cellpadding=\"0\">\n";

	results_table += "<thead><tr>\n";
	results_table += "<th>№</th>\n";
	results_table += "<th>Остаток по кредиту</th>\n";
	results_table += "<th>Ежемесячный платеж</th>\n";
	results_table += "<th>Проценты</th>\n";
	results_table += "<th>Другие платежи</th>\n";
	results_table += "<th>Сумма к выплате</th>\n";
	results_table += "</tr></thead>\n";

	var credit_sum = 0;
	var payments = 0;
	var credit_procent_100 = 0;
	var payments_delta = 0;
	var saldo = 0;
	var sum_body = 0;
	var sum_procent = 0;
	var sum_other_payments = 0;
	var sum_sum = 0;

	var credit_calc_method = parseInt( document.getElementById("credit_calc_method").value );
	if( credit_calc_method == 1 )
	{
		credit_sum = val_credit_full_sum - val_credit_first_payment;
		payments = roundNumber( credit_sum / val_credit_term, 2 );
		credit_procent_100 = val_credit_procent / 100;

		payments_delta = roundNumber( credit_sum - payments * val_credit_term, 2 );
		saldo = credit_sum;

		sum_body = 0;
		sum_procent = 0;
		sum_other_payments = 0;
		sum_sum = 0;
		results_table += "<tbody>\n";
		for( i = 0; i < val_credit_term; i++ )
		{
			results_table += "<tr" + ( (i+1)%12 == 0 ? ' class="year_delimiter"' : '' ) + ">\n";
			results_table += "<td>" + (i+1) + "</td>\n";
			results_table += "<td>" + getValueMoney( saldo, 2, ',' ) + "</td>\n";

			body = payments;
			if( i == val_credit_term - 1 ) body = payments + payments_delta;
			results_table += "<td>" + getValueMoney( body, 2, ',' ) + "</td>\n";
			sum_body += body;

			procent = roundNumber( saldo*credit_procent_100/365*31, 2 );
			results_table += "<td>" + getValueMoney( procent , 2, ',' ) + "</td>\n";
			sum_procent += procent;

			other_payments = 0;
			if( i == 0 && val_credit_comission_1 > 0 )
			{
				other_payments += roundNumber( credit_sum*val_credit_comission_1/100, 2 );
			}
			if( val_credit_comission_2 > 0 )
			{
				other_payments += roundNumber( credit_sum*val_credit_comission_2/100, 2 );
			}

			if( other_payments > 0 )
			{
				results_table += "<td>" + getValueMoney( other_payments , 2, ',' ) + "</td>\n";
				sum_other_payments += other_payments;
			}
			else results_table += "<td>&nbsp;</td>\n";

			sum = body + procent + other_payments;
			results_table += "<td>" + getValueMoney( sum, 2, ',' ) + "</td>\n";
			sum_sum += sum;

			results_table += "</tr>\n";
			saldo -= payments;
		}
	}
	else
	{
		credit_sum = val_credit_full_sum - val_credit_first_payment;
		credit_procent_100		= val_credit_procent / 100;

		payments = roundNumber( (credit_sum*(credit_procent_100*31/365)) / (1 - Math.pow(1+credit_procent_100*31/365, -val_credit_term)), 2 );
		saldo = credit_sum;

		sum_body = 0;
		sum_procent = 0;
		sum_other_payments = 0;
		sum_sum = 0;
		results_table += "<tbody>\n";
		for( i = 0; i < val_credit_term; i++ )
		{
			results_table += "<tr" + ( (i+1)%12 == 0 ? ' class="year_delimiter"' : '' ) + ">\n";
			results_table += "<td>" + (i+1) + "</td>\n";
			results_table += "<td>" + getValueMoney( saldo, 2, ',' ) + "</td>\n";

			procent = roundNumber( saldo*credit_procent_100/365*31, 2 );
			body = payments - procent;
			if( i == val_credit_term - 1 )
			{
				payments_delta = saldo - body;
				body = body + payments_delta;
				payments = payments + payments_delta;
			}
			results_table += "<td>" + getValueMoney( body, 2, ',' ) + "</td>\n";
			sum_body += body;

			results_table += "<td>" + getValueMoney( procent , 2, ',' ) + "</td>\n";
			sum_procent += procent;

			other_payments = 0;
			if( i == 0 && val_credit_comission_1 > 0 )
			{
				other_payments += roundNumber( credit_sum*val_credit_comission_1/100, 2 );
			}
			if( val_credit_comission_2 > 0 )
			{
				other_payments += roundNumber( credit_sum*val_credit_comission_2/100, 2 );
			}

			if( other_payments > 0 )
			{
				results_table += "<td>" + getValueMoney( other_payments , 2, ',' ) + "</td>\n";
				sum_other_payments += other_payments;
			}
			else results_table += "<td>&nbsp;</td>\n";

			sum = body + procent + other_payments;
			results_table += "<td>" + getValueMoney( sum, 2, ',' ) + "</td>\n";
			sum_sum += sum;

			results_table += "</tr>\n";
			saldo -= body;
		}
	}
	results_table += "</tbody>";
	results_table += "<tfoot>\n";
	results_table += "<tr>\n";
	results_table += "<th class=\"total_sum\" colspan=\"2\">Всего</th>\n";
	results_table += "<th>" + getValueMoney( sum_body, 2, ',' ) + "</th>\n";
	results_table += "<th>" + getValueMoney( sum_procent, 2, ',' ) + "</th>\n";
	results_table += "<th>" + getValueMoney( sum_other_payments, 2, ',' ) + "</th>\n";
	results_table += "<th>" + getValueMoney( sum_sum, 2, ',' ) + "</th>\n";
	results_table += "</tr>\n";
	results_table += "<tr>\n";
	results_table += "<td class=\"total_sum\" colspan=\"5\">Переплата за пользование кредитом</td>\n";
	results_table += "<td class=\"overpayment\">" + getValueMoney( sum_sum - credit_sum, 2, ',' ) + "</td>\n";
	results_table += "</tr>\n";
	results_table += "<tr>\n";
	results_table += "<td class=\"total_sum\" colspan=\"5\">Общая стоимость покупки (после выплаты кредита)</td>\n";
	results_table += "<td class=\"overpayment\">" + getValueMoney( val_credit_first_payment + sum_sum, 2, ',' ) + "</td>\n";
	results_table += "</tr>\n";
	results_table += "<tr>\n";
	results_table += "<td class=\"total_sum\" colspan=\"5\">Удорожание покупки</td>\n";
	results_table += "<td class=\"overpayment\">" + getValueMoney( (val_credit_first_payment + sum_sum) * 100 / val_credit_full_sum - 100, 2, ',' ) + "%</td>\n";
	results_table += "</tr>\n";
	results_table += "<tr>\n";
	results_table += "<td class=\"total_sum\" colspan=\"5\">Эффективная процентная ставка</td>\n";
	results_table += "<td class=\"overpayment\">" + getValueMoney( val_credit_procent + val_credit_comission_2*12 + ( val_credit_comission_1 )/(val_credit_term/12), 2, ',' ) + "%</td>\n";
	results_table += "</tr>\n";
	results_table += "</tfoot>";
	results_table += "</table>\n";


	document.getElementById("bankstore_creditcalc_result_container").innerHTML = results_table;

	return true;
}

showCommmonCreditCalculator();

// 0.0616