//------------------------- calcul rate -----------------------------------------------------
function fct_calc_rate(p_imprumut, p_durata, p_perioada_gratie, p_dobanda, p_comision_gestiune, p_durata_2, p_dobanda_2, p_comision_gestiune_2, p_tip_rate, p_comis_dincredit, p_comis_nudincredit, p_comis_neutiliz_val, p_comis_neutiliz_per, p_prima_anuala_asigurare, p_comision_admin_cont)
{
	var ret = new Array();
	var j;
	
	ret['rata'] = new Array(p_durata);
	ret['sramasa'] = new Array(p_durata);
	ret['principal'] = new Array(p_durata);
	ret['dobanda'] = new Array(p_durata);
	ret['comision_gestiune'] = new Array(p_durata);
	ret['comision_neutiliz'] = new Array(p_comis_neutiliz_per);
	ret['fngcimm'] = new Array(p_durata);
	ret['fngcimm_lunar'] = new Array(p_durata);
	ret['prima_asigurare'] = new Array(p_durata);
	ret['administrare_anuala'] = new Array(p_durata);
	ret['admin_cont'] = new Array(p_durata);
	
	ret['total'] = 0;
	ret['totalp'] = 0;
	ret['totaldob'] = 0;
	ret['total_com_gest'] = 0;
	ret['total_com_fngcimm'] = 0;
	ret['total_prima_asigurare'] = 0;
	
	
	ret['rata'][0] = 0;
	ret['sramasa'][0] = p_imprumut;
	
	ret['data_luna'] = new Array(p_durata);
	ret['data_an'] = new Array(p_durata);	
	mydata = new Date();
	//mydata = new Date(2009,05,24);
	ret['data_luna'][0] = mydata.getMonth();
	ret['data_an'][0] = mydata.getFullYear();

	
	
  for(j = 1; j <= p_comis_neutiliz_per; j++)
	{
		ret['rata'][j] = 0;
		ret['sramasa'][j] = p_imprumut;
		ret['principal'][j] = 0;
		ret['dobanda'][j] = 0;
		ret['comision_gestiune'][j] = 0;
		ret['comision_neutiliz'][j] = p_comis_neutiliz_val * p_imprumut / 100;
	}	
	

	switch (p_tip_rate) 
	{
		case '1':
			var i;
			var v_dob_lunara;
			var v_com_gest;
			
			
			for (i = 1; i <= p_durata; i++)
			{
				v_dob_lunara = p_dobanda/12/100;
				
				ret['dobanda'][i + p_comis_neutiliz_per] = ret['sramasa'][i-1+p_comis_neutiliz_per] * v_dob_lunara;
				if(i+p_comis_neutiliz_per <= p_perioada_gratie)
					ret['rata'][i+p_comis_neutiliz_per] = ret['dobanda'][i+p_comis_neutiliz_per];
				else
					ret['rata'][i+p_comis_neutiliz_per] = (ret['sramasa'][i-1+p_comis_neutiliz_per] * v_dob_lunara) / (1 - Math.pow(1 + v_dob_lunara, i - 1 - p_durata));
				ret['principal'][i+p_comis_neutiliz_per] = ret['rata'][i+p_comis_neutiliz_per] - ret['dobanda'][i+p_comis_neutiliz_per];
				ret['sramasa'][i+p_comis_neutiliz_per] = ret['sramasa'][i-1+p_comis_neutiliz_per] - ret['principal'][i+p_comis_neutiliz_per];
				ret['comision_gestiune'][i+p_comis_neutiliz_per] = ret['sramasa'][i-1+p_comis_neutiliz_per] * p_comision_gestiune/100;
				
				
				ret['comision_neutiliz'][i+p_comis_neutiliz_per] = 0;
				ret['data_luna'][i] = (i + ret['data_luna'][0]) % 12; if(ret['data_luna'][i] == 0) ret['data_luna'][i] = 12;
				ret['data_an'][i] = ret['data_an'][0] + Math.floor((i + ret['data_luna'][0] - 1) / 12);
				ret['fngcimm'][i] = 0;
				ret['fngcimm_lunar'][i] = 0;
				ret['prima_asigurare'][i] = (((i % 12) == 1) ? p_prima_anuala_asigurare : 0);
				ret['admin_cont'][i] = p_comision_admin_cont;
			}
			
			//v_dob_lunara = p_dobanda_2/12/100;
			if(p_durata_2 > 0)
				for(i = p_durata_2 + 1; i <= p_durata; i++)
				{
					v_dob_lunara = p_dobanda_2/12/100;
				
					ret['dobanda'][i+p_comis_neutiliz_per] = ret['sramasa'][i-1+p_comis_neutiliz_per] * v_dob_lunara;
					if(i+p_comis_neutiliz_per <= p_perioada_gratie)
						ret['rata'][i+p_comis_neutiliz_per] = ret['dobanda'][i+p_comis_neutiliz_per];
					else
						ret['rata'][i+p_comis_neutiliz_per] = (ret['sramasa'][i-1+p_comis_neutiliz_per] * v_dob_lunara) / (1 - Math.pow(1 + v_dob_lunara, i - 1 - p_durata));
					ret['principal'][i+p_comis_neutiliz_per] = ret['rata'][i+p_comis_neutiliz_per] - ret['dobanda'][i+p_comis_neutiliz_per];
					ret['sramasa'][i+p_comis_neutiliz_per] = ret['sramasa'][i-1+p_comis_neutiliz_per] - ret['principal'][i+p_comis_neutiliz_per];
					ret['comision_gestiune'][i+p_comis_neutiliz_per] = ret['sramasa'][i-1+p_comis_neutiliz_per] * p_comision_gestiune_2/100;
					ret['comision_neutiliz'][i+p_comis_neutiliz_per] = 0;
				}
			
	
			//debug
			for(i=361;i<=360;i++)
			{
				alert(ret['principal'][i]);
				alert(ret['dobanda'][i]);
				alert(ret['rata'][i]);
				alert(ret['comision_gestiune'][i]);
				alert(ret['comision_neutiliz'][i]);
		  }
			
		break;
		
		case '2':
			var i, j;
			
			
			ret['principal'][0] = p_imprumut / (p_durata - p_perioada_gratie);
			
			v_dob_lunara = p_dobanda/12/100;
			
			for (i = 1; i <= p_durata; i++)
			{
				if(i <= p_perioada_gratie)
					ret['principal'][i] = 0;
				else
					ret['principal'][i] = ret['principal'][0];
				ret['dobanda'][i] = ret['sramasa'][i-1] * v_dob_lunara;
				ret['rata'][i] = ret['principal'][i] + ret['dobanda'][i];
				ret['sramasa'][i] = ret['sramasa'][i-1] - ret['principal'][i];
				ret['comision_gestiune'][i] = ret['sramasa'][i-1] * p_comision_gestiune/100;
				
				
				ret['comision_neutiliz'][i+p_comis_neutiliz_per] = 0;
				ret['data_luna'][i] = (i + ret['data_luna'][0]) % 12; if(ret['data_luna'][i] == 0) ret['data_luna'][i] = 12;
				ret['data_an'][i] = ret['data_an'][0] + Math.floor((i + ret['data_luna'][0] - 1) / 12);
				ret['fngcimm'][i] = 0;
				ret['fngcimm_lunar'][i] = 0;
				ret['prima_asigurare'][i] = (((i % 12) == 1) ? p_prima_anuala_asigurare : 0);
				ret['admin_cont'][i] = p_comision_admin_cont;
			}
			
			v_dob_lunara = p_dobanda_2/12/100;
			if(p_durata_2 > 0)
				for(i = p_durata_2 + 1; i <= p_durata; i++)
				{
					ret['dobanda'][i] = ret['sramasa'][i-1] * v_dob_lunara;
					ret['comision_gestiune'][i] = ret['sramasa'][i-1] * p_comision_gestiune_2/100;
					ret['rata'][i] = ret['principal'][i] + ret['dobanda'][i];
				}
				
			for(i = 1; i <= p_durata; i++)
			{
				ret['total'] += ret['rata'][i];
				ret['totalp'] += ret['principal'][i];
				ret['total_com_gest'] += ret['comision_gestiune'][i];
			}
			
		break;
	}
	
	//bucata mutata
		for(i = 1; i <= p_durata + p_comis_neutiliz_per; i++)
		{
			ret['fngcimm'][i] = 0;
			ret['fngcimm_lunar'][i] = 0;
			ret['administrare_anuala'][i] = 0;
			if( (credit[document.getElementById('sel_tip_credit').value]['tip_credit'] == 'CC') || (credit[document.getElementById('sel_tip_credit').value]['tip_credit'] == 'CO') )
			{
				ret['administrare_anuala'][i] = credit[document.getElementById('sel_tip_credit').value][document.getElementById('sel_valuta_imprumut').value]['comision_admin_anual'] * p_imprumut / 100;
			}
		}
	//end bucata mutata


	if( (credit[document.getElementById('sel_tip_credit').value]['nume']).search("Prima") > 0)
	{
		var comgest_primacasa = credit[document.getElementById('sel_tip_credit').value]['proc_comgest'];
		//prima rata = comis fngcimm initial
		ret['fngcimm'][1] = (comgest_primacasa / 100) * ret['sramasa'][0] * (12 - ret['data_luna'][0]) / 12 / 2;
		ret['fngcimm_lunar'][1] = (comgest_primacasa / 100) * ret['sramasa'][0] / 12 / 2;
		
		//restul ratelor
		for (i = 2; i <= p_durata; i++)
		{
			if(ret['data_an'][i] == ret['data_an'][1])
			{
				ret['fngcimm'][i] = 0;
				ret['fngcimm_lunar'][i] = ret['fngcimm_lunar'][1];
			}
			else
			{
				if(ret['data_luna'][i] == 1)
				{
					ret['fngcimm'][i] = (comgest_primacasa / 100) * ret['sramasa'][i-1] * ((p_durata - i >= 12) ? 12 : (p_durata - i + 1)) / 12 / 2;
					ret['fngcimm_lunar'][i] = (comgest_primacasa / 100) * ret['sramasa'][i-1] / 12 / 2;
				}
				else
					ret['fngcimm_lunar'][i] = ret['fngcimm_lunar'][i-1];
			}
		}
	}
	
	for(i = 1; i <= p_durata + p_comis_neutiliz_per; i++)
	{
		ret['total'] += ret['rata'][i];
		ret['totalp'] += ret['principal'][i];
		ret['totaldob'] += ret['dobanda'][i];
		ret['total_com_gest'] += ret['comision_gestiune'][i];
		ret['total_com_fngcimm'] += ret['fngcimm'][i];
		ret['total_prima_asigurare'] += ret['prima_asigurare'][i];
	}


	//calcul dae
	dae = 0;
	dif = 1000000000;
	
	i = 1;
	while(i<=7000)
	{
		comis_tmp = p_comis_nudincredit / Math.pow(1+i/10000, 1/365);
		
		sumrate_tmp = 0;
		for(j=1; j<=p_durata; j++)
		{
			k = j + p_comis_neutiliz_per;
			sumrate_tmp += (ret['principal'][k] + ret['dobanda'][k] + ret['comision_gestiune'][k] + ret['comision_neutiliz'][k] + ret['fngcimm'][k] + ret['prima_asigurare'][k] + ret['administrare_anuala'][k] + ret['admin_cont'][k]) / Math.pow(1+i/10000, j*30.416/365);
		}
		
		if(Math.abs(p_imprumut - p_comis_dincredit - comis_tmp - sumrate_tmp) < dif)
		{
			dae = i/100;
			dif = Math.abs(p_imprumut - p_comis_dincredit - comis_tmp - sumrate_tmp)
		}
		else
			break;
		
		i++;
	}
	
	/*for(j=1; j<=p_durata+p_comis_neutiliz_per; j++)
	{
	alert(ret['fngcimm'][j]);
	}*/
	ret['principal'][0] = dae;
	//alert("DAE="+dae);
	
	return ret;
}



function fct_turn_display_onoff(p_element, p_display)
{
	p_element.style.display = p_display;
}




function fct_format(p_numar, p_nr_zecimale)
// p_numar = numarul care va fi formatat
// p_nr_zecimale = nr de zecimale care va fi afisat
{
  p_nr_zecimale = 2;
	//var v_nr = Math.round(p_numar * Math.pow(10, p_nr_zecimale));
	var v_nr = Math.round(p_numar * Math.pow(10, p_nr_zecimale));
	
	var v_sir = v_nr.toString();
	
	if(v_nr < 0)
	  v_indexA = 1;
	else
	  v_indexA = 0;
	  
	v_tmp = v_sir.length - v_indexA - p_nr_zecimale;
	while(v_tmp > 3)
	  v_tmp -= 3;
	  
	v_indexA += v_tmp;
		
	v_ret = "";
	for(idx=0; idx<v_sir.length-p_nr_zecimale; idx++)
	{
	  if((((idx - v_indexA) % 3) == 0) && (v_ret.length != 0))
	    v_ret += ",";
	  v_ret += v_sir.charAt(idx);
	}
	
	if(v_ret.length != 0)
	  v_ret += ".";
	else
	  v_ret += "0.";
	  
	for(idx = v_sir.length - p_nr_zecimale; idx < 0; idx++)
		if(v_nr != 0)
			v_ret += "0";
	
	for(idx = Math.max(v_sir.length - p_nr_zecimale, 0); idx < v_sir.length; idx++)
	  v_ret += v_sir.charAt(idx);
	
	if(v_nr == 0)
	  for(idx = 1; idx < p_nr_zecimale; idx++)
	    v_ret += "0";
	
	return v_ret;
}



function f_is_corelare()
{
}

