﻿function openMenu(id, group_only, href) {
	if(group_only){
		elem = this.document.getElementById(id);
		if(elem.style.display == '')
			this.document.getElementById(id).style.display = 'none';
		else
			this.document.getElementById(id).style.display = '';
	} else {
		window.location = href;
	}
}

var deposit = new Array;
var table = new Array;
var prolong = new Array;

var m_titles = [];
var m_lang = "";
var m_summ;
var m_durationItem;
var m_currency;
var m_count;
var m_table_content;
var m_bfloatingDate;
var m_bclearTable;

/**
 * function changeDatePicker
 *
 * Функция подсчета количества дней между двумя датами
 * из поля datepicker1 читается первая дата из поля datepicker2
 * вторая дата, рузельтат вычитания записывается в поле days
 */
function changeDatePicker()
{	
	clearTable();
    valPicker1 = $("#datepicker1").attr("value");
    valPicker2 = $("#datepicker2").attr("value");
    if(valPicker1.length >0 && valPicker2.length >0)
    {
		var arr1 = valPicker1.split("-");
		var arr2 = valPicker2.split("-");
		
        var date1 = new Date(arr1[0],arr1[1]-1,arr1[2],3,0,0);
        var date2 = new Date(arr2[0],arr2[1]-1,arr2[2],3,0,0);
		
//		var date1 = new Date(valPicker1);
//		var date2 = new Date(valPicker2);

//		alert(date11.toString()+"\n"+date1.toString());
        if(date1 <= date2)
        {
            time = date2.getTime() - date1.getTime();
            var days = Math.floor((time / 86400/1000)+1);
            $("#days").attr("value",days);
        }
        else {
            $("#days").attr("value","0");
        }
    }
}

/**
 * function changeDuration
 *
 * 
 */
function changeDuration()
{
	clearTable();
	valueDuration = $("#duration").val();
	if(valueDuration == -1)
	{
		$("#annotation").hide();
		$('#datePickerPanel').show();	
		m_bfloatingDate = true;	
	}
	else
	{	
		$("#annotation").show();
		$('#datePickerPanel').hide();
		m_bfloatingDate = false;
	}
}

function showCalc(lang)
{    
	m_lang = lang;
	m_titles = {"ua":{"prolong":"Пролонгація","month":"-й місяц","warning":"Треба заповнити всі поля."},
	"ru":{"prolong":"Пролонгация", "month":"-й месяц","warning":"Нужно заполнить все поля"}};	
	
	clearTable();
	m_bfloatingDate = false;
	m_bclearTable = true;
	
	$.datepicker.setDefaults($.datepicker.regional['uk']);
	$("#datepicker1").datepicker();
    $("#datepicker1").datepicker('option', {dateFormat: "yy-mm-dd"});		
    
	$("#datepicker2").datepicker();
    $("#datepicker2").datepicker('option', {dateFormat: "yy-mm-dd"});

	$('#datepicker1').bind("change",changeDatePicker);
	$('#datepicker2').bind("change",changeDatePicker);
	$('#duration').bind("change",changeDuration);
	$('#currency').bind("change",clearTable);
	$('#summ').bind("change",clearTable);
	$('#type1').bind("change",clearTable);
	$('#type2').bind("change",clearTable);
	$('#type3').bind("change",clearTable);

/////
	$('#summ').val("");
	$('#days').val("");
	$('#datepicker1').val("");
	$('#datepicker2').val("");	
	$('#duration').val(0);
	$('#currency').val(0);	
	$('#type1').attr("checked", "checked");
	$('#type2').attr("checked", "checked");
	$('#type3').attr("checked", "checked");
	$("#annotation:hidden").show();
/////
	
	$('#calc').show('slow'); 
	$('#datePickerPanel:visible').hide();		
		
    $.post("/calc2.php", {lang:"ru"},
        function(rezdata)
        {
            if(!rezdata) return;            
            var rez = null;
            eval('rez = '+rezdata+';');
            deposit = rez.deposit;
			prolong = rez.prolong;
	});	
}


function calculate()
{
    m_summ = $("#summ").val()-0;
    m_durationItem = $("#duration").val();
    m_currency = $("#currency").val();	
			
	var type1 = $('#type1').attr('checked')?1:0;	// Срочный
	var type2 = $('#type2').attr('checked')?2:0;	// До востребования
	var type3 = $('#type3').attr('checked')?3:0;	// С плавающей датой
	
	if(m_summ == "" || m_currency == 0 || m_durationItem == 0 || (m_durationItem == -1 && $('#days').val()=="") || 
		(type1==0 && type2==0 && type3==0) )
	{
		alert(m_titles[m_lang]["warning"]);
	}
	else
	{
	
		table = [];
		if(m_durationItem == -1)
		{
			var days = $("#days").val()-0;
			//days = days / 30;	
			m_durationItem = days / 30;//Math.floor(days*100)/100;
		}	
		
	    m_count = 1;
	    
	    m_table_content = "";
	    
	    for(var depositNum in deposit)
	    {
			min_vklad = deposit[depositNum]['min_vklad'];
			max_vklad = deposit[depositNum]['max_vklad'];
			deposit_type = deposit[depositNum]['deposit_type'];	
		    
			if(deposit[depositNum]['currency'] == m_currency)						
	        {													
				if(type1 == 1)	
				{																
					if(deposit_type == type1)	// Срочный
					{
						if(deposit[depositNum]['min_month'] == m_durationItem)
							addRowToTable(depositNum);
						else if(deposit[depositNum]['prolong'] == 1)
						{
							len = prolong[deposit[depositNum]["id"]][m_currency]["months"].length;
							max_month = prolong[deposit[depositNum]["id"]][m_currency]["months"][len-1]-0;
							min_month = 1-0;
							if( (max_month >= m_durationItem) && (min_month <= m_durationItem) )
							{								
								addRowToTable(depositNum);
							}
								
						}
					}								
				} 				
				if(type2 == 2)
				{
					if(deposit_type == type2)	// До востребования
					{					
						if(deposit[depositNum]['min_month'] == "null" && deposit[depositNum]['max_month'] == "null")
							addRowToTable(depositNum);
					}
				}				
				if(type3 == 3)
				{
					if(deposit_type == type3)	// С плавающей датой
					{								
						if(deposit[depositNum]['min_month'] <= m_durationItem && 
							deposit[depositNum]['max_month'] >= m_durationItem )
							addRowToTable(depositNum)
					}	      
				}				
	        }
	    }
		showTable();
	}
}

function addRowToTable(depositNum)
{
	percent = deposit[depositNum]['percent_year'];
	var duration = 0;
	if(deposit[depositNum]['prolong'] == 0)	
	{	
		if((deposit[depositNum]['deposit_type'] == 1) && m_bfloatingDate == true)
			duration = Math.floor(m_durationItem-0);
		else if(m_bfloatingDate == true)
			duration = ($("#days").val()-0) / 30;//duration = m_durationItem;
		else
			duration = m_durationItem;
			
		year = percent  * m_summ / 100;
		month = year / 12;
		period = (month*1.0) * duration;
		day = month / 30;		
	}
	else	// Пролонгация
	{		
		prolongMonth = Math.floor(m_durationItem-0);		
		month = percent * m_summ / 100 / 12;
		period = month;
		for(i=2; i<=prolongMonth;i++)
		{
			percent = prolong[deposit[depositNum]["id"]][m_currency][i];						
			month = percent * m_summ / 100 / 12;			
			period += month;						
		}
		month = period / prolongMonth;
		day = month / 30;
	}	

	table[m_count] = new Array;
	table[m_count]["depositNum"] = depositNum;
	table[m_count]["id"] = deposit[depositNum]['id'];
	table[m_count]["name"] = deposit[depositNum]['name'];					// название депозита
	
	table[m_count]["day"] = Math.round(day*100)/100;						// прибыль за день
	table[m_count]["month"] = Math.round(month*100)/100;					// ежемесяная прибыль
	table[m_count]["period"] = Math.round(period*100)/100;					// за весь период
	
	table[m_count]["percent_year"] = deposit[depositNum]['percent_year'];	// годовая ставка
	table[m_count]["pay_type"] = deposit[depositNum]['pay_type'];			// периодичность выплат
	table[m_count]["type"] = deposit[depositNum]['deposit_type_name'];		// тип депозита
	if(deposit[depositNum]['prolong']==1)
		table[m_count]["prolong"] = "<a onclick=\"prolongation("+m_count+")\" id=\"p_"+m_count+"\">"+m_titles[m_lang]["prolong"]+"</a>"; // пролонгация
	else
		table[m_count]["prolong"] = "---";
	m_count++;	
}

function showTable()
{
	$("#tablebody").html("");
    for(var i in table)
    {
		parity = "";
		column = "";
		row = "";
		if((i % 2) == 0) parity = "even";
		else parity = "odd";
		column += "<td>" + table[i]["name"] + "</td>";
		column += "<td>" + table[i]["day"] + "</td>";
		column += "<td>" + table[i]["month"] + "</td>";
		column += "<td>" + table[i]["period"] + "</td>";
		column += "<td>" + table[i]["percent_year"] + "</td>";	
		column += "<td>" + table[i]["pay_type"] + "</td>";
		column += "<td>" + table[i]["type"] + "</td>";
		column += "<td>" + table[i]["prolong"] + "</td>";
		
		row = "<tr id=\"row_"+i+"\" class=\""+parity+"\">" + column + "</tr>";	
		
		m_table_content = $("#tablebody").html();
		m_table_content += row;
		$("#tablebody").html(m_table_content);	
	}
	m_bclearTable = false;
}

function prolongation(num)
{	
	$("#dialog-modal").dialog({
		height: 120,
		width: 400,		
		modal: true,
		draggable: false,
		resizable: false
	});
	id = table[num]["id"];

	headTable = "<tr>";
	bodyTable = "<tr>";
	for(i = 0; i < prolong[id][m_currency]["months"].length; i++)
	{
		percent = prolong[table[num]["id"]][m_currency][prolong[id][m_currency]["months"][i]];
		headTable += "<td>"+prolong[id][m_currency]["months"][i]+m_titles[m_lang]["month"]+"</td>";
		bodyTable += "<td>"+percent+"</td>";
	}
	headTable += "</tr>";
	bodyTable += "</tr>";	
	$("#dialog-modal").html("<center><table class=\"calc_results\">"+headTable+bodyTable+"</table></center>");	
	//m_prolongIndex = num;
}

function clearTable()
{
	if(!m_bclearTable)
	{	
		table = [];
		rows = "";
		for(i=0; i<=8; i++)
		{
			rows += "<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>";
		}
		$("#tablebody").html(rows);
		m_bclearTable = true;
	}		
}