﻿
var kvsp1,kvsp2;
var kvtxt1,kvtxt2;
var tmptxt1,tmptxt2;
var inputTxt;
var btn1;


function createButton(typ,ide,vl)
{
  var temp = document.createElement("input");
  temp.setAttribute("type", typ);
  temp.setAttribute("id", ide);
  temp.setAttribute("value", vl);
  
  if (document.all) {
      temp.setAttribute("onclick",function(){  
      if (temp.id=="bnkv") { 
            calKVwTmp ();
      } else
              calTmpwKV();
        }   
      ); }
  
  else {
  //for firefox
      if (temp.id="bnkv") {
         temp.setAttribute("onclick","calKVwTmp ();");
      }
      else      
         temp.setAttribute("onclick","calTmpwKV();");   
      }
    return temp;
}	


function createInput () {
    var temp = document.createElement("input");

    temp.type = "text";
    temp.value = "";
    temp.id = "intxt";
    temp.size =6;

    return temp;
}
	
function sh(v) {
	  document.getElementById("rel").innerHTML="";
	  if (document.getElementById("intxt")) {
		document.getElementById("intxt").value ="";}
	  
	  if ((!document.getElementById('bnkv')) && (v=='kv')) {
		kvtxt1 = document.createTextNode("Temperature is ");
		kvtxt2 = document.createTextNode(" °C,   ");
	  
		if (document.getElementById('bntmp')) {
		
				document.getElementById("cv").replaceChild(kvtxt1,tmptxt1);
				document.getElementById("cv").replaceChild(kvtxt2,tmptxt2);
				btn1.setAttribute("id","bnkv");
				btn1.value = "Calculate KV";
				
			}
		
		else {
	 	      				
				inputTxt = createInput();
				btn1 = createButton("button","bnkv","Calculate KV");
							
				document.getElementById("cv").appendChild(kvtxt1);
				document.getElementById("cv").appendChild(inputTxt);
				document.getElementById("cv").appendChild(kvtxt2);
				document.getElementById("cv").appendChild(btn1);				
			}			
		}      
		
		else if ((!document.getElementById('bntmp')) && (v=='tmp')){
		   
			tmptxt1 = document.createTextNode("KV is ");	  
			tmptxt2 = document.createTextNode(" cSt,   ");
			
			if (document.getElementById('bnkv')) {
			    				
				document.getElementById("cv").replaceChild(tmptxt1,kvtxt1);
				document.getElementById("cv").replaceChild(tmptxt2,kvtxt2);
				btn1.id = "bntmp";
				btn1.value = "Calculate Temp";
				document.getElementById("intxt").value ="";
			}
		else {	
				inputTxt = createInput();
				btn1 = createButton("button","bntmp","Calculate Temp");								
				document.getElementById("cv").appendChild(tmptxt1);
				document.getElementById("cv").appendChild(inputTxt);
				document.getElementById("cv").appendChild(tmptxt2);
				document.getElementById("cv").appendChild(btn1);
			}
	   }		
}



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 LLog(yy) {
var lg10;
lg10 = Math.log(yy)/Math.LN10;
return lg10;
}

function calKVwTmp () {
var tt1,tt2, vv1, vv2,tmp;
var T1,T2,Ttmp,Z1,Z2,Ztmp,A, B,vtmp;

var v1 = (valiInput("txtVa1"));
var v2 = (valiInput("txtTa1"));
var v3 = (valiInput("txtVa2"));
var v4 = (valiInput("txtTa2"));
var v5 = (valiInput("intxt"));

if ((v1) && (v2) && (v3) && (v4) && (v5)) {


tt1 = parseFloat(document.getElementById("txtTa1").value);
tt2 = parseFloat(document.getElementById("txtTa2").value);
tmp = parseFloat(document.getElementById("intxt").value);

vv1 = parseFloat(document.getElementById("txtVa1").value);
vv2 = parseFloat(document.getElementById("txtVa2").value);

T1 = 273.15 + tt1;
T2 = 273.15 + tt2;
Ttmp = 273.15 + tmp;

Z1 = vv1 + 0.7 + Math.exp(-1.47 - 1.84*vv1-0.51*vv1*vv1);
Z2 = vv2 + 0.7 + Math.exp(-1.47 - 1.84*vv2-0.51*vv2*vv2);

A = (LLog(T2) * LLog(LLog(Z1)) - LLog(T1) * LLog(LLog(Z2)))/(LLog(T2) - LLog(T1));
B = (LLog(LLog(Z1)) - LLog(LLog(Z2)))/(LLog(T2) - LLog(T1));

Ztmp = Math.pow(10,Math.pow(10,(A - B * LLog(Ttmp))))-0.7; 
vtmp = Ztmp-Math.exp(-0.7487-3.295*Ztmp+0.6119*Ztmp * Ztmp-0.3193*Ztmp * Ztmp *Ztmp)
vtmp = FormatNumber(vtmp,2);
document.getElementById("rel").innerHTML = "Kinematic viscosity is " + vtmp + " cSt at " + tmp + "ºC" ;
document.getElementById("rel").style.color="black";
}
}

function calTmpwKV() {
var tt1,tt2, vv1, vv2,vtmp;
var T1,T2,T3,Ttmp,Z1,Z2,Ztmp,A, B,tmp;

var v1 = (valiInput("txtVa1"));
var v2 = (valiInput("txtTa1"));
var v3 = (valiInput("txtVa2"));
var v4 = (valiInput("txtTa2"));
var v5 = (valiInput("intxt"));

if ((v1) && (v2) && (v3) && (v4) && (v5)) {
document.getElementById("rel").innerHTML ="";

tt1 = parseFloat(document.getElementById("txtTa1").value);
tt2 = parseFloat(document.getElementById("txtTa2").value);
vtmp = parseFloat(document.getElementById("intxt").value);

vv1 = parseFloat(document.getElementById("txtVa1").value);
vv2 = parseFloat(document.getElementById("txtVa2").value);

T1 = 273.15 + tt1;
T2 = 273.15 + tt2;
//Ttmp = 273.15 + tmp;

Z1 = vv1 + 0.7 + Math.exp(-1.47 - 1.84*vv1-0.51*vv1*vv1);
Z2 = vv2 + 0.7 + Math.exp(-1.47 - 1.84*vv2-0.51*vv2*vv2);
Ztmp = vtmp + 0.7 + Math.exp(-1.47 - 1.84*vtmp-0.51*vtmp*vtmp);


A = (LLog(T2) * LLog(LLog(Z1)) - LLog(T1) * LLog(LLog(Z2)))/(LLog(T2) - LLog(T1));
B = (LLog(LLog(Z1)) - LLog(LLog(Z2)))/(LLog(T2) - LLog(T1));

//T = 10 ^((A-LogLogZ3)/B)
tmp = Math.pow(10,(A - LLog(LLog(Ztmp)))/B);
T3 = tmp - 273.15;
T3 = FormatNumber(T3,2);

document.getElementById("rel").innerHTML = "Temperature is " + T3 + " ºC at " + vtmp + " cSt" ;
document.getElementById("rel").style.color="black";

}
}

function valiInput(ider) {

if(document.getElementById(ider).value == "" || isNaN(document.getElementById(ider).value)) {
		document.getElementById("rel").innerHTML ="* need number or no emply!";
		document.getElementById(ider).focus();
		document.getElementById(ider).select();
		document.getElementById("rel").style.color="red";

		return false;
		
	}
	else
	{
	return true;
	}
}



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+='<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);}