	xStarted = 0;
	function xConvLoaded() {
		xConvSelect("btn1_"+tabConv[0]);
		xConvSelect("btn2_"+tabConv[1]);
		xConvSelect("btn3_"+tabConv[2]);
		xStarted = 1;
	}
	
	xVisible = 0;
	function xShowConv(xTop) {
		if(!xTop) xTop = 290;
		if (xVisible == 0) {
			xHKM('div_conv','left[20,40,3,true]','top['+xTop+',30,2,true]');
			xVisible = 1;
		} else {
			xHKM('div_conv','left[-500,40,1,true]','top['+xTop+',50,3,true]');
			xVisible = 0;
		}
	}
	
	
	tabConv = new Array();
		tabConv[0] = 1; // 1: Far -> Cielcus  2: Cielcus -> Far  
		tabConv[1] = 1; // 1: Oz -> Gr  2: Gr -> Oz  
		tabConv[2] = 1;	// 1: Tasse -> ml  2: ml -> Tasse  
		
	tabCalc = new Array();
		// Facteur de conversion de température = 32
		tabCalc[0] = 100/(212-32); // Far = Cielcus
		tabCalc[1] = 28.34952; // Oz = g  
		tabCalc[2] = 250;	// Tasse = ml - reel: 236.5882
		tabCalc[3] = (212-32)/100; // Cielcus = Far  
		tabCalc[4] = 0.03527396; // g = Oz  
		tabCalc[5] = 0.004 ;// ml = Tasse - reel: 0.004226753
		
		
	tabTitres = new Array();
	if (xLg == "en") {
		tabTitres[0] = "&deg; C";
		tabTitres[1] = " g";
		tabTitres[2] = " ml";
		tabTitres[3] = "&deg; F";
		tabTitres[4] = " Oz";
		tabTitres[5] = " Cup";
	} else {
		tabTitres[0] = "&deg; C";
		tabTitres[1] = " g";
		tabTitres[2] = " ml";
		tabTitres[3] = "&deg; F";
		tabTitres[4] = " oz";
		tabTitres[5] = " tasse";
	}
	
	function xConvert(xCat) {
		var xInput = xGetObject("input"+xCat);
			var vInput = xInput.value;
		var xOutput = xGetObject("input"+xCat+"r");
		var xCalc = 0;
		var xRes = 0;
		var xConv = tabConv[xCat-1];
		
		switch(xCat) {
			case 1: 
				(xConv == 1)? xRes=tabCalc[0]*(vInput-32) : xRes=tabCalc[3]*vInput+32;
				xRes = Math.round(xRes);
				break;
			case 2: 
				(xConv == 1)? xRes=Math.round(tabCalc[1]*vInput) : xRes=(tabCalc[4]*vInput).toFixed(2);
				break;
			case 3: 
				(xConv == 1)? xRes=Math.round(tabCalc[2]*vInput) : xRes=(tabCalc[5]*vInput).toFixed(2);
				break;
		}
		
		if (isNaN(xRes)) {
			if (xLg = "en") {
				xOutput.innerHTML = "Erreur...";
			} else {
				xOutput.innerHTML = "Error...";
			}
			
		} else {
			var xTitrePos = (xCat)+(xConv*3-4);
			if (typeof(xRes) == "string") {
				var vDec = xRes.substr(xRes.length-2,2);
				var xDec = ("0."+vDec)*1;
				var vFrac = ""
				if (vDec == "00") {
					xRes = Math.round(xRes);
				} else {
				 // décimales vers fractions
				 // approximations logiques et non arbitraires
				 if (xDec < 0.12) vFrac="."+vDec;
				 if (xDec >= 0.12) vFrac="1/8";
				 if (xDec >= 0.18) vFrac="1/5";
				 if (xDec >= 0.3) vFrac="1/3";
				 if (xDec >= 0.45) vFrac="1/2";
				 if (xDec >= 0.6) vFrac="2/3";
				 if (xDec >= 0.75) vFrac="4/5";
				 
				 if (xDec > 0.9) {
				 	xRes = Math.round(xRes);
				 } else {
				 	var vInt = xRes.substr(0,1);
					if (vInt == "0") {
						xRes = vFrac;
					} else {
						xRes = vInt+" "+vFrac;
					}
				 }
				 
				 
				}
				
			}
			xOutput.innerHTML = xRes + tabTitres[xTitrePos];
			if (xCat == 3 && xConv == 2 && xRes>=2) xOutput.innerHTML += "s";
		}
		
	}
	
	
	function xConvOver(xBtn) {
		if (!xBtn.actif || xBtn.actif == 0) {
			xMouseOver(xBtn);
		}
	}
	
	function xConvOut(xBtn) {
		if (!xBtn.actif || xBtn.actif == 0) {
			xMouseOut(xBtn);
		}
	}
	
	function xConvSelect(xBtn) {
		if (typeof(xBtn) == "string")  xBtn = xGetObject(xBtn);
		xBtn.actif = 1;
		xMouseOver(xBtn);
		
		var xCat = xBtn.id.substr(3,1)*1;
		var xConv = xBtn.id.substr(5,1)*1;
		tabConv[xCat-1] = xConv;
		
		if (xStarted == 1) {
			xConvert(xCat)
		} else {
		
		}
		
		var xBtn2 = xSelectNext(xBtn);
		if (xBtn2.actif = 1) xBtn2.actif=0;xConvOut(xBtn2);
	}
	
	function xSelectNext(xBtn) {
		var xNum = xBtn.id.substr(5,1);
		(xNum == "1")?xNum=2:xNum=1;
		return xGetObject( xBtn.id.substr(0,5) + xNum )
	}
	
	
	