var desplegado = false;

function muestraCapa(obj,objW,objH,tabla, campo, where){
	buscarDesc(tabla, campo, where,obj,objW,objH);
}

function visualizaCapa(obj,objW,objH){
	document.getElementById('capaDesc').style.left = document.getElementById(objW).offsetLeft+22;
	document.getElementById('capaDesc').style.top =  document.getElementById(objW).offsetTop+170+obj.offsetHeight;
	document.getElementById('capaDesc').style.width = obj.offsetWidth;
	document.getElementById('capaDesc').style.width = obj.offsetWidth;
	document.getElementById('capaDesc').style.visibility = 'visible';
	escondeSelects();
}  

function ocultaCapa()   {     
	document.getElementById('capaDesc').style.visibility = 'hidden';   
	muetraSelects();         
}


function controlaCapa(oEvento, id, objW, objH, tabla, campo, where){
	if (oEvento.keyCode) 
     iAscii = oEvento.keyCode; 
 	else if (oEvento.which) 
     iAscii = oEvento.which; 
	else 
     return false;
     
    if (iAscii == 13) {
 		if(desplegado){
 			ocultaCapa();
 			desplegado = false;
 		}
 		else{	
 			muestraCapa(id,objW, objH, tabla, campo, where);
 			desplegado = true;
 		}
 	}else{
 		if(desplegado){
 			ocultaCapa();
 			desplegado = false;
 		}
 	} 
}

//Parte AJAX
//funcion encargada de crear el objeto 
var _objetus;
function objetus() { 
    try { 
            objetus = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
            try { 
                    objetus= new ActiveXObject("Microsoft.XMLHTTP"); 
            } catch (E) { 
                    objetus= false; 
            } 
    } 
    if (!objetus && typeof XMLHttpRequest!='undefined') { 
            objetus = new XMLHttpRequest(); 
    } 
    return objetus 
} 

function buscarDesc(tabla, campo, where, obj, objW,objH){
  		//creamos el objeto 
	    if(_objetus==null){
	    	_objetus=new objetus(); 
	    }
	    //cargamos una varible con las variables que vamos a enviar 
	    _values_send="tabla="+tabla+"&campo="+campo+"&where="+where+"&cadena="+obj.value; 
    	_URL_="m05bBuscaDescripServlet?"; 
   		_objetus.open("GET",_URL_+"&"+_values_send,true); 
        //una vez enviado los valores inmediatamente llamamos a la propiedad 
        //onreadystatechange 
    	_objetus.onreadystatechange=function() { 
	        //dentro de la funcion comprobamos el estado del proceso 
	        //si es 4 (terminado) pedimos lo que nos han mandado 
	        if (_objetus.readyState==4) 
	        { 
	            //usamos la propiedad responseText para recibir en una cadena 
	            //lo que nos mandaron 
	            var respXML = _objetus.responseXML; 
		        var descripciones = respXML.getElementsByTagName('descripcion');
		        numRegistros=descripciones.length;
		        var htmlDesc = inicioTabla();
		        var hayElementos = false;
		        for(i=0;i<descripciones.length;i++){
		            var descripcion = descripciones[i];
		            var _descripcion = descripcion.firstChild.data;  
		        	htmlDesc += crearLinea(_descripcion);
		        	hayElementos = true;
		        }
		        htmlDesc += finTabla();
		        if(hayElementos){
					document.getElementById("capaDesc").innerHTML=htmlDesc;
		       		visualizaCapa(obj, objW, objH);
		       	}else{
		       		document.getElementById('capaDesc').style.visibility = 'hidden';
		       	}
		       	return;
		       
	        } 
    	} 
    	//obligatorio .... luego explicarč el porque 
    	_objetus.send(null);
   }

function inicioTabla(){
	return '<table style="margin-top:5px;COLOR: #000000;FONT-FAMILY: Verdana;FONT-SIZE: 8pt; "width="100%" cellpadding="2" cellspacing="0">';
}
function crearLinea(valor){
	temp = '<tr>';
 	temp += '<td width="3%"></td>';
 	temp += '<td width="97%">';
 	temp += valor
 	temp += '</td>';
	temp += '</tr>';
	return temp;
}
function finTabla(){
	return '</table>';
}