
//Set Up global variables of correct size

var numcalcs=5  //number of calculations on the page

var xnm=4  //maximum number of independant variables
var ynm=1  //maximum number of dependant variables

xnme=new Array(numcalcs)
ynme=new Array(numcalcs)

xtxt = new Array(numcalcs)
ytxt = new Array(numcalcs)

xunt = new Array(numcalcs)
yunt= new Array(numcalcs)

xvrb = new Array(numcalcs)
yvrb= new Array(numcalcs)

for (i=0;i<numcalcs;i++){

	xnme[i]=new Array(xnm)
	ynme[i]=new Array(ynm)
	
	xtxt[i] = new Array(xnm)
	ytxt[i] = new Array(ynm)

	xunt[i] = new Array(xnm)
	yunt[i] = new Array(ynm)

	xvrb[i] = new Array(xnm)
	yvrb[i] = new Array(ynm)
}

frm = new Array(numcalcs)
scrp = new Array(numcalcs)
ttlem = new Array(numcalcs)

//+++++++++
// Start calc 1

calcnum=0

frm[calcnum]="nadid"
scrp[calcnum]="calc1"
ttlem[calcnum]="NA DI Diesel"

xnme[calcnum][1]="bore"
xtxt[calcnum][1]="Bore"
xunt[calcnum][1]="mm"

xnme[calcnum][2]="rpm"
xtxt[calcnum][2]="RPM"
xunt[calcnum][2]="rpm"

ynme[calcnum][1]="dba"
ytxt[calcnum][1]="dB(A)"
yunt[calcnum][1]="dB"

var d1 = [];
var dataseries=[];
var num_series=0;


function calc1(cm)
{
	xvrb[cm][1]=parseFloat(document.nadid.bore.value)
	xvrb[cm][2]=parseFloat(document.nadid.rpm.value)
	
	yvrb[cm][1]=30*Math.log(xvrb[cm][2])/Math.log(10) + 50*Math.log(xvrb[cm][1])/Math.log(10) -106.0

	document.nadid.dba.value=yvrb[cm][1]
	
	datax="RPM"
	datay="NA Diesel: B=" + xvrb[cm][1]
	fr=datay;
	
	for (x=500;x<6500;x+=50)
	{
		y=30*Math.log(x)/Math.log(10) + 50*Math.log(xvrb[cm][1])/Math.log(10) -106.0;
		datax=datax + "," + x;
		datay=datay + "," + y;
		d1.push([x, y]);
	}
	/*document.DDPlot.newData(datax,datay)*/
	dataseries.push({label:fr,data:d1,color:num_series});
	num_series++;
	d1=[];	
	
	$.plot($("#placeholder"), dataseries);	
}

//+++++++++
// Start calc 2 ...etc...

calcnum=1

frm[calcnum]="turbodid"
scrp[calcnum]="calc2"
ttlem[calcnum]="Turbo DI Diesel"

xnme[calcnum][1]="bore"
xtxt[calcnum][1]="Bore"
xunt[calcnum][1]="mm"

xnme[calcnum][2]="rpm"
xtxt[calcnum][2]="RPM"
xunt[calcnum][2]="rpm"

ynme[calcnum][1]="dba"
ytxt[calcnum][1]="dB(A)"
yunt[calcnum][1]="dB"

function calc2(cm)
{
	xvrb[cm][1]=parseFloat(document.turbodid.bore.value)
	xvrb[cm][2]=parseFloat(document.turbodid.rpm.value)
	
	yvrb[cm][1]=40*Math.log(xvrb[cm][2])/Math.log(10) + 50*Math.log(xvrb[cm][1])/Math.log(10) -136.8

	document.turbodid.dba.value=yvrb[cm][1]
	
	datax="RPM"
	datay="Turbo DI Diesel: B=" + xvrb[cm][1]
	fr=datay;
	for (x=500;x<6500;x+=50)
	{
		y=40*Math.log(x)/Math.log(10) + 50*Math.log(xvrb[cm][1])/Math.log(10) -136.8;
		datax=datax + "," + x;
		datay=datay + "," + y;
		d1.push([x, y]);
	}	
	/*document.DDPlot.newData(datax,datay)*/
	dataseries.push({label:fr,data:d1,color:num_series});
	num_series++;
	d1=[];		
	
	$.plot($("#placeholder"), dataseries);	
}

//+++++++++
// Start calc 3 ...etc...

calcnum=2

frm[calcnum]="id"
scrp[calcnum]="calc3"
ttlem[calcnum]="Indirect Injection Diesel"

xnme[calcnum][1]="bore"
xtxt[calcnum][1]="Bore"
xunt[calcnum][1]="mm"

xnme[calcnum][2]="rpm"
xtxt[calcnum][2]="RPM"
xunt[calcnum][2]="rpm"

ynme[calcnum][1]="dba"
ytxt[calcnum][1]="dB(A)"
yunt[calcnum][1]="dB"

function calc3(cm)
{
	xvrb[cm][1]=parseFloat(document.id.bore.value)
	xvrb[cm][2]=parseFloat(document.id.rpm.value)
	
	yvrb[cm][1]=43*Math.log(xvrb[cm][2])/Math.log(10) + 60*Math.log(xvrb[cm][1])/Math.log(10) -176.0

	document.id.dba.value=yvrb[cm][1]
	
	datax="RPM"
	datay="Indirect Injection Diesel: B=" + xvrb[cm][1]
	fr=datay;
	for (x=500;x<6500;x+=50)
	{
		y=43*Math.log(x)/Math.log(10) + 60*Math.log(xvrb[cm][1])/Math.log(10) -176.0
		datax=datax + "," + x
		datay=datay + "," + y
		d1.push([x, y]);
	}
	/*document.DDPlot.newData(datax,datay)*/
	dataseries.push({label:fr,data:d1,color:num_series});
	num_series++;
	d1=[];		
	
	$.plot($("#placeholder"), dataseries);	
}

//+++++++++
// Start calc 4 ...etc...

calcnum=3

frm[calcnum]="leanpet"
scrp[calcnum]="calc4"
ttlem[calcnum]="Petrol Engines (lean burn)"

xnme[calcnum][1]="bore"
xtxt[calcnum][1]="Bore"
xunt[calcnum][1]="mm"

xnme[calcnum][2]="rpm"
xtxt[calcnum][2]="RPM"
xunt[calcnum][2]="rpm"

ynme[calcnum][1]="dba"
ytxt[calcnum][1]="dB(A)"
yunt[calcnum][1]="dB"

function calc4(cm)
{
	xvrb[cm][1]=parseFloat(document.leanpet.bore.value)
	xvrb[cm][2]=parseFloat(document.leanpet.rpm.value)
	
	yvrb[cm][1]=50*Math.log(xvrb[cm][2])/Math.log(10) + 60*Math.log(xvrb[cm][1])/Math.log(10) -203.4

	document.leanpet.dba.value=yvrb[cm][1]
	
	datax="RPM"
	datay="Petrol Engines (lean burn): B=" + xvrb[cm][1]
	fr=datay;
	for (x=500;x<6500;x+=50)
	{
		y=50*Math.log(x)/Math.log(10) + 60*Math.log(xvrb[cm][1])/Math.log(10) -203.4
		datax=datax + "," + x
		datay=datay + "," + y
		d1.push([x, y]);
	}
	/*document.DDPlot.newData(datax,datay)*/
	dataseries.push({label:fr,data:d1,color:num_series});
	num_series++;
	d1=[];		
	
	$.plot($("#placeholder"), dataseries);	
}

//+++++++++
// Start calc 5 ...etc...

calcnum=4

frm[calcnum]="petrol"
scrp[calcnum]="calc5"
ttlem[calcnum]="Petrol Engines (1990's)"

xnme[calcnum][1]="bore"
xtxt[calcnum][1]="Bore"
xunt[calcnum][1]="mm"

xnme[calcnum][2]="strk"
xtxt[calcnum][2]="Stroke"
xunt[calcnum][2]="mm"

xnme[calcnum][3]="numcyl"
xtxt[calcnum][3]="Number of cylinders"
xunt[calcnum][3]="Cylinders"

xnme[calcnum][4]="rpm"
xtxt[calcnum][4]="RPM"
xunt[calcnum][4]="rpm"

ynme[calcnum][1]="dba"
ytxt[calcnum][1]="dB(A)"
yunt[calcnum][1]="dB"

function calc5(cm)
{
	xvrb[cm][1]=parseFloat(document.petrol.bore.value)
	xvrb[cm][4]=parseFloat(document.petrol.rpm.value)
	xvrb[cm][3]=parseFloat(document.petrol.numcyl.value)
	xvrb[cm][2]=parseFloat(document.petrol.strk.value)
	
	yvrb[cm][1]=50*Math.log(xvrb[cm][4])/Math.log(10) + 40*Math.log(xvrb[cm][2])/Math.log(10) + 30*Math.log(xvrb[cm][1])/Math.log(10) -223.5 + 10*Math.log(xvrb[cm][3])/Math.log(10)

	document.petrol.dba.value=yvrb[cm][1]
	
	datax="RPM"
	datay="Petrol Engines (1990's): B=" + xvrb[cm][1] +": S=" +xvrb[cm][2]
	fr=datay;
	for (x=500;x<6500;x+=50)
	{
		y=50*Math.log(x)/Math.log(10) + 40*Math.log(xvrb[cm][2])/Math.log(10) + 30*Math.log(xvrb[cm][1])/Math.log(10) -223.5 + 10*Math.log(xvrb[cm][3])/Math.log(10)
		datax=datax + "," + x
		datay=datay + "," + y
		d1.push([x, y]);
	}
	/*document.DDPlot.newData(datax,datay)*/
	dataseries.push({label:fr,data:d1,color:num_series});
	num_series++;
	d1=[];		
	
	$.plot($("#placeholder"), dataseries);	
}

