<!-- Global Variables -->
var roundfact = 0.0005;
var decfact = 4;

<!--Math Fanctions -->
function comma(num) {
 var n = Math.floor(num);
 var myNum = num + "";
 var myDec = ""
 
 if (myNum.indexOf('.',0) > -1){
  myDec = myNum.substring(myNum.indexOf('.',0),myNum.length);
 }

  var arr=new Array('0'), i=0; 
  while (n>0) 
    {arr[i]=''+n%1000; n=Math.floor(n/1000); i++;}
  arr=arr.reverse();
  for (var i in arr) if (i>0) //padding zeros
    while (arr[i].length<3) arr[i]='0'+arr[i];
  return arr.join() + myDec;
}

function roundToDp( inValue, numDps ) {
  if( typeof( numDps ) == "undefined" ) numDps = 2;
  factor = Math.pow( 10, numDps );
  result = Math.round( inValue * factor ) / factor;
  return ( result );
}

function roundToFact( inValue, numDps ) {
  if( typeof( numDps ) == "undefined" ) numDps = 2;
  result = numDps * Math.ceil( inValue / numDps );
  return ( result );
}

function Validate(theForm) {
var filter=/^[0-9]*$/
Valid = true;
for (var i= 1; i< 5; i++) {
var filter=/^[\.0-9]*$/
var filterb=/\.{2}/
var str=theForm['dim'+i];
if (!filter.test(str.value) || filterb.test(str.value) || str.value == "" || str.value == "0") {
alert("Please enter a valid value");
theForm('dim'+i).focus();
Valid = false;
return (false);
}
}

var str= theForm.dim1.value*theForm.dim2.value*theForm.dim3.value*theForm.dim4.value;
if (str < 0.001) {
alert("The values you have entered are too small");
theForm.dim1.focus();
Valid = false;
return (false);
}
}

function clearlist(tbox,fbox) {
for(var i=0; i<tbox.options.length; i++) {
tbox.options[i].value = "";
tbox.options[i].text = "";
}
tbox.options.length = 0;
fbox.Remove1.disabled = true;
fbox.Clear1.disabled = true;
fbox.hlist.value= "";
fbox.hvol.value= 0;
window.document.getElementById('tvol').innerHTML = fbox.hvol.value;
Calculate(fbox);
}

function format(theForm){
var filter=/^[\.1-9][\.0-9]*$/
formated = true;
for (var i= 1; i< 5; i++) {
var str=theForm['dim'+i];
if (!filter.test(str.value)) {
str.value = Number(str.value.substring(1, str.value.length));
formated = false;
}
}
}

function move(tbox,fbox) {
Validate(fbox);
if(Valid){
format(fbox);
var no = new Option();
var volume = new Option();
volume.value = Number(fbox.dim1.value*fbox.dim2.value*fbox.dim3.value*fbox.dim4.value/1728);
if (volume.value.length >5) volume.value = volume.value.substring(0,5);
no.value = '( ' + fbox.dim4.value + ' )' + '-( ' + fbox.dim1.value + '" x ' + fbox.dim2.value + '" x ' + fbox.dim3.value + '" )' + '-( ' + volume.value + ' CF )';
no.text = no.value;
tbox.options[tbox.options.length] = no;
fbox.dim1.value = 0;
fbox.dim2.value = 0;
fbox.dim3.value = 0;
fbox.dim4.value = 1;
//Update Hidden Fields
fbox.hlist.value= "";
for(var i=0; i<tbox.options.length; i++) {
fbox.hlist.value = fbox.hlist.value + "<br>" + tbox.options[i].text;
}
fbox.hvol.value= 0;
for(var i=0; i<tbox.options.length; i++) {
fbox.hvol.value = Number(fbox.hvol.value) + Number(tbox.options[i].text.substring(tbox.options[i].text.lastIndexOf('(')+1, tbox.options[i].text.lastIndexOf(')')-4));
}
if (fbox.hvol.value.length >5) fbox.hvol.value = fbox.hvol.value.substring(0,5);
window.document.getElementById('tvol').innerHTML = fbox.hvol.value;
Calculate(fbox);
fbox.Remove1.disabled = false;
fbox.Clear1.disabled = false;
}
}

function remove(tbox,fbox) {
for(var i=0; i<tbox.options.length; i++) {
if(tbox.options[i].selected && tbox.options[i].value != "") {
tbox.options[i].value = "";
tbox.options[i].text = "";
   }
}
BumpUp(tbox,fbox);
if (tbox.options.length == 0) {
fbox.Remove1.disabled = true;
fbox.Clear1.disabled = true;
fbox.hlist.value= "";
fbox.hvol.value= 0;
window.document.getElementById('tvol').innerHTML = fbox.hvol.value;
Calculate(fbox);
	}
}

function BumpUp(tbox,fbox)  {
for(var i=0; i<tbox.options.length; i++) {
if(tbox.options[i].value == "")  {
for(var j=i; j<tbox.options.length-1; j++)  {
tbox.options[j].value = tbox.options[j+1].value;
tbox.options[j].text = tbox.options[j+1].text;
}
var ln = i;
fbox.hlist.value= "";
for(var i=0; i<tbox.options.length; i++) {
fbox.hlist.value = fbox.hlist.value + "<br>" + tbox.options[i].text;
}
fbox.hvol.value= "0";
for(var i=0; i<tbox.options.length-1; i++) {
fbox.hvol.value = Number(fbox.hvol.value) + Number(tbox.options[i].text.substring(tbox.options[i].text.lastIndexOf('(')+1, tbox.options[i].text.lastIndexOf(')')-4));
}
window.document.getElementById('tvol').innerHTML = fbox.hvol.value;
fbox.grandimpv.value =  Number(fbox.totalimpv.value) + Number(fbox.hvol.value);
window.document.getElementById('grandv').innerHTML = fbox.grandimpv.value;
fbox.grandimpw.value =  Number(fbox.grandimpv.value) * 12;
window.document.getElementById('grandw').innerHTML = fbox.grandimpw.value;
break;
   }
}
if(ln < tbox.options.length)  {
tbox.options.length -= 1;
BumpUp(tbox);
   }
}
