var Conexion=false; // Variable que manipula la conexion.
var Servidor="procesos/um_autocomplete_loca.php"; // Determina la pagina donde buscar
var Palabra=""; //Determina la ultima palabra buscada.

var Conexion1=false; // Variable que manipula la conexion.
var Servidor1="procesos/um_autocomplete_per.php"; // Determina la pagina donde buscar
var Palabra1=""; //Determina la ultima Palabra1 buscada.

var Conexion2=false; // Variable que manipula la conexion.
var Servidor2="procesos/per_autocomplete2.php"; // Determina la pagina donde buscar
var Palabra2=""; //Determina la ultima Palabra2 buscada.
// funcion que realiza la conexion con el objeto XMLHTTP...
function getXMLHTTPRequest() {
var req;
try {
	req = new XMLHttpRequest();
} catch(err1) {
	try {
		req = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (err2) {
		try {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (err3) {
				req = false;
			}
		}
	}
	return req;
}
function Conectar()
{
	if(window.XMLHttpRequest)
		Conexion=new XMLHttpRequest(); //mozilla
	else if(window.ActiveXObject)
		Conexion=new ActiveXObject("Microsoft.XMLHTTP"); //microsoft
}

function Contenido(idContenido)
{
	/* readyState devuelve el estado de la conexion. puede valer:
	 *	0- No inicializado (Es el valor inicial de readyState)
	 *	1- Abierto (El método "open" ha tenido éxito)
	 *	2- Enviado (Se ha completado la solicitud pero ningun dato ha sido recibido todavía)
	 *	3- Recibiendo
	 *	4- Respuesta completa (Todos los datos han sido recibidos)
	 */

	// En espera del valor 4
	if(Conexion.readyState!=4) return;
	/* status: contiene un codigo enviado por el servidor
	 *	200-Completado con éxito
	 *	404-No se encontró URL
	 *	414-Los valores pasados por GET superan los 512
	 * statusText: contiene el texto del estado
	 */
	if(Conexion.status==200) // Si conexion HTTP es buena !!!
	{
		//si recibimos algun valor a mostrar...
		if(Conexion.responseText)
		{
			/* Modificamos el identificador temp con el valor recibido por la consulta
			*	Podemos recibir diferentes tipos de datos:
			*	responseText-Datos devueltos por el servidor en formato cadena
			*	responseXML-Datos devueltos por el servidor en forma de documento XML
			*/
			document.getElementById(idContenido).style.display="block";
			document.getElementById(idContenido).innerHTML=Conexion.responseText;
		}else
			document.getElementById(idContenido).style.display="none";
	}else{
		document.getElementById(idContenido).innerHTML=Conexion.status+"-"+Conexion.statusText;
	}

	// Deshabilitamos la visualización del reloj
	document.getElementById("reloj").style.visibility="hidden";

	Conexion=false;
}

function Solicitud(idContenido,Cadena)
{
	
	if(Cadena && Cadena!=Palabra)
	{
		// Si ya esta conectado, cancela la solicitud en espera de que termine
		if(Conexion) return; // Previene uso repetido del boton.
		
		// Realiza la conexion
		Conectar();
		
		// Si la conexion es correcta...
		if(Conexion)
		{
			// Habilitamos la visualización del reloj
			document.getElementById("reloj").style.visibility="visible";

			// Esta variable, se utiliza para igualar con la cadena a buscar.
			Palabra=Cadena;

			/* Preparamos una conexion con el servidor:
			*	POST|GET - determina como se envian los datos al servidor
			*	true - No sincronizado. Ello significa que la página WEB no es interferida en su funcionamiento
			*	por la respuesta del servidor. El usuario puede continuar usando la página mientras el servidor
			*	retorna una respuesta que la actualizará, usualmente, en forma parcial.
			*	false - Sincronizado */
			Conexion.open("POST",Servidor,true);

			// Añade un par etiqueta/valor a la cabecera HTTP a enviar. Si no lo colocamos, no se pasan los parametros.
			Conexion.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	
			// Cada vez que el estado de la conexión (readyState) cambie se ejecutara el contenido de esta "funcion()"
			Conexion.onreadystatechange=function()
			{
				Contenido(idContenido);
			}
			
			date=new Date();
			/* Realiza la solicitud al servidor. Puede enviar una cadena de caracteres, o un objeto del tipo XML
			 * Si no deseamos enviar ningun valor, enviariamos null */
			Conexion.send("idContenido="+idContenido+"&word="+Cadena+"&"+date.getTime());
		}else
			document.getElementById(idContenido).innerHTML="No disponible";
	}
}

// Funcion que inicia la busqueda.
// Tiene que recibir el identificador donde mostrar el listado, y la cadena a buscar
function autocompletar(idContenido,Cadena)
{
	// Comprovamos que la longitud de la cadena sea superior o igual a 1 caracteres
	if(Cadena.length>=1)
	{
		if(Conexion!=false)
		{
			// Deshabilitamos la visualización del reloj
			document.getElementById("reloj").style.visibility="hidden";
			//si esta en medio de una conexion, la cancelamos
			Conexion.abort();
			Conexion=false;
		}
		Solicitud(idContenido,Cadena);
	}else
		document.getElementById(idContenido).style.display="none";
}

// Funcion que se ejecuta cuando seleccionamos un valor del desplegable
function selectItem(idContenido,value1,value2,value3,value4,value5)
{
	// Cuando pulsamos sobre el desplegable, colocamos el valor en el cuadro de texto
	document.getElementById("cod_med").value=value1;
	document.getElementById("medicina").value=value2;		
	document.getElementById("um").value=value3;
	document.getElementById("stock").value=value4;
	document.getElementById("costo").value=value5;
	document.getElementById("cantidad").focus();
	//volvemos a indicar que actualice el listado con el nuevo valor
	autocompletar(idContenido,value2);
}
///********************************************************************************************************************************************************************

function enviarDatos(){
  //donde se mostrará lo resultados
  divResultado = document.getElementById('canasta');
  
  har=document.form1.harranq_dch.value;
  hai=document.form1.haire_dch.value;
  hti=document.form1.htierra_dch.value;
  hap=document.form1.hapaga_dch.value;  
  origen1=document.form1.origen.value; 
  destino1=document.form1.destino.value;
  vias1=document.form1.vias.value;
  obser1=document.form1.obser.value;  
  matricula1=document.form1.matricula.value;
  combustible1=Math.round(document.form1.combustible.value);
  facturable1=document.form1.facturable.value;
  programado1=document.form1.programado.value;
  fechasalida=document.form1.fechasalida.value;
  fechallegada=document.form1.fechallegada.value;
  hdes=document.form1.hdes.value;
  pax=document.form1.pax.value;
  carga=document.form1.carga.value;
  //stock_medi=Math.round(document.form1.stock.value);
  if(document.form1.origen.value=="0"){
	  alert("No Ingreso el origen");
	  document.form1.origen.focus();
	  return;
  }else if(document.form1.destino.value=="0"){
	  alert("No Ingreso destino");
	  document.form1.destino.focus();
	  return;
  }else if(document.form1.fechasalida.value==""){
	  alert("No Ingreso la fecha de salida");
	  document.form1.fechasalida.focus();
	  return;
  }else if(document.form1.fechallegada.value==""){
	  alert("No Ingreso la fecha de llegada");
	  document.form1.fechallegada.focus();
	  return;
  }else if(document.form1.combustible.value=="0" || document.form1.combustible.value==""){
	  alert("No Ingreso el combustible");
	  document.form1.combustible.focus();
	  return;
  }else if(isNaN(parseFloat(combustible1))){alert('El Valor que Introducio en combustible no es Numerico'); document.form1.combustible.focus(); document.form1.combustible.select();return; 
  }else{
	  	//contar caracteres if (field.value.length > maxlimit)
		  //instanciamos el objetoAjax
		  ajax=getXMLHTTPRequest();
		  //uso del medoto POST
		  //archivo que realizará la operacion  
		  ajax.open("POST","procesos/p_ruta_detalle_enviar.php",true);
		  ajax.onreadystatechange=function() {
		  if (ajax.readyState==4) {
		  //mostrar resultados en esta capa
		  divResultado.innerHTML = ajax.responseText
		  //llamar a funcion para limpiar los inputs    
		  LimpiarCampos();
		  }
		  }
		  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		  //enviando los valores
		  ajax.send("harranq_dch="+har+"&haire_dch="+hai+"&htierra_dch="+hti+"&hapaga_dch="+hap+"&origen="+origen1+"&destino="+destino1+"&obser="+obser1+"&matricula="+matricula1+"&vias="+vias1+"&combustible="+combustible1+"&facturable="+facturable1+"&programado="+programado1+"&fechasalida="+fechasalida+"&fechallegada="+fechallegada+"&hdes="+hdes+"&pax="+pax+"&carga="+carga)
		
  }
}
function LimpiarCampos(){
  document.form1.harranq_dch.value="00:00";
  document.form1.hapaga_dch.value="00:00";
  document.form1.haire_dch.value="00:00";
  document.form1.htierra_dch.value="00:00";
  document.form1.hdes.value="00:00";
  document.form1.combustible.value="0.00";  
  document.form1.obser.value="";
  document.form1.origen.value=document.form1.destino.value;
  document.form1.destino.value=document.form1.destino.value;  
  document.form1.destino.focus();
  }
function LimpiarCampoImport(){
  
  document.form1.file.value="";    
  document.form1.file.focus();
  }
function ImportarDatos(){
  //donde se mostrará lo resultados
  divResultado = document.getElementById('canasta');
  
  file=document.form1.file.value; 
  vias1=document.form1.vias.value;
  matricula1=document.form1.matricula.value;
  if(document.form1.file.value==""){
	  alert("No Ingreso el archivo a importar");
	  document.form1.file.focus();
	  return;  
  }else{
	  	//contar caracteres if (field.value.length > maxlimit)
		  //instanciamos el objetoAjax
		  ajax=getXMLHTTPRequest();
		  //uso del medoto POST
		  //archivo que realizará la operacion  
		  ajax.open("POST","procesos/p_importar_ruta.php",true);
		  ajax.onreadystatechange=function() {
		  if (ajax.readyState==4) {
		  //mostrar resultados en esta capa
		  divResultado.innerHTML = ajax.responseText
		  //llamar a funcion para limpiar los inputs
		  LimpiarCampoImport();
		  }
		  }
		  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		  //enviando los valores
		  ajax.send("file="+file+"&vias="+vias1+"&matricula="+matricula1)
		
  }
}
function DatosDeleteItem(clave){
	
  //donde se mostrará lo resultados
  divResultado = document.getElementById('canasta');  
  //instanciamos el objetoAjax
  ajax=getXMLHTTPRequest();
  //uso del medoto POST
  //archivo que realizará la operacion  
  ajax.open("POST","procesos/p_borraritem_rutas.php?clave="+clave,true);
  ajax.onreadystatechange=function() {
  if (ajax.readyState==4) {
  //mostrar resultados en esta capa
  divResultado.innerHTML = ajax.responseText
  //llamar a funcion para limpiar los inputs      
  }
  }
  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  //enviando los valores
  ajax.send(null)
}
function DatosDeleteItemViaje(clave,via){
	
  //donde se mostrará lo resultados
  divResultado = document.getElementById('canasta');  
  //instanciamos el objetoAjax
  ajax=getXMLHTTPRequest();
  //uso del medoto POST
  //archivo que realizará la operacion  
  ajax.open("POST","procesos/p_borraritem_rutas.php?clave="+clave+"&via="+via,true);
  ajax.onreadystatechange=function() {
  if (ajax.readyState==4) {
  //mostrar resultados en esta capa
  divResultado.innerHTML = ajax.responseText
  //llamar a funcion para limpiar los inputs      
  }
  }
  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  //enviando los valores
  ajax.send(null)
}
//********************************************************************************************************************************************
function enviarDatosGrabar(){
  //donde se mostrará lo resultados
  divResultado = document.getElementById('lugar_grabar1');
  
  cod_ruta=document.form1.cod_ruta.value;
  via=document.form1.via.value;
  matricula=document.form1.matricula.value;
  fecha_ruta=document.form1.fecha_ruta.value; 
  nv=document.form1.nv.value;
  if(document.form1.via.value=='F'){
  testimado_ruta=document.form1.testimado_ruta.value;
  }else{
  testimado_ruta='0000-00-00';  
  }
  /*combustible=document.form1.combustible.value;
  facturable=document.form1.facturable.value;*/
  valor_ruta=document.form1.valor_ruta.value;
  numeroingre1=parseInt(document.form1.numeroingre.value);
  correo=document.form1.correo.value;
  
  //stock_medi=Math.round(document.form1.stock.value);
  if(document.form1.fecha_ruta.value==""){
	  alert("No Ingreso la fecha de salida");
	  document.form1.fecha_ruta.focus();
	  return;  
  }else if(numeroingre1 < 1){
		alert("No ingreso un viaje");
		form1.origen.focus();
		return;	
  }else{
	  	//contar caracteres if (field.value.length > maxlimit)
		  //instanciamos el objetoAjax
		  ajax=getXMLHTTPRequest();
		  //uso del medoto POST
		  //archivo que realizará la operacion  
		  ajax.open("POST","procesos/p_rutas_grabarcon_detalle.php",true);
		  ajax.onreadystatechange=function() {
		  if (ajax.readyState==4) {
		  //mostrar resultados en esta capa
		  divResultado.innerHTML = ajax.responseText
		  //llamar a funcion para limpiar los inputs    
		  //LimpiarCampos();
		  document.form1.boton_man.disabled = false;
		  document.form1.boton_nuevo.disabled = false;
		  document.form1.boton_salir.disabled = false;
		  document.form1.boton_grabar.disabled = true;
		  document.form1.boton_agregar.disabled = true;
		  }
		  }
		  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		  //enviando los valores
		  ajax.send("cod_ruta="+cod_ruta+"&via="+via+"&matricula="+matricula+"&fecha_ruta="+fecha_ruta+"&testimado_ruta="+testimado_ruta+"&valor_ruta="+valor_ruta+"&correo="+correo+"&nv="+nv)
		
  }
}
//******************************************************************************************************************************************************
