﻿function clrAll(){document.getElementById("kv100").value="";document.getElementById("kv40").value="";document.getElementById("alert100").innerHTML="";document.getElementById("alert40").innerHTML="";document.getElementById("alertVI").innerHTML="";document.getElementById("VId").innerHTML="";document.getElementById("txtAlert").innerHTML="";} function FormatNumber(srcStr,nAfterDot){var srcStr,nAfterDot;var resultStr,nTen;srcStr=""+srcStr+"";strLen=srcStr.length;dotPos=srcStr.indexOf(".",0);if(dotPos==-1){resultStr=srcStr+".";for(i=0;i<nAfterDot;i++){resultStr=resultStr+"0";}　return resultStr;}else{if((strLen-dotPos-1)>=nAfterDot){nAfter=dotPos+nAfterDot+1;nTen=1;for(j=0;j<nAfterDot;j++){nTen=nTen*10;}resultStr=Math.round(parseFloat(srcStr)*nTen)/nTen;return resultStr;}else{resultStr=srcStr;for(i=0;i<(nAfterDot-strLen+dotPos+1);i++){resultStr=resultStr+"0";}return resultStr;}}} function GetVI(){document.getElementById("kv40").value=document.getElementById("kv40").value.replace(/,/,".");document.getElementById("kv100").value=document.getElementById("kv100").value.replace(/,/,".");if(document.getElementById("kv40").value==""||isNaN(document.getElementById("kv40").value)){document.getElementById("alert40").innerHTML="* need number!";document.getElementById("VId").innerHTML="";document.getElementById("kv40").focus();document.getElementById("kv40").select();return(false);}else{document.getElementById("alert40").innerHTML="";}if(document.getElementById("kv100").value==""||isNaN(document.getElementById("kv100").value)){document.getElementById("alert100").innerHTML="* need number!";document.getElementById("VId").innerHTML="";document.getElementById("kv100").focus();document.getElementById("kv100").select();return false;}else{document.getElementById("alert100").innerHTML="";}var kv100=parseFloat(document.getElementById("kv100").value);var kv40=parseFloat(document.getElementById("kv40").value);if(kv40<2){document.getElementById("txtAlert").innerHTML="Note, this calculation applies to petroleum products with kinematic viscosity over 2 cSt at 100ºC. The kinematic viscosity at 40ºC should be reasonably greater than 2 cSt.";document.getElementById("VId").innerHTML="";document.getElementById("kv40").focus();document.getElementById("kv40").select();return false;}else{document.getElementById("txtAlert").innerHTML="";}if(kv100<2){document.getElementById("txtAlert").innerHTML="Note, this calculation applies to petroleum products with kinematic viscosity over 2 cSt at 100ºC.";document.getElementById("VId").innerHTML="";document.getElementById("kv100").focus();document.getElementById("kv100").select();return false;}else{document.getElementById("txtAlert").innerHTML="";}if(kv40<=kv100){document.getElementById("txtAlert").innerHTML="Note, the kinematic viscosity at 40 ºC should always be greater than that at 100 ºC for petroleum products.";document.getElementById("VId").innerHTML="";document.getElementById("kv40").focus();document.getElementById("kv40").select();return false;}else{document.getElementById("txtAlert").innerHTML="";}var result=calVI(kv40,kv100);if(result<60||result>350){document.getElementById("txtAlert").innerHTML="The calculated viscosity index is "+"<strong>"+result+"</strong>"+" based on the kinematic viscosity at 40 ºC and at 100 ºC provided. But this is rare in nature. Please check if it is correct.";document.getElementById("VId").innerHTML="";document.getElementById("kv40").focus();document.getElementById("kv40").select();return false;}document.getElementById("VId").innerHTML=result;} function calVI(v40,v100){var a,b,c,d,e,f;var L,HH=0.0001,N=0.0001;var VI,VI_less100,VI_greater100;if(v100<=3.8){a=1.14673;b=1.7576;c=-0.109;d=0.84155;e=1.5521;f=-0.077;}else if(v100<=4.4){a=3.38095;b=-15.4952;c=33.196;d=0.78571;e=1.7929;f=-0.183;}else if(v100<=5){a=2.5;b=-7.2143;c=13.812;d=0.82143;e=1.5679;f=0.119;}else if(v100<=6.4){a=0.101;b=16.635;c=-45.469;d=0.04985;e=9.1613;f=-18.557;}else if(v100<=7){a=3.35714;b=-23.5643;c=78.46601;d=0.22619;e=7.7369;f=-16.656;}else if(v100<=7.7){a=0.01191;b=21.475;c=-72.87;d=0.79762;e=-0.7321;f=14.61;}else if(v100<=9){a=0.41858;b=16.1558;c=-56.04;d=0.05794;e=10.5156;f=-28.24;}else if(v100<=12){a=0.88779;b=7.5527;c=-16.6;d=0.26665;e=6.7015;f=-10.81;}else if(v100<=15){a=0.7672;b=10.7972;c=-38.18;d=0.20073;e=8.4658;f=-22.49;}else if(v100<=18){a=0.97305;b=5.3135;c=-2.2;d=0.28889;e=5.9741;f=-4.93;}else if(v100<=22){a=0.97256;b=5.25;c=-0.98;d=0.24504;e=7.416;f=-16.73;}else if(v100<=28){a=0.91413;b=7.4759;c=-21.82;d=0.20323;e=9.126701;f=-34.23;}else if(v100<=40){a=0.91413;b=7.4759;c=-21.82;d=0.20323;e=9.126701;f=-34.23;}else if(v100<=55){a=0.84703;b=12.67;c=-133.31;d=0.17029;e=11.4866;f=-80.62;}else if(v100<=70){a=0.85921;b=11.1009;c=-83.19;d=0.1713;e=11.368;f=-76.94;}else{a=0.83531;b=14.6731;c=-216.246;d=0.16841;e=11.8493;f=-96.947;}L=a*v100*v100+b*v100+c;H=d*v100*v100+e*v100+f;N=(Math.log(H)-Math.log(v40))/Math.log(v100);VI_less100=(L-v40)/(L-H)*100;if(VI_less100<100){VI=VI_less100;}else{VI_greater100=(Math.pow(10,N)-1)/0.00715+100;VI=VI_greater100;}return FormatNumber(VI,2);} function writeJS(){var str='';str+='<ul >';str+='<li><a href="Angle.htm">Angle<\/a><\/li>';str+='<li><a href="Area.htm">Area<\/a><\/li>';str+='<li><a href="Density.htm">Density<\/a><\/li>';str+='<li><a href="..\/unitguide\/Electricity.htm">Electricity<\/a><\/li>';str+='<li><a href="Energy.htm">Energy<\/a><\/li>';str+='<li><a href="FlowRate.htm">Flow Rate<\/a><\/li>';str+='<li><a href="Force.htm">Force<\/a><\/li>';str+='<li><a href="FuelEconomy.htm">Fuel Economy<\/a><\/li>';str+='<li><a href="..\/unitguide\/Heat.htm">Heat<\/a><\/li>';str+='<li><a href="Length.htm">Length<\/a><\/li>';str+='<li><a href="..\/unitguide\/Light.htm">Light<\/a><\/li>';str+='<li><a href="..\/unitguide\/Magnetism.htm">Magnetism<\/a><\/li>';str+='<li><a href="Mass.htm">Mass<\/a><\/li>';str+='<li><a href="Pressure.htm">Pressure<\/a><\/li>';str+='<li><a href="Power.htm">Power<\/a><\/li>';str+='<li><a href="..\/unitguide\/Radiation.htm">Radiation<\/a><\/li>';str+='<li><a href="Temperature.htm">Temerature<\/a><\/li>';str+='<li><a href="Time.htm">Time<\/a><\/li>';str+='<li><a href="Torque.htm">Torque<\/a><\/li>';str+='<li><a href="Velocity.htm">Velocity<\/a> <\/li> ';str+='<li><a href="Volume.htm">Volume<\/a><\/li>';str+='<li><a href="..\/unitguide\/Viscosity.htm">Viscosity<\/a><\/li>';str+='<\/ul>';document.write(str);}function bookmark(){var title=document.title;var url=document.location.href;if(window.sidebar)window.sidebar.addPanel(title,url,"");else if(window.opera&&window.print){var mbm=document.createElement('a');mbm.setAttribute('rel','sidebar');mbm.setAttribute('href',url);mbm.setAttribute('title',title);mbm.click();}else if(window.external){try{window.external.AddFavorite;}catch(e){if(e=="[object Error]"){alert("You have to press CTRL-D to add this page to your favorite");}else{window.external.AddFavorite;}}}}function bookmarks(){var urlstr=location.href;var tt=document.title;var a1;a1=tt.indexOf("www");tt=tt.substring(0,a1);var str='';str+='<a href="javascript:bookmark()">';str+='<img alt="Add to Favorites" src="..\/..\/images\/favorites.png" border=0><\/a>';str+='<a href="http:\/\/del.icio.us\/post?url='+urlstr+'&title='+tt+'">';str+='<img alt="del.icio.us" src="..\/..\/images\/delicious.png" border=0><\/a>';str+='<a href="http:\/\/digg.com\/submit?phase=2&url=' + urlstr+ '&title=' + tt + '">';str+='<img alt="digg" src="..\/..\/images\/digg.gif" border=0><\/a>';
str+='<a href="http:\/\/reddit.com\/submit?url='+urlstr+'&title='+tt+'">';str+='<img alt="Reddit" src="..\/..\/images\/reddit.gif" border=0><\/a>';str+='<a href="http:\/\/www.furl.net\/storeIt.jsp?t='+tt+'&u='+urlstr+'">';str+='<img alt="furl" src="..\/..\/images\/furl.gif" border=0><\/a>';str+='<a href="http:\/\/www.stumbleupon.com\/submit?url='+urlstr+'&title='+tt+'">';str+='<img alt="Stumbleupon" src="..\/..\/images\/su.png" border=0><\/a>';str+='<a href="http:\/\/myweb2.search.yahoo.com\/myresults\/bookmarklet?t='+tt+'&u='+urlstr+'">';str+='<img alt="Yahoo MyWeb" src="..\/..\/images\/yahoo-myweb.png" border=0><\/a>';str+='<a href="http:\/\/www.google.com\/bookmarks\/mark?op=edit&bkmk='+urlstr+'&title='+tt+'">';str+='<img alt="Google Bookmarks" src="..\/..\/images\/gg.gif" border=0><\/a>';document.write(str);} function NiftyCheck(){if(!document.getElementById||!document.createElement)return(false);var b=navigator.userAgent.toLowerCase();if(b.indexOf("msie 5")>0&&b.indexOf("opera")==-1)return(false);return(true);}function Rounded(selector,bk,color,size){var i;var v=getElementsBySelector(selector);var l=v.length;for(i=0;i<l;i++){AddTop(v[i],bk,color,size);AddBottom(v[i],bk,color,size);}}function RoundedTop(selector,bk,color,size){var i;var v=getElementsBySelector(selector);for(i=0;i<v.length;i++)AddTop(v[i],bk,color,size);}function RoundedBottom(selector,bk,color,size){var i;var v=getElementsBySelector(selector);for(i=0;i<v.length;i++)AddBottom(v[i],bk,color,size);}function AddTop(el,bk,color,size){var i;var d=document.createElement("b");var cn="r";var lim=4;if(size&&size=="small"){cn="rs";lim=2}d.className="rtop";d.style.backgroundColor=bk;for(i=1;i<=lim;i++){var x=document.createElement("b");x.className=cn+i;x.style.backgroundColor=color;d.appendChild(x);}el.insertBefore(d,el.firstChild);}function AddBottom(el,bk,color,size){var i;var d=document.createElement("b");var cn="r";var lim=4;if(size&&size=="small"){cn="rs";lim=2}d.className="rbottom";d.style.backgroundColor=bk;for(i=lim;i>0;i--){var x=document.createElement("b");x.className=cn+i;x.style.backgroundColor=color;d.appendChild(x);}el.appendChild(d,el.firstChild);}function getElementsBySelector(selector){var i;var s=[];var selid="";var selclass="";var tag=selector;var objlist=[];if(selector.indexOf(" ")>0){s=selector.split(" ");var fs=s[0].split("#");if(fs.length==1)return(objlist);return(document.getElementById(fs[1]).getElementsByTagName(s[1]));}if(selector.indexOf("#")>0){s=selector.split("#");tag=s[0];selid=s[1];}if(selid!=""){objlist.push(document.getElementById(selid));return(objlist);}if(selector.indexOf(".")>0){s=selector.split(".");tag=s[0];selclass=s[1];}var v=document.getElementsByTagName(tag);if(selclass=="")return(v);for(i=0;i<v.length;i++){if(v[i].className==selclass){objlist.push(v[i]);}}return(objlist);}