// JavaScript Document
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}


function findPosX(obj){
var curleft = 0;
if (obj.offsetParent){
while (obj.offsetParent){
curleft += obj.offsetLeft
obj = obj.offsetParent;
}
} else if (obj.x){
curleft += obj.x;
}
return curleft;
}



function findPosY(obj){
var curtop = 0;
if (obj.offsetParent){
while (obj.offsetParent){
curtop += obj.offsetTop
obj = obj.offsetParent;
}
} else if (obj.y){
curtop += obj.y;
}
return curtop;
}

function autocomplete (thevalue, e, input){
	
	var theextrachar = e.which;
	if (theextrachar == undefined){
		theextrachar = e.keyCode;
	}
	if(theextrachar!=13){
	theObject = document.getElementById("autocompletediv");
	theObject.style.visibility = "visible";
	theObject.style.width = "130px";
	//theObject.style.position= "absolute";
	var posx = 0;
	var posy = 0;
	posx = (findPosX (document.getElementById(input)) + 10);
	posy = (findPosY (document.getElementById(input)) + 33);
	theObject.style.left = posx + "px";
	theObject.style.top = posy + "px";

//The location we are loading the page into.
	var objID = "autocompletediv";

//Take into account the backspace.
//	if (theextrachar == 13){
//		esconder();
//	}
	
	if (theextrachar == 8){
		if (thevalue.length == 1){
			var serverPage = "autocomp.asp";
		} else {
			var serverPage = "autocomp.asp" + "?input_busqueda="+input+"&sstring=" + 
			thevalue.substr (0, (thevalue.length -1))+"&input"+ input +"&caching="+Math.random();
		}
	} else {
		var serverPage = "autocomp.asp" + "?input_busqueda="+input+"&sstring=" + 
		thevalue + String.fromCharCode (theextrachar) + "&input" +input+"&caching="+Math.random();
	}
	var obj = document.getElementById(objID);
	var xmlhttp;
	xmlhttp = nuevoAjax();
	//alert(typeof(xmlhttp));
	xmlhttp.open("GET", serverPage,true);
	xmlhttp.onreadystatechange = function() {
	if (xmlhttp.readyState == 4) {
		obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);
	delete(xmlhttp);
	}else{
		esconder(input);
	}
		
}

function setvalue (thevalue, input){
	acObject = document.getElementById("autocompletediv");
	acObject.style.visibility = "hidden";
	acObject.style.height = "0px";
	acObject.style.width = "0px";
	document.getElementById(input).value = thevalue;
}

function esconder(combo){
	theObject = document.getElementById("autocompletediv");
	theObject.style.visibility = "hidden";
	
	if(document.getElementById('textdoctor').name==document.getElementById(combo).name)
		document.getElementById('buscarDoctores').focus();
	else if(document.getElementById('textclinica').name==document.getElementById(combo).name)
		document.getElementById('buscarClinica').focus();
	else if(document.getElementById('textorganizacion').name==document.getElementById(combo).name)
		document.getElementById('buscarOrganizaciones').focus();
}

function abajo(e,input){
	
	//alert('abajo');
obj = document.getElementById("selectCiudad");
if (obj!=null){
	var theextrachar = e.which;
	if (theextrachar == undefined){
		theextrachar = e.keyCode;
	}
	
	//alert(theextrachar);
	if (theextrachar==40) { //abajo
			if (obj.selectedIndex == -1) {
				obj.options[0].selected = true;
//				document.getElementById('especialidades').options[i].selected = true
			} 
			else
			{
				//alert("selected "+obj.selectedIndex+" length "+ obj.length);
				sel=obj.selectedIndex;
				if(obj.selectedIndex+1!=obj.length){
					obj.options[sel].selected = false;
					obj.options[sel+1].selected = true;
				}
				else{
					obj.options[sel].selected = false;
					obj.options[0].selected = true;
				}
			}
	}
	else 
	{
		if(theextrachar==38){ //arriba
			if (obj.selectedIndex == -1) {
				obj.options[obj.length-1].selected = true;
//				document.getElementById('especialidades').options[i].selected = true
			} 
			else
			{
				sel=obj.selectedIndex;
				if(obj.selectedIndex+1!=1){
					obj.options[sel].selected = false;
					obj.options[sel-1].selected = true;
				}
				else{
					obj.options[sel].selected = false;
					obj.options[obj.length-1].selected = true;
				}
			}
		}
		else{
			if(theextrachar==13 || theextrachar==9 ){
				if (obj.selectedIndex != -1) {
					sel=obj.selectedIndex;
					input.value=obj.options[sel].text;
				}
			}
		}
	}
}
}

function click_busqueda(obj,input_busqueda_str){
	
	obj_aux = document.getElementById(input_busqueda_str);
	if (obj!=null){
		if (obj.selectedIndex != -1) {
					sel=obj.selectedIndex;
					obj_aux.value=obj.options[sel].text;
		}	
		
	}
	
}