function netscapeKeyPress(e) { if (e.which == 13) widthConversion(); } function microsoftKeyPress() { if (window.event.keyCode == 13) widthConversion(); } if (navigator.appName == 'Netscape') { window.captureEvents(Event.KEYUP); window.onKeyUp = netscapeKeyPress; } function get_fact(ff,from_val,to_val){ // first convert to kelvin if (from_val == 0){ ff = ff + 273.15; } else if (from_val == 1){ ff = ((ff - 32)/ 1.8) + 273.15; } else if (from_val == 2){ ff = ff / 1.8; } else if (from_val == 3){ ff = (ff * 1.25) + 273.15; } if (ff < 0){ // Below absolute zero return "Below Absolute Zero"; } // now convert kelvin to unit if (to_val == 0){ ff = ff - 273.15; } else if (to_val == 1){ ff = (1.8 * (ff -273.15)) + 32; } else if (to_val == 2){ ff = ff * 1.8; } else if (to_val == 3){ ff = (ff - 273.15) / 1.25; } // round it off if (Number.prototype.toFixed) { ff = ff.toFixed(7); ff = parseFloat(ff); } else { var leftSide = Math.floor(ff); var rightSide = ff - leftSide; ff = leftSide + Math.round(rightSide *10000000)/10000000; } return ff; } function tempConversion(form, field, fields){ var v1, Factor; //validate the "from" field v1 = field.value; v1 = stripBad(v1); v1 = parseFloat(v1); if (isNaN(v1)) v1 = 0; v1 = Math.abs(v1); //update the subscribed fields for (i=0; i < fields.length; i++) { var obj = form[fields[i]]; if(obj != field){ obj.value = get_fact(v1, field.id, obj.id); } } } function widthConversion(form, field, fields){ var v1, Factor; //validate the "from" field v1 = field.value; v1 = stripBad(v1); v1 = parseFloat(v1); if (isNaN(v1)) v1 = 0; v1 = Math.abs(v1); //update the subscribed fields for (i=0; i < fields.length; i++) { var obj = form[fields[i]]; if(obj != field){ //calculate the factor Factor = eval("(" + field.id + ")/(" + obj.id + ")"); obj.value = get_result(v1, Factor); } } } function get_result(ff,factor){ ff *= factor; if (Number.prototype.toFixed) { ff = ff.toFixed(7); ff = parseFloat(ff); } else { var leftSide = Math.floor(ff); var rightSide = ff - leftSide; ff = leftSide + Math.round(rightSide *10000000)/10000000; } ff = format(ff); ff = comma(ff); if(ff == 0) return "-"; return ff; } function format(num){ var s = num+''; var bNeedFormat = false; var eIndex = -1; for (var i=0, valid="eE"; i -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; }