// Javascript code copyleft under the Creative Commons license 
// 2007
// luc.jaouen@matelys.com

function BeamBendingComputation() {

var L    = parseFloat( document.beam.L.value );
var b    = parseFloat( document.beam.b.value );
var h    = parseFloat( document.beam.h.value );

var E    = parseFloat( document.beam.E.value );
var rho  = parseFloat( document.beam.rho.value );

var BC;




var mode;

for (var i = 0; i < 4; i++) {
  if ( document.beam.mode[i].checked) {
    var mode = parseInt( document.beam.mode[i].value );
  }
}
mode--;

var BC;
for (var i = 0; i < 4; i++) {
  if ( document.beam.BC[i].checked) {
    var BC = document.beam.BC[i].value;
  }
}

var BC_number;

switch (BC) {
  case "FF":
    BC_number = 0;
    break;
  case "CF":
    BC_number = 1;
    break;
  case "CC":
    BC_number = 2;
    break;
  case "SS":
    BC_number = 3;
    break; 
  default:
    BC_number = 0;
}


var S = b*h;
var I = b*h*h*h/12;

var tmp = Math.sqrt(E*I/rho/S/L/L/L/L);

var betan_times_L = new Array(4);
betan_times_L[0] = new Array( 0.00000000, 4.73004074, 7.85320462, 10.9956078 ); // FF Conditions
betan_times_L[1] = new Array( 1.87510407, 4.69409113, 7.85475744, 10.9955407 ); // CF 
betan_times_L[2] = new Array( 2.36502037, 5.49780392, 8.63937983, 11.7809724 ); // CC
betan_times_L[3] = new Array( 3.14159265, 6.28318530, 9.42477796, 12.5663706 ); // SS

f = betan_times_L[BC_number][mode]*betan_times_L[BC_number][mode]*tmp/2/Math.PI;

document.beam.f.value = f.toFixed(2);

}

function UpdatePicture( id,v ) {

  document.getElementById( id ).setAttribute('src','BeamBendingBC_'+v+'.png');

}