//facteur = tableau des facteurs de conversions
//valeurInput = valeur à convertir 
//facteurInput = pour convertir l'unité original au standard
//facteurOutput = pour convertir du standard à l'unité final

function convertir(form)
	{
	var facteur = new Array(100)
		facteur[0] = 1/1609.344 //m à miles
		facteur[1] = 1609.344 //miles à m
		facteur[2] = .001 //m à km
		facteur[3] = 1000 //km à m
		facteur[4] = 1 //m à m
		facteur[5] = .0254001 //po à m
		facteur[6] = 1/.0254001 //m à po
		facteur[7] = .001 //mm à m
		facteur[8] = 1000 //m à mm
		facteur[9] = .1 //dm à m
		facteur[10] = 10 //m à dm
		facteur[11] = .304801 //pi à m
		facteur[12] = 1/.304801 //m à pi
		facteur[13] = .01 //cm à m
		facteur[14] = 100 //m à cm
		facteur[15] = 1 //m2 à m2
		facteur[16] = .0001 //cm2 à m2
		facteur[17] = 10000 // m2 à cm2
		facteur[18] = .000001 // mm2 à m2
		facteur[19] = 1000000 // m2 à mm2
		facteur[20] = 10000 // ha à m2
		facteur[21] = .0001 // m2 à ha
		facteur[22] = 1000000 // km2 à m2
		facteur[23] = .000001 // m2 à km2
		facteur[24] = 4046.856 // acre à m2
		facteur[25] = 1/4046.856 // m2 à acre
		facteur[26] = 2.5899888e+6 // mi2 à m2
		facteur[27] = 1/2.5899888e+6 // m2 à mi2
		facteur[28] = .092903404 //pi2 à m2
		facteur[29] = 1/.092903404 //m2 à pi2
		facteur[30] = 6.4516258e-4 //po2 à m2
		facteur[31] = 1/6.4516258e-4 //m2 à po2
		facteur[32] = .836127 //vg2 à m2
		facteur[33] = 1/.836127 //m2 à vg2
		facteur[34] = 1000 // L à mL
		facteur[35] = .001 // mL à L
		facteur[36] = 1 // L à L
		facteur[37] = .02957353 // oz à L
		facteur[38] = 1/.02957353 // L à oz
		facteur[39] = .4731765 // chop US à L
		facteur[40] = 1/.4731765 // L à chop US
		facteur[41] = 3.785412 // gal US à L
		facteur[42] = 1/3.785412 // L à gal US
		facteur[43] = .01 // cL à L
		facteur[44] = 100 // L à cL
		facteur[45] = .946353 // pte US à L
		facteur[46] = 1/.946353 // L à pte US
		facteur[47] = 1 // g à g
		facteur[48] = 1000 // kg à g
		facteur[49] = .001 // g à kg
		facteur[50] = 28.349527 // oz à g
		facteur[51] = 1/28.349527 // g à oz
		facteur[52] = 453.5924 // lb à g
		facteur[53] = 1/453.5924 // g à lb
		facteur[54] = 907184.7 // t (US) à g
		facteur[55] = 1/907184.7 // g à t (US)
		facteur[56] = 1000000 // t à g
		facteur[57] = .000001 // g à t
		facteur[58] = .001 // mg à g
		facteur[59] = 1000 // g à mg
		facteur[60] = 6350.293 // stone à g
		facteur[61] = 1/6350.293 // g à stone
		facteur[62] = 1.0e-9 // mm3 à m3
		facteur[63] = 1/1.0e-9 // m3 à mm3
		facteur[64] = 1.0e-6 // cm3 à m3
		facteur[65] = 1/1.0e-6 // m3 à cm3
		facteur[66] = .02831685 // pi3 à m3
		facteur[67] = 1/.02831685 // m3 à pi3
		facteur[68] = 1.638706e-5 // po3 à m3
		facteur[69] = 1/1.638706e-5 // m3 à po3
		facteur[70] = .7645549 // vg3 à m3
		facteur[71] = 1/.7645549 // m3 à vg3
		facteur[72] = 1 // m3 à m3
		
	var valeurInput = parseFloat(form.input.value)
	if (isNaN(valeurInput)){
		alert("Vous devez entrer un nombre.")
		}
	else{
	var facteurInput = form.listeInput.selectedIndex
		facteurInput = parseFloat(form.listeInput.options[facteurInput].value)
	var facteurOutput = form.listeOutput.selectedIndex
		facteurOutput = parseFloat(form.listeOutput.options[facteurOutput].value)
		reponse = valeurInput * facteur[facteurInput] * facteur[facteurOutput]
		form.output.value = arrondir(reponse)
		}
	}
	
function convTemp(form)
	{
	var facteurInput = form.listeInput[form.listeInput.selectedIndex].value
	var facteurOutput = form.listeOutput[form.listeOutput.selectedIndex].value
	var valeurInput = parseFloat(form.input.value)
	var valeurOutput
	
	//convertir à celsius
	if(isNaN(valeurInput)){
		alert("Vous devez entrer un nombre dans ce champ.")
		}
	else if(facteurInput == 2){ //convertir f à c
		valeurInput = (valeurInput - 32) * (5/9)
		}
	else if(facteurInput == 3){ //convertir k à c
		valeurInput = valeurInput - 273.15
		}
		
	//convertir pour output
	if(facteurOutput == 1){	//convertir à c
		valeurOutput = valeurInput
		form.output.value = arrondir(valeurOutput)
		}
	else if(facteurOutput == 2){	//convertir à f
		valeurOutput = (valeurInput * (9/5)) + 32
		form.output.value = arrondir(valeurOutput)
		}
	else if(facteurOutput == 3){	//convertir à k
		valeurOutput = valeurInput + 273.15
		form.output.value = arrondir(valeurOutput)
		}
	}
	
function arrondir(val)
	{
	var valArrondi = val
	var indexDecimale = parseFloat(document.decimale.decimaleInput[document.decimale.decimaleInput.selectedIndex].value)
	var placeDecimale = Math.pow(10, indexDecimale)
	var pointDecimale = 0
	var nombreDecimale = 0
	var estDecimale = false
	
	valArrondi = Math.round(valArrondi * placeDecimale)/placeDecimale   //arrondir valeur
	valArrondi = valArrondi + ""   //to string
	
	for(var i = 0; i < valArrondi.length; i++){   
		var unCaract = valArrondi.charAt(i)
		if(unCaract == "."){		//extraire le text suivant le point décimale si c'est une fraction
		nombreDecimale = valArrondi.substring(i).length
		var estDecimale = true
		}
	}
	if(estDecimale == true){		//ajouter le bon nombre de zéros à une fraction
		nombreDecimale = indexDecimale - nombreDecimale		
		for(var i = 0; i <= nombreDecimale; i++){
			valArrondi = valArrondi + "0"
		}
	}	
	else{		//ajouter le bon nombre de zéros à un entier
		valArrondi += "."
		for(var i = 0; i < indexDecimale; i++){
		valArrondi += "0"
		}
	}
	return valArrondi
	}		
	
function effacer()
	{
	document.formlongueur.input.value=""
	document.formlongueur.output.value=""
	document.formsuperficie.input.value=""
	document.formsuperficie.output.value=""
	document.formvolume.input.value=""
	document.formvolume.output.value=""
	document.formmasse.input.value=""
	document.formmasse.output.value=""
	document.formtemp.input.value=""
	document.formtemp.output.value=""
	document.formcapacite.input.value=""
	document.formcapacite.output.value=""
	}