/* Flipper performance 
Copyright 2004 by Dale Heatherington (coded Jan 7, 2004) */

function flipper(dataform,ft,d,l,units)
{


	if(units[1].checked){ /* convert to metric */
	var	tip_force = 4.4482216 * ft;   /* pounds to Newtons,  Flipper force at tip */
	var	load = .4537 * l;	  /* pounds to kilograms,   Flipper load */
	var	distance = d * 2.54 / 100; /* inches to meters,  Flipper travel  */
		}
	else{
		tip_force = 9.80665 * ft; 	/*  kilograms to Newtons */
		load = l;
		distance = d / 1000;	/* mm to meters */
		}


	a = tip_force / load;		/* Compute acceleration */
	a = a - 9.806;			/* subtract negative acceleraton due to gravity */
	

	if ( a > 0 ){
	var	V = Math.sqrt( 2 * a * distance); /* compute velocity at end of travel */
	var	t = Math.sqrt(distance / (0.5 * a));	  /* compute active travel time */

		

	/* Peak height of launched load */
	var Hl = distance + ((V * V) / (2 * 9.806));




	
	/* Work and power */
	var W = tip_force * distance;  /* work in joules */
	var P = W / t;		   /* power in watts */
	
	}
		
	else { Hl = 0; t = 0; a = 0 ;W = 0; P= 0}  /* load connot be lifted */
	
	dataform.loadheight.value = Hl;
	dataform.loadheight_feet.value = Hl * 3.281;
	dataform.loadvelocity.value = V;
	dataform.loadvelocity_fps.value = V * 3.281;
	dataform.loadvelocity_mph.value = V * 2.237;
	dataform.accel.value = a;
	dataform.gforce.value = a / 9.806 ;
	dataform.time.value = t;
	dataform.work.value = W;
	dataform.power.value = P;

 }



