
/*function ajaxobj() {
	try {
		_ajaxobj = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			_ajaxobj = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			_ajaxobj = false;
		}
	}
   
	if (!_ajaxobj && typeof XMLHttpRequest!='undefined') {
		_ajaxobj = new XMLHttpRequest();
	}
	
	return _ajaxobj;
}
*/
function ajaxobj(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}


  function buscar_listado(){
	var fill = document.getElementById('div_error');  
	  //funcion para lista_inscritos.php
	  if ( document.frm_lista.nombre.value=='' || document.frm_lista.nombre.value=='...'){
		fill.innerHTML = 'Debe ingresar la informaci&oacute;n a Buscar';
		fill.style.visibility="visible";
	  } else {
    	document.frm_lista.accion.value='buscar';
	  	document.frm_lista.submit();
	  }
  }
function agrega_categoria(){
var fill = document.getElementById('div_cat_agre3');
var ncat = Trim(document.getElementById('ncat').value);
var desde = document.getElementById('desde').value;
var hasta = document.getElementById('hasta').value;
var esp = document.getElementById('cat_esp');
fill.style.display="none";
var msj='';
//validacion
if (!ncat) {
	msj='Debe ingresar un nombre para la categoria.<br>';
	}
if (!desde) {
	msj+='Debe ingresar un valor DESDE para la categoria.<br>';
	} else  { 
		if (!Number(desde)){
				msj+='El valor DESDE debe ser numerico.<br>';
			}
	}
if (!hasta) {
	msj+='Debe ingresar un valor HASTA para la categoria.<br>';
	} else  { 
		if (!Number(hasta)){
				msj+='El valor HASTA debe ser numerico.<br>';
			}
	}
if (Number(desde) && Number(hasta) ){
	if (Number(desde) > Number(hasta) ){	
	msj+='El valor DESDE debe ser menor al valor Hasta.<br>';
	}
}
	//distancia o modalidad
	var evento_por = document.getElementById('evpor').value;
	if (evento_por=='distancia'){
		if (esp.checked) {
			var modalidad = 2;
			var nmodalidad = 'Especial';
	
		} else {
			var modalidad = 1;
			var nmodalidad = 'General';
			}
		var distancias= document.getElementById('distancia').value;
		if (!distancias) {
			msj+='Debe ingresar Distancias para la categoria.<br>';
		}
	
	}else {
		var modalidad = document.getElementById('id_nmodalidad').value;
		var nmodalidad = document.getElementById('nmodalidad').value;
		var distancias= '';
		if (!modalidad) {
			modalidad = 0;
		}

		
	}

	

if (msj==''){
	var id_form = document.getElementById('id_form').value;
	var nform = Trim(document.getElementById('fnombre').value);
	var cliente = document.getElementById('fclientes').value; 
//alert("../ajax/agrega_categoria.php?id_form="+id_form+"&nform="+nform+"&cliente="+cliente+"&modalidad="+modalidad+"&nmodalidad="+nmodalidad+"&distancias="+distancias+"&ncat="+ncat+"&desde="+desde+"&hasta="+hasta);
	ajax = ajaxobj();
	ajax.open("GET", "../ajax/agrega_categoria.php?id_form="+id_form+"&nform="+nform+"&cliente="+cliente+"&modalidad="+modalidad+"&nmodalidad="+nmodalidad+"&distancias="+distancias+"&ncat="+ncat+"&desde="+desde+"&hasta="+hasta, true);
	
	ajax.onreadystatechange=function() {
	if (ajax.readyState==4) {
		fill.innerHTML = ajax.responseText;
		fill.style.display="block";		
		}
	}
	ajax.send(null);
	
} else { // si nhai error
	fill.innerHTML = msj;
	fill.style.display="block";

}
}  
function edit_carga_categorias (id_form,mod,ano) {
	var fill = document.getElementById('categoria_div');
if (mod!=''){	

	ajax = ajaxobj();
	var distancia = document.getElementById('sw_distancia').value;
	if(distancia=='SI'){
	var vdistancia = document.getElementById('v_distancia').value;
	}else {
			var vdistancia = '';
		}
	var dia = document.getElementById('dia').value;
	var mes = document.getElementById('mes').value;
//	alert("../ajax/categorias_form.php?id_form="+id_form+"&mod="+mod+"&ano="+ano+"&distancia="+distancia+"&dia="+dia+"&mes="+mes);
	ajax.open("GET", "../ajax/edit_categorias_form.php?id_form="+id_form+"&mod="+mod+"&ano="+ano+"&distancia="+distancia+"&dia="+dia+"&mes="+mes+"&v_distancia="+vdistancia, true);
	ajax.onreadystatechange=function() {
	if (ajax.readyState==4) {
		fill.innerHTML = ajax.responseText;
		}
	}
	ajax.send(null);
} else {
	fill.innerHTML = '';
	}

}

function guarda_info_extra () {
	var fill = document.getElementById('cont_extra');
	document.getElementById('div_espere').style.display="inline";
	//datos
	var id_par = document.getElementById('id_par').value;
	var nro = document.getElementById('nro_comp_f').value;
	var lugarG = document.getElementById('LugarG').value;
	var lugarC = document.getElementById('LugarC').value;
	var tiemponat = document.getElementById('tiemponat').value;
	var tiempocicli = document.getElementById('tiempocicli').value;	
	var tiempotrote = document.getElementById('tiempotrote').value;	
	var tiempofinal = document.getElementById('tiempofinal').value;	
	
alert("../ajax/categorias_form.php?id_par="+id_par+"&nro="+nro+"&lugarG="+lugarG+"&lugarC="+lugarC+"&tiemponat="+tiemponat+"&tiempocicli="+tiempocicli+"&tiempotrote="+tiempotrote+"&tiempofinal="+tiempofinal);
//	ajax = ajaxobj();
//	ajax.open("GET", "../ajax/categorias_form.php?id_form="+id_form+"&mod="+mod+"&ano="+ano+"&distancia="+distancia+"&dia="+dia+"&mes="+mes+"&v_distancia="+vdistancia, true);
	ajax.onreadystatechange=function() {
	if (ajax.readyState==4) {
		fill.innerHTML = ajax.responseText;
		}
	}
	ajax.send(null);
   document.getElementById('div_espere').style.display="none";
}
function carga_formulario_mant(id_form) {

	ajax = ajaxobj();
	ajax.open("GET", "../ajax/formulario_mant.php?id_form="+id_form, true);
	ajax.onreadystatechange=function() {
	if (ajax.readyState==4) {
		document.getElementById('div_formulario_mant').innerHTML = ajax.responseText;
		document.getElementById('div_agre_cat').style.display="none";		  
		document.getElementById('div_cat_agre2').style.display="none";		  

		}
	}
	ajax.send(null);
}
function carga_categorias_mant() {
	var nombre = document.getElementById('fnombre').value;
	var cliente = document.getElementById('fclientes').value;
	var evento_por = document.getElementById('evpor').value;
	var id_form = document.getElementById('formularios').value;

var msj='';
	if (!nombre){
		msj='&middot; Debe ingresar un nombre para el formulario<br>';
		}
	if (!evento_por){
		msj+='&middot; Debe seleccionar si es por Distancias o Modalidades<br>';
		}
	if (cliente==0){
		msj+='&middot; Debe seleccionar un cliente<br>';
		}
		
	if (evento_por=='distancia'){
		if (document.getElementById('distancia').value==''){
			msj+='&middot; Debe indicar las Distancias que tendra el formulario<br>';
		}
     }
	if (evento_por=='modalidad'){
		if (document.getElementById('nmodalidad').value==''){
			msj+='&middot; Debe indicar una modalidad para agregar categorias<br>';
		}
     }
if (msj==''){	 
  document.getElementById('div_error').style.display="none";	
  
  var mod = document.getElementById('id_nmodalidad').value;
	  if (!mod){
	  mod=0;
	  }

	ajax = ajaxobj();
	ajax.open("GET", "../ajax/categorias_mant.php?tipo="+evento_por+"&mod="+mod+"&id_form="+id_form, true);
	ajax.onreadystatechange=function() {
	if (ajax.readyState==4) {
		document.getElementById('div_cat_agre2').innerHTML = ajax.responseText;
		document.getElementById('div_agre_cat').style.display="block";		  
		document.getElementById('div_cat_agre2').style.display="block";		  
		document.getElementById('fclientes').disabled= "disabled";
		document.getElementById('div_cat_agre3').style.display="none";		  
		}
	}
	ajax.send(null);

  
} else {
  document.getElementById('div_error').innerHTML = msj;	
  document.getElementById('div_error').style.display="block";	
}

}

function carga_categorias (id_form,mod,ano) {
	var fill = document.getElementById('categoria_div');
	var id_evento = document.getElementById('id_evento').value;
if (mod!=''){	

	ajax = ajaxobj();
	var distancia = document.getElementById('sw_distancia').value;
	if(distancia=='SI'){
	var vdistancia = document.getElementById('v_distancia').value;
	}else {
			var vdistancia = '';
		}
	var dia = document.getElementById('dia').value;
	var mes = document.getElementById('mes').value;
//	alert("../ajax/categorias_form.php?id_form="+id_form+"&mod="+mod+"&ano="+ano+"&distancia="+distancia+"&dia="+dia+"&mes="+mes);
	ajax.open("GET", "../ajax/categorias_form2.php?id_form="+id_form+"&mod="+mod+"&ano="+ano+"&distancia="+distancia+"&dia="+dia+"&mes="+mes+"&v_distancia="+vdistancia+"&id_evento="+ id_evento, true);
	ajax.onreadystatechange=function() {
	if (ajax.readyState==4) {
		fill.innerHTML = ajax.responseText;
		}
	}
	ajax.send(null);
} else {
	fill.innerHTML = '';
	}

}

function enviarFormulario(){
		var fill = document.getElementById('div_form');
		var fill_msj = document.getElementById('div_respuesta');
	    fill_msj.innerHTML = '<div id="div_info">Enviando Datos...</div>';
	
         var Formulario = document.getElementById('frm_ing');
		 //var polera = document.getElementById('poleraid');
         var longitudFormulario = Formulario.elements.length;
         var cadenaFormulario = "";
         var sepCampos;
         sepCampos = "";
         for (var i=0; i <= Formulario.elements.length-1;i++) {
         cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
         sepCampos="&";
		}
		
		//cadenaFormulario += sepCampos+polera.name+'='+encodeURI(polera.value);
		//sepCampos="&";
		
		//window.alert(cadenaFormulario);
		//window.alert(polera.value);
		
		ajax = ajaxobj();
		//ajax.open("POST", "../ajax/genera_inscripcion3.php?polera_id="+ polera.value, true);
		ajax.open("POST", "../ajax/genera_inscripcion3.php", true);

  ajax.onreadystatechange = function () {
  if (ajax.readyState == 4) {
	 if (ajax.responseText.substring(0,20) == '<div id="div_error">') {
		  fill_msj.innerHTML = ajax.responseText;
		 } else {
		     fill.innerHTML = ajax.responseText;
				 }
		} 
	}
    ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
	ajax.send(cadenaFormulario);

}
function edit_enviarFormulario(){
		var fill = document.getElementById('div_form');
		var fill_msj = document.getElementById('div_respuesta');
	    fill_msj.innerHTML = '<div id="div_info">Enviando Datos...</div>';
	
         var Formulario = document.getElementById('frm_ing');
		 
         var longitudFormulario = Formulario.elements.length;
         var cadenaFormulario = "";
         var sepCampos;
         sepCampos = "";
         for (var i=0; i <= Formulario.elements.length-1;i++) 
		{
         cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
         sepCampos="&";
		}		
		ajax = ajaxobj();
		ajax.open("POST", "../ajax/edit_genera_inscripcion.php", true);

  ajax.onreadystatechange = function () {
  if (ajax.readyState == 4) {
	 if (ajax.responseText.substring(0,20) == '<div id="div_error">') {
		  fill_msj.innerHTML = ajax.responseText;
		 } else {
		     fill.innerHTML = ajax.responseText;
				 }
		} 
	}
    ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
	ajax.send(cadenaFormulario);

}

function getRadioButtonSelectedValue(ctrl)
{
    for(i=0;i<ctrl.length;i++)
        if(ctrl[i].checked) return ctrl[i].value;
}
function valida_rut(rut,dv,id_evento){ 
		var fill = document.getElementById('div_form');
	//alert(document.getElementById('val_op').value);
	if (document.getElementById('val_op').value=='extranjera'){
			  document.frm_rut.action='inscripcion3.php';
			document.frm_rut.submit();
	}

  ajax = ajaxobj();
  //alert("../ajax/valida_rut.php?rut="+rut+"&dv="+dv+"&id="+id_evento);
//  ajax.open("POST", "http://www.meta-ad.cl/eventos/ajax/valida_rut.php?rut="+rut+"&dv="+dv+"&id="+id_evento, true);
  ajax.open("POST", "../ajax/valida_rut.php?rut="+rut+"&dv="+dv+"&id="+id_evento, true);
//  ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// ajax.setRequestHeader("Content-length", parameters.length);
  

  ajax.onreadystatechange = function () {
  if (ajax.readyState == 4) {
	 if (ajax.responseText.substring(0,19) == '<div id="div_info">') {
	     fill.innerHTML = ajax.responseText;
		  document.frm_rut.action='inscripcion3.php';
			document.frm_rut.submit();

		 } else {
		     fill.innerHTML = ajax.responseText;
				 }
		} 
	}
	ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	ajax.send("../ajax/valida_rut.php?rut="+rut+"&dv="+dv+"&id="+id_evento);

}
function valida_rut_consulta(rut,dv,id_evento){ 
		var fill = document.getElementById('div_form');
	
  ajax = ajaxobj();
  ajax.open("POST", "../ajax/valida_rut_consulta.php?rut="+rut+"&dv="+dv+"&id="+id_evento, true);

  ajax.onreadystatechange = function () {
  if (ajax.readyState == 4) {
		     fill.innerHTML = ajax.responseText;
		} 
	}
	ajax.send(null);

}

function cambia_provincia(){ 
    //tomo el valor del select del pais elegido 
    var region; 
    region = document.frm_ing.region[document.frm_ing.region.selectedIndex].value ;
    //miro a ver si el pais está definido 
    if (region != 0) { 
       //si estaba definido, entonces coloco las opciones de la provincia correspondiente. 
       //selecciono el array de provincia adecuado 
       mis_provincias=eval("provincias_" + region) ;
       //calculo el numero de provincias 
       num_provincias = mis_provincias.length ;
       //marco el número de provincias en el select 
       document.frm_ing.comuna.length = num_provincias ;
       //para cada provincia del array, la introduzco en el select 
       for(i=0;i<num_provincias;i++){ 
          document.frm_ing.comuna.options[i].value=mis_provincias[i] ;
          document.frm_ing.comuna.options[i].text=mis_provincias[i] ;
       } 
    }else{ 
       //si no había provincia seleccionada, elimino las provincias del select 
       document.frm_ing.comuna.length = 1 ;
       //coloco un guión en la única opción que he dejado 
       document.frm_ing.comuna.options[0].value = "-" ;
       document.frm_ing.comuna.options[0].text = "-" ;
    } 
    //marco como seleccionada la opción primera de provincia 
    document.frm_ing.comuna.options[0].selected = true ;
} 
/////////////////////////////////////////////////////////////
///////////// cagar de listas //////////////////////////////
/// paises ///

var IE = navigator.appName.toLowerCase().indexOf("microsoft") > -1;
	var Mozilla = navigator.appName.toLowerCase().indexOf("netscape") > -1;

	var textoAnt = "";
	var posicionListaFilling = 0;

	var datos = new Array();
	var datosc = new Array();
	
	function cargaLista(evt, obj, txt) {
		ajax = ajaxobj(); 
		ajax.open("GET", "../ajax/paises.php?texto="+txt, true);

		ajax.onreadystatechange=function() {
			if (ajax.readyState==4) {
				var datos = ajax.responseXML;
				var paises = datos.getElementsByTagName("pais");
				
				var listaPaises = new Array();
				if (paises) {
					for (var i=0; i<paises.length; i++) {
						listaPaises[listaPaises.length] = paises[i].firstChild.data;
					}
				}
				escribeLista(obj, listaPaises);
			}
		}
		ajax.send(null);
	}
	//Carga Colegios
	function cargaLista_colegio(evt, obj, txt) {
		ajax = ajaxobj(); 
		ajax.open("GET", "../ajax/colegio.php?texto="+txt, true);

		ajax.onreadystatechange=function() {
			if (ajax.readyState==4) {
				var datos_c = ajax.responseXML;
				var paises = datosc.getElementsById('colegio');
				
				var listaPaises = new Array();
				if (paises) {
					for (var i=0; i<paises.length; i++) {
						listaPaises[listaPaises.length] = paises[i].firstChild.data;
					}
				}
				escribeLista(obj, listaPaises);
			}
		}
		ajax.send(null);
	}
	
	function escribeLista(obj, lista) {
		var html = "";
		var fill = document.getElementById('lista');

		if (lista.length == 0) {
			// Si la lista es vacia no la mostramos
			fill.style.display = "none";
		} else {
			// Creamos una tabla con 
			// todos los elementos encontrados
			fill.style.display = "block";
			var html='<table cellspacing="0" '+
				'cellpadding="0" border="0" width="100%">';
			for (var i=0; i<lista.length; i++) {
				html += '<tr id="tr'+obj.id+i+
					'" '+(posicionListaFilling == i? 
						' class="fill" ': '')+
					' onmouseover="seleccionaFilling(\'tr'+
					obj.id+'\', '+i+
					')" onmousedown="seleccionaTextoFilling(\'tr'+
					obj.id+'\', '+i+')">';
				html += '<td>'+lista[i]+'</td></tr>';
			}
			html += '</table>';
		}

		// Escribimos la lista
		fill.innerHTML = html;
	}

	// Muestra las coincidencias en la lista
	function inputFilling(evt, obj) {
		var fill = document.getElementById('lista');

		var elems = datos;
		
		var tecla = "";
		var lista = new Array();
		var res = obj.value;
		var borrar = false;
		
		// Almaceno la tecla pulsada
		if (!IE) {
		  tecla = evt.which;
		} else {
		  tecla = evt.keyCode;
		}
		
		var texto;
		// Si la tecla que pulso es una
		// letra o un espacio, o el intro
		// o la tecla borrar, almaceno lo 
		// que debo buscar
		if (!String.fromCharCode(tecla).match(/(\w|\s)/) && 
				tecla != 8 && 
				tecla != 13) {
			texto = textoAnt;
		} else {
			texto = obj.value;
		}
		
		textoAnt = texto;
		// Si el texto es distinto de vacio
		// o se pulsa ARRIBA o ABAJO
		// hago llamada AJAX para que 
		// me devuelva la lista de palabras
		// que coinciden con lo que hay
		// escrito en la caja
		if ((texto != null && texto != "") 
			|| (tecla == 40 || tecla == 38)) {
			cargaLista(evt, obj, texto);
		}
		
		
		// Según la letra que se pulse
		if (tecla == 37) { // Izquierda
			// No hago nada
		} else if (tecla == 38) { // Arriba
			// Subo la posicion en la
			// lista desplegable una posición
		//	if (posicionListaFilling > 0) {
			//	posicionListaFilling--;
//			}
			// Corrijo la posición del scroll
	//		fill.scrollTop = posicionListaFilling*14;
		} else if (tecla == 39) { // Derecha
			// No hago nada
		} else if (tecla == 40) { // Abajo
			if (obj.value != "") {
				// Si no es la última palabra
				// de la lista
				if (posicionListaFilling < lista.length-1) { 
					// Corrijo el scroll
					fill.scrollTop = posicionListaFilling*14;
					// Bajo la posición de la lista
					posicionListaFilling++;
				} 
			}
		} else if (tecla == 8) { // Borrar <-
			// Se sube la lista del todo
			posicionListaFilling = 0;
			// Se permite borrar
			borrar = true;
		} else if (tecla == 13) { // Intro
			// Deseleccionamos el texto
			if (obj.createTextRange) {
				var r = obj.createTextRange();
				r.moveStart("character", 
					obj.value.length+1);
				r.moveEnd("character", 
					obj.value.length+1);
				r.select();
			} else if (obj.setSelectionRange) {
				obj.setSelectionRange(
					obj.value.length+1, 
					obj.value.length+1);
			}
			// Ocultamos la lista
			fill.style.display = "none";
			// Ponemos el puntero de 
			// la lista arriba del todo
			posicionListaFilling = 0;
			// Controlamos el scroll
			fill.scrollTop = 0;
			return true;
		} else {
			// En otro caso que siga
			// escribiendo
			posicionListaFilling = 0;
			fill.scrollTop = 0;
		}	
		
		// Si no se ha borrado
		if (!borrar) {
			if (lista.length != 0) {
				// Seleccionamos la parte del texto
				// que corresponde a lo que aparece
				// en la primera posición de la lista
				// menos el texto que realmente hemos
				// escrito
				obj.value = lista[posicionListaFilling];
				if (obj.createTextRange) {
					var r = obj.createTextRange();
					r.moveStart("character", 
						texto.length);
					r.moveEnd("character", 
						lista[posicionListaFilling].length);
					r.select();
				} else if (obj.setSelectionRange) {
					obj.setSelectionRange(
						texto.length, 
						lista[posicionListaFilling].length);
				}
			}
		}
		return true;
	}
	
	
	//Coincidencias COLEGIOS
	// Muestra las coincidencias en la lista
	function inputFilling_colegio(evt, obj) {
		var fill = document.getElementById('lista_colegio');

		var elems = datosc;
		
		var tecla = "";
		var lista = new Array();
		var res = obj.value;
		var borrar = false;
		
		// Almaceno la tecla pulsada
		if (!IE) {
		  tecla = evt.which;
		} else {
		  tecla = evt.keyCode;
		}
		
		var texto;
		// Si la tecla que pulso es una
		// letra o un espacio, o el intro
		// o la tecla borrar, almaceno lo 
		// que debo buscar
		if (!String.fromCharCode(tecla).match(/(\w|\s)/) && 
				tecla != 8 && 
				tecla != 13) {
			texto = textoAnt;
		} else {
			texto = obj.value;
		}
		
		textoAnt = texto;
		// Si el texto es distinto de vacio
		// o se pulsa ARRIBA o ABAJO
		// hago llamada AJAX para que 
		// me devuelva la lista de palabras
		// que coinciden con lo que hay
		// escrito en la caja
		if ((texto != null && texto != "") 
			|| (tecla == 40 || tecla == 38)) {
			cargaLista_colegio(evt, obj, texto);
		}
		
		
		// Según la letra que se pulse
		if (tecla == 37) { // Izquierda
			// No hago nada
		} else if (tecla == 38) { // Arriba
			// Subo la posicion en la
			// lista desplegable una posición
		//	if (posicionListaFilling > 0) {
			//	posicionListaFilling--;
//			}
			// Corrijo la posición del scroll
	//		fill.scrollTop = posicionListaFilling*14;
		} else if (tecla == 39) { // Derecha
			// No hago nada
		} else if (tecla == 40) { // Abajo
			if (obj.value != "") {
				// Si no es la última palabra
				// de la lista
				if (posicionListaFilling < lista.length-1) { 
					// Corrijo el scroll
					fill.scrollTop = posicionListaFilling*14;
					// Bajo la posición de la lista
					posicionListaFilling++;
				} 
			}
		} else if (tecla == 8) { // Borrar <-
			// Se sube la lista del todo
			posicionListaFilling = 0;
			// Se permite borrar
			borrar = true;
		} else if (tecla == 13) { // Intro
			// Deseleccionamos el texto
			if (obj.createTextRange) {
				var r = obj.createTextRange();
				r.moveStart("character", 
					obj.value.length+1);
				r.moveEnd("character", 
					obj.value.length+1);
				r.select();
			} else if (obj.setSelectionRange) {
				obj.setSelectionRange(
					obj.value.length+1, 
					obj.value.length+1);
			}
			// Ocultamos la lista
			fill.style.display = "none";
			// Ponemos el puntero de 
			// la lista arriba del todo
			posicionListaFilling = 0;
			// Controlamos el scroll
			fill.scrollTop = 0;
			return true;
		} else {
			// En otro caso que siga
			// escribiendo
			posicionListaFilling = 0;
			fill.scrollTop = 0;
		}	
		
		// Si no se ha borrado
		if (!borrar) {
			if (lista.length != 0) {
				// Seleccionamos la parte del texto
				// que corresponde a lo que aparece
				// en la primera posición de la lista
				// menos el texto que realmente hemos
				// escrito
				obj.value = lista[posicionListaFilling];
				if (obj.createTextRange) {
					var r = obj.createTextRange();
					r.moveStart("character", 
						texto.length);
					r.moveEnd("character", 
						lista[posicionListaFilling].length);
					r.select();
				} else if (obj.setSelectionRange) {
					obj.setSelectionRange(
						texto.length, 
						lista[posicionListaFilling].length);
				}
			}
		}
		return true;
	}
  
  
	// Introduce el texto seleccionado
	function setInput(obj, fill) {
		obj.value = textoAnt;
		fill.style.display = "none";
		posicionListaFilling = 0;
	}

  
	// Cambia el estilo de
	// la palabra seleccionada
	// de la lista
	function seleccionaFilling(id, n) {
		document.getElementById(id + 
			n).className = "fill";
		document.getElementById(id + 
			posicionListaFilling).className = "";  	
		posicionListaFilling = n;
	}
  
	// Pasa el texto del filling a la caja
	function seleccionaTextoFilling (id, n) {
		textoAnt = document.getElementById(id + 
			n).firstChild.innerHTML;
		posicionListaFilling = 0;
	}
  	
 
	// Cambia la imagen cuando se pone 
	// encima el raton (nombre.ext 
	// por _nombre.ext)
	function cambiarImagen(obj, ok) {
		var marcada = obj.src.indexOf("/_") > 0;
		
		if (ok) {
			if (!marcada) {
			  var ruta = obj.src.substring(
				0, 
				obj.src.lastIndexOf("/")+1)+
				"_"+obj.src.substring(
					obj.src.lastIndexOf("/")+1);
			  obj.src = ruta;
			}
		} else {
			if (marcada) {
				var ruta = ""+obj.src.substring(
					0, obj.src.lastIndexOf("_"))+
					obj.src.substring(
						obj.src.lastIndexOf("/")+2);
				obj.src = ruta;
			}
		}
	
	}
	/////////////////////////////////////////////////////

//
//-----------------------------------------------------------------------------
// Funciones de conversión entre VBScript y JavaScript				(15/Mar/99)
//
// (c)Guillermo 'guille' Som, 1999
//
//-----------------------------------------------------------------------------
// Las funciones son:
//		Left, Right, Mid, LTrim, RTrim, Trim, InStr, RInStr, Space, 
//		jString (esta se llamará así, ya que String es una palabra reservada)
//		UCase, LCase, Len, 
// Otras funciones adicionales:
//		StrReverse
// Constantes:
//		vbCrLf, vbCr, vbLf, vbTab, 
//
//-----------------------------------------------------------------------------
// Códigos escape:
//
// \b = Backspace
// \f = Form feed
// \n = Line feed
// \r = Carriage return
// \t = Horizontal tab
//-----------------------------------------------------------------------------
// 
// Nota: 
// Para que todo funcione bien, hay que respetar el estado de las instrucciones
// es decir: cuidado con las mayúsculas/minúsculas.
//
//-----------------------------------------------------------------------------
//

//
//-----------------------------------------------------------------------------
// Constantes
var vbCr = "\r";
var vbLf = "\n";
var vbCrLf = vbCr+vbLf;
var vbTab = "\t";

function Left(s, n){
	// Devuelve los n primeros caracteres de la cadena
	if(n>s.length)
		n=s.length;
		
	return s.substring(0, n);
}
function Right(s, n){
	// Devuelve los n últimos caracteres de la cadena
	var t=s.length;
	if(n>t)
		n=t;
		
	return s.substring(t-n, t);
}
function Mid(s, n, c){
	// Devuelve una cadena desde la posición n, con c caracteres
	// Si c = 0 devolver toda la cadena desde la posición n
	
	var numargs=Mid.arguments.length;
	
	// Si sólo se pasan los dos primeros argumentos
	if(numargs<3)
		c=s.length-n+1;
		
	if(c<1)
		c=s.length-n+1;
	if(n+c >s.length)
		c=s.length-n+1;
	if(n>s.length)
		return "";
		
	return s.substring(n-1,n+c-1);
}
function LTrim(s){
	// Devuelve una cadena sin los espacios del principio
	var i=0;
	var j=0;
	
	// Busca el primer caracter <> de un espacio
	for(i=0; i<=s.length-1; i++)
		if(s.substring(i,i+1) != ' '){
			j=i;
			break;
		}
	return s.substring(j, s.length);
}
function RTrim(s){
	// Quita los espacios en blanco del final de la cadena
	var j=0;
	
	// Busca el último caracter <> de un espacio
	for(var i=s.length-1; i>-1; i--)
		if(s.substring(i,i+1) != ' '){
			j=i;
			break;
		}
	return s.substring(0, j+1);
}
function Trim(s){
	// Quita los espacios del principio y del final
	return LTrim(RTrim(s));
}
function InStr(n, s1, s2){
	// Devuelve la posición de la primera ocurrencia de s2 en s1
	// Si se especifica n, se empezará a comprobar desde esa posición
	// Sino se especifica, los dos parámetros serán las cadenas
	var numargs=InStr.arguments.length;
	
	if(numargs<3)
		return n.indexOf(s1)+1;
	else
		return s1.indexOf(s2, n)+1;
}
function RInStr(n, s1, s2){
	// Devuelve la posición de la última ocurrencia de s2 en s1
	// Si se especifica n, se empezará a comprobar desde esa posición
	// Sino se especifica, los dos parámetros serán las cadenas
	var numargs=RInStr.arguments.length;
	
	if(numargs<3)
		return n.lastIndexOf(s1)+1;
	else
		return s1.lastIndexOf(s2, n)+1;
}
function Space(n){
	// Devuelve una cadena con n espacios
	var t="";
	
	for(var i=1; i<=n; i++)
		t=t+" ";
	
	return t;
}
function jString(n, c){
	// Devuelve n veces el caracter c
	var t="";
	
	for(var i=1; i<=n; i++)
		t=t+c;
	return t;
}
function UCase(s){
	// Devuelve la cadena convertida a mayúsculas
	return s.toUpperCase();
}
function LCase(s){
	// Devuelve la cadena convertida en minúsculas
	return s.toLowerCase();
}
function Len(s){
	// Devuelve la longitud de la cadena s
	return s.length;
}
function StrReverse(s){
	// Invierte la cadena
	var i=s.length;
	var t="";
	
	while(i>-1){
		t=t+ s.substring(i,i+1);
		i--;
	}
	return t;
}
//
//-----------------------------------------------------------------------------
// Fin del código con las funciones de conversión de VBScript para JavaScript
//-----------------------------------------------------------------------------
//

function sel_text_click(nombre){
 var objtext = document.getElementById(nombre);
 if (objtext.value=='Nombre participante' || objtext.value=='Rut' || objtext.value=='Nro.'){
 objtext.value=''; 
 } else {
 objtext.select(); 
 } 
}
function res_text_blur(nombre,valor){
 var objtext = document.getElementById(nombre);
 if (objtext.value==''){
	 objtext.value=valor; 
 }
}

////popup
function popup(pagina,toolbar,scrollbar,resizable,ancho,alto) {

var opciones="toolbar="+toolbar+", location=no, directories=no, status=no, menubar=no, scrollbars="+scrollbar+", resizable="+resizable+", width="+ancho+", height="+alto+", top=85, left=140";
window.open(pagina,"",opciones);
}

// oculta y muetsra capas 
function despliega_div(nombreCapa,msj,icono){
var div_msj = document.getElementById(msj);
var div_icon = document.getElementById(icono);

if (document.getElementById(nombreCapa).style.display=="inline"){
	document.getElementById(nombreCapa).style.display="none";
	div_msj.innerHTML='Ver/Agregar informaci&oacute;n extra ';
	div_icon.className ='div_vermas';
}
else {
	document.getElementById(nombreCapa).style.display="inline";
	div_msj.innerHTML='Ocultar informaci&oacute;n extra ';
	div_icon.className ='div_vermenos';	
}

}
function solo_numeros(evt){
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57)){
return false;
} 
return true;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//funciones assitente 
function valida_paso(opcion){
var msj='';
//limpiamos el div de error y lo ocultamos
document.getElementById('div_error').innerHTML='';
document.getElementById('div_error').style.display='none';

if (opcion==0){ //menu	
 return true;
}

if (opcion==1){ //paso 1
	if (!document.getElementById('fnombre').value){
		msj+='&middot; Debe ingresar un nombre para el formulario<br>';
		}
	if (document.getElementById('fclientes').value==0){
		msj+='&middot; Debe seleccionar un cliente<br>';
		}
}

if (opcion==2){ //paso 2
	if (!document.getElementById('evpor').value){
		msj+='&middot; Debe seleccionar Distancias o Modalidades<br>';
		} else {
			if (document.getElementById('evpor').value=='distancia'){
					if (!document.getElementById('distancias').value){
						msj+='&middot; Debe ingresar las distancias<br>';
						}
			} else {
					if (!document.getElementById('modalidad').value){
						msj+='&middot; Debe ingresar la modalidad<br>';
						}

				}
			
			
		}
}
if (opcion==3){ //paso 3
	if (!document.getElementById('ncat').value){
		msj+='&middot; Debe ingresar un nombre para la categoria<br>';
		}

	if (!document.getElementById('max_ins').value){
		msj+='&middot; Debe ingresar algun valor para el m&aacute;ximo de inscritos para esta categoria.<br>';
		} else {
				if (!Number(document.getElementById('max_ins').value) && document.getElementById('max_ins').value!='0'){
					msj+='El valor para el m&aacute;ximo de inscritos debe ser numerico.<br>';
				}

			}
		

		if (!document.getElementById('desde').value) {
			msj+='Debe ingresar un valor DESDE para la categoria.<br>';
			} else  { 
				if (!Number(document.getElementById('desde').value) && document.getElementById('desde').value!='0'){
						msj+='El valor DESDE debe ser numerico.<br>';
					}
			}
		if (!document.getElementById('hasta').value) {
			msj+='Debe ingresar un valor HASTA para la categoria.<br>';
			} else  { 
				if (!Number(document.getElementById('hasta').value)){
						msj+='El valor HASTA debe ser numerico.<br>';
					}
			}
		if (Number(document.getElementById('desde').value) && Number(document.getElementById('hasta').value) ){
			if (Number(document.getElementById('desde').value) > Number(document.getElementById('hasta').value) ){	
			msj+='El valor DESDE debe ser menor al valor Hasta.<br>';
			}
		}
		
}
if (opcion==6){ //paso 6 nueva cat
	if (document.getElementById('formularios').value==0){
		msj+='&middot; Debe seleccionar un formulario<br>';
		
	} else {
		if (document.getElementById('tipo_mod').value=='modalidad'){		
			if (!document.getElementById('modalidad2').value){
					if (document.getElementById('modalidad_sel').value==0){
						msj+='&middot; Debe seleccionar una categoria del formulario o ingresar un nombre para la categoria<br>';
					}
			}
		}
		
	}
	

}

if (msj==''){

if (opcion==3){ //paso 3 - pasamos los datos a los campos finales
  if (document.getElementById('accion').value != 'categorias'){
		document.getElementById('txt_nombre_cliente').value = document.getElementById('fclientes').options[document.getElementById('fclientes').selectedIndex].text;
		document.getElementById('txt_id_cliente').value = document.getElementById('fclientes').value;
		//document.getElementById('txt_form_id').value = document.getElementById('formularios').value;		
  }
		document.getElementById('txt_nombre_form').value = document.getElementById('fnombre').value;		
		
		
				if (document.getElementById('evpor').value=='distancia'){
					document.getElementById('txt_mod_dis').value = document.getElementById('distancias').value;		
					document.getElementById('txt_dis').value = document.getElementById('distancias').value;					
					
						if (document.getElementById('cat_esp').checked){ //si es especial
							document.getElementById('txt_mod').value = 'Especial';					
							document.getElementById('txt_id_mod_dis').value = 2;
						} else {
							document.getElementById('txt_mod').value = 'General';					
							document.getElementById('txt_id_mod_dis').value = 1;
						}
						
				} else {
					document.getElementById('txt_mod_dis').value = document.getElementById('modalidad').value;		
					document.getElementById('txt_dis').value = 'NULL';					
					document.getElementById('txt_mod').value = document.getElementById('modalidad').value;		
				  	if (document.getElementById('accion').value != 'categorias'){
					document.getElementById('txt_id_mod_dis').value = 1;
					} 
					
				}
		document.getElementById('txt_categoria').value = document.getElementById('ncat').value;				
		document.getElementById('txt_id_categoria').value = document.getElementById('id_ncat').value;				
		document.getElementById('txt_desde').value = document.getElementById('desde').value;
		document.getElementById('txt_hasta').value = document.getElementById('hasta').value;
		document.getElementById('txt_max').value = document.getElementById('max_ins').value;		
		
		}
	//ok		
	return true;
} else {
// si hay error 
document.getElementById('div_error').innerHTML = msj;
document.getElementById('div_error').style.display='block';

}
}
//carga formulario seleccionado en el asistente
function carga_form_asistente(){

	var idform = document.getElementById('formularios').value;
	var div = document.getElementById('div_carga_form');
	div.innerHTML = '...';
	div.style.display="block";		

	if (idform){

		ajax_carga_form = ajaxobj();
		ajax_carga_form.open("GET", "../ajax/categoria_acciones_mant.php?accion=carga_formulario&id_form="+idform, true);
	
		ajax_carga_form.onreadystatechange=function() {
		if (ajax_carga_form.readyState==4) {
					div.innerHTML = ajax_carga_form.responseText;
				} else  {
					div.innerHTML = 'Espere...';
				}
		}
		ajax_carga_form.send(null);	
		
	}

}
function opcion_directa_boton(opcion_act,ir_opcion){
	   document.getElementById(opcion_act).style.display='none';
	   document.getElementById(ir_opcion).style.display='block';
	
}
//opciones dorectas( agregar mas categorias, eliminar, modicifar,etc)
function opcion_directa(opcion_act){


	if (!valida_paso(opcion_act)){
		return false;
	}

if (opcion_act=6){
	document.getElementById('txt_nombre_cliente').value = document.getElementById('ncliente_op6').value;
	document.getElementById('txt_id_cliente').value = document.getElementById('cliente_id_op6').value;
		
	document.getElementById('fnombre').value = document.getElementById('formularios').options[document.getElementById('formularios').selectedIndex].text;	
	document.getElementById('txt_form_id').value = document.getElementById('formularios').value;		
	
	document.getElementById('evpor').value=document.getElementById('tipo_mod').value;
	
			if (document.getElementById('tipo_mod').value=='distancia'){
				document.getElementById('distancias').value= document.getElementById('distancias_op6').value;		
				document.getElementById('div_especial').style.display='block';
						
				} else {
					document.getElementById('div_especial').style.display='none';
					if (!document.getElementById('modalidad2').value){
						document.getElementById('modalidad').value = document.getElementById('modalidad_sel').options[document.getElementById('modalidad_sel').selectedIndex].text;
						document.getElementById('txt_id_mod_dis').value = document.getElementById('modalidad_sel').value;
					} else {
						document.getElementById('modalidad').value  =document.getElementById('modalidad2').value;
						document.getElementById('txt_id_mod_dis').value = 0; //si es 0 debo sacar despues de la bd la ultima generada
						}
				}

	   document.getElementById('div_paso'+ opcion_act).style.display='none';
	   document.getElementById('div_paso3').style.display='block';
	

	
}



}//fin function
function opcion(paso_act,irpaso){
if (irpaso==-1 || paso_act==-2  ){//cancelar o atras
	if (irpaso==-1){//cancelar 
	   /*document.getElementById('div_paso'+ paso_act).style.display='none';
	   document.getElementById('div_resumen').style.display='none';	   
	   document.getElementById('div_menu').style.display='block';*/
	   document.location.href='asist_categorias.php';
	}
	if (paso_act==-2){//atras
		if (document.getElementById('accion').value == 'categorias' && irpaso==2){ //si es opcion a agregar categorias
			   document.getElementById('div_paso3').style.display='none';
			   document.getElementById('div_paso6').style.display='block';
			   document.getElementById('div_resumen').style.display='none';	   

		} else {
			   var act = Number(irpaso) + 1;
			   document.getElementById('div_paso'+ act).style.display='none';
			   document.getElementById('div_paso'+ irpaso).style.display='block';
			   document.getElementById('div_resumen').style.display='none';	   
		}
	}
	
} else {
		
	if (!valida_paso(paso_act)){
		return false;
	}

	if (paso_act==0){ //menu
	   document.getElementById('div_menu').style.display='none';
	   document.getElementById('div_paso'+ irpaso).style.display='block';
	   
	} else {// sino es cualqueir otra opcion
	   document.getElementById('div_paso'+ paso_act).style.display='none';
	   document.getElementById('div_paso'+ irpaso).style.display='block';
		
	}
	

}//fin sino cancelar
}
function finalizar(actual){
var accion = document.getElementById('accion').value;
var div = document.getElementById('div_mensaje');
var div_res= document.getElementById('div_resumen');
var div_act= document.getElementById(actual);
document.getElementById('div_cargando').style.display="block";
div.style.display="none";

	
	if (accion=='nuevo' || accion=='categorias'){
		var nform = document.getElementById('txt_nombre_form').value;
		var form_id = document.getElementById('txt_form_id').value;
		var cliente = document.getElementById('txt_id_cliente').value;
		var modalidad = document.getElementById('txt_id_mod_dis').value;
		var nmodalidad = document.getElementById('txt_mod').value; 
		var distancias = document.getElementById('txt_dis').value;					
		var ncat = document.getElementById('txt_categoria').value;
		var desde = document.getElementById('txt_desde').value; 
		var hasta = document.getElementById('txt_hasta').value;
		var max_ins = document.getElementById('txt_max').value;

		div_res.innerHTML='...';
		ajax_nuevo = ajaxobj();
		ajax_nuevo.open("GET", "../ajax/categoria_acciones_mant.php?accion="+accion+"&nform="+nform+"&cliente="+cliente+"&modalidad="+modalidad+"&nmodalidad="+nmodalidad+"&distancias="+distancias+"&ncat="+ncat+"&desde="+desde+"&hasta="+hasta+"&id_form="+form_id+"&max_ins="+max_ins, true);
	
		ajax_nuevo.onreadystatechange=function() {
		if (ajax_nuevo.readyState==4) {
				 if (ajax_nuevo.responseText.substring(0,20) == '<div id="div_error">') {
						div.innerHTML = ajax_nuevo.responseText;
						div.style.display="block";		

				 } else {
					 
						div_res.innerHTML = ajax_nuevo.responseText;
						div_res.style.display="block"; 	 
						div.innerHTML='';		
						div.style.display="none";		
						div_act.style.display="none";		
				 }
			} else  {
				div.innerHTML = 'Espere...';
				div.style.display="block";		
				}
			
		}
		ajax_nuevo.send(null);	
		
	}

document.getElementById('div_cargando').style.display="none";	

	
}
//carga formulario seleccionado en el asistente para modificar
function carga_form_asistente_mod(){

	var idform = document.getElementById('formularios_mod').value;
	var div = document.getElementById('div_carga_form2');
	div.innerHTML = '...';
	div.style.display="block";		

	if (idform){

		ajax_carga_form = ajaxobj();
		ajax_carga_form.open("GET", "../ajax/categoria_acciones_mant.php?accion=carga_formulario_mod&id_form="+idform, true);
	
		ajax_carga_form.onreadystatechange=function() {
		if (ajax_carga_form.readyState==4) {
					div.innerHTML = ajax_carga_form.responseText;
				} else  {
					div.innerHTML = 'Espere...';
				}
		}
		ajax_carga_form.send(null);	
		
	}

}
function confirma_elimina_categoria(id_cat,nombre_cat,form_cat){
	
	document.getElementById('categoria_e_id').value=id_cat;
	document.getElementById('categoria_e_nombre').value= nombre_cat ;
	document.getElementById('form_e_nombre').value='del formulario "' + form_cat  + '"';
	
	document.getElementById('div_bloquea').style.display="block";
	document.getElementById('div_elimina_categoria').style.display='block';
}
function elimina_categoria(){

//	document.getElementById('si_e').disabled="disabled";
//	document.getElementById('no_e').disabled="disabled";
	var div= 	document.getElementById('div_msj_elimina');
	var id_cat= document.getElementById('categoria_e_id').value;
//alert(id_cat);
		ajax_e_cat = ajaxobj();
		ajax_e_cat.open("GET", "../ajax/categoria_acciones_mant.php?accion=elimina_cat&id_cat="+id_cat, true);

		ajax_e_cat.onreadystatechange=function() {
		if (ajax_e_cat.readyState==4) {

						div.innerHTML = ajax_e_cat.responseText;
						
						setTimeout("document.getElementById('div_bloquea').style.display='none'",2000);
						setTimeout("document.getElementById('div_elimina_categoria').style.display='none'",2000);
						setTimeout("document.getElementById('div_msj_elimina').innerHTML='';",2000);
		//				document.getElementById('si_e').disabled="enabled";
	//					document.getElementById('no_e').disabled="enabled";

						carga_form_asistente_mod();


				}

		}
		ajax_e_cat.send(null);	

}

function confirma_modifica_categoria(id_cat,nombre_cat,modalidad_cat,form_cat, desde, hasta,max_ins){
	
	document.getElementById('categoria_m_id').value=id_cat;
	document.getElementById('nombre_categoria_mod').value= nombre_cat ;
	document.getElementById('form_m_modalidad').value=' "' + modalidad_cat  + '"';
	document.getElementById('form_m_nombre').value=' "' + form_cat  + '"';
	document.getElementById('desde_mod').value= desde ;
	document.getElementById('hasta_mod').value= hasta ;
	document.getElementById('max_ins_mod').value= max_ins ;
	
	
	document.getElementById('div_bloquea').style.display="block";
	document.getElementById('div_modifica_categoria').style.display='block';
}
function modifica_categoria(){

//	document.getElementById('si_e').disabled="disabled";
//	document.getElementById('no_e').disabled="disabled";
	var div= 	document.getElementById('div_msj_modifica');
	var id_cat= document.getElementById('categoria_m_id').value;
	var nombre_cat = document.getElementById('nombre_categoria_mod').value;
	var desde_mod = document.getElementById('desde_mod').value;
	var hasta_mod = document.getElementById('hasta_mod').value;
	var max_mod = document.getElementById('max_ins_mod').value;

		ajax_e_cat = ajaxobj();
		ajax_e_cat.open("GET", "../ajax/categoria_acciones_mant.php?accion=modifica_cat&id_cat="+id_cat+'&nombre_cat_mod='+ nombre_cat+'&desde_cat_mod='+ desde_mod+'&hasta_cat_mod='+hasta_mod+'&max_ins_mod='+max_mod, true);

		ajax_e_cat.onreadystatechange=function() {
		if (ajax_e_cat.readyState==4) {

						div.innerHTML = ajax_e_cat.responseText;
						
						setTimeout("document.getElementById('div_bloquea').style.display='none'",2000);
						setTimeout("document.getElementById('div_modifica_categoria').style.display='none'",2000);
						setTimeout("document.getElementById('div_msj_modifica').innerHTML='';",2000);

						carga_form_asistente_mod();
						


				}

		}
		ajax_e_cat.send(null);	

}

function carga_xml (fecha) {
	var fill = document.getElementById('cxml');
	ajax = ajaxobj();
	ajax.open("GET", "https://www.dineromail.com/cl/vender/ConsultaPago.asp?Email=ventas@dineromail.com&Acount=105006&Pin=0&StartDate=20040523&EndDate=20040524&XML=1", true);
	ajax.onreadystatechange=function() {
	if (ajax.readyState==4) {
		fill.innerHTML = ajax.responseText;
		}
	}
	ajax.send(null);
}
/*
//////////CARGA COLEGIOS /////////////////////////////
		var textoAntc = "";
	var posicionListaFillingc = 0;

	var elementos = new Array();
	

	function ajaxobjc() {
		try {
			_ajaxobjc = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				_ajaxobjc = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
				_ajaxobjc = false;
			}
		}
	   
		if (!_ajaxobjc && typeof XMLHttpRequest!='undefined') {
			_ajaxobjc = new XMLHttpRequest();
		}
		
		return _ajaxobjc;
	}
	
	function cargaListac(evt, obj, txt) {
		ajax = ajaxobjc();
		ajax.open("GET", "../ajax/colegios.php?texto="+txt, true);
		ajax.onreadystatechange=function() {
			if (ajax.readyState==4) {
				var elementos = ajax.responseXML;
				var paises = elementos.getElementsByTagName("colegio");
				
				var listaPaises = new Array();
				if (paises) {
					for (var i=0; i<paises.length; i++) {
						listaPaises[listaPaises.length] = paises[i].firstChild.data;
					}
				}
				escribeListac(obj, listaPaises);
			}
		}
		ajax.send(null);
	}
	
	function escribeListac(obj, lista) {
		var html = "";
		var fill = document.getElementById('listac');
		
		if (lista.length == 0) {
			// Si la lista es vacia no la mostramos
			fill.style.display = "none";
		} else {
			// Creamos una tabla con 
			// todos los elementos encontrados
			fill.style.display = "block";
			var html='<table cellspacing="0" '+
				'cellpadding="0" border="0" width="100%">';
			for (var i=0; i<lista.length; i++) {
				html += '<tr id="tr'+obj.id+i+
					'" '+(posicionListaFilling == i? 
						' class="fill" ': '')+
					' onmouseover="seleccionaFillingc(\'tr'+
					obj.id+'\', '+i+
					')" onmousedown="seleccionaTextoFillingc(\'tr'+
					obj.id+'\', '+i+')">';
				html += '<td>'+lista[i]+'</td></tr>';
			}
			html += '</table>';
		}

		// Escribimos la lista
		fill.innerHTML = html;
	}

	// Muestra las coincidencias en la lista
	function inputFillingc(evt, obj) {
		var fill = document.getElementById('listac');

		var elems = elementos;
		
		var tecla = "";
		var lista = new Array();
		var res = obj.value;
		var borrar = false;
		
		// Almaceno la tecla pulsada
		if (!IE) {
		  tecla = evt.which;
		} else {
		  tecla = evt.keyCode;
		}
		
		var texto;
		// Si la tecla que pulso es una
		// letra o un espacio, o el intro
		// o la tecla borrar, almaceno lo 
		// que debo buscar
		if (!String.fromCharCode(tecla).match(/(\w|\s)/) && 
				tecla != 8 && 
				tecla != 13) {
			texto = textoAnt;
		} else {
			texto = obj.value;
		}
		
		textoAnt = texto;
		
		// Si el texto es distinto de vacio
		// o se pulsa ARRIBA o ABAJO
		// hago llamada AJAX para que 
		// me devuelva la lista de palabras
		// que coinciden con lo que hay
		// escrito en la caja
		if ((texto != null && texto != "") 
			|| (tecla == 40 || tecla == 38)) {
			cargaListac(evt, obj, texto);
		}
		
		
		// Según la letra que se pulse
		if (tecla == 37) { // Izquierda
			// No hago nada
		} else if (tecla == 38) { // Arriba
			// Subo la posicion en la
			// lista desplegable una posición
			if (posicionListaFilling > 0) {
				posicionListaFilling--;
			}
			// Corrijo la posición del scroll
			fill.scrollTop = posicionListaFilling*14;
		} else if (tecla == 39) { // Derecha
			// No hago nada
		} else if (tecla == 40) { // Abajo
			if (obj.value != "") {
				// Si no es la última palabra
				// de la lista
				if (posicionListaFilling < lista.length-1) { 
					// Corrijo el scroll
					fill.scrollTop = posicionListaFilling*14;
					// Bajo la posición de la lista
					posicionListaFilling++;
				} 
			}
		} else if (tecla == 8) { // Borrar <-
			// Se sube la lista del todo
			posicionListaFilling = 0;
			// Se permite borrar
			borrar = true;
		} else if (tecla == 13) { // Intro
			// Deseleccionamos el texto
			if (obj.createTextRange) {
				var r = obj.createTextRange();
				r.moveStart("character", 
					obj.value.length+1);
				r.moveEnd("character", 
					obj.value.length+1);
				r.select();
			} else if (obj.setSelectionRange) {
				obj.setSelectionRange(
					obj.value.length+1, 
					obj.value.length+1);
			}
			// Ocultamos la lista
			fill.style.display = "none";
			// Ponemos el puntero de 
			// la lista arriba del todo
			posicionListaFilling = 0;
			// Controlamos el scroll
			fill.scrollTop = 0;
			return true;
		} else {
			// En otro caso que siga
			// escribiendo
			posicionListaFilling = 0;
			fill.scrollTop = 0;
		}	
		
		// Si no se ha borrado
		if (!borrar) {
			if (lista.length != 0) {
				// Seleccionamos la parte del texto
				// que corresponde a lo que aparece
				// en la primera posición de la lista
				// menos el texto que realmente hemos
				// escrito
				obj.value = lista[posicionListaFilling];
				if (obj.createTextRange) {
					var r = obj.createTextRange();
					r.moveStart("character", 
						texto.length);
					r.moveEnd("character", 
						lista[posicionListaFilling].length);
					r.select();
				} else if (obj.setSelectionRange) {
					obj.setSelectionRange(
						texto.length, 
						lista[posicionListaFilling].length);
				}
			}
		}
		return true;
	}
  
  
	// Introduce el texto seleccionado
	function setInputc(obj, fill) {
		obj.value = textoAnt;
		fill.style.display = "none";
		posicionListaFilling = 0;
	}

  
	// Cambia el estilo de
	// la palabra seleccionada
	// de la lista
	function seleccionaFillingc(id, n) {
		document.getElementById(id + 
			n).className = "fill";
		document.getElementById(id + 
			posicionListaFilling).className = "";  	
		posicionListaFilling = n;
	}
  
	// Pasa el texto del filling a la caja
	function seleccionaTextoFillingc (id, n) {
		textoAnt = document.getElementById(id + 
			n).firstChild.innerHTML;
		posicionListaFilling = 0;
	}
  	
 
	// Cambia la imagen cuando se pone 
	// encima el raton (nombre.ext 
	// por _nombre.ext)
	function cambiarImagenc(obj, ok) {
		var marcada = obj.src.indexOf("/_") > 0;
		
		if (ok) {
			if (!marcada) {
			  var ruta = obj.src.substring(
				0, 
				obj.src.lastIndexOf("/")+1)+
				"_"+obj.src.substring(
					obj.src.lastIndexOf("/")+1);
			  obj.src = ruta;
			}
		} else {
			if (marcada) {
				var ruta = ""+obj.src.substring(
					0, obj.src.lastIndexOf("_"))+
					obj.src.substring(
						obj.src.lastIndexOf("/")+2);
				obj.src = ruta;
			}
		}
	
	}
	*/
	
