// JavaScript Document
//Funcion para saber sobre que sistema de medición va a calcular
//el usuario.
function tipoSistema(){
	var tipo_1=new Array("Metros","Yardas","Millas","Pie","Pulgadas");
	var tipo_2=new Array("Gramo","Kilogramo","Quintal","Tonelada");
	var tipo_3=new Array("Celsius","Fahrenheit","Kelvin");
	var tipo_4=new Array("Km/h","m/s","Milla/h","Pie/s");
	var sistema,nElem,i;
	sistema = document.mediciones.sistema[document.mediciones.sistema.selectedIndex].value;
	document.convMed.ksist.value = sistema;
	if(sistema != 0){
		//Habilitamos los controles del convertidor
		document.convMed.medicionDe.disabled = false;
		document.convMed.medicionA.disabled = false;
		document.convMed.valor.disabled = false;
		document.convMed.resultado.disabled = false;
		document.convMed.button.disabled = false;
		//********************************************
		tipo = eval("tipo_" + sistema);
		nElem = tipo.length;
		document.convMed.medicionDe.length = nElem;
		document.convMed.medicionA.length = nElem;
		for(i=0;i<nElem;i++){
			//Llenamos el combobox DE
			document.convMed.medicionDe.options[i].value = i;
			document.convMed.medicionDe.options[i].text = tipo[i];
			//Llenamos el combobox A
			document.convMed.medicionA.options[i].value = i;
			document.convMed.medicionA.options[i].text = tipo[i];
		}
	}else{
		document.convMed.medicionDe.disabled = true;
		document.convMed.medicionA.disabled = true;
		document.convMed.valor.disabled = true;
		document.convMed.resultado.disabled = true;
		document.convMed.button.disabled = true;
	}
	document.convMed.medicionDe.options[0].selected = true;
	document.convMed.medicionA.options[0].selected = true;	
}
function sumar(a,b){
	return(a+b);	
}
//Función para hacer los cálculos de cualquier sistema de medición
function convertirSistema(){
	var uni='',resultado,error,factor;
	var de = document.convMed.medicionDe.value;
	var a = document.convMed.medicionA.value;
	var sist = document.convMed.ksist.value;
	var valor = document.convMed.valor.value;
	
	//Arreglo para definir los valores de conversión de Longitud
	longitud = new Array();
	//El primer elemento para Metros
	longitud[0] = new Array(0,1.09,0.00062,3.28,39.37);
	//Este segundo para Yardas
	longitud[1] = new Array(0.91,0,0.000568,3,36);
	//Este tercero para Millas
	longitud[2] = new Array(1609,1760,0,5280,63400);
	//Este tercero para Pie
	longitud[3] = new Array(0.3048,0.333,0.00001889,0,12);
	//Este tercero para Pulgadas
	longitud[4] = new Array(0.0254,0.0278,0.0000158,0.0833,0);
	
	//Arreglo para definir los valores de conversión de Masa
	masa = new Array();
	//El primer elemento para GR
	masa[0] = new Array(0,0.001,0.00001,0.000001);
	//Este segundo para Kg
	masa[1] = new Array(1000,0,0.01,0.001);
	//Este tercero para Quintal
	masa[2] = new Array(100000,100,0,0.1);
	//Este tercero para Tonelada
	masa[3] = new Array(1000000,1000,10,0);
	
	//Arreglo para definir los valores de conversión de Temperatura
	temperatura = new Array();
	//El primer elemento para C
	temperatura[0] = new Array(0,33.8,274.15);
	//Este segundo para F
	temperatura[1] = new Array(17.22,0,255.927);
	//Este tercero para K
	temperatura[2] = new Array(-272.15,-457.87,0);
	
	//Arreglo para definir los valores de conversión de Velocidad
	velocidad = new Array();
	//El primer elemento para Km/s
	velocidad[0] = new Array(0,0.2779,0.621,0.911);
	//Este segundo para m/s
	velocidad[1] = new Array(3.6,0,2.24,3.28);
	//Este tercero para Milla/s
	velocidad[2] = new Array(1.61,0.447,0,1.47);
	//Este tercero para Pie/s
	velocidad[3] = new Array(1.1,0.305,0.682,0);
	
	switch(de){
		case '0': uni += de; break;
		case '1': uni += de; break;
		case '2': uni += de; break;
		case '3': uni += de; break;
		case '4': uni += de; break;
	}
	switch(a){
		case '0': uni += a; break;
		case '1': uni += a; break;
		case '2': uni += a; break;
		case '3': uni += a; break;
		case '4': uni += a; break;
	}
	//Switch para las operaciones de conversión
	switch(uni){
		case '01':
			if(sist == 1)
				resultado = valor * longitud[0][1];
			if(sist == 2)
				resultado = valor * masa[0][1];
			if(sist == 3){
				resultado = (valor * 1.8) + 32;
			}
			if(sist == 4)
				resultado = valor * velocidad[0][1];	
		break;
		case '02':
			if(sist == 1)
				resultado = valor * longitud[0][2];
			if(sist == 2)
				resultado = valor * masa[0][2];
			if(sist == 3){
				resultado = (valor * 1) + 273.15;
			}
			if(sist == 4)
				resultado = valor * velocidad[0][2];	
		break;
		case '03':
			if(sist == 1)
				resultado = valor * longitud[0][3];
			if(sist == 2)
				resultado = valor * masa[0][3];
			if(sist == 4)
				resultado = valor * velocidad[0][3];
		break;
		case '04': resultado = valor * longitud[0][4]; break;
		case '10':
			if(sist == 1)
				resultado = valor * longitud[1][0];
			if(sist == 2)
				resultado = valor * masa[1][0];
			if(sist == 3)
				resultado = (valor - 32) / 1.8;
			if(sist == 4)
				resultado = valor * velocidad[1][0];
		break;
		case '12':
			if(sist == 1)
				resultado = valor * longitud[1][2];
			if(sist == 2)
				resultado = valor * masa[1][2];
			if(sist == 3)
				resultado = ((valor * 1) + 459.67) / 1.8;
			if(sist == 4)
				resultado = valor * velocidad[1][2];
		break;
		case '13':
			if(sist == 1)
				resultado = valor * longitud[1][3];
			if(sist == 2)
				resultado = valor * masa[1][3];
			if(sist == 4)
				resultado = valor * velocidad[1][3];
		break;
		case '14': resultado = valor * longitud[1][4]; break;
		case '20':
			if(sist == 1)
				resultado = valor * longitud[2][0];
			if(sist == 2)
				resultado = valor * masa[2][0];
			if(sist == 3)
				resultado = valor - 273.15;
			if(sist == 4)
				resultado = valor * velocidad[2][0];
		break;
		case '21':
			if(sist == 1)
				resultado = valor * longitud[2][1];
			if(sist == 2)
				resultado = valor * masa[2][1];
			if(sist == 3)
				resultado = (valor * 1.8) - 459.67;
			if(sist == 4)
				resultado = valor * velocidad[2][1];
		break;
		case '23':
			if(sist == 1)
				resultado = valor * longitud[2][3];
			if(sist == 2)
				resultado = valor * masa[2][3];
			if(sist == 4)
				resultado = valor * velocidad[2][3];
		break;
		case '24': resultado = valor * longitud[2][4]; break;
		case '30':
			if(sist == 1)
				resultado = valor * longitud[3][0];
			if(sist == 2)
				resultado = valor * masa[3][0];
			if(sist == 4)
				resultado = valor * velocidad[3][0];
		break;
		case '31':
			if(sist == 1)
				resultado = valor * longitud[3][1];
			if(sist == 2)
				resultado = valor * masa[3][1];
			if(sist == 4)
				resultado = valor * velocidad[3][1];
		break;
		case '32':
			if(sist == 1)
				resultado = valor * longitud[3][2];
			if(sist == 2)
				resultado = valor * masa[3][2];
			if(sist == 4)
				resultado = valor * velocidad[3][2];
		break;
		case '34': resultado = valor * longitud[3][4]; break;
		case '40': resultado = valor * longitud[4][0];  break;
		case '41': resultado = valor * longitud[4][1]; break;
		case '42': resultado = valor * longitud[4][2]; break;
		case '43': resultado = valor * longitud[4][3]; break;
		default:
			alert('Debe convertir de una unidad a otra diferente');
			error = true;
		break;
	}
	if(!error)
		document.convMed.resultado.value = resultado;
}