/*
Science & Engineering Encyclopaedia. Copyright Dirac Delta Consultants Ltd. 2001-2002

No part of this document may be reproduced or transmitted in any form or by any mean, electronic or mechanical, including printing, placing on the internet or by any information storage and retrieval system without permission from the Publisher in writing
*/

//Set Up global variables of correct size

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

var xnm=3 //maximum number of independant variables
var ynm=2 //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]="circ1"
scrp[calcnum]="circle1"
ttlem[calcnum]="Circle of radius r"

xnme[calcnum][1]="r1"
xtxt[calcnum][1]="radius, r"
xunt[calcnum][1]=""
ynme[calcnum][1]="A1"
ytxt[calcnum][1]="Area"
yunt[calcnum][1]=""
ynme[calcnum][2]="P1"
ytxt[calcnum][2]="Perimeter"
yunt[calcnum][2]=""

function circle1(cm){

	xvrb[cm][1]=parseFloat(document.circ1.r1.value)
	yvrb[cm][1]=4*Math.atan(1)*xvrb[cm][1]*xvrb[cm][1]
	yvrb[cm][2]=2*4*Math.atan(1)*xvrb[cm][1]
	document.circ1.A1.value=yvrb[cm][1]
	document.circ1.P1.value=yvrb[cm][2]

}

//+++++++++
// Start calc 2

calcnum=1

frm[calcnum]="circ2"
scrp[calcnum]="circle2"
ttlem[calcnum]="Segment of a circle"

xnme[calcnum][1]="r2"
xtxt[calcnum][1]="radius, r"
xunt[calcnum][1]=""
xnme[calcnum][2]="Ang2"
xtxt[calcnum][2]="angle, <font face=symbol>q</font>"
xunt[calcnum][2]="radians"
ynme[calcnum][1]="A2"
ytxt[calcnum][1]="Area"
yunt[calcnum][1]=""

function circle2(cm){

	xvrb[cm][1]=parseFloat(document.circ2.r2.value)
	xvrb[cm][2]=parseFloat(document.circ2.Ang2.value)
	yvrb[cm][1]=0.5*xvrb[cm][1]*xvrb[cm][1]*(xvrb[cm][2]-Math.sin(xvrb[cm][2]))
	
	document.circ2.A2.value=yvrb[cm][1]
	

}

//+++++++++
// Start calc 3

calcnum=2

frm[calcnum]="circ3"
scrp[calcnum]="circle3"
ttlem[calcnum]="Segment of a circle"

xnme[calcnum][1]="r3"
xtxt[calcnum][1]="radius, r"
xunt[calcnum][1]=""
xnme[calcnum][2]="Ang3"
xtxt[calcnum][2]="angle, <font face=symbol>q</font>"
xunt[calcnum][2]="radians"
ynme[calcnum][1]="A3"
ytxt[calcnum][1]="Area"
yunt[calcnum][1]=""
ynme[calcnum][2]="S3"
ytxt[calcnum][2]="Arc"
yunt[calcnum][2]=""


function circle3(cm){

	xvrb[cm][1]=parseFloat(document.circ3.r3.value)
	xvrb[cm][2]=parseFloat(document.circ3.Ang3.value)
	yvrb[cm][1]=0.5*xvrb[cm][1]*xvrb[cm][1]*xvrb[cm][2]
	yvrb[cm][2]=xvrb[cm][1]*xvrb[cm][2]
	
	document.circ3.A3.value=yvrb[cm][1]
	document.circ3.S3.value=yvrb[cm][2]

}

//+++++++++
// Start calc 4

calcnum=3

frm[calcnum]="circ4"
scrp[calcnum]="circle4"
ttlem[calcnum]="Circle circumscribing a triangle"

xnme[calcnum][1]="a4"
xtxt[calcnum][1]="length, a"
xunt[calcnum][1]=""
xnme[calcnum][2]="b4"
xtxt[calcnum][2]="length, b"
xunt[calcnum][2]=""
xnme[calcnum][3]="c4"
xtxt[calcnum][3]="length, c"
xunt[calcnum][3]=""
ynme[calcnum][1]="r4"
ytxt[calcnum][1]="radius,  r"
yunt[calcnum][1]=""
ynme[calcnum][2]="s4"
ytxt[calcnum][2]="s"
yunt[calcnum][2]=""


function circle4(cm){

	xvrb[cm][1]=parseFloat(document.circ4.a4.value)
	xvrb[cm][2]=parseFloat(document.circ4.b4.value)
	xvrb[cm][3]=parseFloat(document.circ4.c4.value)
	
	yvrb[cm][2]=0.5*(xvrb[cm][1]+xvrb[cm][2]+xvrb[cm][3])
	yvrb[cm][1]=(xvrb[cm][1]*xvrb[cm][2]*xvrb[cm][3])/(4*Math.sqrt(yvrb[cm][2]*(yvrb[cm][2]-xvrb[cm][1])*(yvrb[cm][2]-xvrb[cm][2])*(yvrb[cm][2]-xvrb[cm][3])))
	
	document.circ4.r4.value=yvrb[cm][1]
	document.circ4.s4.value=yvrb[cm][2]

}

//+++++++++
// Start calc 5

calcnum=4

frm[calcnum]="circ5"
scrp[calcnum]="circle5"
ttlem[calcnum]="Circle inscribed by triangle"

xnme[calcnum][1]="a5"
xtxt[calcnum][1]="length, a"
xunt[calcnum][1]=""
xnme[calcnum][2]="b5"
xtxt[calcnum][2]="length, b"
xunt[calcnum][2]=""
xnme[calcnum][3]="c5"
xtxt[calcnum][3]="length, c"
xunt[calcnum][3]=""
ynme[calcnum][1]="r5"
ytxt[calcnum][1]="radius,  r"
yunt[calcnum][1]=""
ynme[calcnum][2]="s5"
ytxt[calcnum][2]="s"
yunt[calcnum][2]=""


function circle5(cm){

	xvrb[cm][1]=parseFloat(document.circ5.a5.value)
	xvrb[cm][2]=parseFloat(document.circ5.b5.value)
	xvrb[cm][3]=parseFloat(document.circ5.c5.value)
	
	yvrb[cm][2]=0.5*(xvrb[cm][1]+xvrb[cm][2]+xvrb[cm][3])
	yvrb[cm][1]=(Math.sqrt(yvrb[cm][2]*(yvrb[cm][2]-xvrb[cm][1])*(yvrb[cm][2]-xvrb[cm][2])*(yvrb[cm][2]-xvrb[cm][3])))/yvrb[cm][2]
	
	document.circ5.r5.value=yvrb[cm][1]
	document.circ5.s5.value=yvrb[cm][2]

}