// acest cod este proprietatea ECOVOLT Romania. Copierea este strict interzisa fara acordul scris al ECOVOLT srl.
invVolt=new Array(12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,48,48,48,48,48,48,48,48,48,48);
invPut=new Array(150,300,300,500,500,600,600,600,800,800,1000,1000,1100,1100,1100,1200,1200,1500,1500,1500,1700,1800,2500,2500,2500,150,300,300,600,600,600,800,1000,1000,1200,1200,1500,1500,1500,1600,1700,1800,2300,2400,2500,2500,3300,4000,600,1200,1500,1600,2300,3300,3500,4500,5000,7000);
invTipSinus=new Array("modificata","modificata","pura","modificata","modificata","modificata","modificata","pura","modificata","pura","modificata","pura","modificata","modificata","pura","modificata","pura","modificata","pura","modificata","modificata","pura","modificata","pura","pura","modificata","modificata","pura","modificata","modificata","pura","modificata","modificata","pura","modificata","pura","modificata","pura","modificata","pura","modificata","pura","pura","modificata","modificata","pura","pura","pura","pura","pura","modificata","pura","pura","pura","pura","pura","pura","pura");
//
redVolt=new Array(12,12,12,12,12,12,12,12,24,24,24,24,12,12,24,24);
redAmp=new Array(12,8,12,25,30,40,60,80,12,30,60,80,6,15,3,8);
//
aVolts=new Array(12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,6,6,12,12,12,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2);
aAmphours = new Array(65,85,115,140,200,41,60,85,90,130,230,60,75,100,130,185,200,330,42,100,150,200,100,150,200,250,600,900,1000,1200,300,600,960,1200,1400,1700,2300,2900,3500);
DOD =.2;
//--------------------------------------
InvertorModelAria=new Array("FraRon FR 150-12","FraRon FR 300-12","FraRon FR 300-12PS","Xantrex UX512E","Xantrex UX512ESB","FraRon FR 600-12","FraRon FR 600-12i","FraRon FR 600-12PS","FraRon FR 800-12","Studer SI 812","FraRon FR 1000-12","FraRon FR 1000-12PS","Xantrex UX11112E","Xantrex UX11112ESB","Studer XPC 1400-12","FraRon FR 1200-12","FraRon FR 1200-12PS","FraRon FR 1500-12","FraRon FR 1500-12PS","Xantrex DR1512E","FraRon FR 1700-12i","FraRon FR 1800-12PS","FraRon FR 2500-12","Xantrex PS2212E","Studer HPC 2512","FraRon FR 150-24","FraRon FR 300-24","FraRon FR 300-24PS","FraRon FR 600-24","FraRon FR 600-24i","FraRon FR 600-24PS","FraRon FR 800-24","FraRon FR 1000-24","FraRon FR 1000-24PS","FraRon FR 1200-24","FraRon FR 1200-24PS","FraRon FR 1500-24","FraRon FR 1500-24PS","Xantrex DR1524E","Studer XPC 2200-24","FraRon FR 1700-24i","FraRon FR 1800-24PS","Studer Compact C2324","Xantrex DR2424E","FraRon FR 2500-24","Xantrex PS2524E","Xantrex SW3024E","Studer HPC 4024","Studer SI 648","Studer SI 1248","Xantrex DR1548E","Studer XPC 2200-48","Studer SI 2348","Xantrex SW3048E","Studer Compact C3548","Xantrex SW4548E","Studer HPC 5048","Studer HPC 7048");
RedresorModelAria=new Array("Fraron FRLG12/12","Studer MBC 12-08/2","Studer MBC 12-12/2","Studer MBC 12-25/3","Studer MBC 12-30/3","Studer MBC 12-40/3","Studer MBC 12-60/3","Studer MBC 12-80/3","Studer MBC 24-12/2","Studer MBC 24-30/3","Studer MBC 24-60/3","Studer MBC 24-80/3","Studer MBC 12-06/1","Studer MBC 12-15/1","Studer MBC 24-03/1","Studer MBC 24-08/1");
BaterieModelAria=new Array("Exide A512/65 A","Exide A512/85 A","Exide A512/115 ","Exide A512/140 ","Exide A512/200 ","Exide S12/41 A","Exide S12/60 A","Exide S12/85 A ","Exide S12/90 A","Exide S12/130 A","Exide S12/230 A","Exide SB12/60 A","Exide SB12/75 A","Exide SB12/100 ","Exide SB12/130 ","Exide SB12/185 ","Exide SB6/200 A","Exide SB6/200 A","Newmax PNB 12420","Newmax PNB 121000H","Newmax PNB 121500","Newmax PNB 122000","Newmax PNGB 21000","Newmax PNGB 21500","Newmax PNGB 22000","Newmax PNGB 22500","Newmax PNGB 26000","Newmax PNGB 29000","Newmax PNGB 210000","Newmax PNGB 212000","Exide OPzV 300","Exide OPzV 600","Exide OPzV 960","Exide OPzV 1200","Exide OPzV 1400","Exide OPzV 1700","Exide OPzV 2300","Exide OPzV 2900","Exide OPzV 3500");
//--------------------------------------
function changeBatt(val){

  manufacturerID = document.form.BatterySelection.value-1;

//
    document.form.volts.value= aVolts[manufacturerID];
    document.form.amphours.value= aAmphours[manufacturerID];
    document.form.dod.value= DOD ;
    document.form.price.value= aPrice[manufacturerID];
    document.form.ModelBatTotal.value= BaterieModelAria[manufacturerID];
//

// scriu tipul de baterie

TipBatLP=new Array("LPB00053","LPB00055","LPB00056","LPB00058","LPB00059","LPB00097","LPB00098","LPB00099","LPB00100","LPB00101","LPB00102","LPB00103","LPB00104","LPB00105","LPB00106","LPB00107","LPB00108","LPB00109","LPB00072","LPB00075","LPB00077","LPB00078","LPB00079","LPB00081","LPB00082","LPB00083","LPB00087","LPB00090","LPB00091","LPB00092","LPB00019","LPB00023","LPB00025","LPB00026","LPB00027","LPB00028","LPB00029","LPB00030","LPB00031");
document.form.TipBat.value=TipBatLP[manufacturerID];

 	 batteries();
}
//-------------------------------------
function changeRedresor(val){

redresorID = document.form.RedresorSelection.value-1;
//

document.form.RedresorPrice.value= redPrice[redresorID];
document.form.TensiuneDataRedresor.value= redVolt[redresorID];
document.form.CurentRedresor.value= redAmp[redresorID];
document.form.ModelRedTotal.value= RedresorModelAria[redresorID];

//scriu tip redresor

TipRedLP=new Array("LPC00072","LPC00057","LPC00058","LPC00059","LPC00060","LPC00061","LPC00062","LPC00063","LPC00064","LPC00065","LPC00066","LPC00067","LPC00068","LPC00069","LPC00070","LPC00071");
document.form.CodProdRedresor.value=TipRedLP[redresorID];

//citesc var sistem
vsistemales=document.form.TipSistemAles.value;

     if (vsistemales == 2){   
        redresez();}
        else {
//blochez calcule si afisare
		document.form.RedresorPrice.value=0
		document.form.CodProdRedresor.value=0
		document.form.CurentRedresor.value=0
		document.form.TensiuneDataRedresor.value=0
		document.form.RedresorPriceTotal.value=0
		}
//redresez();
}
//--------------------------------------------------------------------------------------------
function changeInvertor(val){
//
invertorID = document.form.InvertorSelection.value-1;
//
document.form.InvertorPrice.value= invPrice[invertorID];
document.form.TensiuneDataInvertor.value= invVolt[invertorID];
document.form.PutereInvertor.value= invPut[invertorID];
document.form.ModelInvTotal.value= InvertorModelAria[invertorID];
document.form.InvertorSinus.value= invTipSinus[invertorID];
//
//scriu tip Invertor
TipInvLPelectric=new Array("LPI00135","LPI00136","LPI00155","LPI00059","LPI00060","LPI00137","LPI00138","LPI00156","LPI00139","LPI00013","LPI00140","LPI00157","LPI00061","LPI00062","LPI00037","LPI00141","LPI00158","LPI00142","LPI00159","LPI00049","LPI00143","LPI00160","LPI00144","LPI00057","LPI00033","LPI00145","LPI00146","LPI00161","LPI00147","LPI00148","LPI00162","LPI00149","LPI00150","LPI00163","LPI00151","LPI00164","LPI00152","LPI00165","LPI00050","LPI00038","LPI00153","LPI00166","LPI00041","LPI00052","LPI00154","LPI00058","LPI00046","LPI00035","LPI00172","LPI00017","LPI00051","LPI00039","LPI00026","LPI00047","LPI00042","LPI00048","LPI00034","LPI00036");
document.form.CodProdInvertor.value=TipInvLPelectric[invertorID];

// 2=c; 1=s;
SisInvLPelectricArie=new Array(2,2,2,2,1,2,1,2,2,2,2,2,2,1,1,2,2,2,2,1,1,2,2,1,1,2,2,2,2,1,2,2,2,2,2,2,2,2,1,1,1,2,1,1,2,1,1,1,2,2,1,1,2,1,1,1,1,1);
VSisInvLPelectric=SisInvLPelectricArie[invertorID];
//citesc tipul config sistem
vtipsistemales=document.form.TipSistemAles.value;
//
document.form.MesajInvertor.value= "Nu s-a selectat tipul de sistem!" ;
//
//fac calcule pentru put max invertor
C5=document.form.amphours.value /5

//
     if (vtipsistemales == 1)
	{   
	document.form.MesajInvertor.value= "Ales Sistem simplu!" ;
		if (VSisInvLPelectric == 1)
		{   
		document.form.MesajInvertor.value= " " ;
		document.form.PutereMaxInvertor.value=C5*document.form.UInvertor.value
		}
		else
		{
		document.form.MesajInvertor.value= "Eroare! Acest invertor nu corespunde!" ;
//blochez scrierea 
		document.form.InvertorPrice.value=0
		document.form.CodProdInvertor.value=0
		document.form.PutereInvertor.value=0
		document.form.T3.value=0
		document.form.InvertorSinus.value="?"
		}}
     	if (vtipsistemales == 2){   
//scriu spatiu in campul mesaj
	document.form.MesajInvertor.value= " " ;}

inversez();


//
}

//-------------------------------------------------
invPrice = new Array(33,53,160,665,780,101,138,253,132,1341,195,422,815,930,1217,247,533,327,584,955,389,666,523,2090,2701,40,67,168,112,144,261,146,198,434,252,559,332,596,955,1292,396,699,1934,1250,533,2090,2990,3402,1124,1696,955,1359,2149,2990,2651,3450,3969,5544);

//-------------------------------------------------
redPrice = new Array(70,156,238,410,410,776,776,950,386,854,1136,0,156,238,156,238);

//---------------------------------------------------

aPrice = new Array(158,205,345,392,440,134,188,265,285,344,579,246,300,492,473,611,324,469,98,238,357,416,77,96,114,128,280,410,430,520,205,345,565,670,775,1100,1500,2000,2200);

//----------------------------------------------------
function intx(val){
	if (val != parseInt(val)){
			val = parseInt(val)+1;}
return val;
}

//-------------------------------------------------

function formatCurrency(num) {
  var i,l,d;
  var nums;
  var ret;
  nums = String(Math.round(num*100));
  while (nums.length <3) nums = "0" + nums;
  l = nums.length-3;
  ret = "," + nums.charAt(l+1) + nums.charAt(l+2);
  d=0;
  for (i=l; i>=0; i--) {
    ret = nums.charAt(i) + ret;
    d++;
    if (d==3 && i>0) {
      ret="." + ret;
      d=0;
    }
  }
  ret = ret + " €";
  return ret;
}

//------------------------------------------------------

function batteries(){

VTipBatLP = document.form.TipBat.value;
//
    batteryvoltage  = document.form.volts.value;
    amphours = document.form.amphours.value;
 	 vCycles = 5000;
 	 vDod =document.form.dod.value;
 	 batteryprice =document.form.price.value; 	 
 	 systemvoltage = document.form.SystemVoltage.value;
	 batteryseries = systemvoltage/batteryvoltage
	 backupdays = parseInt(document.form.backupdays.value);
     backuphours = parseInt(document.form.backuphours.value);
     backuptotal =  (backupdays *24)+backuphours ;
     kwhpermonth = document.form.kWhmonth.value;
     kwhperhour = kwhpermonth/30/24
     vtotalkwhneeded = backuptotal*kwhperhour
	 vkwhperset = amphours*systemvoltage*(1-vDod)/1000
     vsetsneeded = vtotalkwhneeded/vkwhperset 

     vroundup= intx(vsetsneeded);  
     vtotalbatteriesneeded= vroundup*batteryseries 
     vtotalprice= vtotalbatteriesneeded*batteryprice
     vtotalkwhavailable = vtotalbatteriesneeded*amphours*batteryvoltage*(1-vDod )/1000 
     totalhoursavailable = parseInt(vtotalkwhavailable/kwhperhour)
     vdaysavailable= parseInt(totalhoursavailable/24)
     if (vdaysavailable == 0){   
        vhoursavailable= totalhoursavailable ;}
        else {
        vhoursavailable= totalhoursavailable-(vdaysavailable*24);}
        
     //put outputs
     document.form.totalkwhneeded.value=parseInt(backuptotal *100)/100;
 	 document.form.kwhpersetoutput.value=parseInt(vkwhperset *100)/100;    
     document.form.setsneededoutput.value= parseInt(vsetsneeded *100)/100;
     document.form.roundup.value=vroundup;
     document.form.totalbatteriesneeded.value=vtotalbatteriesneeded;
     document.form.totalprice.value=formatCurrency(vtotalprice);
     document.form.totalkwhavailable.value=parseInt(vtotalkwhavailable *100)/100;
     document.form.daysavailable.value=vdaysavailable;
     document.form.hoursavailable.value=vhoursavailable;
     document.form.kwhpersetoutput1.value=parseInt(kwhperhour*100)/100 ; 
     document.form.setsneededoutput1.value=parseInt(vtotalkwhneeded*100)/100 ; 
     document.form.batteryseriesoutput.value=batteryseries ;
     //
        document.form.T1.value=vtotalprice;
     //

document.form.TipBat.value=VTipBatLP;
document.form.CapBat.value=amphours;
document.form.UBat.value=batteryvoltage;
document.form.URedresor.value=systemvoltage;
document.form.UInvertor.value=document.form.URedresor.value;

//rotunjesc in sus si calculez curentul minim
Vroundcurentmin= intx((kwhperhour*1000)/systemvoltage+amphours/10)

//afisez cat e curentul de redresor
document.form.CurentMinRedresor.value=Vroundcurentmin

//-----------------------------------------------------------------------    
// scriu valoarea totala
document.form.CodProdBatTotal.value=document.form.TipBat.value;
document.form.BatPriceTotal.value=document.form.totalprice.value;
document.form.CantitBatBuc.value=document.form.totalbatteriesneeded.value;
//
va = document.form.T1.value;
vb = document.form.T2.value;
vp = document.form.T3.value;
vab=([va]*1)+([vb]*1)+([vp]*1);

document.form.SumaTotalaRezumat.value=formatCurrency(vab);
//afisez puterea minima invertor
document.form.PutereMinInvertor.value=document.form.kwhpersetoutput1.value*1000
document.form.PutereMaxInvertor.value=0
//
}

//-------------------------------------------------------------------

function redresez(){
VTipRedLP = document.form.CodProdRedresor.value;

// formatez pretul in Euro
vformatpret = document.form.RedresorPrice.value;
Varp = document.form.RedresorPrice.value;

document.form.RedresorPrice.value=formatCurrency(vformatpret);

//NrRedresor
Vtensiunelaredresor=document.form.TensiuneDataRedresor.value;
Vtensiunelasistem=document.form.URedresor.value;
Vcurentlaredresor=document.form.CurentRedresor.value;
Vcurentlasistem=document.form.CurentMinRedresor.value;

//rotunjesc in sus si numarul minim
Vroundnumarmin= intx(Vcurentlasistem/Vcurentlaredresor);

document.form.NrRedresor.value=Vroundnumarmin;

//pret total
Varpp = document.form.NrRedresor.value;

document.form.RedresorPriceTotal.value=formatCurrency(Varp*Varpp);
  //
        document.form.T2.value=(Varp*Varpp);
  //
     if (Vtensiunelaredresor == Vtensiunelasistem){   
        document.form.MesajRedresor.value= "";}
        else { 
        document.form.MesajRedresor.value= "Tensiunea incorecta redresor! Alegeti alt model!" ;

		//blochez calcule si afisare
		document.form.RedresorPrice.value=0
		document.form.CurentRedresor.value=0
		document.form.RedresorPriceTotal.value=0
		}


//---------------------------------------------------------------------
// scriu valoarea totala
document.form.CodProdRedTotal.value=document.form.CodProdRedresor.value;
document.form.RedPriceTotal.value=document.form.RedresorPriceTotal.value;
//document.form.ModelRedTotal.value=document.form.RedresorSelection.value;
document.form.CantitRedBuc.value=document.form.NrRedresor.value;
//
vc = document.form.T1.value;
vd = document.form.T2.value;
vh = document.form.T3.value;
ve=([vc]*1)+([vd]*1)+([vh]*1);
document.form.SumaTotalaRezumat.value=formatCurrency(ve);


//
}
//--------------------------------------------------------------------

function inversez(){
VTipInvLP = document.form.CodProdInvertor.value;

// formatez pretul in Euro
vformatpreti = document.form.InvertorPrice.value;
Varpi = document.form.InvertorPrice.value;

document.form.InvertorPrice.value=formatCurrency(vformatpreti);
//
    document.form.T3.value=(vformatpreti);
//

//Nr de invertoare necesare
putereminnecesara=document.form.kwhpersetoutput1.value*1000
document.form.PutereMinInvertor.value=putereminnecesara

Vtensiunelainvertor=document.form.TensiuneDataInvertor.value;
Vtensiunelasistem=document.form.UInvertor.value;
Vputerelainvertor=document.form.PutereInvertor.value;
Vputereminlasistem=document.form.PutereMinInvertor.value;
VMesajInvertor1=document.form.MesajInvertor1.value
VMesajInvertor=document.form.MesajInvertor.value

//
     if (Vtensiunelainvertor == Vtensiunelasistem){   
        document.form.MesajInvertor1.value= "";}
        else { 
        document.form.MesajInvertor1.value= "Tensiunea de alimentare invertor incorecta!";
	//blochez scrierea 
	document.form.InvertorPrice.value=0
	document.form.CodProdInvertor.value=0
	document.form.PutereInvertor.value=0
	document.form.T3.value=0
	document.form.InvertorSinus.value="?"
		}

// scriu valoarea totala
document.form.CodProdInvTotal.value=document.form.CodProdInvertor.value;
document.form.InvPriceTotal.value=document.form.InvertorPrice.value;
document.form.CantitInvBuc.value=document.form.NrInvertor.value;
//
//
VVMesajInvertor="Nu s-a selectat tipul de sistem!"  
     if (VMesajInvertor == VVMesajInvertor){   
		//blochez scrierea 
		document.form.InvertorPrice.value=0
		document.form.CodProdInvertor.value=0
		document.form.PutereInvertor.value=0
		document.form.InvPriceTotal.value=0
		document.form.T3.value=0
		document.form.InvertorSinus.value="?"
		}
        else { 
		}
//
vic = document.form.T1.value;
vid = document.form.T2.value;
vih = document.form.T3.value;
vie=([vic]*1)+([vid]*1)+([vih]*1);
document.form.SumaTotalaRezumat.value=formatCurrency(vie);

//


//
}

