/* variabile text */
var calc_msg = "Trebuie bifat ";
var calc_msg_pentru = " pentru ";
var calc_msg_no_val = "Introduceti Valoarea de Leasing!";
var calc_msg_avans = "Avansul pentru";
var calc_msg_valrez = "Valoare reziduala pentru";
var calc_msg_per = "Perioada pentru";
var calc_msg_intre1 = "trebuie sa fie cuprins intre";
var calc_msg_intre2 = "trebuie sa fie cuprinsa intre";
var calc_msg_intre12 = "trebuie sa fie inclusa in rate sau maxim ";
var calc_msg_valrez2 = "trebuie sa fie maxim 15% pentru o durata de 60 luni";
var calc_msg_valrez3 = "trebuie sa fie maxim 20% pentru o durata de 48 luni";
var calc_msg_si = "si";
var calc_msg_inclus = "este obligatoriu inclusa in rate";
var calc_msg_luni = "luni";
var calc_msg_tipclient = "Alegeti tipul de client";
var calc_msg_categorie = "Alegeti categoria de produse";
var calc_msg_varsta1="sau diferenta dintre 7 ani si varsta autovehiculului (se considera cea mai mica valoare dintre cele doua)";
var calc_msg_varsta11="sau diferenta dintre 10 ani si varsta autovehiculului (se considera cea mai mica valoare dintre cele doua)";
var calc_msg_varsta2="Varsta autovehiculului nu trebuie sa depaseasca 7 ani la finalul contractului de leasing";
var calc_msg_varsta21="Varsta bunului nu trebuie sa depaseasca 10 ani la sfarsitul contractuluide leasing";

var claseOb = new Array();
var mnd = new Array();
var RC = new Array();
var RM = new Array();
var RP = new Array();
var param;

function claseObiecte(id, nume_tipclient, nume_produs, avmin, avmax, valrezmin, valrezmax, permin, permax)
{	
	this.id = id;
	this.nume_tipclient = nume_tipclient;
    this.nume_produs = nume_produs;
    this.avmin = avmin;
    this.avmax = avmax;
    this.valrezmin = valrezmin;
    this.valrezmax = valrezmax;
    this.permin = permin;
    this.permax = permax;
}

function addObject(id, nume_tipclient, nume_produs, avmin, avmax, valrezmin, valrezmax, permin, permax)
{
	claseOb[claseOb.length] = new claseObiecte(id,nume_tipclient, nume_produs, avmin, avmax, valrezmin, valrezmax, permin, permax);
}

function clearObjects()
{
	claseOb = new Array();
}

function monede(id, nume)
{
	this.id = id;
	this.nume = nume;
}

function addMnd(id, nume)
{
	mnd[mnd.length] = new monede(id, nume);
}

function redClasa(id_clasa, com, dob)
{
	this.id_clasa = id_clasa;
	this.com = com;
	this.dob = dob;
}

function addRC(id_clasa, com, dob)
{
	RC[RC.length] = new redClasa(id_clasa, com, dob);
}

function redMoneda(id_moneda, com, dob)
{
	this.id_moneda = id_moneda;
	this.com = com;
	this.dob = dob;
}

function addRM(id_moneda, com, dob)
{
	RM[RM.length] = new redMoneda(id_moneda, com, dob);
}

function redPerioada(per, com, dob)
{
	this.per = per;
	this.com = com;
	this.dob = dob;
}

function addRP(per, com, dob)
{
	RP[RP.length] = new redPerioada(per, com, dob);
}

function initVars(dob, com)
{
	param = this;
	
	this.dob = dob;
	this.com = com;
}

function cleanupValues()
{
	if (isNaN(document.form1.val.value.replace(',', ''))) document.form1.val.value = 0;
	if (isNaN(document.form1.av.value.replace(',', ''))) document.form1.av.value = 0;
	if (isNaN(document.form1.av_pr.value.replace(',', ''))) document.form1.av_pr.value = 0;
	//if (isNaN(document.form1.valrez.value.replace(',', ''))) document.form1.valrez.value = 0;
	//if (isNaN(document.form1.valrez_pr.value.replace(',', ''))) 
	document.form1.valrez_pr.value = '';
}

function validateForm(idc, idm,tipp, auto_pana,auto_peste)
{	
	var indice = 0, indice2 = -1;
	var i;
    for (i = 0; i < claseOb.length; i++) {
        if (claseOb[i].id == idc) {
            indice = i;
        }
    }

    for (i = 0; i < mnd.length; i++) {
        if (mnd[i].id == idm) {
            indice2 = i;
            index2 = mnd[i].id;
        }
    }

	var msg = "";
	var msg2 = "";
	
	if(document.getElementById('tipclient').value == 0)
		msg += calc_msg_tipclient;
	else if(document.getElementById('categorie').value == 0)
		msg += calc_msg_categorie;		
	else if(document.getElementById('val').value == 0)
		msg += calc_msg_no_val;	
	else
	{	
		if(isNaN(document.form1.av_pr.value)|| (parseFloat(document.form1.av_pr.value) < parseFloat(claseOb[indice].avmin) || parseFloat(document.form1.av_pr.value) > parseFloat(claseOb[indice].avmax)))
			msg += calc_msg_avans + " <b>" + claseOb[indice].nume_tipclient + "</b> - <b>" + claseOb[indice].nume_produs + "</b> " + calc_msg_intre1 + " <b>" + claseOb[indice].avmin + "%</b> " + calc_msg_si + " <b>" + claseOb[indice].avmax + "%</b>.<br />";
		else
			msg += "";
		
		if(document.form1.div_tipechip.checked==false && $('label_cb_echip').innerHTML!='')
		{
			msg += calc_msg +"'<b>"+$('label_cb_echip').innerHTML +" </b>'"+ calc_msg_pentru +  claseOb[indice].nume_tipclient + " - " + claseOb[indice].nume_produs + ".<br />";
		}
		
		if(parseFloat(claseOb[indice].valrezmax) == 0 && (document.form1.cb_rate_incluse.checked==false))
		{
			msg += calc_msg_valrez + " <b>" + claseOb[indice].nume_tipclient + "</b> - <b>" + claseOb[indice].nume_produs + "</b> " + calc_msg_inclus + ".<br />";
		}
		else
		{
			if((document.form1.valrez_pr.value=='') && (document.form1.cb_rate_incluse.checked==false))
			{
				msg += calc_msg_valrez + " <b>" + claseOb[indice].nume_tipclient + "</b> - <b>" + claseOb[indice].nume_produs + "</b> " + calc_msg_intre12 + "<b>" + claseOb[indice].valrezmax + "%</b>.<br />";
			}
			else
			{ 
				if (idc==auto_pana && tipp==0)
				{
					if((document.form1.valrez_pr.value > 15) && (document.form1.nrl.value=='60'))
						msg += calc_msg_valrez + " <b>" + claseOb[indice].nume_tipclient + "</b> - <b>" + claseOb[indice].nume_produs + "</b> " + calc_msg_valrez2 +".<br />";
					else msg += "";
				}
				else if (idc==auto_peste)
				{
					if((document.form1.valrez_pr.value > 15) && (document.form1.nrl.value=='60'))
						msg += calc_msg_valrez + " <b>" + claseOb[indice].nume_tipclient + "</b> - <b>" + claseOb[indice].nume_produs + "</b> " + calc_msg_valrez2 +".<br />";
					else msg += "";
				}
				else msg += "";
			}
		}
	
		var v = parseInt(document.form1.nrl.value) + parseInt((document.form1.varsta.value))*12;
		if ((idc==auto_pana) || (idc==auto_peste))
		{
			if(isNaN(document.form1.nrl.value) || ((parseFloat(document.form1.nrl.value) < parseFloat(claseOb[indice].permin)) || (parseFloat(document.form1.nrl.value) > parseFloat(claseOb[indice].permax))))
			{
				msg += calc_msg_per + " <b>" + claseOb[indice].nume_tipclient + "</b> - <b>" + claseOb[indice].nume_produs + "</b> " + calc_msg_intre2 + " <b>" + claseOb[indice].permin + " " + calc_msg_luni + " </b> " + calc_msg_si + " <b>" + claseOb[indice].permax + " " + calc_msg_luni  + "</b> "+calc_msg_varsta1+".<br/>";
			}
			else
			{
				if (v < 85)
					msg += "";
				else
					msg += calc_msg_varsta2+".<br/>";
			}
		}
		else
		{
			if(isNaN(document.form1.nrl.value) || ((parseFloat(document.form1.nrl.value) < parseFloat(claseOb[indice].permin)) || (parseFloat(document.form1.nrl.value) > parseFloat(claseOb[indice].permax))))
			{
				msg += calc_msg_per + " <b>" + claseOb[indice].nume_tipclient + "</b> - <b>" + claseOb[indice].nume_produs + "</b> " + calc_msg_intre2 + " <b>" + claseOb[indice].permin + " " + calc_msg_luni + " </b> " + calc_msg_si + " <b>" + claseOb[indice].permax + " " + calc_msg_luni  + "</b> "+calc_msg_varsta11+".<br/>";
			}
			else
			{
				if (v < 121)
					msg += "";
				else
					msg += calc_msg_varsta21+".<br/>";
			}
		}
	}

	if(msg != "")
	{
		document.getElementById("mesaj").innerHTML = msg;
		return false;
	}
	else
	{
		document.getElementById("err_msg").value = "";
		
		document.getElementById("categorie").disabled = false;
		document.getElementById("moneda").disabled = false;
		
		var pret, avans, val_rezid, per, sum_f, rata, rata1, intRate, index1 = -1;
		pret = parseFloat(document.getElementById('val').value.replace(',', ''));
		avans = parseFloat(document.form1.av.value.replace(',', ''));
		//val_rezid = parseFloat(document.form1.valrez.value.replace(',', ''));
		val_rezpr = document.form1.valrez_pr.value;
		val_rezid = pret*(val_rezpr/100);
		per = parseFloat(document.form1.nrl.value);

		for (i = 0; i < RC.length; i++) {
	        if (RC[i].id_clasa == idc) {
	            param.com += RC[i].com;
	            param.dob += RC[i].dob;
	        }
    	}

    	for (i = 0; i < RM.length; i++) {
	        if (RM[i].id_moneda == index2) {
	            param.com += RM[i].com;
	            param.dob += RM[i].dob;
	        }
    	}

    	for (i = 0; i < RP.length; i++) {
	        if (per >= RP[i].per) {
	            index1 = i;
	        }
    	}
    	if(index1 != -1)
    	{
			param.com += RP[index1].com;
	        param.dob += RP[index1].dob;
		}

		rata1 = pret-avans;
		sum_f = pret - avans;
		intRate = param.dob/1200;
		rata = -(-sum_f * Math.pow(1 + intRate, per) + val_rezid) / ((Math.pow(1 + intRate, per) - 1)/intRate);

		document.form1.val.value = formatSpace(pret.toFixed(2));
		document.form1.av.value = formatSpace(avans.toFixed(2));
		//document.form1.valrez.value = formatSpace(val_rezid.toFixed(2));
		document.form1.com_pr.value = param.com;
		document.form1.com.value = formatSpace((param.com*pret/100).toFixed(2));
		document.form1.rata.value = formatSpace(rata.toFixed(2));
		document.form1.val_fin.value = formatSpace(rata1.toFixed(2));	
		return true;		
	}
}

function doPercent()
{
	cleanupValues();
	var num_av = document.form1.av.value.replace(',', "");
	//var num_valrez = document.form1.valrez.value.replace(',', "");
	var num_val = document.getElementById('val').value.replace(',', "");
	
	var percent;
	percent = (num_av / num_val * 100).toFixed(0);
	if (percent == Infinity || isNaN(percent))
		document.form1.av_pr.value = 0;
	else
		document.form1.av_pr.value = percent;

	var percent2;
	//percent2 = (num_valrez / num_val * 100).toFixed(0);
	//if (percent2 == Infinity || isNaN(percent2))
	//	document.form1.valrez_pr.value = 0;
	//else
	//   	document.form1.valrez_pr.value = percent2;
	}

function doPrepaid()
{
    cleanupValues();
	var num_val = document.getElementById('val').value.replace(',', "");
    
	var prepaid = (num_val * document.form1.av_pr.value / 100).toFixed(0);
    document.form1.av.value = formatSpace(prepaid);
    if (isNaN(prepaid)) document.form1.av_pr.value = 0;
   
    //var prepaid2 = (num_val * document.form1.valrez_pr.value / 100).toFixed(0);
   // document.form1.valrez.value = formatSpace(prepaid2);
    //if (isNaN(prepaid2)) document.form1.valrez_pr.value = 0;
}

function checkPer()
{
	if(isNaN(document.form1.nrl.value))
		document.form1.nrl.value = 12;
}

// formatare cu separator
//implicit separatorul de cifre este virgula
function formatSpace(numString) {	
	//elimin virgula	
	numString = numString.replace(',', "");
	
	// refac formatarea
	var re = /(-?\d+)(\d{3})/;
    while (re.test(numString)) {
        numString = numString.replace(re, "$1,$2");
    }
    return numString;
}
