var TemperatureArray=new Array();
TemperatureArray[0]=new calcData(1,0,"('PS (Pferdest"+String.fromCharCode(228)+"rke)')");
TemperatureArray[1]=new calcData(1.359622,0,"('KW (Kilowatt)')");
TemperatureArray[2]=new calcData(1.013870,0,"('HP (Horsepower)')");

var LengthArray=new Array();
LengthArray[0]=new calcData(1,0,"('Kilometer (km & km/h)')");
LengthArray[1]=new calcData(1.609,0,"('Meilen (miles & mph)')");


// var CTArray=new Array("('Leistung', 'Temperature')","('Entfernung & Geschwindigkeit', 'Length')");
var CTArray=new Array("('Leistung', 'Temperature')","('Entfernung & Geschwindigkeit', 'Length')");

function calcData(c,b,a) { 
	this.conv=c;
	this.adj=b;
	this.calc2=a
}

function PopulateComboBox(vType,sInitUnit){
	var oLocation=document.getElementById("uc_conversiontype");
	var vOpt1;
	var vNumUnits;
	var oTypeArray;
	var vSelected;
	var vNonCalc;
	oTypeArray=eval(vType+"Array");
	vNumUnits=oTypeArray.length;
	vNonCalc=vType.substring(0,2);
	if(vNonCalc=="CT"){
		for(var i=0;i<vNumUnits;i++){
			vOpt1=eval("new Option"+oTypeArray[i]);
			oLocation.options[i]=vOpt1
		}
		oLocation.options[0].selected=true
	} else { 
		for(var j=0;j<vNumUnits;j++){
			vOpt1=eval("new Option"+oTypeArray[j].calc2);
			oLocation.options[j]=vOpt1;
			if(oLocation.options[j].text==sInitUnit){
				oLocation.options[j].selected=true;
				vSelected=true;
			}
		}
		if(vSelected!=true){
			oLocation.options[0].selected=true
		}
	}
}

function loadCategory(){
	var a="CT";
	PopulateComboBox(a,"");
	PopulateUnitTypes("")
}

function PopulateUnitTypes(sInitUnit){
	var oSelected=document.getElementById("uc_conversiontype");
	//var oInForm=document.forms[0];
	var oSelectedArray;
	var vLength;
	var vOpt1;
	var vOpt2;
	var vSelected;
	oSelectedArray=eval(oSelected.options[oSelected.selectedIndex].value+"Array");
	vLength=oSelectedArray.length;
	vSelected=false;
	
	for(var i=0;i<vLength;i++){
		while(vLength< document.getElementById("uc_ResultUnit").length){
			document.getElementById("uc_SourceUnit").options[vLength-i]=null;
			document.getElementById("uc_ResultUnit").options[vLength-i]=null
		}
		vOpt1 = eval("new Option"+oSelectedArray[i].calc2);
		vOpt2 = eval("new Option"+oSelectedArray[i].calc2);
		document.getElementById("uc_SourceUnit").options[i]=vOpt1;
		document.getElementById("uc_ResultUnit").options[i]=vOpt2;
		
		if(document.getElementById("uc_SourceUnit").options[i].text==sInitUnit){
			document.getElementById("uc_SourceUnit").options[i].selected=true;
			document.getElementById("uc_ResultUnit").options[i].selected=true;
			vSelected=true;
		}
	}
	if(vSelected!=true){
		document.getElementById("uc_SourceUnit").options[0].selected=true;
		document.getElementById("uc_ResultUnit").options[0].selected=true;
	}
	
	document.getElementById("uc_txtSourceQty").value = "";
	document.getElementById("uc_txtResultQty").value = "";
}

function CalculateNow(){
	var vCategoryIndex;
	var vCategoryValue;
	var oSearch;
	var vInputValue;
	var vSConv;
	var vSAdj;
	var vTConv;
	var vTAdj;
	var vResult;
	var x;
	var y;
	
	vInputValue = document.getElementById("uc_txtSourceQty").value;
	
	//Check ifthe input value is numeric
	if(IsNumeric(vInputValue)) {
		vCategoryIndex = document.getElementById("uc_conversiontype").options.selectedIndex;
		vCategoryValue = document.getElementById("uc_conversiontype").options[vCategoryIndex].value;
		oSearch = eval(vCategoryValue+"Array");
		
		x = document.getElementById("uc_SourceUnit").selectedIndex;
		vSConv = oSearch[x].conv;
		vSAdj = oSearch[x].adj;
		
		y = document.getElementById("uc_ResultUnit").selectedIndex;
		vTConv = oSearch[y].conv;
		vTAdj = oSearch[y].adj;
		
		vResult = roundResult(-1*(-vInputValue-vSAdj)*vSConv*1/vTConv-vTAdj,2);
	} else {
		vResult = "invalid quantity";
	}
	document.getElementById("uc_txtResultQty").value = vResult;
}

function IsNumeric(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
         IsNumber = false;
      }
   }
   return IsNumber;
}


function roundResult(b,a){
	a=(!a?6:a);
	return Math.round(b*Math.pow(10,a))/Math.pow(10,a)
};

window.onload = loadCategory;
