﻿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 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);}

    

 
function addEvent(elm, evType, fn) {

	if (elm.addEventListener) {
		elm.addEventListener(evType, fn,false);
		return true;
	}
	else if (elm.attachEvent) {
	
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

function getTargetElement(evt) {
    var elem = (evt.target) ? ((evt.target.nodeType == 3) ? evt.target.parentNode : evt.target) : evt.srcElement;
    return elem;
}

function convert(evt) {
  evt = (evt) ? evt : ((window.event) ? window.event : "");
  var o = getTargetElement(evt);
  var vdec;
 
  if (!validate(o.id)) {
  $("alt").innerHTML = "Invalid input !";
  return;
  }
  else
  $("alt").innerHTML ="";
   
  
  if(o.id=="dec"){ 
  
  vdec = parseInt($("dec").value);
  }
  else if (o.id=="bin") {
  vdec = bin2dec();  
  }
   else if (o.id=="oct") {
  vdec = oct2dec();  
  }
   else if (o.id=="hex") {
  vdec = hex2dec();  
  }
  converdec(vdec);
}

function converdec(vdec) {
$("dec").value = vdec;
$("bin").value = vdec.toString(2);
$("oct").value = vdec.toString(8);
$("hex").value = vdec.toString(16);

}

function validate(id) {
    if (id=="dec") {
    var v = $("dec").value;
    var s = v.split("");
        for (var i=0;i<s.length;i++){
            if (s[i].match(/\d/)==null) 
           
                return false;
         }
    return true;     
    }
    else if (id=="bin") {
    var v = $("bin").value;
    var s = v.split("");
        for (var i=0;i<s.length;i++){
            if (s[i].match(/[01]/)==null) 
                return false;
         }
    return true; 
    
    }
    else if (id=="oct") { 
     var v = $("oct").value;
     var s = v.split("");
        for (var i=0;i<s.length;i++){
            if (s[i].match(/[01234567]/)==null) 
                return false;
         }
    return true; 
    
    }  
    else if (id=="hex") { 
     var v = $("hex").value;
     var s = v.split("");
        for (var i=0;i<s.length;i++){
            if (s[i].match(/[0-9A-Fa-f]/)==null) 
                return false;
         }
    return true; 
    
    }  
      
   
}

function bin2dec()
{
	var vbin = $("bin").value;
	var len=vbin.length;
	var vcon=0;
	var i,j;
	for(i=0,j=len-1;i<len;i++,j--)
	{	
		vcon=vcon+parseInt(vbin.charAt(i))*Math.pow(2,j);
	}
	return new Number(vcon);
}

function oct2dec()
{
	var voct = $("oct").value;
	var len=voct.length;
	var vcon=0;
	var i,j;
	for(i=0,j=len-1;i<len;i++,j--)
	{	
		vcon=vcon+parseInt(voct.charAt(i))*Math.pow(8,j);
	}
	return new Number(vcon);
}

function hex2dec()
{
    var HexChars = "0123456789ABCDEF";
	var vhex = $("hex").value;

	
	var vDec=0;
	var v = $("hex").value;
	v=v.toUpperCase();
    var s = v.split("");
    for (var i=0;i<s.length;i++){
	
	var a = HexChars.indexOf(s[i]);
	var b =Math.pow(16,s.length-i-1)
	vDec+=a*b;

	
	}
	return vDec;
}

 
    
 window.onload=function(){
 var elm = $("dec","bin","oct","hex");
 
  for(i=0;i<elm.length;i++) {
 
  addEvent(elm[i],"keyup",convert); 
  } 
 
if(!NiftyCheck())
    return;
Rounded("div.vnav","#FFF","#E4E7F2");
Rounded("div.bkmk","#FFF","#E4E7F2");
Rounded("div.calDiv","#FFF","#E4E7F2");
//init();	

}
